@charset "utf-8";
/*--------- スライド sp ---------*/
.slid_wrap {
	width: 100%;
	position: relative;
}
.slider {
	width: 100%;
	margin-right: auto;
	margin-left: auto;
	margin-bottom: 0px;
	line-height: 0;
}
.slick-slide {
	transition: all ease-in-out 0.5s;
	/*opacity: .2;*/
}
.slide {
	width: 100%;
	height: 60vh;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	position: relative;
}

.slide_01 {
	background-image: url(../images/top/slide_01.jpg);
}
.slide_02 {
	background-image: url(../images/top/slide_02.jpg);
}
.slide_03 {
	background-image: url(../images/top/slide_03.jpg);
}
.slide_04 {
	background-image: url(../images/top/slide_04.jpg);
}
#slid_layer {
	position: absolute;
	left: 10%;
	bottom: 20%;
	background-color: rgba(255, 255, 255, 0.9);
	border: 1px solid #ffffff;
	z-index: 2;
	width: 80%;
	transition: all .5s;
	padding: 20px 15px 25px;
  border-radius: 10px;
}
.layer_title{
	font-size: 1.8rem;
	line-height: 1.4;
  font-weight: var(--Bold);
}
#slid_layer p{
	padding: 14px 0 20px;
}
.layer_link{
	display: flex;
	justify-content: flex-start;
}
.layer_link a{
  display: inline-block;
	width: 170px;
	padding: 15px 10px 15px 0;
	background-color: rgba(0,11,4,.9);
	color: #ffffff;
	/*border-radius: 50px;*/
	margin-right: 10px;
	text-align: center;
}
.arrow{
	position: relative;
	width: 100%;
	padding-right: 15px;
}
.arrow:after{
	position: absolute;
	content: "";
	right: 12px;
	top: 39%;
	/*ボーダー矢印*/
	display: inline-block;
  	width: 8px;
  	height: 8px;
  	border-top: 1px solid #ffffff;
  	border-right: 1px solid #ffffff;
  	transform: rotate(45deg);
	transition: .3s;
}
.arrow:hover:after{
	/*ボーダー矢印*/
  	border-top: 1px solid #cccccc;
  	border-right: 1px solid #cccccc;
}

/*--------- お知らせ sp  ---------*/
section{
	padding: 80px 0;
	position: relative;
}
.rotate_right{
	position: absolute;
	transform: rotate(90deg);
	font-size: 8.0rem;
	color: rgba(37,41,53,.1);
	z-index: -1;
	top: 50px;
	right: 0px;
	transition: .5s;
	width: 1em;
	text-shadow: 1px 1px 3px rgba(255,255,255,.2);
}
.rotate_left{
    position: absolute;
    transform: rotate(90deg);
    font-size: 8.0rem;
    color: rgba(37,41,53,.1);
    z-index: -1;
    top: 50px;
    left: -1px;
    transition: .5s;
    width: 1em;
	text-shadow: 1px 1px 3px rgba(255,255,255,.2);
}
.info table{
	width: min(100%, 800px);
	border-collapse: collapse;
    border-spacing: 0;
	margin: 0 auto;
}

.info table tr{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	padding: 8px 0;
	border-bottom: 1px solid #cccccc;
}
.info table tr th{
	font-weight: 400;
	text-align: left;
	width: 90px;
	padding: 4px 0;
}
.info table tr td{
	padding: 4px 0;
}
.info table tr td:first-of-type{
	width: 60%;
	text-align: center;
	color: #ffffff;
	font-size: 85%;
}
.info table tr td:last-of-type{
	width: 100%;
	
}
.info table tr td:last-of-type a{
	color: #252935;
	width: 100%;
	display: block;
}
.tagu_01{
	background-color: #BA5448;
	width: 6em;
	padding: 2px 0;
}
.tagu_02{
	background-color: #604C3F;
	width: 6em;
	padding: 2px 0;
}
.tagu_03{
	background-color: #C9A063;
	width: 6em;
	padding: 2px 0;
}
.news_list{
	width: min(100%, 900px);
	padding: 10px 5px;
	text-align: right;

	a{
		position: relative;

		&::before{
			content: "";
			position: absolute;
			background-image: url("../images/common/ya.png");
			width: 12px;
			height: 12px;
			background-size: 12px;
			top: 5px;
			left: -17px;
			transition: all .3S;
			background-repeat: no-repeat;
			background-position: left center;
		}
	}
}
h1,h2{
	color: #333;
	font-size: clamp(2.0rem, 3.2vw, 3.5rem);
	margin: 0 auto;
	text-align: center;
	display: block;
	padding-top: 10px;
	letter-spacing: .1em;
	font-weight: 700;
}
h3{
	color: #333;
	font-size: clamp(2.0rem, 2.8vw, 3rem);
	margin: 0 auto;
	display: block;
	padding-top: 40px;
	letter-spacing: .1em;
	font-weight: 700;
  text-align: center;
}
/*------ごあいさつ sp------*/
.message_inner{
	padding: var(--px100) 0 var(--px140);
	width: min(90%, 1000px);
	margin: 0 auto;
}
.message_img{
	overflow: hidden;
	width: min(100%, 410px);
	margin: 0 auto;
	
	img{
		width: 100%;
		object-fit: cover;
		object-position: 25% 50%;
	}
}

.message_tx{
	padding-top: clamp(20px,4vw,50px);
	margin: 0 auto;
	
	h3{
		text-align: left;
		font-size: var(--font-size28);
		font-weight: 700;
	}
	
	p{
		padding-top: var(--px20);
    line-height: 2;
	}
}
/*--------- 会社概要 sp  ---------*/
.bg{
  background:linear-gradient(90deg, rgba(6,122,53,.2), rgba(255,255,255,.9), rgba(6,122,53,.2));
	-webkit-clip-path: polygon(0 0, 100% 5vw, 100% calc(100% - 5vw), 0 100%);
  clip-path: polygon(0 0, 100% 5vw, 100% calc(100% - 5vw), 0 100%);

  &:last-of-type{
    -webkit-clip-path: polygon(0 0, 100% 5vw, 100% 100%, 0 100%);
    clip-path: polygon(0 0, 100% 5vw, 100% 100%, 0 100%);
  }
}
.photo_box{
    height: 200px;
    background-image: url("../images/top/img_01.jpg");
	-webkit-clip-path: polygon(0 0, 100% 5vw, 100% calc(100% - 5vw), 0 100%);
  	clip-path: polygon(0 0, 100% 5vw, 100% calc(100% - 5vw), 0 100%);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
	background-attachment: fixed;
	margin-top: 50px;
	z-index: -2;
	position: relative;
}
.photo_box2{
    height: 200px;
    background-image: url("../images/top/img_09.jpg");
	-webkit-clip-path: polygon(0 5vw, 100% 0, 100% 100%, 0 calc(100% - 5vw));
  	clip-path: polygon(0 5vw, 100% 0, 100% 100%, 0 calc(100% - 5vw));
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
	background-attachment: fixed;
	margin-top: 50px;
	z-index: -2;
	position: relative;
}

p.message_text{
	width: min(90%, 1000px);
	padding-bottom: var(--px50);
	margin: var(--px30) auto;
	text-align: center;
}
.company_img{
	padding-bottom: 10px;
	max-width: 410px;
	margin: 0 auto;
}
.company table{
	width: 100%;
	line-height: 1.4;
	border-collapse: collapse;
  	border-spacing: 0;
}
.company table tr th{
	padding: 12px 5px 3px 0;
	font-weight: 700;
	text-align: left;
	vertical-align: top;
	min-width: 90px;
	display: block;
}
.company table tr td {
	padding: 3px 0 12px;
	font-weight: 500;
	border-bottom: 1px dashed #cccccc;
	display: block;

	img{
		width: 20px;
		margin-left: 12px;
	}
}

/*--------- 採用 sp  ---------*/
/*--タブ--*/
.all_area { 
	margin: 10px auto 0;
	overflow: hidden;	
}
.all_area ul{
	margin: 0;
	padding: 0;
	border-bottom: 10px solid #fff;
	}
.tab_area{
  width: 99%;
  padding-right: 400px;
  overflow: hidden;
  display: block;
	}
.tab_area li{
	/*Tabの装飾*/
	width:204px;
	text-align:center;	 
	vertical-align:middle; 
	display:table-cell;
	padding: 1.1em 0;
	cursor: pointer;
  border-top-left-radius: var(--px20);
  border-top-right-radius: var(--px20);
  font-weight: var(--Bold);
  font-size: 110%;
}
/*タブ1*/
#tab1{
	color:#333333;
	background-color: #e9e9e9;
}
/*タブ2*/
#tab2{
	color:#333333;
	background-color: #e9e9e9;
	}
/*共通アクティブタブの装飾*/
.tab_area li.select{
	cursor: default;
	font-weight: 600;
	}
/*アクティブタブ1の装飾*/
.tab_area li#tab1.select{
	background-color: #fff;
	color:#333333;
	
	}
/*アクティブタブ2の装飾*/
.tab_area li#tab2.select{
	background-color: #fff;
	color:#333333;
	}

.hide{
	display:none;
}
.all_area div.content_area{
	/*Tabの内容を表示するエリアの装飾*/
	width: 99%;
	background: #fff;
	/*border-top: 1px solid #b1b1b1;*/
	margin-top: 0px;
	z-index: 0;
	position: relative;
  padding: 10px 10px 0;
	}

.content_area table{
	width: 100%;
	margin: 0 auto 20px;
  border-collapse: collapse;/*--trにボーダー--*/
    border-spacing: 0;
  
  tr{
    border-bottom: 1px dashed #ccc;
    
    &:last-child{
      border-bottom: none;
    }
  }
}

.content_area th {
  padding: 17px 0px 13px;
  background-color: transparent;
  font-weight: 600;
  line-height: 1.4em;
  min-width: 100px;
  letter-spacing: .1em;
}
.content_area td {
  padding: 17px 8px 13px 8px;
  line-height: 1.4em;
  border-left: 1px dashed #ccc;
}
.etc{
	padding: 15px;
	color: red;
	font-size: 110%;
}
/*------システム開発 sp------*/
ul.multiple-item{
	margin-top: 50px;
	height: 320px;
}

.book{
	margin: 0 20px;
}
.book_img{
	 overflow: hidden;
}
.book_img img{
	width: 100%;
	height: 220px;
	object-fit: cover;
	object-position: 50% 0%;
}
.book_ti{
	font-weight: 700;
	padding-top: 10px;
}
.book_tx{
	padding-top: 5px;
	line-height: 1.5;
}
/*------事業案内 sp------*/
.about_inner{
	padding: clamp(40px,6vw,80px) 0;
	width: 90%;
	margin: 0 auto;
}
.about_img{
	overflow: hidden;
	
	img{
		width: 100%;
		object-fit: cover;
		object-position: 25% 50%;
	}
}

.about_tx{
	padding-top: clamp(20px,4vw,50px);
	margin: 0 auto;
	
	h3{
		text-align: left;
		font-size: var(--font-size28);
		font-weight: 700;
	}
	
	p{
		padding-top: var(--px20);
    line-height: 2;
	}
}




@media (min-width:768px) {
/*--------- スライド tab  ---------*/
	#slid_layer {
		left: 6%;
		bottom: 10%;
		width: min(50%,560px);
		padding: 25px;
	}
	
	.layer_title{
		font-size: 2.3rem;
	}
	#slid_layer p{
		font-size: 1.7rem;
	}
	
	section{
		padding: 140px 0;
	}

	.rotate_right{
		font-size: 10.0rem;
		top: 100px;
		right: 10px;
	}
	.rotate_left{
		font-size: 10.0rem;
		top: 100px;
		left: 10px;
	}
/*------ごあいさつ tab------*/
.message_inner{
	display: flex;
	justify-content: space-between;
	align-items:center;
}
.message_img{
	width: min(50%, 410px);
	margin: 0;
}

.message_tx{
	width: 50%;
	padding-top: 0;
	margin: 0;
}
/*--------- 会社概要 tab  ---------*/
	.photo_box{
		height: 300px;
		margin-top: 70px;
	}
	.photo_box2{
		height: 300px;
		margin-top: 70px;
	}
	.company{
		display: flex;
		justify-content: space-between;
		position: relative;
	}
	.company_img{
		order: 2;
		width: min(32%, 410px);
		margin: 0;
		position: absolute;
		top: 10px;
		right: 0;
	}
	.company table{
		width: 100%;
		line-height: 1.6;
	}
	.company table tr th{
		padding: 15px 15px;
		width: 160px;
		border-bottom: 1px dashed #cccccc;
		display: table-cell;
	}
	.company table tr td {
		padding: 15px 0;
		display: table-cell;
	}

/*------事業案内 tab------*/
	.about_inner{
		display: flex;
		justify-content: space-between;
		align-items:center;
	}
	
	.about_img{
		width: 45%;
		margin: 0;
	}
	.about_tx{
		width: 50%;
		margin: 0;
		padding: 0;	
	}
	.even{
		.about_img{
			order: 2;
		}
	}
/*--------- お知らせ tab  ---------*/
	.info table tr{
		padding: 12px 20px;
	}
	.info table tr th{
		width: 100px;
		padding: 5px 0;
	}
	.info table tr td{
		padding: 5px 0;
	}
	.info table tr td:first-of-type{
		width: 100px;
	}
	.info table tr td:last-of-type{
		width: calc(100% - 200px);
	}
/*--------- 採用 tab  ---------*/
	.content_area th {
		padding: 25px 0px 20px;
		min-width: 200px;
	}
	.content_area td {
		padding: 25px 20px 20px 25px;
	}
	.etc{
		padding: 20px 40px;
	}
/*------システム開発 tab------*/
	ul.multiple-item{
		width: 87%;
		margin: 70px auto 0;
	}



}



@media (min-width:1024px) {

/*--------- スライド pc ---------*/
	.slide {
		height: calc(100vh);
	}
	#slid_layer {
		padding: 25px 25px 35px 30px;
	}
	.layer_title{
		font-size: 3.4rem;
	}
	#slid_layer p{
		font-size: 2.0rem;
	}
	.rotate_right{
		font-size: 15.0rem;
		top: 50px;
		right: 20px;
	}
	.rotate_left{
		font-size: 15.0rem;
		top: 50px;
		left: 20px;
	}
/*--------- お知らせ pc  ---------*/
.news_list{

	a{

		&::before{
			width: 15px;
			height: 15px;
			background-size: 15px;
			top: 0.3em;
			left: -19px;
		}
	}
}
/*--------- 会社概要 pc  ---------*/
	.photo_box{
		height: 420px;
	}
	.photo_box2{
		height: 420px;
	}
	.company{
		
	}
  .company_img{
		width: min(42%, 410px);
		top: 10px;
		right: 0;
	}
	.company table{
		line-height: 1.8;
	}
	.company table tr th{
		padding: 18px 15px;
	}
	.company table tr td {
		padding: 18px 0;
	}

/*------事業案内 pc------*/
	.about_img{
		width: 48%;
	}
	
	.about_tx{
		width: 48%;
		padding-right: calc(48% - 540px);
	}
	.even{
		.about_tx{
			padding-right: 0;
			padding-left: calc(48% - 540px);
		}
	}



}

@media (min-width:1280px) {
/*------システム開発 ------*/
	.book{
		margin: 0 30px;
	}

}


@media (min-width:1480px) {


}
