@charset "utf-8";
@media screen and (max-width: 1199px) {
	.column-2{
		-webkit-column-count:1;
		   -moz-column-count:1;
		        column-count:1;
	}
	.ttl_wrap{
		width: 100%;
	}
}
@media screen and (max-width: 991px) {
	.none-sp {
		display:none;
	}
	.menu{
		right: -1px;
		left: auto;
		border-left: 1px solid #2f3639;
	}
	.sitettl{
    z-index: -1;
}
	/*menu--------------------------------------------*/
	.section--center{
		padding-left: 90px;
		padding-right: 90px;
	}
	#map{
	    margin-right: calc( 50% - 50vw );
	    margin-left: calc( 50% - 50vw );
	}
	.flex{
		display: block;
	}
	.flex_tab{
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
	}
	.box-business{
		text-align: center;
		padding: 24px 22px 22px;
	}
		.ico_biz{
			padding-right: 0;
		}
		.box-business > div{
			margin-top: 10px;
		}
	.list--business{
		margin-bottom: 45px;
	}

	.list--works{
		margin-bottom: 2em;
		flex:1;
	}
	.list--works + .list--works{
		margin-top: 0;
	}

	.img--history{
		width: 100%;
	    height: auto;
	    overflow: hidden;
	    margin-right: 0;
	    margin-top: 45px;
	    padding-left: 0;
	}

	.list--outline dl{
		display: block;
	}
	.list--outline dt{
		font-weight: bold;
		margin-bottom: 2px;
		text-indent: 0;
	}
	.list--business dt{
		font-weight: normal;
		margin-bottom: 0;
	}
	.list--outline dt{
		display: block;
		min-width: 0;
	}
	#recruit .list--outline{
		margin-top: 30px;
	}
	/*utility*/
	.pad-B-m{
		padding-bottom: 0;
	}
	.pad-R-m,
	.pad-R-l{
		padding-right: 0;
	}
	.pad-L-m,
	.pad-L-l{
		padding-left: 0;
	}
}
@media screen and ( max-width: 991px) and (orientation: landscape) {

}
@media screen and (max-width: 767px) {
	body{
		background: transparent;
	}
	.logo > .eng {
	    font-size: 4.5rem;
	    margin-bottom: 4px;
	}
	.logo .co_name {
	    font-size: 1.6rem;
	    margin-bottom: 5px;
	}
	.logo .copy {
	    font-size: 1.4rem;
	}
	.menu{
		top: auto;
		bottom: 100px;
	}
	.menu div{
		color: #fff;
		font-size: 1.1em;
		padding: 15px 7px;
		/*background: #171b1c;*/
	}
	.menu.hover div{
		/*color: #171b1c;*/
	}
	.menu div:after{
	    background: #fff;
	}
	section{
		padding-top: 50px;
		padding-bottom: 50px;
	}
	.section--center{
		padding-left: 30px;
		padding-right: 30px;
	}
	.box-business{
		text-align: left;
		padding: 24px 22px 22px;
	}
		.ico_biz{
			padding-right: 20px;
		}
		.box-business > div{
			margin-top: 0;
		}
	.list--business dt,
	.list--outline dt{
		min-width: 8em;
		max-width: 8em;
		width: 8em;
		font-weight: normal;
	}
	.list--history {
		height: auto;
		overflow: auto;
	}
	.list--history dl{
		display: block;
	}
	.list--history dt{
		font-weight: bold;
	}
	.list--outline dt{
		font-weight: normal;
	}
	.list--outline dl{
		display: flex;
	}
	.list--outline ul + ul{
		margin-top: 30px;
	}
	.subttl{
		text-align: left;
	}
	.subttl:after{
		content: "";
		display: none;
	}
	#map{
		height: 80vh;
	}
	footer ul{
		display: block;
	}
	footer ul li{
		display: inline-block;
	}
	footer ul li:last-child{
		width: 100%;
		margin-left: 0;
		margin-top: 10px;
	}
	.ninja_onebutton{
		margin-left: 0;
	}
	.copyright{
		margin-top: 0;
	}
	.grid.is--col-3 > .grid_item{
	    width: 100%;
	}
	.grow-1,
	.grow-2,
	.grow-3,
	.grow-4,
	.grow-5{
		flex:1;
	}
	.flex_sp{
		display: flex;
	}
	.flex_tab{
		display: block;
	}
}
@media screen and (max-width: 575px) {
	.overlay .logo > .eng img {
	    width: 110px;
	}
	.btn_txt{
		font-size: 1.3rem;
		line-height: 1.4;
	}
	.list--works{
		font-size: 1.3rem;
	}
	.subttl {
		font-size: 1.4rem;
	    padding-left: 0;
	    padding-right: 0;
	    width: 100%;
	}
	.list--works dt {
	    min-width: 8.5em;
	}
	.img--history{
		margin-top: 20px;
	}
	#works dl{
		margin-bottom: 18px;
	}
	#works dt,
	#works dd{
		line-height: 1.5;
	}
	.list--works.pad-B-xl{
		padding-bottom: 15px;
	}
	footer li{
		margin-right: 5px;
	}
	footer li:last-child{
		margin-right: 0;
	}
	footer li + li{
		margin-left:0;
	}
}
