.mainVisual{
  position: relative;
}
.mainVisual .inner{
  position: relative;
}
.mainVisual .btn_next,
.mainVisual .btn_prev{
  position: absolute;
  top: 0;
  display: block;
  width: 40px;
  height: 100%;
  cursor: pointer;
  z-index: 9999;
}
.mainVisual .btn_next{
  right: 0;
}
.mainVisual .btn_prev{
  left: 0;
}
.mainVisual .mvTxt{
  position: absolute;
  bottom: 7%;
  left: 3.5%;
  color: #fff;
}
.mainVisual .mvTxt h2{
  margin-bottom: 12px;
  font-size: 2.125em;
  line-height: 1.5;
}
.mainVisual .mvTxt p{
  width: 491px;
  line-height: 1.5;
  box-sizing: border-box;
}
.mainVisual .mvSlider .slick-dots{
  bottom: 10px !important;
}
.mainVisual .mvSlider .slick-dots li button:before{
  width: 16px;
  height: 16px;
  color: #8b8b8b !important;
  font-size: 44px !important;
}
.mainVisual .mvSlider .slick-dots li.slick-active button:before{
  color: #e4e4e4 !important;
}
.slick-dotted.slick-slider{
  margin-bottom: 0 !important;
}
@media screen and (max-width: 1163px) and (min-width: 768px) {
  .mainVisual .btn_next,
  .mainVisual .btn_prev{
    width: 3.44vw;
  }
  .mainVisual .mvTxt h2{
    margin-bottom: 1.03vw;
    font-size: 2.92vw;
  }
  .mainVisual .mvTxt p{
    width: 42.22vw;
  }
}
@media only screen and (max-width: 767px) {
  .mainVisual .btn_next,
  .mainVisual .btn_prev{
    width: 6.25vw;
  }
  .mainVisual .mvTxt{
    bottom: 10%;
    left: 8%;
  }
  .mainVisual .mvTxt h2{
    margin-bottom: 1.5vw;
    font-size: 5.31vw;
  }
  .mainVisual .mvTxt p{
    width: 100%;
  }
  .mainVisual .mvSlider .slick-dots li button:before{
    font-size: 12vw !important;
  }
  .mainVisual .mvSlider .slick-dots li{
    width: 2.50vw !important;
  }
}

.lineUp{
  position: relative;
}
.lineUp .inner{
  padding: 44px 0 30px;
  background: #e9e9e9;
}
.lineUp h2{
  color: #666;
  font-size: 2.875em;
  text-align: center;
  letter-spacing: 2px;
}
.lineUp .lineUpSlider{
  padding: 25px 50px;
  overflow: hidden;
}
.lineUp .lineUpSlider .slick-list{
  padding: 0 3.88%;
}
.lineUp .lineUpSlider li{
  position: relative;
  margin: 0 7.5px;
}
.lineUp .lineUpSlider li a{
  width: 318px;
  height: 256px;
  background: #fff;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  padding-left: 50px;
  box-sizing: border-box;
  transition: all .2s;
}
.lineUp .lineUpSlider li a:before,
.lineUp .lineUpSlider li a:after {
  position: absolute;
  z-index: 2;
  content: '';
  width: 0;
  height: 0;
  border: 2px solid transparent;
  box-sizing: content-box;
}
.lineUp .lineUpSlider li a:before {
  top: -4px;
  left: -2px;
}
.lineUp .lineUpSlider li a:after {
  bottom: -4px;
  right: -2px;
}
.lineUp .lineUpSlider li:hover a{
  color: #000;
}
.lineUp .lineUpSlider li:hover a:before,
.lineUp .lineUpSlider li:hover a:after {
  width: 100%;
  height: 100%;
}
.lineUp .lineUpSlider li:hover a:before {
  border-bottom-color: #000;
  border-left-color: #000;
  transition: height .3s, width .3s .3s;
}
.lineUp .lineUpSlider li:hover a:after {
  border-top-color: #000;
  border-right-color: #000;
  transition: height .3s, width .3s .3s;
}
.lineUp .lineUpSlider .slick-list::before{
  content: '';
	position: absolute;
	top: 0;
	left: -5px;
	width: 1px;
	height: 100%;
	box-shadow: 1px -5px 5px 14px #e9e9e9;
	z-index: 1;
}
.lineUp .lineUpSlider .slick-list::after{
	content: '';
	position: absolute;
	top: 0;
	right: -5px;
	width: 1px;
	height: 100%;
	box-shadow: 1px -5px 5px 14px #e9e9e9;
	z-index: 0;
}
.lineUp .lineUpSlider li .imgBlock{
  margin-right: 20px;
}
.lineUp .lineUpSlider li .txtBlock .txt01{
  margin-bottom: 7px;
  display: block;
  color: #754c24;
  font-size: 0.625em;
}
.lineUp .lineUpSlider li .txtBlock .txt02{
  display: block;
  width: 140px;
  color: #000;
  font-size: 1.188em;
  margin-bottom: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid #000;
  letter-spacing: -2px;
  line-height: 1.5;
}
.lineUp .lineUpSlider li .txtBlock .txt03{
  display: block;
  margin-bottom: 6px;
  color: #000;
  font-family: 'Hiragino Kaku Gothic Pro';
  font-size: 0.625em;
  letter-spacing: 0.3px;
}
.lineUp .lineUpSlider li .txtBlock .txt04{
  display: block;
  color: #000;
  font-family: 'Hiragino Kaku Gothic Pro';
  font-size: 0.750em;
  letter-spacing: 0.8px;
  line-height: 1.5;
}
.lineUp .lineUpBtn a{
  width: 171px;
  display: block;
  margin: 0 auto;
  padding: 14px 0;
  background: transparent;
  border: 1px solid #333;
  color: #333;
  text-align: center;
}
.lineUp .lineUpBtn a:hover{
  background: #333;
  color: #fff !important;
}
.lineUp .lineUpSlider .slick-arrow{
  cursor: pointer;
}
.lineUp .btn_prev{
  display: block;
  position: absolute;
  top: 50%;
  left: 6%;
  transform: translateY(-50%);
  cursor: pointer;
  z-index: 999;
}
.lineUp .btn_next{
  display: block;
  position: absolute;
  top: 50%;
  right: 6%;
  transform: translateY(-50%);
  cursor: pointer;
}
@media screen and (max-width: 1163px) and (min-width: 768px) {
  .lineUp .inner{
    padding: 3.78vw 0 2.58vw;
  }
  .lineUp h2{
    font-size: 3.96vw;
  }
  .lineUp .lineUpSlider{
    padding: 2.15vw 4.30vw;
  }
  .lineUp .lineUpSlider .slick-list{
    padding: 0 2.8vw;
  }
  .lineUp .lineUpSlider li{
    margin: 0 0.64vw;
  }
  .lineUp .lineUpSlider li a{
    width: 27.34vw;
    height: 22.01vw;
    padding-left: 4.30vw;
  }
  .lineUp .lineUpSlider li .imgBlock{
    width: 6.02vw;
    margin-right: 1.72vw;
  }
  .lineUp .lineUpSlider li .txtBlock .txt01{
    margin-bottom: 0.60vw;
    font-size: 0.86vw;
  }
  .lineUp .lineUpSlider li .txtBlock .txt02{
    width: 12.04vw;
    font-size: 1.63vw;
    margin-bottom: 0.86vw;
    padding-bottom: 0.86vw;
  }
  .lineUp .lineUpSlider li .txtBlock .txt03{
    margin-bottom: 0.52vw;
    font-size: 0.86vw;
  }
  .lineUp .lineUpSlider li .txtBlock .txt04{
    font-size: 1.03vw;
  }
  .lineUp .lineUpBtn a{
    width: 14.70vw;
    padding: 1.20vw 0;
  }
  .lineUp .btn_prev{
    left: 3vw;
  }
  .lineUp .btn_next{
    right: 3vw;
  }
}
@media screen and (max-width: 1024px) and (min-width: 768px) {
  .lineUp .lineUpSlider{
    padding: 2.15vw 4.90vw;
  }
  .lineUp .lineUpSlider li{
    position: unset;
  }
  .lineUp .lineUpSlider li a{
    transition: unset;
  }
  .lineUp .lineUpSlider li a:before,
  .lineUp .lineUpSlider li a:after {
    position: unset;
    z-index: 2;
    content: '';
    width: 0;
    height: 0;
    border: none;
    box-sizing: unset;
  }
  .lineUp .lineUpSlider li:hover a{
    color: unset;
  }
  .lineUp .lineUpSlider li:hover a:before,
  .lineUp .lineUpSlider li:hover a:after {
    width: auto;
    height: auto;
  }
  .lineUp .lineUpSlider li:hover a:before {
    border-bottom-color: none;
    border-left-color: none;
    transition: unset;
  }
  .lineUp .lineUpSlider li:hover a:after {
    border-top-color: none;
    border-right-color: none;
    transition: unset;
  }
}
@media only screen and (max-width: 767px) {
  .lineUp .inner{
    padding: 7.81vw 0;
  }
  .lineUp h2{
    font-size: 2.875em;
    letter-spacing: 4px;
  }
  .lineUp .lineUpSlider{
    padding: 4vw 10.5vw 8vw;
    overflow: hidden;
  }
  .lineUp .lineUpSlider .slick-list{
    padding: 0 2vw;
  }
  .lineUp .lineUpSlider li{
    margin: 0 1.88vw;
    position: unset;
  }
  .lineUp .lineUpSlider li a{
    width: 35.63vw;
    height: 44.16vw;
    flex-wrap: nowrap;
    padding-left: 1.56vw;
    transition: unset;
  }
  .lineUp .lineUpSlider li a:before,
  .lineUp .lineUpSlider li a:after {
    position: unset;
    z-index: 2;
    content: '';
    width: 0;
    height: 0;
    border: none;
    box-sizing: unset;
  }
  .lineUp .lineUpSlider li:hover a{
    color: unset;
  }
  .lineUp .lineUpSlider li:hover a:before,
  .lineUp .lineUpSlider li:hover a:after {
    width: auto;
    height: auto;
  }
  .lineUp .lineUpSlider li:hover a:before {
    border-bottom-color: none;
    border-left-color: none;
    transition: unset;
  }
  .lineUp .lineUpSlider li:hover a:after {
    border-top-color: none;
    border-right-color: none;
    transition: unset;
  }
  .lineUp .lineUpSlider .slick-list::before{
    display: none;
  }
  .lineUp .lineUpSlider .slick-list::after{
    display: none;
  }
  .lineUp .lineUpSlider li .imgBlock{
    margin-right: 1vw;
    width: 28%;
  }
  .lineUp .lineUpSlider li .txtBlock .txt01{
    margin-bottom: 1.5vw;
    font-size: 0.625em;
  }
  .lineUp .lineUpSlider li .txtBlock .txt02{
    width: 20.75vw;
    font-size: 1.188em;
    margin-bottom: 1.56vw;
    padding-bottom: 1.56vw;
    border-bottom: 1px solid #000;
    letter-spacing: -2px;
    line-height: 1.1;
  }
  .lineUp .lineUpSlider li .txtBlock .txt03{
    margin-bottom: 1vw;
    font-size: 0.625em;
    letter-spacing: 0.3px;
  }
  .lineUp .lineUpSlider li .txtBlock .txt04{
    font-size: 0.750em;
    letter-spacing: -0.2px;
  }
  .lineUp .lineUpBtn a{
    width: 55.63vw;
    padding: 2.036vw 0;
  }
  .lineUp .btn_prev{
    width: 1.4vw;
    left: 5%;
  }
  .lineUp .btn_next{
    width: 1.4vw;
    right: 5%;
  }
}

.movie{
  padding: 50px 0 195px;
}
.movie h2{
  margin-bottom: 75px;
  color: #666;
  font-size: 2.875em;
  text-align: center;
  letter-spacing: 4px;
  line-height: 1.2;
}
.movie .content{
  display: flex;
  flex-wrap: wrap;
  padding: 0 140px;
}
.movie .content div:nth-child(odd){
  margin-right: 68px;
}
.movie .content div{
  margin-bottom: 60px;
}
.movie .content div:nth-last-child(-n+2){
 margin-bottom: 0;
}
.movie .content .txtBlock,
.movie .content .movieBlock{
  width: 46%;
}
.movie .content .txtBlock{
  display: flex;
  align-items: center;
}
.movie .content .txtBlock p{
  width: 308px;
  margin: 0 auto;
  color: #000;
  line-height: 1.5;
}
.movie .content .movieBlock iframe{
  width: 410px;
  height: 230px;
}
@media screen and (max-width: 1163px) and (min-width: 768px) {
  .movie{
    padding: 4.30vw 0 16.77vw;
  }
  .movie h2{
    margin-bottom: 6.45vw;
    font-size: 3.96vw;
  }
  .movie .content{
    padding: 0 12.04vw;
  }
  .movie .content div:nth-child(odd){
    margin-right: 5.85vw;
  }
  .movie .content div{
    margin-bottom: 5.16vw;
  }
  .movie .content .txtBlock,
  .movie .content .movieBlock{
    width: 46%;
  }
  .movie .content .txtBlock p{
    width: 26.48vw;
  }
  .movie .content .movieBlock iframe{
    width: 35.25vw;
    height: 19.78vw;
  }
}
@media only screen and (max-width: 767px) {
  .movie{
    padding: 7.81vw 18.13vw 15.63vw;
  }
  .movie h2{
    margin-bottom: 4.69vw;
    font-size: 2.875em;
  }
  .movie .content{
    padding: 0;
  }
  .movie .content div:nth-child(odd){
    margin-right: 0;
  }
  .movie .content div{
    margin-bottom: 0;
  }
  .movie .content div:nth-last-child(-n+2){
    margin-bottom: 7.81vw;
  }
  .movie .content .txtBlock,
  .movie .content .movieBlock{
    width: 100%;
    text-align: center;
  }
  .movie .content .txtBlock{
    display: flex;
    flex-direction: column;
  }
  .movie .content .txtBlock p{
    width: 100%;
    margin: 0 auto 3.13vw;
    line-height: 1.2;
    text-align: center;
  }
  .movie .content .movieBlock iframe{
    width: 100%;
    height: 35vw;
  }
}