@charset "utf-8";

/* 基本設定 */
article {
  font-size: 14px;
  color: #333;
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
}

/* Bootstrapのガター幅を調整するための汎用CSS */
.row-0{ margin-left:0px;  margin-right:0px;}
.row-0 >div{ padding-right:0px;  padding-left:0px;}
.row-10{ margin-left:-5px;  margin-right:-5px;}
.row-10 >div{ padding-right:5px;  padding-left:5px;}
.row-20{ margin-left:-10px;  margin-right:-10px;}
.row-20 >div{ padding-right:10px;  padding-left:10px;}
.row-30{ margin-left:-15px;  margin-right:-15px}
.row-30 >div{ padding-right:15px;  padding-left:15px;}
.row-40{ margin-left:-20px;  margin-right:-20px}
.row-40 >div{ padding-right:20px;  padding-left:20px;}
.row-50{ margin-left:-25px;  margin-right:-25px;}
.row-50 >div{ padding-right:25px;  padding-left:25px;}

#js-gallery a,#js-gallery2 a {
  position: static;
  left: 180px;
}

/* 共通 */

a:hover {
  text-decoration: none;
  filter: alpha(opacity=50);
  -moz-opacity: 0.5;
  opacity: 0.5;
  transition-property: all;
  transition: 0.3s linear;
}

a img:hover {
  background-color: #FFF;
  filter: alpha(opacity=50);
  -moz-opacity: 0.5;
  opacity: 0.5;
  transition-property: all;
  transition: 0.3s linear;
}

.btn.focus, .btn:focus, .btn:hover {
  color: #fff;
}

#newsflash-campaign {
  display: none;
}

.sticky-top {
  z-index: 20;
}

/* トリミングしたいサイズで枠を作る */
.thumb {
  width: 35%;
  padding-top: 35%;
  position: relative;
  overflow: hidden;
  float: left;
}

/* 横幅に合わせてトリミング */
.thumb img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: auto;
  height: 100%;
}


/* メインビジュアル */

#main-img .title-main img {
  margin: 0 auto;
  width: 100%;
} 

@media (min-width: 768px){
  #main-img {
    position: relative; max-height: 550px;
  }
  
  #main-img .title-main {
    position: absolute; top: 50%; left: 50%; height: 100%;transform: translate(-50%, -50%);
  }
  
  #main-img .title-main img {
    margin: 0 auto;height: 100%;width: auto;    
  }
  
	#main-img .bg-main { 
    margin: 0 auto; width: 100%;max-height: 550px;object-fit: cover;
  }
  
}

@media (min-width: 1365px){
  #main-img .bg-main {
    max-width:1362px;
    margin: 0 auto;
    width: auto;
  }
}


#introduction h2, #copy h2{
  font-size: 30px;
  color: #333;
  margin-bottom: 60px;
  position: relative;
  font-weight: bold;
}
#introduction h2::after, #copy h2::after {
  content: "";
  position: absolute;
  background: url("/static/img/activity/kochi/shimanto/tit_icon.png") no-repeat center center;
  background-size: contain;
  width: 260px;
  height: 16px;
  transform: translate(-50%, 0);
  top: 45px;
  left: 50%;
}
#introduction {
  margin: 120px 0 0;
  text-align: center;
}
#introduction h3 {
  color: #000;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.3;
  margin: 5px;
  text-align: left;
}
#introduction .introduction-txt {
  text-align: left;
  font-size: 14px;
  margin: 5px;
}

/* 予約カセット */
#pickup {
  margin: 80px 0;
  text-align: center;
}

#pickup .title-wrap img {
  margin: 0 auto;
}

#pickup .title-wrap {
  margin:0 auto 50px auto;
  position: relative;
}

#pickup .itembox02 h3 {
  color: #000;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.3;
  margin-bottom: 5px;
}

#pickup .itembox02 h3 a {
  color: #000;
}

#pickup .itembox02{
  border:1px solid #ccc;
  margin-bottom:20px;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  background:#fff;
  overflow:hidden;
  padding: 15px;
}

#pickup .itembox02 img {
  width: 100%;
}

#pickup .itembox02 .itembox-body{
  padding:10px;
  text-align: left;
}

#pickup .itembox02 .itembox-book{
  padding: 0 10px 10px 10px;
  text-align: left;
}

#pickup .itembox02 .example-txt {
  font-size: 14px;
  padding-right: 3px;
  color: #000;
  margin: 5px 0 10px;
}

.num {
  font-size: 16px;
  font-weight: bold;
  color:#f53c7f;
  display: inline;
}

.yen{
  font-size: 12px;
  font-weight: bold;
  color: #f53c7f;
  display: inline;
  padding-right: 3px;
}

@media(max-width: 767px) {
	#introduction h2, #copy h2{
		font-size: 22px;
    margin-bottom: 40px;
	}
  #introduction h2::after, #copy h2::after {
    width: 190px;
    top: 60px;
  }
  #introduction {
    margin: 60px 0 30px;
  }
  

  #introduction .introduction-txt {
    text-align: left;
    font-size: 14px;
    margin: 5px;
  }
  #pickup{
    margin-top: 0;
  }
  #pickup .itembox02 {
    margin-bottom: 15px;
  }

  #pickup .itembox02 h3{
    font-size:14px;
    margin-top:0;
  }
  .num {
      font-size:18px;
  }
}

.price-text-wrap {
  display: inline-block;
  width: 100%;
  white-space: nowrap;
}

#top .price-text-wrap {
  display: inline;
  margin-right: 10px;
  white-space: nowrap;
}

#top .price-text-wrap:lastlastchild {
  margin-right: 0px;
}


.spots a {
   color: #333;
}


footer {
    clear: both;
}

.tag {
  padding: 2px 5px;
  color: #333;
  background: #dedfe0;
  border: none;
  border-radius: 2px;
  font-size:10px;
  display: inline-block;
  margin-right: 5px;
  margin-bottom: 5px;
}

.tag:hover {
  color: #333;
}

.data-wrap {
  color: #333;
  display: inline-block;
  font-size: 12px;
}

.data-wrap li{
  float: left;
  margin-right: 10px;
}

.data-wrap li:last-child{
  margin-right: 0px;
}
.data-wrap li.schedule {
  background: url(/static/img/activity/common/icon_calendar.png) no-repeat;
  padding-left: 17px;
  background-position: top left;
}
.data-wrap li.times {
  background: url(/static/img/activity/common/ico-times.png) no-repeat;
  padding-left: 17px;
  background-position: top left;
}

.data-wrap li.spots {
  background: url(/static/img/activity/common/ico-spots.png) no-repeat;
  padding-left: 17px;
  background-position: top left;
}

.tag-wrap {
  clear: both;
}

i {
  font-style:normal;
  font-size: 10px;
  margin-right: 5px;
  margin-bottom: 5px;
}

.wrap {
  width: 80px;
  margin: 0 auto;
}

a.btn-main {
  background: #3284e1;
  border-color: #3284e1;
  font-weight: bold;
  color: #fff;
  margin: 0 auto;
  padding: 10px 10px;
  width: 100%;
  display: block;
}

a.btn-main:after {
  content: "\f105";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  margin-left: 15px;
  color: #fff;
}


