@charset "utf-8";
/* CSS Document */


/**********************************************************/
/* PC */
/**********************************************************/
/**********************************
  section共通
**********************************/
/*スライダーの矢印*/
.swiper-button-next:after,
.swiper-rtl .swiper-button-prev:after,
.swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after {
  display: none;
}


/**********************************
  店舗詳細
**********************************/
.store{
  position: relative;
}
.store::after{
  background: url("../images/shop/store.png") repeat-x;
  background-size: 100% 100%;
  position: absolute;
  width: 26.2%;
  height: 170px;
  content: "";
  left: 45%;
  top: 0;
  max-width: 376px;
}
.store ul.flex{
  margin: -90px auto 45px;
}
.store .mySwiper2 {
  height: 366px;
  width: 554px;
  margin-bottom: 8px;
}
.store .mySwiper {
  width: 554px;
}
.store .mySwiper .swiper-slide {
  width: 25%;
  height: 100%;
  opacity: 0.4;
}
.store .mySwiper .swiper-slide-thumb-active {
  opacity: 1;
}
.store .swiper-slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.store .txt-box{
  margin-left: 45px;
}
.store .txt-box h3{
  font-size: 2.8rem;
  position: relative;
  line-height: 2;
}
.store .txt-box h3::after{
  position: absolute;
  width: 186px;
  height: 2px;
  content: "";
  left: 0;
  bottom: 0;
  background: #FAE24C;
}
.store .txt-box p{
  margin: 20px auto 30px 14px;
  line-height: 1.5;
}
.store dl{
  align-items: center;
  margin-bottom: 10px;
  line-height: 1.5;
}
.store dl:last-of-type{
  align-items: flex-start;
}

.store dt{
  border: solid 1px #FAE24C;
  width: 110px;
  height: 34px;
  text-align: center;
  padding-top: 3px;
}
.store dd{
  margin-left: 22px;
}
.store dd a{
  color: #000;
}
.store .insta {
  justify-content: space-between;
  margin-top: 20px;
}
.store .insta img{
  width: 25%;
  max-width: 111px;
  padding-right: 8px;  
}
.store .insta img:last-of-type{
  padding-right: 0;  
}


/**********************************
  当店のおすすめ
**********************************/
.recommend{
  position: relative;
  margin-top: 150px;
}
.recommend::after{
  background: url("../images/shop/recommend.png") repeat-x;
  background-size: 100% 100%;
  position: absolute;
  width: 44.65%;
  height: 150px;
  content: "";
  left: 55%;
  top: 0;
  max-width: 643px;
}
.recommend .slide-box{
  width: 1050px;
  margin:-92px 25px auto auto;
  position: relative;
}
.recommend .mySwiper3{
  width: 970px;
}
.recommend ul li{
  max-width: 316px;
  margin-right: 17px;
}
.recommend ul li div.flex{
  margin-bottom: 10px;
}
.recommend ul h3 {
  font-size: 1.6rem;
  line-height: 1.5;
  margin-right: 20px;
  width: 180px;
}
.recommend ul h4 {
  font-size: 1.4rem;
  border: solid 1px #A16F4E;
  padding: 0 10px;
  line-height: 24px;
  min-width: 60px;
  min-height: 24px;
  letter-spacing: 0.05em;
}
.recommend ul li p{
  margin-bottom: 18px;
  font-size: 1.4rem;
}
.recommend .container {
  position: relative;
  height: 215px;
  margin-top: -30px;
  z-index: -1;
}
.recommend .swiper-button-next:after,
.recommend .swiper-rtl .swiper-button-prev:after,
.recommend .swiper-button-prev:after,
.recommend .swiper-rtl .swiper-button-next:after {
  display: none;
}
.recommend .swiper-button-next,
.recommend .swiper-rtl .swiper-button-prev,
.recommend .swiper-button-prev,
.recommend .swiper-rtl .swiper-button-next {
  top: 60%!important;
}


/**********************************
  郵送or店頭受取から商品を選ぶ
**********************************/
.category{
  position: relative;
  margin-top: 150px;
  height: 656px;
}
.category::after{
  background: url("../images/shop/category.png") repeat-x;
  background-size: 100% 100%;
  position: absolute;
  width: 34.93%;
  height: 150px;
  content: "";
  left: 44%;
  top: 0;
  max-width: 503px;
}
.category .container{
  position: absolute;
  top:244px;
  left:50%;
  transform: translateX(-50%);
  width: calc(100% - 240px);
  height: 412px;
}

/* 背景が左から出現＋テキスト */
.bgLR {
  position: absolute;
  top: 0.2%;
  left: 0;
  width: 56.6%;
}

.bgLR span.mask{
  position:relative;
  display: block;
  line-height: 0;
  overflow: hidden;
  max-height: 412px;
}
.bgLR span.mask::before {
  content: "";
  position: absolute;
  z-index: 2;
  left: -20%;
  top: 0;
  opacity: 0;
  transition: .3s;
  transform: translateX(-100%);
  background: rgba(255,255,255,.75);
  width: 120%;
  height: 100%;
}
.bgLR:hover span.mask::before{
  opacity:1;
  transform: translateX(0);
  transform: skewX(-21deg);
  transform-origin: top center;
  z-index: 0;
}

.bgLR span.cap{
  position: absolute;
  opacity:1;
  transition: .5s ease-in-out;/*移り変わる速さを変更したい場合はこの数値を変更*/
  z-index:3;/*テキストを前面に出す*/
  top: 20%;
  left: 20%;
  transform: translate(-20%,-20%);
  color: #000;
  letter-spacing: 0.09em;
}

.bgLR:hover span.cap{/*hoverした時の変化*/
  opacity:1;
}

/* 背景が右から出現＋テキスト */
.bgRL{
  position:absolute;
  top:0;
  right: 0;
  width: 57%;
}

.bgRL span.mask{
  position:relative;
  display: block;
  line-height: 0;
  overflow: hidden;
  max-height: 412px;
}

.bgRL span.mask::before{
  content:"";
  position: absolute;
  z-index: 2;
  left: 24.2%;
  top:0;
  opacity:0;
  transition: .3s ease-in-out;
  transform: translateX(100%);
  background:rgba(75,37,0,.45);
  width:100%;
  height: 100%; 
}

.bgRL:hover span.mask::before{/*hoverした時の変化*/
  opacity:1;
  transform: skewX(-21.6deg);
  transform-origin: top center;
  z-index: 0;
}

.bgRL span.cap{
  position: absolute;
  opacity:1;
  transition: .5s ease-in-out;/*移り変わる速さを変更したい場合はこの数値を変更*/
  z-index:1;/*テキストを前面に出す*/
  top: 75%;
  left: 70%;
  transform: translate(-70%,-75%);
  color: #FFF;
  text-align: right;
  width: 400px;
  letter-spacing: 0.09em;
}

.bgRL:hover span.cap{/*hoverした時の変化*/
  opacity:1;
}

a.block:hover{
  opacity: 1;
}
.category .container h3{
  font-size: 3.6rem;
  margin-bottom: 30px;
}
.category .container p{
  margin-bottom: 25px;
  line-height: 1.8;
  font-size: 1.4rem;
}
.category .container .btn-pseudo{
  background: #4B2500;
  width: 241px;
  height: 51px;
  border-radius: 26px;
  box-shadow:  1px 3px 5px 1px rgba(0,0,0,.5);
  text-align: center;
  color: #fff;
  padding-top: 25px;
}
.bgRL span.cap .btn-pseudo{
  margin: 0 0 0 auto;
  box-shadow:  1px 3px 5px 1px rgba(255,255,255,.3);
}
/**********************************
  商品を選ぶ（details-2.html）
**********************************/
.details-2 .bgRL {
  right: auto;
  left:50%;
  transform: translateX(-50%);
  width: 47.5%;
}
.details-2 .bgRL span.mask::before{
  left: 0;
}
.details-2 .bgRL:hover span.mask::before{/*hoverした時の変化*/
  transform: skewX(0deg);
  transform-origin: top center;
}



/**********************************
  メッセージ
**********************************/
.message{
  position: relative;
  margin-top: 150px
}
.message::after{
  background: url("../images/shop/message.png") repeat-x;
  background-size: 100% 100%;
  position: absolute;
  width: 32%;
  height: 150px;
  content: "";
  left: 44%;
  top: 0;
  max-width: 462px;
}
.message .message-box{
  line-height: 1.6;
  margin: 56px auto 0;
  position: relative;
}
.message .message-box::after {
  position: absolute;
  content: "";
  top: -114px;
  right: -10%;
  width: 100%;
  height: 100%;
  background-image: url(../images/top/diagonal.png);
  background-repeat: no-repeat;
  background-position: top 0 right 0;
  background-size: 60%;
}
.message .message-box dl{
  margin-bottom: 52px;
}
.message .message-box dt{
  font-size: 2.8rem;
  position: relative;
}
.message .message-box dt::after{
  position: absolute;
  content: "";
  left: 0;
  bottom: -8px;
  width: 186px;
  height: 2px;
  background: #FAE24C;
}
.message .message-box dd h3{
  line-height: 4;
  font-size: 2.2rem;
}
.message .message-box dd p{
  letter-spacing: 0.13em;
}
/**********************************************************/
/* SP*/
/**********************************************************/
@media screen and (max-width:767px){




/**********************************
  店舗詳細
**********************************/
.store {
  margin-top: 30px;
}
.store::after {
  top: 30px;
  margin-top: 0;
}
.store::after {
  height: 52px;
  left: auto;
  right: 10px;
  top: -64px;
}
.store ul.flex {
  margin: 10px auto 50px;
  display: block;
}
.store .mySwiper2 {
  height: auto;
  width: 100%;
  margin-bottom: 8px;
  padding: 0 10px;
}
.store .mySwiper {
  width: 100%;
  padding: 0 10px;
}
.store .txt-box {
  margin: 0 20px 0 10px;
}
.store .txt-box h3 {
  font-size: 1.8rem;
}
.store .txt-box h3::after {
  width: 125px;
  bottom: -7px;
}
.store .txt-box p {
  margin: 20px auto 10px 10px;
}
.store dl {
  margin-left: 10px;
}
.store dt {
  width: 89px;
  height: 29px;
  padding-top: 2px;
}
.store dd {
  margin-left: 17px;
  letter-spacing: 0;
}
.store dd a {
  padding-top: 4px;
  display: block;
  font-size: 1.3rem;
}
.store .insta img {
  width: 29.6%;
  height: 102px;
  object-fit: cover;
  max-width: auto;
}
.store .insta {
  margin: 10px 0 0 10px;
}
.store .insta.second{
  margin: 10px 0 0 auto;
  text-align: right;
}
.store .insta.second img {
  padding: 0 0 0 8px;
}


/**********************************
  当店のおすすめ
**********************************/
.recommend {
  margin-top: 140px;
}
.recommend::after {
  height: 52px;
  left: auto;
  right: 10px;
  top: -64px;
  margin-top: 0;
}

.recommend .slide-box {
  width: 100%;
  margin: 40px 0 0 0;
  padding: 0 10px;
}
.recommend .mySwiper3 {
    width: 100%;
}
.recommend ul h3 {
  font-size: 1.4rem;
  margin-right: 5px;
  width: 160px;
}
.recommend ul h4 {
  font-size: 1rem;
  padding: 0 4px;
  min-width: 30px;
  max-width: 60px;
  min-height: 10px;
  letter-spacing: 0;
}
.recommend ul li p {
  margin-bottom: 13px;
  font-size: 1.2rem;
}
  

/**********************************
  郵送or店頭受取から商品を選ぶ
**********************************/
.category {
  height: 685px;
  margin-top: 140px;
}
.category.details-2 {
  height: 494px;
  margin-top: 140px;
}

.category .container {
  height: 440px;
  width: 100%;
}
.category.details-2 .container {
  height: 250px;
  width: 100%;
}
.category::after {
  top: 30px;
  margin-top: 0;
}
.category::after {
  height: 52px;
  right: 10px;
  top: -64px;
  left: auto;
}
.bgLR {
  top: 0;
  width: 100%;
}
.bgRL {
  top:auto;
  bottom: 0;
  width: 100%;
}
.category .container h3 {
  font-size: 2rem;
  margin-bottom: 17px;
  font-weight: bold;
} 
.category .container p {
  margin-bottom: 13px;
  font-size: 1.2rem;
  font-weight: 500;
}
.category .btn-pseudo {
  width: 132px;
  height: 30px;
  padding-top: 16px;
  font-size: 1.3rem;
  font-weight: bold;
}
.bgLR span.mask::before {
  display: none;
}
.bgRL span.mask::before {
  display: none;
}

.bgLR span.cap {
  left: 10px;
  transform: translate(0,-20%);
}  
.bgRL span.cap {
  top: 75%;
  left: auto;
  right: 10px;
  transform: translate(0,-75%);
  width: 100%;
}  
.details-2 .bgRL {
  left: 0;
  transform: translateX(-0%);
  width: 100%;
}


/**********************************
  メッセージ
**********************************/
.message {
  margin: 140px auto 60px;
}
.message::after {
  top: 30px;
  margin-top: 0;
}
.message::after {
  height: 52px;
  left: auto;
  right: 10px;
  top: -64px;
}
.message .message-box {
  margin: 44px auto 0;
}
.message .message-box dl {
  margin-bottom: 20px;
  padding: 0 10px;
}
.message .message-box dt {
  font-size: 1.8rem;
  letter-spacing: 0;
}
.message .message-box dd h3 {
  font-size: 1.6rem;
  letter-spacing: 0;
}

.message .message-box::after {
  top: auto;
  bottom: -18px;
  height: 261px;
  right: 0;
  width: 100%;
  background-size: 70%;
}



}