@charset "utf-8";
/* CSS Document */

.header.change-color{
	background-color: rgba(0,0,0,0.9);
}

#mainvisual{
    width: 100%;
    height: 100vh;
	position: relative;
}
#mainvisual::after{
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background-color: #000;
	opacity: 0.3;
	z-index: -1;
}
.top_contents{
	width:100%;
	text-align:right;
	position:absolute;
	bottom:0;
	padding: 25% 5% 4%;
}
.top_contents p{
	font-size: 180%;
	font-weight: bold;
	color: #fff;
	
}
span.top_contents_01{
	font-size: 180%;
	font-family: serif;
	/*font-famiry:U-OTF-GothicMB101Upr-Heavy;*/
	
}

span.top_contents_02{
	display:block;
	padding-bottom:5px;
	font-size: 127%;
	letter-spacing:1px;
	font-family:serif;
	padding-right:41px;
}



/*contents
================================== */
#contents_01{
	width: 100%;
	height: auto;
	background-color: #fff;
	padding: 80px 0 80px;
}

.title{
    font-weight: bold;
    letter-spacing: 2px;
    font-family: U-OTF-GothicMB101Upr-Heavy;
    font-size: 280%;
    text-align: center;
	color:#333;
}

.title_sub{
	width:1100px;
	margin:0 auto;
	font-weight: bold;
    letter-spacing: 2px;
    font-size: 108%;
	line-height:1.8em;
    padding-top:20px;
}

/* support　*/
.support_01{
	width: 1100px;
	margin:0 auto;
	padding: 50px 0;
	display: flex;
	/*gap: 3vw;*/
}
.support_01 a{
	overflow: hidden;
	margin-left: 57px;
}
.support_01 a:hover{
	overflow: hidden;
	transform: scale(1.01, 1.01);
}
.support-text{
	flex: 1;
	letter-spacing: 1px;
}
.support-text h2{
	font-family: U-OTF-GothicMB101Upr-Heavy;
	font-size: 161.6%;
	font-style: italic;
	font-weight: bold;
	position: relative;
	padding-top: 30px;
	line-height:2em;
}
.support-text p{
	padding: 30px 0 0 30px;
	line-height: 2;
	/*font-weight:bold;*/
	font-size:100%;
}
span.blue{
	display: inline-block;
	padding: 10px 55px;
	background-color: #B7282E;
	color: #fff;
	clip-path: polygon(15% 0%, 100% 0%, 85% 100%, 0% 100%);
	-webkit-clip-path: polygon(15% 0%, 100% 0%, 85% 100%, 0% 100%);
	-moz-clip-path: polygon(15% 0%, 100% 0%, 85% 100%, 0% 100%);
	font-size:120%;
}

span.blue-gap{
	margin-bottom: 5px;
}

.kikai{
	width:640px;
	margin-left:20px;
	padding-top:35px;
}

.kikai_02{
	width:640px;
	margin-right:20px;
	padding-top:35px;

}

.support-text a{
	display: block;
	width: 80%;
	margin: 15px 0 0 5%;
	text-align: center;
	color: #B7282E;
	border: 1px solid #B7282E;
	padding: 15px 0 15px;
	font-size: 110%;
	font-weight: bold;
	 /*アニメーションの起点とするためrelativeを指定*/
    position: relative;
	overflow: hidden;
	  /*アニメーションの指定*/   
    transition: ease .2s;
}

/*ボタン内spanの形状*/
.btn span {
	position: relative;
	z-index: 3;/*z-indexの数値をあげて文字を背景よりも手前に表示*/
	color: #B7282E;
}

.btn:hover span{
	color:#fff;
}

/*== 背景が流れる（左から右） */
.bgleft:before {
 	content: '';
    /*絶対配置で位置を指定*/
 	position: absolute;
 	top: 0;
 	left: 0;
 	z-index: 2;
    /*色や形状*/
 	background:#B7282E;/*背景色*/
 	width: 100%;
	height: 100%;
    /*アニメーション*/
 	transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
 	transform: scale(0, 1);
	transform-origin: right top;
}

/*hoverした際の形状*/
.bgleft:hover:before{
	transform-origin:left top;
	transform:scale(1, 1);
}

/*===当社のこだわり===*/
#contents_02{
	background:#fff;
}
.about_flex{
	display:flex;
	height:400px;
	background:#000;
	margin-top:20px;
}
.about_img{
	width:50%;
	min-width:550px;
	background-image:url(../img/top/about.jpg);
	background-size:cover;
}

.about_text{
	width: 550px;
    min-width: 500px;
    padding: 40px 5px 0 40px;
	color:#fff;
}
.about_text a{
	display: block;
    width: 50%;
    margin: 80px 0 0 47%;
    text-align: center;
    border: 1px solid #fff;
    padding: 8px 0 8px;
    font-size: 100%;
    font-weight: bold;
    position: relative;
    overflow: hidden;
    transition: ease .2s;
}

.about_text .btn span {
    position: relative;
    z-index: 3;
    color: #fff;
}
.about_text .btn:hover span {
    color: #000;
}
.about_text .bgleft:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    background: #fff;
    width: 100%;
    height: 100%;
    transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
}
	







/*===リンク===*/

#contents_03{
	width: 100%;
	height: auto;
	background: #f7f7f7;
	padding:50px 0 100px;
}


.tech{
	display: flex;
	width: 1100px;
	margin:0 auto;
	justify-content: space-between;	
}

.tech>li{
	width: 33%;
	margin: 10px;
	padding: 10px 0;
		
}

.tech>li img{
	width: 100%;
	background: #ddd;	
}

.tech .title02{
	font-family: U-OTF-GothicMB101Upr-Heavy;	
	font-size: 24px;
	text-align: center;
}

.tech .text02{
	padding: 10px 5px;
	font-size: 14px;

}

.tech>li:nth-of-type(2){
	margin-top: 40px;	
}

.tech>li:nth-of-type(3){
	margin-top: 60px;	
}

.tech>li img{
    width: 100%;
	display: block;
	transition: 0.5s;
}

.tech>li img:hover {
	transform: scale(0.95, 0.95);
	opacity:0.9;
}




/*ipad 縦*/
@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation:portrait) {
	#mainvisual{
		height: 66vh;
	}
	.vegas-slide{
		height: 80%;
	}
	.footer-nav{
		padding: 40px 25px;
	}
	.fotter-nav-sub ul li{
		width: 280px;
	}
}

/*ipadpro 縦*/
@media only screen and (min-device-width: 1024px) and (max-device-width: 1366px) and (orientation:portrait) {
	#mainvisual{
		height: 66vh;
	}
	.vegas-slide{
		height: 80%;
	}
	.footer-nav{
		padding: 40px 25px;
	}
	.fotter-nav-sub ul li{
		width: 280px;
	}
}
