/*------------------------------
slider
------------------------------*/
#slider{
    position: relative;
    z-index: 1;
}
.main_slider{
    width: 100%;
}
.main_slider img{
    width: 100%;
    height: auto;
}
.slick-slider{
    position: relative;
    display: block;
    box-sizing: border-box;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;

    -webkit-touch-callout: none;
    -khtml-user-select: none;
    -ms-touch-action: pan-y;
        touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}
.slick-list{
    position: relative;
    display: block;
    overflow: hidden;
    margin: 0;
    padding: 0;
}
.slick-list:focus{
    outline: none;
}
.slick-list.dragging{
    cursor: pointer;
    cursor: hand;
}
.slick-slider .slick-track,
.slick-slider .slick-list
{
    -webkit-transform: translate3d(0, 0, 0);
       -moz-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
         -o-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
}
.slick-track{
    position: relative;
    top: 0;
    left: 0;
    display: block;
    margin-left: auto;
    margin-right: auto;
}
.slick-track:before,
.slick-track:after{
    display: table;
    content: '';
}
.slick-track:after{
    clear: both;
}
.slick-loading .slick-track{
    visibility: hidden;
}
.slick-slide{
    display: none;
    float: left;
    height: 100%;
    min-height: 1px;
}
[dir='rtl'] .slick-slide{
    float: right;
}
.slick-slide img{
    display: block;
}
.slick-slide.slick-loading img{
    display: none;
}
.slick-slide.dragging img{
    pointer-events: none;
}
.slick-initialized .slick-slide{
    display: block;
}
.slick-loading .slick-slide{
    visibility: hidden;
}
.slick-vertical .slick-slide{
    display: block;
    height: auto;
    border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
    display: none;
}
.slick-dotted.slick-slider{
    margin-bottom: 0;
}
.slick-dots{
    position: absolute;
    bottom: -20px;
    display: block;
    width: 100%;
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: right;
    right: 2%;
    left: auto;
}
.slick-dots li{
    position: relative;
    display: inline-block;
    width: 10px;
    height: 20px;
    margin: 0 5px!important;
    padding: 0;
    cursor: pointer;
}
.slick-dots li button{
    font-size: 0;
    line-height: 0;
    display: block;
    width: 10px;
    height: 20px;
    padding: 5px;
    cursor: pointer;
    color: transparent;
    border: 0;
    outline: none;
    background: transparent;
}
.slick-dots li button:hover,
.slick-dots li button:focus{
    outline: none;
}
.slick-dots li button:hover:before,
.slick-dots li button:focus:before{
    opacity: 1;
}
.slick-dots li button:before{
    font-family: 'slick';
    font-size: 5px;
    line-height: 20px;
    position: absolute;
    top: 0;
    left: 0;
    width: 10px;
    height: 10px;
    content: '•';
    text-align: center;
    color: #d7d7d7;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.slick-dots li.slick-active button:before{
    color: #007bc2;
}
.main_slider li{
    margin-right: 10px;
    margin-left: 10px;
}
/*SP*/
@media screen and (max-width: 750px) {
    .slick-dots{
        right: 4%;
    }
}

/*PC*/
.sec{
    border-bottom: 1px solid #007bc2;
    padding-bottom: 60px;
    padding-top: 60px;
    width: 98%;
    margin-right: auto;
    margin-left: auto;
}
.sec2{
    border-bottom: 1px solid #007bc2;
    padding-bottom: 30px;
    padding-top: 40px;
    width: 98%;
    margin-right: auto;
    margin-left: auto;
}
.sectionTit{
    font-size: 3.1rem;
    padding-bottom: .5em;
    color: #007bc2;
    font-family: vdl-logog, sans-serif;
    font-weight: 400;
    font-style: normal;
}
/*TABLET*/
@media screen and (max-width: 1024px) {
    .sec{
        padding-bottom: 6vw;
        padding-top: 6vw;
        width: 100%;
    }
	.sec2{
        padding-bottom: 4vw;
        padding-top: 4vw;
        width: 100%;
    }
    .sectionTit{
        font-size: 3.0vw;
        padding-bottom: .5em;
    }

}
/*SP*/
@media screen and (max-width: 750px) {
    .sectionTit{
        font-size: 6.0vw;
        padding-bottom: .2em;
    }
}
/*------------------------------
	news
------------------------------*/
/*PC*/
.news dl{
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	flex-wrap: wrap;
    margin-bottom: 20px;
}
.news dl dt{
    width: 14%;
    color: #007bc2;
    padding-bottom: .3em;
    padding-top: .3em;
}
.news dl dd{
    width: 86%;
    padding-bottom: .3em;
    padding-top: .3em;
}
.news .button01.news{
    font-size: 1.5rem;
    line-height: 40px;
    width: 160px;
}
.news dl dt:first-child{
    padding-top: 0;
}
.news dl dd:nth-of-type(1){
    padding-top: 0;
}
/*TABLET*/
@media screen and (max-width: 1024px) {
    .news{
        width: 90%;
    }
    .news dl{
        margin-bottom: 2vw;
    }
    .news dl dt{
        width: 18%;
    }
    .news dl dd{
        width: 72%;
    }
    .news .button01.news{
        font-size: 1.5vw;
        line-height: 3;
        width:18%;
    }
}
/*SP*/
@media screen and (max-width: 750px) {
    .news dl{
        display: block;
    }
    .news dl dt{
        width: 100%;
        padding-top: 0;
        padding-bottom: 0;
    }
    .news dl dd{
        width: 100%;
        padding-top: 0;
        padding-bottom: .5em;
    }
    .news .button01.news{
        font-size: 3.4vw;
        width:38%;
    }
}
/*------------------------------
	workslist
------------------------------*/
/*PC*/
.workslist ol{
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	flex-wrap: wrap;
}
.workslist ol li{
    text-align: center;
    font-family: vdl-logog, sans-serif;
    font-weight: 400;
    font-style: normal;
    line-height: 50px;
    list-style: none;
    margin-right: 25px;
    margin-bottom: 15px;
}
.workslist ol li a{
    background-color: #007bc2;
    color: #FFFFFF!important;
    display: block;
    border-radius: 50px;
    -webkit-border-radius: 50px;
    -moz-border-radius: 50px;
    transition: .3s;
    padding-right: 4em;
    padding-left: 4em;
    transition: .3s;
}
.workslist ol li a:hover{
    opacity: 0.85;
}
/*TABLET*/
@media screen and (max-width: 1024px) {
    .workslist{
        width: 90%;
    }
    .workslist ol li{
        line-height: 3;
        margin-right: 2vw;
        margin-bottom: 1vw;
    }
    .workslist ol li a{
        padding-right: 3em;
        padding-left: 3em;
    }
}
/*SP*/
@media screen and (max-width: 750px) {
    .workslist ol li{
        line-height: 3.2;
        margin-right: 0;
        margin-bottom: 2.5vw;
    }
    .workslist ol li a{
        padding-right: 4em;
        padding-left: 4em;
    }
}

/*------------------------------
	works
------------------------------*/
/*PC*/
.works_ttl{
    font-family: vdl-logog, sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 4.5rem;
    color: #007bc2;
    position: relative;
    padding-left: 120px;
    line-height: 1;
    padding-top: 50px;
    padding-bottom: 40px;
}
.works_ttl span{
    font-family: a-otf-midashi-go-mb31-pr6n, sans-serif;
    font-weight: 600;
    font-style: normal;
    font-size: 9.7rem;
    color: #007bc2;
    padding-right: 10px;
    position: absolute;
    left: 0;
    top: 5px;
}
.works_ttl span::before{
    position: absolute;
    font-size: 1.7rem;
    top: -10px;
    left: .5em;
    content: "PSCの事業";
}
.works_ph{
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	flex-wrap: wrap;
    margin-bottom: 35px;
}
.works_ph p{
    width: 48%;
    margin-right: 4%;
}
.works_ph p:last-child{
    margin-right: 0;
}
.works_ph p img{
    width: 100%;
    height: auto;
}

.works_ph2{
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	flex-wrap: wrap;
    margin-bottom: 0px;
}
.works_ph2 p{
    width: 31%;
    margin-right: 2%;
}
.works_ph2 p:last-child{
    margin-right: 0;
}
.works_ph2 p img{
    width: 100%;
    height: auto;
}


.works_ph3{
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	flex-wrap: wrap;
    margin-bottom: 0px;
}
.works_ph3 p{
    width: 100%;
    margin-right: 0%;
}
.works_ph3 p:last-child{
    margin-right: 0;
}
.works_ph3 p img{
    width: 100%;
    height: auto;
	margin-bottom: 30px;
}


.works_block p{
    font-size: 1.8rem;
}
.worksMtxt{
    font-family: a-otf-midashi-go-mb31-pr6n, sans-serif;
    font-weight: 600;
    font-style: normal;
    font-size: 3.0rem;
    line-height: 1.7;
    color: #007bc2;
}
.worksMtxt2{
    font-family: source-han-sans-japanese, sans-serif;
    font-weight: 500;
    font-style: normal;
    font-size: 3.0rem;
    line-height: 1.7;
    color: #007bc2;
}
.works01_s_block{
    width: 75%;
    border-bottom: 1px solid #007bc2;
    padding-top: 80px;
    padding-bottom: 70px;
}
.worksMtit{
    font-family: vdl-logog, sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 3.2rem;
    color: #007bc2;
    padding-bottom: .2em;
}
.works01_s_block ol{
    padding-bottom: 50px;
}
.works01_s_block li{
    list-style: none;
    font-size: 1.9rem;
    padding-bottom: 1em;
    display: inline-block;
}
.works_block .worksStxt{
    font-family: a-otf-midashi-go-mb31-pr6n, sans-serif;
    font-weight: 600;
    font-style: normal;
    font-size: 2.5rem;
    color: #007bc2;
    padding-bottom: .2em;
    padding-top: 50px;
}
.works_block .worksStxt2{
    font-family: source-han-sans-japanese, sans-serif;
    font-weight: 500;
    font-style: normal;
    font-size: 2.5rem;
    color: #007bc2;
    padding-bottom: .2em;
    padding-top: 50px;
}
.works_block .note{
    font-size: 1.5rem;
    padding-top: 1em;
}
.works01_s_block .button li{
    font-size: 2.6rem;
    color: #007bc2;
    line-height: 1.8;
    margin-right: 20px;
}
.works01_s_block .button li:last-of-type{
    margin-right: 0;
}
.works_block .button01{
    margin-top: 10px;
    margin-bottom: 10px;
    display: inline-block;
}
.works_block .button01 a{
    line-height: 63px;
    font-size: 2.3rem;
    padding-right: 3.0em;
    padding-left: 3.0em;
}
.works_block li .button01  a{
    padding-right: 1.5em;
    padding-left: 1.5em;
}
.works_block .button02{
    margin-top: 10px;
}
.works_block .button02 li{
    text-align: center;
    font-family: vdl-logog, sans-serif;
    font-weight: 400;
    font-style: normal;
    display: inline-block;
}
.works_block .button02 li a{
    background-color: #007bc2;
    color: #FFFFFF!important;
    display: block;
    border-radius: 50px;
    -webkit-border-radius: 50px;
    -moz-border-radius: 50px;
    transition: .3s;
    padding-right: 3.5em;
    padding-left: 3.5em;
    font-size: 1.5rem;
    line-height: 50px;
}
.works_block .button02 li a:hover{
    opacity: 0.85;
}
.works01_s_block .tel_txt{
    font-family: a-otf-ud-shin-go-pr6n, sans-serif;
    font-weight: 300;
    font-style: normal;
    font-size: 2.4rem;
    padding-top: 50px;
    line-height: 1;
}
.works01_s_block .tel{
    font-family: a-otf-midashi-go-mb31-pr6n, sans-serif;
    font-weight: 600;
    font-style: normal;
    font-size: 5.1rem;
    color: #007bc2;
}
.works_ph .worksli{
    width: 48%;
}
.works_ph .worksli li{
    font-size: 2.2rem;
    line-height: 1.5;
    font-family: vdl-logog, sans-serif;
    font-weight: 400;
    font-style: normal;
    padding-left: 1em;
    text-indent: -1em;padding-bottom: .5em;
}
.works_ph .worksli li::before{
    content: "●";
}
.works_ph .worksli li span{
    display: block;
    font-size: 1.5rem;
    font-family: a-otf-ud-shin-go-pr6n, sans-serif;
    font-weight: 300;
    font-style: normal;
}
.works_ph .worksli li span::before{
    content: "※";
}
.works_ph .worksli li.note{
    font-size: 1.5rem;
    font-family: a-otf-ud-shin-go-pr6n, sans-serif;
    font-weight: 300;
    font-style: normal;
    padding-top: 50px;
}
.works_ph .worksli li.note::before{
    content: "※";
}
.works_block .worksli2 li{
    font-size: 3.3rem;
    color: #007bc2;
    padding-bottom: 1em;
    font-family: a-otf-midashi-go-mb31-pr6n, sans-serif;
    font-weight: 600;
}
.works_block .worksli2 li span{
    display: block;
    font-family: a-otf-ud-shin-go-pr6n, sans-serif;
    font-weight: 300;
    font-style: normal;
    font-size: 1.5rem;
    color: #413f3e;
}
.works_block .worksli3 li{
    font-size: 3.3rem;
    color: #007bc2;
    padding-bottom: 1em;
    font-family: source-han-sans-japanese, sans-serif;
    font-weight: 500;
}
.works_block .worksli3 li span{
    display: block;
    font-family: a-otf-ud-shin-go-pr6n, sans-serif;
    font-weight: 300;
    font-style: normal;
    font-size: 1.5rem;
    color: #413f3e;
}
/*TABLET*/
@media screen and (max-width: 1024px) {
    .works_block{
        width: 90%;
    }
    .works_ttl{
        font-size: 4.5vw;
        padding-left: 12vw;
        padding-top: 5vw;
        padding-bottom: 4vw;
    }
    .works_ttl span{
        font-size: 10vw;
        padding-right: 2vw;
        top: .2em;
    }
    .works_ttl span::before{
        font-size: 1.8vw;
        top: -10px;
    }
    .works_ph{
        margin-bottom: 3vw;
    }
	.works_ph2{
        margin-bottom: 0vw;
    }
	.works_ph3{
        margin-bottom: 2vw;
    }
    .worksMtxt{
        font-size: 2.6vw;
    }
	.worksMtxt2{
        font-size: 2.6vw;
    }
    .works01_s_block{
        padding-top: 8vw;
        padding-bottom: 7vw;
    }
    .worksMtit{
        font-size: 3.0vw;
    }
    .works01_s_block li{
        font-size: 1.9vw;
    }
    .works01_s_block ol{
        padding-bottom: 5vw;
    }
    .works_block p{
        font-size: 1.9vw;
    }
    .works_block .worksStxt{
        font-size: 2.5vw;
        padding-top: 5vw;
    }
	.works_block .worksStxt2{
        font-size: 2.5vw;
        padding-top: 5vw;
    }
    .works_block .note{
        font-size: 1.5vw;
    }
    .works01_s_block .button li{
        font-size: 2.5vw;
        margin-right: 2vw;
    }
    .works_block .button01 a{
        line-height: 3.0;
        font-size: 2.3vw;
    }
    .works_block .button02 li a{
        font-size: 1.5vw;
        line-height: 3;
    }
    .works01_s_block .tel_txt{
        font-size: 2.2vw;
        padding-top: 5vw;
    }
    .works01_s_block .tel{
        font-size: 5.0vw;
    }
    .works_ph .worksli li{
        font-size: 2.2vw;
    }
    .works_ph .worksli li span{
        font-size: 1.4vw;
    }
    .works_ph .worksli li.note{
        padding-top: 5vw;
    }
    .works_block .worksli2 li{
        font-size: 3.0vw;
    }
    .works_block .worksli2 li span{
        font-size: 1.5vw;
    }
    .works_block .worksli2 li img{
        width: 50%;
    }
	.works_block .worksli3 li{
        font-size: 3.0vw;
    }
    .works_block .worksli3 li span{
        font-size: 1.5vw;
    }
    .works_block .worksli3 li img{
        width: 50%;
    }
}
/*SP*/
@media screen and (max-width: 750px) {
    .works_ttl{
        font-size: 6vw;
        padding-left: 17vw;
        padding-top: 8vw;
        padding-bottom: 8vw;
    }
    .works_ttl span{
        font-size: 14vw;
        padding-right: 3vw;
        top: 3vw;
    }
    .works_ttl span::before{
        font-size: 3.0vw;
    }
    .works_ph{
        margin-bottom: 3vw;
        display: block;
    }
    .works_ph p{
        width: 80%;
        margin-right: 0;
        margin-bottom: 3vw;
    }
	.works_ph2{
        margin-bottom: 1vw;
        display: block;
    }
    .works_ph2 p{
        width: 100%;
        margin-right: 0;
        margin-bottom: 3vw;
    }
	.works_ph3{
        margin-bottom: 1vw;
        display: block;
    }
    .works_ph3 p{
        width: 100%;
        margin-right: 0;
        margin-bottom: 3vw;
    }
    .worksMtxt{
        font-size: 4.9vw!important;
    }
	.worksMtxt2{
        font-size: 4.9vw!important;
    }
    .worksMtit{
        font-size: 5.6vw;
    }
    .works01_s_block li{
        font-size: 3.4vw;
        line-height: 1.4;
        padding-left: 1em;
        padding-bottom: .5em;
        text-indent: -1em;
    }
    .works_block p{
        font-size: 3.6vw;
    }
    .works_block .worksStxt{
        font-size: 4.5vw;
        padding-top: 5vw;
    }
	.works_block .worksStxt2{
        font-size: 4.5vw;
        padding-top: 5vw;
    }
    .works_block .note{
        font-size: 3.2vw;
    }
    .works01_s_block{
        width: 100%;
        border-bottom: none;
        position: relative
    }
    .works01_s_block::after{
        content:"";
        display:inline-block;
        border-bottom: 1px solid #007bc2;
        width: 80%;
    }
    .works01_s_block .button li{
        padding-left: 0;
        padding-bottom: 0;
        text-indent: 0;
    }
    .works01_s_block .button li{
        font-size: 4.0vw;
        margin-right: 0;
        line-height: 1.2;
        margin-bottom: 2vw;
    }
    .works_block .button01 a{
        font-size: 3.6vw;
    }
    .works_block .button02 li a{
        font-size: 3.6vw;
        padding-right: 1.5em;
        padding-left: 1.5em;
    }
    .works01_s_block .tel_txt{
        font-size: 3.8vw;
        padding-top: 5vw;
    }
    .works01_s_block .tel{
        font-size: 8.0vw;
    }
    .works01_s_block .tel a{
        color: #007bc2;
    }
    .works_ph .worksli{
        width: 100%;
    }
    .works_ph .worksli li{
        font-size: 4.2vw;
    }
    .works_ph .worksli li span{
        font-size: 3.0vw;
    }
    .works_block .worksli2 li{
        font-size: 5.0vw;
    }
    .works_block .worksli2 li span{
        font-size: 3.2vw;
        padding-top: .5em;
    }
    .works_block .worksli2 li img{
        width: 80%;
    }
	.works_block .worksli3 li{
        font-size: 5.0vw;
    }
    .works_block .worksli3 li span{
        font-size: 3.2vw;
        padding-top: .5em;
    }
    .works_block .worksli3 li img{
        width: 80%;
    }
}