@charset "utf-8";



/* ==========================================================================
流用パーツ
========================================================================== */
#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;
}
.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;
}
.wallpaper_section {
 width: 650%;
 max-width:300px;
 margin: 40px auto 0;
 padding-bottom: 80px;
 text-align: center;
}
.wallpaper_section > li:nth-of-type(n+2) {
 margin-top: 40px;
}
.wallpaper_section > li.single a {
 max-width: 250px;
 width: 40%;
 margin-right: auto;
 margin-left: auto;
}
.wallpaper_section > li .double a {
 width: 90%;
 margin-right: auto;
 margin-left: auto;
}
.wallpaper_section h3 {
 margin-bottom: 15px;
 padding-bottom: 5px;
 border-bottom: 2px solid #ef0670;
 font-size: 20px;
 font-weight: bold;
}
.wallpaper_section h4 {
 margin-bottom: 3px;
 font-weight: bold;
 font-size: 15px;
}
.wallpaper_section .double {
 display: -webkit-flex;
 display: flex;
 justify-content: space-between;
}
.wallpaper_section .double > div {
 width: 49%;
}
.wallpaper_section div a {
 display: block;
}
.wallpaper_section a span {
 display: inline-block;
 position: relative;
 margin-top: 10px;
 margin-right: 20px;
 text-decoration: underline;
 font-size: 16px;
 color: #ff67b3;
 font-weight: bold;
}
.wallpaper_section a span::before {
 position: absolute;
 content: '';
 width: 23px;
 height: 23px;
 right: -25px;
 top: 0;
 background: url(../images/ic.png) no-repeat 0 0/100%;
}

a:hover{opacity: 0.8;}

/* ==========================================================================
section
========================================================================== */
.section {
   width: 1000px;
}

.section.section_01 {
   margin: 7.50em auto 8em auto;
}

.section.section_02 {
   margin: 4em auto 2em auto;
}

.section h2 {
   margin-bottom: 0.72em;
   font-size: 2.25em;
   text-align: center;
   font-weight: bold;
}

.section .items .item .hd {
   display: flex;
   align-items: center;
   padding-bottom: 1em;
}

.section .items .item .hd .date {
   font-size: 32px;
   font-weight: bold;
}

.section .box {
   display: flex;
   justify-content: space-between;
   align-items: center;
   margin-bottom: 40px;
   margin-top: 40px;
}

.section .box .image {
   width: 534px;
   margin-right: 30px;
   position: relative;
}

.section .items .item .texts {
   align-items: center;
   background: transparent;
   padding: 0;
}

.section .items .item .texts p {
   text-align: center;
}

.section .box .tit {
   font-size: 32px;
   line-height: 1.25em;
}

.section .box .sub {
   margin-bottom: 1em;
   font-size: 24px;
   line-height: 1.25em;
}

.section .items .item .hd .tag {
   margin-right: 1em;
   border-radius: 5px;
   font-size: 20px;
}

.section .box .date_box {
   padding: 0.5em 0;
   margin-bottom: 1em;
   width: 100%;
   border: 1px solid #fff;
   font-size: 24px;
   font-weight: bold;
   line-height: 1;
   box-sizing: border-box;
}

.section .box .normal {
   font-size: 16px;
}

.section.section_03  {
 margin: auto;
 text-align: center;
}
.section.section_03 .image {
   max-width: 728px;
   margin: auto;
}
.image a {
   display: block;
}

.cont_list ul,.method_list ul{    max-width: 1200px;
    margin: 2em auto;
    display: flex;
    flex-wrap: wrap;    z-index: 999;
    position: relative;    background: #151515;}
.cont_list ul li{max-width: 25%;padding: 0.5em;}
.cont_list ul li a {display: block;}
.copy{    font-size: 0.75em;
    max-width: 1200px;
    margin: 1em auto 4em;
padding: 0 1em;}

.method_list ul li{width: 33%;
    padding: 0 2em;
    margin: 0 auto;}
.method_list ul li:nth-child(2){border-right: 1px dotted #ccc;border-left: 1px dotted #ccc;}
.method_list ul li img{border: solid 1px #919191;width: 90%;margin: 0 auto;display: block;}


h1{margin: 2em auto;
    display: flex;
    text-align: center;
    
    align-items: center;
    justify-content: center;
    height: auto;
    font-size: 2.2em;
    font-weight: bold;
    letter-spacing: 0.1em;
    max-width: 1000px;}
h2{    font-size: 2em;
    text-align: center;
    margin: 0 auto;}
h2 + p{    font-size: 1.2em;
    margin: 1.5em auto;
    text-align: center;
    line-height: 1.6em;}

h3 {
  position: relative;
    display: inline-block;
    padding: 0 55px;
    margin: 2em auto 1em;
    font-size: 1.8em;
    font-weight: bold;
    left: 50%;
    transform: translateX(-50%);
}

h3:before, h3:after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 45px;
  height: 2px;
  background-color: #fff;
}

h3:before {
  left:0;
}
h3:after {
  right: 0;
}

.cont_list a.btn_01{    background: #fc8e3d;
    background: -moz-linear-gradient(left, #fc8e3d 0%, #ff0576 100%);
    background: -webkit-linear-gradient(left, #fc8e3d 0%, #ff0576 100%);
    background: linear-gradient(to right, #fc8e3d 0%, #ff0576 100%);
    margin: 0 auto 1em;
    max-width: 400px;
    display: flex;
    padding: .9em 0 .7em;
    justify-content: center;
    border-radius: 50px;
    font-size: 1.3em;
    font-weight: bold;
position: relative;}

.cont_list a.btn_01 span{    background: #ffffff;
    height: calc(tan(60deg)* 24px / 2);
    width: 15px;
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    display: block;
    position: absolute;
    top: 33%;
    right: 6%;
}

.method_list h4{background: #707070;
    padding: 0.7em 1em 0.5em;
    line-height: 1.45em;
    margin: 0 auto 1.5em;
    display: flex;
    min-height: 6em;
    align-items: center;
    justify-content: center;}

.method_list h4 + p{margin: 1em auto 1.5em;
    font-size: 0.75em;
    line-height: 1.45em;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 4.5em;}

.method_list a.btn_02{
	background: #ff0749;
	margin: 0 auto 5em;
    max-width: 400px;
    display: flex;
    padding: .9em 0 .7em;
    justify-content: center;
    border-radius: 50px;
    font-size: 1.3em;
    font-weight: bold;}
.method_list a.btn_02 p{margin: 0 auto;}
.method_list a.btn_02 span{    width: 20px;
    margin: 0 0 0 0.5em;
    display: inline-block;}





/* ==========================================================================
btn
========================================================================== */
.btn a {
   margin-top: 30px;
   display: block;
   background-color: #fff;
   color: #151515;
   font-size: 20px;
   text-align: center;
   width: 340px;
   height: 48px;
   display: flex;
   align-items: center;
   justify-content: center;
   text-decoration: none;
   border-radius: 100px;
   padding-left: 10px;
   box-sizing: border-box;
}
.campaign .cp_view .btn a {
 width: 100%;
   background-color: #fff;
   color: #151515;
}

.btn a span {
   display: block;
   background-image: url(/../../../ft/teaser/common/images/playbtn.png);
   background-size: 100% 100%;
   width: 30px;
   height: 30px;
   margin-left: 10px;
}



/* ==========================================================================
information
========================================================================== */
.information,
.information div {
   box-sizing: border-box;
}

.information {
   width: 1000px;
   margin: 0 auto;
   padding: 1.50em;
   background: #3b3b3b;
}

.information .info_title {
   margin-bottom: 1em;
   padding: 0.5em;
   border: 2px solid #fff;
   font-size: 1.50em;
   text-align: center;
   line-height: 1.6;
}

.information .info_box {
   display: flex;
}

.information .info_img {
   width: 60%;
   margin-right: 1.50em;
}

.information .info_text {
   width: 40%;
   line-height: 1.6;
}

.information .info_text ul {
   margin-top: 1em;
}

.information .info_text ul li {
   padding-left: 1em;
   text-indent: -1em;
}



/* ==========================================================================
pink
========================================================================== */
.pink {
   width: 1000px;
   margin: 0 auto;
   margin-top: 1em;
   padding: 1.50em 0;
   border: 1px solid #ff0577;
   text-align: center;
   font-size: 1.50em;
   font-weight: bold;
   line-height: 1.6;
   box-sizing: border-box;
}

.pink a {
   margin: 0 auto;
   margin-top: 1em;
   width: 442px;
}



/* ==========================================================================
btn_list
========================================================================== */
.btn_list {
   display: flex;
   width: 937px;
   margin: 0 auto;
   margin-top: 1.50em;
   box-sizing: border-box;
}

.btn_list li {
   width: 50%;
}

.btn_list li:first-of-type {
   margin-right: 2.06em;
}

.btn_list li a {
   background: #fc8e3d;
   background: -moz-linear-gradient(left, #fc8e3d 0%, #ff0576 100%);
   background: -webkit-linear-gradient(left, #fc8e3d 0%, #ff0576 100%);
   background: linear-gradient(to right, #fc8e3d 0%, #ff0576 100%);
   filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fc8e3d', endColorstr='#ff0576', GradientType=1);

   display: flex;
   align-items: center;
   justify-content: center;
   flex-direction: column;

   padding: 0.50em;
   width: 100%;
   border-radius: 1000px;

   color: #fff;
   font-size: 1.25em;
   text-align: center;
   text-decoration: none;
   line-height: 1.4;
   box-sizing: border-box;
}

.btn_list li a p:first-of-type {
   font-size: 1.20em;
}



/* ==========================================================================
program
========================================================================== */
.program {
   width: 100%;
   padding: 3.13em;
   background: #3b3b3b;
   box-sizing: border-box;
}

.program div, .program p, .program ul, .program li {
   box-sizing: border-box;
}

.program ul {
   display: flex;
   flex-wrap: wrap;
   width: 100%;
}

.program ul li {
   display: flex;
   flex-direction: column;
   justify-content: space-between;
}

.program ul li .image img {
   margin-bottom: 0.63em;
}

.program ul li .btn a {
   width: 100%;
   margin-top: 1em;
}




/* ==========================================================================
campaign...
========================================================================== */
.section.section_03 {
   margin: auto;
}

.campaign {
 position: relative;
 margin-top: 8em;
   padding: 6em 1.5em 2.5em;
/*   border: 2px solid #fff;*/
   background: #212121;
   line-height: 1.8;
}

.campaign.cs {
 padding-top: 4em;
}

.campaign h2 {
   position: absolute;
   top: -35px;
   left: 50%;
   transform: translateX(-50%);
   line-height: 130%;
   padding: 15px 105px 12px;
   border-radius: 6px;
   background: #ff0a74;
   font-size: 36px;
}


.campaign .caption_1 {
   text-align: center;
   font-size: 26px;
   line-height: 150%;
   font-weight: bold;
}

.campaign .caption_2 {
   margin-top: 1.5em;
   text-align: center;
   font-size: 22px;
   line-height: 150%;
   font-weight: bold;
}

.campaign .caption_3 {
   position: relative;
   margin-top: 2.5em;
   padding-bottom: 1.5em;
   text-align: center;
   font-size: 20px;
}

.campaign .caption_3::before {
    content: '';
    display: block;
    width: 60%;
    height: 2px;
    position: absolute;
    bottom: -20px;
    left: 50%;
    transform: translateX(-50%);
    background-color: #ff0576;
    z-index: 1;
}

.campaign .twitter_btn a {
   display: block;
   padding: 0.8em 0;
   margin: 1em auto 0;
   margin-top: 2em;
   max-width: 300px;
   background: #1e9bf0;
   border-radius: 100px;
   color: #fff;
   font-size: 20px;
   text-decoration: none;
   text-align: center;
}

.live_notes {
   font-size: 17px;
   color: #fe0774;
}

.tokuten_scroll {
    margin-top: 4em;
    padding: 2em;
    background: #3b3b3b;
}

.tokuten_scroll .inn {
    padding-right: 2em;
    height: 230px;
    overflow-y: scroll;
    text-align: left;
}

.tokuten_scroll .inn .inn_box {
    margin-bottom: 2em;
}

.tokuten_scroll .inn .inn_box > ul > li {
    text-indent: -1em;
    margin-left: 1em;
    margin-bottom: 0.3em;
}

.campaign .btn  {
    margin-top: 3em;
}

.campaign .btn a {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
    padding: 0.7em 0;
    width: 340px;
    background-color: #ff8f3c;
    border-radius: 100px;
    color: #fff;
    font-size: 20px;
    text-align: center;
    text-decoration: none;
    line-height: 1;
}


.campaign .btn.yet a {
    background: none;
    border: 2px solid #fff;
    color: #fff;
}

.campaign .btn.yet {
    margin-top: 30px;
}

.cp_goods {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    margin-top: 80px;
}

.cp_goods.center {
    justify-content: center;
}

.cp_goods.center .cp_view {
    margin-top: 25px;
}

.cp_view,.cp_goods {
    padding: 0 60px;
}

.cp_goods > div {
   width: 48.5%;
}

.goods_copy {
   font-size: 1px;
   color: #9c9c9c;
   text-align: left;
}

.cp_goods_ttl {
   margin-top: 10px;
   font-size: 22px;
   font-weight: bold;
}

.goods_list {
   margin-top: 8px;
   font-size: 16px;
   text-align: left;
}

.goods_list span {
   font-size: 14px;
}

.goods_list > li {
   position: relative;
   padding-left: 12px;
   line-height: 130%;
}

.goods_list > li:before {
   position: absolute;
   display: block;
 content: '';
 width: 6px;
 height: 6px;
 background: #fff;
 left: 0;
 top: 6px;
}

.goods_list > li:nth-of-type(n+2) {
   margin-top: 7px;
}

.cp_view.pc {
 display: flex;
 justify-content: space-between;
 align-items: flex-end;
 margin-top: 15px;
}

.cp_view.pc li {
 width: 48.5%;
}

.cp_view li p {
 font-size: 15px;
 color: #a8a8a8;
}

.campaign .cp_view .btn {
 margin-top: 0;
}

.entry_end {
     margin-bottom: 50px;
    padding: 20px 0 15px;
    background: #555;
    font-size: 20px;
    font-weight: bold;
}


/* ==========================================================================
ページ下部...end
========================================================================== */
.end .logo,.end .backtop {
 display: none!important;
}

.position_end {
 padding-bottom: 11em;
}

#end_link {
 display: block;
 text-align: center;
}

.end_caption {
 font-size: 26px;
 font-weight: bold;
}

.end_btn {
 margin: 15px auto 0;
 width: 515px;
}

.end_btn a {
 display: block;
}

/*動画*/
.movie-content-wrap {
  width: 100%;
  max-width: 260px;
 margin: 2em auto 0;
}
.movie-content-wrap img {
  width:100%;
}
.movie-content-wrap a {
  display: block;
}
.movie-content-wrap a:hover {
  opacity: .8;
}

@media print,
screen and (min-width: 813px) {

   .kv h1 {
     padding-top: 10px!important;
     font-size: 40px!important;
  }
 
 .lead_ttl  {
  font-size: 20px;
 }
 
   .btn.lh a {
      line-height: 48px;
   }

   .schedule h2.big {
      font-size: 40px;
      margin: 0.5em 0;
   }

   .schedule h2 span {
      font-size: 0.7em;
   }

   /* program
   -------------------------------------*/
   .program ul li {
      width: 30.5%;
      margin-right: 4.25%;
      margin-bottom: 4.25%;
   }

   .program ul li:nth-child(3n) {
      margin-right: 0;
   }

   .program ul li:nth-child(n+7):nth-child(-n+9) {
      margin-bottom: 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;
   }
	h1{    width: 90%;
    font-size: 1.5em;
	line-height: 1.3em;margin: 1.5em auto 1em;}
	h2{    font-size: 1.5em;
    text-align: center;
    margin: 0 auto;
    line-height: 1.45em;} 
	
	h2 + p{font-size: 1em;
    margin: 1.5em auto;
    text-align: center;
    line-height: 1.45em;
		width: 94%;}
	h3{margin: 1em auto 0em;
    font-size: 1.5em;}
	
	.cont_list ul li{max-width: 50%;}
	.cont_list a.btn_01,.method_list a.btn_02{padding: 0.7em 0 .7em;width: 90%;font-size: 1.2em;}
	.cont_list a.btn_01 span{height: calc(tan(60deg)* 18px / 2);
    width: 11px;}
	.cont_list ul, .method_list ul{margin: 1em auto;}
	.method_list ul li{width: 100%;margin: 1em auto 1.5em;padding: 0 1em;}
	.method_list h4{min-height: auto;margin: 0 auto 1em;font-size: 0.9em;}
	.method_list h4 + p{min-height: auto;font-size: 0.75em;}
	.method_list ul li img{width: 80%;
    margin: 0 auto;
    display: block;}
	
	
   .schedule h2 {
      position: relative;
      margin: 2em 0 1em;
      font-size: 24px;
      border-bottom: none;
   }

   .schedule h2 span {
      font-size: 0.6em;
      margin-bottom: 0.5em;
   }

   .schedule h2.big {
      margin: 2em 0;
   }

   /* .schedule h2::after {
      content: "";
      position: absolute;
      left: 50%;
      bottom: 0;
      height: 1px;
      width: 15%;
      border-bottom: 1px solid #ef0670;
      transform: translateX(-50%);
   } */

   .schedule .items {
      margin: 0;
   }

   .schedule > p.lead {
      text-align: center;
   }

   .section {
      width: 100%;
   }

   .section.section_01 {
      margin: 6em auto;
   }
   
   .section.section_02 {
      margin: 0em auto 4em auto;
   }
 
   .section.section_03 {
      margin-bottom: 6em;
   }

   .section h2 {
      font-size: 1.50em;
   }

   .btn a {
      width: 100%;
   }

   .recommend {
/*
      width: 100vw;
      margin-left: calc(-50vw + 50%);
      margin-bottom: 0;
      border-radius: 0;
*/
      width: 100%;
      margin-right: auto;
      margin-left: auto;
      font-size: 17px;
   }

/* info
-------------------------------------*/
.info {
    margin-left: 3vw;
    margin-right: 3vw;
    margin-top: 3em;
    padding: 2.5em 1em 2em;
}

.info h2 {
    font-size: 16px;
    
}

.info .lead {
    font-size: 14px;
}

.info .lead a {
    color: #fff;
}

   
   /* information
   -------------------------------------*/
   .information {
      width: 88%;
   }

   .information .info_box {
      flex-direction: column;
   }

   .information .info_title {
      font-size: 1em;
   }

   .information .info_img,
   .information .info_text {
      width: 100%;
   }

   .information .info_img {
      margin-right: 0;
   }

   .information .info_text {
      margin-top: 1em;      
   }

   .information .info_text {
      font-size: 0.94em
   }
   

   /* pink
   -------------------------------------*/
   .pink {
      width: 88%;
      font-size: 1.2em;
   }

   .pink a {
      width: 90%;
   }

   
   /* items
   -------------------------------------*/
   .schedule .items .item .texts {
      font-size: 0.94em;
   }

   .schedule .items .item .texts p.texts_title {
      font-size: 1rem;
   }

   
   /* btn_list
   -------------------------------------*/
   .btn_list {
      flex-direction: column;
      width: 80%;
      margin-bottom: 5em;
   }

   .btn_list li {
      width: 100%;
   }

   .btn_list li:first-of-type {
      margin-right: 0;
      margin-bottom: 1.50em;
   }

   
   /* section items
   -------------------------------------*/
   .section .items .item  {
      margin-bottom: 5em;
   }

   .section .items .item .hd .date {
      font-size: 22px;
   }

   .section .box {
      flex-direction: column;
      margin-top: 0;
      margin-bottom: 0;
   }


   .section_02.section .box {
      margin-bottom: 60px;
   }

   .section .items .item .image {
      width: 100%;
      margin-top: 3vw;
      margin-right: 0;
      margin-bottom: 2em;
   }

   .section .box .tit {
      font-size: 24px;
   }

   .section .box .sub {
      font-size: 18px;
   }

   .section .box .date_box {
      font-size: 18px;
   }

   .section .box .btn {
      width: 100%;
   }

   .section .box .btn a {
      padding: 1.5em 0;
      padding-left: 10px;
   }
   

   .section.section_03 .image {
      margin: 0 20px;
   }
 
 
   /* program
   -------------------------------------*/
   .program {
      padding: 1.5em;
   }

   .program ul li {
     width: 47%;
     margin-right: 6%;
     margin-bottom: 10%;
  }

  .program ul li:nth-child(2n) {
     margin-right: 0;
  }

  .program ul li:last-child {
     margin-bottom: 0;
  }

  .program ul li .btn a {
      padding-right: 0.5em;
      font-size: 0.9em;
   }

   .program ul li .btn span {
      width: 1.8em;
      height: 1.8em;
      margin-left: 0.2em;
      background-size: contain;
      background-repeat: no-repeat;
   }

 
    /* 追加campaign
   -------------------------------------*/
    .campaign {
/*     margin-left: 6vw;*/
/*     margin-right: 6vw;*/
     padding: 3em 1.5em 2em;
    }

    .campaign h2 {
     width: 35%;
     padding: 15px 5px 12px;
    }
 
    .campaign .caption {
     margin-top: 3em;
     font-size: 16px;
     text-align: left;
    }

    .campaign .twitter_btn a {
     font-size: 16px;
    }
 
    .tokuten_scroll {
     font-size: 14px;
    }
 
    .tokuten_scroll .inn {
     padding-right: 0.5em;
    }
 
     .campaign .btn a {
     width: 100%;
     font-size: clamp(16px, 5vw, 20px);
    }
 
 .campaign .caption_1 {
  font-size: 22px;
 }
 
 .campaign .caption_2 {
  text-align: left;
  font-size: 18px;
 }
 
  .campaign .caption_3 {
  text-align: left;
  font-size: 16px;
 }
 
 .campaign .caption_3::before {
  width: 100%;
 }
 
 .cp_view, .cp_goods {
  padding: 0;
 }
 
 .cp_goods {
  -webkit-flex-direction: column;
  flex-direction: column;
 }
 
 .cp_goods > div {
  width: 100%;
 }
 
 .goods_copy {
  text-align: right;
 }
 
 .cp_goods_ttl  {
  margin-top: 3px;
  font-size: 20px;
 }
 
 .goods_list {
  font-size: 14px;
 }
 
 .goods_list span {
  font-size: 12px;
  letter-spacing: -0.5px;
 }
 
 .campaign .cp_view {
   margin-top: 20px;
 }
 
 .campaign .cp_view p {

   font-size: 12px;
  color: #a8a8a8;
 }
 
 .cp_goods > div:nth-of-type(n+2) {
  margin-top: 60px;
 }
 
 .campaign .subtitle {
  font-size: 24px;
 }
 
 .entry_end {
  font-size: 18px;
 }
 
 /* ==========================================================================
ページ下部...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;
 }
}