@charset "utf-8";


/*--------------------------------------------------------------------------
   Overwright
---------------------------------------------------------------------------*/
.page-ttl{
  background:url(../image/life/img_kv_pc.jpg) no-repeat center center;
  background-size: cover;  
}


/*--------------------------------------------------------------------------
   life
---------------------------------------------------------------------------*/
.life{
  padding: 50px 0 ;  
}
.life .txt-lead{
  margin-bottom: 25px;
  text-align: center;
  font-size: 2.8rem;
  line-height: 1.5;
  font-weight: 800;
  color: #7FBC26;  
}


.life_wrap{
    background-color: #99c752;
    position: relative;
    z-index: 1;
    padding: 120px 3% 5%;
}
.life_wrap::before{
    content: '';
    display: inline-block;
    position: absolute;
    z-index: -1;
    top: 0; right: 0;
    background-image: url(../image/life/schedule_bg01.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: top right;
    width: 30%; height: 30%;
}
.life_wrap::after{
    content: '';
    display: inline-block;
    position: absolute;
    z-index: -1;
    top: 0; left: 0;
    background-image: url(../image/life/schedule_bg02.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: top left;
    width: 30%; height: 30%;
}

.life_wrap h3{
    position: relative;
    text-align: center;
    color: #fff;
    font-weight: 600;
    font-size: 2.8rem;
}
.life_wrap h3::before{
    content: '';
    display: inline-block;
    position: absolute;
    background-image: url(../image/life/schedule_ttl.svg);
    background-repeat: no-repeat;
    background-position: top center;
    width: 220px; height: 46px;
    top: -50px;
}
.green{color: #7fbe26;}
.blue{color: #20ace3;}
.orange{color: #f3aa3c;}
.pink{color: #ea7a98;}

.column_list{
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    max-width: 600px;
    background-color: #fff;
    border-radius: 50px;
    padding: 10px 30px;
    font-size: 1.6rem;
    font-weight: 600;
    margin: 2% auto 2%;
}

.schedule_wrap{
    max-width: 1076px;
    margin: auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.schedule{
    position: relative;
    z-index: 1;
    border: 3px solid #231815;
    background-color: #fff;
    border-radius: 25px;
    width: 32%;
    margin-bottom: 3%;
}
.schedule_txt p{
    width: 50px;
    margin-right: 20px;
}
.schedule_txt{
    display: flex;
    justify-content: flex-start;
    padding: 15px 15px 30px;
    font-size: 1.5rem;
    line-height: 1.6;
    font-weight: 600;
}

.icon{
    position: relative;
    bottom: 0;
    z-index: 2;
}
.icon li{
    position: absolute;
}
.schedule:nth-of-type(2) .icon li:nth-of-type(1){top: -30px;}
.schedule:nth-of-type(3) .icon li:nth-of-type(1){top: -30px; right: 0;}
.schedule:nth-of-type(4) .icon li:nth-of-type(1){top: -180px; right: -20px;}
.schedule:nth-of-type(4) .icon li:nth-of-type(2){top: -30px; left: 10px;}
.schedule:nth-of-type(7) .icon li:nth-of-type(1){top: -30px; right: 10px;}
.schedule:nth-of-type(9) .icon li:nth-of-type(1){top: -50px; right: 75px;}
.schedule:nth-of-type(9) .icon li:nth-of-type(2){top: -96px; right: -4px;}
.schedule:nth-of-type(11) .icon li:nth-of-type(1){top: -20px; left: 10px;}
.schedule:nth-of-type(11) .icon li:nth-of-type(2){top: -20px; right: 0px;}
.schedule:nth-of-type(12) .icon li:nth-of-type(1){top: -10px; left: -10px;}
.schedule:nth-of-type(12) .icon li:nth-of-type(2){top: -10px; right: 15px;}


@media screen and (max-width: 1150px) {
    .schedule_wrap{
    max-width: 710px;
}
    .schedule{
        width: 49%;
    }
}


/*--------------------------------------------------------------------------
   mobile
---------------------------------------------------------------------------*/
@media screen and (max-width: 768px) {

  .page-ttl{
    background:url(../image/life/img_kv_sp.jpg) no-repeat center center;
    background-size: cover;  
  }   
  .life{
    padding: 30px 0 30px;  
  }
  .life .txt-lead{
    margin-bottom: 15px;
    font-size: 1.8rem;
  }
    .life_wrap{padding-top: 100px;}
    .life_wrap h3::before{
        transform: scale(.7);
        top: -40px;
    }
    .life_wrap::before{width: 40%; height: 50%;}
    .life_wrap::after{width: 40%; height: 50%;}
    
    .schedule_wrap{
        position: relative;
    max-width: 500px;
        margin: 30px auto 0;
    display: block;
}
.schedule_wrap::before{
    content: '';
    display: inline-block;
    position: absolute;
    top: 0; left: 0px;
    margin-left: 65px;
    background-image: url(../image/life/dot_sp.png);
    background-repeat: repeat;
    width: 17px; height: 100%;
    background-position:left top;
}
    .schedule{
    position: relative;
    z-index: 1;
    border: 3px solid #231815;
    background-color: #fff;
    border-radius: 10px;
    width: 75%;
        margin-left: auto;
    margin-bottom: 5%;
        padding: 15px;
}
.schedule:before{
  content: "";
  position: absolute;
  top: 30px;
  left: -24px;
  margin-top: -12px;
  border: 12px solid transparent;
  border-right: 12px solid #FFF;
  z-index: 2;
}
.schedule:after{
  content: "";
  position: absolute;
  top: 30px;
  left: -30px;
  margin-top: -14px;
  border: 14px solid transparent;
  border-right: 14px solid #231815;
  z-index: 1;
}
    .schedule_txt{
    display: block;
    padding: 10px 0 0;
    font-size: 1.4rem;
    line-height: 1.6;
    font-weight: 600;
}    
    li.schedule:nth-of-type(1) .spIcon{
        position: relative;
        display: inline-block;
    }
    li.schedule .spIcon::before{
        content: '';
        position: absolute;
        background-repeat: no-repeat;
        background-position: top left;
        background-size: contain;
        width: 60px; height: 60px;
    }
    li.schedule:nth-of-type(1) .spIcon::before{
        background-image: url(../image/life/month4_sp.svg);
        top: -15px; left: -100px;
    }
    li.schedule:nth-of-type(2) .spIcon::before{
        background-image: url(../image/life/month5_sp.svg);
        top: 0; left: -85px;
    }
    li.schedule:nth-of-type(3) .spIcon::before{
        background-image: url(../image/life/month6_sp.svg);
        top: 0; left: -85px;
    }
    li.schedule:nth-of-type(4) .spIcon::before{
        background-image: url(../image/life/month7_sp.svg);
        top: 0; left: -85px;
    }
    li.schedule:nth-of-type(5) .spIcon::before{
        background-image: url(../image/life/month8_sp.svg);
        top: 0; left: -85px;
    }
    li.schedule:nth-of-type(6) .spIcon::before{
        background-image: url(../image/life/month9_sp.svg);
        top: 0; left: -85px;
    }
    li.schedule:nth-of-type(7) .spIcon::before{
        background-image: url(../image/life/month10_sp.svg);
        top: 0; left: -85px;
    }
    li.schedule:nth-of-type(8) .spIcon::before{
        background-image: url(../image/life/month11_sp.svg);
        top: 0; left: -85px;
    }
    li.schedule:nth-of-type(9) .spIcon::before{
        background-image: url(../image/life/month12_sp.svg);
        top: 0; left: -85px;
    }
    li.schedule:nth-of-type(10) .spIcon::before{
        background-image: url(../image/life/month1_sp.svg);
        top: 0; left: -85px;
    }
    li.schedule:nth-of-type(11) .spIcon::before{
        background-image: url(../image/life/month2_sp.svg);
        top: 0; left: -85px;
    }
    li.schedule:nth-of-type(12) .spIcon::before{
        background-image: url(../image/life/month3_sp.svg);
        top: 0; left: -85px;
    }
    
    .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;
    }
    
.schedule: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;
    }
.schedule: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;
    }
.schedule: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;
    }
.schedule: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;}
.schedule: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;}
.schedule: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;}
.schedule: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;}
.schedule: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;}
.schedule: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;}
.schedule: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;}
.schedule: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;}
.schedule: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;}
.schedule:nth-of-type(12) .icon li:nth-of-type(2){top: -10px; right: 15px;}
    
}
@media screen and (max-width: 500px) {
    .schedule_wrap::before{
    content: '';
    display: inline-block;
    position: absolute;
    top: 0; left: 0px;
    margin-left: 27px;
    background-image: url(../image/life/dot_sp.png);
    background-repeat: repeat;
    width: 17px; height: 100%;
    background-position:left top;
}
}