@charset "utf-8";

/*============================
イントロ
============================*/
.intro {
  height: 5.00rem;
}
@media screen and (max-width: 640px) {
  .intro {
    height: auto;
    padding: 1.50rem 0 0.40rem;
    position: relative;
  }
  .intro::after {
    content: "";
    width: 100%;
    height: 1.80rem;
    background: linear-gradient(to bottom, rgba(0,0,0,0) 0%,rgba(0,0,0,1) 100%);
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 0;
  }
}

/* 店舗画像 */
.intro.-honten {
  background-image: url(../images/store/honten_intro_ph.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
.intro.-minami5jo {
  background-image: url(../images/store/minami5jo_intro_ph.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.intro .in {
  max-width: 9.80rem;
  height: 100%;
  position: relative;
  z-index: 1;
}

.intro .in .txt_box {
  width: 100%;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  color: #FFF;
}
@media screen and (max-width: 640px) {
  .intro .in .txt_box {
    position: relative;
    top: auto;
    left: auto;
    transform: translateY(0);
  }
}

.intro .in .txt_box .tit {
  font-size: 0.31rem;
  letter-spacing: 0.10em;
  line-height: 1.35;
}
@media screen and (max-width: 640px) {
  .intro .in .txt_box .tit {
    font-size: 0.22rem;
    line-height: 1.5;
  }
}

.intro .in .txt_box .txt {
  font-size: 0.18rem;
  letter-spacing: 0.10em;
  line-height: 1.55;
}
@media screen and (max-width: 640px) {
  .intro .in .txt_box .txt {
    font-size: 0.14rem;
  }
}

.intro .in .txt_box .tit + .txt {
  padding-top: 0.20rem;
}

/*============================
店舗コンテンツ
============================*/
/* 2カラムボックス */
.cont_wrap .col_box {
  position: relative;
  height: 5.00rem;
}
@media screen and (max-width: 640px) {
  .cont_wrap .col_box {
    height: auto;
  }
}

.cont_wrap .col_box .ph_wrap {
  width: 50%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (max-width: 640px) {
  .cont_wrap .col_box .ph_wrap {
    width: 100%;
    height: 66vw;
    position: relative;
  }
}

.cont_wrap .col_box:nth-of-type(2n) .ph_wrap {
  left: auto;
  right: 0;
}

.cont_wrap .col_box .ph_wrap img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cont_wrap .col_box .in {
  max-width: 9.80rem;
  height: 100%;
}

.cont_wrap .col_box .in .txt_box {
  width: 100%;
  max-width: 3.90rem;
  position: absolute;
  top: 50%;
  right: 0.40rem;
  transform: translateY(-50%);
  color: #FFF;
}
@media screen and (max-width: 640px) {
  .cont_wrap .col_box .in .txt_box {
    max-width: 100%;
    position: relative;
    top: auto;
    right: auto;
    transform: translateY(0);
    box-sizing: border-box;
    padding: 0.25rem 0 0.35rem;
  }
}

.cont_wrap .col_box:nth-of-type(2n) .in .txt_box {
  left: 0.40rem;
  right: auto;
}
@media screen and (max-width: 640px) {
  .cont_wrap .col_box:nth-of-type(2n) .in .txt_box {
    left: auto;
  }
}

.cont_wrap .col_box .in .txt_box .tit {
  font-size: 0.31rem;
  letter-spacing: 0.10em;
  line-height: 1.35;
}
@media screen and (max-width: 640px) {
  .cont_wrap .col_box .in .txt_box .tit {
    font-size: 0.22rem;
    line-height: 1.5;
  }
}

.cont_wrap .col_box .in .txt_box .txt {
  font-size: 0.16rem;
  letter-spacing: 0.10em;
  line-height: 1.5;
}
@media screen and (max-width: 640px) {
  .cont_wrap .col_box .in .txt_box .txt {
    font-size: 0.14rem;
  }
}

.cont_wrap .col_box .in .txt_box .tit + .txt {
  padding-top: 0.20rem;
}
@media screen and (max-width: 640px) {
  .cont_wrap .col_box .in .txt_box .tit + .txt {
    padding-top: 0.10rem;
  }
}

/* メニューへのリンク */
.cont_wrap .menu_link {
  padding: 0.80rem 0;
}
@media screen and (max-width: 640px) {
  .cont_wrap .menu_link {
    padding: 0.35rem 0;
  }
}

.cont_wrap .menu_link .in {
  max-width: 9.80rem;
}

.cont_wrap .menu_link .in .btn a {
  display: block;
  background-color: #641417;
  padding: 0.70rem 0.90rem;
  color: #FFF;
}
@media screen and (max-width: 640px) {
  .cont_wrap .menu_link .in .btn a {
    padding: 0.20rem;
  }
}

.cont_wrap .menu_link .in .btn a::after {
  content: "";
	width: 0.30rem;
	height: 0.60rem;
	background-image: url(../images/common/icon_link_arrow_large.svg);
	background-position: right center;
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	top: 50%;
	right: 0.80rem;
	transform: translateY(-50%);
	z-index: 1;
	transition: all 0.3s;
}
@media screen and (max-width: 640px) {
  .cont_wrap .menu_link .in .btn a::after {
    width: 0.20rem;
    height: 0.30rem;
    background-image: url(../images/common/icon_link_arrow_large_sp.svg);
    right: 0.40rem;
  }
}

.cont_wrap .menu_link .in .btn a:hover {
  opacity: 0.7;
}

.cont_wrap .menu_link .in .btn a:hover::after {
  right: 0.70rem;
}
@media screen and (max-width: 640px) {
  .cont_wrap .menu_link .in .btn a:hover::after {
    right: 0.40rem;
  }
}

.cont_wrap .menu_link .in .btn a .txt_box .en_txt {
  font-family: "Roboto", serif;
  font-size: 0.16rem;
  letter-spacing: 0.08em;
  display: block;
  padding-bottom: 0.10rem;
}
@media screen and (max-width: 640px) {
  .cont_wrap .menu_link .in .btn a .txt_box .en_txt {
    font-size: 0.12rem;
  }
}

.cont_wrap .menu_link .in .btn a .txt_box .tit {
  font-size: 0.34rem;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 640px) {
  .cont_wrap .menu_link .in .btn a .txt_box .tit {
    font-size: 0.24rem;
  }
}

/* フォトギャラリー */
.cont_wrap .gallery_wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 0.05rem;
}
@media screen and (max-width: 640px) {
  .cont_wrap .gallery_wrap {
    gap: 0.02rem;
  }
}

.cont_wrap .gallery_wrap .ph {
  width: calc(25% - 0.038rem);
  height: 20.83vw;
  overflow: hidden;
}
@media screen and (max-width: 640px) {
  .cont_wrap .gallery_wrap .ph {
    width: calc(50% - 0.01rem);
    height: 49.03vw;
  }
}

.cont_wrap .gallery_wrap .ph img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/*============================
アクセス
============================*/
.access {
  padding-top: 0.50rem;
}

.access .in {
  max-width: 9.80rem;
}

.access .in .access_box {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.access .in .access_box .shop_ph {
  width: 100%;
  max-width: 5.40rem;
}
@media screen and (max-width: 640px) {
  .access .in .access_box .shop_ph {
    max-width: 100%;
    height: 2.25rem;
  }
}

.access .in .access_box .shop_ph img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.access .in .access_box .txt_box {
  width: 100%;
  max-width: 3.10rem;
}
@media screen and (max-width: 640px) {
  .access .in .access_box .txt_box {
    max-width: 100%;
    padding: 0.30rem 0 0.50rem;
  }
}

.access .in .access_box .txt_box .shop_name {
  padding-bottom: 0.30rem;
}
@media screen and (max-width: 640px) {
  .access .in .access_box .txt_box .shop_name {
    padding-bottom: 0.15rem;
  }
}

.access .in .access_box .txt_box .shop_name span {
  font-size: 0.14rem;
  letter-spacing: 0.06em;
  display: block;
  padding-bottom: 0.05rem;
}

.access .in .access_box .txt_box .shop_name .tit {
  font-size: 0.28rem;
  letter-spacing: 0;
  line-height: 1.28;
}
@media screen and (max-width: 640px) {
  .access .in .access_box .txt_box .shop_name .tit {
    font-size: 0.21rem;
    line-height: 1.5;
  }
}

.access .in .access_box .txt_box .info_wrap {
  padding-bottom: 0.10rem;
}

.access .in .access_box .txt_box .info_wrap .info {
  display: flex;
  font-size: 0.14rem;
  letter-spacing: 0;
  line-height: 1.28;
}

.access .in .access_box .txt_box .info_wrap .info .info_tit {
  padding-right: 0.12rem;
}

.access .in .access_box .txt_box .info_wrap .info .txt::before {
  content: "／";
  display: inline-block;
  padding-right: 0.03rem;
}

.access .in .access_box .txt_box .address {
  font-size: 0.14rem;
  letter-spacing: 0;
  line-height: 1.28;
  padding-bottom: 0;
}

.access .in .access_box .txt_box .map_link {
  font-size: 0.125rem;
  letter-spacing: 0;
  line-height: 1.28;
  padding-bottom: 0.25rem;
}

.access .in .access_box .txt_box .map_link a {
  color: #333;
  font-family: "Roboto", serif;
}

.access .in .access_box .txt_box .map_link a::before {
  content: "";
  width: 0.16rem;
  height: 0.20rem;
  background-image: url(../images/common/icon_map_link.svg);
  background-position: left center;
  background-repeat: no-repeat;
  background-size: contain;
  display: inline-block;
  position: relative;
  top: 0.07rem;
}

.access .in .access_box .txt_box .map_link a span {
  border-bottom: 1px solid #333;
}

.access .in .access_box .txt_box .map_link a:hover span {
  border-bottom: 0;
}

.access .in .access_box .txt_box .tel_num {
  font-family: "Roboto", serif;
  font-size: 0.24rem;
  letter-spacing: 0;
  padding-bottom: 0.45rem;
}
@media screen and (max-width: 640px) {
  .access .in .access_box .txt_box .tel_num {
    padding-bottom: 0.20rem;
  }
}

.access .in .access_box .txt_box .tel_num a {
  color: #333;
}

.access .in .access_box .txt_box .btn a {
  display: inline-block;
  color: #FFF;
  background-color: #641417;
  font-size: 0.14rem;
  padding: 0.12rem 0.16rem;
  border-radius: 0.50rem;
  border: 1px solid #641417;
}

.access .in .access_box .txt_box .btn a:hover {
  background-color: #FFF;
  color: #641417;
}