@charset "utf-8";

/*font定義*/
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Roboto&display=swap');

body{color: #333}
body ,.uk-h1, .uk-h2, .uk-h3, .uk-h4, .uk-h5, .uk-h6, .uk-heading-2xlarge, .uk-heading-large, .uk-heading-medium, .uk-heading-small, .uk-heading-xlarge, h1, h2, h3, h4, h5, h6{
  font-family: Roboto, "Noto Sans JP", "Hiragino Sans", "Yu Gothic", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Sans Emoji";
}
/*reseting_UiKit*/
.uk-container-small {max-width: 1000px}
*[class*="uk-card"]{box-shadow: unset}
.uk-table th {font-size: inherit; color: inherit; font-weight: 700;background: #eee}
.uk-table-divider > :not(:first-child) > tr{border-color: #231815}
.uk-light{color: #fff}
/*all*/
a{color: inherit;}
a:hover img{opacity: .75}
a.txt_link{color: #01766d;text-decoration: underline}
a.txt_link:hover{opacity: .75}
img{vertical-align: bottom}
ul, ol{list-style: none}
img[src*="no_1"]{margin: 0 .2em}
img[src*="no_7"]{margin: 0 0 0 .1em}
figure {text-align: center}
p:last-child{margin-bottom: 0}
table.uk-table-divider{border: 1px solid #231815;box-sizing: border-box}
table tr > *:not(:last-child){border-right: 1px dotted #231815}
.btn_box{
	margin: auto;
	max-width: 553px;
}
.btn_box a {
	background: url(../img/btn_blue.png) no-repeat;
	color: #fff;
	width: 100%;
	height: 3.6em;
	text-align: center;
	font-size: 1.25rem;
	font-weight: 700;
	display: flex;
	justify-content: center;
	align-items: center;
	background-size: cover;
border-radius: 18px;
background-position: left bottom;
	position: relative
}
.btn_box a:after{
	content: '';
	background: url("../img/arrow_6.svg") no-repeat;
	background-position: center left;
	width: 20%;
	max-width: 90px;
	height: 100%;
	background-size: contain;
	display: inline-block;
	position: absolute;
	right: 10px;
	top: 50%;
	transform: translateY(-50%)
}
.btn_box._mini a:after{max-width: 65px}
.bg_navy{background-color: #120f69;color: #fff}
.bg_gray{background-color: #e5e5e5}
.bg_light-gray{background-color: #f2f2f2}
.bg_cement{background-image: url("../img/bg_cement.jpg");background-position: center top}
.border_heavy{border-width: 5px;border-style: solid}
.border_radius20{border-radius: 20px}
.fsL{font-size:125%}
@media screen and(min-width: 770px){
  a[href^="tel:"]{pointer-events: none;color: inherit;text-decoration: inherit}/*スマホ電話用*/
}
@media screen and(max-width: 769px){
	a[href^="tel:"]{text-decoration: underline}
}
@media screen and(max-width: 960px){
    .sp_padding{padding-left: 2%;padding-right: 2%}/*タブレット以下の左右余白*/
}
@media screen and(max-width: 540px){
	html{font-size: 14px}
	.btn_box a {
		width: 100%;
		background-size: cover;
		line-height: unset;
		height: calc(93vw * 0.146 );
	}
}
@media screen and (max-width: 414px){
    .btn_box._mini a{font-size: 1rem}
    .btn_box._mini a:after{max-width: 12vw; right: 2vw}
}
/*ヘッダ周り*/
.nav_btn._download {display: none/*Hi-Qi隠す*/}
@media screen and (min-width: 961px) {
	header {display: flex; justify-content: space-between;align-items: center; height: 105px;max-width: 1200px;margin: auto}
	nav{}
    nav ul {
        display: flex
    }
    nav ul li:nth-child(-n+9){
        margin-right: 2em;
        display: flex;
        align-items: center
    }
    nav ul li > a{position: relative}
    nav ul li > a:hover{text-decoration: none;color: #666}
    nav ul li:nth-child(-n+9) > a:after {
        background: #000;
        content: '';
        display: inline-block;
        width: 0;
        height: 3px;
        position: absolute;
        bottom: -5px;
        left: 0;
        -webkit-transition: width 0.3s ease-out;
        transition: width 0.3s ease-out;
    }
    nav ul li:nth-child(-n+9) > a:hover:after,
	#info nav ul li > a[href*="/info"]:after,
	#product nav ul li > a[href*="/product"]:after,
	#service nav ul li > a[href*="/service"]:after,
	#quality nav ul li > a[href*="/quality"]:after,
	#works nav ul li > a[href*="/works"]:after,
	#recruit nav ul li > a[href*="/recruit"]:after,
	#contact nav ul li > a[href*="/contact"]:after{width: 100%;}
    .nav_btn._download a{background: url(../img/btn_dl.png) no-repeat;width: 161px;height: 60px}
    .nav_btn._mail a{background: url(../img/btn_mail.png) no-repeat;width: 101px;height: 60px}
    .nav_btn a{background-color: aqua; display: inline-block;margin-top: -18px}
    .hide-text {text-indent: 100%;white-space: nowrap;overflow: hidden;}
}
@media screen and (max-width: 960px) {
    header {margin: 20px 0 0 20px}
}
/*キービジュ*/
.header_img{
	background: url("../img/bg_header.jpg") no-repeat center center;
	background-size: cover;
	text-align: center;
	height: 167px;
	border-bottom: 10px solid #120f69
}
@media screen and (max-width: 460px) {
	.header_img img{transform: scale(0.95,0.95) translate(-.5%,-.5%);}
}

/*大見出し*/
h2{font-size: 1.6rem;font-weight: 700;}
.ttl_left-under{ position: relative;border-bottom: 1px solid #000;padding: 5px}
.ttl_left-under:before {
    display: inline-block;
    content: '';
    width: 20px;
    height: 1px;
    border-bottom: 3px solid #000;
    position: absolute;
    bottom: -.075em;
    left: 0;
}
.ttl_center{text-align: center;color: #120f69;width: 80%;margin: auto;}
.ttl_left {font-size: 20px;position: relative}
.ttl_left:after{
	border-bottom: 1px solid #000;
	content: "";
	display:inline-block;
	width: 100%;
	position: absolute;
	top: 50%;
	right: 0
}
.ttl_left span{display: inline-block;background: #fff;position: relative;z-index: 10;left: -5px;padding: 0 5px;}
.ttl_left span:before {
    display: inline-block;
    content: '';
    width: 20px;
    height: .01em;
    border-bottom: 3px solid #000;
    position: absolute;
    bottom: .55em;
    left: unset;
    right: -20px;
}
.ttl_tri_line{font-size: 1.6rem;font-weight: 700;border-bottom: 1px solid #231815;width: 100%;position: relative;padding-bottom: .5em}
.ttl_tri_line:before {
  content: "";
  position: absolute;
  bottom: -74px;
  left: calc(50% - 50px);
  border: 50px solid transparent;
  border-top: 25px solid #FFF;
  z-index: 2;
}
.ttl_tri_line:after {
  content: "";
  position: absolute;
  bottom: -75px;
  left: calc(50% - 50px);
  border: 50px solid transparent;
  border-top: 25px solid #555;
  z-index: 1;
}
.ttl_underline{border-bottom:1px solid #000}
.ttl_charcoral{background: url("../quality/img/line_charcoal.svg") no-repeat center bottom;padding-bottom: 8px;}
h2[class*="ttl"] + *{margin-top: 40px}
@media(min-width: 960px){
	.ttl_charcoral._left{background-position: left bottom}
}
@media(max-width: 639px){
	.ttl_center{width: 100%}
}
/*小見出し*/
h3{font-size: 1.2em;font-weight: 700; color: #120f69}
/*ページトップへ*/
.uk-totop{
    background: #120f69;
    color: #fff;
    border-radius: 2em;
    width: 2em;
    height: 2em;position: fixed;
right: 20px;
bottom: 20px;
z-index: 200;
    display: flex;
align-items: center;
justify-content: center;
    font-size: 22px
}
/*フッター周り*/
.footer_top{background: #120f69;color: #fff;position: relative;z-index: 1;min-height: 50px/*Hi-Qi隠す*/}
.footer_top > ul{
    display: flex;
    justify-content: space-around;
    max-width: 1200px;
    margin: 0 auto;
    align-items: center;
    padding-top: 20px;padding-bottom: 20px;
	display: none !important;/*Hi-Qi隠す*/
}

.footer_bottom {
    position: relative;
    z-index: 2;
    background: #4d4d4d;
    color: #fff;
}
.footer_bottom > *{max-width: 1200px;margin: auto}
.footer_bottom .footer_bottom_up{padding-top: 60px}
.footer_bottom .footer_copyright{width: 100%}
@media(min-width: 961px){
    .footer_top ul li:last-child {
        position: relative;
        width: 150px;
    }
    .footer_top ul li:last-child img {
        position: absolute;
        bottom: -75px;
    }
    .footer_bottom .footer_bottom_up{display: flex}
    .footer_bottom .corporate_logo{width: 260px}
    .footer_bottom .footer_menu{width: calc(100% - 260px)}
    .footer_menu ul li{padding-left: 1em;height: 1.25em;position: relative}
    .footer_menu ul li a{color: inherit}
    .footer_menu ul li:not(:last-child){margin-bottom: 2em}
    .footer_menu ul li::before {
        border-left: 3px solid #fff;
        content: "";
        width: 1px;
        height: 1.25em;
        position: absolute;
        left: 0
    }
    .footer_menu ul li > div{position: relative;margin-top: .5em}
    .footer_menu ul li > div:before {border-left: 1px solid #fff;content: '';height: 2em;left: calc(-1em + 1px);position: absolute;top: -.75em;}
}
@media(max-width: 960px){
    .footer_top{min-height: 80px;min-height: inherit/*Hi-Qi隠す*/}
    .footer_top > ul{display: block;position: relative;padding-left: unset;}
    .footer_top > ul li:first-child{margin-bottom: .5em}
    .footer_top ul li:last-child{position: absolute;width: 20%;right:0;top:50%;max-width: 80px;transform: translateY(-50%);}
    .footer_bottom .corporate_logo{
        display: flex;
        justify-content: space-around;
        align-items: center;
    }
    .footer_bottom .corporate_logo > div{
        width: 40%
    }
}
@media(max-width: 640px){
    .footer_top > ul li{font-size: 14px}
    .footer_bottom .corporate_logo{font-size: 12px;}
	.footer_bottom .footer_bottom_up{padding-top: 40px}
}
@media(max-width: 360px){
    .footer_top ul li:last-child{
        top: 15%;
        width: 25%
    }
}
/* home -----*/
.home_lead {
	position: absolute;
	top: 33%;
	width: 1200px;
	left: 0;
	right: 0;
	margin: auto
}
.home_hi-qi {
    position: absolute;
    bottom: -55px;
    left: 50%;
    transform: translateX(-50%);
	width: 1200px;
	display: none !important;/*HiｰQi隠す*/
}
.home_hi-qi .bg_navy{
	padding: 30px 40px;
	border-radius: 10px
}
#home header {
	position: absolute;
	z-index: 100;
	margin-left: auto;
	margin-right: auto;
	width: 1200px;
	left: 0;
	right: 0;
}
#home .home_lead .cp-concrete a {
  display: block;
  max-width: 208px;
}
@media screen and (max-width: 414px){
  #home .home_lead .cp-concrete a {
    width: 36vw;
  }
}
.slide_area + .bg_light-gray {padding-top: 150px; padding-top: 70px/*Hi-Qi隠す*/}
.uk-slideshow-items .poupee{
	position: absolute;
	bottom: 115px;
	left: 53%
}
@media(min-width: 961px){
	.home_news > div:first-child{border-right: 1px solid #000}
	/*.home_menu .uk-background-cover{
		background-image: url('../img/img_info.jpg');width:320px;height: 320px
	}
	.home_menu > div:nth-child(2) .uk-background-cover{background-image: url('../img/img_product.jpg')}
	.home_menu > div:nth-child(3) .uk-background-cover{background-image: url('../img/img_service.jpg');}
	.home_menu > div:nth-child(4) .uk-background-cover{background-image: url('../img/img_quality.jpg');}
	.home_menu > div:nth-child(5) .uk-background-cover{background-image: url('../img/img_works.jpg');}
	.home_menu > div:nth-child(5) .uk-background-cover{ackground-image: url('../img/img_recruit.jpg');}*/
	.home_menu h2::after {
		content: '';
		border-bottom: 1px solid #fff;
		width: 2em;
		height: 0;
		display: inline-block;
		line-height: 1px;
	}
	.home_menu .uk-light{position: absolute;width: 100%;display: block;top: 0}
}
@media(max-width: 960px){
	#home header {
		width: 100%;
		padding-left: 20px
	}
	.home_lead {
		bottom: 10%;
		width: 100%;
		padding: 0 15px
	}
	.home_lead p{width: 75%}
	.home_hi-qi {width: 95%}
	.home_hi-qi .bg_navy {padding: 10px 20px}
	.home_hi-qi .uk-grid > div:nth-child(2){display: none}
	.home_hi-qi .uk-grid .uk-text-large{font-size: .9rem}
	.home_hi-qi .uk-grid .uk-text-large + div{font-size: .75rem}
	.home_menu .uk-background-cover{
		background-image: url('../img/img_info_sp.jpg');width:100%;height: 100%;min-height: 8.5rem;
	}
	.home_menu > div:nth-child(2) .uk-background-cover{background-image: url('../img/img_product_sp.jpg')}
	.home_menu > div:nth-child(3) .uk-background-cover{background-image: url('../img/img_service_sp.jpg')}
	.home_menu > div:nth-child(4) .uk-background-cover{background-image: url('../img/img_quality_sp.jpg')}
	.home_menu > div:nth-child(5) .uk-background-cover{background-image: url('../img/img_works_sp.jpg')}
	.home_menu > div:nth-child(6) .uk-background-cover{background-image: url('../img/img_recruit_sp.jpg')}
	.home_menu h2{display: flex}
	.home_menu h2 > div:first-child{margin-right: 10px}
	.home_hi-qi .uk-grid > div:last-child{width: 25%}
}
@media(max-width: 960px) and (min-width: 640px){
	.home_lead p{width: 50vw}
	.home_hi-qi {bottom: -80px;}
	.uk-slideshow-items .poupee {left: 50vw;bottom: 10px}
}
@media(max-width: 639px){
	.home_hi-qi .uk-grid .uk-text-large + div{font-size: 2vw}
	.uk-slideshow-items .poupee { bottom: 29px; left: 42%; width: 42%}
	.home_lead a[href*="info"] img{width: 36vw}
}
@media(max-width: 440px){
	.home_menu .uk-background-cover{background-position: -160px center}
}
@media(max-width:360px){
	.home_menu .uk-background-cover{background-position: -178px center}
}
/* 会社概要 -----*/
.data_list{display: flex; flex-wrap: wrap}
.data_list > dt{width: 20%}
.data_list > dd{width: 80%; margin-bottom: 1em}
.data_list > dt{position: relative}
.list_history .data_list dt:after{
    content: '●';
    position: absolute;
    right: 35%;
    top: .25em;
    color: #808080
}
.list_history .data_list dt:before{
    content: '';
    display: inline-block;
    width: 1px;
    height: 100%;
    border-right: 2px solid #808080;
    right: calc(35% + .5em - 1px);
	top: .75em;
    position: absolute
}
.list_history .data_list dt:last-of-type:before{
    border-right-style: dotted;
}
@media(min-width: 640px){
		.list_profile dt:after{
		border-right: 1px dotted #000;
		content: '';
		width: 1px;
		height: 98.9%;
		display: inline-block;
		right: calc(35% + .5em - 1px);
		position: absolute
	}
}
@media(max-width: 640px){
    .list_profile .data_list{display: block}
    .list_profile .data_list > dt, .list_profile .data_list > dd{width: 100%}
    .list_history .data_list dt:before{right: .5em}
    .list_history .data_list dt:after{right: .1em}
	.data_list > dt{width: 5em}
	.data_list > dd{width: calc(100% - 5em)}
}

/* 事業紹介 -----*/
.flow_area .uk-grid:not(:last-child):after{
	content: '';
	display: inline-block;
	height: 0;
	width: 0;
	border-top: 35px solid #120f69;
  border-right: 40px solid transparent;
  border-left: 40px solid transparent;
	margin-top: 20px;
	margin-bottom: -15px;
	position: relative;
	left: 22%
}
@media(max-width: 960px){
	.flow_area .uk-grid:not(:last-child):after{
		left: 50%;
margin-bottom: 0;
transform: translateX(-25%);
	}
}
@media(max-width: 640px){
	.flow_area .uk-grid .img_box{
		order: 1
	}
	.flow_area .uk-grid .txt_box{
		order: 0
	}
	.flow_area .uk-grid:after{
		order:2;
		bottom: 100%;
		left: calc(50% - 17px)
	}
}
/* 企業情報 -----*/
.info_sisin >div > div:first-child{
	position: relative
}
.info_sisin >div > div:first-child:before {
    content: '';
    display: inline-block;
    width: 3rem;
    height: 3rem;
    left: 2rem;
    top: 1.25rem;
	background-position: center;
	background: url("../img/no_1.svg") no-repeat center center;
	background-size: auto 3rem;
	margin-left: -1em;
	margin-right: 1em
}
.info_sisin >div:nth-child(2) > div:first-child:before {
	background-image: url("../img/no_2.svg");
	background-size: auto 3rem
}
.info_sisin >div:nth-child(3) > div:first-child:before {
	background-image: url("../img/no_3.svg");
	background-size: auto 3rem
}
.info_sisin  >div> div:first-child > *,
.info_sisin  >div> div:first-child > div > *{
	margin: 0
}
.info_sisin  >div> div:first-child > p{font-size: 90%}
@media(min-width: 1200px){
	.photo img{margin-top: -100px}
	.info_sisin > div > div:first-child:after {
    content: "";
    top: 0;
    display: inline-block;
    width: 26px;
    height: 74px;
    background: url("../img/arrow_1.svg") no-repeat;}
}
@media(max-width: 960px){
	.info_sisin >div > div:first-child{justify-content: center;}
	.info_sisin >div > div:first-child .uk-width-expand\@m{width: auto	}
}
/* サービス -----*/
.hi-qi_area .uk-grid > div >div:last-child{position: relative}
.hi-qi_area .uk-grid .bg_navy{margin-left: -15px;margin-top: -15px;}
.hi-qi_area .btn_box{position: absolute;width: 90%;right: 50%;transform: translateX(50%);}
.hi-qi_area {display: none/*Hi-Qi隠す*/}
.service_list {margin-top: 90px}
.service_list > div .bg_gray{width: 90%; margin: -20px auto 0;position: relative;z-index: 2;flex-grow: 1;
display: flex;padding: 30px;
flex-direction: column;}
.service_list > div{display: flex;flex-direction: column}
.service_list > div .bg_gray ul{display: flex;flex-wrap: wrap;padding-left: 0;}
.service_list > div .bg_gray ul li{width: 50%}
.service_list .bg_gray > p {flex-grow: 1;margin-top: 0}
.service_list > div .bg_gray .btn_box{width:100%}
@media(max-width: 639px){
	.hi-qi_area{margin-bottom: 30px}
	.service_list > div{display: block}
	.hi-qi_area .uk-grid .bg_navy{width: calc(100% + 30px)}
}
/* 品質 -----*/
.facility_list .bg_gray{padding: 20px}
.uk-accordion-title::after {
    content: '続きを見る';
    text-align: center;
    width: 100%;
    display: block;
    background: #b2b2b2;
	padding: 10px 0 10px 40px;
	color: #fff
}
.uk-open > .uk-accordion-title::after {content: '閉じる'}
.uk-accordion-title:before{margin: 10px;background-color: #fff;border-radius: 2em}
@media(min-width: 641px){
	.quality_tbl tr > th:first-child {width: 14rem}
	.quality_tbl._tbl-1 tr > th:nth-child(2) {width: 35%}
}
/* 納入実績 -----*/
#works h4{text-shadow: #666 0 0 4px}
.works_list2 li{font-size: 87%}
.works_list2 li.uk-grid-margin{margin-top: .5em}
.works_list2 li:before{
	content: '●';
	color: #999;
	margin-right: .25em
}
@media(min-width: 960px){
    .works_list2 li{padding: 0 0 0 7em}
}
@media(min-width: 640px){
	.works_list .txt_box{margin-right: 30px}
	.works_list2 {max-width: 66%;margin: auto}
}
@media(max-width: 959px){
	.works_list .uk-grid-collapse > div:first-child {margin-bottom: 20px}
}
@media(max-width: 639px){
	.works_list .txt_box{margin-right:15px}
	.works_list2 li{font-size: 80%}
}
/* お問い合わせ -----*/
#contact table td:last-child{padding-left: 60px}