@charset "utf-8";



/* ==========================================================================
流用パーツ
========================================================================== */
.contents.main {
   font-size: 16px;
}

.kv {
   margin-bottom: 0;
   padding-bottom: 4.69em;
}

.schedule {
   margin-top: 0;
}

.schedule > p.lead {
   margin: 2.38em 0;
   text-align: center;
}
.objects.kv_object .mc14_3 {
   left: -615px;
   top:500px;
}
.objects.kv_object .mc1_2{
   left: -650px;
   top:350px;
}
.objects.kv_object .mc9_2 {
   left: 750px;
   top: 200px;
}
.objects.kv_object .mc23 {
   left: -900px;
   top: 100px;
}
.objects.kv_object .mc37 {
   background-image: url(../images/37.png);
   width: 112px;
   height: 98px;
   margin-left: -65.3px;
   margin-top: -22.8px;
   left: 500px;
   top: 200px;
}
.objects.kv_object .mc38{
   background-image: url(../images/38.png);
   width: 142px;
   height: 75px;
   margin-left: -23.75px;
   margin-top: -23.75px;
   left: 750px;
   top: 450px;
}
/* items
-------------------------------------*/
.schedule .items .item .clm {
   margin-top: 4em;
}

.schedule .items .item .texts {
   padding: 1.5em;
   line-height: 1.6;
}

.schedule .items .item .texts p {
   margin-top: 2em;
}

.schedule .items .item .texts p.texts_title {
   padding: 0.5em;
   margin-top: 0;
   border: 2px solid #fff;
   font-size: 1.50em;
   text-align: center;
}

.schedule .items .item .texts ul li {
   padding-left: 1em;
   text-indent: -1em;
}

.schedule .items .item {
   margin-bottom: 0;
}



/* ==========================================================================
section
========================================================================== */
.section {
   width: 1000px;
   margin: 7.50em auto 2em auto;
}

.section h2 {
   margin-bottom: 0.72em;
   font-size: 2.25em;
   text-align: center;
   font-weight: bold;
}
.outer {
   padding: 0 20px;
}

/* ==========================================================================
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;
}

.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;
}



@media print,
screen and (min-width: 813px) {
   .kv .mainimage {
      background-image: url(/ft/0000018/images/kv.jpg);
      background-size: calc(5000px / 2) calc(1170px / 2);
      background-position: center center;
   }




   /* 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 .mc24 {
      background-image: url(/ft/teaser/common/images/objects/24_2.png);
      width: 49px;
   }

   .objects .mc13_2 {
      background-image: url(/ft/teaser/common/images/objects/13.png);
      width: 35px;
      height: 35px;
      left: -690px;
      top: 710px;
   }

   .objects .mc23_4 {
      background-image: url(/ft/teaser/common/images/objects/23.png);
      width: 43px;
      height: 43px;
      left: -624px;
      top: 798px;
   }

   .objects .mc12_3 {
      background-image: url(/ft/teaser/common/images/objects/12.png);
      width: 122px;
      height: 76px;
      left: -750px;
      top: 1500px;
   }

   .objects .mc24_5 {
      background-image: url(/ft/teaser/common/images/objects/24.png);
      width: 75px;
      height: 20px;
      left: -650px;
      top: 1650px;
   }

   .objects .mc1_4 {
      background-image: url(/ft/teaser/common/images/objects/1.png);
      width: 55px;
      height: 55px;
      left: -700px;
      top: 2550px;
   }

   .objects .mc7_3 {
      background-image: url(/ft/teaser/common/images/objects/7.png);
      width: 64px;
      height: 64px;
      left: -625px;
      top: 2650px;
   }

   .objects .mc23_5 {
      background-image: url(/ft/teaser/common/images/objects/23.png);
      width: 59px;
      height: 59px;
      left: -642px;
      top: 3580px;
   }

   .objects .mc27_2 {
      background-image: url(/ft/teaser/common/images/objects/27.png);
      width: 33px;
      height: 33px;
      left: -594px;
      top: 3654px;
   }

   .objects .mc34_3 {
      background-image: url(/ft/teaser/common/images/objects/34.png);
      width: 33px;
      height: 64px;
      left: -714px;
      top: 4348px;
   }

   .objects .mc3_4 {
      background-image: url(/ft/teaser/common/images/objects/3.png);
      width: 81px;
      height: 66px;
      left: -674px;
      top: 4458px;
   }

   .objects .mc12_4 {
      background-image: url(/ft/teaser/common/images/objects/12.png);
      width: 122px;
      height: 76px;
      left: -734px;
      top: 5592px;
   }

   /*  */

   .objects .mc34_2 {
      background-image: url(/ft/teaser/common/images/objects/34.png);
      width: 33px;
      height: 64px;
      left: 578px;
      top: 800px;
   }

   .objects .mc3_2 {
      background-image: url(/ft/teaser/common/images/objects/3.png);
      width: 81px;
      height: 66px;
      left: 640px;
      top: 932px;
   }

   .objects .mc0_4 {
      background-image: url(/ft/teaser/common/images/objects/0.png);
      width: 122px;
      height: 47px;
      left: 624px;
      top: 1840px;
   }

   .objects .mc18_3 {
      background-image: url(/ft/teaser/common/images/objects/18.png);
      width: 64px;
      height: 66px;
      left: 556px;
      top: 1896px;
   }

   .objects .mc20_3 {
      background-image: url(/ft/teaser/common/images/objects/20.png);
      width: 48px;
      height: 44px;
      left: 628px;
      top: 2680px;
   }

   .objects .mc24_6 {
      background-image: url(/ft/teaser/common/images/objects/24_2.png);
      width: 48px;
      height: 20px;
      left: 568px;
      top: 2768px;
   }

   .objects .mc13_4 {
      background-image: url(/ft/teaser/common/images/objects/13.png);
      width: 35px;
      height: 35px;
      left: 578px;
      top: 3656px;
   }

   .objects .mc23_6 {
      background-image: url(/ft/teaser/common/images/objects/23.png);
      width: 43px;
      height: 43px;
      left: 628px;
      top: 3754px;
   }

   .objects .mc0_5 {
      background-image: url(/ft/teaser/common/images/objects/0.png);
      width: 122px;
      height: 47px;
      left: 540px;
      top: 4638px;
   }

   .objects .mc24_7 {
      background-image: url(/ft/teaser/common/images/objects/24.png);
      width: 75px;
      height: 20px;
      left: 624px;
      top: 4758px;
   }
   .objects .mc23 {
      left: 592px;
   }
}



@media only screen and (max-width: 812px) {
   .outer {
      padding: 0;
   }
   .kv {
      padding-bottom: 3em;
   }

   .schedule h2 {
      position: relative;
      padding-bottom: 3vw;
      font-size: 23px;
      border-bottom: none;
   }

   .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: left;
   }

   .section {
      width: 100%;
      margin-bottom: 7em;
   }

   .section h2 {
      font-size: 1.50em;
   }

   .btn a {
      width: 100%;
   }

   
   /* 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;
   }

   
   /* 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;
   }
}