@charset "utf-8";

/*----------------------------------------------------------------------------------------------------

  店舗詳細
  
----------------------------------------------------------------------------------------------------*/

@media print,screen and (min-width:641px) {
  .detail-cont {
    padding-top:60px;
    padding-bottom:100px;
  }
}

@media screen and (max-width:640px) {
  .detail-cont {
    padding-top:2em;
    padding-bottom:3em;
  }
}


/*--------------------------------------------------------------------------------
  非公開
--------------------------------------------------------------------------------*/

.private-alert {
  text-align:center;
  border:2px dotted #d72323;
  line-height:1.4;
  color:#d72323;
  padding:1.2em 1em;
}

.private-alert b {
  font-size:1.22em;
}

.private-alert small {
  display:inline-block;
  font-size:0.66em;
  line-height:1.4;
  margin-top:0.2em;
}

@media print,screen and (min-width:641px) {
  .private-alert {
    font-size:1.22em;
    margin-bottom:60px;
  }
}

@media screen and (max-width:640px) {
  .private-alert {
    font-size:1.11em;
    margin-bottom:2.5em;
  }
}


/*--------------------------------------------------------------------------------
  フラグ
--------------------------------------------------------------------------------*/

@media print,screen and (min-width:641px) {
  .d-flg {
    -webkit-box-pack:center;
    -ms-flex-pack:center;
    justify-content:center;
  }
}


/*--------------------------------------------------------------------------------
  ひとこと見出し
--------------------------------------------------------------------------------*/

.d-midashi { font-weight:bold; }

@media print,screen and (min-width:641px) {
  .d-midashi { padding-top:60px; }
}

@media screen and (max-width:640px) {
  .d-midashi {
    text-align:left;
    padding-top:1.5em;
  }
}


/*--------------------------------------------------------------------------------
  画像1
--------------------------------------------------------------------------------*/

@media print,screen and (min-width:641px) {
  .d-img1 { padding-top:60px; }
  .d-img1 img { max-width:800px; }
}

@media screen and (max-width:640px) {
  .d-img1 { padding-top:2em; }
}

.d-img1[data-photo="none"] img {
  border:1px solid #d2d2d2;
}


/*--------------------------------------------------------------------------------
  画像URL
--------------------------------------------------------------------------------*/

.d-upimg {
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -ms-flex-wrap:wrap;
  flex-wrap:wrap;
  -webkit-box-pack:center;
  -ms-flex-pack:center;
  justify-content:center;
}

@media print,screen and (min-width:641px) {
  .d-upimg {
    padding-top:20px;
    margin-left:-20px;
    margin-right:-20px;
  }

  .d-upimg__item {
    max-width:50%;
    padding-top:60px;
    padding-left:20px;
    padding-right:20px;
  }
  
  .d-upimg__item img {
    max-height:600px;
  }
}

@media screen and (max-width:640px) {
  .d-upimg {
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    -ms-flex-direction:column;
    flex-direction:column;
    padding-top:1em;
  }
  
  .d-upimg__item { padding-top:1.5em; }
}


/*--------------------------------------------------------------------------------
  サイト
--------------------------------------------------------------------------------*/

.d-shopSite__hd {
  padding-bottom:2em;
}

.d-shopSite__hd p {
  font-weight:bold;
  display:inline-block;
  position:relative;
}

.d-shopSite__hd p:before,
.d-shopSite__hd p:after {
  content:"";
  width:1px;
  height:100%;
  display:inline-block;
  position:absolute;
  top:50%;
}

.d-shopSite__hd p:before {
  border-left:1px solid #141414;
  -webkit-transform:rotate(-30deg) translateY(-50%);
  transform:rotate(-30deg) translateY(-50%);
  left:2em;
}

.d-shopSite__hd p:after {
  border-right:1px solid #141414;
  -webkit-transform:rotate(30deg) translateY(-50%);
  transform:rotate(30deg) translateY(-50%);
  right:2em;
}

@media print,screen and (min-width:641px) {
  .d-shopSite {
    padding-top:80px;
  }
}

@media print,screen and (min-width:481px) {
  .d-shopSite__hd p {
    padding-left:3em;
    padding-right:3em;
  }
  
  .d-shopSite__hd p br { display:none; }
}

@media screen and (max-width:640px) {
  .d-shopSite { padding-top:3em; }
}

@media screen and (max-width:480px) {
  .d-shopSite__hd p {
    padding-left:2em;
    padding-right:2em;
  }
}


/*--------------------------------------------------------------------------------
  店舗情報
--------------------------------------------------------------------------------*/

.d-shopData {
  max-width:920px;
  margin-left:auto;
  margin-right:auto;
  text-align:left;
}

.d-shopData__hd {
  padding-bottom:1em;
}

.d-shopData dl {
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -ms-flex-wrap:wrap;
  flex-wrap:wrap;
  border-top:1px solid #d2d2d2;
}

.d-shopData dt,
.d-shopData dd {
  border-bottom:1px solid #d2d2d2;
}

.d-shopData dt {
  font-weight:bold;
  background-color:#f0f0f0;
}

.d-shopData__come {
  border:4px solid #d2d2d2;
}

@media print,screen and (min-width:641px) {
  .d-shopData {
    margin-top:100px;
  }
  
  .d-shopData dt,
  .d-shopData dd {
    padding:1em 1.25em;
  }
  
  .d-shopData dt {
    width:10em;
    text-align:center;
  }

  .d-shopData dd {
    width:-webkit-calc(100% - 10em);
    width:calc(100% - 10em);
  }
  
  .d-shopData dt .br {
    content:"\A";
    white-space:pre;
  }

  .d-shopData__come {
    margin-top:40px;
    padding:1.25em 1.75em;
  }
}

@media screen and (max-width:640px) {
  .d-shopData {
    margin-top:3em;
  }
  
  .d-shopData dl {
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    -ms-flex-direction:column;
    flex-direction:column;
  }

  .d-shopData dt,
  .d-shopData dd {
    border-left:1px solid #d2d2d2;
    border-right:1px solid #d2d2d2;
  }
  
  .d-shopData dt {
    padding:0.75em 1em;
  }
  
  .d-shopData dd {
    padding:1em;
  }
  
  .d-shopData dt .br:before {
    content:"・";
  }

  .d-shopData__come {
    margin-top:1.5em;
    padding:1em;
  }
}


/*--------------------------------------------------------------------------------
  画像2・3
--------------------------------------------------------------------------------*/

.d-imgs {
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-pack:center;
  -ms-flex-pack:center;
  justify-content:center;
}

@media print,screen and (min-width:641px) {
  .d-imgs {
    padding-top:100px;
    margin-left:-20px;
    margin-right:-20px;
  }

  .d-imgs__item {
    max-width:50%;
    padding-left:20px;
    padding-right:20px;
  }
  
  .d-imgs__item img {
    max-height:600px;
  }
}

@media screen and (max-width:640px) {
  .d-imgs {
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    -ms-flex-direction:column;
    flex-direction:column;
    padding-top:1em;
  }
  
  .d-imgs__item { padding-top:1.5em; }
}


/*--------------------------------------------------------------------------------
  Map
--------------------------------------------------------------------------------*/

.d-map #map {
  width:100%;
  height:70vh;
  max-height:600px;
  min-height:400px;
}

@media print,screen and (min-width:641px) {
  .d-map {
    padding-top:100px;
  }
}

@media screen and (max-width:640px) {
  .d-map {
    padding-top:3em;
  }
}


/*----------------------------------------------------------------------------------------------------

  店舗一覧
  
----------------------------------------------------------------------------------------------------*/

@media print,screen and (min-width:641px) {
  .list-cont {
    padding-bottom:100px;
  }
  
  .list .p-shoplist {
    padding-top:20px;
  }
  
  .shopmap {
    padding-top:60px;
  }
}

@media screen and (max-width:640px) {  
  .list-cont {
    padding-bottom:3em;
  }
  
  .shopmap {
    padding-top:2em;
    padding-left:0;
    padding-right:0;
  }
}


/*--------------------------------------------------------------------------------
  絞り込み
--------------------------------------------------------------------------------*/

.search {
  background-color:#f0f0f0;
  text-align:left;
}

.search__select {
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-align:center;
  -ms-flex-align:center;
  align-items:center;
}

.search__select .checkList {
  list-style:none;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -ms-flex-wrap:wrap;
  flex-wrap:wrap;
  -webkit-box-align:center;
  -ms-flex-align:center;
  align-items:center;
  margin-left:-8px;
}

.search__select .checkList li {
  padding-left:8px;
}

.search__select .checkList li label {
  cursor:pointer;
  text-align:center;
  display:block;
  position:relative;
  background-color:#fff;
  border-radius:3px;
  padding:0.25em 1.5em 0.25em 1em;
  position:relative;
}

.search__select .checkList li label input[type="checkbox"] {
  margin-right:1em;
}

.search__select .checkList li label.is-checked {
  color:#d72323;
}

.search .checkList li label.is-checked:after {
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  display:block;
  border:2px solid #d72323;
  border-radius:3px;
}

.search__fword {
  padding-top:1.5em;
  padding-bottom:1em;
}

.search__fword input {
  width:100%;
  padding:0.4em;
  -webkit-appearance:none;
  -moz-appearance:none;
  appearance:none;
  border:none;
  margin:0;
  outline:none;
  padding:0.4em 0.4em;
  text-decoration:none;
  line-height:inherit;
  font-size:inherit;
  border-radius:3px;
  -moz-border-radius:3px;
  -webkit-border-radius:3px;
  -webkit-transition:border-color ease-in-out .05s, -webkit-box-shadow ease-in-out .05s;
  -o-transition:border-color ease-in-out .05s, box-shadow ease-in-out .05s;
  transition:border-color ease-in-out .05s, box-shadow ease-in-out .05s;
  margin-bottom:0.25em;
}

.search__fword input       { border:1px solid #c8c8c8; }
.search__fword input:focus { border-color:#3c3c3c; }


.search__btn {
  text-align:center;
}

@media print,screen and (min-width:641px) {
  .search {
    padding:2em;
  }
  
  .search__btn {
    padding-top:0.5em;
    padding-bottom:0.5em;
  }
  
  .search__btn .p-btn {
    padding:0.4em 3em;
  }
}

@media screen and (max-width:640px) {
  .search {
    padding:1em;
  }
  
  .search__select .checkList li {
    padding-top:8px;
    width:33.333333%;
  }
  
  .search__btn {
    padding-top:1.5em;
    padding-bottom:1em;
    width:100%;
    display:block;
    text-align:center;
  }
  
  .search__btn .p-btn {
    padding-left:3em;
    padding-right:3em;
    min-width:50%;
  }
}


/*--------------------------------------------------------------------------------
  表示件数
--------------------------------------------------------------------------------*/

.shopmap .count {
  text-align:left;
  padding:1em;
}

@media print,screen and (min-width:641px) {
  .shopmap .count p {
    display:inline-block;
    padding-left:1em;
  }
}


/*--------------------------------------------------------------------------------
  Map
--------------------------------------------------------------------------------*/

.shopmap #map {
  width:100%;
  height:80vh;
  min-height:400px;
}

