@charset "utf-8";


/*--------------------------------------------------------------------------
   Overwright
---------------------------------------------------------------------------*/
.page-ttl{
  background:url(../image/schedule/img_kv_pc.jpg) no-repeat center center;
  background-size: cover;  
}


/*--------------------------------------------------------------------------
   schedule
---------------------------------------------------------------------------*/
.schedule{
  margin-bottom: 60px;
  padding: 50px 0 0;  
}
.schedule .inner{
  max-width: 100%;
  padding: 0;  
}
.schedule .txt-lead{
  margin-bottom: 25px;
  text-align: center;
  font-size: 2.8rem;
  line-height: 1.5;
  font-weight: 600;
  color: #F55267;  
}
.schedule .txt-lead + .txt{
  margin-bottom: 50px;
  font-size: 1.8rem;
  text-align:center  
}

.schedule_wrap{
    background-color: #ffe6ed;
    position: relative;
    z-index: 1;
    padding: 120px 3% 5%;
}
.schedule_wrap::before{
    content: '';
    display: inline-block;
    position: absolute;
    z-index: -1;
    top: 0; right: 0;
    background-image: url(../image/schedule/schedule_bg01.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: top right;
    width: 30%; height: 30%;
}
.schedule_wrap::after{
    content: '';
    display: inline-block;
    position: absolute;
    z-index: -1;
    top: 0; left: 0;
    background-image: url(../image/schedule/schedule_bg02.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: top left;
    width: 30%; height: 30%;
}

.schedule_wrap h3{
    position: relative;
    text-align: center;
    color: #f35267;
    font-weight: 600;
    font-size: 2.8rem;
}
.schedule_wrap h3::before{
    content: '';
    display: inline-block;
    position: absolute;
    background-image: url(../image/schedule/schedule_ttl.png);
    background-repeat: no-repeat;
    background-position: top center;
    width: 220px; height: 46px;
    top: -50px;
    left: 50%;
    transform: translateX(-50%);
}
.schedule_list{
    display: flex;
    max-width: 1076px;
    margin: 40px auto 0;
    flex-wrap: wrap;
    justify-content: space-between;
}
.schedule_list .event_month{
    position: relative;
    z-index: 1;
    border: 3px solid #231815;
    background-color: #fff;
    border-radius: 20px;
    width: 32%;
    margin-bottom: 3%;
  overflow: hidden;
}
.schedule_list .event_month .main{
    position: relative;
}
.schedule_list .event_month .main .month{
    width: 100px;
    padding: 7px 28px 0;
    background: #fff;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    position: absolute;
    bottom: -2px;
    left: 50%;
    transform: translate(-50%,0);
}
.schedule_list .event_month .main .month span{
  color: #afafaf;
  font-size: 1.2rem;
  line-height: 1;
  letter-spacing: .15rem;
  position: absolute;
  bottom: -18px;
  left: 50%;
  transform: translate(-50%,0);
}
.schedule_list .event_month .schedule_txt{
    display: flex;
    justify-content: flex-start;
    padding: 30px 25px 20px;
    font-size: 1.5rem;
    line-height: 1.6;
    font-weight: 500;
    position: relative;
}
.schedule_list .event_month .schedule_txt .event li span{
    display: inline-block;
    margin-right: 3px;
    color: #f35267;
    font-size: 80%;
    transform: translateY(-1px);
}
.schedule_list .event_month .schedule_txt .pop{
    position: absolute;
}
.schedule_list .event_month .schedule_txt .pop.pop01{
    width: 130px;
    bottom: -10px;
    right:  15px;
}
.schedule_list .event_month .schedule_txt .pop.pop02{
    width: 140px;
    bottom: 250x;
    right:  15px;
}


@media screen and (max-width: 1150px) {
    .schedule_list{
    max-width: 710px;
}
    .schedule_list .event_month{
        width: 49%;
    }
}


/*--------------------------------------------------------------------------
   mobile
---------------------------------------------------------------------------*/
@media screen and (max-width: 768px) {

  .page-ttl{
    background:url(../image/schedule/img_kv_sp.jpg) no-repeat center center;
    background-size: cover;  
  }   
  .schedule{
    margin-bottom: 40px;
    padding: 30px 0 0;  
  }
  .schedule .txt-lead{
    margin-bottom: 15px;
    font-size: 1.8rem;
  }
  .schedule .txt-lead + .txt{
    margin-bottom: 40px;
    font-size: 1.5rem;
  }
  .schedule_wrap{
    padding-top: 100px;
    padding-bottom: 15%;
  }
  .schedule_wrap h3::before{
    transform: scale(.7);
    top: -40px;
  }
  .schedule_wrap::before{width: 40%; height: 50%;}
  .schedule_wrap::after{width: 40%; height: 50%;}

  .schedule_wrap{
    position: relative;
    margin: 30px auto 0;
    display: block;
  }
.  schedule_wrap::before{
    content: '';
    display: inline-block;
    position: absolute;
    top: 0;
    left: 5%;
    background-image: url(../image/schedule/dot_sp.png);
    background-repeat: repeat;
    width: 17px; height: 93%;
    background-position:left top;
  }
  .schedule_list .event_month{
    position: relative;
    z-index: 1;
    border: 3px solid #231815;
    background-color: #fff;
    border-radius: 10px;
    width: 80%;
    margin-left: auto;
    margin-bottom: 5%;
    padding: 15px;
    overflow: visible;
  }
  .schedule_list .event_month:last-of-type{
    margin-bottom: 0;
  }
  .schedule_list .event_month:before{
    content: "";
    position: absolute;
    top: 30px;
    left: -24px;
    margin-top: -12px;
    border: 12px solid transparent;
    border-right: 12px solid #FFF;
    z-index: 2;
  }
  .schedule_list .event_month:after{
    content: "";
    position: absolute;
    top: 30px;
    left: -30px;
    margin-top: -14px;
    border: 14px solid transparent;
    border-right: 14px solid #231815;
    z-index: 1;
  }
  .schedule_list .event_month .schedule_txt{
    display: block;
    padding: 10px 0 0;
    font-size: 1.4rem;
    line-height: 1.6;
    font-weight: 600;
  }    
  .schedule_list .event_month .spIcon::before{
    content: '';
    position: absolute;
    background-repeat: no-repeat;
    background-position: top left;
    background-size: contain;
    width: 20%; height: 50px;
    transform: translateX(-50%);
  }
  .schedule_list .event_month:nth-of-type(1) .spIcon::before{
    background-image: url(../image/schedule/month4_sp.svg);
    top: 5px; left: -17%;
  }
  .schedule_list .event_month:nth-of-type(2) .spIcon::before{
    background-image: url(../image/schedule/month5_sp.svg);
    top: 5px; left: -17%;
  }
  .schedule_list .event_month:nth-of-type(3) .spIcon::before{
    background-image: url(../image/schedule/month6_sp.svg);
    top: 5px; left: -17%;
  }
  .schedule_list .event_month:nth-of-type(4) .spIcon::before{
    background-image: url(../image/schedule/month7_sp.svg);
    top: 5px; left: -17%;
  }
  .schedule_list .event_month:nth-of-type(5) .spIcon::before{
    background-image: url(../image/schedule/month8_sp.svg);
    top: 5px; left: -17%;
  }
  .schedule_list .event_month:nth-of-type(6) .spIcon::before{
    background-image: url(../image/schedule/month9_sp.svg);
    top: 5px; left: -17%;
  }
  .schedule_list .event_month:nth-of-type(7) .spIcon::before{
    background-image: url(../image/schedule/month10_sp.svg);
    top: 5px; left: -17%;
  }
  .schedule_list .event_month:nth-of-type(8) .spIcon::before{
    background-image: url(../image/schedule/month11_sp.svg);
    top: 5px; left: -17%;
  }
  .schedule_list .event_month:nth-of-type(9) .spIcon::before{
    background-image: url(../image/schedule/month12_sp.svg);
    top: 5px; left: -17%;
  }
  .schedule_list .event_month:nth-of-type(10) .spIcon::before{
    background-image: url(../image/schedule/month1_sp.svg);
    top: 5px; left: -17%;
  }
  .schedule_list .event_month:nth-of-type(11) .spIcon::before{
    background-image: url(../image/schedule/month2_sp.svg);
    top: 5px; left: -17%;
  }
  .schedule_list .event_month:nth-of-type(12) .spIcon::before{
    background-image: url(../image/schedule/month3_sp.svg);
    top: 5px; left: -17%;
  }
  .schedule_list .event_month .schedule_txt .pop.pop01{
    width: 45%;
    bottom: -10px;
    right:  -15px;
  }
  .schedule_list .event_month .schedule_txt .pop.pop02{
    width: 50%;
    bottom: 5px;
    right:  0;
  }
    
  .spBlue{
    position: relative;
    display: inline-block;
    background-color: #20ace3;
    color: #fff;
    border-radius: 5px;
    padding: 1px 7px;
    margin-left: 5px;
    font-size: 1.3rem;
  }
  .spOrange{
    position: relative;
    display: inline-block;
    background-color: #f3aa3c;
    color: #fff;
    border-radius: 5px;
    padding: 1px 7px;
    margin-left: 5px;
    font-size: 1.3rem;
  }
  .spPink{
    position: relative;
    display: inline-block;
    background-color: #ea7a98;
    color: #fff;
    border-radius: 5px;
    padding: 1px 7px;
    margin-left: 5px;
    font-size: 1.3rem;
  }
    
  .event_month:nth-of-type(1) .icon li:nth-of-type(1){
    bottom: 60px; right: 40px; background-position: bottom right;
    transform: scale(.5); transform-origin: bottom right;
  }
  .event_month:nth-of-type(1) .icon li:nth-of-type(2){
    bottom: -17px; right: -20px; background-position: bottom right;
    transform: scale(.5); transform-origin: bottom right;
  }
  .event_month:nth-of-type(2) .icon li:nth-of-type(2){
    bottom: -17px; right: -20px; background-position: bottom right;
    transform: scale(.45); transform-origin: bottom right;
  }
  .event_month:nth-of-type(3) .icon li:nth-of-type(1){
    bottom: 20px; right: -30px; background-position: bottom right;
    transform: scale(.80); transform-origin: top right;
  }
  .event_month:nth-of-type(4) .icon li:nth-of-type(1){
    top: inherit; bottom: 30px; right: -30px; background-position: bottom right;
    transform: scale(.80); transform-origin: top right;
  }
  .event_month:nth-of-type(5) .icon li:nth-of-type(1){
    top: -150px; right: -30px; background-position: bottom right;
    transform: scale(.36); transform-origin: top right;
  }
  .event_month:nth-of-type(6) .icon li:nth-of-type(1){
    top: -77px; right: -30px; background-position: bottom right;
    transform: scale(.4); transform-origin: top right;
  }
  .event_month:nth-of-type(7) .icon li:nth-of-type(2){
    top: -60px; right: -20px; background-position: bottom right;
    transform: scale(.45); transform-origin: top right;
  }
  .event_month:nth-of-type(9) .icon li:nth-of-type(1){
    top: -70px; right: 40px; background-position: bottom right;
    transform: scale(.65); transform-origin: top right;
  }
  .event_month:nth-of-type(9) .icon li:nth-of-type(2){
    top: -63px; right: -15px; background-position: bottom right;
    transform: scale(.65); transform-origin: top right;
  }
  .event_month:nth-of-type(10) .icon li:nth-of-type(1){
    top: inherit; bottom: -15px; right: -20px; background-position: bottom right;
    transform: scale(.50); transform-origin: bottom right;
  }
  .event_month:nth-of-type(11) .icon li:nth-of-type(3){
    top: -100px; right: -20px; background-position: bottom right;
    transform: scale(.55); transform-origin: top right;
  }
  .event_month:nth-of-type(12) .icon li:nth-of-type(2){
    top: -10px; right: 15px;
  }
    
}

@media screen and (max-width: 768px) {
  .schedule_wrap .schedule_list{
    position: relative;
  }
  .schedule_wrap .schedule_list::before{
    content: '';
    display: inline-block;
    position: absolute;
    top: 0; left: 5%;
    background-image: url(../image/schedule/dot_sp.png);
    background-size: 100%;
    background-repeat: repeat;
    width: 14px; height: 100%;
    margin: 3% 0;
    background-position:left top;
  }
}