@charset "UTF-8";
/**********
common
**********/
html {
  font-size: 14px; }

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-family: -apple-system,BlinkMacSystemFont,"Helvetica Neue","游ゴシック Medium",YuGothic,YuGothicM,"Hiragino Kaku Gothic ProN",メイリオ,Meiryo,sans-serif;
  font-feature-settings: "palt";
  line-height: 1.6;
  font-display: swap;
  color: #3a3a3a; }
  body.fixed {
    overflow: hidden;
    touch-action: none; }

img, svg, picture {
  max-width: 100%;
  height: auto;
  object-fit: cover;
  object-position: top; }

dl, ol, ul {
  margin: 0;
  padding: 0;
  list-style: none; }

a {
  color: #3a3a3a;
  text-decoration: none; }

.ellipsis {
  display: block;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
  width: 100%; }

.txt-head {
  background: #47a2d7;
  color: #fff;
  font-size: 10px;
  padding: 0.25rem 0.5rem;
  margin: 0;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis; }

.wrapper {
  padding-top: 76px; }

.ttl {
  background: #47a2d7;
  color: #fff;
  font-size: 1.25rem;
  display: flex;
  align-items: center;
  padding: 0.5rem 0.25rem;
  box-shadow: 0 1px 2px #999; }
  .ttl.realtime:before {
    content: "";
    background-image: url(../img/ico-sp-title-topics.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    display: inline-block;
    width: 2em;
    height: 1.25em;
    vertical-align: middle; }
  .ttl.blog:before {
    content: "";
    background-image: url(../img/ico-sp-title-blogs.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    display: inline-block;
    width: 2em;
    height: 1.25em;
    vertical-align: middle; }
  .ttl.recomm:before {
    content: "";
    background-image: url(../img/ico-sp-title-recomm.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    display: inline-block;
    width: 2em;
    height: 1.25em;
    vertical-align: middle; }
  .ttl.ranking:before {
    content: "";
    background-image: url(../img/ico-sp-title-ranking.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    display: inline-block;
    width: 2em;
    height: 1.25em;
    vertical-align: middle; }
  .ttl.newcommer:before {
    content: "";
    background-image: url(../img/ico-sp-title-new.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    display: inline-block;
    width: 2em;
    height: 1.25em;
    vertical-align: middle; }
  .ttl.column:before {
    content: "";
    background-image: url(../img/ico-sp-title-column.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    display: inline-block;
    width: 2em;
    height: 1.25em;
    vertical-align: middle; }
  .ttl > a {
    color: #fff; }

.more a {
  background: linear-gradient(#fff, #dedede);
  color: #3a3a3a;
  border: 1px solid gray;
  display: block;
  text-align: center; }

.ico-new {
  width: 4rem;
  display: inline-block;
  margin-right: 0.5rem; }
  .ico-new:after {
    content: "";
    background: url(../img/ico-new.svg) no-repeat;
    background-position: center;
    background-size: contain;
    display: block;
    width: 100%;
    padding-top: calc(1 / 2 * 100%); }

.area_txt {
  color: #121212;
  border: 1px solid;
  padding: 0.5rem; }
  .area_txt p:last-child {
    margin: 0; }

.keep-btn {
  background: #70b244;
  color: #fff;
  margin: 0.25rem 0.25rem 0.5rem;
  text-align: center;
  border: 2px solid gray;
  border-radius: 2rem;
  cursor: pointer; }
  .keep-btn.keep {
    background: gray; }

.badge.open {
  background: #f6c;
  color: #ff0;
  position: absolute;
  right: 0.5rem;
  top: 2.825rem; }
.badge.coupon {
  background: #ff0;
  color: #f6c;
  width: 70%;
  display: block;
  margin: 0 auto; }

.slider-box.detail {
  padding: 0.5rem 2rem; }

.nav-tabs {
  margin: 1rem 0;
  border: none; }

.form-inline {
  display: flex;
  align-items: center; }

.custom-control {
  position: relative;
  display: block;
  min-height: 1.5rem; }

.custom-control-label {
  position: relative;
  margin-bottom: 0; }
  .custom-control-label:before, .custom-control-label:after {
    content: "";
    border-radius: 50%; }

.custom-control-input {
  position: absolute;
  z-index: -1;
  opacity: 0; }
  .custom-control-input:checked ~ label {
    background: #ccc; }

#keeplist {
  background: #47a2d7;
  position: fixed;
  bottom: 8rem;
  right: 1rem;
  padding: 0.5rem;
  border: 1px solid #fff;
  border-radius: 3rem;
  z-index: 1; }
  #keeplist a {
    background: #fff;
    width: 4rem;
    height: 4rem;
    text-align: center;
    line-height: 1.2;
    border-radius: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: bold; }

#pagetop {
  background: #37c2f7;
  color: #fff;
  font-weight: bold;
  font-size: 2rem;
  width: 3rem;
  height: 3rem;
  text-align: center;
  display: flex;
  justify-content: center;
  position: fixed;
  right: 2rem;
  bottom: 14rem;
  border-radius: 100%;
  z-index: 123;
  opacity: .7;
  cursor: pointer; }

.title-box.ttl h2 {
  font-size: 1.25rem; }

.baloon {
  display: inline-block;
  width: 3rem;
  height: 1rem;
  position: relative; }
  .baloon:before {
    content: "";
    background: url(../img/ico-column.svg) center no-repeat;
    background-size: contain;
    display: inline-block;
    width: 3rem;
    height: 1.25rem;
    position: absolute;
    top: 70%;
    left: 50%;
    transform: translate(-50%, -50%); }

.ml-span {
  font-size: 0.75rem;
  margin-left: auto;
  padding-right: 0.5rem; }
  .ml-span span + span:before {
    content: "/"; }

.header {
  background: #fff;
  width: 100%;
  height: 76px;
  border-bottom: 1px solid gray;
  position: fixed;
  top: 0;
  z-index: 11; }
  .header .upper-adv {
    display: none; }

.header-box {
  display: flex;
  justify-content: space-between;
  padding: 0.5rem; }
  .header-box > a {
    max-width: 100%; }
    .header-box > a img {
      height: 40px;
      object-fit: contain;
      object-position: left; }

.head-area-link {
  display: none; }

/*--------------------
Menu
--------------------*/
#navi-menu {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between; }
  #navi-menu nav {
    background: #fff;
    width: 100%;
    height: calc(100% - 76px);
    position: fixed;
    top: 76px;
    left: 0;
    overflow: auto;
    transform: translateX(-130%);
    transition: ease-in-out 0.3s;
    z-index: 11; }
  #navi-menu.open nav {
    transform: translateX(0); }
  #navi-menu.open #nav-content {
    display: flex !important;
    align-items: center; }

#nav-toggle {
  width: 3rem;
  height: 3rem;
  position: relative;
  z-index: 3;
  order: 3; }
  #nav-toggle span {
    background: #3a3a3a;
    width: 80%;
    height: 3px;
    border-radius: 5px;
    position: absolute;
    left: 10%;
    transition: 0.3s ease; }
    #nav-toggle span:nth-of-type(1) {
      top: calc(50% - 1px); }
    #nav-toggle span:nth-of-type(2) {
      top: calc(20% - 1px); }
    #nav-toggle span:nth-of-type(3) {
      top: calc(80% - 1px); }

#nav-content {
  display: none; }
  #nav-content form {
    padding: 0.25rem; }
    #nav-content form .form-control {
      background: url(../img/bg-txt-search.svg) center no-repeat #fff;
      background-size: contain;
      width: 80%; }
  #nav-content .btn.btn-outline-success {
    width: 20%;
    padding-left: 0;
    padding-right: 0; }

.navi-contact {
  text-align: center;
  font-size: 0.75rem;
  line-height: 1.2;
  z-index: 2;
  order: 2; }
  .navi-contact a {
    font-size: 1rem; }

.navimask {
  width: 100%;
  height: 100%;
  visibility: hidden;
  opacity: 0;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
  transition: ease 0.3s;
  transition-delay: 0.2s; }

.open #nav-toggle span:nth-of-type(1) {
  opacity: 0; }
.open #nav-toggle span:nth-of-type(2) {
  top: calc(50% - 1px);
  transform: rotate(135deg); }
.open #nav-toggle span:nth-of-type(3) {
  top: calc(50% - 1px);
  transform: rotate(-135deg); }
.open .navimask {
  visibility: visible;
  opacity: 1; }

.nav-title {
  background: #47a2d7;
  color: #fff;
  padding-left: 1.5em;
  position: relative; }
  .nav-title:before {
    content: "";
    background: url(../img/ico-menu-arrow.svg) center no-repeat;
    background-size: 80%;
    width: 1em;
    display: block;
    position: absolute;
    top: 0;
    left: 0.5em;
    bottom: 0; }

.nav-item + .nav-item {
  border-top: 1px solid gray; }
.nav-item .menu-child {
  display: none; }
  .nav-item .menu-child ul {
    padding-top: 0.5rem;
    border-top: 1px solid gray;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: start; }
  .nav-item .menu-child li {
    padding-left: 0.5rem;
    padding-bottom: 0.5rem; }
    .nav-item .menu-child li a {
      background: gray;
      color: #fff;
      padding: 0.25rem 0.5rem;
      display: block;
      border-radius: 0.5rem; }

.nav-link {
  background-repeat: no-repeat;
  background-position: left 0.5em center,right 1em center;
  background-size: contain,1em;
  color: #3a3a3a;
  padding: 0.5rem;
  padding-left: 4em;
  margin-top: 0.25rem;
  margin-bottom: 0.25rem; }
  .nav-link.menu-home {
    background-image: url(../img/ico-menu-home.svg), url(../img/ico-arrow-cl.svg); }
  .nav-link.menu-area {
    background-image: url(../img/ico-menu-area.svg), url(../img/ico-arrow-cl.svg); }
  .nav-link.menu-deli {
    background-image: url(../img/ico-menu-deli.svg), url(../img/ico-arrow-cl.svg); }
  .nav-link.menu-shop {
    background-image: url(../img/ico-menu-shop.svg), url(../img/ico-arrow-cl.svg); }
  .nav-link.menu-coupon {
    background-image: url(../img/ico-menu-coupon.svg), url(../img/ico-arrow-cl.svg); }
  .nav-link.menu-now {
    background-image: url(../img/ico-menu-now.svg), url(../img/ico-arrow-cl.svg); }
  .nav-link.menu-topics {
    background-image: url(../img/ico-menu-topics.svg), url(../img/ico-arrow-cl.svg); }
  .nav-link.menu-blog {
    background-image: url(../img/ico-menu-blog.svg), url(../img/ico-arrow-cl.svg); }
  .nav-link.menu-recomm {
    background-image: url(../img/ico-menu-recomm.svg), url(../img/ico-arrow-cl.svg); }
  .nav-link.menu-under {
    background-image: url(../img/ico-menu-under.svg), url(../img/ico-arrow-cl.svg); }
  .nav-link.menu-ranking {
    background-image: url(../img/ico-menu-ranking.svg), url(../img/ico-arrow-cl.svg); }

.breadcrumb {
  margin-bottom: 0.25rem; }
  .breadcrumb ul {
    width: 100%;
    padding: 0.25rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: start; }
  .breadcrumb li {
    display: inline-block;
    line-height: 1; }
  .breadcrumb a {
    color: #3a3a3a;
    font-size: 10px; }

.slider-box {
  border-bottom: 1px solid #fff; }

.slider .slick-arrow,
.recomm-slider .slick-arrow,
.top-news-slide .slick-arrow {
  background: none;
  color: #fff;
  font-size: 3rem;
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 10;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0 0.5rem;
  appearance: none;
  border-radius: 3px; }

.slider,
.detail-slider {
  margin: 0; }
  .slider .slick-dots,
  .detail-slider .slick-dots {
    width: 30%;
    margin: 2% auto; }
    .slider .slick-dots li,
    .detail-slider .slick-dots li {
      background: gray;
      width: 5px;
      height: 5px;
      margin: 0 auto;
      border-radius: 10px;
      cursor: pointer; }
      .slider .slick-dots li.slick-active,
      .detail-slider .slick-dots li.slick-active {
        background: #fff;
        border: 1px solid gray;
        -webkit-box-siging: border-box;
        box-siging: border-box; }
      .slider .slick-dots li button,
      .detail-slider .slick-dots li button {
        display: none; }

.slick-dots {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center; }
  .slick-dots li {
    padding: 0.25rem; }
    .slick-dots li.slick-active button {
      background: #47a2d7;
      border-color: #47a2d7;
      border-style: none; }
    .slick-dots li button {
      background: #fff;
      width: 1rem;
      height: 1rem;
      border-radius: 1rem;
      text-indent: -999999px;
      border: 0.1rem solid #dedede; }

.slick-prev {
  left: 0; }

.slick-next {
  right: 0; }

.slick-slide a p {
  background: gray;
  color: #fff;
  padding: 0.25rem 0.5rem;
  margin: 0; }

.search-box {
  background: #ddecf6;
  padding-bottom: 0.5rem; }
  .search-box .ttl {
    margin: 0; }
  .search-box .form-control {
    background: url(../img/bg-txt-search.svg) center no-repeat #fff;
    background-size: 80%;
    height: 3rem;
    border-color: gray; }
  .search-box .btn-outline-success {
    background: gray;
    color: #fff;
    width: 5rem;
    height: 3rem;
    padding: 0.5rem;
    border-color: gray; }

.title-box {
  align-items: center;
  justify-content: space-between;
  position: relative; }
  .title-box h2, .title-box p {
    margin: 0; }
  .title-box > p {
    position: absolute;
    top: 50%;
    right: 0.5rem;
    color: #fff;
    font-size: 1.25rem;
    transform: translate(0, -50%); }

.search-terms {
  background: linear-gradient(#fff, #dedede);
  border: 1px solid #dedede; }
  .search-terms ul {
    display: flex;
    flex-wrap: wrap; }
  .search-terms li {
    padding: 0.25rem; }
    .search-terms li a {
      color: #f6c; }

.upper-recomm-sub {
  padding: 1rem; }
  .upper-recomm-sub h3 {
    font-size: 1rem;
    margin-bottom: 0.5rem;
    border-bottom: 3px solid #47a2d7; }
  .upper-recomm-sub ul {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: start; }
  .upper-recomm-sub li {
    padding: 0.25rem; }
    .upper-recomm-sub li a {
      color: #3a3a3a;
      display: inline-block;
      padding: 0.5rem;
      border: 1px solid gray; }

.btns-btn {
  background-size: cover;
  width: 100%;
  height: 0;
  padding-top: calc(3 / 3 * 100%);
  text-indent: -999999px; }
  .btns-btn.commit {
    background-image: url(../img/btn-menu-commit.svg); }
  .btns-btn.area {
    background-image: url(../img/btn-menu-area.svg); }
  .btns-btn.deli {
    background-image: url(../img/btn-menu-deli.svg); }
  .btns-btn.soku {
    background-image: url(../img/btn-menu-soku.svg); }

.realtime-container {
  padding: 0 0.5rem; }
  .realtime-container figure {
    margin: 0 0 1rem;
    position: relative;
    width: 100%;
    padding-top: calc(3 / 4 * 100%);
    overflow: hidden; }
    .realtime-container figure img {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%); }
    .realtime-container figure figcaption {
      background: rgba(255, 255, 255, 0.8);
      color: #121212;
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0;
      display: flex;
      flex-direction: column;
      align-items: start;
      justify-content: space-around;
      padding: 0.5rem; }
      .realtime-container figure figcaption p {
        margin: 0;
        display: flex;
        align-items: center; }
        .realtime-container figure figcaption p.over-text {
          color: #007bff;
          display: block;
          text-decoration: underline; }

.slide-area-icon {
  background: #70b244;
  color: #fff;
  font-size: 80%;
  display: inline-block;
  padding: 0.125em 0.5em;
  margin: 0 0.25rem;
  border: 1px solid #3a3a3a;
  border-radius: 0.5em; }

.banner-area {
  padding: 1rem 0 1.5rem; }
  .banner-area a {
    padding: 0.5rem 0.5rem 0;
    display: block; }

.area-blog-rss {
  margin-bottom: 1rem; }
  .area-blog-rss li {
    padding: 0.5rem; }
    .area-blog-rss li + li {
      border-top: 2px dashed gray; }
  .area-blog-rss + .more {
    margin-bottom: 1rem; }

.blog-rss-box {
  color: #3a3a3a;
  align-items: stretch; }
  .blog-rss-box img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center; }
  .blog-rss-box label {
    vertical-align: middle; }

.recomm-box {
  background: #ddecf6;
  margin-bottom: 1rem; }
  .recomm-box + .more {
    margin-bottom: 1rem; }

.recomm-slider {
  display: flex;
  align-items: stretch; }
  .recomm-slider p {
    margin: 0; }
  .recomm-slider li {
    background: #fff;
    width: 50%;
    padding: 0.5rem;
    margin: 0 auto; }
    .recomm-slider li h3 {
      color: #47a2d7;
      font-size: 1.25rem;
      display: block;
      height: 2.5em;
      overflow: hidden; }
    .recomm-slider li img {
      width: 100%;
      height: calc(3 / 3 * 50vw);
      object-fit: contain;
      object-position: center; }
  .recomm-slider .slick-slide {
    max-width: 50%; }
    .recomm-slider .slick-slide > a {
      background-position: center;
      background-repeat: no-repeat;
      background-size: contain;
      background-color: #fff;
      display: block; }
      .recomm-slider .slick-slide > a p {
        background: #fff;
        color: #3a3a3a;
        padding: 0.25rem 0; }
  .recomm-slider .bg-white {
    padding: 0.25rem; }
    .recomm-slider .bg-white p {
      font-size: 11px;
      margin: 0;
      height: 2rem;
      line-height: 1.2; }
  .recomm-slider .shopname {
    color: #007bff;
    font-size: 1.25rem;
    text-decoration: underline;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
    height: 3rem; }

.discount-box {
  background: #47a2d7;
  text-align: center;
  padding: 0.5rem;
  margin-bottom: 1rem; }
  .discount-box h2 {
    padding: 0.5rem 3rem; }
  .discount-box p {
    color: #EBDF38;
    font-size: 1.1rem;
    margin-bottom: 0.5rem;
    text-align: center;
    text-shadow: 2px 2px 3px #333; }

.upper-adv {
  margin-bottom: 1rem; }

.ranking-box {
  margin-bottom: 1rem; }
  .ranking-box + .more {
    margin-bottom: 1rem; }

.rank-box {
  padding: 0.5rem; }
  .rank-box + .rank-box {
    border-top: 1px solid #dedede; }
  .rank-box h3 {
    line-height: 1.6;
    width: 100%;
    display: inline-block;
    margin: 0;
    text-indent: 2em; }
  .rank-box a {
    color: #3a3a3a; }

.ico-rank {
  display: inline-block;
  width: 3rem;
  height: 3rem;
  position: absolute;
  top: 0;
  left: 0.5rem; }
  .ico-rank:after {
    content: " ";
    display: inline-block;
    width: 3rem;
    height: 3rem;
    position: relative;
    top: -5px; }
  .ico-rank.rank1:after {
    background: url(../img/ranking1.svg) no-repeat;
    background-size: contain; }
  .ico-rank.rank2:after {
    background: url(../img/ranking2.svg) no-repeat;
    background-size: contain; }
  .ico-rank.rank3:after {
    background: url(../img/ranking3.svg) no-repeat;
    background-size: contain; }
  .ico-rank.rank4:after {
    background: url(../img/ico-ranking4.svg) no-repeat;
    background-size: contain; }
  .ico-rank.rank5:after {
    background: url(../img/ico-ranking5.svg) no-repeat;
    background-size: contain; }

.rank-box-child {
  display: flex;
  align-items: center; }
  .rank-box-child .ranking {
    display: none; }

.rank-box-img {
  width: 20%; }

.rank-box-text {
  width: 80%;
  padding-left: 1rem;
  position: relative; }
  .rank-box-text:after {
    content: "";
    background: url(../img/ico-arrow-cl.svg) center no-repeat;
    background-size: contain;
    width: 0.75em;
    display: inline-block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0; }
  .rank-box-text p {
    margin: 0; }

.new-shop {
  margin-bottom: 1rem; }
  .new-shop + .more {
    margin-bottom: 1rem; }

.new-box {
  padding: 0.5rem; }
  .new-box + .new-box {
    border-top: 1px solid #dedede; }
  .new-box a {
    font-size: 12px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start; }
  .new-box h3 {
    font-size: 1.25rem;
    width: 100%; }
  .new-box .date {
    color: limegreen;
    padding-right: 0.5rem; }
    .new-box .date ~ span {
      color: #3a3a3a; }

.column-box {
  margin-bottom: 1rem; }
  .column-box + .more {
    margin-bottom: 1rem; }

.column-top-list a {
  display: block; }

.column-dat {
  background: linear-gradient(#fff, #dedede);
  color: #3a3a3a;
  border: 1px solid #dedede;
  margin: 0; }

.column-child {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-around;
  padding: 0.5rem; }
  .column-child h3 {
    color: #007bff;
    font-size: 1.25rem;
    font-weight: bold;
    margin-bottom: 0.25rem;
    text-decoration: underline; }

.column-img {
  width: 30%;
  padding-right: 0.5rem; }

.column-body {
  color: #121212;
  width: 70%;
  margin: 0;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3; }

.nav_topic {
  margin-bottom: 0.5rem; }
  .nav_topic ul {
    width: 13rem;
    margin: 0 0 0 auto;
    display: flex;
    justify-content: space-around;
    text-align: center; }
  .nav_topic li {
    width: 6rem; }
    .nav_topic li a {
      background: #47a2d7;
      color: #fff;
      padding: 0.25rem 0 0.25rem;
      display: block;
      border-radius: 0.25rem; }

.detail .column-img {
  width: 100%;
  padding: 0 10%; }
.detail .column-body {
  width: 100%;
  padding: 0.5rem 1rem 1rem;
  -webkit-line-clamp: unset; }
  .detail .column-body p {
    line-height: 1.6em;
    margin: 0; }

.column .shop-list-title {
  border-top: 1px solid #007bff; }
.column .shop-list-img,
.column .shop-list-body {
  width: 100%; }
.column .shop-list-body a {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3; }
.column .pagination {
  flex-wrap: wrap;
  padding: 0.5rem; }
  .column .pagination .page-item {
    width: calc(100% / 9); }
.column .page-link {
  padding: .375rem 0;
  text-align: center; }

.foot-area-box {
  padding: 1rem;
  margin-bottom: 1rem;
  border-top: 1px solid #121212; }

.foot-area-link {
  margin-bottom: 1rem; }
  .foot-area-link h3 {
    font-size: 1rem;
    font-weight: bold;
    margin: 0; }
  .foot-area-link a {
    color: #47a2d7; }
    .foot-area-link a:before {
      content: "▼"; }
  .foot-area-link ul {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start; }
  .foot-area-link li {
    padding-right: 1em; }

.column-blog-area {
  margin-bottom: 1rem; }
  .column-blog-area h3 {
    font-weight: bold; }
    .column-blog-area h3 span {
      font-size: 1rem;
      display: block; }
  .column-blog-area ul {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-around; }
  .column-blog-area li {
    width: 48%;
    margin-bottom: 1rem; }
    .column-blog-area li a {
      color: #3a3a3a; }
  .column-blog-area .thumb-area {
    background-position: center;
    background-repeat: no-repeat;
    background-size: 100%;
    padding-top: calc(3 / 4 * 100%);
    transition: ease 0.3s; }
    .column-blog-area .thumb-area:hover {
      background-size: 140%; }
  .column-blog-area .col-category {
    font-size: 12px;
    padding: 0.5rem 0; }
    .column-blog-area .col-category .メンズエステ {
      background: #ff9898; }
    .column-blog-area .col-category .アロマ {
      background: #48b3cb; }
    .column-blog-area .col-category .オイルマッサージ {
      background: #b8be3b; }
  .column-blog-area .col-title {
    font-weight: bold;
    margin: 0 0 0.5rem; }
  .column-blog-area .col-text {
    margin: 0;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3; }
  .column-blog-area .text-center .badge {
    background: #47a2d7;
    padding: 0.5rem 1rem; }

.footer {
  background: #dedede;
  padding: 0.5rem 0;
  border-top: 1px solid #3a3a3a;
  text-align: center; }

.foot-logo {
  width: 50%;
  margin: 0 auto;
  padding: 0.5rem 0; }

.foot-link ul {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center; }
  .foot-link ul > li {
    padding: 0 0.5rem; }
    .foot-link ul > li + li {
      border-left: 1px solid #007bff; }
    .foot-link ul > li a {
      color: #47a2d7; }

.foot_copy a {
  color: #3a3a3a; }

.news-pager {
  margin: 1rem 0.25rem; }
  .news-pager ul {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center; }
  .news-pager li a {
    background: #dedede;
    color: #3a3a3a;
    font-size: 1.25rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    border: 1px solid #3a3a3a;
    padding: 0.25rem 0.5rem;
    border-radius: 0.5rem; }
    .news-pager li a.pager-current {
      background: #ffe699; }
  .news-pager .fa {
    font-size: 2rem; }

.shop-list-child {
  display: flex;
  flex-wrap: wrap;
  align-items: start; }
  .shop-list-child.rank1 .shop-list-body, .shop-list-child.rank2 .shop-list-body, .shop-list-child.rank3 .shop-list-body, .shop-list-child.rank4 .shop-list-body, .shop-list-child.rank5 .shop-list-body {
    background-position: top 0.1rem left 0.5rem;
    background-repeat: no-repeat;
    background-size: 2.75rem; }
  .shop-list-child.rank1 .shop-list-title h3 a, .shop-list-child.rank2 .shop-list-title h3 a, .shop-list-child.rank3 .shop-list-title h3 a {
    color: #fff; }
  .shop-list-child.rank1 {
    background: #FFFBED; }
    .shop-list-child.rank1 .shop-list-title p {
      background: #F9A106; }
    .shop-list-child.rank1 .shop-list-title h3 {
      background: linear-gradient(#FFD377, #FFAF08); }
    .shop-list-child.rank1 .shop-list-body {
      background-image: url(../img/ranking1.svg); }
  .shop-list-child.rank2 {
    background: #F0FAFF; }
    .shop-list-child.rank2 .shop-list-title p {
      background: #F93295; }
    .shop-list-child.rank2 .shop-list-title h3 {
      background: linear-gradient(#FFC0DD, #FF83BC); }
    .shop-list-child.rank2 .shop-list-body {
      background-image: url(../img/ranking2.svg); }
  .shop-list-child.rank3 {
    background: #FEF6F2; }
    .shop-list-child.rank3 .shop-list-title p {
      background: #9C5CF7; }
    .shop-list-child.rank3 .shop-list-title h3 {
      background: linear-gradient(#E0C6FF, #BC83FE); }
    .shop-list-child.rank3 .shop-list-body {
      background-image: url(../img/ranking3.svg); }
  .shop-list-child.rank4 .shop-list-body {
    background-image: url(../img/ico-ranking4.svg);
    background-size: 2.5rem; }
  .shop-list-child.rank5 .shop-list-body {
    background-image: url(../img/ico-ranking5.svg);
    background-size: 2.5rem; }
  .shop-list-child.normal > .shop-list-img {
    display: none; }
  .shop-list-child.normal > .shop-list-body {
    width: 100%; }

.shop-list-title {
  position: relative;
  width: 100%; }
  .shop-list-title .ttl {
    font-size: 1rem;
    margin: 0;
    padding: 0.25rem; }
  .shop-list-title h3 {
    background: linear-gradient(#fff, #dedede);
    margin: 0; }
    .shop-list-title h3 a {
      color: #47a2d7;
      display: block;
      padding: 0.5rem; }
  .shop-list-title p {
    background: #47a2d7;
    color: #fff;
    padding: 0.25rem 0.5rem;
    margin: 0; }

.shop-list-img {
  width: 35%;
  padding: 0.25rem; }

.list-img {
  margin-bottom: 0.5rem; }
  .list-img a img {
    border: 0.5em solid #dedede; }

.btnlist {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-around; }
  .btnlist a {
    font-size: 1rem;
    width: 100%;
    margin-top: 0.5rem; }
    .btnlist a.btn01 {
      background: #47a2d7; }
    .btnlist a.btn02 {
      background: #f57a27; }
    .btnlist a.btn03 {
      background: #70b244; }
    .btnlist a.btn04 {
      background: #f6c; }

.shop-list-body {
  width: 65%;
  padding: 0.25rem; }
  .shop-list-body h4 {
    font-size: 1.25rem;
    padding-top: 0.5rem; }
    .shop-list-body h4 a {
      color: #47a2d7;
      width: 100%;
      display: block;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      line-height: 1.2; }
  .shop-list-body .hr {
    margin: 0.25rem 0;
    border-top: 2px dashed gray; }
  .shop-list-body .txt-pr {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    margin: 0; }

.list-topics-body {
  background: #fff;
  padding: 0 0.25rem 0.25rem;
  word-break: break-word; }
  .list-topics-body > small {
    background: #dedede;
    display: block;
    padding: 0.25rem;
    margin: 0.25rem 0; }
  .list-topics-body > p {
    margin-bottom: 0.25rem; }
    .list-topics-body > p + p {
      border-top: 1px solid #47a2d7;
      padding-top: 0.3rem; }
    .list-topics-body > p > a {
      color: #f57a27; }
    .list-topics-body > p > span {
      display: block; }
  .list-topics-body h5 {
    background: url(https://esthe-zukan.com/lib/img/bg-bar.png);
    background-size: contain;
    font-size: 1rem;
    margin: 0 0 0.25rem;
    padding: 0.25rem;
    border: 1px solid #dedede; }

.shop-list-telbtn {
  text-align: center;
  padding: 0.5rem;
  display: flex;
  width: 100%; }
  .shop-list-telbtn a {
    background: #47a2d7;
    color: #fff;
    padding: 0.5rem;
    width: 100%; }

.rank .shop-list-body h4 a {
  text-indent: 3em; }

.detail-upper-time {
  font-size: 1.25rem;
  font-weight: bold;
  text-align: center;
  margin: 0; }
  .detail-upper-time.pink {
    color: #f6c; }
  .detail-upper-time.purple {
    color: #9F63CB; }

.detail-title .ttl {
  font-size: 1em;
  padding: 0.25rem;
  margin: 0; }
.detail-title h2 {
  background: linear-gradient(#fff, #dedede);
  font-size: 1.5rem;
  padding: 0.5rem;
  border: 1px solid #dedede; }

.tel-box {
  padding: 0.25rem 1rem 1rem;
  text-align: center; }
  .tel-box a {
    background: linear-gradient(#FF8DDC, #FC6DCF);
    font-weight: bold;
    width: 90%;
    margin: 0 auto 0.25rem;
    border: 1px solid #BA4886; }
  .tel-box small {
    color: #47a2d7;
    font-weight: bold;
    display: block; }

.detail-msg {
  background: #47a2d7;
  padding: 0.5rem;
  margin-bottom: 1rem; }
  .detail-msg h3 {
    color: #fff;
    font-size: 1.25rem;
    font-weight: bold;
    padding: 0.25rem 1.25rem; }
  .detail-msg p {
    background: #fff;
    padding: 0.25rem 0.5rem;
    margin: 0;
    line-height: 1.4; }

.staff-detail {
  margin: 0 auto 1.5rem;
  padding: 0 1rem;
  border-bottom: 1px solid #305081; }
  .staff-detail ul {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between; }
  .staff-detail li:nth-child(1), .staff-detail li:nth-child(2) {
    width: 100%;
    margin-bottom: 1rem; }

.detail-upper {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  border-bottom: 2px dashed gray;
  margin-bottom: 1rem; }
  .detail-upper .thera-name {
    font-size: 1.4rem;
    font-weight: bold; }
  .detail-upper .icon-box {
    display: flex;
    justify-content: space-between;
    align-items: center; }
    .detail-upper .icon-box span {
      margin-right: 0.5rem; }
    .detail-upper .icon-box img {
      width: 2rem; }
    .detail-upper .icon-box .badge {
      background: #77c2f7;
      padding: 0.3rem 0.5rem;
      margin-bottom: 0.2rem; }

.detail-middle {
  margin-bottom: 1rem; }
  .detail-middle dl {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0.5rem;
    border-bottom: 2px dashed gray; }
  .detail-middle dt {
    width: 30%; }
  .detail-middle dd {
    width: 70%;
    margin-bottom: 0; }

.img-detail {
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  width: 100%;
  padding-top: calc(4 / 3 * 100%); }

.staff-bottom-link {
  padding: 1rem 0;
  text-align: center; }
  .staff-bottom-link a {
    font-size: 1.25rem;
    font-weight: bold; }

.detail-divide {
  font-size: 1.25rem;
  font-weight: bold;
  width: 100%;
  margin-bottom: 1.5rem; }

.cat-nav {
  margin: 1rem 0;
  border: none; }
  .cat-nav .nav-item {
    width: 50%;
    margin-bottom: 0;
    text-align: center; }
    .cat-nav .nav-item + .nav-item {
      border: 0; }
    .cat-nav .nav-item:nth-child(1) .nav-link {
      color: #f57a27;
      border: 1px solid #f57a27; }
      .cat-nav .nav-item:nth-child(1) .nav-link.active {
        background: #f57a27; }
    .cat-nav .nav-item:nth-child(2) .nav-link {
      color: #007bff;
      border: 1px solid #007bff; }
      .cat-nav .nav-item:nth-child(2) .nav-link.active {
        background: #007bff; }
    .cat-nav .nav-item:nth-child(3) .nav-link {
      color: #dc3545;
      border: 1px solid #dc3545; }
      .cat-nav .nav-item:nth-child(3) .nav-link.active {
        background: #dc3545; }
    .cat-nav .nav-item:nth-child(4) .nav-link {
      color: #70b244;
      border: 1px solid #70b244; }
      .cat-nav .nav-item:nth-child(4) .nav-link.active {
        background: #70b244; }
  .cat-nav .nav-link {
    font-weight: bold;
    padding: 0.5rem 0;
    border-radius: 0;
    margin: 0;
    border: 0; }
    .cat-nav .nav-link.active {
      color: #fff !important; }

.therapist-list {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: start;
  width: 95%;
  margin: 0 auto 1rem; }
  .therapist-list p {
    margin: 0; }
  .therapist-list > li {
    width: 50%;
    border: 0;
    padding: 0.25rem;
    box-shadow: 1px 1px 3px #3a3a3a; }
    .therapist-list > li:nth-child(1) .rank-list-desc .name > span:before {
      background-image: url(../img/ranking1.svg); }
    .therapist-list > li:nth-child(2) .rank-list-desc .name > span:before {
      background-image: url(../img/ranking2.svg); }
    .therapist-list > li:nth-child(3) .rank-list-desc .name > span:before {
      background-image: url(../img/ranking3.svg); }
    .therapist-list > li.none {
      width: 0;
      padding: 0;
      box-shadow: none; }
  .therapist-list.detail li {
    padding: 0.5rem; }
  .therapist-list figure {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    margin: 0;
    padding-top: calc(4 / 3 * 100%);
    position: relative; }
    .therapist-list figure figcaption {
      background: rgba(255, 255, 255, 0.625);
      width: 100%;
      padding: 0.5rem;
      position: absolute;
      bottom: 0; }
      .therapist-list figure figcaption img {
        max-width: 2.5rem;
        max-height: 2.5rem; }
      .therapist-list figure figcaption span {
        color: #121212;
        font-size: 1.25rem;
        font-weight: bold;
        display: block;
        width: 100%; }
        .therapist-list figure figcaption span.badge {
          background: #b3e7f7;
          font-size: 0.75rem;
          width: 4rem;
          padding: 0.5rem 0; }
  .therapist-list .rank-list {
    width: 100%; }

.thera-name {
  padding: 0.25rem;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: space-between;
  overflow: hidden; }
  .thera-name .badge {
    background: #b3e7f7;
    color: #3a3a3a;
    width: 4rem;
    padding: 0.5rem; }
  .thera-name + ul li {
    width: calc(100% / 6); }

.thera-foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  flex-wrap: nowrap; }
  .thera-foot > div {
    font-size: 0.9rem;
    max-width: calc(100% - 2.5rem); }
  .thera-foot .float-right {
    width: 2.5rem; }

.rank-list {
  border: 1px solid gray; }
  .rank-list a {
    color: #3a3a3a; }
  .rank-list + .rank-list {
    border-top: 0; }

.rank-list-child {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: space-between; }

.rank-list-img {
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  width: 32%; }

.rank-list-desc {
  width: 66%; }
  .rank-list-desc .name {
    display: block;
    margin-bottom: 1rem; }
    .rank-list-desc .name > span {
      font-size: 1rem;
      font-weight: bold; }
      .rank-list-desc .name > span:before {
        content: "";
        background-repeat: no-repeat;
        background-position: left center;
        background-size: contain;
        display: inline-block;
        width: 3rem;
        height: 2.4rem;
        position: relative;
        top: 0.3rem; }
    .rank-list-desc .name .badge {
      background-color: #77c2f7; }
    .rank-list-desc .name img {
      width: 1.6rem; }
  .rank-list-desc dl {
    display: flex;
    margin: 0; }
    .rank-list-desc dl:last-child {
      display: none; }
  .rank-list-desc dt {
    width: 30%; }
  .rank-list-desc dd {
    width: 70%;
    margin: 0; }

.schedule-box {
  display: flex;
  flex-wrap: wrap; }
  .schedule-box > li {
    background: #fff;
    text-align: center;
    padding: 0.5rem;
    border: 1px solid;
    width: 50%; }
    .schedule-box > li:nth-child(1) {
      width: 100%; }
    .schedule-box > li.current {
      background: #b3e7f7; }
    .schedule-box > li a {
      color: #3a3a3a; }

.page-nav {
  display: flex;
  align-items: center;
  justify-content: center; }
  .page-nav .nav-item {
    width: 2.5rem;
    margin: 0 0.2rem;
    border: 0; }
    .page-nav .nav-item .nav-link {
      border: 1px solid #6c757d;
      border-radius: 0.5rem;
      padding: 0.5rem;
      text-align: center; }
      .page-nav .nav-item .nav-link.active {
        background: #6c757d;
        color: #fff; }

.content-box {
  background: #47a2d7;
  margin-bottom: 1rem;
  padding: 0.5rem; }

.content-title .ttl {
  margin: 0;
  padding-top: 0;
  box-shadow: none; }

.body-title {
  background: #fff; }
  .body-title small {
    padding-left: 0.5rem; }
  .body-title h4 {
    background: linear-gradient(#fff, #dedede);
    font-size: 1.25rem;
    border: 1px solid #dedede;
    padding: 0.5rem;
    margin: 0; }

.body-box {
  background: #fff;
  display: block; }

.body-img,
.body-txt {
  padding: 1rem; }
  .body-img p,
  .body-txt p {
    margin: 0; }

.coupon-box {
  background: #5C8CCB;
  padding: 1rem;
  padding-top: 0.5em;
  margin: 0 0 1rem;
  position: relative;
  overflow: hidden; }

.coupon-body {
  background: #5C8CCB;
  position: relative; }
  .coupon-body > strong {
    color: #fff;
    font-size: 1.25rem;
    display: block;
    width: 12rem;
    padding-bottom: 0.25rem; }

.coupon-disc {
  background: #F7F6ED;
  border: 0.1rem solid #D83563;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between; }
  .coupon-disc:after {
    content: "";
    display: block;
    clear: both; }
  .coupon-disc h4 {
    color: #D83563;
    font-size: 1.4rem;
    margin: 1rem 1rem 0.5rem;
    border-bottom: 0.1rem solid #D83563;
    display: inline-block;
    width: 15rem; }
  .coupon-disc .coupon-img,
  .coupon-disc .coupon-msg {
    padding: 0.5rem; }
  .coupon-disc .coupon-img {
    width: 45%; }
  .coupon-disc .coupon-msg {
    width: 55%; }
    .coupon-disc .coupon-msg p {
      line-height: 1.2; }
  .coupon-disc .coupon-foot {
    padding: 0.5rem 0;
    text-align: left;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end; }
    .coupon-disc .coupon-foot .float-right {
      background: #D83563;
      color: #fff;
      padding: 0.25rem 0.5rem;
      display: inline-block;
      position: relative; }
      .coupon-disc .coupon-foot .float-right:before {
        content: "";
        position: absolute;
        top: -50%;
        left: -1rem;
        margin-top: 0;
        border: 1rem solid transparent;
        border-right: 0;
        border-bottom: 2.175rem solid #D83563; }
    .coupon-disc .coupon-foot p {
      color: #D83563;
      padding: 1rem 0.5rem 0;
      line-height: 1.4; }

.ribbon-l {
  background: url(../img/ribon-bottom.svg) no-repeat;
  background-size: 110%;
  width: 10rem;
  height: 6rem;
  position: absolute;
  bottom: 0;
  left: 0; }

.ribbon-r {
  background: url(../img/ribon-upper.svg) no-repeat;
  width: 12rem;
  height: 10rem;
  position: absolute;
  top: -1.54rem;
  right: -0.12rem; }

.content-body {
  margin-bottom: 0.25rem; }
  .content-body .content-title.under {
    background: linear-gradient(#ff7777, #fe3030);
    margin-bottom: 1rem; }
    .content-body .content-title.under h3 {
      color: #fff;
      font-weight: bold;
      border: 1px solid red;
      padding: 0.5rem 0; }
  .content-body.under {
    background: url(../img/ico-bg-under.svg) no-repeat;
    background-position: left 1rem top 4rem;
    background-size: 5rem;
    padding: 0;
    border: 1px solid #ccc;
    border-radius: 0 0 0.6rem 0.6rem;
    box-shadow: 0.1rem 0.1rem 0.1rem #333;
    text-align: center;
    width: 94%;
    margin: 0 auto 1rem; }
    .content-body.under p {
      text-align: left;
      padding: 0.5rem;
      margin: 0;
      text-indent: 7em;
      line-height: 1; }
      .content-body.under p span {
        text-decoration: line-through; }
        .content-body.under p span.text-danger {
          text-decoration: none; }
    .content-body.under strong {
      color: #dc3545;
      font-size: 2.5rem; }
      .content-body.under strong small {
        color: #3a3a3a;
        font-size: 1.25rem; }

.discount-limit {
  background: #fff2cc;
  padding: 0.25rem; }

.discount-text {
  padding: 0.5rem 1.5rem;
  text-align: left; }

.body-title.system {
  background: #fff;
  margin: 0;
  border: 1px solid #3a3a3a; }

.detail-sys-msg {
  box-shadow: 1px 1px 3px #3a3a3a; }
  .detail-sys-msg p {
    background: #fff;
    padding: 1rem;
    margin-bottom: 0.5rem;
    overflow: hidden;
    line-height: 1.4; }

.shop-meta-box dt, .shop-meta-box dd {
  padding: 0.25rem 0.5rem;
  border: 1px solid #dedede; }
.shop-meta-box dt {
  background: #dedede;
  font-weight: normal;
  width: 100%; }
.shop-meta-box dd {
  background: #fff;
  margin: 0;
  padding: 0.75rem 0.5rem;
  word-break: break-all; }
.shop-meta-box.system {
  font-size: 1.25rem;
  border: 1px solid #dedede;
  border-bottom: none;
  box-shadow: 1px 1px 3px #3a3a3a; }
  .shop-meta-box.system dt, .shop-meta-box.system dd {
    padding: 0.25rem 0.5rem;
    border: none;
    border-bottom: 1px solid #dedede; }
  .shop-meta-box.system dt {
    background: #fff2cc;
    width: 70%;
    text-align: left;
    border-right: 1px solid #dedede; }
  .shop-meta-box.system dd {
    padding: 0.25rem 0.5rem;
    text-align: right; }

.detail-map-data iframe {
  width: 100%; }

.shop-meta-box.middle > dl > dd strong {
  font-size: 1.5rem;
  font-weight: normal; }
.shop-meta-box.middle > dl > dd > ul {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: start; }
  .shop-meta-box.middle > dl > dd > ul > li {
    margin: 0.5rem 0 0 0.5rem;
    padding: 0.25rem;
    border: 1px solid #cc9900;
    border-radius: 0.5rem; }
    .shop-meta-box.middle > dl > dd > ul > li a {
      text-decoration: none; }
.shop-meta-box dt h4 {
  font-size: 14px;
  margin: 0; }
.shop-meta-box dd .fc-pink {
  color: #f00 !important;
  font-size: 0.8em;
  margin: 0; }
.shop-meta-box dd a {
  color: #47a2d7;
  text-decoration: underline; }
  .shop-meta-box dd a.map {
    float: right;
    padding: 0;
    width: 4.6em; }
.shop-meta-box dd > .badge {
  width: 5rem;
  position: relative;
  top: -0.25rem; }

label.badge-line {
  padding: 0;
  width: 8rem;
  float: right; }

/* 即セラページ */
.tit-soku-upper {
  background: #47a2d7 url(../img/ico-soku.svg) no-repeat;
  background-size: 1.5rem;
  background-position: left 0.75rem center;
  color: #fff;
  font-size: 1.25rem;
  font-weight: bold;
  padding: 0.5rem 0.5rem 0.25rem 3rem; }
  .tit-soku-upper.focus {
    background-image: url(../img/ico-attend.svg); }

.soku-icon-desc {
  font-size: 12px;
  font-weight: bold;
  margin: 0;
  padding: 1rem 0.5rem; }
  .soku-icon-desc p {
    margin: 0; }

.ico-desc-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-around; }
  .ico-desc-list li {
    width: 50%; }
    .ico-desc-list li > span:before {
      content: "";
      background-position: center;
      background-repeat: no-repeat;
      background-size: contain;
      display: inline-block;
      width: 2rem;
      height: 2rem;
      position: relative;
      top: 0.7rem;
      left: -0.2rem; }
    .ico-desc-list li > span.sokunew:before {
      background-image: url(../img/ico-soku-new.png); }
    .ico-desc-list li > span.sokucrown:before {
      background-image: url(../img/ico-soku-crown.png); }
    .ico-desc-list li > span.sokudeli:before {
      background-image: url(../img/ico-soku-deli.png); }
    .ico-desc-list li > span.sokuroom:before {
      background-image: url(../img/ico-soku-room.png); }
    .ico-desc-list li > span.sokucoupon:before {
      background-image: url(../img/ico-soku-coupon.png); }
    .ico-desc-list li > span.sokuunder:before {
      background-image: url(../img/ico-soku-under.png); }

.no-webp .ico-desc-list li > span.sokunew:before {
  background-image: url(../img/ico-soku-new.png); }

.webp .ico-desc-list li > span.sokunew:before {
  background-image: url(../img/ico-soku-new.webp); }

.no-webp .ico-desc-list li > span.sokucrown:before {
  background-image: url(../img/ico-soku-crown.png); }

.webp .ico-desc-list li > span.sokucrown:before {
  background-image: url(../img/ico-soku-crown.webp); }

.no-webp .ico-desc-list li > span.sokudeli:before {
  background-image: url(../img/ico-soku-deli.png); }

.webp .ico-desc-list li > span.sokudeli:before {
  background-image: url(../img/ico-soku-deli.webp); }

.no-webp .ico-desc-list li > span.sokuroom:before {
  background-image: url(../img/ico-soku-room.png); }

.webp .ico-desc-list li > span.sokuroom:before {
  background-image: url(../img/ico-soku-room.webp); }

.no-webp .ico-desc-list li > span.sokucoupon:before {
  background-image: url(../img/ico-soku-coupon.png); }

.webp .ico-desc-list li > span.sokucoupon:before {
  background-image: url(../img/ico-soku-coupon.webp); }

.no-webp .ico-desc-list li > span.sokuunder:before {
  background-image: url(../img/ico-soku-under.png); }

.webp .ico-desc-list li > span.sokuunder:before {
  background-image: url(../img/ico-soku-under.webp); }

.tit-sokuthera {
  background: #be0200;
  color: #fff;
  font-size: 1.5rem;
  padding: 1.5% 1.5% 1%;
  margin-bottom: 0.5rem;
  position: relative; }
  .tit-sokuthera.focus {
    background: #cea027; }
  .tit-sokuthera h3 {
    padding-top: 0.125rem; }
    .tit-sokuthera h3:before {
      content: "";
      background-image: url(../img/ico-sokuthera.svg);
      background-position: center;
      background-repeat: no-repeat;
      background-size: contain;
      display: inline-block;
      width: 1.75rem;
      height: 1.75rem;
      position: relative;
      top: 0.3rem; }
    .tit-sokuthera h3 + p {
      position: absolute;
      top: 50%;
      right: 0.5rem;
      transform: translate(0, -50%);
      margin: 0; }

#theraserach {
  width: 5rem;
  height: 5rem;
  position: fixed;
  right: 1rem;
  bottom: 1rem;
  cursor: pointer; }

.modal-header {
  padding: 0.5rem;
  border: none; }

.modal-title {
  color: #39a9a9;
  font-size: 1.25rem;
  font-weight: 700;
  margin: 0.75rem auto 0; }

#menu-new-area-modal .modal-content,
#mdl-commit .modal-content {
  background-color: rgba(255, 255, 255, 0.9); }
#menu-new-area-modal .modal-body li a,
#mdl-commit .modal-body li a {
  background: gray;
  color: #fff;
  display: block;
  border-radius: 0.5rem;
  padding: 0.75rem 0; }

.mdl-commit-box {
  background: #fff;
  border-radius: 0.5rem;
  margin-bottom: 0.5rem; }
  .mdl-commit-box ul {
    padding: 0.5rem; }
    .mdl-commit-box ul:nth-of-type(1) li {
      width: 32%; }

.tit-mdl-box {
  background: #007bff;
  color: #fff;
  font-size: 1.25rem;
  padding: 0.5rem;
  text-align: center;
  border-radius: 0.25rem 0.25rem 0 0; }

.btn-mdl-clear,
.btn-mdl-search {
  font-weight: 700;
  border: 2px solid #ee8ab5; }

.btn-mdl-clear {
  background: #fff;
  color: #ee8ab5;
  width: 43%; }

.btn-mdl-search {
  background: #ee8ab5;
  color: #fff;
  width: 55%; }

#theraserach-modal .form-control {
  width: auto; }
#theraserach-modal table {
  margin: 0;
  border: 1px solid #3a3a3a; }
#theraserach-modal th, #theraserach-modal td {
  padding: 0.5rem;
  vertical-align: middle;
  border-bottom: 1px solid gray; }
#theraserach-modal th {
  width: 20%; }
#theraserach-modal td li {
  width: 32%;
  margin-top: 0.5rem; }
  #theraserach-modal td li:nth-child(1), #theraserach-modal td li:nth-child(2), #theraserach-modal td li:nth-child(3) {
    margin: 0; }
#theraserach-modal .custom-control {
  padding: 0;
  width: 100%; }
  #theraserach-modal .custom-control > input {
    display: none; }
#theraserach-modal .custom-control-input ~ label {
  font-size: 0.9rem;
  display: block;
  padding: 1rem 0;
  text-align: center;
  border: 1px solid #ccc;
  border-radius: 0.4rem;
  transition: ease-in-out 0.3s; }
#theraserach-modal .btn-sokus {
  background: #f3717a;
  color: #fff;
  font-size: 1rem;
  width: 60%; }

.topic-list-box {
  padding: 0.5rem; }
  .topic-list-box ul {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-around; }
  .topic-list-box li {
    background: 0 0;
    width: 100%;
    padding-bottom: 0.5rem;
    margin-bottom: 0.5rem;
    border-bottom: 2px solid gray; }
    .topic-list-box li a {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: flex-start;
      position: relative; }
      .topic-list-box li a:after {
        content: "";
        background: url(../img/ico-arrow-cl.svg) bottom no-repeat;
        background-size: contain;
        width: 0.75em;
        display: inline-block;
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0; }
      .topic-list-box li a.center:after {
        background-position: center; }
      .topic-list-box li a > h3 {
        font-size: 1.25rem;
        font-weight: 700;
        display: inline-block;
        vertical-align: middle;
        width: calc(100% - 3rem);
        padding-bottom: 0.25rem;
        margin: 0; }
      .topic-list-box li a > label {
        vertical-align: middle;
        padding: 0 0 0.25rem; }
        .topic-list-box li a > label.btn {
          background: #17a2b8;
          color: #fff;
          border: 1px solid gray;
          padding: 0.25rem 0.5rem;
          margin: 0 0.25rem 0.25rem;
          max-width: 14rem;
          white-space: nowrap;
          overflow: hidden;
          text-overflow: ellipsis; }

.tpc-box-img {
  width: 7rem;
  height: 7rem; }
  .tpc-box-img img {
    width: 100%;
    height: 100%; }

.tpc-box-txt {
  width: calc(100% - 7rem);
  padding-left: 0.5rem;
  overflow: hidden; }
  .tpc-box-txt > .btn {
    background: #1698af;
    color: #fff;
    font-size: 0.9rem;
    padding: 0.25rem 1rem;
    margin-bottom: 0.5rem;
    border: 1px solid gray;
    border-radius: 0.5rem; }
  .tpc-box-txt .title {
    color: #007bff;
    text-decoration: underline;
    margin: 0;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3; }
  .tpc-box-txt .body {
    display: none; }

.txt-enter-area {
  text-align: center;
  padding: 1rem 0; }
  .txt-enter-area p {
    color: #47a2d7;
    font-size: 1.25rem;
    display: block;
    width: 90%;
    margin: 0 auto;
    padding: 0.25rem 0;
    line-height: 1.4; }

.popularity {
  background: #fff;
  position: relative;
  width: 80%;
  height: 80%;
  margin-left: 10%; }

.area-btn {
  background: #dedede;
  margin: 0 0 1rem;
  padding: 0.5rem 0.125rem 0;
  text-align: center; }

.area-ent {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-evenly; }
  .area-ent li {
    background: #47a2d7;
    border-radius: 0.5rem;
    width: 31%;
    margin-bottom: 0.5rem; }
    .area-ent li a {
      color: #fff;
      font-size: 1.75rem;
      font-weight: bold;
      padding: 1rem 0;
      display: block;
      position: relative; }
      .area-ent li a:after {
        content: "";
        position: absolute;
        border: 8px solid transparent;
        right: 0.35rem;
        bottom: 0.25rem;
        border-right: 8px solid #fff;
        border-bottom: 8px solid #fff; }

.new-open-eshte {
  margin-bottom: 1rem; }

.new-open-box {
  display: flex;
  align-items: center;
  justify-content: space-between; }
  .new-open-box + .new-open-box {
    border-top: 1px solid #dedede; }
  .new-open-box > div {
    width: 40%;
    padding: 0.5rem; }
  .new-open-box > ul {
    width: 60%; }
    .new-open-box > ul .open-tag-01,
    .new-open-box > ul .open-tag-02 {
      color: #fff;
      font-size: 0.75rem;
      width: 6rem;
      padding: 0.25rem 0;
      margin: 0 0.5rem;
      text-align: center; }
      .new-open-box > ul .open-tag-01 ~ li,
      .new-open-box > ul .open-tag-02 ~ li {
        font-size: 1.25rem;
        margin-top: 0.5rem; }
  .new-open-box li {
    width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    padding: 0 0.5rem; }
    .new-open-box li a {
      color: #47a2d7; }

.open-tag-01 {
  background: #ee8ab5; }

.open-tag-02 {
  background: #F9A106; }

.news-list {
  margin-bottom: 1rem; }
  .news-list li {
    padding: 0.5rem;
    border-bottom: 1px dashed #dedede;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap; }
    .news-list li:before {
      content: "\025b6";
      color: #121212; }
    .news-list li a {
      color: #47a2d7; }
    .news-list li span {
      color: #121212;
      padding: 0 1rem; }

.new-open-eshte {
  margin-bottom: 1rem; }

.policy,
.about {
  padding: 1rem 0.75rem; }
  .policy h3,
  .about h3 {
    font-size: 1.25rem;
    font-weight: bold; }
  .policy p,
  .about p {
    margin: 0; }

.advertise-title .ttl {
  margin: 0; }

.advertise-body {
  margin-bottom: 3rem; }
  .advertise-body h3 {
    background: linear-gradient(#fff, #dedede);
    font-size: 1rem;
    line-height: 1;
    border: 1px solid #dedede;
    padding: 0.25rem;
    margin-bottom: 0.5rem; }
  .advertise-body p {
    line-height: 1.4;
    padding: 0 0.5rem;
    margin: 0; }
  .advertise-body .d-table {
    width: 95%;
    margin: 0.5em auto; }
  .advertise-body .adv-pc,
  .advertise-body .adv-sp {
    margin-bottom: 1rem; }
    .advertise-body .adv-pc p,
    .advertise-body .adv-sp p {
      background: #f57a27;
      color: #fff;
      padding: 0.5rem;
      margin-bottom: 0.5rem; }
  .advertise-body table {
    margin-bottom: 1rem;
    text-align: center; }
    .advertise-body table th {
      color: #fff; }
      .advertise-body table th:nth-child(1) {
        background: #F9A106; }
      .advertise-body table th:nth-child(2) {
        background: #70b244; }
    .advertise-body table td:nth-child(1) {
      background: #fff2cc; }
    .advertise-body table td:nth-child(2) {
      background: #e2f0d9; }

.btn-pdf {
  background: #47a2d7;
  color: #fff;
  display: block;
  width: 8rem;
  margin: 0 auto 3rem;
  text-align: center;
  padding: 0.5rem;
  border: 1px solid #47a2d7;
  border-radius: 0.5rem;
  transition: 0.3s; }

.adv-link-box {
  background: #dedede;
  border: 1px solid #dedede;
  width: 60%;
  padding: 1rem;
  margin: 0 auto; }
  .adv-link-box .banner {
    width: 80%;
    margin: 0 auto 0.5rem; }
  .adv-link-box .link-source {
    width: 100%;
    height: 5rem; }
    .adv-link-box .link-source textarea {
      width: 100%;
      height: 100%; }

.btn-request {
  background: #47a2d7;
  color: #fff;
  margin: 1rem auto 2rem;
  width: 90%;
  padding: 0.75rem 1rem 0.5rem; }

#detail-meta {
  padding: 1rem; }
  #detail-meta .table-border .d-table-cell {
    padding: 0.5em; }

.notice-section {
  margin-bottom: 1rem; }
  .notice-section h3 {
    font-size: 1.5rem;
    font-weight: bold; }

.table-border {
  border: 1px solid #3a3a3a;
  margin-bottom: 1em; }
  .table-border p {
    margin: 0; }
  .table-border .dt {
    font-weight: bold;
    border-right: 1px solid #3a3a3a;
    width: 25%;
    height: 4.5rem; }
  .table-border .d-table-cell {
    border-top: 1px solid #3a3a3a;
    padding: 0 0.5rem;
    vertical-align: middle; }
  .table-border .d-table-row:first-child .d-table-cell {
    border-top: none; }

.badge-danger {
  background-color: #dc3545;
  color: #fff; }

.det-slide-img {
  width: 240px;
  height: 180px;
  object-fit: fill; }

.staff-img-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: start; }
  .staff-img-list li {
    width: 33.333333%;
    padding: 0.25rem; }

.stf-img {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  display: block;
  padding-top: calc(4 / 3 * 100%); }

.detail-foot-area-link h3 {
  font-size: 1.2rem;
  font-weight: bold; }
.detail-foot-area-link li {
  padding: 0.25rem; }

.foot-shop-list {
  background-color: #ddecf6;
  padding: 0.25rem; }
  .foot-shop-list a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 0.25rem; }
  .foot-shop-list .shop-img {
    width: 30%; }
  .foot-shop-list .shop-desc {
    width: calc(70% - 0.5rem); }
  .foot-shop-list .d-flex {
    align-items: center;
    border-top: 1px solid #47a2d7; }
    .foot-shop-list .d-flex .httl {
      font-size: 1rem;
      width: 7rem;
      margin: 0; }
      .foot-shop-list .d-flex .httl + p {
        font-size: 0.75rem;
        width: calc(100% - 7rem); }
        .foot-shop-list .d-flex .httl + p span {
          display: block; }

.shop-desc-ttl {
  color: #007bff;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3; }

/*--------------------
Tablet Menu
--------------------*/
@media screen and (min-width: 600px) {
  html {
    font-size: 16px; }

  .search-box .form-control {
    background-size: 50%; }

  .realtime-container ul {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-around; }
  .realtime-container li {
    width: 50%; }
    .realtime-container li a {
      padding: 0.25rem;
      display: block; }

  .banner-area a img {
    width: 100%; }

  .blog-rss-box .w-25 {
    position: relative; }
    .blog-rss-box .w-25 img {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%); }
  .blog-rss-box span {
    font-size: 1.5rem; }
    .blog-rss-box span.slide-area-icon {
      font-size: 1rem; }

  .rank-box-text:after {
    width: 2rem; }

  .topic-list-box li a:after {
    width: 1.25em; }

  .tpc-box-img {
    width: 14rem;
    height: 14rem; }

  .tpc-box-txt {
    width: calc(100% - 14rem); }
    .tpc-box-txt .title {
      font-size: 1.5rem; }

  .therapist-list > li {
    padding: 1rem; }
    .therapist-list > li a,
    .therapist-list > li p {
      font-size: 1.5rem; }

  .thera-foot > div {
    max-width: calc(100% - 3rem); }
  .thera-foot .float-right {
    width: 3rem; }

  .column-body {
    -webkit-line-clamp: 5; }

  .staff-detail ul {
    justify-content: space-around; }
  .staff-detail li:nth-child(1), .staff-detail li:nth-child(2) {
    width: 49%; }

  .slider-box.detail ul {
    max-width: 640px;
    margin: 0 auto; }

  .cat-nav .nav-item {
    width: 25%; }

  .staff-img-list {
    padding: 0.5rem 0; } }
/*--------------------
PC Menu
--------------------*/
@media screen and (min-width: 1025px) {
  html {
    font-size: 14px; }

  .wrapper {
    padding-top: 0; }

  .header {
    height: auto;
    position: relative; }
    .header .upper-adv {
      width: 20rem;
      display: block;
      margin: 0 0 0 auto; }

  .header-box > a {
    width: 285px; }

  #navi-menu {
    justify-content: flex-start; }

  .head-area-link {
    width: 22rem;
    display: block;
    padding-left: 0.5rem;
    margin-left: 0.5rem;
    border-left: 0.5rem solid #47a2d7; }
    .head-area-link ul {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: flex-start; }
    .head-area-link li + li a {
      border-left: 1px solid; }
    .head-area-link li:nth-child(7) a {
      border-left: 0; }
    .head-area-link li a {
      font-size: 14px;
      padding: 0 0.5rem; }

  #nav-toggle,
  #nav-content,
  .navimask {
    display: none; }

  .side-title {
    background: #f57a27;
    color: #fff;
    font-size: 1rem;
    padding: 0.5rem;
    margin: 0; }
    .side-title + ul {
      margin-top: 0.25rem; }

  .map-container {
    background: #47a2d7;
    padding: 3rem;
    margin-bottom: 2rem;
    border-top: 1rem solid #dedede;
    border-bottom: 1rem solid #dedede; }

  .area-map-link {
    width: 906px;
    margin: 0 auto;
    position: relative; }
    .area-map-link a {
      display: block; }

  .ent-ttl {
    color: #fff;
    font-size: 1.25rem;
    font-weight: 600;
    padding: 0.5rem;
    width: 35%;
    text-align: center; }

  .pc-enter .popularity {
    background: #fff;
    width: 35%;
    height: 300px;
    margin: 0;
    border: 1px solid #dedede;
    border-top: none;
    overflow-y: scroll;
    position: absolute; }
  .pc-enter .popular-box {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 0.5rem 0;
    margin: 0 0.5rem;
    border-bottom: 1px dashed #dedede; }
    .pc-enter .popular-box div {
      width: 30%; }
      .pc-enter .popular-box div img {
        width: 6rem;
        height: 6rem; }
    .pc-enter .popular-box ul {
      display: block;
      width: 65%; }
    .pc-enter .popular-box li {
      font-size: 0.75rem; }
      .pc-enter .popular-box li a {
        background-color: rgba(255, 255, 255, 0.8);
        color: #47a2d7;
        font-size: 1.25rem;
        margin-left: 3px;
        padding: 3px 0;
        line-height: 1.2; }
  .pc-enter .new-open-eshte {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
  .pc-enter .new-open-box {
    width: 50%;
    padding: 0.5rem;
    overflow: hidden;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    border-top: 0;
    border-bottom: 1px dashed #dedede; }

  .top-news {
    font-size: 1rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }

  .top-news-left {
    width: 74%; }

  .top-news-right {
    width: 25%; }

  .side-link ul > li a {
    background: #fff2cc;
    font-size: 0.75rem;
    display: block;
    padding: 0.25rem;
    margin-bottom: 0.25rem; }
    .side-link ul > li a:hover {
      background: #78caf9; }
    .side-link ul > li a span {
      font-weight: bold; }

  .pr-title {
    background: #dedede;
    font-size: 1.25rem;
    border: 1px solid gray;
    padding: 0.25rem;
    display: block;
    text-align: center; }

  .menu ul {
    margin-top: 1rem;
    display: flex;
    text-align: center;
    border: 1px solid gray; }
  .menu li {
    width: 25%; }

  .realtime-container {
    margin-bottom: 1rem; }
    .realtime-container li {
      width: calc(100% / 3); }
    .realtime-container figure {
      padding-top: calc(3 / 2 * 100%);
      margin-bottom: 0.25rem; }
      .realtime-container figure img {
        width: 100%;
        height: 100%; }
      .realtime-container figure figcaption p {
        flex-wrap: wrap;
        justify-content: space-between;
        width: 100%; }
      .realtime-container figure figcaption .ellipsis {
        display: block !important; }

  .slide-area-icon {
    background-color: #39a9a9;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
    width: 100%;
    text-align: center;
    margin: 0; }

  .blog-rss-box span.slide-area-icon {
    margin-bottom: -0.5rem;
    margin-left: 0.5rem; }

  .more {
    width: 8rem;
    margin-left: auto;
    padding: 0 0.5rem 0.5rem; }
    .more a {
      font-size: 12px;
      padding: 0.25rem 0;
      position: relative; }
      .more a:after {
        content: "";
        background: url(../img/ico-arrow-cl.svg) right no-repeat;
        background-size: contain;
        padding-left: 0.5rem;
        vertical-align: text-bottom;
        margin-left: 0.5rem; }

  .top-coupon-box ul {
    background: #fff2cc;
    border: 1px solid #3a3a3a; }
  .top-coupon-box li + li {
    border-top: 1px dashed #3a3a3a; }
  .top-coupon-box .more a:after {
    vertical-align: bottom; }

  .recomm-title {
    margin: 1rem 0;
    position: relative;
    box-shadow: 2px 2px 3px gray; }
    .recomm-title .ttl {
      background: red;
      padding: 0.75rem 2.75rem 0.5rem; }
      .recomm-title .ttl:before {
        content: " ";
        background-image: url(../img/ico-otoku-title.svg);
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain;
        display: inline-block;
        width: 2rem;
        height: 1.75rem;
        position: absolute;
        top: 50%;
        left: 0.5rem;
        transform: translateY(-50%); }

  .recomm-slider li {
    width: 30%; }
    .recomm-slider li img {
      max-height: 16vw; }

  .top-coupon-child {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.5rem; }
    .top-coupon-child p {
      margin: 0; }

  .top-coupon-box .more {
    margin-top: 0.5rem; }

  .top-coupon-img {
    background-position: center;
    background-size: cover;
    width: 20%;
    padding-top: calc(3 / 3 * 20%); }

  .top-coupon-txt {
    width: 78%; }
    .top-coupon-txt p {
      overflow: hidden;
      display: -webkit-box;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 3; }
      .top-coupon-txt p .top-area {
        background: #dedede;
        color: #3a3a3a;
        border: 1px solid #3a3a3a;
        margin-top: 0.5rem;
        margin-right: 0.5rem;
        padding: 0.25rem;
        border-radius: 3px;
        text-align: center; }

  .under-box .recomm-title .ttl:before {
    background-image: url("../img/ico-under-title.svg"); }

  .under-slider .slick-slide a {
    display: block;
    margin: 0 0.25rem;
    border: 1px solid #dc3545;
    padding: 0 0.5rem;
    z-index: 123;
    box-sizing: border-box; }
    .under-slider .slick-slide a h3 {
      color: #47a2d7;
      font-size: 1.125rem;
      width: 100%;
      margin: 0.25rem 0 0;
      line-height: 1.4;
      display: inline-block;
      overflow: hidden;
      white-space: nowrap;
      text-overflow: ellipsis; }
    .under-slider .slick-slide a img {
      width: 150px;
      height: 150px; }
    .under-slider .slick-slide a .under-bottom {
      text-align: center; }
      .under-slider .slick-slide a .under-bottom > p {
        background: url(../img/bg-under-num.png) no-repeat;
        background-repeat: repeat-x;
        background-position: bottom 0.6rem left;
        background-size: 0.25rem;
        color: red;
        font-size: 1.25rem;
        padding: 0 0 0.25rem;
        margin: 0;
        display: block;
        white-space: nowrap; }
  .under-slider .slider-child-box {
    position: relative; }

  .search-box {
    margin-bottom: 1rem; }
    .search-box .form-control {
      background-size: contain; }
    .search-box .btns {
      flex-wrap: wrap; }
      .search-box .btns .w-25 {
        width: 100% !important; }

  .btns-btn {
    padding: 0.5rem;
    height: auto;
    text-indent: 0;
    display: flex;
    align-items: center; }
    .btns-btn:before {
      content: "";
      background-size: contain;
      background-position: center;
      background-repeat: no-repeat;
      display: inline-block;
      width: 2rem;
      height: 2rem;
      margin-right: 0.5rem; }
    .btns-btn.commit, .btns-btn.area, .btns-btn.deli, .btns-btn.soku {
      background: #fff; }
    .btns-btn.commit:before {
      background-image: url(../img/side-commit.svg); }
    .btns-btn.area:before {
      background-image: url(../img/side-area.svg); }
    .btns-btn.deli:before {
      background-image: url(../img/side-shop.svg); }
    .btns-btn.soku:before {
      background-image: url(../img/side-style.svg); }

  .ranking-box:last-child {
    margin-bottom: 1rem; }

  .ranking-box .more,
  .new-shop .more {
    margin-top: 0.5rem; }

  .rank-box {
    border: 1px solid #dedede;
    padding: 0; }
    .rank-box h3 {
      color: #47a2d7;
      font-size: 1.25rem;
      text-indent: 0;
      line-height: 1.2;
      white-space: unset;
      overflow: hidden;
      display: -webkit-box;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 2; }

  .rank-box-child {
    flex-wrap: wrap; }
    .rank-box-child .ranking {
      font-size: 1.25rem;
      display: block;
      color: #fff;
      padding: 0.25rem;
      margin: 0;
      text-align: center;
      width: 100%; }
      .rank-box-child .ranking.rank1 {
        background: #F9A106; }
      .rank-box-child .ranking.rank2 {
        background: #F93295; }
      .rank-box-child .ranking.rank3 {
        background: #9C5CF7; }
      .rank-box-child .ranking.rank4 {
        background: #171C61; }
      .rank-box-child .ranking.rank5 {
        background: #171C61; }
    .rank-box-child > div {
      padding: 0.25rem; }

  .rank-box-img {
    width: 35%; }

  .rank-box-text {
    width: 65%; }
    .rank-box-text:after {
      content: none; }
    .rank-box-text p {
      line-height: 1; }

  .ico-rank {
    display: none; }

  .new-box {
    position: relative;
    border: 1px solid #dedede; }
    .new-box h3 {
      font-size: 1.25rem;
      width: 100%;
      text-indent: 3em; }
    .new-box .date ~ span {
      width: 100%; }

  .ico-new {
    position: absolute;
    top: 0.4rem;
    left: 0.5rem;
    width: 3rem; }

  .column-child {
    border-bottom: 1px solid #dedede;
    margin-bottom: 0.5rem; }

  .column-img {
    width: 40%; }

  .column-body {
    width: 60%;
    -webkit-line-clamp: 3; }

  .foot-area-link .w-100 {
    width: auto !important; }

  .column-blog-area h3 span {
    display: inline; }
  .column-blog-area li {
    width: 19%; }

  .side-ranking {
    margin-top: 1rem; }
    .side-ranking h2 {
      background: linear-gradient(#fff, #dedede);
      font-size: 0.9rem;
      padding: 0.5rem 0;
      margin: 0;
      text-align: center;
      border: 1px solid #dedede; }
    .side-ranking .rank-box label {
      color: #fff;
      display: block;
      text-align: center; }
    .side-ranking .rank-box .rank1 {
      background: #F9A106; }
    .side-ranking .rank-box .rank2 {
      background: #F93295; }
    .side-ranking .rank-box .rank3 {
      background: #9C5CF7; }
    .side-ranking .rank-box .rank4 {
      background: #171C61; }
    .side-ranking .rank-box .rank5 {
      background: #171C61; }
    .side-ranking .rank-box-img {
      width: 40%; }
    .side-ranking .rank-box-text {
      width: 60%; }
      .side-ranking .rank-box-text p {
        font-size: 0.75rem;
        line-height: 1.6;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis; }
    .side-ranking .more {
      width: 100%;
      padding: 0 0 2rem; }

  .slider-box {
    margin-bottom: 1rem; }

  .search-terms-box {
    display: flex;
    align-items: stretch;
    border: 1px solid #dedede;
    margin-bottom: 1rem; }
    .search-terms-box > .w-25 {
      background: #78caf9;
      position: relative;
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: space-around;
      flex-direction: column; }
      .search-terms-box > .w-25 p {
        color: #121212;
        font-size: 1.25rem;
        line-height: 1; }
    .search-terms-box > .w-75 {
      padding: 1rem; }
    .search-terms-box .form-label {
      display: flex;
      flex-direction: column;
      justify-content: space-around;
      padding-right: 0.5rem;
      margin: 0; }

  #commit-plus ul {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start; }

  .upper-recomm-sub {
    margin-bottom: 1rem; }

  .shop-list-child {
    margin-bottom: 1rem; }

  .tit-soku {
    line-height: 1.6; }
    .tit-soku:before {
      content: "";
      background: url(../img/ico-soku.svg) center no-repeat;
      background-size: contain;
      display: inline-block;
      width: 2rem;
      height: 1.75rem;
      margin-right: 0.25rem; }

  #search-sokuthera .d-flex {
    align-items: stretch;
    flex-wrap: wrap;
    text-align: center;
    margin: 0.5rem 0;
    border: 1px solid gray; }
    #search-sokuthera .d-flex .tit-spec,
    #search-sokuthera .d-flex .cont-spec {
      display: flex;
      align-items: center;
      justify-content: space-around;
      padding: 1rem; }
    #search-sokuthera .d-flex .tit-spec {
      background: #ddecf6;
      width: 15%; }
      #search-sokuthera .d-flex .tit-spec:nth-child(1) {
        border-right: 1px solid gray; }
      #search-sokuthera .d-flex .tit-spec:nth-child(3) {
        border-left: 1px solid gray;
        border-right: 1px solid gray; }
      #search-sokuthera .d-flex .tit-spec.chks {
        width: 15%;
        padding: 1rem; }
        #search-sokuthera .d-flex .tit-spec.chks ~ .check-spec {
          width: 85%; }
    #search-sokuthera .d-flex .cont-spec {
      width: 35%; }
    #search-sokuthera .d-flex .check-spec ul {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: space-around;
      flex-wrap: wrap; }
      #search-sokuthera .d-flex .check-spec ul li {
        display: flex;
        flex-flow: row wrap;
        align-items: center;
        width: 100%;
        padding: 0.5rem;
        border-top: 1px solid gray; }
        #search-sokuthera .d-flex .check-spec ul li:nth-child(1) {
          border: 0; }
        #search-sokuthera .d-flex .check-spec ul li .form-check {
          margin-left: 1rem; }
  #search-sokuthera #soku-age-min,
  #search-sokuthera #soku-age-max {
    width: 5.5rem; }
  #search-sokuthera .text-right {
    text-align: right; }
  #search-sokuthera #btn-sokus {
    background: #ee8ab5;
    color: #fff;
    font-size: 1.5rem;
    font-weight: bold;
    width: 30%;
    margin-top: 0.5rem;
    padding-top: 0.5rem; }

  .therapist-list {
    width: 100%; }
    .therapist-list > li {
      width: 25%;
      padding: 0.25rem; }
    .therapist-list > li a, .therapist-list > li p {
      font-size: 1rem; }

  .ico-desc-list li {
    width: calc(100% / 3); }

  .tit-sokuthera {
    padding: 0.25rem; }
    .tit-sokuthera h3 {
      padding: 0;
      margin: 0;
      font-size: 1.5rem; }
      .tit-sokuthera h3:before {
        width: 2rem;
        height: 2rem;
        top: 0.325rem; }

  .topic-list-box li a {
    color: #3a3a3a; }
    .topic-list-box li a > label {
      margin-right: 0.5rem; }
    .topic-list-box li a > h3 {
      color: #47a2d7;
      width: calc(100% - 3.5rem); }
  .topic-list-box .tpc-box {
    width: 100%; }

  .tpc-box-txt .body {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3; }

  .detail-msg {
    background: none; }
    .detail-msg h3 {
      color: #47a2d7;
      padding: 0.5rem 0;
      border-bottom: 2px dashed gray; }

  .body-box {
    display: flex; }

  .body-img,
  .body-txt {
    width: 50%; }

  .coupon-disc-title {
    width: 100%; }

  .coupon-disc {
    background-image: url(../img/ico-coupon-guy.svg);
    background-position: right 1rem center;
    background-repeat: no-repeat;
    background-size: 10rem;
    justify-content: flex-start; }
    .coupon-disc h4 {
      width: 100%; }
    .coupon-disc .coupon-img {
      width: 25%; }
    .coupon-disc .coupon-msg p {
      line-height: 1.6; }
    .coupon-disc .coupon-foot .float-right {
      font-size: 1.25rem;
      order: 2; }
      .coupon-disc .coupon-foot .float-right:before {
        top: -40%;
        border-bottom: 2.5rem solid #D83563; }
    .coupon-disc .coupon-foot p {
      font-size: 1.25rem;
      width: 100%;
      padding-left: 25%;
      order: 1; }

  .shop-meta-box dd span {
    width: auto !important; }
  .shop-meta-box dd a.map {
    float: unset;
    margin-left: 1rem; }
  .shop-meta-box dd a img {
    width: 4rem; }
  .shop-meta-box dd > .badge img {
    width: 4rem; }

  label.badge-line {
    float: unset;
    margin-left: 1rem; }

  .shop-meta-box.middle > dl > dd > ul > li {
    margin: 0;
    width: calc(100% / 3);
    border-radius: 0; }

  .column .shop-list-child {
    align-items: center; }
  .column .shop-list-img {
    width: 35%; }
  .column .shop-list-body {
    width: 65%; }
    .column .shop-list-body a {
      -webkit-line-clamp: 6; }
    .column .shop-list-body .w-100 {
      width: 30% !important; }
  .column .pagination .page-item {
    width: calc(100% / 20); }

  .side-btn ul {
    margin: 1rem 0; }

  .foot-area-box {
    margin-top: 2rem; }

  .advertise-body ul {
    display: flex; }
    .advertise-body ul .adv-sp {
      margin-left: 1rem; }

  .adv-link-box .banner {
    text-align: center; } }
