  


#contents_area article{
    margin-bottom: 50px;
    background-color: rgba(255, 255, 255, .9);
    backdrop-filter: blur(5px);
    border-radius: 15px;
    padding: 50px;
    
}

#contents_area article h2{
    font-size: 30px;
    letter-spacing: 3px;
    text-align: center;
    line-height: 1.4;
}

#contents_area article .icon{
    width: 64px;
    margin: 0 auto;
    padding: 10px 0px 20px;
}






@media screen and (max-width: 767px) {

    #contents_area article h2{
        font-size: 4vw;
        letter-spacing: 0px;
    }

    #contents_area article .icon{
        width: 50px;
        margin: 0 auto;
        padding: 10px 0px 20px;
    }
}




@media screen and (max-width: 480px) {

    #contents_area article h2{
        font-size: 20px;
        letter-spacing: 0px;
    }

}


@media screen and (max-width: 360px) {

    #contents_area article h2{
        font-size: 5.5vw;
        letter-spacing: -.5px;
    }

}



/* history **/


#contents_area article#history ul{
    position: relative;
    padding-top: 35px;

    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

#contents_area article#history ul::before{
    content: "";
    position: absolute;
    display: flex;
    width: 2px;
    height: 100%;
    top: 0%;
    left: 50%;
    transform: translateX(-50%);
    background-color: #e0e0e0;
    z-index: -1;

}

#contents_area article#history ul li{
    position: relative;
    width: 50%;
    padding-bottom: 100px;
}

#contents_area article#history ul li:nth-child(2n-1){
    padding-right: 80px;
}

#contents_area article#history ul li:nth-child(2n){
    padding-left: 80px;
    transform: translateY(50%);
}

#contents_area article#history ul li dl{
    position: absolute;
    display: flex;
    flex-wrap: wrap;
    align-content: center;
    width: 100px;
    height: 100px;
    border-radius: 10px;
    background-color: #2fbec0;
    line-height: 1;
    z-index: 1;
}

#contents_area article#history ul li dl dt{
    position: relative;
    display: block;
    width: 100%;
    color: #FFF;
    line-height: 1;
    text-align: center;
    font-size: 30px;
    font-weight: 600;
    z-index: 5;
}

#contents_area article#history ul li dl dd{
    position: relative;
    display: block;
    width: 100%;
    color: #FFF;
    line-height: 1;
    text-align: center;
    padding-top: 5px;
    z-index: 6;
}

#contents_area article#history ul li:nth-child(2n-1) dl{
    right: -50px;
}

#contents_area article#history ul li:nth-child(2n) dl{
    left: -50px;
}

#contents_area article#history ul li dl::before{
    content: "";
    position: absolute;
    display: block;
    width: 100px;
    height: 2px;
    background-color: #2fbec0;
    top: 50%;
    z-index: -1;
}

#contents_area article#history ul li:nth-child(2n-1) dl::before{
    right: 50%;
}

#contents_area article#history ul li:nth-child(2n) dl::before{
    left: 50%;
}


#contents_area article#history ul li div{
    position: relative;
    
    z-index: 20;
}

#contents_area article#history ul li div h3{
    font-size: 28px;
    color:  #4e9ad9;
    line-height: 1.4;
    padding: 10px 0px 5px;
}

#contents_area article#history ul li div h4{
    display: inline-block;
    background-color: #4e9ad9;
    color: #FFF;
    padding: 3px 10px;
    line-height: 1.4;
}

#contents_area article#history ul li div p{
    font-size: 14px;
    padding: 10px 0px;
    line-height: 1.8;
}

#contents_area article#history ul li div span{
    display: block;
    margin-top: 5px;
}

#contents_area article#history ul li div span strong{
    position: relative;
    background-color: #f5f5f5;
    line-height: 1;
    padding: 3px 10px 4px 22px;
    font-size: 13px;
}

#contents_area article#history ul li div span strong::before{
    content: "";
    display: block;
    position: absolute;
    width: 11px;
    height: 11px;
    border: #000 solid 3px;
    left: 5px;
    top: 8px;
    border-radius: 50%;
}


@media screen and (max-width: 1250px) {

    #contents_area article#history ul li div h3{
        font-size: 2.1vw;
    }

}

@media screen and (max-width: 1100px) {

    #contents_area article#history ul li dl{
        width: 80px;
        height: 80px;;
    }

    #contents_area article#history ul li:nth-child(2n-1) dl{
        right: -40px;
    }
    
    #contents_area article#history ul li:nth-child(2n) dl{
        left: -40px;
    }

    #contents_area article#history ul li dl dt{
        font-size: 24px;
    }

    #contents_area article#history ul li dl dd{
        font-size: 15px;
    }

    #contents_area article#history ul li:nth-child(2n-1){
        padding-right: 60px;
    }
    
    #contents_area article#history ul li:nth-child(2n){
        padding-left: 60px;
    }

}

@media screen and (max-width: 1000px) {

    #contents_area article#history ul li div h4 br{
        font-size: 24px;
        display: none;
    }

    #contents_area article#history ul li div h3 br{
        font-size: 24px;
        display: none;
    }

}


@media screen and (max-width: 900px) {

    #contents_area article#history ul::before{
        display: none;
    }

    
    #contents_area article#history ul li{
        width: 100%;
        max-width: 640px;
        margin: 0 auto;
        padding-bottom: 50px;
    }

    #contents_area article#history ul li dl{
        display: flex;
        align-items: center;
        justify-content: center;
        width: 200px;
        height: 40px;
        border-radius: 5px;
    }

    #contents_area article#history ul li:nth-child(2n-1),
    #contents_area article#history ul li:nth-child(2n){
        padding-right: 0px;
        padding-left: 0px;
        transform: translateY(0%);
    }

    #contents_area article#history ul li:nth-child(2n-1) dl,
    #contents_area article#history ul li:nth-child(2n) dl{
        position: relative;
        right: auto;
        left: 0px;
        margin: 0 auto;
        z-index: 50;
    }

    #contents_area article#history ul li dl dt,
    #contents_area article#history ul li dl dd{
        display: inline-block;
        width: auto;
        padding: 0px 5px
    }

    #contents_area article#history ul li dl dd::before{
        content: "（";
    }

    #contents_area article#history ul li dl dd::after{
        content: "）";
    }
    
    #contents_area article#history ul li dl::before{
        display: none;
    }
  
    #contents_area article#history ul li div{
        position: relative;
        z-index: 20;
        top: 0px;
        padding-top: 10px;
    }

    #contents_area article#history ul li div h3{
        font-size: 28px;
    }
}


@media screen and (max-width: 540px) {

    

    #contents_area article#history ul li div h3{
        font-size: 24px;
    }

}



/* history **/




/* vision **/


#contents_area article#vision #plan{
    padding-top: 30px;
}

#contents_area article#vision #plan h3{
    background-color: #079395;
    max-width: 230px;
    margin: 0 auto;
    font-size: 20px;
    color: #FFF;
    text-align: center;
}

#contents_area article#vision #plan p{
    text-align: center;
    font-size: 36px;
    padding: 10px 0px 20px;
    line-height: 1.4;
}

#contents_area article#vision ul{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

#contents_area article#vision ul li{
    margin-top: 4%;
    width: 48%;
    background-color: #dcecf0;
    padding: 30px 20px 40px;
}

#contents_area article#vision ul li h4{
    text-align: center;
    line-height: 1.6;
    font-size: 26px;
    letter-spacing: 3px;
    padding-bottom: 20px;
}

#contents_area article#vision ul li p{
    background-color: #2a8fa9;
    color: #FFF;
    padding: 10px 15px;
    line-height: 1.6;
    font-size: 20px;
    letter-spacing: 2px;
    margin-bottom: 15px;
}

#contents_area article#vision ul li span{
    display: block;
    position: relative;
    padding: 0px 0px 15px 20px;
    font-size: 14px;
    line-height: 1.6;
    letter-spacing: 0.5px;
}

#contents_area article#vision ul li span small{
    display: inline-block;
}

#contents_area article#vision ul li span::before{
    content: "";
    position: absolute;
    display: block;
    width: 11px;
    height: 11px;
    background-color: #000;
    border-radius: 50%;
    left: 5px;
    top: 6px;
}



@media screen and (max-width: 900px) {

    #contents_area article#vision #plan h3{
        max-width: 200px;
        font-size: 18px;
    }
    
    #contents_area article#vision #plan p{
        font-size: 32px;
    }

    #contents_area article#vision ul li{
        margin-top: 4%;
        width: 100%;
        background-color: #dcecf0;
        padding: 30px 20px 40px;
    }

    #contents_area article#vision ul li h4{
        font-size: 22px;
        letter-spacing: 3px;
        padding-bottom: 20px;
    }
    
    #contents_area article#vision ul li p{
        background-color: #2a8fa9;
        color: #FFF;
        padding: 10px 15px;
        line-height: 1.6;
        font-size: 18px;
        letter-spacing: 2px;
        margin-bottom: 15px;
    }

}

@media screen and (max-width: 767px) {

    #contents_area article#vision #plan p{
        font-size: 4vw;
    }

    #contents_area article#vision #plan{
        padding-top: 15px;
    }

    #contents_area article#vision ul li{
        padding: 20px 15px 30px;
    }

    #contents_area article#vision ul li h4{
        font-size: 22px;
        letter-spacing: 3px;
        padding-bottom: 15px;
    }

}

@media screen and (max-width: 640px) {
    #contents_area article#vision #plan p{
        font-size: 5vw;
    }
}

@media screen and (max-width: 480px) {

    #contents_area article#vision #plan p{
        font-size: 5.5vw;
    }

    #contents_area article#vision ul li h4{
        font-size: 20px;
        letter-spacing: 3px;
        padding-bottom: 20px;
    }
    
    #contents_area article#vision ul li p{
        background-color: #2a8fa9;
        color: #FFF;
        padding: 10px 15px;
        line-height: 1.6;
        font-size: 16px;
        letter-spacing: 2px;
        margin-bottom: 15px;
    }

}

@media screen and (max-width: 360px) {

    #contents_area article#vision #plan p{
        font-size: 6vw;
    }
}

/* vision **/




/* data **/



#contents_area article#data table th{
    width: 180px;
    padding: 30px 10px 30px 0px;
    border-bottom: #7dd8e8 solid 1px;
    vertical-align: top;
}

#contents_area article#data table td{
    width : calc(100% - 180px) ;
    padding: 30px 0px 30px 20px;
    border-bottom: #a3a3a3 solid 1px;
}

#contents_area article#data table td h3{
    font-size: 18px;
    line-height: 1;
    border: #000 solid 1px;
    padding:  10px 15px 11px;
    margin-bottom: 15px;
}

#contents_area article#data table tr td ol {
    counter-reset: number 0;
    padding-top: 3px;
}

#contents_area article#data table tr td ol li {
    position: relative;
    padding-left: 2em;
    line-height: 1.6;
    padding-bottom: 10px;
  }

#contents_area article#data table tr td ol li::before {
    position: absolute;
    width: 1.5em;
    text-align: right;
    left: 0;
    counter-increment: number 1;
    content: counter(number)".";
  }


#contents_area article#data table td .icon_pdf{
    position: relative;
    padding-left: 24px;
}

#contents_area article#data table td .icon_pdf img{
    position: absolute;
    width: 16px;
    left: 0;
    top: 5px;
}



@media screen and (max-width: 767px) {


    #contents_area article#data table th{
        width: 100px;
        padding: 20px 10px 20px 0px;
        border-bottom: #87d3c6 solid 1px;
        vertical-align: top;
    }
    
    #contents_area article#data table td{
        width : calc(100% - 100px) ;
        padding: 20px 0px 20px 20px;
        border-bottom: #a3a3a3 solid 1px;
    }
    
    #contents_area article#data table td h3{
        font-size: 16px;
        border: #000 solid 1px;
        padding:  10px 15px 11px;
        margin-bottom: 15px;
    }
    
    
}

@media screen and (max-width: 540px) {

    #contents_area article#data table{
        font-size: 13px;
    }
    
}

@media screen and (max-width: 480px) {
    
    #contents_area article#data table th{
        width: 55px;
        padding: 20px 0px 20px 0px;
        line-height: 1.6;
    }
    
    #contents_area article#data table td{
        width : calc(100% - 55px) ;
        padding: 20px 0px 20px 20px;
    }
    
    #contents_area article#data table td h3{
        font-size: 14px;
        border: #000 solid 1px;
        padding:  10px 15px 11px;
        margin-bottom: 15px;
    }

    #contents_area article#data table td .icon_pdf{
        position: relative;
        padding-left: 20px;
    }
    
    #contents_area article#data table td .icon_pdf img{
        width: 14px;
        top: 4px;
    }
    
}


/* data **/




/* partner **/


#contents_area article#partner div{
    text-align: center;
    padding: 30px 0 50px;
}

#contents_area article#partner div a{
    max-width: 480px;
    display: block;
    border: #cccccc solid 1px;
    margin: 0 auto;
    text-align: center;
    padding: 10px;
}

#contents_area article#partner div a img{
    width: 80%;
    max-width: 260px;
}

@media screen and (max-width: 767px) {

    #contents_area article#partner div{
        text-align: center;
        padding: 15px 0 25px;
    }

}

/* partner **/




