@charset "UTF-8";
/* ===============================
	about person
 =============================== */

/* common ----------------------------- */

figure img{
    width: 100%;
}
/* about us ----------------------------- */

.about_us{
    padding: 10.5% 0 7%;
    background: #F5F5F5;
}

.about_box-list{
    margin: 21% auto;
}
.about_box-list .item {
    margin: 2.8% auto 10%;
}

.about_box-list .item .wrap-inner_01{
    background: #fff;
    position: relative;
}
.about_box-list .item .wrap-inner_01:before,
.about_box-list .item .wrap-inner_01:after{
    content: "";
    position: absolute;
    bottom: 0;
    z-index: 0;
}

.about_box-list .item .img{
    width: 50%;
    position: relative;
    z-index: 1;
}

.about_box-list .item .box {
    width: 100%;
    padding: 11.5% 0 10.4%;
    position: relative;
    z-index: 1;
}
.about_box-list .item .box p {
    /* font-size: min(3.56vw,1.4rem); */
    line-height: 3.6;
    margin: .9em 0 0;
}

.about_box-list .item .wrap-inner_01:before {
    width: 33%;
    height: 100%;
}

.about_box-list .item:nth-child(odd) .wrap-inner_01:before {
    right: 0;
    background: #fff url(../images/bg_about-odd_sp.png) no-repeat 100% 50%;
    background-size: contain;
}

.about_box-list .item:nth-child(even) .wrap-inner_01:before {
    left: 0;
    background: #fff url(../images/bg_about-even_sp.png) no-repeat 0% 50%;
    background-size: contain;
}

.about_box-list .item .wrap-inner_01:after {
    width: 8%;
    height: 100%;
}

.about_box-list .item:nth-child(odd) .wrap-inner_01:after {
    left: 0;
    background: #f5f5f5 url(../images/bg_about-odd02_sp.png) no-repeat 100% 50%;
    background-size: contain;
}

.about_box-list .item:nth-child(even) .wrap-inner_01:after {
    right: 0;
    background: #f5f5f5 url(../images/bg_about-even02_sp.png) no-repeat 0% 50%;
    background-size: contain;
}

/* company profile ----------------------------- */

.company_profile {
    padding: 26% 0;
    background: url(../images/bg_company_profile_sp.png) repeat;
    background-size: 100% auto;
}

.company_profile .wrap{
    position: relative;
}

.company_profile .wrap:before,
.company_profile .wrap:after{
    content: "";
    position: absolute;
    z-index: 3;
}

.company_profile .wrap:before {
    width: 32.2%;
    height: 10.7%;
    right: 0;
    background: url(../images/img-compay_01@2x.png) no-repeat 100% 0%;
    background-size: contain;
    top: -8.5%;
}

.company_profile .wrap:after {
    width: 42.6%;
    height: 10.96%;
    left: 3%;
    bottom: -8.8%;
    background: url(../images/img-compay_02@2x.png) no-repeat 0% 100%;
    background-size: contain;
}

.company_profile .box-inner {
    padding: 11.8% 0 1px 0;
    position: relative;
}

.company_profile .heading_07 .en:before {
    content: "";
    width: .53em;
    height: .53em;
    background: #E60213;
    border-radius: 100%;
    position: relative;
    /* left: -.2em; */
    display: inline-block;
    vertical-align: middle;
    margin: 0 .4em 0 0;
}

.company_profile .prof_box {
    width: 85.5%;
    margin: 6.8% 5% 5.8% auto;
    max-width: 520px;
}

.company_profile .prof_box dt,
.company_profile .prof_box dd{
    margin: 0 0 5.2%;
}
.company_profile .prof_box dt {
    width: 39%;
    font-size: min(3.56vw,1.4rem);
    padding: 0 0 0 .5em;
    position: relative;
}
.company_profile .prof_box dt:before {
    content: "";
    width: 2px;
    height: 1.3em;
    background: #0376C1;
    position: absolute;
    left: 0;
    top: .2em;
}

.company_profile .prof_box dd {
    width: 61%;
    font-size: min(3.56vw,1.4rem);
}

/* 下層ページリスト ----------------------------- */

.page_list-wrap {
    background: #F5F5F5 url(../images/bg-page_sp.png) no-repeat 166% 101.8%;
    background-size: 92% auto;
    padding: 15.5% 0 9.5%;
}

.page_list-wrap .item {
    width: 97%;
    margin: 0 0 3% auto;
    padding: 0;
}
.page_list-wrap .item a:hover{
    opacity: .7;
}
.page_list-wrap .item a{
    transition: all .4s;
    padding: 11.5% 14% 2.9% 14%;
}

.page_list-wrap .item .img {
    margin: 0 auto;
    width: 100%;
}

.page_list-wrap .item .box {
    padding: 12.5% 0 10%;
    width: 100%;
    position: relative;
}

.page_list-wrap .item .box p{
    font-size: min(3.56vw,1.4rem);
    line-height: 1.75;
    margin: 1em auto 0;
}

.page_list-wrap .item .box .btn {
    font-size: min(2.28vw,.9rem);
    color: #fff;
    border-radius: 100%;
    background: #E60113;
    text-align: center;
    width: 5.93em;
    height: 5.93em;
    position: absolute;
    top: 1.35em;
    right: 0.1em;
    line-height: 1.5;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    align-content: center;
	font-family: 'Michroma', sans-serif;
    margin: 4.5% 0 0 1.5%;
}
/*
.page_list-wrap .item .box .btn:before {
    content: "";
    width: 100%;
    height: 100%;
    border-radius: 100%;
    border: 1px solid #E60113;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%) scale(1.1);
}*/
.page_list-wrap .item .box .btn:before {
    content: "";
    /* width: 100%; */
    /* height: 100%; */
    border-radius: 100%;
    border: 1px solid #E60113;
    position: absolute;
    /* left: 50%; */
    /* top: 50%; */
    /* transform: translate(-50%, -50%) scale(1.1); */
    width: calc(100% + .8em);
    height: calc(100% + .8em);
    left: -.4em;
    top: -.4em;
}

/*PC Layout
===================================*/
@media screen and (min-width: 769px) {
	
	/* about us -----------------------------pc */
	
    .about_us{
        padding: 6% 0 12%;
        overflow-x: hidden;
    }
    .about_box-list{
        margin: 125px auto 0;
    }
    .about_box-list .item {
        margin: 0 auto 60px;
    }
    .about_box-list .item .img {
        width: 50%;
    }
    .about_box-list .item:nth-child(odd) .img{
        margin: -85px 0 0 0;
    }
    .about_box-list .item:nth-child(even) .img{
        margin: 0 0 -5.8% 0;
        left: 4%;
    }

    .about_box-list .item .box{
        width: 46%;
        padding: 8.9% 0 7.4%;
    }

    .about_box-list .item .box p{
        /* font-size: min(3.56vw,1.4rem); */
        line-height: 2.7;
        margin: 1.8em 0 0;
    }
    
    .about_box-list .item:nth-child(even) .box {
        width: 53.5%;
        padding: 10.9% 0 9.4% 16%;
        margin: 0 -4% 0 0;
    }

    .about_box-list .item .wrap-inner_01:before {
        width: 50%;
        height: 100%;
    }

    .about_box-list .item:nth-child(odd) .wrap-inner_01:before {
        right: -14.5%;
        background: #fff url(../images/bg_about-odd@2x.png) no-repeat 100% 50%;
        background-size: contain;
    }
    
    .about_box-list .item:nth-child(even) .wrap-inner_01:before {
        left: -14.5%;
        background: #fff url(../images/bg_about-even@2x.png) no-repeat 0% 50%;
        background-size: contain;
    }

    .about_box-list .item .wrap-inner_01:after {
        width: 31%;
    }

    .about_box-list .item:nth-child(odd) .wrap-inner_01:after {
        left: -1px;
        background: #f5f5f5 url(../images/bg_about-odd02@2x.png) no-repeat 100% 50%;
        background-size: contain;
    }

    .about_box-list .item:nth-child(even) .wrap-inner_01:after {
        right: -1px;
        background: #f5f5f5 url(../images/bg_about-even02@2x.png) no-repeat 0% 50%;
        background-size: contain;
    }

    .about_box-list .item:nth-child(even) .wrap-flex_box{
        flex-direction: row-reverse;
        align-items: flex-end;
    }
    
    /* .about_box-list .item .box p {
        font-size:  min(1.35vw,2.2rem);
    } */

    /* company profile -----------------------------pc */

    .company_profile {
        padding: 88px 0 115px;
        background: url(../images/bg_company_profile@2x.png) repeat;
        background-size: 1920px auto;
    }
    
    .company_profile .box-inner{
        padding: 4.95% 0 1px 0;
    }
    
    .company_profile .heading_07 .en:before {
        width: .3em;
        height: .3em;
        margin: 0 .2em 0 0;
    }
    .company_profile .prof_box {
        width: 78%;
        margin: 6.8% auto 5.8%;
        max-width: 520px;
    }

    .company_profile .prof_box dt,
    .company_profile .prof_box dd{
        margin: 0 0 28px;
    }

    .company_profile .prof_box dt{
        width: 38%;
        font-size: 1.9rem;
    }
    .company_profile .prof_box dd {
        width: 62%;
        font-size: min(1.35vw,1.6rem);
    }

    .company_profile .wrap:before {
        width: 27%;
        height: 22.78%;
        top: inherit;
        bottom: -4%;
        right: -8.5%;
    }

    .company_profile .wrap:after {
        width: 36.6%;
        height: 22.96%;
        left: -18%;
        bottom: -4%;
    }
    
    /* 下層ページリスト -----------------------------pc */

    .page_list-wrap {
        background: #F5F5F5 url(../images/bg-page@2x.png) no-repeat 100% 95%;
        background-size: 77% auto;
        padding: 3.5% 0 4.5%;
    }

    .page_list-wrap .item .heading {
        font-size:  min(1.35vw,2.2rem);
    }

    .page_list-wrap .item .img{
        margin: 3% 0 0 -3%;
        width: 51.6%;
    }

    .page_list-wrap .item .box p {
        font-size: min(1.35vw,1.6rem);
        margin: 1.1em 0 .8em;
        line-height: 1.75;
    }

    .page_list-wrap .item a{
        padding: 5% 4% 2.9% 0;
    }

    .page_list-wrap .item .box{
        width: 47%;
        padding: 0;
    }

    .page_list-wrap .item .box .btn {
        font-size: min(1.32vw,1.4rem);
        position: relative;
        top:inherit;
        right: inherit;
    }
    .heading_06 span{
        font-size: min(2.5vw,3.4rem);
    }
}
/*SP Layout
===================================*/
@media screen and (max-width: 768px) {
	
	/* about us -----------------------------sp */

    .about_box-list .item:nth-child(even) .wrap-flex_box{
        flex-direction: column-reverse;
    }
    .about_box-list .item .wrap-inner_01 {
        width: 100%;
        padding: 0 0 0 13%;
    }
    .about_box-list .item:nth-child(odd) .wrap-flex_box{
        flex-direction: column;
    }
    .about_box-list .item:nth-child(odd) .img {
        width: 65.8%;
        margin: -12% 0 0 -6.2%;
    }
    .about_box-list .item:nth-child(even) .img {
        width: 66%;
        margin: 0 9% -12% auto;
    }

    .about_box-list .item:nth-child(even) .box {
        padding: 21.6% 0 15.8%;
    }
    /* .heading_06 span{
        font-size: 1.6rem;
    } */

    /* company profile -----------------------------sp */

    .company_profile .wrap {
        width: 90%;
    }

    /* 下層ページリスト -----------------------------sp */
    .page_list-wrap .item {
        width: 100%;
        margin: 0 auto 10%;
        padding: 0;
    }
    .page_list-wrap .item a {
        flex-direction: column;
        padding: 11.5% 10% 2.9% 10%;
    }
    .about_box-list .item .box p{
        font-size: 1.4rem;
        line-height: 2.6;
    }
    .page_list-wrap .item .box .btn{
        right: -20px;
    }
    .page_list-wrap .item .box p{
        font-size: 1.4rem;
    }

    .page_list-wrap .item .heading_06 span {
        padding-right: 1em;
    }

}

/* Layout customize
===================================*/
@media screen and (max-width: 1024px) {
}
@media screen and (max-width: 1750px) and (min-width: 769px) {
}
