@charset "utf-8";

.contents_character{
    color: #090909;
    font-family:"ヒラギノ角ゴ ProN W3",Hiragino Kaku Gothic ProN,YuGothic,"メイリオ",Meiryo,sans-serif;
    line-height: 1.8;
    background: url(../img/BgImage.png);
    position: relative;
    overflow: hidden;
}
.contents_character::after{
    content: "";
    display: block;
    width: 100%;
    height: 0;
    padding-top: 28%;
    bottom: 74px;
    background: url(../img/Silhouette.png) no-repeat center bottom;
    background-size: cover;
}

.contents_character .bgarea::before,
.contents_character .bgarea::after{
    content: "";display: block;z-index: 10;opacity: 0;
}
.contents_character .bgarea::before{
    max-width: 198px;width: 100%;height: 0;padding-top: 23%;background: url(../img/LeftSideParts2.png) no-repeat top left;
    position: absolute;left: 0;top: 22.7vw;background-size: contain;
    animation: slideInLeft 3s ease-out forwards; 
}
.contents_character .bgarea::after{
    max-width: 400px;width: 100%;height: 0;padding-top: 12%;background: url(../img/RightSideParts2.png) no-repeat top right;
    position: absolute;right: 0;top: 21vw;background-size: contain;
    animation: slideInRight 3s ease-out forwards;
}


@keyframes slideInLeft {
    0% {
        left: -198px;
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}
@keyframes slideInRight {
    0% {
        right: -400px;
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}


.bgarea_in::before,.bgarea_in::after{
    content: "";display: block;z-index: 10;
}
.bgarea_in::before{
    max-width: 608px;width: 100%;height: 0;padding-top: 23%;background: url(../img/LeftSideParts1.png) no-repeat top left;
    position: absolute;left: 0;top: 0;background-size: contain;
    animation: slideInTop 1s 4s ease-out forwards;opacity: 0;
}
.bgarea_in::after{
    max-width: 627px;width: 100%;height: 0;padding-top: 23%;background: url(../img/RightSideParts1.png) no-repeat top right;
    position: absolute;right: 0;top: 0;background-size: contain;
    animation: slideInTop 1s 4s ease-out forwards;opacity: 0;
}

@keyframes slideInTop {
    0% {
        top: -10%;
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}


.def_h1_title{display: none;}

.contents_character h2 {
    font-weight: 400;
    font-style: normal;
    line-height: 1;
    letter-spacing: 0.1rem;
    margin-bottom: 20px;
    font-weight: bold;
    line-height: 1;
}

.contents_character h2 span{
    display: block;
    line-height: 1;
    margin-top: 15px;
}

.framearea {
    background: #fff;
    /* padding-top: 88px; */
    background-size: 70%;
    position: relative;
    min-height: 367px;
}
/*
.framearea.wrapper::before {
    content: "";display: block;background: url(../img/bg_avanti.png) no-repeat;
    background-size: contain;background-position: center;
    width: 100%;max-width: 1323px;height: 0;padding-top: 11.8%;        
    position: absolute;right: 0;top: 68%;    
}*/

.img{width: 100%;}
.img img{object-fit: contain;width: 100%;}

.profile p{line-height: 1.6;}

table{width: 100%;}

.framearea_in{width: 100%;position: relative;z-index: 99;}
.flex_box{animation: zoomIn 0.6s 5s ease-out forwards;opacity: 0;}
@keyframes zoomIn {
    0% {
        transform: scale(.8);
        opacity: 0;
    }
    100% {
        transform: scale(1);
        opacity: 1;
    }
}

@media only screen and (min-width: 768px){
    .contents_character{padding: 60px 60px 74px;}
    /*.framearea.wrapper::before {right: 10%;background-position: right 60%;}*/
    .framearea_in{position: absolute;max-width: 940px;left: 50%;top: 4vw;transform: translateX(-50%);}
    .flex_box{display:flex;justify-content: space-between;flex-direction: row-reverse}
    .profile{padding-top: 5.5vw;padding-left: 80px;width: 42%;}
    .contents_character h2{font-size: 2.625rem;}
    .contents_character h2 span{font-size: 1.375rem;}
    .profile p{font-size: 1.125rem;margin-bottom: 25px;}
    .img{max-width: 535px;margin-right: -4vw;height: auto;}
    .profile table th{font-size: 1rem;padding: 10px 5px;}
    .profile table td{font-size: 1.25rem;padding: 10px;}
}
@media only screen and (max-width: 767px){
    .contents_character{padding: 15px;}
    .contents_character .bgarea::before{width: 15%;}
    .bgarea_in{padding: 0;}
    .framearea{padding: 15px;}
    /*.framearea.wrapper::before {top: 82%;}*/
    .contents_character h2{font-size: 1.5rem;text-align: center;}
    .contents_character h2 span{font-size: 0.875rem;}
    .profile{max-width: 520px;margin: 0 auto;padding: 0 10px;}
    .profile p{font-size: 1rem;}
    .img{text-align: center;margin-bottom: 25px;}
    .img img{width: 50%;}
    .profile table{margin-top: 10px;}
    .profile table th{width: 20%;padding: 5px 0;}
    .profile table td{font-size: 1.125rem;padding: 5px;}

}

@media only screen and (min-width: 768px) and (max-width: 980px){
    .profile{
        width: 50%;
        padding-left: 4vw;
    }
    .img {
        width: 40vw;
    }
}

@media only screen and (min-width: 981px) and (max-width: 1200px){
    .img {
        width: 36vw;
    }
}

@media only screen and (min-width: 1201px) and (max-width: 1619px){
    .img {
        width: 33vw;
    }
}

@media only screen and (min-width: 1620px) and (max-width: 1900px){
    .img {
        width: 30vw;
    }
}

@media only screen and (min-width: 1901px){
    .profile{
        max-width: calc(100% - 535px); 
    }
    .img{margin-right: -67px;}
}

