/*----------------------------------------------------------*/
/* スマホ用のCSS */
/*----------------------------------------------------------*/
@charset "UTF-8";
@media only screen and (max-width: 600px){
	.pc{
	display: none!important;
	}
    #genre-template h2{
        padding: 0;
        background-color: transparent;
    }
    .page-genre #lightningFilter-Pop{
        display: none;
    }
}
*, *:before, *:after {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
#genre-template li{
    list-style: none;
}

#genre-template{
    width: 100%;
    overflow-x: hidden;
}
#genre-template .wrapper{
    padding:  0 2.66vw;
    position: static;
}
#genre-template img{
    cursor: auto;
}
#genre-template .mv{
    width: 100%;
    margin-top: 5.33vw;
    margin-bottom: 8vw;
    padding-left: 2.66vw;
    padding-right: 2.66vw;
}
#genre-template .title-visual-box{
    position: relative;
    margin-bottom: 13.33vw;
}
#genre-template .tit-visual{
    width: 100%;
    padding-left: 2.66vw;
    padding-right: 2.66vw;
}
#genre-template .title-visual-box h2{
    font-size: 3.73vw;
    font-weight: 600;
    position: absolute;
    top: 24.26vw;
    left: 25.06vw;
}
#genre-template .slider1{
    margin-bottom: 12.53vw;
}
#genre-template .slider1-child img{
    width: 100%;
}
#genre-template .slider1 .slick-dots{
    bottom: 10px;
}
#genre-template .slider1 .slick-dots li button:before{
    content: "";
    width: 12px;
    height: 12px;
    border-radius: 50%;
    border: 1px solid #707070;
}
#genre-template .slider1 .slick-dots li.slick-active button:before{
    background-color: #000;
    border-color: #000;
}
#genre-template .second-text-area .second-tit{
    font-size: 4.8vw;
    font-weight: 600;
    margin-left: 21.86vw;
    margin-bottom: 5.33vw;
}
#genre-template .second-text-area p{
    text-align: center;
    font-size: 3.733vw;
    line-height: 1.7;
    margin-bottom: 15.4vw;
}







#genre-template ul.img-list{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-bottom: 16vw;
    width: 94.6vw;
}
#genre-template ul.img-list .img-list-child img{
    width: 46.6vw;
    margin-bottom: 1.33vw;
}
#genre-template ul.img-list .img-list-child:nth-of-type(5) img,
#genre-template ul.img-list .img-list-child:nth-of-type(6) img{
    margin-bottom: 0;
}
#genre-template .slider2{
    margin-bottom: 16vw;
    width: 100%;
}
#genre-template .slider2-child img{
    width: 42.66vw;
}

#genre-template .slider2 .slick-list {
    padding: 0 0 0 30%!important;
  }
#genre-template  .slider2 div {
    margin: 0 4px;
  }


#genre-template .middle-banner-area{
    margin-bottom: 26.66vw;
}
#genre-template .middle-banner-area .middle-banner-child img{
    width: 100%;
    margin-bottom: 2.66vw;
}
#genre-template .middle-banner-area .middle-banner-child:last-of-type img{
    margin-bottom: 5.33vw;
}
#genre-template .middle-banner-area p{
    text-align: center;
    font-size: 4vw;
}
#genre-template .middle-banner-area p a{
    color: #707070;
    text-decoration: none;
}
#genre-template .three-img-box{
    margin-bottom: 21.33vw;
}
#genre-template  .three-img-box .big-img{
    margin-bottom: 21.33vw;
}
#genre-template  .three-img-box .big-img img{
    width: 100%;
}
#genre-template  .three-img-box .small-img{
    text-align: center;
}
#genre-template  .three-img-box .small-img:first-of-type{
    margin-bottom: 4vw;
}
#genre-template  .three-img-box .small-img img{
    width: 85.33vw;
}
#genre-template .small-overlap-area{
    margin-top: 26.66vw;
    position: relative;
}
#genre-template .small-overlap-area:nth-of-type(2){
    margin-top: 8vw;
}
#genre-template .small-overlap-area p img{
    width: 61.33vw;
    position: absolute;
}
#genre-template .small-overlap-area .small-overlap-area-text{
    width: 64vw;
    font-size: 3.2vw;
    line-height: 1.75;
    position: relative;
    padding-top: 37.33vw;
    margin-left: auto;
}
#genre-template .small-overlap-area:nth-of-type(2) .small-overlap-area-text{
    margin-right: auto;
    margin-left: 0;
}
#genre-template .small-overlap-area:nth-of-type(2)  p img{
    right: 0;
}

#genre-template .img-text-box{
    margin-top: 13.33vw;
}
#genre-template .img-text-box p{
    font-size: 3.2vw;
    line-height: 1.75;
}
#genre-template .img-text-box img{
    width: 100%;
    margin-bottom: 4.266vw;
}
#genre-template .item-heading{
    margin-top: 26.66vw;
    font-size: 5.33vw;
    font-weight: 600;
    margin-left: 19.2vw;
    margin-bottom: 9.06vw;
}

#genre-template .item-box .item-img{
    text-align: center;
    margin-top: 26.66vw;
}
#genre-template .item-box:first-of-type .item-img{
    margin-top: 0;
}
#genre-template .item-box img{
    width: 80.8vw;
    margin-bottom: 6.93vw;
}

#genre-template .item-text-box p{
    font-size: 2.933vw;
}

#genre-template .item-text-box .item-name{
    font-size: 5.33vw;
    font-weight: 600;
    line-height: 1.35;
    margin-bottom: 5.33vw;
}
#genre-template .item-text-box .item-desc{
    font-weight: 300;
    font-size: 3.2vw;
    line-height: 1.75;
    margin-bottom: 8.8vw;
}
#genre-template .item-text-box .price-area{
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 3.2vw;
    border-bottom: 1px dotted #B7B7B7;
    margin-bottom: 10.66vw;
}
#genre-template .item-text-box .price-area .more-btn{
    background-color: #000;
    padding: 1.86vw 4.53vw;
    color: #fff;
    font-size: 3.2vw;
    font-weight: bold;
    display: block;
    text-decoration: none;
    line-height: 1.4;
}
#genre-template .item-text-box .price-area .more-btn::after{
    content: "";
    display: inline-block;
    margin-left: 1.86vw;
}
#genre-template .item-text-box .category-title{
    font-size: 4vw;
    margin-bottom: 2.933vw;
    line-height: 1.4;
}
#genre-template .item-text-box .item-detail{
    border-bottom: 1px dotted #B7B7B7;
    padding-bottom: 3.2vw;
    margin-bottom: 3.2vw;
    line-height: 1.9;
}
#genre-template .item-text-box .item-detail:last-of-type{
    margin-bottom: 0;
}
#genre-template .item-text-box .price{
    margin-left: 6.4vw;
    color: #2B1B05;
}
#genre-template .item-text-box .price-area .price{
    margin-left: 0;
}
#genre-template .item-intro-box h3{
    margin-top: 20.53vw;
    margin-bottom: 2.667vw;
    line-height: 1.75;
    font-weight: 600;
}
#genre-template .item-intro-box .item-intro-box-text{
    margin-bottom: 6.933vw;
}
#genre-template .item-intro-box p{
    line-height: 1.71;
    font-size: 3.733vw;
}
#genre-template .item-intro-box .item-intro-box-big-img{
    margin-bottom: 7.67vw;
}
#genre-template .item-intro-box .item-intro-box-big-img img{
    width: 100%;
}
#genre-template .item-intro-box .item-intro-box-img{
    position: relative;
}
#genre-template .item-intro-box .item-intro-box-img p:first-of-type img{
    width: 46.93vw;
    position: absolute;
    left: -2.66vw;
}
#genre-template .item-intro-box .item-intro-box-img p:nth-of-type(2){
    text-align: right;
    padding-top: 33.6vw;
    margin-bottom: 21.33vw;
}
#genre-template .item-intro-box .item-intro-box-img p:nth-of-type(2) img{
    width: 66.93vw;
}
#genre-template .double-img-box p{
    line-height: 1.71;
    margin-bottom: 7.467vw;
    font-size: 3.733vw;
}
#genre-template .double-img-box ul{
    display: flex;
    justify-content: space-between;
    margin-bottom: 21.33vw;
}
#genre-template .double-img-box ul li img{
    width: 46.4vw;
}
#genre-template .last-img-box ul{
    display: flex;
    justify-content: space-between;
    margin-bottom: 2.667vw;
}
#genre-template .last-img-box ul li img{
    width: 32vw;
}
#genre-template .last-img-box .last-img{
    text-align: center;
    margin-bottom: 8vw;
}
#genre-template .last-img-box .last-img img{
    width: 73.33vw;
}
#genre-template .last-img-box .last-img + p{
    line-height: 1.71;
    margin: 0 2.66vw;
    font-size: 3.733vw;
}
#genre-template .search-contents-topics {
  padding: 15px 0 0;
  margin: 20px 0;
  border-top: 3px solid #000;
}
#genre-template .search-contents-topics h2 {
  font-size: 18px;
  font-weight: bold;
  letter-spacing: 2px;
  text-align: center;
  margin: 0 0 15px;
}
#genre-template .search-contents-topics ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#genre-template .search-contents-topics li {
  width: calc((100% - 15px) / 2);
  margin: 0 0 15px;
}
#genre-template .search-contents-topics li:nth-last-child(-n+2) {
  margin: 0;
}
#genre-template .search-contents-topics li a {
  display: block;
  border: 1px solid #ccc;
  height: 100%;
}
#genre-template .search-contents-topics li p {
  font-size: 12px;
  padding: 10px 12px 12px;
  border-top: 1px solid #ccc;
  text-align: center;
}

/*----------------------------------------------------------*/
/* PC用CSS */
/*----------------------------------------------------------*/
@media only screen and (min-width: 601px) {
	.sp{
	display: none!important;
	}
    #genre-template .wrapper{
	width: 100%;
	max-width: 1200px;
        margin: 0 auto;
        padding: 0;
	position: static;
    }
    .pane-left-menu{
        display: none;
    }
    #genre-template{
        width: 1200px;
	margin: 0 auto; /* 荳ｭ螟ｮ縺ｫ蟇?○繧九◆繧√↓霑ｽ蜉? */
    }
    #genre-template h2{
        border-bottom: none;
    }
    #genre-template h2::after{
        content: none;
    }
    #genre-template .mv-area{
        /* background: url(../../../img/usr/genre/pc/mv.jpg);
        background-repeat: no-repeat;
        height: 321px;
        background-size: cover; */
        margin-bottom: 80px;
    }
    #genre-template .mv {
        width: 100%;
        margin-top: 0;
        margin-bottom: 0;
        padding-left: 0;
        padding-right: 0;
    }
    #genre-template .title-visual-box{
        position: relative;
        /* background: url(../../../img/usr/genre/pc/img01.jpg);
        background-repeat: no-repeat;
        height: 321px;
        background-size: cover; */
        margin-bottom: 80px;
    }
    #genre-template .tit-visual{
        width: 100%;
        padding-left: 0;
        padding-right: 0;
    }
    #genre-template .title-visual-box h2{
        font-size: 21px;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }
    #genre-template .title-visual-box h2::after{
        content: none;
    }
    #genre-template .slider1{
        margin-bottom: 100px;
    }
    #genre-template .slider1-child{
        width: 550px!important;
        margin-left: 5px;
        margin-right: 5px;
    }
    #genre-template .slider1-child img{
        width: 550px;
    }
    #genre-template .slider1 .slick-arrow{
        content: "";
        width: 60px;
        height: 60px;
        background: #000;
        z-index: 1000;
    }
    #genre-template .slider1 .slick-arrow.slick-prev{
        top: 50%;
        left: 50%;
        transform: translate(-577%, -50%);
    }
    #genre-template .slider1 .slick-arrow.slick-next{
        top: 50%;
        right: 50%;
        transform: translate(577%, -50%);
    }
    #genre-template .slider1 .slick-next:before,
    #genre-template .slider1 .slick-prev:before{
        content: "";
        width: 20px;
        height: 20px;
        border-top: 3px solid #fff;
        border-right: 3px solid #fff;
        display: inline-block;
        transform: rotate(45deg);
        position: absolute;
        left: 16px;
        top: 20px;
    }
    #genre-template .slider1 .slick-prev:before{
        transform: rotate(225deg);
        left: 25px;
    }
    #genre-template .second-text-area .second-tit{
        font-size: 24px;
        font-weight: bold;
        text-align: center;
        margin: 0 auto 30px;
    }
    #genre-template .second-text-area p{
        font-size: 16px;
        line-height: 1.75;
        margin-bottom: 50px;
    }
    #genre-template .slilder1 + .wrapper{
        width: auto;
    }
    #genre-template ul.img-list{
        width: 1180px;
        margin: 0 auto 100px;
    }
    #genre-template ul.img-list .img-list-child{
        margin-right: 5px;
        margin-bottom: 5px;
        height: 390px;
    }
    #genre-template ul.img-list .img-list-child:nth-of-type(3),
    #genre-template ul.img-list .img-list-child:nth-of-type(6){
        margin-right: 0;
    }
    #genre-template ul.img-list .img-list-child:nth-of-type(4),
    #genre-template ul.img-list .img-list-child:nth-of-type(5),
    #genre-template ul.img-list .img-list-child:nth-of-type(6){
        margin-bottom: 0;
    }
    #genre-template ul.img-list .img-list-child img{
        width: 390px;
        margin-bottom: 0;
    }
    #genre-template .slider2{
        display: flex;
        flex-wrap: wrap;
        width: 1200px;
        margin: 0 auto 100px;
    }
    #genre-template .slider2 div{
        margin: 0 1px 2px;
        height: 298px;
    }
    #genre-template .slider2-child img{
        width: 298px;
    }
    #genre-template .middle-banner-area .middle-banner{
        display: flex;
        flex-wrap: wrap;
        width: 1200px;
        margin: 0 auto 20px;
    }
    #genre-template .middle-banner-area .middle-banner-child img{
        width: 599px;
        margin-bottom: 2px;
        margin-right: 2px;
    }
    #genre-template .middle-banner-area .middle-banner-child:nth-of-type(2) img,
    #genre-template .middle-banner-area .middle-banner-child:nth-of-type(4) img{
        margin-right: 0;
    }
    #genre-template .middle-banner-area .middle-banner-child:last-of-type img{
        margin-bottom: 0;
    }
    #genre-template .middle-banner-area{
        margin-bottom: 0;
    }
    #genre-template .middle-banner-area p a:hover{
        opacity: 0.5;
        transition: all 0.5s;
    }
    #genre-template .middle-banner-area p {
        text-align: right;
        font-size: 16px;
        width: 1200px;
        margin: 0 auto 100px;
    }
    #genre-template .three-img-box{
        display: flex;
        justify-content: space-between;
        width: 1120px;
        margin: 0 auto 100px;
    }
    #genre-template .three-img-box.reverse{
        flex-direction: row-reverse;
    }
    #genre-template .three-img-box .big-img{
        margin-bottom: 0;
    }
    #genre-template .three-img-box .big-img img{
        width: 612px;
    }
    #genre-template .three-img-box .small-img img{
        width: 500px;
    }
    #genre-template .three-img-box .small-img:first-of-type{
        margin-bottom: 10px;
    }
    #genre-template .small-overlap-area{
        margin: 100px auto 0;
        width: 1000px;
        display: flex;
    }
    #genre-template .small-overlap-area:nth-of-type(2n){
        margin-top: 100px;
        flex-direction: row-reverse;
    }
    #genre-template .small-overlap-area:nth-of-type(2n) .small-overlap-area-text{
        margin-right: -150px;
    }
    #genre-template .small-overlap-area p img{
        width: 650px;
        position: static;
    }
    #genre-template .small-overlap-area .small-overlap-area-text{
        width: 500px;
        font-size: 16px;
        padding-top: 195px;
        line-height: 1.75;
        margin-left: -150px;
    }
    #genre-template .img-text-box{
        width: 1140px;
        margin: 100px auto 0;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
    #genre-template .img-text-box:last-child{
        flex-direction: row-reverse;
    }

    #genre-template .img-text-box .img-text-box-txt{
        font-size: 16px;
        width: 510px;
    }
    #genre-template .img-text-box img{
        width: 600px;
        margin-bottom: 0;
    }
    #genre-template .item-heading{
        font-size: 28px;
        margin:100px 0 50px;
        text-align: center;
    }
    #genre-template .item-box{
        display: flex;
        justify-content: space-between;
        width: 941px;
        margin: 0 auto;
    }
    #genre-template .item-box:nth-child(2n){
        flex-direction: row-reverse;
        margin-top: 100px;
    }
    #genre-template .item-box img{
        width: 400px;
        margin-bottom: 0;
    }
    #genre-template .item-text-box{
        width: 471px;
    }
    #genre-template .item-text-box .item-name{
        font-size: 22px;
        margin-bottom: 35px;
    }
    #genre-template .item-text-box .item-desc{
        font-size: 15px;
        line-height: 1.86;
        margin-bottom: 35px;
    }
    #genre-template .item-text-box p{
        font-size: 14px;
    }
    #genre-template .item-text-box .price-area{
        margin-bottom: 60px;
        padding-bottom: 12px;
    }
    #genre-template .item-text-box .price-area .more-btn{
        font-size: 13px;
        padding: 0 23px;
        line-height: 2.35;
    }
    #genre-template .item-text-box .price-area .more-btn:hover{
        opacity: 0.5;
        transition: all 0.5s;
    }
    #genre-template .item-text-box .category-title{
        font-size: 20px;
        font-weight: bold;
        margin-bottom: 17px;
    }
    #genre-template .item-text-box .item-detail{
        font-size: 14px;
        padding-bottom: 9px;
        margin-bottom: 13px;
    }
    #genre-template .item-box .item-img{
        margin-top: 0;
    }
    #genre-template .item-intro-box .item-intro-box-big-img{
        margin-bottom: 0;
    }
    #genre-template .item-intro-box{
        width: 1000px;
        margin: 100px auto 0;
    }
    #genre-template .item-intro-box > div:first-child{
        display: flex;
        flex-direction: row-reverse;
        justify-content: space-between;
    }
    #genre-template .item-intro-box .item-intro-box-img{
        margin-top: -187px;
    }
    #genre-template .item-intro-box .item-intro-box-big-img img{
        width: 470px;
    }
    #genre-template .item-intro-box .item-intro-box-text{
        width: 470px;
        margin-bottom: 0;
    }
    #genre-template .item-intro-box h3{
        font-size: 16px;
        margin-top: 0;
        margin-bottom: 10px;
    }
    #genre-template .item-intro-box p{
        font-size: 15px;
        line-height: 1.86;
    }
    #genre-template .item-intro-box .item-intro-box-img p:first-of-type img{
        width: 460px;
        left: auto;
        right: 0;
    }
    #genre-template .item-intro-box .item-intro-box-img p:nth-of-type(2) img{
        width: 660px;
    }
    #genre-template .item-intro-box .item-intro-box-img p:nth-of-type(2){
        text-align: left;
        padding-top: 259px;
        margin-bottom: 100px;
    }
    #genre-template .double-img-box{
        width: 760px;
        margin: 0 auto;
    }
    #genre-template .double-img-box p{
        font-size: 16px;
        line-height: 1.75;
        margin:0 auto 40px;
        width: 500px;
    }
    #genre-template .double-img-box ul li img{
        width: 370px;
    }
    #genre-template .double-img-box ul{
        margin-bottom: 100px;
    }
    #genre-template .last-img-box{
        width: 1000px;
        margin: 0 auto;
    }
    #genre-template .last-img-box ul{
        margin-bottom: 50px;
    }
    #genre-template .last-img-box ul li img{
        width: 320px;
    }
    #genre-template .last-img-box .last-img img{
        width: 470px;
    }
    #genre-template .last-img-box .last-img{
        margin-bottom: 50px;
    }
    #genre-template .last-img-box .last-img + p{
        width: 600px;
        margin:  0 auto;
        line-height: 1.75;
        font-size: 16px;
    }
    #genre-template .search-contents-topics {
        border-top: 3px solid #2b1b05;
    }
    #genre-template .search-contents-topics h2 {
        font-size: 24px;
        letter-spacing: 3px;
        text-align: center;
        margin: 30px 0 0;
    }
    #genre-template .search-contents-topics ul {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
        gap: 20px;
        justify-content: center;
        margin: 30px auto 0;
        max-width: 1100px;
    }
    #genre-template .search-contents-topics li {
        height: 100%;
        width: 240px;
　　    display: flex;
    　　flex-direction: column;
    }
    #genre-template .search-contents-topics li a {
　　    display: flex;
　　    flex-direction: column;
　　    flex-grow: 1;
    　　border: 1px solid #ccc;
　　    height: 100%;
    }
    #genre-template .search-contents-topics li p {
	text-align: center;
	margin-top: auto;
        padding: 10px 15px 8px;
        border-top: 1px solid #ccc;
        line-height: 1.6;
    }
}
/* =========================
   H1タイトル＋リード文
   ========================= */

#genre-template .second-text-area .page-title{
  margin: 0;
  padding: 0;
  font-weight: 700;
  text-align: center;
  line-height: 1.3;
}

#genre-template .second-text-area .lead{
  text-align: center;
  line-height: 1.75;
}

/* SP */
@media only screen and (max-width: 600px){
  #genre-template .second-text-area .page-title{
    font-size: 4.8vw;     /* 本文(3.733vw)より+2段 */
    margin-bottom: 1.2em; /* 旧 <br><br> 見え方 */
  }

  #genre-template .second-text-area .lead{
    font-size: 3.733vw;   /* 本文と同じ */
    margin-bottom: 6vw;
  }
}

/* PC */
@media only screen and (min-width: 601px){
  #genre-template .second-text-area .page-title{
    font-size: 24px;      /* 本文16pxの+2段 */
    margin-bottom: 20px;
  }

  #genre-template .second-text-area .lead{
    font-size: 16px;
    margin-bottom: 30px;
  }
}
/* =========================
   H1寄せデザインのH2
   class="page-title-sub"
   追記専用（既存CSSは触らない）
   ========================= */

#genre-template .page-title-sub{
  font-weight: 700;
  text-align: center;
  line-height: 1.3;
}

/* SP */
@media only screen and (max-width: 600px){

  #genre-template .page-title-sub{
    font-size: 4.8vw;     /* H1と同系サイズ */
    margin: 6vw 0 4vw;    /* 上下余白バランス */
  }

}

/* PC */
@media only screen and (min-width: 601px){

  #genre-template .page-title-sub{
    font-size: 24px;      /* H1と同系サイズ */
    margin: 60px 0 24px;
  }

}
/* =========================
   YouTube埋め込み統一運用
   ・center廃止
   ・レスポンシブ
   ・Shorts対応
   ========================= */

#genre-template .movie-embed{
  width: 100%;
  max-width: 1067px;   /* 今の見た目サイズに合わせ */
  margin: 40px auto;
}

#genre-template .movie-embed iframe{
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;   /* 通常動画 */
  border: 0;
}

/* Shorts自動判別 */
#genre-template .movie-embed iframe[src*="shorts"]{
  aspect-ratio: 9 / 16;
  max-width: 420px;
}
