@charset "utf-8";

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

  Shopinfo Parts / ショップ紹介の設定

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

.shop{
  width: 100%;
  margin: 50px 0px 0px;
}

.shop .in{
  display: flex;
  align-items: center;
  margin: 50px 0px 0px;
}

.shop .info{
  width: 40%;
  margin-left: 10%;
  text-align: left;
}

.shop .info dl{
  display: flex;
  margin: 15px 0px 0px;
}

.shop .info dl dt{
  width: 140px;
  text-align: right;
}

.shop .info dl dt::after{
  content: "：";
  margin: 0px 0px 0px 20px;
}

.shop .info dl dd{
  width :calc( 100% - 160px );
  margin: 0px 0px 0px 20px;
}

.shop .info dl dd ul{
  display: flex;
  flex-wrap: wrap;
}

.shop .info dl dd ul li{
  width: 43%;
  margin: 0 2% 2% 0;
}

.shop .info dl dd ul li a{
  display: block;
  padding: 2.5px 10px 2.5px 15px;
  color: #000;
  font-size: 1.4rem;
  text-decoration: none;
  border: 1px #dfdfdf solid;
  border-radius: 50px;
  background: #efefef;
}

.shop .info dl dd ul li a i{
  padding-right: 3px;
}

.shop .info dl dd ul li a:hover{
  color: #fff;
  border: 1px #f39600 solid;
  background: #f39600;
}

.shop .map{
  width: calc( 50% - 20px );
  margin-left: 20px;
}

.shop .map iframe{
  border: 0;
  filter: grayscale( 100% );
  border-radius: 5px;
  box-shadow: -5px 5px 0px 0px #dfdfdf;
}

.shop .map p{
  margin-top: -32px;
}

.shop .map p a{
  position: relative;
  display: block;
  width: 240px;
  margin: 0px auto;
  padding: 7.5px 0px;
  color: #fff;
  font-size: 1.6rem;
  font-weight: bold;
  border: 2px #f39600 solid;
  border-radius: 5px;
  text-decoration: none;
  background: #f39600;
  z-index: 1;
  box-shadow: 5px 5px 0px 0px #cfcfcf;
}

.shop .map p a i{
  padding-right: 5px;
}

.shop .map p a:hover{
  color: #f39600;
  background: #fff;
  box-shadow: 5px 5px 0px 0px #f39600;
}


@media only screen and ( max-width: 1019px ){
  .shop{
    width :auto;
    margin: 40px 25px 0px;
  }

  .shop .in{
    flex-direction: column-reverse;
  }

  .shop .info{
    width: 100%;
    margin: 25px 0px 0px;
  }

  .shop .info dl{
    padding: 0px 0px 15px;
    border-bottom: 1px #afafaf dotted;
  }

  .shop .info dl:last-of-type{
    border-bottom: none;
  }

  .shop .info dl dd ul li{
    width: 46%;
    margin: 0 2% 2% 0;
  }

  .shop .info dl dd ul li a{
    padding: 5px 10px 5px 15px;
    font-size: 1.5rem;
  }

  .shop .map{
    width: 100%;
    margin: 0px;
  }

  .shop .map iframe{
    height: 500px;
    box-shadow: 5px 5px 0px 0px #dfdfdf;
  }
}

@media only screen and ( max-width: 640px ){
  .shop{
    margin: 30px 15px 0px;
  }

  .shop .in{
    margin: 30px 0px 0px;
  }

  .shop .map iframe{
    height: 300px;
  }
}
