/*------------------------------------------------------------
	BASE
------------------------------------------------------------*/
/*------------------------------------------------------------
	COLOR
------------------------------------------------------------*/
/*------------------------------------------------------------
	FONT
------------------------------------------------------------*/
/*------------------------------------------------------------
	FUNCTION
------------------------------------------------------------*/
/*------------------------------------------------------------
	MIXIN
------------------------------------------------------------*/
/*------------------------------------------------------------
	SHOP
------------------------------------------------------------*/
.shop {
  background: #FAECDF;
  color: #331F07;
  /*------------------------------
      FV
  ------------------------------*/
  /*------------------------------
      SECTION
  ------------------------------*/
}
.shop .fv {
  position: relative;
  padding: 0 0 53.4351145038vw;
}
@media screen and (min-width: 768px) {
  .shop .fv {
    padding: 0 0 16.6666666667vw;
  }
}
.shop .fv .inner {
  display: flex;
  flex-flow: column;
  min-height: calc(100lvh - 53.4351145038vw);
  padding: 0;
}
@media screen and (min-width: 768px) {
  .shop .fv .inner {
    flex-flow: row-reverse;
    min-height: 100lvh;
    padding: 0;
  }
}
.shop .fv_title {
  position: relative;
  min-height: 50lvh;
  background: url("../img/shop/shop_kv.jpg") center 0 no-repeat;
  background-size: cover;
}
@media screen and (min-width: 768px) {
  .shop .fv_title {
    width: 50%;
    min-height: auto;
  }
}
.shop .fv_title h1 {
  position: absolute;
  bottom: 10.4325699746vw;
  left: 17.8117048346vw;
  width: 32.0610687023vw;
}
@media screen and (min-width: 768px) {
  .shop .fv_title h1 {
    bottom: 4.7222222222vw;
    left: 3.8888888889vw;
    width: 20.8333333333vw;
  }
}
.shop .fv_title h1 img {
  width: 32.0610687023vw;
}
@media screen and (min-width: 768px) {
  .shop .fv_title h1 img {
    width: 20.8333333333vw;
  }
}
.shop .fv_txt {
  padding: 13.9949109415vw 7.6335877863vw 0 17.8117048346vw;
}
@media screen and (min-width: 768px) {
  .shop .fv_txt {
    margin-top: auto;
    padding: 0 4.1666666667vw 4.1666666667vw 5.5555555556vw;
    width: 50%;
  }
}
.shop .fv_txt .-ja {
  position: relative;
  display: inline-block;
  margin-right: auto;
  padding-left: 0;
  font-size: 3.5623409669vw;
  line-height: 2.7142857143;
  letter-spacing: 0.5089058524vw;
}
@media screen and (min-width: 768px) {
  .shop .fv_txt .-ja {
    padding-left: 4.8611111111vw;
    font-size: 1.1111111111vw;
    line-height: 3;
    letter-spacing: 0.1388888889vw;
  }
}
.shop .fv_txt .-ja.-pc {
  display: none;
}
@media screen and (min-width: 768px) {
  .shop .fv_txt .-ja.-pc {
    display: inline-block;
  }
}
@media screen and (min-width: 768px) {
  .shop .fv_txt .-ja.-sp {
    display: none;
  }
}
.shop .fv_txt .-en {
  padding-top: 6.106870229vw;
  padding-left: 5.0890585242vw;
  font-size: 2.5445292621vw;
  line-height: 1.4;
  letter-spacing: 0.2544529262vw;
}
@media screen and (min-width: 768px) {
  .shop .fv_txt .-en {
    padding-top: 2.2222222222vw;
    padding-left: 6.9444444444vw;
    font-size: 0.9722222222vw;
    line-height: 1.2857142857;
    letter-spacing: 0.0694444444vw;
  }
}
.shop .fv_txt .-en.-pc {
  display: none;
}
@media screen and (min-width: 768px) {
  .shop .fv_txt .-en.-pc {
    display: block;
  }
}
@media screen and (min-width: 768px) {
  .shop .fv_txt .-en.-sp {
    display: none;
  }
}
.shop_section {
  padding: 0 5.0890585242vw 30.534351145vw 5.0890585242vw;
}
@media screen and (min-width: 768px) {
  .shop_section {
    padding: 0 5.5555555556vw 18.0555555556vw;
  }
}
@media screen and (min-width: 768px) {
  .shop_section:nth-child(odd) .inner {
    flex-flow: row-reverse;
  }
}
.shop_section .inner {
  display: flex;
  flex-flow: column;
}
@media screen and (min-width: 768px) {
  .shop_section .inner {
    flex-flow: row;
  }
}
@media screen and (min-width: 768px) {
  .shop_section .inner figure {
    width: 50%;
  }
}
.shop_section_txt {
  flex: 1;
  position: relative;
  display: flex;
  flex-flow: column;
  justify-content: flex-end;
  gap: 6.106870229vw;
  padding: 0;
}
@media screen and (min-width: 768px) {
  .shop_section_txt {
    gap: 2.2222222222vw;
    padding: 0 4.8611111111vw 5.5555555556vw;
  }
}
.shop_section_txt h2 {
  padding-top: 15.2671755725vw;
  padding-left: 12.7226463104vw;
  font-size: 4.5801526718vw;
  color: #97AA82;
}
@media screen and (min-width: 768px) {
  .shop_section_txt h2 {
    padding-top: 0;
    padding-left: 0;
    font-size: 1.3888888889vw;
  }
}
.shop_section_txt > .-ja {
  position: relative;
  padding-top: 2.5445292621vw;
  padding-left: 12.7226463104vw;
  font-size: 3.5623409669vw;
  line-height: 2.1428571429;
  letter-spacing: 0.2544529262vw;
}
@media screen and (min-width: 768px) {
  .shop_section_txt > .-ja {
    padding-top: 0;
    padding-left: 0vw;
    font-size: 1.1111111111vw;
    line-height: 3;
    letter-spacing: 0.1388888889vw;
  }
}
.shop_section_txt > .-en {
  padding-left: 17.8117048346vw;
  font-size: 2.5445292621vw;
  line-height: 1.4;
  letter-spacing: 0.2544529262vw;
}
@media screen and (min-width: 768px) {
  .shop_section_txt > .-en {
    padding-left: 2.0833333333vw;
    font-size: 0.9722222222vw;
    line-height: 1.4285714286;
    letter-spacing: 0.0694444444vw;
  }
}
.shop_section.shop1 .inner .shop_section_txt h2 img {
  width: 41.9847328244vw;
}
@media screen and (min-width: 768px) {
  .shop_section.shop1 .inner .shop_section_txt h2 img {
    width: 15.2777777778vw;
  }
}
.shop_section.shop2 .inner figure {
  margin-left: auto;
  width: 76.3358778626vw;
}
@media screen and (min-width: 768px) {
  .shop_section.shop2 .inner figure {
    margin-left: 0;
    width: 61.1111111111vw;
  }
}
.shop_section.shop2 .inner .shop_section_txt {
  padding: 6.3613231552vw 0 0 2.5445292621vw;
}
@media screen and (min-width: 768px) {
  .shop_section.shop2 .inner .shop_section_txt {
    padding: 0 2.0833333333vw 6.9444444444vw 4.8611111111vw;
  }
}
@media screen and (min-width: 768px) {
  .shop_section.shop3 .inner {
    gap: 7.6388888889vw;
  }
}
.shop_section.shop3 .inner > figure {
  padding: 60.8142493639vw 0 0;
  width: 56.4885496183vw;
}
@media screen and (min-width: 768px) {
  .shop_section.shop3 .inner > figure {
    padding: 11.1111111111vw 0 0;
    width: 36.3194444444vw;
  }
}
.shop_section.shop3 .inner .shop_section_txt {
  padding: 0 0 2.7777777778vw;
}
@media screen and (min-width: 768px) {
  .shop_section.shop3 .inner .shop_section_txt {
    padding: 0 0 2.7777777778vw;
  }
}
.shop_section.shop3 .inner .shop_section_txt figure {
  position: absolute;
  top: -134.3511450382vw;
  right: 0;
  width: 64.631043257vw;
}
@media screen and (min-width: 768px) {
  .shop_section.shop3 .inner .shop_section_txt figure {
    position: relative;
    top: auto;
    right: auto;
    width: 44.4444444444vw;
  }
}
.shop_section.shop3 .inner .shop_section_txt_inner {
  flex: 1;
  position: relative;
  display: flex;
  flex-flow: column;
  justify-content: flex-end;
  gap: 6.106870229vw;
}
@media screen and (min-width: 768px) {
  .shop_section.shop3 .inner .shop_section_txt_inner {
    gap: 2.2222222222vw;
  }
}
.shop_section.shop3 .inner .shop_section_txt_inner > .-ja {
  position: relative;
  padding-top: 2.5445292621vw;
  padding-left: 12.7226463104vw;
  font-size: 3.5623409669vw;
  line-height: 2.1428571429;
  letter-spacing: 0.2544529262vw;
}
@media screen and (min-width: 768px) {
  .shop_section.shop3 .inner .shop_section_txt_inner > .-ja {
    padding-top: 0;
    padding-left: 0vw;
    font-size: 1.1111111111vw;
    line-height: 3;
    letter-spacing: 0.1388888889vw;
  }
}
.shop_section.shop3 .inner .shop_section_txt_inner > .-en {
  padding-left: 17.8117048346vw;
  font-size: 2.5445292621vw;
  line-height: 1.4;
  letter-spacing: 0.2544529262vw;
}
@media screen and (min-width: 768px) {
  .shop_section.shop3 .inner .shop_section_txt_inner > .-en {
    padding-left: 2.0833333333vw;
    font-size: 0.9722222222vw;
    line-height: 1.4285714286;
    letter-spacing: 0.0694444444vw;
  }
}
.shop_section.shop3 .inner .shop_section_txt_inner > .-ja {
  padding-top: 6.25vw;
}
@media screen and (min-width: 768px) {
  .shop_section.shop3 .inner .shop_section_txt_inner > .-ja {
    padding-top: 6.25vw;
    padding-left: 4.8611111111vw;
  }
}
@media screen and (min-width: 768px) {
  .shop_section.shop3 .inner .shop_section_txt_inner > .-en {
    padding-left: 6.9444444444vw;
  }
}
@media screen and (min-width: 768px) {
  .shop .shop_infomation .inner {
    display: flex;
    flex-wrap: wrap;
    gap: 8.3333333333vw;
  }
}
.shop .shop_infomation_title {
  padding: 0 0 0 17.3027989822vw;
}
@media screen and (min-width: 768px) {
  .shop .shop_infomation_title {
    padding: 0 0 0 13.8888888889vw;
  }
}
.shop .shop_infomation_title img {
  width: 56.2340966921vw;
}
@media screen and (min-width: 768px) {
  .shop .shop_infomation_title img {
    width: auto;
  }
}
.shop .shop_infomation_txt {
  flex: 1;
  padding: 7.6335877863vw 0 0 17.3027989822vw;
}
@media screen and (min-width: 768px) {
  .shop .shop_infomation_txt {
    padding: 0 13.8888888889vw 0 0;
  }
}
.shop .shop_infomation_txt table tr:first-child th, .shop .shop_infomation_txt table tr:first-child td {
  padding-top: 0;
}
.shop .shop_infomation_txt table tr th, .shop .shop_infomation_txt table tr td {
  padding-top: 2.5445292621vw;
  font-size: 3.0534351145vw;
  line-height: 2.5;
  text-align: left;
}
@media screen and (min-width: 768px) {
  .shop .shop_infomation_txt table tr th, .shop .shop_infomation_txt table tr td {
    padding-top: 0;
    font-size: 1.1111111111vw;
    line-height: 3;
    letter-spacing: 0.2vw;
  }
}
.shop .shop_infomation_txt table tr td {
  padding-left: 11.9592875318vw;
}
@media screen and (min-width: 768px) {
  .shop .shop_infomation_txt table tr td {
    padding-left: 3.3333333333vw;
  }
}
.shop .shop_infomation_txt ul {
  display: flex;
  flex-flow: column;
  gap: 4.0712468193vw;
  margin-top: 10.1781170483vw;
}
@media screen and (min-width: 768px) {
  .shop .shop_infomation_txt ul {
    flex-flow: row;
    gap: 2.7777777778vw;
    margin-top: 2.7777777778vw;
  }
}
.shop .shop_infomation_txt ul li .button_more {
  margin-right: 0;
  margin-left: 0;
}
.shop .shop_infomation .shop_infomation_map {
  margin: 22.9007633588vw 0 0;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .shop .shop_infomation .shop_infomation_map {
    margin: 2.7777777778vw 0 0.6944444444vw;
  }
}
.shop .shop_infomation .shop_infomation_map iframe {
  height: 61.0687022901vw;
}
@media screen and (min-width: 768px) {
  .shop .shop_infomation .shop_infomation_map iframe {
    height: 27.7777777778vw;
  }
}
.shop .shop_infomation .shop_design {
  margin: 30.534351145vw 7.6335877863vw 0 17.8117048346vw;
  padding-bottom: 40.7124681934vw;
}
@media screen and (min-width: 768px) {
  .shop .shop_infomation .shop_design {
    margin: 0 5.5555555556vw 15.5555555556vw auto;
    padding-bottom: 0;
    width: 41.0416666667vw;
  }
}
.shop .shop_infomation .shop_design h3 {
  padding-bottom: 4.0712468193vw;
  border-bottom: 1px solid #331F07;
  font-size: 4.0712468193vw;
  letter-spacing: 0.203562341vw;
}
@media screen and (min-width: 768px) {
  .shop .shop_infomation .shop_design h3 {
    padding-bottom: 1.3888888889vw;
    font-size: 1.1111111111vw;
    letter-spacing: 0.0555555556vw;
  }
}
.shop .shop_infomation .shop_design dl {
  padding: 5.0890585242vw 0 0;
}
@media screen and (min-width: 768px) {
  .shop .shop_infomation .shop_design dl {
    padding: 1.3888888889vw 0 0;
  }
}
.shop .shop_infomation .shop_design dl dt {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 0 17.8117048346vw;
  font-size: 4.0712468193vw;
}
@media screen and (min-width: 768px) {
  .shop .shop_infomation .shop_design dl dt {
    position: relative;
    display: block;
    padding: 0.6944444444vw 0 0 11.1111111111vw;
    font-size: 1.1111111111vw;
    letter-spacing: 0.0555555556vw;
  }
}
.shop .shop_infomation .shop_design dl dt.-open:before {
  bottom: 6.6157760814vw;
  width: 3.8167938931vw;
  transform: translate(-50%, 0) rotate(145deg);
}
.shop .shop_infomation .shop_design dl dt.-open:after {
  height: 3.8167938931vw;
  transform: translate(-50%, 0) rotate(125deg);
}
.shop .shop_infomation .shop_design dl dt:before, .shop .shop_infomation .shop_design dl dt:after {
  content: "";
  display: block;
  position: absolute;
  left: 50%;
  background: #331F07;
  transition: all 0.5s cubic-bezier(0.21, 0.51, 0.51, 1);
}
@media screen and (min-width: 768px) {
  .shop .shop_infomation .shop_design dl dt:before, .shop .shop_infomation .shop_design dl dt:after {
    display: none;
  }
}
.shop .shop_infomation .shop_design dl dt:before {
  bottom: 6.6157760814vw;
  width: 4.5801526718vw;
  height: 1px;
  transform: translate(-50%, 0);
}
.shop .shop_infomation .shop_design dl dt:after {
  bottom: 5.0890585242vw;
  height: 3.3078880407vw;
  width: 1px;
  transform: translate(-50%, 0);
}
.shop .shop_infomation .shop_design dl dt span {
  font-size: 2.5445292621vw;
  letter-spacing: 0.1272264631vw;
}
@media screen and (min-width: 768px) {
  .shop .shop_infomation .shop_design dl dt span {
    position: absolute;
    left: 0;
    top: 0.6944444444vw;
    font-size: 0.9722222222vw;
    letter-spacing: 0.0486111111vw;
  }
}
.shop .shop_infomation .shop_design dl dd {
  padding: 0;
  height: 0px;
  font-size: 3.0534351145vw;
  line-height: 1.6666666667;
  overflow: hidden;
  transition: all 0.5s cubic-bezier(0.21, 0.51, 0.51, 1);
}
@media screen and (min-width: 768px) {
  .shop .shop_infomation .shop_design dl dd {
    padding: 2.7777777778vw 0 0 11.1111111111vw;
    height: auto;
    font-size: 0.8333333333vw;
    line-height: 1.6666666667;
    letter-spacing: 0.0416666667vw;
  }
}
.shop .shop_infomation .shop_design dl dd span {
  display: block;
}

/*# sourceMappingURL=shop.css.map */
