@charset "UTF-8";



/***main-visual***/

.sub-main-visual{
    color:white;
    text-align: center;
}

figure.sub-kv{
    position:relative;
    max-height:490px;
    height:490px;
    overflow: hidden;
    transition: .25s ease;
}

figure.sub-kv::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
    /*z-index: 1;*/
    transition: .25s ease;
}

figure.sub-kv > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

figure.kv{
    position:relative;
    max-height:490px;
    height:490px;
    overflow: hidden;
    transition: .25s ease;
}

figure.kv::before{
    content: "";
    background-color: black;
    mix-blend-mode: multiply;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
    opacity: 0.7;
    z-index: 1;
    transition: .25s ease;
}

figure.kv > img{
    width:100%;
    height: 100%;
    object-fit: cover;
}



.sub-main-visual .sub-main-wrap{
    position: absolute;
    margin-top: 100px;
    padding: 0 20px;
    width: 100%;
    z-index: 1;
}

.firm-intro{
    position:relative;
}

.firm-ci{
    margin-bottom:60px;
}

.firm-ci figure{
    margin-right:20px;
}

.firm-ci figure img{
    max-height:100px;
}

h1.firm-name{
    font-size:22px;
    text-align: left;
}

.head-line{
    top:45%;
    width: 100%;
    position: relative;
}

.head-line p{
    text-align: center;
    font-size: 22px;
    font-weight: bold;
    letter-spacing: .1rem;
    text-shadow: 1px 1px 3px #808080;
}

.head-line h1.read{
    margin:0;
    z-index: 1;
    margin-bottom: 20px;
    text-shadow: 1px 1px 3px #808080;
}

.teaser-head-line{
    top:30%;
    width: 100%;
    position: relative;
}

.teaser-head-line p{
    text-align: center;
    font-size: 22px;
    font-weight: bold;
    letter-spacing: .1rem;
    text-shadow: 1px 1px 3px #808080;
}

.head-line p .small{
    font-size: 18px;
}

.teaser-head-line h1.read{
    margin:0;
    z-index: 1;
    margin-bottom: 20px;
    text-shadow: 1px 1px 3px #808080;
}

h1.read{
    font-size: 42px;
    margin-bottom:80px;
    line-height: 1.25;
    width:100%;
    position:relative;
}

.top_text{
    text-align: center;
    line-height: 1.8rem;
    font-size: 16px!important;
    font-weight: bold !important;
    margin-bottom: 2rem;
    letter-spacing: .2rem;
}

.top_text a span{
    text-decoration: underline;
    text-underline-offset: 0.2em;
    font-size: 20px;
    padding: 5px;
    display: inline-block;
}

.top_text a:hover{
    opacity:0.7;
}

.tag{
    display: flex;
    justify-content: flex-end;
}

.tag > div{
    margin-left:10px;
}

.tag > div:first-child{
    margin-left:0;
}

.tag span{
    padding:10px 0;
    width:130px;
    border:1px solid white;
    display:inline-block;
    line-height: 1;
}

.name span.position{
    margin-right:10px;
}

@media screen and (max-width: 768px){
.contents .head-line{
    top:55%;
    width: 100%;
    position: absolute;
    padding: 0 20px;
}
.contents #top50{
    top:50%;
}
    .head-line{
    top:50%;
    width: 100%;
    position: absolute;
    padding: 0 20px;
}
    .head-line h1.read {
    margin: 0;
    z-index: 1;
    margin-bottom: 10px;
}
    .head-line p {
    font-size: 14px;
    line-height: 1.5rem;
}
    .head-line p .small{
    font-size: 11px;
}
    .teaser-head-line{
    top:30%;
    width: 100%;
    position: absolute;
    padding: 0 20px;
}
    .teaser-head-line h1.read {
    margin: 0;
    z-index: 1;
    margin-bottom: 10px;
}
    .teaser-head-line p {
    font-size: 16px;
}
    .top_text a span {
    font-size: 18px;
    padding: 2px;
}
    h1.read{
        font-size: 24px;
        margin-bottom:80px;
        line-height: 1.25;
        width: 100%;
        padding: 0 20px;
    }

    .firm-ci figure img {
        max-width: 100px;
    }

    h1.firm-name {
        font-size: 15px;
    }

    .top_text {
    font-size: 13px!important;
}

    .tag{
        flex-wrap:wrap;
        justify-content: flex-start;
        margin:-5px -5px 0;
    }

    .tag > div {
        width: 33.3333%;
        margin-left: 0;
        padding:5px;
    }

    .tag span{
        width:100%;
    }
}


/***single-page***/

.post{
    min-height:30vh;
}

.single .post .data{
    font-size:18px;
}

.category{
    display:inline-block;
    font-size:13px;
    font-weight:bold;
    width:64px;
    text-align:center;
    line-height:1;
    padding:3px 0;
}

.cat-all{
    background:gray;
    color:white;
    border:1px solid gray;
}

.cat-news{
    background:#9B8BB4;
    color:white;
    border:1px solid #9B8BB4;
}
.cat-pr{
    background:white;
    color:black;
    border:1px solid black;
}

.cat-other{
    background:black;
    color:white;
    border:1px solid black;
}

.content{
    margin-bottom:100px;
}

.navi-area{
    height:60px;
}

.navi-area a{
    color:#363636;
}

.navi-area > div{
    position:absolute;
    top:0;
}

.navi-area .list-back{
    left:50%;
    transform: translate(-50%,0);
}

.navi-area .previous{
    left:0;
    top:10px;
}

.navi-area .next{
    right:0;
    top:10px;
}

.navi-area > div a{
    position:relative;
}

.navi-area > div a::after{
    position:relative;
    content: "";
    background: url(../img/link-arrow.svg);
}

.navi-area .list-back a{
    padding: 10px 0;
    width: 206px;
    border: 1px solid #3e3c3c;
    display: block;
    text-align: center;
    position: relative;
    color: #3e3c3c;
    letter-spacing: 3px;
}

.navi-area .list-back a::after{
    right:20px;
}

.navi-area .previous a{padding-left:30px;}
.navi-area .previous a::after{left:0;transform: translate(0,-50%) rotate(180deg)!important;}

.navi-area .next a{padding-right:30px;}
.navi-area .next a::after{right:0;}



.navi-area .list-back a::after,
.navi-area .previous a::after,
.navi-area .next a::after {
    width: 4px;
    height: 8px;
    position: absolute;
    top: 50%;
    transform: translate(0,-50%);
}

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

    .navi-area .list-back a{
        width: 100%;
    }

    .navi-area .list-back{
        top:50px;
        width: 100%;
    }
}


/***archive***/


.refine > div {
    width:150px;
    text-align:center;
    padding:8px;
    margin:0 10px;
}

.archive ul li{
    margin-bottom:60px;
}

.archive ul li a{
    display:flex;
}

.archive ul li a{
    color:#363636;
    transition: all .3s;
}

.archive ul li a:hover{
    opacity: .5;
    transition: all .3s;
}

.archive ul li .data,
.archive ul li .category{
    margin-right:40px;
}

.filter > div{
    position:relative;
}

.filter > div.active{
    pointer-events: none;
}

.filter > div.active:before {
content: '';
position: absolute;
left: 0;
top: 0;
display: inline-block;
width: 0;
height: 0;
border-style: solid;
border-width: 15px 15px 0 0;
border-color: #333 transparent transparent transparent;
}

.is-animated {
animation: .6s fade-in;
}

@keyframes fade-in {
0% {
    opacity: 0;
    transition:all 3s;
}
100% {
    opacity: 1;
    transition:all 3s;
}
}

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

    .post .sub-wrap{
        padding:10px 20px;
    }

    .archive ul li{
        margin-bottom:20px;
    }

    .archive  ul li a{
        display:block;
    }

    .archive ul li .d-c{
        margin-bottom:15px;
    }

    .archive ul li .data{
        font-size:16px;
        margin-right:20px;
    }

    .archive ul li .category {
        font-size: 12px;
        padding: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-right:0;
    }

    .refine{
        padding:0 20px;
        margin:40px -5px;
    }

    .refine > div {
        width: calc(100% / 4);
        margin: 0 5px;
    }

    .d-c{
        margin-bottom:10px;
    }

}

/***firm-slide***/

.wpaw-slider .slick-slide {
    max-height: 1100px;
}

.firm-slide .sub-slide-wrap{
    max-width: 1480px;
    margin: 20px auto;
    overflow: hidden;
}

.slick-slide{
    transition: .3s ease;
    position: relative;
}

.slick-slide{
    overflow: hidden;
}

.slick-slide figure{

}

.slick-slide > div{

}

.slick-slide:not(.slick-current) div::before{
    content: "";
    background-color: black;
    mix-blend-mode: multiply;
    position: absolute;
    top: 0;
    left: 10px;
    width: 100%;
    height: 100%;
    display: block;
    opacity: 0.7;
    z-index: 1;
}

.slick-slide img {
    margin: 0 10px;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.slick-slider button {
    background: none;
    border: none;
    font-size: 0;
}

.slick-prev:before, .slick-next:before {
    content: none!important;
}

.slick-prev,.slick-next{
    width:21px!important;
    height:38px!important;
    position: absolute;
    top: 50%;
    transform: translate(0,-50%);
    cursor:pointer;
    z-index: 9;
}

.slick-prev::after,.slick-next::after{
    content: '';
    width:21px;
    height:38px;
    display: block;
}

.slick-prev{
    left:30px!important;
}

.slick-next{
    right:30px!important;
}

.slick-next::after {
    background:url(../img/slide-arrow.png);
}

.slick-prev::after{
    background:url(../img/slide-arrow.png);
    transform: rotate(180deg);;
}

.slick-dots {
    bottom: -35px!important;
}

.slick-dots li {
    margin:0!important;
}

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



}

/***interview***/

section.interview{
    margin-bottom: 30px;

}

.head-area{
    margin: 14px auto;
}

.sub-wrap{
    max-width:1080px;
    margin: 10px auto;
}

h3.head-line{
    margin-bottom:20px;
    line-height: 1;
    letter-spacing: 3px;
}

h2.title{
    font-size:30px;
    font-weight: 600;
    margin-bottom:20px;
    line-height: 1.25;
    letter-spacing: 3px;
}

.interview .name{
    font-size:18px;
    margin-bottom:40px;
    letter-spacing: 3px;
}


p.interviewer-read{
    font-size:16px;
    font-weight:600;
    line-height:2;
    margin-bottom:60px;
    letter-spacing: 2px;
}

.read-container{
    position: relative;
    max-width: 1480px;
    height: auto;
    margin: 0 auto 40px;
}

.read-block{
    z-index:1;
}

.read-block::before{
    content:"";
    background-color: rgba(255,255,255,0.8);
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    right: 0;
    z-index: -1;
}

.read-block h3{
    font-size:24px;
    font-weight:600;
    letter-spacing: 3px;
    margin-bottom: 10px;
    border-bottom: 2px solid black;
    line-height: 1.25;
    position:relative;
}

/*.read-block h3::before{
    content:"";
    background-color:tomato;
    width:100%;
    height:2px;
    position:absolute;
    left:0;
    bottom:0;
}*/

.read-block p.txt{
    line-height: 1.75;
    letter-spacing: 2px;
}

.first-block .read-block .txt-block{
    padding:0 100px 40px 40px;
}

.first-block figure{
    z-index:0;
    max-width: 54%;
    position:absolute;
    top:0;
    left:0;
}

.first-block .read-block{
    max-width: 54%;
    top:45px;
    margin-left: auto;
    position: relative;
    overflow: hidden;
}

.first-block .read-block h3{
    padding: 35px 0 10px 40px;
}

@media screen and (min-width: 1050px){

    .first-block figure{
        z-index:0;
        max-width: 54%;
        position:inherit;
        top:inherit;
        left:inherit;
    }

    .first-block .read-block {
        top: 45px;
        right:0;
        position: absolute!important;

    }
}

.second-block h3{
    padding:0 0 10px 100px;
}

.second-block .read-block p.txt{
    padding:0 100px;
}

.panel{
    position:absolute;
}
.panel::before{
    content:"";
    background-color:#f6f8f8;
    width:100%;
    height:100%;
}


.third-block figure{
    z-index:0;
    position:absolute;
    top:0;
    right:0;
}

.third-block .read-block{
    max-width: 72%;
    top:45px;
    margin-right: auto;
    position: relative;
    overflow: hidden;
}

.third-block .read-block h3 {
    padding: 35px 0 10px 100px;
}

.third-block .read-block p.txt{
    padding:0 40px 40px 100px;
}

.fourth-block figure{
    z-index:0;
    position:absolute;
    top:40px;
    left:12.5%;
    z-index: 1;
}

.fourth-block .read-block{

}

.fourth-block .read-block h3{
    padding: 90px 100px 10px 54%;
}

.fourth-block .read-block .txt-block{
    padding: 0px 100px 10px 54%;
}

.profile{
    background-color:#f6f8f8;
    margin:60px 0;
}

.profile .block{
    padding:40px 0;
    flex: 2;
}

.profile figure{
    margin-left:30px;
    flex: 1;
}

.profile figure img{

}

.profile h3,.profile .name{
    margin-bottom:10px;
}

.profile .name{
    font-size:18px;
    letter-spacing: 3px
}

.profile .history{
    letter-spacing: 2px;
    line-height: 1.75;
}

.data-wrap{
    margin-bottom: 45px;
}

.data-wrap dl{
    display:flex;
    margin-bottom:10px;
}

.data-wrap dt{
    border:1px solid black;
    padding:10px;
    width:180px;
    margin-right:30px;
    text-align:center;
    align-items: center;
    display: flex;
    justify-content: center;
}

.data-wrap dd{
    display: flex;
    align-items: center;
}

span.type{
    display:block;
}

.firm-summary{
    background-color:#f6f8f8;
    margin-bottom: 60px;
}

.firm-summary .sub-wrap{
    padding:40px 0;
}

.firm-summary h3{
    margin-bottom:10px;
}

.firm-summary p.txt{
    margin-bottom:10px;
}

.firm-summary p.txt,.point{
    letter-spacing: 2px;
    line-height: 1.75;
}

.firm-summary .point p{
    margin-right:20px;
}


@media screen and (max-width: 768px){
    .read-container figure{
        position: inherit;
        max-width:100%;
    }

    .read-block{
        max-width:100%!important;
        top:inherit!important;
    }

    .read-container .read-block h3{
        font-size:20px;
    }

    .read-container .read-block h3{
        padding:0 20px 10px!important;
    }

    .read-container .read-block .txt-block{
        padding:0 20px 10px!important;
    }

    .third-block .read-block p.txt {
        padding:0!important;
    }

    .read-container .txt-block figure{
        margin:20px 0;
    }

    .interview .sub-wrap {
        margin: 0 0 50px 0;
    }

    .interview h3.head-line {
        font-size:18px;
        line-height: 1;
        letter-spacing: 3px;
    }

    .interview h2.title {
        font-size: 20px;
        letter-spacing: 2px;
    }

    .interview .name {
        font-size: 16px;
        margin-bottom: 20px;
    }

    p.interviewer-read {
        font-size: 14px;
        line-height: 1.8;
        margin-bottom: 0;
    }

    .second-block .read-block p.txt {
        padding: 0;
    }

    .third-block .txt-block figure{
        width: 70%;
        margin: 20px auto;
    }

    .fourth-block figure {
        position:inherit;
        top:inherit;
        left:inherit;
        margin: 0 20px 20px;
    }

    section.interview {
        margin-bottom: 0;
        overflow: auto;
    }

    .profile {
        margin:0 0 30px;
    }

    .profile > .sub-wrap,.firm-data .data-wrap {
        padding: 0 20px;
    }

    .profile figure{
        margin:0 0 20px;
    }

    .firm-data .sub-wrap{
        padding:0;
    }

    .firm-data h3{
        padding:0 20px 10px;
        letter-spacing: 3px;
        margin-bottom: 18px;
        border-bottom: 2px solid black;
        line-height: 1.25;
    }

    .firm-data dl{
        display:block;
    }

    .data-wrap dt {
        width: 100%;
        margin-right: 0;
        margin-bottom:18px;
    }

    .data-wrap dd{
        margin-bottom:18px;
    }

    .firm-summary .sub-wrap {
        padding: 40px 20px;
    }
}

/***about***/

.about p.txt{
    margin-bottom:30px;
}

.about p.txt:last-child{
    margin-bottom:0;
}

/*.about .more{
    margin:100px 0 40px;
}*/

/*.about .more a {
    padding: 10px 0;
    width: 370px;
    border: 1px solid #3e3c3c;
    display: block;
    text-align: center;
    position: relative;
    color: #3e3c3c;
    font-size: 16px;
    letter-spacing: 3px;
}*/

.about h2{
    font-size:32px;
    line-height: 1.5;
    margin: 0 0 10px;
}

.about h2 span{
    font-size:20px;
    line-height: 1.2;
    margin-bottom:40px;
}

.about h2 span a{
    color: #363636;
    text-decoration: underline;
}
.examination{
    width: 50%; 
    margin: 0 5% 0 0;
}

.examination-criteria{
    text-align:center;
    padding:30px 0;
}

.examination-criteria p.txt{
    text-align:center;
    font-size:18px;
    line-height:2.1;
}

.examination-criteria a{
    color: #363636;
    text-decoration: underline;
}

.examination-criteria a:hover{
    opacity: 0.7;
}

.examination-criteria-info figure{
    width: 45%;
    margin-left: 5%;
}

/*.examination-criteria h2{
    padding-top: 20px;
}*/

.examination-criteria-info h3{
    font-size:24px;
    font-weight:bold;
}

.examination-criteria-info h4{
    font-size:18px;
    font-weight:bold;
}

.examination-flow{
    background:url(../img/examination-flow-bg.jpg) center center / cover;

}

.examination-flow{
    color:white;
    text-align:center;
}

.examination-flow h2{
    padding: 30px 0 10px;
}

.flow-block div{
    width:25%;
    padding: 30px 40px 0 60px;
}

.flow-block .flow-guide{
    padding: 30px 50px 0 40px;
}

.flow-block .flow-entry{
    padding: 30px 40px 0 45px;
}

.flow-block h3{
    font-weight:bold;
    margin-bottom:30px;
    letter-spacing: 3px;
}

.flow-ecision,.flow-decision p.txt{
    color:#3e3c3c;
}

.flow-block{
    background:url(../img/flow-bg.png) center center /cover;
    height:270px;
}

.flow-decision h3{
    color:#01542e;
}

span.caution{
    font-size:11px;
    display:block;
    margin-top:10px;
}

.bpf-entry{
    padding: 40px 0;
    margin: 0 auto;
    display: inline-block;
}

.bpf-entry p.txt{
    line-height: 2.1;
}

.bpf-entry p.txt,.bpf-entry a{
    font-size:18px;
    text-align:center;
    letter-spacing: 3px;
}

.bpf-entry span {
    font-size: 22px;
    font-weight: bold;
    line-height: 2.5rem;
    margin-bottom: 10px;
    display: inline-block;
}

.bpf-entry a {
    background-color: #9ad0a6;
    display: block;
    padding: 25px 10px;
    width: 400px;
    position: relative;
    color: white;
    font-size: 18px;
    letter-spacing: 3px;
    transition: all .5s;
    font-weight: bold;
}

.bpf-entry a:hover{
    opacity: 0.8;
}

.bpf-entry a::after{
    content: "";
    background: url(../img/link-arrow-white.svg);
    width: 4px;
    height: 8px;
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translate(0,-50%);
}

@media screen and (max-width: 768px){
.bpf-entry span {
    font-size: 20px;
    line-height: 2rem;
}
.bpf-entry {
    padding: 30px 0;
}

.examination{
    width: 100%;
    margin: 0 0 0 0;
    }

.examination-criteria-info figure{
    width: 100%;
    margin: 0 0 20px;
}

.examination-criteria h2{
    padding-top: 0;
}

.examination-flow h2 {
    padding: 30px 0;
}

.m-t30{
    margin-top: 30px;
    }

.bpf-entry a {
    width: 320px;
    padding: 12.5px 0;
    }

    figure.sub-kv {
        position: relative;
        max-height: 60vh;
        height: 40vh;
    }

    .about p.txt {
        margin-bottom: 20px;
    }

    .about .fb-50{
        flex-basis: inherit;
    }

    .about .more {
        margin: 30px 0 15px;
    }

    .about .more a{
        font-size:14px;
    }

    .about h2 {
        font-size: 24px;
        text-align:center;
        margin-bottom: 0;
    }

    .examination-criteria {
        text-align:left;
    }

    .examination-criteria p.txt{
        font-size:14px;
        text-align: left;
        padding: 0 30px;
    }

    .examination-criteria-info h3 {
        font-size: 20px;
        font-weight: normal;
        text-align:center;
    }

    .examination-criteria-info p.txt{
        font-size:14px;
    }

    .flow-block-sp{
        background:url(../img/sp-flow-bg.png) center center /cover;
        min-height:700px;
    }

    .flow-block-sp h3{
        font-size: 16px;
        font-weight:bold;
        margin-bottom: 10px;
    }

    .flow-block-sp > div{
        height: calc(700px / 4);
        padding: 20px;
    }

    .flow-block-sp .flow-decision{
        padding: 40px 20px 0;
    }

    .about .bpf-entry p.txt{
        font-size: 14px;
        letter-spacing: 1px;
    }

    .entry-btn a{
        font-size: 16px;
        letter-spacing: 1px;
        padding: 12.5px 0;
    }
}

/***search***/

span.blue{
    color:#27873e;
    font-size:22px;
}

.head-area h2{
    font-size:30px;
    font-weight:bold;
    margin:0;
}

.column .company {
    position: relative;
}
.column .company figure{
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.column .company img {
    /*height: 80px;*/
    max-height: 100%;
    margin-bottom: 8px;
}
.column .company span {
    color: #fff;
    font-size: 12px;
    font-weight: bold;
    line-height: 1.0em;
    display: inline-block;
    background-color: #88c695;
    padding: 4px 8px;
    margin-bottom: 4px;
    letter-spacing: .05rem;
}
/*
.column .company .tag01{
    background-color: #75c3ed;
    color: #fff;
    padding: 4px 16px;
    font-weight: bold;
    letter-spacing: .05rem;
    position: absolute;
    top: 0;
    right: 0;
}

.column .company .tag02{
    background-color: #75c3ed;
    color: #fff;
    padding: 4px 16px;
    font-weight: bold;
    letter-spacing: .05rem;
    position: absolute;
    top: 34px;
    right: 0;
}

.column .company .tag03{
    background-color: #75c3ed;
    color: #fff;
    padding: 4px 16px;
    font-weight: bold;
    letter-spacing: .05rem;
    position: absolute;
    top: 68px;
    right: 0;
}

.column .company .tag04{
    background-color: #75c3ed;
    color: #fff;
    padding: 4px 16px;
    font-weight: bold;
    letter-spacing: .05rem;
    position: absolute;
    top: 102px;
    right: 0;
}
*/
.company-result-list{
    padding: 10px 0 20px;
}

.company-result-list .columns{
    margin:0 -20px;
    padding:30px 0;
}

.company-result-list .column{
    padding:20px;
    width:50%;
}

.company-result-list .column .inner {
    background:white;
    text-align: center;
    height: 100%;
    position: relative;
    padding-bottom: 80px;
    transition: .5s;
}

.company-result-list .column .inner:hover {
    opacity: 0.6;
}

.company-result-list .column a{
    color:inherit;
    display:block;
    transition:.5s;
    cursor:pointer;
}

.company-result-list .column a:hover{
    opacity:0.6;
    transition:.5s;
}

.company-result-list .column a > div{
    padding: 20px 40px;
}

.company-result-list .column a figure{
    flex-basis:180px;
    flex:0 0 auto;
    margin: 0 auto;
}

.company-result-list .column a figure img {
    height: auto;
    object-fit: contain;
    object-position: 50% 50%;
    display: block;
    font-size: 5px;
    overflow: hidden;
    aspect-ratio: 5 / 1;
    margin: 24px auto;
}

.company-result-list .column a .cat-type{
    width:100%;
}

.company-result-list .column a .cat-type > div{
    width: 50%;
    text-align:center;
    padding: 0 5px;

}

.company-result-list .column a .cat-type span{
    font-size:12px;
    padding:10% 0;
    background:#f6f8f8;
    display:block;
}

.company-result-list .column h3{
    font-weight:bold;
    margin-bottom:10px;
}

.location{
    background: #674498;
    color: #fff;
    padding: 20px 30px;
    font-size: 18px;
    font-weight: bold;
    letter-spacing: .05rem;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-between;
}

.search form {
    display: flex;
    position: relative;
}
.search form:after{
    content: "";
    width: 16px;
    height: 14px;
    background: #003567;
    position: absolute;
    right: 64px;
    top: 50%;
    margin-top: -6px;
    clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
}
.search_box{
    font-size: 14px;
    font-weight: bold;
    background: #fff;
    padding: 8px;
    border-radius: 5px!important;
    display: inline-block;
    width: 300px;
    position: relative;
    cursor: pointer;
}
.search_btn{
    background-color: #5ec172;
    padding: 8px 10px;
    border-radius: 5px;
    color: #fff;
    font-size: 14px;
    font-weight: bold;
    line-height: 1.0em;
    border: none;
    margin-left: 8px;
    cursor: pointer;
}

.features{
    background-color: #d8cfe2;
    padding: 20px 30px;
}
.features h4{
    font-size: 16px;
    margin-bottom: 10px;
}

.columns .company{
    padding: 10px 40px!important;
}

.columns .btn{
    color: #fff!important;
    background-color: #674498;
    width: 60%;
    font-size: 16px;
    font-weight: bold;
    display: inline-block!important;
    padding: 10px 20px;
    margin: 20px auto;
    letter-spacing: .1rem;
    position: absolute;
    bottom: 0;
    left: 20%;
}

p.number{
        font-size:16px;
        font-weight: bold;
        letter-spacing: .05em;
    }

@media screen and (max-width: 768px){
    .columns .company {
    padding: 20px 10px 10px!important;
}

.column .company .tag01 {
    width: 80px;
    background-color: #75c3ed;
    color: #fff;
    padding: 2px 10px;
    font-weight: bold;
    letter-spacing: .05rem;
    position: absolute;
    top: 0;
    left: 0;
}
.column .company .tag02{
    width: 80px;
    background-color: #75c3ed;
    color: #fff;
    padding: 2px 10px;
    font-weight: bold;
    letter-spacing: .05rem;
    position: absolute;
    top: 0;
    left: 84px;
}

.column .company .tag03{
    width: 80px;
    background-color: #75c3ed;
    color: #fff;
    padding: 2px 10px;
    font-weight: bold;
    letter-spacing: .05rem;
    position: absolute;
    top: 0;
    left: 168px;
}

.column .company .tag04{
    width: 80px;
    background-color: #75c3ed;
    color: #fff;
    padding: 2px 10px;
    font-weight: bold;
    letter-spacing: .05rem;
    position: absolute;
    top: 0;
    left: 252px;
}
    .location {
    padding: 10px 20px;
    font-size: 16px;
}
    .search{
    padding: 10px 0;
    }
    
    .search_box {
    width: 210px;
    
}
    .search-result{
        padding:40px 0;
    }

    .head-area h2{
        font-size:20px;
    }

    span.blue{
        font-size:16px;
    }
    p.number{
        font-size:12px;
    }

    .company-result-list .columns {
        margin: 0;
        padding: 20px 0;
        display:block;
    }

    .company-result-list .column {
        padding: 10px 0;
        width: 100%;
    }

    /*.company-result-list .column a {
        padding: 15px 20px 20px 20px;
    }*/

    .company-result-list .column a > div {
        display:block;
    }

    .company-result-list .column a figure{
        display:flex;
        align-items:center;
        justify-content: center;
    }

    .company-result-list .column a .cat-type {
        align-items: center;
        margin:0 -5px 10px;
    }

    .company-result-list .column a .cat-type > div {
        flex-basis: auto;
        padding: 5px;
    }

    .company-result-list .column a .cat-type > div span{
        padding:10px 20px;
    }
    .company-result-list .column h3 {
    font-weight: bold;
    margin-bottom: 10px;
    font-size: 16px;
}
    .columns .btn {
    width: 80%;
    left: 10%;
}
}
@media screen and (max-width: 560px) {
    .location {
        justify-content: center;
    }
    .company-result-list{
    padding: 10px 0;
}
}
/***firm***/
.headline{
    color: #fff;
    width: 16%;
    font-size: 18px;
    font-weight: bold;
    padding: 5px 10px 5px 3px;
    text-align: center;
    letter-spacing: .05rem;
    display: inline-block;
    position: relative;
    z-index: 1;
}
.headline:before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1;
    background: #674498;
    transform: scaleY(1.2) perspective(.6em) rotateX(3deg);
    transform-origin: bottom left;
}
.strengths{
    background: #fff;
    padding: 20px 30px;
    font-size: 16px;
    font-weight: 600;
    line-height: 2.2rem;
    letter-spacing: .05rem;
    box-shadow: 0px 0px 10px #e5e5e4;
    position: relative;
}
.strengths li{
    position: relative;
    padding: 0 0 0 10px;
}
.strengths li:before{
    content: "";
    position: absolute;
    width: 9px;
    height: 22px;
    background: #674498;
    clip-path: polygon( 40% 50%, 100% 75%, 40% 100%, 0% 100%, 0% 50%);
    position: absolute;
    left: -5px;
    top: 0;
}

.article .company {
    position: relative;
}

.company-result-list .articles{
    margin:0 -20px;
    padding:20px 0;
}

.company-result-list .article{
    padding:20px;
    width:33%;
}

.company-result-list .article .inner{
    background:white;
    text-align: center;
    box-shadow: 0px 0px 8px #e5e5e4;
    height: 100%;
}

.company-result-list .column a {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 10;
}

.company-result-list .article a:hover{
    opacity:0.6;
    transition:.5s;
}

.company-result-list .article a > div{
    padding: 20px 40px;
}

.company-result-list .article a figure{
    flex-basis:180px;
    flex:0 0 auto;
    margin: 0 auto;
}

.company-result-list .article a .cat-type{
    width:100%;
}

.company-result-list .article a .cat-type > div{
    width: 50%;
    text-align:center;
    padding: 0 5px;

}

.company-result-list .article a .cat-type span{
    font-size:12px;
    padding:10% 0;
    background:#f6f8f8;
    display:block;
}

.company-result-list .article h3{
    font-weight:bold;
    margin-bottom:10px;
}

.company-result-list h3 {
    font-size: 24px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 0;
    letter-spacing: .05rem;
}

.articles .img_wrap{
    padding: 0!important;
}

.articles .read{
    padding: 20px;
    font-weight: bold;
}
.articles .date{
    padding: 20px;
}
.articles .date br:last-child {
    display: none;
}

.articles .date .line{
    font-size: 18px;
    font-weight: bold;
    display: block;
    margin-bottom: 5px;
    padding: 0.5rem;
    border-left: 5px solid;
    color: #674498;
    line-height: 1rem;
}
.article .btn{
    color: #fff!important;
    background-color: #003567;
    width: 60%;
    font-size: 16px;
    font-weight: bold;
    display: inline-block!important;
    padding: 10px 20px;
    margin: 20px auto;
    letter-spacing: .1rem;
}
.underline{
    text-decoration:underline;
}

.company-result-list .history{
    padding:20px;
    width:33%;
}

.company-result-list .history .inner{
    background:white;
    text-align: center;
    height: 100%;
}

.company-result-list .history a{
    color:inherit;
    transition:.5s;
    cursor:pointer;
}

.company-result-list .history a:hover{
    opacity:0.6;
    transition:.5s;
}

.company-result-list .history a > div{
    padding: 20px 40px;
}

.company-result-list .history a figure{
    flex-basis:180px;
    flex:0 0 auto;
    margin: 0 auto;
}

.company-result-list .history a .cat-type{
    width:100%;
}

.company-result-list .history a .cat-type > div{
    width: 50%;
    text-align:center;
    padding: 0 5px;

}

.company-result-list .history a .cat-type span{
    font-size:12px;
    padding:10% 0;
    background:#f6f8f8;
    display:block;
}

.company-result-list .history h3{
    font-weight:bold;
    margin-bottom:10px;
}
.profile-area h2 {
    font-size: 30px;
    font-weight: bold;
    margin: 0;
    background: #674498;
    color: #fff;
    font-style: italic;
    letter-spacing: .1rem;
    text-align: center;
}
.profile-area {
    display: flex;
}
.profile-area .left {
    width: 30%;
    margin: 10px auto 0;
}
.profile-area img {
    width: 160px;
    height: auto;
    object-fit: contain;
    object-position: 50% 50%;
    display: block;
    font-size: 5px;
    overflow: hidden;
    aspect-ratio: 1 / 1;
    margin: 16px auto;
}
.profile-area .right {
    width: 70%;
}
.profile-area .right {
    padding: 20px 30px;
}
.profile-area .right a{
    color: #363636;
    text-decoration:underline;
}
.profile-area .right a:hover{
    opacity: 0.7;
}
.bg-img{
    background-image: url(/bpf/2025/img/about-main.jpg);
    background-size: cover;
}
.img-box{
    width: 40%;
}
.company-result-list h2 {
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    letter-spacing: .05rem;
    display: inline;
    padding: 5px;
    margin-bottom: 10px;
    border-bottom: 3px solid #003567;
}
.firm_research > div {
    clear: both;
}
.firm_research .img-box .img_01 {
    display: flex;
    float: left;
    margin-right: 40px;
    margin-bottom: 5px;
}
.firm_research .img_02 {
    float: right;
    margin: 0 0 5px 30px;
}
.question{
    font-size: 24px;
    color: #003567;
    font-family: 'montserratlight', sans-serif;
}

@media screen and (max-width: 768px){
    .company-result-list h2 {
    font-size: 16px;
    text-align: left;
}
    .company-result-list h3 {
    font-size: 20px;
}
    .strengths{
    line-height: 1.8rem;
}
    .strengths li {
    position: relative;
    padding: 0 0 5px 15px;
}
    .strengths li:before {
    position: absolute;
    left: 0px;
    top: -3px;
}
    .profile-area {
    display: block;
}
    .profile-area .left {
    width: 100%;
    margin: 20px auto 0;
}
.profile-area .right {
    width: 100%;
    padding: 5px 10px 30px;
}
    .headline {
    width: 44%;
}
    .strengths {
    padding: 20px 20px;
}
    .img-box {
    width: 100%;
}
    .firm_research .textbox p {
    margin-bottom: 30px;
    padding: 0 0 20px;
}
    .articles .company {
    padding: 20px 40px 10px!important;
}

    .company-result-list .articles {
        margin: 0;
        padding: 20px 0;
        display:block;
    }

    .company-result-list .article {
        padding: 10px 0;
        width: 100%;
    }

    /*.company-result-list .column a {
        padding: 15px 20px 20px 20px;
    }*/

    .company-result-list .article a > div {
        display:block;
    }

    .company-result-list .article a figure{
        display:flex;
        align-items:center;
        justify-content: center;
    }

    .company-result-list .article a .cat-type {
        align-items: center;
        margin:0 -5px 10px;
    }

    .company-result-list .article a .cat-type > div {
        flex-basis: auto;
        padding: 5px;
    }

    .company-result-list .article a .cat-type > div span{
        padding:10px 20px;
    }
    .company-result-list .article h3 {
    font-weight: bold;
    margin-bottom: 10px;
    font-size: 16px;
}
    .article .btn {
    width: 80%;
}
    .company-result-list .history {
        padding: 10px 0;
        width: 100%;
    }
    .company-result-list .history a > div {
        display:block;
    }

    .company-result-list .history a figure{
        display:flex;
        align-items:center;
        justify-content: center;
    }

    .company-result-list .history a .cat-type {
        align-items: center;
        margin:0 -5px 10px;
    }

    .company-result-list .history a .cat-type > div {
        flex-basis: auto;
        padding: 5px;
    }

    .company-result-list .history a .cat-type > div span{
        padding:10px 20px;
    }
    .company-result-list .history h3 {
    font-weight: bold;
    margin-bottom: 10px;
    font-size: 16px;
}
}



/***sponsor***/

.sponsor{
    text-align:center;
}

.sponsor .contents-wrap{
    padding:60px 65px;
}

.sponsor .sub-wrap > div{
    margin-bottom:40px;
}

.sponsor .sub-wrap > div:last-child{
    margin:0;
}

.sponsor h2{
    position:relative;
}

/*.sponsor h2::after{
    content:"";
    height:2px;
    width:200%;
    background-color:#363636;
    position:absolute;
    bottom:0;
    left:-50%;
}*/

.sponsor .block,.sponsor .bnr-link{
    margin:0 -5px;
}

.sponsor .silver .block figure{
    width:20%;
}

.sponsor .block a{
}

.sponsor .block a:last-child{
}

.sponsor figure{
    padding: 0 10px 20px 10px;
}

.sponsor figcaption{
    color:#363636;
    margin-top:10px;
}


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

    .sponsor .block{
        display:flex;
        flex-wrap:wrap;
    }

    .sponsor .contents-wrap{
        padding:40px 20px;
    }

    .sponsor .silver .block figure figcaption{
        display:none;
    }

    .sponsor .gold .block figure{
        width:50%;
    }

    .sponsor .silver .block figure{
        width:33.3333%;
    }

    .sponsor .bnr-link {
        display:block
    }

    .sponsor .bnr-link figure{
        width:100%;
    }


}

/***contact***/

.contact-read{
    text-align: center;
}

.contact-read .txt-block{
    font-size:18px;
    letter-spacing:2px;
    line-height: 2.1;
}

.contact-read a{
    color:#3a3c3c;
    border:1px solid #3a3c3c;
    letter-spacing:3px;
    width:auto;
    padding: 10px 30px;
}

.contact .bpf-entry {
    border-top: none;
    padding-top:0;
}


input[type="text"],textarea{
    width:100%;
    padding:10px;
    font-size:14px;
    border:none;
}

textarea {
    resize: none;
    min-height:100px;
}

button, input, select, textarea {
    font-family : inherit;
    font-size : 100%;
}

select{
    font-size:14px;
    width:100%;
    padding:10px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-radius: 1px !important;
    background: url(../img/select.svg) white no-repeat 95% 50%;
    border:none;
    position:relative;
}

select::-ms-expand {
    display: none;
}

input[type="checkbox"]{
/*	margin-right:20px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-radius: 1px !important;
    background:white;
    width:20px;
    height:20px;*/
}


.checkbox-input{
    display: none;
}
.checkbox-parts{
    padding-left: 30px;
    position:relative;
    margin-right: 20px;
}
.checkbox-parts::before{
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 20px;
    height: 20px;
    border: 1px solid #333;
    border-radius: 1px;
}

.checkbox-input:checked + .checkbox-parts::after{
    content: "";
    display: block;
    position: absolute;
    top: -6px;
    left: 5px;
    width: 12px;
    height: 20px;
    transform: rotate(40deg);
    border-bottom: 3px solid #363636;
    border-right: 3px solid #363636;
}

.red,.required{
    color:#dd0000;
}

.required{
    margin-left:10px;
}

.form-inner{
    max-width: 690px;
    margin:0 auto;
}

.form-inner dl{
    display:flex;
    align-items:center;
    margin-bottom:30px;
}

.form-inner dl:last-child{
    align-items:flex-start;
}

.form-inner dl dt{
    flex-basis:240px;
}

.form-inner dl dd{
    flex-basis: 100%;
}

.bpf-entry input{
    display:block;
    padding:25px;
    width: 500px;
    position:relative;
    color:white;
    font-size:18px;
    letter-spacing: 3px;
    background: url(../img/link-arrow-white.svg) #48b7fd 95% 50% no-repeat / 4px 8px;
    border:none;
}




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

    .contact-read .sub-wrap{
        padding:50px 20px 60px;
    }

    .contact-read .txt-block {
        font-size: 16px;
    }

    .form-inner dl {
        display: block;
    }

    .form-inner dt{
        margin-bottom:10px;
    }

    .form {
        padding: 40px 0;
    }

    .submit{
        padding:40px 0;
    }

    .bpf-entry input {
        width: 100%;
        font-size: 16px;
    }

}
@media screen and (max-width: 640px){
.profile-area .left {
    width: 100%;
    margin: 10px auto 0;
}
.profile-area .right {
    width: 100%;
    padding: 5px 10px 10px;
}
}

.article a {
    color: #1a1a1a;
}