@charset "UTF-8";

/* ==========================================================
 common
========================================================== */
.wrapper .container a:hover {
  opacity: 1;
}

.areaTop .mainVisual .mainVisualInner .mainVisualTxt {
  top: 75px;
}

.mainVisual {
  background-color: #e7cf7b;
  margin-bottom: 50px;
}
.mainVisual .mainVisualInner {
  background: url(/plaza/kansai-spafes/img/main_bg.jpg) repeat center center;
}

.mainVisual .mainVisualInner img {
  width: 100%;
}

.contents .contentsInner .shopBtn a {
  position: relative;
  display: block;
  width: 350px;
  padding: 11px 0 9px 0;
  margin: 0 auto 58px;
  text-align: center;
  font-size: 16px;
  border-radius: 6px;
  border: 2px solid #654d00;
  color: #654d00;
  background-color: #fff;
}

.contents .contentsInner .shopBtn a::before {
  position: absolute;
  top: 9px;
  left: 90px;
  font-size: 1.8rem;
  content: "\e907";
  color: #654d00;
}

.contents .contentsInner .shopBtn a:hover {
  opacity: 0.65;
}


/* ==========================================================
 videoBlock PC
========================================================== */
.contents .contentsInner .videoBlock {
  margin-bottom: 46px;
}

.contents .contentsInner .videoBlock h2 {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  min-height: 82px;
  padding: 0 30px;
  margin-bottom: 30px;
  font-size: 24px;
  font-weight: bold;
  text-align: center;
  line-height: 1.2;
  background-color: #f9f4d7;
  color: #000;
}

.contents .contentsInner .videoBlock h2 span {
  display: inline-block;
  width: 47%;
}
.contents .contentsInner .videoBlock h2 span.yellow {
  color: #c7a541;
  width: 6%;
}

.contents .contentsInner .videoBlock ul  {
  overflow: hidden;
}

.contents .contentsInner .videoBlock ul  .box-list-3n {
  float: left;
  width: 49.45%;
  padding-bottom: 7px;
  margin-bottom: 24px;
  background-color: #8c1a37;
  border: 1px solid #8c1a37;
  box-sizing: border-box;
}

.contents .contentsInner .videoBlock ul  .box-list-3n:nth-of-type(even) {
  margin-left: 10px;
}

.contents .contentsInner .videoBlock ul  .box-list-3n .box-txt {
  height: 62px;
  padding-left: 14px;
  text-align: left;
  color: #fff;
}

.contents .contentsInner .videoBlock ul  .box-list-3n .box-txt p {
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 62px;
  text-decoration: none;
  margin-bottom: 0px;
}

 .contents .contentsInner .videoBlock ul  .box-list-3n .movie,
 .contents .contentsInner .videoBlock ul  .box-list-3n .img {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}

 .contents .contentsInner .videoBlock ul  .box-list-3n .movie .video-js {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

/* ==========================================================
 shopBlock PC
========================================================== */
.contents .contentsInner .shopBlock h2 {
  padding: 14px 0 12px;
  margin-bottom: 30px;
  font-size: 22px;
  font-weight: bold;
  text-align: center;
  background-color: #fff;
  color: #8c1a37;
  border: 5px solid #8c1a37;
  box-sizing: border-box;
}

.contents .contentsInner .shopBlock ul  {
  display: flex;
  flex-wrap: nowrap;
}

.contents .contentsInner .shopBlock ul .box-list-3n {
  width: 49.45%;
  padding-bottom: 30px;
  margin-bottom: 30px;
  background-color: #f9f4d7;
  box-sizing: border-box;
}

.contents .contentsInner .shopBlock ul .box-list-3n:nth-of-type(even) {
  margin-left: 10px;
}

.contents .contentsInner .shopBlock ul .box-list-3n .box-txt {
  padding: 38px 20px 0;
  font-size: 24px;
  line-height: 1.3;
  text-align: center;
  color: #8c1a37;
}

.contents .contentsInner .shopBlock ul .box-list-3n .box-txt p.name {
  margin-bottom: 18px;
	font-weight: bold;
}

.contents .contentsInner .shopBlock ul .box-list-3n .box-txt p.price {
  font-size: 32px;
  font-weight: bold;
}

.contents .contentsInner .shopBlock ul .box-list-3n .box-txt p span {
  font-size: 16px;
}

.contents .contentsInner .shopBlock ul .box-list-3n img {
  width: 100%;
}

.contents .contentsInner .shopBlock ul .box-list-3n .shopTxt {
  min-height: 255px;
  padding-left: 20px;
  margin: 20px 0 24px 0;
  font-size: 14px;
  color: #8c1a37;
}

.contents .contentsInner .shopBlock ul .box-list-3n .shopTxt ol {
  list-style: decimal;
  padding: 0 17px 0 30px;
}

.contents .contentsInner .shopBlock ul .box-list-3n .shopTxt ol li {
  padding: 15px 0 5px;
  line-height: 1.8;
}

.contents .contentsInner .shopBlock ul .box-list-3n .detailBtn {
  position: relative;
}

.contents .contentsInner .shopBlock ul .box-list-3n .detailBtn a {
  display: block;
  padding: 28px 0 26px 0;
  margin: 0 12px;
  text-align: center;
  font-size: 24px;
  border-radius: 6px;
  color: #fff;
  background-color: #8c1a37;
}

.contents .contentsInner .shopBlock ul .box-list-3n .detailBtn a::after {
  position: absolute;
  top: 28px;
  right: 40px;
  font-size: 2rem;
  content: "\e905";
}

.contents .contentsInner .shopBlock ul .box-list-3n .detailBtn a:hover,
.contents .contentsInner .shopBlock .banners a:hover {
  opacity: 0.8;
}

.contents .contentsInner .shopBlock .banners img {
  width: 100%;
}


@media screen and (max-width: 768px) {
  .areaTop .mainVisual {
    height: auto;
  }

  .areaTop .mainVisual .mainVisualInner {
    padding: 0;
  }

  .areaTop .mainVisual .mainVisualInner .mainVisualTxt {
    position: static;
    top: 0;
    width: 100%;
    padding-left: 0;
  }

  .mainVisual {
    margin-bottom: 7.46vw;
  }
  .mainVisual .mainVisualInner {
    background: url(/plaza/kansai-spafes/img/main_bg_sp.jpg) no-repeat center top;
    background-size: contain;
  }

  .contents .contentsInner .shopBtn a {
    width: 100%;
    padding: 3.73vw 0 3.47vw 0;
    margin-bottom: 6.4vw;
    font-size: 3.73vw;
  }

  .contents .contentsInner .shopBtn a::before {
    top: 3.45vw;
    left: 24vw;
    font-size: 3.9vw;
  }


/* ==========================================================
 videoBlock SP
========================================================== */
  .contents .contentsInner .videoBlock {
    margin-bottom: 3.73vw;
  }

  .contents .contentsInner .videoBlock h2 {
    flex-wrap: wrap;
    min-height: auto;
    padding: 4.27vw 2.67vw;
    margin-bottom: 5.33vw;
    font-size: 5.87vw;
    line-height: 1.3;
  }

  .contents .contentsInner .videoBlock h2 span {
    display: block;
    width: 100%;
  }
  .contents .contentsInner .videoBlock h2 span.yellow {
    width:100%;
  }

  .contents .contentsInner .videoBlock ul .box-list-3n {
    margin-bottom: 8vw;
    width: 100%;
    float: none;
  }

  .contents .contentsInner .videoBlock ul .box-list-3n:nth-of-type(even) {
    margin-left: 0;
  }

  .contents .contentsInner .videoBlock ul .box-list-3n .box-txt {
    height: 10.67vw;
    text-align: left;
    padding: 0 3.73vw;
  }

  .contents .contentsInner .videoBlock ul .box-list-3n .box-txt p {
    font-size: 4.8vw;
    line-height: 10.67vw;
  }

/* ==========================================================
 shopBlock SP
========================================================== */
.contents .contentsInner .shopBlock h2 {
  padding: 4.26vw 3vw 4vw;
  margin-bottom: 10.1vw;
  font-size: 5.87vw;
  line-height: 1.3;
  background-color: #fff;
  color: #8c1a37;
  border: 2px solid #8c1a37;
}

.contents .contentsInner .shopBlock ul  {
  flex-wrap: wrap;
}

.contents .contentsInner .shopBlock ul .box-list-3n {
  width: 100%;
  padding-bottom: 5.33vw;
  margin-bottom: 5.33vw;
  background-color: #f9f4d7;
}

.contents .contentsInner .shopBlock ul .box-list-3n:nth-of-type(even) {
  margin-left: 0;
  margin-bottom: 10.1vw;
}

.contents .contentsInner .shopBlock ul .box-list-3n .box-txt {
  padding: 6.67vw 2.67vw 0;
  margin-bottom: 1.35vw;
  font-size: 4.8vw;
  line-height: 1.3;
  color: #8c1a37;
}

.contents .contentsInner .shopBlock ul .box-list-3n .box-txt p.name {
  margin-bottom: 5.33vw;
}

.contents .contentsInner .shopBlock ul .box-list-3n .box-txt p.price {
  font-size: 5.87vw;
}

.contents .contentsInner .shopBlock ul .box-list-3n .box-txt p span {
  font-size: 3.2vw;
}

.contents .contentsInner .shopBlock ul .box-list-3n .shopTxt {
  min-height: auto;
  padding-left: 6.1vw;
  margin: 9.33vw 0 3.2vw;
  font-size: 3.73vw;
}

.contents .contentsInner .shopBlock ul .box-list-3n .shopTxt ol {
  padding: 0 7.47vw 0 5.86vw;
}

.contents .contentsInner .shopBlock ul .box-list-3n .shopTxt ol li {
  padding: 1.33vw 0 5.33vw;
  line-height: 1.5;
}

.contents .contentsInner .shopBlock ul .box-list-3n .detailBtn a {
  padding: 6.67vw 0;
  margin: 0 4vw;
  font-size: 6.4vw;
}

.contents .contentsInner .shopBlock ul .box-list-3n .detailBtn a::after {
  top: 7.25vw;
  right: 8.85vw;
  font-size: 4.8vw;
}

.contents .contentsInner .shopBlock .banners {
  margin-bottom: 12.1vw;
}

}

/* ==========================================================
 video-js
========================================================== */
.video-js {
  pointer-events: none;
}

div.vjs-poster-image {
  height:100%;
  background-image:url('../img/btn_play.png');
  background-repeat:no-repeat;
  background-position: center center;
  pointer-events: auto;
}
div.vjs-poster-image:hover {
  height:100%;
  background-image:url('../img/btn_play_hover.png');
  background-repeat:no-repeat;
  background-position: center center;
}
