@charset "utf-8";

/* ==================================================
Common CSS
================================================== */

@media(min-width:1000px){

/*STYLE*/
.sp {
display:none;
}

.cts {
width:1000px;
}

.more_btn {
    margin-top:25px;
    text-align:center;
}

.more_btn .btn {
    display:inline-block;
}

.more_btn .btn a {
    position:relative;
    border:#fff 1px solid;
    display:flex;
    align-items:center;
    padding:13px 45px 13px 20px;
}

.more_btn .btn a:before {
    content:"";
    width:8px;
    height:8px;
    border-top:#fff 1px solid;
    border-right:#fff 1px solid;
    transform:rotate(45deg);
    position:absolute;
    right:19px;
}

.more_btn .btn a:after {
    content:"";
    width:8px;
    height:8px;
    border-top:#fff 1px solid;
    border-right:#fff 1px solid;
    transform:rotate(45deg);
    position:absolute;
    right:25px;
}

.more_btn .btn a p {
    font-style:italic;
    font-weight:600;
    line-height:100%;
}

.more_btn .btn a p:first-letter {
    color:#e60012;
}

.back_btn {
    margin-top:25px;
    text-align:center;
}

.back_btn .btn {
    display:inline-block;
}

.back_btn .btn a {
    position:relative;
    border:#fff 1px solid;
    display:flex;
    align-items:center;
    padding:13px 20px 13px 45px;
}

.back_btn .btn a:before {
    content:"";
    width:8px;
    height:8px;
    border-bottom:#fff 1px solid;
    border-left:#fff 1px solid;
    transform:rotate(45deg);
    position:absolute;
    left:19px;
}

.back_btn .btn a:after {
    content:"";
    width:8px;
    height:8px;
    border-bottom:#fff 1px solid;
    border-left:#fff 1px solid;
    transform:rotate(45deg);
    position:absolute;
    left:25px;
}

.back_btn .btn a p {
    font-style:italic;
    font-weight:600;
    line-height:100%;
}

.back_btn .btn a p:first-letter {
    color:#e60012;
}





/*-----HEADER-----*/
header {
    width:100%;
    height:80px;
    background:rgba(0,0,0,0.8);
    position:fixed;
    top:0;
    left:0;
    z-index:10000;
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:0 25px 0 15px;
}

header h1 {
    width:200px;
}

header h1 a {
    display:flex;
    align-items:center;
}





/*-----MV-----*/
#mv {
    width:100%;
    overflow:hidden;
    margin-top:80px;
    position:relative;
    background:#222;
}

#mv .movie {
}

#mv video{
    width:100%;
    height:auto;
    vertical-align:bottom;
}

#mv .sound {
    width:40px;
    position:absolute;
    right:15px;
    bottom:15px;
    z-index:900;
    cursor:pointer;
}





/*-----TOP COMMON-----*/
.top_titles {
    text-align:center;
}

.top_titles h2 {
    font-size:600%;
    line-height:100%;
}

.top_titles .kana {
}

.top_titles .kana p {
    font-size:120%;
    font-weight:700;
    font-style:italic;
    line-height:100%;
    color:#969696;
    display:flex;
    justify-content:center;
    align-items:center;
}

.top_titles .kana p span:first-letter {
    color:#e60012;
}

.top_titles .kana p:before {
    content:"";
    width:30px;
    height:1px;
    background:#464646;
    margin-right:10px;
}

.top_titles .kana p:after {
    content:"";
    width:30px;
    height:1px;
    background:#464646;
    margin-left:10px;
}




/*-----TOP TOPICS-----*/
#top_topics {
    padding:100px 0;
}

#top_topics .cts {
    width:calc(100% - 100px);
    display:flex;
    justify-content:space-between;
    align-items:center;
}

#top_topics .top_titles {
    width:30%;
}

#top_topics .top_titles h2 {
    font-size:450%;
}

#top_topics .top_titles .kana p {
    font-size:100%;
}

#top_topics .topics {
    width:70%;
}

#top_topics .topics .topic {
    margin-bottom:15px;
}

#top_topics .topics .topic:last-child {
    margin-bottom:0;
}

#top_topics .topics .topic a {
    background:rgba(13,111,184,0.2);
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:18px 50px 18px 30px;
    position:relative;
}

#top_topics .topics .topic a:before {
    content:"";
    width:10px;
    height:10px;
    border-top:#0d6fb8 1px solid;
    border-right:#0d6fb8 1px solid;
    transform:rotate(45deg);
    position:absolute;
    right:19px;
}

#top_topics .topics .topic a:after {
    content:"";
    width:10px;
    height:10px;
    border-top:#0d6fb8 1px solid;
    border-right:#0d6fb8 1px solid;
    transform:rotate(45deg);
    position:absolute;
    right:25px;
}

#top_topics .topics .topic a .date_cate {
    display:flex;
    justify-content:space-between;
    align-items:center;
    width:180px;
}

#top_topics .topics .topic a .date_cate .date {
}

#top_topics .topics .topic a .date_cate .cate {
    width:80px;
    height:20px;
    font-size:80%;
    font-weight:500;
    color:#000;
    line-height:100%;
    background:#0d6fb8;
    display:flex;
    justify-content:center;
    align-items:center;
}

#top_topics .topics .topic a .subject {
    width:calc(100% - 200px);
    font-size:90%;
}

#top_topics .more_btn {
    padding-left:calc(30% - 50px);
}




/*-----TOP COMPANY-----*/
#top_company {
    position:relative;
}

#top_company .company_slider {
    width:100%;
}

#top_company .company_slider .photo {
    width:100%;
    height:600px;
}

#top_company .company_slider .photo1 {
    background:url(../img/company_main_1.jpg) center;
    background-size:cover;
}

#top_company .company_slider .photo2 {
    background:url(../img/company_main_2.jpg) center;
    background-size:cover;
}

#top_company .company_slider .photo3 {
    background:url(../img/company_main_3.jpg) center;
    background-size:cover;
}

#top_company .mask {
    width:100%;
    height:100%;
    background:url(../img/mask.png);
    background-size:2px;
    position:absolute;
    top:0;
    left:0;
    z-index:1000;
}

#top_company .main {
    width:100%;
    height:600px;
    position:absolute;
    top:0;
    left:0;
    z-index:1000;
    display:flex;
    align-items:center;
}

#top_company .main .details {
    width:100%;
}

#top_company .top_titles {
    margin-bottom:30px;
}

#top_company .main .detail {
    width:calc(100% - 100px);
    margin:auto;
}

#top_company .main .details .detail .maincopy {
    margin-bottom:15px;
}

#top_company .main .details .detail .maincopy p {
    font-size:400%;
    font-weight:600;
    font-style:italic;
    line-height:120%;
}

#top_company .main .details .detail .maincopy p:first-child:first-letter {
    color:#e60012;
}

#top_company .main .details .detail .maincopy p:last-child:first-letter {
    color:#0d6fb8;
}

#top_company .main .details .detail .tx {
    width:500px;
    font-size:90%;
    letter-spacing:1px;
}

#top_company .main .details .detail .more_btn {
    text-align:left;
}



/*-----TOP GALLERY-----*/
#top_gallery {
    padding:20px 0 0;
}



/*-----TOP DIVISION-----*/
#top_division {
    padding:100px 0 0;
}

#top_division .top_titles {
    margin-bottom:30px;
}

#top_division .copy {
    font-size:90%;
    letter-spacing:1px;
    text-align:center;
    margin-bottom:30px;
}

#top_division .divisions {

}

#top_division .divisions .division {
    margin-bottom:50px;
    padding:50px 0;
    position:relative;
}

#top_division .divisions .division:last-child {
    margin-bottom:0;
}

#top_division .divisions .division.construction {
    background:url(../img/division_1_bg.jpg) center;
    background-size:cover;
}

#top_division .divisions .division.industrial {
    background:url(../img/division_2_bg.jpg) center;
    background-size:cover;
}

#top_division .divisions .division.logistics {
    background:url(../img/division_3_bg.jpg) center;
    background-size:cover;
}

#top_division .divisions .division .mask {
    width:100%;
    height:100%;
    background:url(../img/mask.png);
    background-size:2px;
    position:absolute;
    top:0;
    left:0;
    z-index:999;
}

#top_division .divisions .division .cts {
    width:calc(100% - 100px);
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    z-index:1000;
}

#top_division .divisions .division:nth-child(odd) .cts {
    flex-direction:row-reverse;
}

#top_division .divisions .division .typo {
    position:absolute;
    top:50px;
    z-index:1000;
    text-shadow:0 0 15px rgba(0,0,0,0.7);
}

#top_division .divisions .division:nth-child(odd) .typo {
    left:30px;
}

#top_division .divisions .division:nth-child(even) .typo {
    right:30px;
    text-align:right;
}

#top_division .divisions .division .typo .en {
    font-size:500%;
    line-height:100%;
    color:#fff;
}

#top_division .divisions .division .typo .en:last-child:first-letter {
    color:#fff;
}

#top_division .divisions .division .photo {
    width:50%;
    height:35vw;
    position:relative;
    z-index:999;
}

#top_division .divisions .division.construction .photo {
    background:url(../img/division_1.jpg) center;
    background-size:cover;
}

#top_division .divisions .division.industrial .photo {
    background:url(../img/division_2.jpg) center;
    background-size:cover;
}

#top_division .divisions .division.logistics .photo {
    background:url(../img/division_3.jpg) center;
    background-size:cover;
}

#top_division .divisions .division .detail {
    width:50%;
    position:relative;
    z-index:999;
}

#top_division .divisions .division:nth-child(odd) .detail {
    padding-right:50px;
}

#top_division .divisions .division:nth-child(even) .detail {
    padding-left:50px;
}

#top_division .divisions .division .detail .item {
    font-size:135%;
    font-weight:600;
    letter-spacing:2px;
    margin-bottom:5px;
}

#top_division .divisions .division .detail .item:first-letter {
    color:#0d6fb8;
}

#top_division .divisions .division .detail .tx {
    font-size:90%;
    letter-spacing:1px;
}




/*-----TOP RECRUIT-----*/
#top_recruit {
    padding:100px 0;
}

#top_recruit .top_titles {
    margin-bottom:30px;
}

#top_recruit .recruit_slider {
    margin-bottom:0;
}

#top_recruit .recruit_slider img {
    filter:grayscale(100%);
}

#top_recruit .cts {
    display:flex;
    justify-content:flex-end;
    position:relative;
}

#top_recruit .photo {
    width:350px;
    position:absolute;
    top:-60px;
    left:0;
    z-index:1000;
}

#top_recruit .detail {
    width:600px;
    padding-top:120px;
}

#top_recruit .detail .maincopy {
    font-size:400%;
    font-weight:600;
    font-style:italic;
    line-height:115%;
    margin-bottom:10px;
    position:absolute;
    top:-40px;
    z-index:1000;
    text-shadow:0 0 10px rgba(0,0,0,1);
}

#top_recruit .detail .maincopy:first-letter {
    color:#0d6fb8;
}

#top_recruit .detail .tx {
    font-size:90%;
    letter-spacing:1px;
}



/*-----UNDER-----*/
.under {
    margin-top:80px;
}

.pagetitles {
    width:100%;
    height:350px;
    position:relative;
    display:flex;
    justify-content:center;
    align-items:center;
    margin-bottom:100px;
}

.pagetitles .mask {
    width:100%;
    height:100%;
    background:url(../img/mask.png);
    background-size:2px;
    position:absolute;
    top:0;
    left:0;
    z-index:1000;
}

.pagetitles .bl {
    width:100%;
    height:100%;
    background:rgba(0,0,0,0.8);
    position:absolute;
    top:0;
    left:0;
    z-index:999;
}

.pagetitles .pagetitle {
    position:relative;
    z-index:1001;
}

.pagetitles .pagetitle h2 {
    font-size:600%;
    line-height:100%;
}

.pagetitles .pagetitle h2:first-letter {
    color:#e60012;
}

.pagetitles .pagetitle .kana {
    display:flex;
    justify-content:center;
    align-items:center;
}

.pagetitles .pagetitle .kana p {
    font-size:150%;
    font-weight:700;
    font-style:italic;
    line-height:100%;
    color:#fff;
    display:flex;
    justify-content:center;
    align-items:center;
}

.pagetitles .pagetitle .kana p span:first-letter {
    color:#e60012;
    display:block;
}

.pagetitles .pagetitle .kana p:before {
    content:"";
    width:50px;
    height:1px;
    background:#464646;
    margin-right:10px;
}

.pagetitles .pagetitle .kana p:after {
    content:"";
    width:50px;
    height:1px;
    background:#464646;
    margin-left:10px;
}

.pagetitles .bread {
    width:1000px;
    position:absolute;
    left:0;
    right:0;
    bottom:15px;
    margin:auto;
    z-index:1001;
    text-align:right;
}

.pagetitles .bread p {
    font-size:70%;
    color:#787878;
}

.pagetitles .bread p a {
    color:#787878;
}

.under .main {
    margin-bottom:100px;
}

.under .subtitles {
    margin-bottom:20px;
}

.under .subtitles .subtitle {
    display:flex;
    justify-content:center;
    align-items:center;
    line-height:100%;
}

.under .subtitles .subtitle:first-letter {
    color:#e60012;
}

.under .subtitles .subtitle:before {
    content:"";
    width:50px;
    height:1px;
    background:#464646;
    margin-right:10px;
}

.under .subtitles .subtitle:after {
    content:"";
    width:50px;
    height:1px;
    background:#464646;
    margin-left:10px;
}

.under .corner_titles {
    text-align:center;
    margin-bottom:30px;
}

.under .corner_titles h2 {
    font-size:600%;
    line-height:100%;
}

.under .corner_titles .kana {
}

.under .corner_titles .kana p {
    font-size:120%;
    font-weight:700;
    font-style:italic;
    line-height:100%;
    color:#969696;
    display:flex;
    justify-content:center;
    align-items:center;
}

.under .corner_titles .kana p span:first-letter {
    color:#e60012;
}

.under .corner_titles .kana p:before {
    content:"";
    width:30px;
    height:1px;
    background:#464646;
    margin-right:10px;
}

.under .corner_titles .kana p:after {
    content:"";
    width:30px;
    height:1px;
    background:#464646;
    margin-left:10px;
}

.under .middle_titles {
    text-align:center;
    margin-bottom:30px;
}

.under .middle_titles h2 {
    font-size:250%;
    font-weight:700;
    line-height:100%;
    margin-bottom:10px;
    color:#0d6fb8;
}

.under .middle_titles h2:first-letter {
    color:#e60012;
}

.under .middle_titles .kana {
}

.under .middle_titles .kana p {
    font-size:100%;
    font-weight:700;
    font-style:italic;
    line-height:100%;
    color:#969696;
    display:flex;
    justify-content:center;
    align-items:center;
}

.under .middle_titles .kana p span:first-letter {
    color:#e60012;
}

.under .middle_titles .kana p:before {
    content:"";
    width:30px;
    height:1px;
    background:#464646;
    margin-right:10px;
}

.under .middle_titles .kana p:after {
    content:"";
    width:30px;
    height:1px;
    background:#464646;
    margin-left:10px;
}



/*-----TOPICS-----*/
#topics_index {
}

#topics_index .pagetitles {
    background:url(../topics/img/pagetitle.jpg) center;
    background-size:cover;
}

#topics_index .category {
    display:flex;
    justify-content:center;
    align-items:center;
}

#topics_index .category nav {
    margin:0 5px;
}

#topics_index .category nav.now {
    pointer-events:none;
}

#topics_index .category nav.none {
    opacity:0.5;
    pointer-events:none;
}

#topics_index .category nav a {
    padding:15px 20px;
    border:#323232 1px solid;
    border-bottom:none;
    display:block;
}

#topics_index .category nav.now a {
    background:rgba(13,111,184,0.2);
}

#topics_index .category nav a p {
    font-size:90%;
    font-style:italic;
    line-height:100%;
}

#topics_index .category nav.now a p {
    font-weight:600;
    color:#0d6fb8;
}

#topics_index .topics {
}

#topics_index .topics .topic {
    border-bottom:#323232 1px solid;
}

#topics_index .topics .topic:first-child {
    border-top:#323232 1px solid;
}

#topics_index .topics .topic:last-child {
}

#topics_index .topics .topic a {
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:30px 50px 30px 30px;
    position:relative;
}

#topics_index .topics .topic a:before {
    content:"";
    width:10px;
    height:10px;
    border-top:#0d6fb8 1px solid;
    border-right:#0d6fb8 1px solid;
    transform:rotate(45deg);
    position:absolute;
    right:19px;
}

#topics_index .topics .topic a:after {
    content:"";
    width:10px;
    height:10px;
    border-top:#0d6fb8 1px solid;
    border-right:#0d6fb8 1px solid;
    transform:rotate(45deg);
    position:absolute;
    right:25px;
}

#topics_index .topics .topic a .date_cate {
    display:flex;
    justify-content:space-between;
    align-items:center;
    width:180px;
}

#topics_index .topics .topic a .date_cate .date {

}

#topics_index .topics .topic a .date_cate .cate {
    width:80px;
    height:20px;
    background:#0d6fb8;
    display:flex;
    justify-content:center;
    align-items:center;
}

#topics_index .topics .topic a .date_cate .cate p {
    font-size:80%;
    font-weight:500;
    line-height:100%;
    color:#000;
}

#topics_index .topics .topic a .subject {
    width:calc(100% - 200px);
    font-size:90%;
}

#topics_index .pagenation {
    display:flex;
    justify-content:center;
    margin-top:30px;
}

#topics_index .pagenation nav {
    margin:0 5px;
}

#topics_index .pagenation nav.none {
    display:none;
}

#topics_index .pagenation nav a {
    border:#464646 1px solid;
    display:flex;
    justify-content:center;
    align-items:center;
}

#topics_index .pagenation nav.none a {
    pointer-events:none;
}

#topics_index .pagenation nav.now a {
    pointer-events:none;
    border:#0d6fb8 1px solid;
    background:rgba(13,111,184,0.2);
}

#topics_index .pagenation nav a p {
    font-size:90%;
    line-height:100%;
    padding:8px 10px;
    color:#464646;
}

#topics_index .pagenation nav.none a p {
    color:#464646;
}

#topics_index .pagenation nav.now a p {
    color:#0d6fb8;
}


/*-----TOPICS DETAIL-----*/
#topics_detail {
}

#topics_detail .pagetitles {
    background:url(../topics/img/pagetitle.jpg) center;
    background-size:cover;
}

#topics_detail article {
    background:#141414;
    padding:50px 70px;
}

#topics_detail article p {
}

#topics_detail article .corner {
    text-align:center;
}

#topics_detail article .corner .cate_titles {
    margin-bottom:30px;
}

#topics_detail article .corner .cate_title {
    color:#c8b478;   
}

#topics_detail article h3 {
    font-size:200%;
    line-height:135%;
    margin-bottom:10px;
}

#topics_detail article h3:first-letter {
    color:#0d6fb8;
}

#topics_detail article .date_cate {
    display:flex;
    align-items:center;
}

#topics_detail article .date_cate .date {
    margin-right:15px;
}

#topics_detail article .date_cate .cate {
    width:80px;
    height:20px;
    background:#0d6fb8;
    display:flex;
    justify-content:center;
    align-items:center;
    font-size:80%;
    color:#000;
}

#topics_detail article .photo {
    margin-top:40px;
}

#topics_detail article .ex {
    margin-top:40px;
}

#topics_detail article .ex p {
    font-size:90%;
    letter-spacing:1px;
}

#topics_detail article .youtube {
    margin:40px auto 0;
    padding-top: 56.25%;
    position:relative;
}

#topics_detail article .youtube iframe {
    position: absolute;
    top:0;
    right:0;
    width:100% !important;
    height:100% !important;
}

#topics_detail article .btns {
    margin-top:40px;
}

#topics_detail article .btns .btn {
    position:relative;
    display:flex;
    align-items:center;
    border-bottom:#323232 1px solid;
    padding:30px 15px 30px;
}

#topics_detail article .btns .btn:first-child {
    border-top:#323232 1px solid;
}

#topics_detail article .btns .btn a {
    padding-left:30px;
}

#topics_detail article .btns .btn a:before {
    content:"";
    width:10px;
    height:10px;
    border-top:#0d6fb8 1px solid;
    border-right:#0d6fb8 1px solid;
    transform:rotate(45deg);
    position:absolute;
    left:0px;
}

#topics_detail article .btns .btn a:after {
    content:"";
    width:10px;
    height:10px;
    border-top:#0d6fb8 1px solid;
    border-right:#0d6fb8 1px solid;
    transform:rotate(45deg);
    position:absolute;
    left:6px;
}

#topics_detail article .btns .btn:first-child {
}

#topics_detail article .btns .btn:last-child {
    margin-bottom:0;
}

#topics_detail article .btns .btn a {
    display:flex;
    justify-content:space-between;
    align-items:center;
    position:relative;
}

#topics_detail article .btns .btn a p {
    font-size:90%;
    font-weight:600;
    color:#0d6fb8;
}

#topics_detail .back_btn {
    text-align:center;
    margin-top:50px;
}




/*-----COMPANY-----*/
#company {
}

#company .pagetitles {
    background:url(../company/img/pagetitle.jpg) center;
    background-size:cover;
}

#company #philosophy {
    position:relative;
}

#company #philosophy .bg {
    width:100%;
    height:500px;
    background:url(../company/img/philosophy_bg.jpg) center;
    background-size:cover;
    position:absolute;
    top:0;
    left:0;
}

#company #philosophy .bg .gra {
    width:100%;
    height:100%;
    background:linear-gradient(rgba(0,0,0,1),rgba(0,0,0,0.7));
    position:absolute;
    top:0;
    left:0;
}

#company #philosophy .subtitles {
    position:relative;
}

#company #philosophy .details {
    display:flex;
    flex-direction:row-reverse;
    justify-content:center;
    align-items:center;
    position:relative;
}

#company #philosophy .maincopy {
    margin-bottom:15px;
}

#company #philosophy .maincopy p {
    font-size:400%;
    font-weight:600;
    font-style:italic;
    line-height:120%;
}

#company #philosophy .maincopy p:first-child:first-letter {
    color:#e60012;
}

#company #philosophy .maincopy p:last-child:first-letter {
    color:#0d6fb8;
}

#company #philosophy .details .photo {
    width:180px;
    margin-right:30px;
}

#company #greeting {
    width:1000px;
    background:#000;
    padding:60px 70px 0;
    position:relative;
    margin:0 auto 100px;
}

#company #greeting .maincopy {
    font-size:250%;
    font-weight:600;
    font-style:italic;
    line-height:135%;
    letter-spacing:0.5px;
    text-align:center;
    margin-bottom:30px;
}

#company #greeting .ex {
}

#company #greeting .ex p {
    font-size:90%;
}

#company #greeting .names {
    display:flex;
    justify-content:flex-end;
    align-items:center;
    margin-top:50px;
}

#company #greeting .names .position {
    margin-right:10px;
}

#company #greeting .names .name {
    font-size:135%;
}

#company #overview {
    background:#141414;
    padding:100px 0;
}

#company #overview .profiles {
    width:900px;
    margin:auto;
}

#company #overview .profiles .profile {
    display:flex;
    justify-content:space-between;
    border-bottom:#323232 1px solid;
    padding:20px 0;
}

#company #overview .profiles .profile:first-child {
    border-top:#323232 1px solid;
}

#company #overview .profiles .profile .item {
    width:200px;
    padding-left:15px;
    font-size:90%;
}

#company #overview .profiles .profile .detail {
    width:calc(100% - 200px);
    font-size:90%;
}

#company #overview .profiles .profile .detail .sub_details {
}

#company #overview .profiles .profile .detail .sub_details .sub_detail {
    display:flex;
    border-bottom:#323232 1px solid;
    padding-bottom:20px;
    margin-bottom:20px;
}

#company #overview .profiles .profile .detail .sub_details .sub_detail:last-child {
    border-bottom:none;
    padding-bottom:0;
    margin-bottom:0;
}

#company #overview .profiles .profile .detail .sub_details .sub_detail .subitem {
    width:200px;
}

#company #overview .profiles .profile .detail .sub_details .sub_detail .tx {
    width:calc(100% - 200px);
}

#company #overview .profiles .profile .detail ul {
}

#company #overview .profiles .profile .detail ul li {
    display:flex;
}

#company #overview .profiles .profile .detail .clients {
    display:flex;
}

#company #overview .profiles .profile .detail .clients .client {
    width:50%;
}

#company #overview .profiles .profile .detail .clients .client p {
    display:flex;
}

#company #access {
    padding:100px 0;
}

#company #access .cts {
    width:calc(100% - 100px);
    max-width:1200px;
    margin:auto;
}

#company #access .details {
    width:100%;
    display:flex;
    justify-content:space-between;
}

#company #access .details .office {
    width:48%;
}

#company #access .details .office .map {
    width:100%;
    height:400px;
    margin-bottom:25px;
    filter: grayscale(100%);
}

#company #access .details .office .data {
}

#company #access .details .office:first-child .data {
    text-align:right;
}

#company #access .details .office .data .item {
    font-size:100%;
    font-weight:bold;
}

#company #access .details .office .data .item:first-letter {
    color:#0d6fb8;
}

#company #access .details .office .data .address {
    font-size:90%;
}

#company #sns {
    background:#141414;
    padding:100px 0;
}

#company #sns .sns {
    display:flex;
    justify-content:center;
    margin-bottom:30px;
}

#company #sns .sns a {
    width:80px;
    margin:0 15px;
}

#company #sns .accounts {
    text-align:center;
}

#company #sns .accounts .item {
    font-size:90%;
    font-weight:600;
}

#company #sns .accounts .account {
    font-size:80%;
    color:#787878;
}


#company #sdgs {
    padding:100px 0 0;
}

#company #sdgs .copy {
    text-align:center;
    margin-bottom:50px;
}

#company #sdgs .sdgs_title {
    position:relative;
    margin-bottom:40px;
    display:flex;
    justify-content:center;
    align-items:center;
}

#company #sdgs .sdgs_title .line {
    width:100%;
    height:1px;
    background:#323232;
}

#company #sdgs .sdgs_title p {
    font-size:150%;
    font-weight:600;
    position:absolute;
    background:#000;
    padding:0 15px;
    display:inline-block;
}

#company #sdgs .sdgs_title p:first-letter {
    color:#0d6fb8;
}

#company #sdgs .activities {
    display:flex;
    justify-content:space-between;
    flex-wrap:wrap;
    margin-bottom:40px;
}

#company #sdgs .activities .activity {
    width:48.5%;
    background:#1e1e1e;
    margin-bottom:30px;
    padding:35px 40px;
}

#company #sdgs .activities .activity:nth-child(n+3) {
    margin-bottom:0;
}

#company #sdgs .activities .activity .item {
    font-size:135%;
    font-weight:600;
    text-align:center;
    margin-bottom:10px;
}

#company #sdgs .activities .activity .item:first-letter {
    color:#0d6fb8;
}

#company #sdgs .activities .activity .panels {
    display:flex;
    justify-content:center;
    margin-bottom:15px;
}

#company #sdgs .activities .activity .panels .panel {
    width:22.9%;
    margin-right:2.8%;
}

#company #sdgs .activities .activity .panels .panel:last-child {
    margin-right:0;
}

#company #sdgs .activities .activity .tx {
    font-size:90%;
    margin-bottom:25px;
}

#company #sdgs .activities .activity:nth-last-child(n+3) .tx {
    min-height:70px;
}

#company #sdgs .activities .activity .action {
    border-left:#0d6fb8 5px solid;
    margin-bottom:10px;
    padding:3px 0 3px 10px;
    font-size:90%;
    font-weight:600;
}

#company #sdgs .activities .activity ul {
    background:#262626;
    padding:15px 20px;
}

#company #sdgs .activities .activity ul li {
    border-bottom:#1e1e1e 1px solid;
    display:flex;
    align-items:center;
    padding-bottom:8px;
    margin-bottom:8px;
}

#company #sdgs .activities .activity ul li:last-child {
    border-bottom:none;
    padding-bottom:0;
    margin-bottom:0;
}

#company #sdgs .activities .activity ul li .arrow {
    width:8px;
    height:8px;
    border-top:#0d6fb8 1px solid;
    border-right:#0d6fb8 1px solid;
    transform:rotate(45deg);
    margin-right:10px;
}

#company #sdgs .activities .activity ul li p {
    font-size:80%;
}

#company #sdgs .sdgs {
    display:flex;
    justify-content:space-between;
    align-items:center;
    border-top:#323232 1px solid;
    border-bottom:#323232 1px solid;
    padding:40px 0;
    margin-bottom:30px;
}

#company #sdgs .sdgs .icons {
    width:640px;
    display:flex;
    flex-wrap:wrap;
}

#company #sdgs .sdgs .icons .icon {
    width:15%;
    margin:0 2% 2% 0;
}

#company #sdgs .sdgs .icons .icon:nth-child(6n) {
    margin-right:0;
}

#company #sdgs .sdgs .icons .icon:nth-child(n+13) {
    margin-bottom:0;
}

#company #sdgs .sdgs .details {
    width:320px;
}

#company #sdgs .sdgs .details .sdgs_logo {
    width:240px;
    margin-bottom:25px;
}

#company #sdgs .sdgs .details .about_item {
    font-weight:600;
}

#company #sdgs .sdgs .details .tx {
    font-size:80%;
}

#company #sdgs .dates {
    text-align:right;
}

#company #sdgs .dates .date {
    font-size:80%;
}

#company #sdgs .dates .position {
    font-size:80%;
}

#company #sdgs .dates .name {
    font-size:100%;
    font-weight:600;
}



/*-----DIVISION-----*/
#division { 
}

#division .intro {
    width:calc(100% - 100px);
    max-width:1200px;
    height:450px;
    margin:0 auto 120px;
    position:relative;
    display:flex;
    justify-content:flex-end;
}

#division .intro .photo {
    width:800px;
    max-width:1000px;
    height:450px;
}

#division .div_title {
    position:absolute;
    top:20px;
    left:-20px;
    z-index:1;
}

#division .div_title .maincopy {
}

#division .div_title .maincopy p {
    font-size:450%;
    font-weight:600;
    font-style:italic;
    line-height:100%;
    text-shadow:0 0 15px rgba(0,0,0,0.7);
}

#division .div_title .maincopy p:first-child:first-letter {
    color:#e60012;
}

#division .div_title .maincopy p:last-child:first-letter {
    color:#0d6fb8;
}

#division .div_title .kana {
    font-size:150%;
    font-weight:600;
}

#division .div_title .kana:first-letter {
    color:#0d6fb8;
}

#division .copies {
    width:500px;
    position:absolute;
    bottom:-50px;
    left:calc(50% - 475px);
    background:rgba(0,0,0,0.8);
    padding:30px 35px 0 0;
}

#division .copies .subcopy {
    font-size:180%;
    font-weight:600;
    line-height:135%;
    margin-bottom:10px;
}

#division .copies .subcopy:first-letter {
    color:#e60012;
}

#division .copies .tx {
    font-size:90%;
    letter-spacing:1px;
}

#division #division_gallery {
    margin-bottom:100px;
}




/*-----DIVISION CONSTRUCTION-----*/
#construction {
}

#construction .pagetitles {
    background:url(../division/construction/img/pagetitle.jpg) center;
    background-size:cover;
}

#construction .intro .photo {
    background:url(../division/construction/img/main.jpg) top center;
    background-size:cover;
}

#construction #onshore {
}

#construction #onshore .constructions {
    width:calc(100% - 100px);
    max-width:1000px;
    margin:0 auto 100px;
}

#construction #onshore .constructions .construction {
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:50px;
}

#construction #onshore .constructions .construction:last-child {
    margin-bottom:0;
}

#construction #onshore .constructions .construction:nth-child(even) {
    flex-direction:row-reverse;
}

#construction #onshore .constructions .construction .photo {
    width:60%;
    height:400px;
}

#construction #onshore .constructions .construction:nth-child(1) .photo {
    background:url(../division/construction/img/onshore_1.jpg) center;
    background-size:cover;
}

#construction #onshore .constructions .construction:nth-child(2) .photo {
    background:url(../division/construction/img/onshore_2.jpg) center;
    background-size:cover;
}

#construction #onshore .constructions .construction:nth-child(3) .photo {
    background:url(../division/construction/img/onshore_3.jpg) center;
    background-size:cover;
}

#construction #onshore .constructions .construction .details {
    width:40%;
}

#construction #onshore .constructions .construction:nth-child(odd) .details .detail {
    padding-left:50px;
}

#construction #onshore .constructions .construction:nth-child(even) .details .detail {
    padding-right:50px;
}

#construction #onshore .constructions .construction .details .detail .onshore_title {
    font-size:200%;
    font-weight:600;
    margin-bottom:15px;
}

#construction #onshore .constructions .construction .details .detail .onshore_title:first-letter {
    color:#0d6fb8;
}

#construction #onshore .constructions .construction .details .detail .tx {
    font-size:90%;
}

#construction #onshore .constructions .construction .details .detail .works {
    margin-top:15px;
}

#construction #onshore .constructions .construction .details .detail .works .work {
    border-bottom:#323232 1px solid;
    padding:15px 0;
}

#construction #onshore .constructions .construction .details .detail .works .work:first-child {
    border-top:#323232 1px solid;
}

#construction #onshore .constructions .construction .details .detail .works .work .item {
    font-size:90%;
}

#construction #onshore .constructions .construction .details .detail .works .work .sub {
    font-size:80%;
    color:#787878;
}

#construction #case {
    width:calc(100% - 100px);
    max-width:1000px;
    margin:auto;
}

#construction #case .case_title {
    position:relative;
    margin-bottom:40px;
    display:flex;
    justify-content:center;
    align-items:center;
}

#construction #case .case_title .line {
    width:100%;
    height:1px;
    background:#323232;
}

#construction #case .case_title p {
    font-size:150%;
    font-weight:600;
    position:absolute;
    background:#000;
    padding:0 15px;
    display:inline-block;
}

#construction #case .case_title p:first-letter {
    color:#0d6fb8;
}

#construction #case .cases {
    display:flex;
    justify-content:space-between;
    flex-wrap:wrap;
}

#construction #case .cases .case {
    width:48%;
    overflow:hidden;
    position:relative;
    margin-bottom:50px;
    background:#141414;
}

#construction #case .cases .case .case_slider {
    position:relative;
}

#construction #case .cases .case .case_item {
    padding:20px 20px;
    text-align:center;
}

#construction #case .cases .case .case_item .item {
    font-size:120%;
    font-weight:600;
    line-height:135%;
    letter-spacing:1px;
}

#construction #case .cases .case .case_item .kana {
    color:#787878;
    font-size:90%;
    line-height:135%;
}

#construction #scene {
    width:100%;
    margin:auto;
}

#construction #scene .scene_title {
    position:relative;
    margin-bottom:40px;
    display:flex;
    justify-content:center;
    align-items:center;
}

#construction #scene .scene_title .line {
    width:100%;
    height:1px;
    background:#323232;
}

#construction #scene .scene_title p {
    font-size:150%;
    font-weight:600;
    position:absolute;
    background:#000;
    padding:0 15px;
    display:inline-block;
}

#construction #scene .scene_title p:first-letter {
    color:#0d6fb8;
}

#construction #scene .scene_slider {
    position:relative;
    overflow:hidden;
}





/*-----DIVISION INDUSTRIAL-----*/
#industrial {
}

#industrial .pagetitles {
    background:url(../division/industrial/img/pagetitle.jpg) center;
    background-size:cover;
}

#industrial .intro .photo {
    background:url(../division/industrial/img/main.jpg) top center;
    background-size:cover;
}

#industrial #waste {
    padding:100px 0;
    background:#141414;
}

#industrial #waste .details {
    display:flex;
    justify-content:space-between;
    margin-bottom:50px;
}

#industrial #waste .details .photo {
    width:47.5%;
}

#industrial #waste .details .detail {
    width:47.5%;
}

#industrial #waste .details .detail .maincopy {
    font-size:180%;
    font-weight:600;
    line-height:135%;
    margin-bottom:10px;
}

#industrial #waste .details .detail .maincopy:first-letter {
    color:#e60012;
}

#industrial #waste .details .detail .tx {
    font-size:90%;
}

#industrial #waste .applicables {
    display:flex;
    justify-content:space-between;
}

#industrial #waste .applicables .applicable {
    width:15%;
}

#industrial #waste .applicables .applicable .photo {
    margin-bottom:12px;
    background:#000;
    padding:18px;
}

#industrial #waste .applicables .applicable .tx {
    font-size:80%;
}

#industrial #process {
    padding-top:100px;
}

#industrial #process h3 {
    font-size:150%;
    text-align:center;
    margin-bottom:5px;
}

#industrial #process h3:first-letter {
    color:#e60012;
}

#industrial #process .copy {
    font-size:90%;
    text-align:center;
    margin-bottom:30px;
}

#industrial #process .steps {
    display:flex;
    justify-content:center;
}

#industrial #process .steps .step {
    width:200px;
    margin-right:50px;
}

#industrial #process .steps .step:last-child {
    margin-right:0;
}

#industrial #process .steps .step .scene {
    border:#323232 1px solid;
    background:#000;
    height:200px;
    height:200px;
    display:flex;
    justify-content:center;
    align-items:center;
    margin-bottom:15px;
    position:relative;
}

#industrial #process .steps .step .scene:after {
    content:"";
    width:50px;
    height:20px;
    background:#222;
    position:absolute;
    top:90px;
    right:-51px;
}

#industrial #process .steps .step:last-child .scene:after {
    display:none;
}

#industrial #process .steps .step .scene img {
    width:100px;
}

#industrial #process .steps .step .explain {
    text-align:center;
}

#industrial #process .steps .step .explain .item {
    font-size:90%;
    font-weight:600;
}

#industrial #process .steps .step .explain .item:first-letter {
    color:#0d6fb8;
}

#industrial #process .steps .step .explain .tx {
    font-size:80%;
    color:#787878;
}




/*-----DIVISION LOGISTICS-----*/
#logistics {
}

#logistics .pagetitles {
    background:url(../division/logistics/img/pagetitle.jpg) center;
    background-size:cover;
}

#logistics .intro .photo {
    background:url(../division/logistics/img/main.jpg) top center;
    background-size:cover;
}

#logistics #truck {
    width:1000px;
    margin:auto;
}

#logistics #truck h3 {
    font-size:180%;
    text-align:center;
    margin-bottom:10px;
}

#logistics #truck h3:first-letter {
    color:#0d6fb8;
}

#logistics #truck .copy {
    font-size:90%;
    text-align:center;
    margin-bottom:25px;
}

#logistics #truck .photos {
    display:flex;
    flex-wrap:wrap;
}

#logistics #truck .photos .photo {
    width:49%;
    margin:0 2% 2% 0;
}

#logistics #truck .photos .photo:nth-child(2n) {
    margin-right:0;
}

#logistics #truck .photos .photo:nth-child(n+4) {
    margin-bottom:0;
}






/*-----RECRUIT-----*/
#recruit {
}

#recruit .pagetitles {
    background:url(../recruit/img/pagetitle.jpg) center;
    background-size:cover;
}

#recruit .intro {
    position:relative;
    margin-bottom:100px;
}

#recruit .intro .bg {
    width:100%;
    height:300px;
    background:url(../recruit/img/recruit_bg.jpg) center;
    background-size:cover;
    position:absolute;
    top:0;
    left:0;
}

#recruit .intro .bg .mask {
    width:100%;
    height:100%;
    background:linear-gradient(rgba(0,0,0,1),rgba(0,0,0,0.7));
    position:absolute;
    top:0;
    left:0;
}

#recruit .intro .intro_cts {
    width:900px;
    margin:auto;
    position:relative;
}

#recruit .intro .intro_cts .maincopy {
    font-size:400%;
    font-weight:700;
    font-style:italic;
    line-height:120%;
    text-align:center;
    margin-bottom:30px;
    color:#0d6fb8;
}

#recruit .intro .intro_cts .maincopy:first-letter {
    color:#e60012;
}

#recruit .intro .intro_cts .details {
    display:flex;
    justify-content:space-between;
    align-items:center;
}

#recruit .intro .intro_cts .details .photo {
    width:350px;
}

#recruit .intro .intro_cts .details .detail {
    width:calc(100% - 400px);
    background:#000;
    padding:35px 45px 0;
}

#recruit .intro .intro_cts .details .detail .subcopy {
    margin-bottom:15px;
}

#recruit .intro .intro_cts .details .detail .subcopy .copy {
    font-size:180%;
    font-weight:600;
    font-style:italic;
    line-height:135%;
}

#recruit .intro .intro_cts .details .detail .subcopy .copy:first-child:first-letter {
    color:#e60012;
}

#recruit .intro .intro_cts .details .detail .subcopy .copy:last-child:first-letter {
    color:#0d6fb8;
}

#recruit .intro .intro_cts .details .detail .tx {
    font-size:90%;
}

#recruit .job {
}

#recruit .cts {
    width:900px;
}

#recruit .job .details {
}

#recruit .job .details .detail {
    border-bottom:#323232 1px solid;
    padding:20px;
    display:flex;
    justify-content:space-between;
}

#recruit .job .details .detail:first-child {
    border-top:#323232 1px solid;
}

#recruit .job .details .detail .item {
    width:200px;
    font-size:90%;
}

#recruit .job .details .detail .data {
    width:calc(100% - 200px);
}

#recruit .job .details .detail .data .tx {
    display:flex;
    font-size:90%;
}

#recruit .job .details .detail .data .attention {
    font-size:80%;
    color:#969696;
}




/*-----CONTACT-----*/
#contact {
}

#contact .pagetitles {
    background:url(../contact/img/pagetitle.jpg) center;
    background-size:cover;
}

#contact .intro {
    margin-bottom:30px;
    text-align:center;
}

#contact .intro h3 {
    font-size:200%;
    font-weight:600;
    font-style:italic;
    line-height:135%;
    margin-bottom:10px;
}

#contact .intro h3:first-letter {
    color:#0d6fb8;
}

#contact .intro .copy {
    font-size:90%;
}

#contact .intro .contact_tel {
    width:400px;
    margin:30px auto 0;
    border:#0d6fb8 1px solid;
    position:relative;
    padding:25px 20px 20px;
}

#contact .intro .contact_tel .item {
    height:20px;
    display:flex;
    justify-content:center;
    align-items:center;
    position:absolute;
    top:-10px;
    left:0;
    right:0;
}

#contact .intro .contact_tel .item p {
    font-size:100%;
    font-weight:600;
    color:#0d6fb8;
    background:#000;
    display:inline-block;
    padding:0 10px;
}

#contact .intro .contact_tel .number {
    font-size:300%;
    line-height:100%;
    color:#0d6fb8;
}

#contact #contact_form {
    background:#141414;
    padding:60px 70px;
}

#contact #contact_form .form_cts {
}

#contact #contact_form .form_cts .copy {
    font-size:90%;
    margin-bottom:25px;
}

#contact #contact_form .form_cts  .attention {
    margin-top:5px;
}

#contact #contact_form .form_cts  .attention p {
    font-size:70%;
    color:#787878;
}

#contact #contact_form .form_cts .forms {
}

#contact #contact_form .form_cts .forms .form {
    border-bottom:#323232 1px solid;
    padding:20px 0;
    display:flex;
    justify-content:space-between;
}

#contact #contact_form .form_cts .forms .form:first-child {
    border-top:#323232 1px solid;
}

#contact #contact_form .form_cts .forms .form .items {
    width:25%;
    display:flex;
    align-items:center;
}

#contact #contact_form .form_cts .forms .form .items .required {
    font-size:60%;
    line-height:100%;
    padding:3px 5px;
    margin-right:10px;
    border:#e60012 1px solid;
    color:#e60012;
}

#contact #contact_form .form_cts .forms .form .items .any {
    font-size:60%;
    line-height:100%;
    padding:3px 5px;
    margin-right:10px;
    border:#464646 1px solid;
    color:#464646;
}

#contact #contact_form .form_cts .forms .form .items .item {
    font-size:90%;
    font-weight:500;
}


#contact #contact_form .form_cts .forms .form .detail {
    width:75%;
}

#contact #contact_form .form_cts .forms .form:nth-last-child(-n+2) {
    align-items:flex-start;
}




/*THANKS*/
#contact #contact_form .thanks {
    text-align:center;
    padding:0 0;
}

#contact #contact_form .thanks .tx {
    padding-bottom:15px;
}

#contact #contact_form .thanks .attention {
}

#contact #contact_form .thanks .attention p {
    justify-content:center;
}


/*FORM*/
input,textarea,select {
    padding:15px 20px;
}

form .style_name {
    width:50%;
}

form .style_kana {
    width:50%;
}

form .style_mail {
    width:80%;
}

form .style_tel {
    width:30%;
}

form .style_select {
    width:40%;
}

form .style_detail {
    width:100%;
    height:250px;
    vertical-align:top;
}

form .btns {
    display:flex;
    justify-content:center;
    align-items:center;
    margin-top:20px;
}

form .warning {
    font-size:80%;
}

form .warning.block {
    display:block;
    line-height:100%;
    margin-top:10px;
    color:#e60012;
}

form .btns .btn {
    margin:0 10px;
}

form .btns .btn input:hover {
    -webkit-animation:hover 0.5s ease forwards;
    animation:hover 0.5s ease forwards;
}

form .btns .btn .style_submit {
    border:none;
    background:#e60012;
    width:200px;
    padding:15px;
    cursor:pointer;
    color:#fff;
    font-weight:600;
}

#contact .btns .btn .accepted:disabled {
    background:#323232;
    color:#464646;
    pointer-events:none;
}

form .btns .btn .style_fix {
    border:none;
    background:#0d6fb8;
    width:200px;
    padding:15px;
    cursor:pointer;
}

form .detail .privacy_policy {
}

form .detail .privacy_policy .privacies {
    height:250px;
    border:#464646 1px solid;
    padding:20px 25px;
    overflow-y:scroll;
    margin-bottom:12px;
}

form .detail .privacy_policy .privacies .privacy {
    border-bottom:#323232 1px solid;
    padding-bottom:15px;
    margin-bottom:15px;
}

form .detail .privacy_policy .privacies .privacy:last-child {
    border-bottom:none;
    padding-bottom:0;
    margin-bottom:0;
}

form .detail .privacy_policy .privacies .privacy .tx {
    font-size:80%;
}

form .detail .privacy_policy .privacies .privacy .attention {
    display:flex;
    font-size:80%;
    padding-top:5px;
}

form .detail .privacy_policy .privacies .privacy .item {
    font-size:80%;
    font-weight:600;
    margin-bottom:5px;
    color:#0d6fb8;
}

form .detail .privacy_policy .privacies .privacy ul {
}

form .detail .privacy_policy .privacies .privacy ul li {
    display:flex;
}

form .detail .privacy_policy .privacies .privacy ul li p {
    font-size:80%;
}

form .detail .consent_cap {
    font-size:90%;
    letter-spacing:1px;
    padding-bottom:12px;
}

form .detail .consent {
    display:flex;
    align-items:center;
    position:relative;
}

form .detail .consent label {
    cursor:pointer;
    padding-left:5px;
    font-size:90%;
    font-weight:500;
    letter-spacing:1px;
    position:relative;
}

form .detail .consent label:before {
    content:"";
    width:15px;
    height:15px;
    border:#464646 1px solid;
    display:inline-block;
    position:absolute;
    top:5px;
    left:-20px;
}

form .detail .consent label:after {
    content:"";
    width:10px;
    height:15px;
    border-right:#e60012 2px solid;
    border-bottom:#e60012 2px solid;
    display:block;
    transform:rotate(45deg);
    position:absolute;
    top:0;
    left:-13px;
    opacity:0;
}

form .detail input[type="checkbox"] {
width:20px;
visibility:hidden;
}

form .detail input[type="checkbox"]:checked + label:after {
opacity:1;
}







/*-----PRIVACY-----*/
#privacy {
}

#privacy .pagetitles {
    background:url(../privacy/img/pagetitle.jpg) center;
    background-size:cover;
}

#privacy .privacies {
}

#privacy .privacies .privacy {
    border-bottom:#323232 1px solid;
    padding:20px;
}

#privacy .privacies .privacy .item {
    font-size:100%;
    font-weight:700;
    letter-spacing:0.5px;
    color:#0d6fb8;
    margin-bottom:5px;
}

#privacy .privacies .privacy .tx {
    font-size:90%;
    letter-spacing:0.5px;
}




/*-----CTA-----*/
#cta {
    position:relative;
}

#cta .cta_slider {
    width:100%;
    height:450px;
}

#cta .cta_slider .photo {
    width:100%;
    height:100%;
}

#cta .cta_slider .photo1 {
    background:url(../img/cta_1.jpg) center;
    background-size:cover;
}

#cta .cta_slider .photo2 {
    background:url(../img/cta_2.jpg) center;
    background-size:cover;
}

#cta .cta_slider .photo3 {
    background:url(../img/cta_3.jpg) center;
    background-size:cover;
}

#cta .mask {
    width:100%;
    height:100%;
    background:url(../img/mask.png);
    background-size:2px;
    position:absolute;
    top:0;
    left:0;
    z-index:1000;
}

#cta .bl {
    width:100%;
    height:100%;
    background:rgba(0,0,0,0.2);
    position:absolute;
    top:0;
    left:0;
    z-index:999;
}

#cta .cts {
    width:100%;
    height:100%;
    display:flex;
    justify-content:center;
    align-items:center;
    position:absolute;
    top:0;
    left:0;
    z-index:1000;
}

#cta .main {
    text-align:center;
}

#cta .main .cta_titles {
    text-align:center;
    margin-bottom:30px;
}

#cta .main .cta_titles h2 {
    font-size:500%;
    line-height:100%;
}

#cta .main .cta_titles .kana {
}

#cta .main .cta_titles .kana p {
    font-size:100%;
    font-weight:700;
    font-style:italic;
    line-height:100%;
    color:#969696;
    display:flex;
    justify-content:center;
    align-items:center;
}

#cta .main .cta_titles .kana p span:first-letter {
    color:#e60012;
}

#cta .main .cta_titles .kana p:before {
    content:"";
    width:30px;
    height:1px;
    background:#464646;
    margin-right:10px;
}

#cta .main .cta_titles .kana p:after {
    content:"";
    width:30px;
    height:1px;
    background:#464646;
    margin-left:10px;
}

#cta .main .copy {
    font-size:135%;
    font-weight:bold;
    letter-spacing:1px;
    color:#0d6fb8;
    margin-bottom:10px;
}

#cta .main .tx {
    font-size:90%;
    letter-spacing:1px;
}

#cta .main .staff {
    width:100px;
}

#cta .contact_btn {
    margin-top:25px;
    text-align:center;
    animation:cta 1s infinite alternate;
}

#cta .contact_btn .btn {
    display:inline-block;
}

#cta .contact_btn .btn a {
    position:relative;
    background:#e60012;
    display:flex;
    align-items:center;
    padding:20px 50px 20px 30px;
}

#cta .contact_btn .btn a:before {
    content:"";
    width:8px;
    height:8px;
    border-top:#000 1px solid;
    border-right:#000 1px solid;
    transform:rotate(45deg);
    position:absolute;
    right:19px;
}

#cta .contact_btn .btn a:after {
    content:"";
    width:8px;
    height:8px;
    border-top:#000 1px solid;
    border-right:#000 1px solid;
    transform:rotate(45deg);
    position:absolute;
    right:25px;
}

#cta .contact_btn .btn a p {
    font-style:italic;
    font-weight:600;
    line-height:100%;
    color:#000;
}

#cta .contact_btn .btn a p:first-letter {
}






/*GROBAL*/
#grobal {
}

#grobal .nav_btn {
display:none;
}

#grobal .nav_close {
display:none;
}

#grobal .grobal_nav {
display:flex;
justify-content:center;
align-items:center;
}

#grobal .grobal_nav.show {
transform:translate(0,0);
}

#grobal .grobal_nav nav {
margin-left:25px;
height:50px;
display:flex;
align-items:center;
}

#grobal .grobal_nav nav:last-child {
    display:none;
}

#grobal .grobal_nav nav a {
}

#grobal .grobal_nav nav .en {
    font-size:110%;
    line-height:100%;
}

#grobal .grobal_nav nav .jp {
    font-size:70%;
    font-weight:500;
    font-style:italic;
    color:#969696;
}

#grobal .grobal_nav .open_nav {
    position:relative;
    display:flex;
    justify-content:center;
    align-items:center;
    height:50px;
    margin-left:20px;
}

#grobal .grobal_nav .open_nav nav {
    margin-left:0;
}

#grobal .grobal_nav .navies {
    display:none;
    position:absolute;
    top:50px;
    width:150px;
}

#grobal .grobal_nav .navies .navi {
    border-bottom:#323232 1px solid;
}

#grobal .grobal_nav .navies .navi:first-child {
    border-top:#323232 1px solid;
}

#grobal .grobal_nav .navies .navi a {
    background:rgba(0,0,0,0.8);
    padding:10px 12px;
    display:block;
}

#grobal .grobal_nav .navies .navi a p {
    font-size:80%;
    font-weight:500;
    font-style:italic;
    line-height:135%;
}

#grobal .grobal_nav .navies .navi a p:first-letter {
    color:#e60012;
}

#grobal .grobal_nav .navies.show {
    display:block;
}




/*BACK TO TOP*/
.BackToTop {
position:fixed;
width:35px;
right:15px;
bottom:15px;
z-index:9999;
display:none;
}



/*FOOTER*/
footer {
padding:50px 0 30px;
}

footer .footer_nav {
    display:flex;
    justify-content:center;
    margin-bottom:50px;
}

footer .footer_nav nav {
    margin:0 15px;
}

footer .footer_nav nav a {
}

footer .footer_nav nav a p {
    font-size:80%;
    font-weight:bold;
    font-style:italic;
    color:#0d6fb8;
}

footer .footer_logo {
    width:200px;
    margin:0 auto 20px;
}

footer .offices {
    display:flex;
    justify-content:center;
    margin-bottom:25px;
}

footer .offices .office {
    padding:5px 0;
}

footer .offices .office:first-child {
    text-align:right;
    border-right:#323232 1px solid;
    padding-right:30px;
    margin-right:30px;
}

footer .offices .office .item {
    font-size:80%;
    font-weight:600;
}

footer .offices .office .address {
    font-size:80%;
}

footer .sns {
    display:flex;
    justify-content:center;
    margin-bottom:30px;
}

footer .sns a {
    display:block;
    width:45px;
    margin:0 15px;
}

footer .authorization {
    margin-bottom:50px;
}

footer .authorization .number {
    display:flex;
    justify-content:center;
    font-size:70%;
    color:#969696;
}

footer .copyright {
font-size:70%;
font-style:italic;
text-align:center;
color:#464646;
}






/*----- SWIPER -----*/
.swiper-button-prev,
.swiper-container-rtl .swiper-button-next {
    width:40px;
    height:40px;
    background: url("../division/construction/img/prev.svg") no-repeat;
    background-size:40px 40px;
    left: 0;
    right: auto;
}
.swiper-button-next,
.swiper-container-rtl .swiper-button-prev {
    width:40px;
    height:40px;
    background: url("../division/construction/img/next.svg") no-repeat;
    background-size:40px 40px;
    right: 0;
    left: auto;
}

/* 前へ次への矢印カスタマイズ */
.swiper-button-prev::after,
.swiper-button-next::after {
    content: "";
    height: 0;
    margin: auto;
    position: absolute;
    top: 0;
    bottom: 0;
    width: 0;
    display:none;
}
/* 前への矢印カスタマイズ */
.swiper-button-prev::after {
    width:30px;
    height:30px;
    border-left:2px #000 solid;
    border-bottom:2px #000 solid;
    transform:rotate(45deg);
    left:30px;
}
/* 次への矢印カスタマイズ */
.swiper-button-next::after {
    width:30px;
    height:30px;
    border-top:2px #000 solid;
    border-right:2px #000 solid;
    transform:rotate(45deg);
    right:30px;
}







}