@charset "utf-8";

:root{
  --orange: #c34e3c;
  --center_contain: no-repeat center center / contain;
}

.nosp {
  display: none;
}
main * {
  box-sizing: border-box;
  font-family: 'Noto Serif JP', serif;
  font-weight: 400;
}

.title-wrapper{
  width: 100%;
}
.nav-wrapper{
  width: 100%;
  background: #000;
}
.nav-list{
  width: 100%;
  margin: auto;
  display: flex;
  justify-content: space-between;
}
.nav-list>li{
  width: 50%;
}
.nav-list>li:first-child{
  border-right: 1px solid #FFF;
}
.nav-list>li>a{
  display: block;
  padding: calc(10vw / 7.5) 0 calc(30vw / 7.5);
  font-size: calc(26vw / 7.5);
  font-weight: 500;
  color: #FFF;
  text-align: center;
  position: relative
}
.nav-list>li>a::after{
  content: "";
  background: url("../img/navi_arrow.png") var(--center_contain);
  width: calc(20vw / 7.5);
  height: calc(14vw / 7.5);
  position: absolute;
  right: 0;
  bottom: calc(10vw / 7.5);
  left: 0;
  margin: auto;
}
.nav-list>li>a:hover{
  background: var(--orange);
}

.content-wrapper{
  padding: calc(80vw / 7.5) 0;
  background: url("../img/bg2.png") repeat
}
.content-wrapper.matsuri{
  background: url("../img/bg1.png") repeat
}
.inner{
  width: 94vw;
  margin: auto;
}
.head-title{
  font-size: calc(60vw / 7.5);
  font-weight: 500;
  text-align: center;
  margin-bottom: calc(20vw / 7.5);
}
.content-box{
  margin-bottom: calc(50vw / 7.5);
}
.more-link+.content-box{
  margin-top: calc(100vw / 7.5)
}

.right-box{
  margin-top: calc(10vw / 7.5);
}
.item-photo>li,
p.item-photo{
  position: relative;
}
.sub-title{
  font-size: calc(40vw / 7.5);
  font-weight: 500;
}
.sub-title>small{
  font-size: calc(22vw / 7.5);
  font-weight: 400;
}
.body-copy{
  font-size: calc(28vw / 7.5);
  font-weight: 500;
  color: var(--orange);
  margin-bottom: 5px;
}
.item-txt{
  font-size: calc(24vw / 7.5);
}
.item-data{
  margin-top: calc(20vw / 7.5);
}
.item-data>li{
  font-size: calc(24vw / 7.5);
  padding-left: 5em;
  position: relative
}
.item-data>li+li{
  margin-top: calc(10vw / 7.5);
}
.item-data>li::before {
  background: #000;
  color: #FFF;
  width: 4em;
  padding: 0 calc(6vw / 7.5);
  text-align:justify;
  text-align-last:justify;
  position: absolute;
  top: 0;
  left: 0;
}
.item-data>li.item-data__day::before{
  content: "開催日"
}
.item-data>li.item-data__place::before {
  content: "開催場所";
}
.ph-caption{
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  padding: calc(6vw / 7.5);
  background: rgba(0 0 0 / 80%);
  font-size: calc(22vw / 7.5);
  color: #FFF;
}
.content-clm3{
  margin-top: calc(100vw / 7.5)
}
.content-clm3>li+li{
  margin: calc(50vw / 7.5) auto;
}
.content-clm3>li .item-photo{
  width: 100%;
  height: calc(400vw / 7.5);
  margin-bottom: calc(10vw / 7.5);
}
.content-clm3>li .item-photo>img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center
}

.tour-sub-title{
  position: relative;
  text-align: center;
  font-size: calc(32vw / 7.5);
  font-weight: 500;
  margin-bottom: calc(20vw / 7.5);
}
.tour-sub-title>span{
  color: var(--orange);
  display: block;
  line-height: 1.2
}
.tour-sub-title>span::after{
  content: "おすすめツアー";
  display: block;
  color: #000;
}
.tour-sub-title::before,
.tour-sub-title::after{
  content: "";
  display: inline-block;
  width: 20vw;
  height: calc(2vw / 7.5);
  position: absolute;
  top: 50%;
  background-color: var(--orange)
}
.tour-sub-title::before{
  left: 0;
}
.tour-sub-title::after{
  right: 0;
}
.product-list>li * {
  font-family: "メイリオ", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "Meiryo", sans-serif
}
.more-link{
  margin: calc(20vw / 7.5) auto 0;
}
.more-link>p{
  width: 90vw;
  margin: auto;
}
.more-link>p+p{
  margin-top: calc(20vw / 7.5)
}
.more-link>p:empty{
  display: none
}
.more-link>p>a{
  display: block;
  background: #000;
  font-size: calc(26vw / 7.5);
  font-weight: 500;
  color: #FFF;
  text-align: center;
  padding: calc(16vw / 7.5);
  position: relative;
}
.more-link>p>a::after{
  content: "";
  background: url("../img/btn_arrow.png") var(--center_contain);
  width: calc(14vw / 7.5);
  height: calc(21vw / 7.5);
  position: absolute;
  top: 0;
  right: 2%;
  bottom: 0;
  margin: auto;
}
.more-link>p>a:hover{
  background: var(--orange);
}

.movie__container {
    background-color: #000;
}
.movie__box {
    text-align: center;
}



