@charset "utf-8";


body{background: #000 !important;}
/* ==========================================================================
流用パーツ
========================================================================== */
#header_inc_3 .objects .mc11 {
 display: none;
}
.contents.main {
   font-size: 16px;
}
#header_inc_3 + .grp .kv {
 padding-bottom: 0;
}
.lead_ttl {
 text-align: center;
 font-size: 16px;
}
.contents{    margin: 5% auto;
    max-width: 1000px;
    width: 90%;}
.contents a{display: block;color: #fff;}

.kv {
   margin-bottom: 0;
   padding-top: 20px!important;
   padding-bottom: 0;
}

.kv h1 {
 margin-top: 5px!important;
 background: none!important;
 padding: 0!important;
 height: auto!important;
 font-size: 24px!important;
}
a:hover{opacity: 0.9;}
.h1_area{background-image: url("../images/ch_bg.webp");background-size: cover;}
.h1_area h1{    padding: 4em 5%;
    text-align: center;
    margin: 0 auto;
    font-size: 1.5em;
    line-height: 1.45em;}
.h1_area h1 span{font-size: 1.2em;}
.h1_area h1 img{max-width: 500px;
    display: block;
    margin: 1em auto 0;
    width: 80%;}

.contents h2{font-size: 1.3em;
    text-align: center;}
.cont_list{    display: flex;
    flex-wrap: wrap;
margin: 1em auto;}
.cont_list li{width: 30%;
    margin: 1em auto;}
.cont_list li img{border-radius: 8px;}
.cont_list li p{padding: 0.8em 0;position: relative;font-size: 0.85em;width: 95%;}
.p_copy{    font-size: 0.75em;
    margin-top: 50px;}

.cont_list li p::before,
.cont_list li p::after {
 content: "";
    position: absolute;
    top: calc(50% - 2px);
    right: -5%;
    width: 9px;
    height: 2px;
    border-radius: 9999px;
    background-color: #fff;
    transform-origin: calc(100% - 0px) 50%;
}

.cont_list li p::before {
  transform: rotate(45deg);
}

.cont_list li p::after {
  transform: rotate(-45deg);
}

@media print,
screen and (max-width: 812px) {
	.h1_area{background-size: 180%;}
	.h1_area h1{font-size: 1em;background-size: 180%;}
	.h1_area h1 span{font-size: 1.35em;}
	.cont_list li {		width: 50%;margin: 0.5em 0;}
	.contents h2{margin: 2em auto 0;}
	.cont_list li:nth-child(2n){padding-left: 0.5em;}
	.cont_list li:nth-child(2n+1){padding-right: 0.5em;}
	.cont_list li img {    border-radius: 6px;}
	.cont_list li p {
    padding: 0.4em 0;
    font-size: 0.80em;
    width: 95%;
    line-height: 1.2em;}
	.cont_list li p::before, .cont_list li p::after{top: calc(50% - 0px);
    right: -5%;
    width: 6px;
    height: 2px;}
}

@media print,
screen and (min-width: 813px) {

   .kv h1 {
     padding-top: 10px!important;
     font-size: 35px!important;
  }
	
 .cont_list {
  gap: 0 5%;
 }
 .cont_list li {
  margin: 1em 0;
 }

   /* objects
   -------------------------------------*/
   .objects .mc20 {
      top: 116px;
   }

   .objects .mc24 {
      background-image: url(../../../ft/teaser/common/images/objects/24_2.png);
      width: 49px;
      height: 21px;
      top: 204px;
      left: -600px;
   }

   .objects .mc23 {
      top: 100px;
   }

   .objects .mc27 {
      top: 170px;
   }

   .objects .mc13_3 {
      top: 310px;
   }

   .objects .mc23_2 {
      top: 410px;
   }

   .objects .mc34 {
      top: 410px;
   }

   .objects .mc3_2 {
      top: 510px;
   }

   .objects .mc12 {
      background-image: url(../../../ft/teaser/common/images/objects/12.png);
      width: 122px;
      height: 76px;
      top: 70px;
      left: -710px;
   }

   .objects .mc24_2 {
      width: 75px;
      height: 20px;
      top: 212px;
      left: -592px;
   }

   .objects .mc0 {
      width: 122px;
      height: 47px;
      top: 234px;
      left: 660px;
   }

   .objects .mc18 {
      width: 65px;
      height: 66px;
      top: 330px;
      left: 584px;
   }
 
/* end*/
 
   .position_end {
      position: relative;
      padding-bottom: 11em;
   }

   #end_link {
      position: absolute;
      display: block;
      bottom: -6em;
      left: 50%;
      transform: translateX(-50%);
      text-align: center;
      z-index: 1000;
   }

}



@media only screen and (max-width: 812px) {
   .kv h1 {
      margin-top: 70px;
      font-size: 26px;
    font-size:17px!important;
   }
 
 /* ==========================================================================
ページ下部...end
========================================================================== */
.position_end {
 padding-bottom: 3em;
}

#end_link {
 width: 100%;
 z-index: 1000;
}

.end_caption {
 font-size: 22px;
}

.end_btn {
 margin: 15px auto 0;
 width: 90%;
 max-width: 500px;
}

.end_btn a {
 display: block;
}
 
 .kv h1::before {
 width: 52%;
 max-width: 220px;
 height: 200px;
 background: url("/cp/0000001/images/premium_top.png") no-repeat 0 0/100%;
 top: -37%;
 left: -15px;
 
}
 
 .end {
  padding-top: 0!important;
 }
 
 .movie-content-wrap {
  max-width: 230px;
 }
 
 .movie-content-wrap p {
  font-size: 14px;
 }
}