@charset "UTF-8";
#top_business{
    margin-bottom: 0;
}
#top_business h2{
    margin-bottom: 80px;
}

#facility{
    margin-bottom: 0;
}
#facility .fl_box.images{
    margin-bottom: 3em;
    flex-wrap:wrap;
    align-items:flex-start;
}
#facility .fl_box.images figure{
    width: 32%;
    margin-bottom:30px
}
#facility .fl_box.images figure img{
	aspect-ratio:3 / 2;
}
#facility .fl_box.images figcaption{
    display: block;
    text-align: right;
    margin-top: 5px;
    font-size: 80%;
}

#facility table{
    width: 48%;
    font-size: 90%;
}
#facility table td,#facility table th{
    padding: 10px;
}
main #facility th{
    width: 60%
}

.bg_works{
    background: url(../images/bg_works.jpg) no-repeat left 35% #1b52aa;
	background-size: 100% auto;
    padding: 100px 0;
}
.bg_works .fl_box{
    justify-content: space-between;
}
.bg_works section{
    color: #fff;
    width: 40%;
    margin-bottom: 0;
}
.bg_works section h2{
    margin-bottom: 1em;
}
.bg_works section .btn{
    margin-top: 3em;
}
.bg_works .slider{
    width: 50%;
    min-height: 300px;
}
.bg_works .slick-list, .bg_works .slick-track{
    height: 100%;
}

.about_works{
    justify-content: space-between;
    align-items: flex-start;
}
.about_works > figure{
    width: 50%;
    position: relative;
    z-index: 1;
    opacity: 0;
    filter: drop-shadow(0 10px 20px rgba(0,0,0,0.3));
	animation: about_img-in 1s forwards 1.25s;
}
@keyframes about_img-in{
	0%{
		opacity: 0;
		transform: translateY(0) ;
	}
	100%{
		opacity: 1;
		transform: translateY(-20px);
        
	}
}
.about_works > figure img{
    width: 100%;
    aspect-ratio: 3 / 2 ;
}
.about_works > figure figcaption{
    position: absolute;
    left: 0;
    bottom: 0;
    background: #1b52aa;
    color: #fff;
    padding: 5px 10px 5px 15px;
    z-index: 1;
}
.about_works > figure figcaption small{
    display: inline-block;
    margin-left: 2em;
    opacity: .7;
}
.about_works > figure figcaption small::before{
    content: "｜";
    vertical-align: middle;
}
.about_works section{
    width: 40%;
    margin-bottom: 0 !important;
}

.wrap.bus_works{
    max-width: 1280px;
}
.bus_works .fl_box{
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
}
.bus_works .fl_box::after{
    content: "";
    width: calc(25% - 1px);
}
.bus_works .fl_box > li{
    width: calc(25% - 1px);
    margin-bottom: 40px;
}
.bus_works figure img{
    width: 100%;
    aspect-ratio: 3 / 2 ;
}
.bus_works figure figcaption{
    display: inline-block;
    padding: 5px 10px;
}
.bus_works figure figcaption small{
    display: inline-block;
    color: #1b52aa;
}
.bus_works figure figcaption > small::before{
    content: "｜";
    vertical-align: middle;
}

#public-works .about_works{
    margin-bottom: 50px;
}
#public-works .bg_gr .fl_box{
    justify-content: space-between;
    margin: 0 auto;
}
#public-works .bg_gr .fl_box dl{
    width: 20%;
}
#public-works .bg_gr .fl_box dl{
    border-left: 1px solid #eee;
}
#public-works .bg_gr .fl_box dl:first-of-type{
    border-left: none;
}
#public-works .bg_gr .fl_box dt{
    border: none;
    display: block;
    text-align: center;
    font-size: 140%;
}
#public-works .bg_gr .fl_box dt a{
	display:block;
	text-decoration:none !important;
}
#public-works .bg_gr .fl_box dt a:hover{
	opacity:0.5
}
#public-works .bg_gr .fl_box dt img{
    display: block;
    margin: 0 auto 10px auto;
    max-height: 42px;
    width: auto;
}
#public-works .bg_gr section > dl{
    margin-bottom: 20px;
}

#rd .bg_gr .fl_box dl{
    width: 60%;
}
#rd .bg_gr .fl_box figure{
    width: 35%;
}

#j-tex .about p em{
    display: inline-block;
    color: #1b52aa;
    font-weight: bold;
    border-bottom: 2px solid #1b52aa;
    padding: 0 2px;
    margin: 0 3px;
}
#j-tex .about ul.fl_box{
    justify-content: center;
    align-items: center;
    margin-top: 40px;
}
#j-tex .about ul.fl_box > li{
    margin: 0 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 25%;
    aspect-ratio: 1 / 1;
    text-align: center;
    color: #1b52aa;
    font-size: 1.6em;
    font-weight: bold;
    border: 1px solid #1b52aa;
    border-radius: 50%;
}
#j-tex section.bus_works{
    margin-bottom: 0;
}
#j-tex section.bus_works .link_photo figcaption{
    display: block;
    text-align: center;
}
#j-tex section.bus_works .link_photo > li{
    width: calc(100% / 3);
}
#j-tex p.btn a em img{
    vertical-align: middle;
}

@media screen and (max-width: 999px){ /* tablet */
    #public-works .bg_gr .fl_box{
        flex-wrap: wrap;
        justify-content: center;
    }
    #public-works .bg_gr .fl_box dl{
        width: 31%;
    }
    #public-works .bg_gr .fl_box dl:nth-of-type(-n + 3){
        margin-bottom: 40px;
    }
    #public-works .bg_gr .fl_box dl:nth-of-type(4){
        border-left: none;
    }
}

@media screen and (min-width: 0px) and (max-width: 600px){ /* smart */
#facility .fl_box.images figure{
    width: 49%;
}
    #facility table{
        width: 100%;
    }
    #facility table:first-of-type{
        margin-bottom: 0;
    }
    #facility table:last-of-type{
        border-top: 0;
    }
    main #facility th{
        width: 50%
    }
    #facility .wrap{
        padding: 15px;
    }

    .bg_works section,.bg_works .slider{
        width: 100%;
    }
    .bg_works{
        padding: 60px 0 80px 0;
        background: url(../images/bg_works.jpg) no-repeat left 20% #1b52aa;
    }
    .bg_works .slider{
        margin-top: 50px;
        min-height: auto;
    }


    .about_works section,
    .about_works > figure{
        width: 100%;
    }

    .bus_works .fl_box::after,
    .bus_works .fl_box > li{
        width: calc(50% - 1px);
    }
    .bus_works .fl_box,
    .bus_works .fl_box > li{
        margin-bottom: 20px;
    }

    #public-works .bg_gr .fl_box dl{
        width: 50%;
        margin-bottom: 40px;
    }
    #public-works .bg_gr .fl_box dt{
        line-height: 1.2;
    }
    #public-works .bg_gr .fl_box dl:nth-of-type(4){
        border-left: 1px solid #eee;
    }
    #public-works .bg_gr .fl_box dl:nth-of-type(3),#public-works .bg_gr .fl_box dl:last-of-type{
        border-left: none;
    }
    #public-works .bg_gr .fl_box dl:last-of-type{
        margin-bottom: 0
    }

    #rd .bg_gr .fl_box dl,#rd .bg_gr .fl_box figure{
        width: 100%;
    }
    #rd .bg_gr .fl_box figure{
        margin: 20px auto;
    }

    #j-tex .about ul.fl_box > li{
        font-size: 1em;
        width: calc(100% / 3);
        margin: 0 5px;
    }
}