.direct-matsuya{
  display: block !important;
}
.shop-img{
  width: 100% !important;
  margin: 0% !important;
}
.direct-item__address{
  align-items: baseline;
  gap: 8px;
  margin-top: 0 !important;
}
.direct-item__address img{
  margin-top: 0 !important;
}
.store-default-info{
  padding-left: 1%;
  font-family: "Shippori Mincho", serif;
  font-size: 16px;
  color: #333333;
  gap: 5px;
  line-height: 1.2;
  max-width: 85%;
}
.store-default-info._hours{
  display: flex;
  align-items: baseline;
}
.store-default-info._hours span{
  padding-left: 2%;
  font-size: 12px;
}
.direct-item__hour{
  font-size: 18px;
}
.direct-item__hour span{
  font-size: 14px;
}
.direct-item__map{
  width: 4%;
  margin-top: 0 !important;
}
.store-detail{
  width: 97%;
  margin: 13% auto 23%;
  background: #f9f8f3;
  padding: 10% 5% 10%;
}
.store-detail-content{
  width: 100%;
  margin: 0 auto;
}
.store-omotesando-title{
  text-align: center;
  font-size: 20px;
  font-family : "Shippori Mincho", sans-serif;
}
.store-omotesando-subtitle,
.store-visia,
.store-counseling,
.store-esthetician{
  margin: 5% 0;
}
.store-visia-title,
.store-counseling-title,
.store-esthetician-title{
  margin-bottom: 5%;
  font-size: 18px;
  font-family: "Shippori Mincho", serif;
  font-weight: 100;
}
.store-omotesando-subtitle-desc,
.store-visia-desc,
.store-counseling-desc,
.store-esthetician-desc{
  font-size: 16px;
  text-align: justify;
}
.store-counseling section,
.store-esthetician section
{
  margin: 15% 0 10%;
}
.store-visia img{
  margin: 10% 0 5%;
}
.store-omotesando-subtitle{
  border-bottom: 1px solid black;
  padding-bottom: 7%;
  margin: 10% 0 12%;
}
.shop-resarve{
  margin: 5% 0;
}
.shop-resarve a{
  border-radius: 25px;
  border: none;
  width: 60%;
  background: #750205;
  color: white;
  margin: 0 auto;
  padding: 2% 0;
  font-size: 15px;
}
.store-esthetician-time{
  border: 1px solid #333333;
  display: flex;
  align-items: center;
  margin: 7% 0% 2%;
}
.store-esthetician-time-note{
  font-size: 11px;
  text-align: center;
  color: #797979;
}
.store-esthetician-time-title{
  border-right: 1px solid black;
  padding: 5% 1%;
  width: 25%;
  text-align: center;
  font-size: 12px;
}
.store-esthetician-time-info{
  padding: 2% 10%;
  display: flex;
  flex-direction: column;
  align-items: baseline;
  font-size: 12px;
}
.store-esthetician-dayoff-info{
  font-size: 9px;
}
.shop-title span{
  font-size: 15px;
  margin-left: 10px;
}
.shop-title{
  border-bottom: 1px solid;
}
.store-address,
.store-open,
.store-phone,
.store-service{
  margin: 4% 0;
}
.store-prefecture{
  display: flex;
  gap: 12px;
}
.store-area-title{
  border: 1px solid #efefef;
  background: #efefef;
  padding: 2px 10px;
  margin: 0 -10px;
}
.store-area-discription{
  margin: 10% 0;
  text-align: center;
  font-size: 16px;
  line-height: 2;
}
.store-area-info,
.store-calender-area-info{
  border-left: 5px solid;
  padding-left: 4%;
  font-size: 18px;
  line-height: 1;
}
.store-area-info{
  margin-bottom: 4%;
}
.store-calender-area-info{
  margin-bottom: 8%;
}
.store-calender-area{
  margin: 0 auto 20%;
  width: 95%;
}
.store-prefecture-select{
  appearance: none;       /* ブラウザデフォルトの矢印を消す */
  -webkit-appearance: none;
  -moz-appearance: none;
  border: 1px solid #707070;
  padding: 6px 12px;
  font-size: 14px;
  width: 95%; 
  color: #333333;
}
.store-prefecture-select:focus{
  border-color: #66afe9;
  outline: none;
}
.store-area-logo{
  width: 4%;
  margin-top: 4px;
}
.store-area-address{
  display: flex;
  align-items: flex-start;
  gap: 6px;
}
.store-area-address .item__text{
  width: 85%;
  font-size: 15px;
}
.store-area-name{
  font-weight: bold;
  margin-bottom: 1%;
  font-size: 15px;
}
.store-area-phone{
  font-size: 15px;
}
#store-area-results{
  margin: 10% auto;
  width: 95%;
}
.store-area-item{
  margin-bottom: 2%;
  border-bottom: 1px solid;
  padding-bottom: 15px;
}
.store-area-address a{
  display: contents;
}
.direct-shop-text,
.store-area-title{
  border: 1px solid #333333;
  background: #333333;
  color: white;
  font-size: 18px;
  padding: 2px 15px;
  text-align: center;
}
.store-area-title{
  margin: 0 -10px;
}
.direct-shop-text{
  margin: 10% -10px 5%;
}
.infomation__lists{
  flex-direction: row !important;
}
.infomation__lists li{
  background: #f9f8f3;
  text-align: center;
}
.infomation__lists a{
  border: 1px solid #f9f8f3 !important;
}
.store-default-title{
  color: #808080;
  font-family : "cochin", sans-serif;
  font-size: 16px;
  margin-bottom: 1%;
}
.store-area-select{
  margin: 0 auto;
  width: 95%;
}
.store-area-serach-btn{
  width: 20%;
}
.store-link{
  display: flex;
  justify-content: center;
  gap: 20px;
  margin: 5% 0 0;
}
.store-top-slider img,
.store-esthetician-slider img,
.store-counseling-slider img{
  margin: 0 auto;
  height: auto;
}
.store-esthetician-slider img,
.store-counseling-slider img{
  width: 100%;
}
.store-top-slider img{
  width: 97%;
}
.store-information{
  max-width: 97%;
  margin: 10% auto;
}
.store-title{
  font-size: 20px;
  font-family : "cochin", sans-serif;
  color: #333333;
  align-items: baseline;
  display: flex;
  border-bottom: 1px solid #808080;
  padding-bottom: 2%;
}
.store-title-ja{
  font-size: 15px;
  margin-left: 2%;
}
.store-service-section{
  display: flex;
  gap: 8px;
  padding-left: 2%;
  flex-wrap: wrap;
}
.store-service-section img{
  width: 89px;
  height: 87px;
}
.store-main-section{
  text-align: center;
}
.store-main-title{
  font-family : "cochin", sans-serif;
  font-size: 33px;
}
.store-main-subtitle{
  font-size: 16px;
}
.store-area-item.is-last {
  border-bottom: none;
}
.direct-item__tel a{
  letter-spacing: 0em !important;
  font-family: "cochin", sans-serif;
  font-size: 18px;
  -webkit-text-size-adjust: 100%;
  font-variant-numeric: normal;
  pointer-events: none;
  text-decoration: none;
}

/* カレンダーUI ここから */
.store-calender-header {
  display: flex;
  align-items: center;
  margin-bottom: 10px;
  gap: 5px;
}
.store-calender-header button{
  background: none;
}
#store-calender-prev,
#store-calender-next {
  position: relative;
  display: inline-block;
  padding-left: 15px;
  width: 20px;
  height: 40px;
}
#store-calender-prev::before,
#store-calender-next::before {
  content: '';
  width: 10px;
  height: 10px;
  border: 0;
  border-top: solid 1px #333;
  border-right: solid 1px #333;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  margin: auto;
}
#store-calender-prev::before {
  transform: rotate(-135deg);
}
#store-calender-next::before{
  transform: rotate(45deg);
}
.store-calender-header #today{
  font-size: 14px;
  border: 1px solid #CBC9C9;
  padding: 1px 8px;
  border-radius: 4px;
  color: #CBC9C9;
  margin-left: 12px;
}
#store-calender-date {
  font-size: 20px;
  width: 110px;
  text-align: center;
}

#calendar {
  height: 480px;
  overflow-y: auto;
  border: 1px solid #E8E8E8;
  font-size: 12px;
  padding: 0 5%;
  border-radius: 12px;
  -webkit-overflow-scrolling: touch;
}

/* 日ブロック */
.store-calender-area .day-block {
  border-bottom: 1px solid #E8E8E8;
  padding: 18px 0;
  display: flex;
  align-items: stretch;
}

/* 日付行 */
.store-calender-area .day-head {
  width: 25%;
}

/* 曜日カラー */
.store-calender-area .sun { color: #E00006; }
.store-calender-area .sat { color: #4729C6; }

/* イベント行 */
.store-calender-area .event-row {
  line-height: 1.6;
  padding-left: 4%;
}
.store-calender-area .event-row.over-second{
  margin-top: 8%;
}
.store-calender-area .day-event{
  width: 70%;
}

/* 時間 */
.store-calender-area .time {
  color: #666;
  font-size: 12px;
}

/* カテゴリ */
.store-calender-area .event-row.cat-kanto {
  border-left: 7px solid #FFD5D6;
}
.store-calender-area .event-row.cat-chubu {
  border-left: 7px solid #d5fcff; 
}
.store-calender-area .event-row.cat-kansai {
  border-left: 7px solid #FFECD5; 
}
.store-calender-area .event-row.cat-kyushu {
  border-left: 7px solid #ECD5FF; 
}
.store-calender-area .event-row.cat-other { 
  border-left: 7px solid #DDDDDD; 
}
.store-calender-color{
  display: flex;
  align-items: center;
  gap: 25px;
  margin-top: 4%;
}
.store-calender-color p{
  font-size: 12px;
  position: relative;
  padding-left: 5%;
}
.store-calender-color p::before{
  content: "";
  position: absolute;
  left: 0;
  top: 0.5em;

  width: 10px;
  height: 10px;
  border-radius: 50%;
}
.store-calender-color .kanto::before{
  background: #FFD5D6;
}
.store-calender-color .kansai::before{
  background: #FFECD5;
}
.store-calender-color .chubu::before{
  background: #d5fcff;
}
.store-calender-color .kyushu::before{
  background: #ECD5FF;
}
.store-calender-color .other::before{
  background: #DDDDDD;
}
/* カレンダーUI ここまで */
@media screen and (min-width: 768px) {
  .store-link{
    gap: 18px;
    margin: 2% 0 0;
  }
  .direct-shop-text,
  .store-area-title{
    font-size: 20px;
    padding: 4px 15px;
  }
  .store-area-title{
    margin: 0;
  }
  .direct-shop-text{
    margin: 10% 0 5%;
  }
  .store-top-slider img{
    width: 900px;
    height: 500px;
  }
  .store-title{
    font-size: 25px;
  }
  .store-title-ja{
    font-size: 20px;
    margin-left: 2%;
  }
  .store-default-title{
    font-size: 25px;
  }
  .store-default-info{
    font-size: 20px;
    padding-left: 2%;
  }
  .store-service-section{
    display: flex;
    gap: 15px;
    padding-left: 2%;
  }
  .store-service-section img{
    width: 116px;
    height: 113px;
  }
  .store-detail{
    max-width: 900px;
    margin: 10% auto 2%;
    padding: 4% 4% 5%;
  }
  .store-detail-content{
    width: 500px;
  }
  .store-omotesando-title{
    font-size: 26px;
  }
  .store-omotesando-subtitle-desc,
  .store-visia-desc,
  .store-counseling-desc,
  .store-esthetician-desc{
    font-size: 18px;
  }
  .store-esthetician-time-title{
    font-size: 16px;
    width: 28%;
    padding: 3% 1%;
  }
  .store-esthetician-time-info{
    padding: 2% 7%;
    display: flex;
    flex-direction: row;
    align-items: baseline;
    font-size: 16px;
  }
  .store-area-discription{
    margin: 4% 0;
    font-size: 18px;
  }
  .store-area-select{
    margin: 0 auto;
    width: 500px;
  }
  .store-calender-area{
    margin: 0 auto;
    width: 500px;
  }
  .store-prefecture-select{
    width: 80%;
  }
  #store-area-results{
    margin: 4% auto;
    width: 500px;
  }
  .store-information{
    max-width: 900px;
    margin: 6% 8% 0;
  }
  .store-esthetician-dayoff-info{
    font-size: 10px;
    padding-left: 20px;
  }
  .store-visia-title,
  .store-counseling-title,
  .store-esthetician-title{
    font-size: 23px;
    margin-bottom: 2%;
  }
  .store-top-slider .slick-dots{
    bottom: -32px !important;
  }
  .store-top-slider .slick-dots li button:before{
    font-size: 11px !important;
  }
  .store-esthetician-slider .slick-dots li button:before,
  .store-counseling-slider .slick-dots li button:before{
    font-size: 9px !important;
  }
  #store{
    padding: 80px 0 20px;
  }
  .store-counseling section,
  .store-esthetician section
  {
    margin: 25% 0 10%;
  }
  .store-esthetician-time{
    margin: 5% 0% 2%;
  }
  .store-area-info,
  .store-calender-area-info{
    padding-left: 2%;
    font-size: 16px;
  }
  .direct-item__map{
    width: 20%;
  }
  .store-default-info._hours span{
    padding-left: 2%;
    font-size: 16px;
  }
  .store-address,
  .store-open,
  .store-phone,
  .store-service{
    margin: 2% 0;
  }
  .store-omotesando-subtitle{
    margin: 3% 0 0;
    padding-bottom: 5%;
  }
  .store-main-map{
    width: 17px !important;
    height: 20px !important;
  }
  .store-visia img{
    margin: 8% 0 5%;
  }
  .store-area-address .item__text{
    width: 90%;
  }
  .store-area-logo{
    width: 3%;
    margin-top: 3px;
  }
  .shop-resarve a{
    font-size: 16px;
    width: 50%;
  }
  .direct-item__tel a{
    font-size: 20px;
  }
  .store-calender-area .day-head {
    width: 20%;
  }
  #store-calender-date {
    font-size: 25px;
    width: 135px;
  }
  #store-calender-prev::before,
  #store-calender-next::before {
    width: 15px;
    height: 15px;
  }
  #store-calender-prev,
  #store-calender-next {
    padding-left: 20px;
  }
  #calendar {
    padding: 0 4%;
    font-size: 15px;
  }
  /* 日ブロック */
  .store-calender-area .day-block {
    padding: 18px 0;
  }
  .store-calender-header #today{
    font-size: 18px;
    margin-left: 2%;
  }
  .store-calender-area .event-row.over-second{
    margin-top: 6%;
  }
  .store-calender-header {
    gap: 15px;
  }
  .store-calender-color p{
    padding-left: 4%;
    font-size: 15px;
  }
}