@charset "utf-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Lato:wght@300;400;700;800&display=swap");
@import url('https://fonts.googleapis.com/css?family=Sawarabi+Mincho');
/*===================================================
 css reset
====================================================*/
html, body, div, span, iframe,
h1, h2, h3, h4, h5, h6, p, img, a,
ol, ul, li,
form, label,
table, tbody, tfoot, thead, tr, th, td,
article,footer, header, menu, nav, section {
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	list-style: none;
	text-decoration: none;
	vertical-align: baseline;
}
/*====== Web Font =================================================
font-family: 'Inter', sans-serif;
font-family: 'Lato', sans-serif;
font-family: 'Noto Serif JP', serif;
font-family: 'Rubik', sans-serif;
font-family: 'Sawarabi Mincho', serif;
==================================================================*/
*,
*::before,
*::after {box-sizing: inherit}
*{box-sizing:content-box;}
html{
	font-family:"Noto Sans Japanese", "Hiragino kaku Gothic Pron","ヒイラギ各ゴ proN w3","Arial","メイリオ",Vardana,sans-serif;
	background:#fff;
}
body{
	overflow-x: hidden;
    color:#fff;
    font-size:1rem;
	font-family:"Font Awesome 7 Free","Font Awesome 7 Brands";
}
.info1{
	font-family:"メイリオ", "Meiryo", sans-serif;
}
/*
a{
	color: #333;
	text-decoration: none;
    outline: none;
}
	*/
a:hover{
    opacity:0.6;
    cursor:pointer;
}

/*===================================================
 Header CSS
====================================================*/
.header{
	position: sticky;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
    max-width:100%;
	z-index:888;
	height:100px;
	line-height:100px;
	background:#fff;
}
.header_inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width:80%;
	height:100px;
	margin:0 auto;
	padding:0;
	/*:background:#dfff00;:*/
}
.logo{
	display: block;
	width:30%;
	height:100px;
	padding:0;
	margin:0;
}

.logo a img{
	width:50%;
	vertical-align: middle;
}
ul.pc_menu{
	width:95%;
	height:100px;
	display:flex;
	justify-content: flex-end;
	/*background:#0000ff;*/
}
ul.pc_menu li{
	width:12%;
    margin-right:2%;
	text-align:center;
	/*background:#00ff00;*/
}
/*-- ハンバーガーメニュー表示設定 --*/
	.drawer_button{
		display:block;
		position: relative;
		width:3rem;
		height:3rem;
		background-color: transparent;
		border: none;
		cursor: pointer;
		z-index: 999;
		background:#0000ff;
		padding:0 1rem;
		border-radius: 5px;
	}
	/*-- 半ばがーボタン内線 ---*/
	.drawer_button > span{
		display: block;
		position: absolute;
		top:50%;
		left:50%;
		width:3rem;
		height:3px;
		background-color: #fff;
		transform: translateX(-50%);
	}
	.drawer_button > span:first-child {
        transform: translate(-50%, calc(-50% - 0.5rem));
        transition: transform 0.3s ease;
    }
    .drawer_button > span:nth-child(2) {
        transform: translate(-50%, -50%);
        transition: transform 0.3s ease;
    }
    .drawer_button > span:last-child {
        transform: translate(-50%, calc(-50% + 0.5rem));
        transition: transform 0.3s ease;
    }
	/*-- 展開時 --*/
	.drawer_button.active > span:first-child {
        transform: translate(-50%, -50%) rotate(-45deg);
		color:#fff;
    }
    .drawer_button.active > span:nth-child(2) {
        opacity: 0;
    }
    .drawer_button.active > span:last-child {
        transform: translate(-50%, -50%) rotate(45deg);
    }
	.drawer_nav {
        display:block;
        position:fixed;
        top:0;
        left:0;
        width: 100%;
        height:100vh;
        background-color: rgba(0, 0, 0, 0.5);
        transition: opacity 0.3s ease;
        opacity: 0;
        visibility: hidden;
    }
	.drawer_nav.active {
        opacity: 1;
        visibility: visible;
    }
    .drawer_nav_inner {
        position: relative;
        width:60%;
        height:100%;
        background-color: #fff;
        padding:3rem 1.5rem 1rem;
        margin: 0 0 0 auto;
        overflow: scroll;
        transform: translateX(100%);
        transition: transform 0.3s ease;
    }
	.drawer_nav.active .drawer_nav_inner {
        transform: translateX(0);
    }
    .drawer_nav_menu {
        list-style: none;
        padding-left: 0;
    }
    .drawer_nav_link {
        display:block;
        color:#000;
        text-decoration: none;
        padding: 0.1rem 0.4rem;
        border-bottom: solid 1px lightgray;
    }
	.drawer_nav_link img {
        width:10%;
    }
@media screen and (max-width: 1024px) {
	.header_inner {
		width:90%;
	}
	.logo a{
		font-size: 2.8rem;
		letter-spacing: 0.6rem;
	}
}

@media screen and (max-width: 820px) {
	.logo a{
		font-size: 2.5rem;
	}
	.drawer_button > span{
		display: block;
		position: absolute;
		top:50%;
		left:50%;
		width:2.5rem;
		height:3px;
		background-color: #fff;
		transform: translateX(-50%);
	}
}
@media screen and (max-width: 600px) {
	.logo a{
		font-size: 1.8rem;
	}
}

/*-----------------------------------------------------
	Top Images CSS
------------------------------------------------------*/
.sp_br{
	display: none;
}
.top_img{
    position: relative;
	height:calc(100vh - 100px);
	width:100%;
	background-image:url("../img/common/top_bg.png");
	background-size:cover;
	background-position:bottom;
	background-repeat: no-repeat;
}
.floating-img {
  position: absolute;
  width: 400px;
  height: 400px;
  z-index: 0;
  pointer-events: none;
}
/*
.floating-img img {
    width: 100%;
    height: auto;
	opacity: 0.5;
}
*/
.img1 img{
    width: 80%;
    height: auto;
	opacity: 0.7;
}

.img2 img{
    width: 100%;
    height: auto;
	opacity: 0.5;
}
.img3 img{
    width: 75%;
    height: auto;
	opacity: 0.8;
}
.top_txt{
	position: absolute;
	left:0;
	right: 0;
	width:98%;
	height:100%;
	margin:0 auto;
}
.gradient{
	background: linear-gradient(rgba(0,0,0,0.5),rgba(0,0,0,0));
    width: 100%;
    height: 100%;
}
.top_txt h1{
	color:#fff;
	font-size: 3.5rem;
	letter-spacing: 0.2rem;
	text-align:center;
	margin:8% auto 0;
	width:60%;
}
p.t_messe{
	color:#fff;
	width:60%;
	font-size: 1.5rem;
	margin:1% auto 0;
	letter-spacing: 0.1rem;
}
.btn{
	display:flex;
	justify-content: center;
	align-items: center;
	width:60%;
	height:100px;
	line-height: 100px;
	margin:3% auto 0;
}
.btn .bt1{
	background:	#0000ff;/*#ff8c00;*/
	width:33%;
	text-align: center;
	margin-right: 3%;
	border-radius: 10px;
}

.btn .bt1 a{
	color:#fff;
	font-size: 1.3rem;
	letter-spacing: 0.1rem;
	font-weight:700;
}


.btn .bt2{
	width:30%;
	text-align: center;
	margin-left: 3%;
	border:2px solid #fff;
	border-radius: 10px;
}
.btn .bt2 a{
	color:#fff;
	font-size: 1.3rem;
	letter-spacing: 0.1rem;
	font-weight:700;
}
.btn .bt2 a span{
	display: inline-block;
	background-image:url("../img/ya_siro_nana.png");
	background-size: cover;
	background-position: center;
	margin-left:3%;
	vertical-align: middle;
	width:1.3rem;
	height:1.3rem;
}
.btn .bt2 a:hover span{
	display:inline-block;
	background-image:url("../img/ya_siro_yoko.png");
	background-size: cover;
	background-position: center;
	margin-left:3%;
	vertical-align: middle;
	width:1.3rem;
	height:1.3rem;
}
@media screen and (max-width: 1366px) {
	.top_img{
		background-position:left;
		background-repeat: no-repeat;
	}
	.top_txt h1{
		width:70%;
		font-size:3.2rem;
	}
}
@media screen and (max-width: 1180px) {
	.top_txt h1{
		font-size: 2.8rem;
	}
	p.t_messe{
		color:#fff;
		width:70%;
		font-size: 1.2rem;
		margin:1% auto 0;
	}
	.btn{
		/*display:flex;
		justify-content: center;
		align-items: center;
		width:60%;*/
		height:80px;
		line-height: 80px;
		margin:5% auto 0;
	}
	.btn .bt1{
		/*background:#e3e548;*//*#ff8c00;*/
		width:40%;
		/*text-align: center;
		margin-right: 3%;
		border-radius: 10px;*/
	}
	
	.btn .bt1 a{
		color:#000;
		font-size: 1.1rem;
		letter-spacing: 0.1rem;
		font-weight:700;
	}
	.btn .bt2{
		width:40%;
		/*text-align: center;
		margin-left: 3%;
		border:2px solid #fff;
		border-radius: 10px;*/
	}
	.btn .bt2 a{
		/*color:#fff;*/
		font-size: 1.1rem;
		/*letter-spacing: 0.1rem;
		font-weight:700;*/
	}
	.btn .bt2 a span{
		/*display: inline-block;
		background-image:url("../img/ya_siro_nana.png");
		background-size: cover;
		background-position: center;
		margin-left:3%;
		vertical-align: middle;*/
		width:1rem;
		height:1rem;
	}
	.btn .bt2 a:hover span{
		/*display:inline-block;
		background-image:url("../img/ya_siro_yoko.png");
		background-size: cover;
		background-position: center;
		margin-left:3%;
		vertical-align: middle;*/
		width:1rem;
		height:1rem;
	}
	
}
@media screen and (max-width: 1024px) {
	.gradient{
		background-image: linear-gradient(180deg, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0));
		width: 100%;
		height: 100%;
	}
	
	.top_txt{
		position: absolute;
		left:0;
		right: 0;
		width:100%;
		height:100%;
		margin:0 auto;
		/*background:#ccc;*/
	}
	.top_txt h1{
		margin:50% auto 0;
		width:80%;
	}
	p.t_messe{
		color:#fff;
		width:80%;
		font-size: 1.5rem;
		margin:1% auto 0;
	}
	.btn{
		display:flex;
		justify-content: center;
		align-items: center;
		width:80%;
		height:80px;
		line-height: 80px;
		margin:30% auto 0;
	}
	.btn .bt1,
	.btn .bt2{
		width:40%;
	}
}
@media screen and (max-width: 820px) {
	.top_img{
		position: relative;
		height:calc(100vh - 100px);
		width:100%;
		background-image:url("../img/mv.png");
		background-size:cover;
		background-position:left;
		background-repeat: no-repeat;
	}
	.top_txt h1{
		font-size: 2rem;
	}
	p.t_messe{
		font-size: 1rem;
		width:70%;
	}
}
@media screen and (max-width: 600px) {
	.top_img{
		position: relative;
		height:calc(100vh - 100px);
		width:100%;
		background-image:url("../img/mv.png");
		background-size:cover;
		background-position:center;
		background-repeat: no-repeat;
	}
	.top_txt h1{
		font-size: 1.8rem;
		margin: 55% auto 0;
		width:80%;
	}
	p.t_messe{
		font-size: 0.8rem;
		line-height:1.5rem;
	}
	.sp_br{
		display: block;
	}
	.btn{
		display:block;
		width:70%;
		height:auto;
		padding:10px;
		line-height:1.5;
		margin:10% auto 0;
	}
	.btn .bt1,
	.btn .bt2{
		width:90%;
		text-align: center;
		padding:15px 0;
		margin:10% auto;
		border-radius: 10px;
	}
}
@media screen and (max-width: 375px) {
	.top_txt h1{
		font-size: 1.3rem;
		margin: 25% auto 0;
		width:80%;
	}
	.btn{
		display:block;
		width:70%;
		height:auto;
		padding:10px;
		line-height:1.5;
		margin:5% auto 0;
	}
}
/*-----------------------------------------------
	SECTION SC1 CSS
------------------------------------------------------*/
.info1{
	width:100%;
	height:auto;
	background:rgba(93, 226, 255, 0.57);
	padding:100px 0;
}
.info1 h2{
	text-align:center;
	padding:0 0 50px;
	color:#000;
	letter-spacing: 1rem;
}
.info1 span{
	display:block;
	font-size: 1rem;
	letter-spacing: 0.1rem;
}
.info_box{
	position: relative;
	left:10%;
	top:15%;
	width:80%;
	height:auto;
	padding:60px 20px;
	background:#fff;
	border-radius: 25px;
}
ul.inner{
	display: flex;
	justify-content: space-around;
}
ul.inner li{
	width:26%;
	height: auto;
	padding:0 3%;
	/*background: #ff0;*/
}
ul.inner li h2{
	width:100%;
	/*background: #0000ff;*/
}
ul.inner li h2 a{
	color:#000;
	width:100%;
	/*background:violet;*/
}
ul.inner li h2 a span{
	/*display: inline-block;*/
	background-image: url("../img/ya_bl_nana2.png");
	background-position: center;
	background-size: cover;
	width:1.5rem;
	height:1.5rem;
	float:right;
	vertical-align: middle;
}

ul.inner li h2 a:hover{
	color:#fff;
	opacity: 1;
}
ul.inner li h2 a:hover span{
	background-image: url("../img/ya_siro_yoko.png");
	background-position: center;
	background-size: cover;
	width:24px;
	height:24px;
	float:right;
}
ul.inner li:nth-child(2){
	border-left:1px solid #ffff00;
	border-right: 1px solid #ffff00;
}
ul.inner li p{
	font-size: 1.2rem;
	padding:20px 0;
	letter-spacing: 0.1rem;;
}
@media screen and (max-width: 1024px) {
	.info1{
		padding:0;
	}
	.info_box{
		position: relative;
		left:0;
		top:0;
		width:100%;
		height:auto;
		padding:50px 0;
		border-radius: 0;
	}
	ul.inner{
		display: block;
		width:80%;
		margin:0 auto;
	}
	ul.inner li{
		width:80%;
		padding:5% 0;
		margin:0 auto;
	}
}
@media screen and (max-width: 600px) {
	ul.inner li{
		width:96%;
		padding:5% 0;
		margin:0 auto;
	}
	ul.inner li h2 a{
		font-size: 1.3rem;
	}
	ul.inner li p{
		font-size:1rem;
		line-height:1.5rem;
	}
	ul.inner li h2 a:hover span{
		background-image: url("../img/ya_siro_yoko.png");
		background-position: center;
		background-size: cover;
		background-repeat: no-repeat;
		width:0.5rem;
		height:0.5rem;
		float:right;
	}
	
}
/*-----------------------------------------------------
	SECTION info2 CSS
------------------------------------------------------*/
.info2{
	width:100%;
	height:auto;
	padding:20px 0;
}
.youtube{
	position:relative;
	width:100%;
	padding-top:56.25%;
}
.youtube iframe{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}


@media screen and (max-width: 1024px) {
	.info2_txt_box .inner1{
		position: absolute;
		top:25%;
		left:50%;
		width:100%;
		height:auto;
		transform: translateX(-50%);
	}
	.srv_box{
		position: relative;
		width:90%;
		height:65%;
		top:0;
		left:0;
		margin:2% auto 0;
		color:#fff;
		/*background:#ff8c00;*/
	}
	.agitt_box{
		position: absolute;
		top:35%;
		left:50%;
		transform: translateX(-50%);
		width:100%;
		height:auto;
		text-align:center;
	}
	.agitt_box img{
		width:100%;
	}
}
@media screen and (max-width: 600px) {
	.info2_txt_box{
		width:90%;
	}
	.info2_txt_box .inner1 h2{
		font-size: 2rem;
	}
	.srv_box .srv_inner h2{
		font-size: 2rem;
	}
}



/*----------------------------------------------------
 info3 CSS
-----------------------------------------------------*/
.info3{
	width:100%;
	height: auto;
	background:rgba(93, 226, 255, 0.57);
}
.demo_box{
	width:80%;
	height:auto;
	margin:0 auto;
}
.demo_box{
	width:80%;
	text-align: center;
	padding:30px 0;
}
.demo_box img{
	width:50%;
	
}

@media screen and (max-width: 1024px) {
	.sc3{
		height:0vh;
	}
}


/*-----------------------------------------------------
	FOOTER CSS
------------------------------------------------------*/
.footer{
	width:100%;
	height:auto;
	padding:20px 0;
	background:#ccc;
}
.footer .foot_inner{
	display: flex;
	align-items: center;
	width:80%;
	height:auto;
	margin:0 auto;
	/*background:#0000ff;*/
}
.foot_logo{
	width:12%;
	/*background:#ff4500;*/
}
.foot_logo p{
	width:90%;
}
.foot_logo p img{
	width:100%;
}
ul.foot_list{
	display: flex;
	justify-content: space-around;
	align-items: center;
	width:40%;
	margin-left:10%;
}
ul.foot_list li a{
	color:#000;
	letter-spacing: 0.1rem;
}
.copyright{
	width:40%;
	color:#000;
	text-align:right;
	font-size: 1rem;
	/*background:#ff4500*/
}

@media screen and (max-width: 1024px) {
	.footer .foot_inner{
		width:90%;
		/*background:#0000ff;*/
	}
	.foot_logo p{
		font-size: 2.8rem;
		letter-spacing: 0.6rem;
	}
	.copyright{
		font-size: 1.2rem;
	}
}
@media screen and (max-width: 820px) {
	.footer{
		padding:15px 0;
	}
	.footer .foot_inner{
		display: flex;
		align-items: center;
		flex-wrap: wrap;
		width:80%;
		padding:15px 0
	}
	.foot_logo{
		width:30%;
		margin-bottom: 20px;
	}
	.foot_logo p{
		font-size: 2.5rem;
		vertical-align: middle;
	}
	ul.foot_list{
		width:100%;
		margin:0 auto 20px;
	}
	ul.foot_list li{
		font-size: 100%;
	}
	.copyright{
		width:100%;
		color:#fff;
		text-align:center;
		font-size: 1.1rem;
		padding:15px 0 0;
		border-top: 1px solid #fff;
	}
}
@media screen and (max-width: 420px) {
	.foot_logo p{
		font-size: 2rem;
	}
	ul.foot_list{
		display: block;
		width:90%;
	}
	ul.foot_list li{
		text-align:center;
		padding:10px 0;
	}
	ul.foot_list li a{
		color:#fff;
		letter-spacing: 0.1rem;
	}
}

/**********************************************
 Solutions.html CSS
**********************************************/
.solu_topimg{
	position: relative;
	height:calc(80vh - 100px);
	width:100%;
	background-image:url("../img/e-video.jpg");
	background-size:auto;
	background-position:top;
	background-repeat: no-repeat;
	/*z-index:-1;*/
}
.gradient1{
	background-image: linear-gradient(125deg, rgba(0, 0, 0, 1) 30%, rgba(0, 0, 0, 0));
    width: 100%;
    height: 100%;
}
.gradient2{
	position: absolute;
	top:0;
	left:0;
	background-image: linear-gradient(225deg, rgba(0, 0, 0, 1) 30%, rgba(0, 0, 0, 0));
    width: 100%;
    height:90%;
	z-index: 10;
}
.side_txt{
	position: absolute;
	top:0;
	left:0;
	width:90%;
	height:100%;
	margin:0 auto;
	/*background:#ccc;*/
}
.side_txt h1{
	color:#fff;
	font-size: 3.5rem;
	letter-spacing: 0.1rem;
	text-align:left;
	margin:5% 0 0 15%;
	width:50%;
	/*background:#0000ff*/
}
p.e_messe2{
	color:#fff;
	width: 28%;
	font-size: 1.2rem;
	margin:1% 0 0 15%;
	letter-spacing: 0.1rem;
}
/*--------------------------------------------
 SCTION 1 CSS
---------------------------------------------*/
#el_sc1{
	width:100%;
	max-height:150vh;
	height:auto;
	background:#fafafa;
	padding-bottom: 50px;
}
.el_info_box{
	display: flex;
	width:80%;
	height:auto;
	margin:0 auto;
	padding-top:50px;
}
.vimg{
	width:50%;
	height:auto;
	padding:10px;
	text-align:center;
	position: relative;
	top:0;
	left:0;
	/*background:#ff0000*/
}
.vimg .el_video{
	width:60%;
	border-radius: 10px;
	background:#ccc;
	padding:10px;
}
.youtube iframe{
	position: absolute;
	top:50%;
	left:50%;
	transform: translate(-50%, -50%);
	width:60%;
	aspect-ratio:16/9;
	border-radius: 25px;
}
.e-lan_messe{
	width:50%;
	padding:1%;
}
.e-lan_messe p{
	font-size: 1.1rem;
	letter-spacing: 0.1rem;
	margin-bottom: 15px;
}
.st_bn{
	width:44%;
	margin-top:50px;
	padding:15px 20px;
	border: 2px solid #000;
	border-radius: 10px;
	text-align: center;
}
.st_bn a{
	color:#000;
	font-size: 1.1rem;
	letter-spacing: 0.1rem;
}
.st_bn a span{
	display: inline-block;
	background: url("../img/ya_bl_nana.png");
	background-size: cover;
	background-position: center;
	margin-left:3%;
	vertical-align: middle;
	width:1.4rem;
	height:1.2rem;
}
.cent_box{
	width:80%;
	height:auto;
	margin:20px auto 0;
}
.cent_box h2{
	text-align:center;
	padding:10px 0 20px;
	font-size: 2rem;
}
.cent_box p{
	width:50%;
	margin:0 auto;
	letter-spacing: 0.1rem;
}
/*-----------------------------------------------------
 solution info2 CSS
------------------------------------------------------*/
.rt_info2{
	width:100%;
	height:100vh;
	background:#fff;
} 
.riten_waku{
	width:80%;
	height: auto;
	margin: 0 auto;
	padding:50px 0 0;
	/*background:#ff0;*/
}
.riten_waku h3{
	font-size: 2.5rem;
	padding:15px 0;
}
ul.rt_list{
	width:80%;
	height:auto;
	margin:0 auto;
	display: flex;
	flex-wrap: wrap;
	justify-content:space-around;
}
ul.rt_list li{
	width:30%;
	margin-top:30px;
	margin-bottom:40px;
	padding:10px 0;
}
ul.rt_list li:nth-child(2),
ul.rt_list li:nth-child(3),
ul.rt_list li:nth-child(5),
ul.rt_list li:nth-child(6){
	margin-left:2%;
}
ul.rt_list li img{
	width:20%;
	margin-bottom: 20px;
}
ul.rt_list li h4{
	padding:15px 0;
	font-size: 1.2rem;
}
ul.rt_list li p{
	letter-spacing: 0.1rem;
}
/*-----------------------------------------------------
 solution SC3 CSS
------------------------------------------------------*/
.rt_sc3{
	width:100%;
	height:100vh;
	background:#fafafa;
}
.how_box{
	width:80%;
	height:auto;
	/*background:#0000ff;*/
	margin:0 auto;
}
.how_box h2{
	text-align:center;
	padding:20px 0;
	font-size: 2rem;
	
}
.how_box p{
	width:50%;
	letter-spacing: 0.1rem;
	margin:0 auto;
	line-height: 2;
}
ul.how_list{
	width:50%;
	margin:0 auto;
	display: flex;
	justify-content:center;
	align-items: center;
}
ul.how_list li{
	margin:40px 0;
	padding:0 1%;
	font-size: 1.1rem;
	font-weight: 700;
	width:auto;
	height:40px;
	line-height: 40px;
	/*background:#ff0;*/
	text-align: center;

}

ul.how_list li:nth-child(2){
	flex-grow: 1;
	margin:0 2%;
}

ul.how_list li img{
	width:26px;
	height:26px;
	vertical-align: middle;
	margin-right:5px;
}
.vimg3{
	width:100%;
	height:auto;
	margin:0 auto;
	padding:10px;
	text-align:center;
}
.rt_vbox{
	width:50%;
	padding:1%;
	border-radius: 10px;
	margin:0 auto;
	padding:5px;
}
/*------------------------------------------------
Technology.html CSS
--------------------------------------------------*/
.tech_topimg{
	height:calc(90vh - 100px);
	width:100%;
	background-image:url("../img/tech/tech_pc4_bg.jpg");
	background-size:cover;
	background-position:bottom;
	background-repeat: no-repeat;
}
.side_txt2{
	position: relative;
	top:100px;
	left:0;
	width:90%;
	height:calc(90vh - 100px);
	margin:0 auto;
	/*border: 2px solid #ff0000;*/
}
h4.tech_txt{
	position: absolute;
	bottom:13vh;
	right:0;
	color:#dfff00;
	font-size:1.5rem;
	letter-spacing: 0.1rem;
	width:50%;
	font-weight: normal;
	text-align: center;

}
h1.tech_hed{
	position: absolute;
	bottom:5vh;
	right: 0;
	width:50%;
	height:4.5rem;
	color:#dfff00;
	font-size: 4.5rem;
	letter-spacing: 0.5rem;
	text-align:center;
}
.side_txt2 .sub_txt{
	position: absolute;
	right:0;
	bottom:1vh;
	width:50%;
	height:15vh;
}
p.e_messe{
	color:#fff;
	width: 100%;
	height: auto;
	font-size: 1.2rem;
	letter-spacing: 0.1rem;
}
p.e_messe span{
	color:#dfff00;
	font-weight: 700;
}
.smh{
	display:block;
	width:100%;
	height:auto;
	padding:10px 0;
}
.smh p{
	width:80%;
	height:auto;
	margin:auto;
	color:#fff;
	font-size: 1.3rem;
	letter-spacing: 0.1rem;
	line-height:2.3rem;
}
.smh p span{
	color:#dfff00;
}
@media screen and (max-width: 1366px) {
	h1.tech_hed{
		font-size: 3.5rem;
	}
}
@media screen and (max-width: 1180px) {
	h4.tech_txt{
		bottom:10vh;
		font-size:1.3rem;
	}
	h1.tech_hed{
		bottom:2vh;
		width:55%;
		font-size: 3.5rem;
	}
	.side_txt2 .sub_txt{
		position: absolute;
		right:0;
		bottom:1vh;
		width:60%;
		height:15vh;
	}
	p.e_messe{
		color:#fff;
		width: 100%;
		height: auto;
		font-size: 1.1rem;
		letter-spacing: 0.1rem;
	}
}
@media screen and (max-width: 1024px) {
	.tech_topimg{
		height:calc(80vh - 100px);
		background-image:url("../img/tech/tech_pc3_bg.jpg");
		background-size:cover;
		background-position:center;
		background-repeat: no-repeat;
	}
	.gradient2{
		position: absolute;
		top:0;
		left:0;
		background-image: linear-gradient(225deg, rgba(0, 0, 0, 1) 15%, rgba(0, 0, 0, 0));
		width: 100%;
		height:80vh;
		z-index: 10;
	}
	.side_txt2{
		position: relative;
		top:100px;
		left:0;
		width:90%;
		height:calc(80vh - 100px);
		margin:0 auto;
		
	}
	h4.tech_txt{
		bottom:7vh;
		right:0;
		width:fit-content;
	}
	h1.tech_hed{
		font-size: 3rem;
		width:fit-content;
		height:4rem;
		line-height: 4rem;
		bottom: 2vh;
	}
	.side_txt2 .sub_txt{
		position: absolute;
		right:0;
		bottom:1%;
		width:65%;
		height:15vh;
	}
}
@media screen and (max-width: 820px) {
	h1.tech_hed{
		font-size: 2.5rem;
	}
}
@media screen and (max-width: 600px) {
	.side_txt2 .sub_txt{
		display: none;
	}
	h4.tech_txt{
		bottom:7vh;
	}
	h1.tech_hed{
		bottom:1vh;
		font-size: 2.6rem;
	}
}
@media screen and (max-width: 500px) {
	h1.tech_hed{
		font-size: 2.1rem;
		bottom:1vh;
	}
}
@media screen and (max-width: 380px) {
	h4.tech_txt{
		bottom:7vh;
		font-size: 0.8rem;
	}
	h1.tech_hed{
		font-size: 1.3rem;
		bottom:0.01vh;
	}
}
/*---------------------------------------------------
 tech_info CSS
----------------------------------------------------*/
.tech_info{
	width:100%;
	height:auto;
	max-height:500vh;
	/*background:#fafafa;*/
	background:#0f0f0f;
	padding-bottom:50px;
}
.sys_info{
	width:100%;
	height:auto;
	padding:10vh 0 15px;
	text-align: center;
}
.sys_info h2{
	margin:0 auto;
	width:fit-content;
	font-size: 2.5rem;
	letter-spacing: 0.2rem;
	color:#fff;
	/*border-bottom: 10px solid #0000ff;*/
}
.flex_box1{
	width:80%;
	height:auto;
	margin:0 auto;
	padding:20px 0 50px;
	/*background:#0000ff;*/
	display: flex;
	justify-content: space-around;
	text-align: center;
}
.flex_box1 .box1_l,
.flex_box1 .box1_r{
	width:50%;
	/*background:#e3e548;*/
}
.flex_box1 .box1_l img,
.flex_box1 .box1_r img{
	width:80%;
	padding:10px;
	/*background:#fff;*/
	border-radius: 8px;
}
.flex_box1 .box1_l h3,
.flex_box1 .box1_r h3{
	padding:15px 0 5px;
	font-size: 1.7rem;
	color:#fff;
	letter-spacing: 0.1rem;
	width:fit-content;
	margin:0 auto 30px;
	/*border-bottom: 10px solid #ff0000;*/
}
.btn_box{
	width:fit-content;
	margin:20px auto 5px;
	border:2px solid #dfff00;
	padding:10px 45px;
	border-radius: 25px;;
	background:#dfff00;
}
.btn_box a{
	color:#000;
	font-weight:700;
	letter-spacing: 0.1rem;
}
/*
.btn_box a:hover{
	color:#ff0000;
}
	*/
.rec{
	width:90%;
	height:auto;
	margin:50px auto 0;
}
.rec_in{
	display: flex;
	width: 80%;
	height:auto;/*--90px--*/
	margin: 0 auto 30px;
	background:#010101;
	border:2px solid #ff882e;
	border-radius: 15px;
}
p.kkk{
	width:7%;
	height:90px;
	display: flex;
}
p.kkk img{
	/*object-fit: contain;*/
	width:77%;
	margin:auto;
	display:block;
}
ul.left_in{
	width:80%;
}
ul.left_in2{
	width:73%;
	/*background:#0000ff;*/
}
ul.left_in li,
ul.left_in2 li{
	height:45px;
	color:#fff;
	line-height: 45px;
	text-indent: 1rem;
}
ul.left_in li:nth-child(1),
ul.left_in2 li:nth-child(1){
	font-size: 1.2rem;
	letter-spacing: 0.1rem;
}
ul.left_in li:nth-child(2),
ul.left_in2 li:nth-child(2){
	color:#dfff00;
	font-size: 2rem;
	font-weight: 700;
	letter-spacing: 0.2rem;
}
ul.right_in{
	width:20%;
	margin-left:5%;
	height:auto;	/*--90px--*/
}
ul.right_in li{
	line-height: 90px;
	text-align: center;
}
ul.right_in li a{
	color:#000;
	font-size: 1rem;
	font-weight:700;
	letter-spacing: 0.2rem;
	background: #dfff00;
	padding:20px 50px;
	border-radius: 20px;
}
ul.right_in li a span{
	display: inline-block;
	background:url("../img/ya_bl_nana2.png");
	background-size: cover;
	background-position: center;
	margin-left:4%;
	vertical-align: middle;
	width:1rem;
	height:1rem;
}
ul.right_in li a:hover span{
	display: inline-block;
	background:url("../img/ya_bl_yoko.png");
	background-size: cover;
	background-position: center;
	margin-left:4%;
	vertical-align: middle;
	width:1rem;
	height:1rem;
}
.sp_rec{
	display: none;
}
@media screen and (max-width: 1398px) {
	ul.left_in{
		width:75%;
	}
	ul.left_in2{
		width:65%;
	}
	p.kkk{
		width:10%;
		height:90px;
		display: flex;
	}
	p.kkk img{
		/*object-fit: contain;*/
		width:77%;
		margin:auto;
		display:block;
	}
	ul.left_in li:nth-child(1){
		font-size: 1.2em;
		letter-spacing: 0.1rem;
	}
	ul.left_in2 li:nth-child(1){
		font-size: 1em;
	}
	ul.left_in li:nth-child(2),
	ul.left_in2 li:nth-child(2){
		color:#dfff00;
		font-size: 1.8rem;
		font-weight: 700;
		letter-spacing: 0.2rem;
	}
	ul.right_in{
		width:23%;
		margin-left:1%;
		height:90px;
		/*background:#ccc;*/
	}
	ul.right_in li a{
		color:#000;
		font-size: 1rem;
		font-weight: 700;
		letter-spacing: 0.1rem;
		background: #dfff00;
		padding:20px 25px;
		border-radius: 10px;
	}
	ul.right_in li a span{
		display: inline-block;
		background:url("../img/ya_bl_nana2.png");
		background-size: cover;
		background-position: center;
		margin-left:4%;
		vertical-align: middle;
		width:1rem;
		height:1rem;
	}
}
@media screen and (max-width: 1366px) {
	.rec_in{
		width: 90%;
		height:98px;
	}
}
@media screen and (max-width: 1024px) {
	.sys_info{
		padding:2vh 0;
	}
	.flex_box1{
		width:90%;
	}
	.flex_box1 .box1_l h3,
	.flex_box1 .box1_r h3{
		font-size: 1.8rem;
	}
	ul.left_in{
		width:75%;
	}
	ul.left_in2{
		width:65%;
	}
	p.kkk{
		width:10%;
		height:90px;
		display: flex;
	}
	p.kkk img{
		/*object-fit: contain;*/
		width:77%;
		margin:auto;
		display:block;
	}
	ul.left_in li:nth-child(1),
	ul.left_in2 li:nth-child(1){
		font-size: 1rem;
		letter-spacing: 0.1rem;
	}
	ul.left_in li:nth-child(2),
	ul.left_in2 li:nth-child(2){
		color:#dfff00;
		font-size: 1.4rem;
		font-weight: 700;
		letter-spacing: 0.1rem;
	}
	ul.right_in{
		width:23%;
		margin-left:1%;
		height:90px;
		/*background:#ccc;*/
	}
	ul.right_in li a{
		color:#000;
		font-size: 1rem;
		font-weight: 700;
		letter-spacing: 0.1rem;
		background: #dfff00;
		padding:20px 25px;
		border-radius: 10px;
	}
	ul.right_in li a span{
		display: inline-block;
		background:url("../img/ya_bl_nana2.png");
		background-size: cover;
		background-position: center;
		margin-left:4%;
		vertical-align: middle;
		width:1rem;
		height:1rem;
	}
}
@media screen and (max-width: 912px) {
	.flex_box1{
		width:100%;
		height:auto;
		margin:0 auto;
		padding:20px 0 50px;
		display: block;
		text-align: center;
	}
	.flex_box1 .box1_l,
	.flex_box1 .box1_r{
		width:100%;
	}
	.flex_box1 .box1_l{
		margin-bottom:50px;
	}
	.flex_box1 .box1_l img,
	.flex_box1 .box1_r img{
		width:80%;
		padding:10px;
		background:#000;
		border-radius: 8px;
	}
	.flex_box1 .box1_l h3,
	.flex_box1 .box1_r h3{
		padding:15px 0 5px;
		font-size: 1.6rem;
		width:fit-content;
		margin:0 auto 30px;
		/*border-bottom: 6px solid #ff0000;*/
	}
	.rec{
		width:98%;
	}
	.rec_in{
		display:block;
		width: 100%;
		height:auto;
	}
	ul.left_in{
		width:100%;
	}
	ul.left_in li:nth-child(1){
		font-size: 1.2em;
		letter-spacing: 0.1rem;
	}
	ul.left_in li:nth-child(2){
		font-size: 1.8rem;
		border-bottom: 2px solid #fff;
	}
	ul.right_in{
		width: 98%;
		margin:0 auto;
	}
	p.kkk{
		width:10%;
		height:90px;
		float: left;
	}
	p.kkk img{
		width:77%;
		margin:auto;
		display:block;
	}
	ul.left_in2{
		width:100%;
	}
	ul.left_in2 li:nth-child(1){
		font-size: 1.14rem;
		letter-spacing: 0.1rem;
	}
	ul.left_in2 li:nth-child(2){
		font-size: 1.8rem;
		border-bottom: 2px solid #fff;
	}
	
}
@media screen and (max-width: 600px) {
	.smh{
		display: block;
		width:100%;
		background:#000;
		padding:15px 0;
	}
	.smh p{
		width:96%;
		font-size: 1rem;
		color:#fff;
		margin:auto;
		line-height: 1.5;
	}
	.smh p span{
		color:#dfff00;
	}
	.sys_info h2{
		font-size: 2rem;
	}
	.flex_box1 .box1_l h3,
	.flex_box1 .box1_r h3{
		font-size: 1.3rem;
		padding:20px 0 0;
	}
	.flex_box1 .box1_l img,
	.flex_box1 .box1_r img{
		padding:0;
		margin:0;
	}
	.rec{
		display:none;
	}
	.sp_rec{
		display: block;
		background:#000;
		width:100%;
		max-height: 300vh;
		height:auto;
		padding:40px 0 10px;
	}
	.sp_rec_box{
		width:90%;
		height:auto;
		margin:0 auto 50px;
	}
	.cara_box{
		width:80%;
		height:auto;
		margin:0 auto;
		text-align: center;
		/*background: #ffff00;*/
	}
	.sp_rec_box .cara_box img{
		width:80%;
	}
	.title_box1{
		width:80%;
		height: auto;
		margin:auto;
		padding:10px 0;
		border-bottom: 2px solid #ff0000;
	}
	.title_box1 h4{
		color:#dfff00;
		font-size: 150%;
	}
	.title_box1 p{
		color:#fff
	}
	.link_box{
		width:80%;
		height:auto;
		margin: auto;
		padding:10px 0;
		/*background:#0000ff;*/
	} 
	.link_box .bt{
		background: #dfff00;
		margin:auto;
		width:55%;
		text-align: center;
		padding:15px 0;
		border-radius: 10px;
	}
	.link_box .bt a{
		color:#000;
		font-weight: 700;
	}
	.link_box .bt a span{
		display: inline-block;
		display:inline-block;
		background-image:url("../img/ya_bl_yoko.png");
		background-size: cover;
		background-position: center;
		margin-left:3%;
		vertical-align: middle;
		width:1.1rem;
		height:1rem;
	}
}

@media screen and (max-width: 513px) {
	.sys_info{
		padding:0;
	}
	.sys_info h2{
		font-size: 1.5rem;
	}
	.smh p{
		width:96%;
		font-size: 0.8rem;
		color:#fff;
		margin:auto;
		line-height: 1.5;
	}
	.sp_rec_box{
		width:90%;
		height:auto;
		margin:0 auto 50px;
	}
	.cara_box{
		width:90%;
	}
	.sp_rec_box .cara_box img{
		width:80%;
	}
	.title_box1{
		width:90%;
	}
	.title_box1 h4{
		font-size: 130%;
	}
	.title_box1 p{
		color:#fff
	}
	.link_box{
		width:90%;
		padding:25px 0;
	} 
	.link_box .bt{
		width:60%;
		text-align: center;
		padding:15px 0;
		border-radius: 10px;
	}
}
/*-------------------------------------------------
technology2.html CSS
--------------------------------------------------*/
.bigi_topimg{
	height:calc(90vh - 100px);
	width:100%;
	background-image:url("../img/bigi/bigi_pc3_bg.jpg");
	background-size:cover;
	background-position:bottom;
	background-repeat: no-repeat;
}
p.bigi_messe{
	width:80%;
	margin: 0 auto 30px;
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: 0.2rem;
	color:#fff;
}
ul.etc{
	width:60%;
	margin: 20px auto;
	padding:15px 0;
	display: flex;
	justify-content: space-around;
	border-bottom: 10px solid #fff;
}
ul.etc li{
	width:15%;
	padding:5px;
	background:#ccc;
}
ul.etc li img{
	width:86%;
	height:auto;
	padding:5px;
	object-fit: fill;
}
@media screen and (max-width: 1024px) {
	.bigi_topimg{
		/*position: relative;*/
		height:calc(80vh - 100px);
		width:100%;
		background-image:url("../img/bigi/bigi_pc_bg.jpg");
		background-size:cover;
		background-position:center;
		background-repeat: no-repeat;
	}
	p.bigi_messe{
		width:90%;
		text-align: left;
		/*margin: 0 auto 30px;
		font-size: 1.5rem;
		font-weight: 700;
		letter-spacing: 0.1rem;*/
	}
	ul.etc{
		width:90%;
		/*margin: 20px auto;
		padding:15px 0;
		display: flex;
		justify-content: space-around;
		border-bottom: 10px solid #0000ff;*/
	}
	ul.etc li{
		width:14%;
		padding:3px;
		background:#ccc;
	}
	
}
@media screen and (max-width: 600px) {
	p.bigi_messe{
		font-size: 1.2rem;
	}
	ul.etc{
		flex-wrap: wrap;
	}
	ul.etc li{
		width:28%;
		margin-bottom: 20px;
	}
}
/*-------------------------------------------------
technology3.html CSS
--------------------------------------------------*/
.sels_topimg{
	height:calc(90vh - 100px);
	width:100%;
	background-image:url("../img/sels/sels_pc3_bg.jpg");
	background-size:cover;
	background-position:bottom;
	background-repeat: no-repeat;
}
ul.etc2{
	width:60%;
	margin: 20px auto;
	padding:15px 0;
	display: flex;
	justify-content: space-around;
	border-bottom: 10px solid #fff;
}
ul.etc2 li{
	width:33%;
}
ul.etc2 li img{
	width:96%;
	object-fit: contain;
}
@media screen and (max-width: 1400px) {
	ul.etc2{
		width:80%;
		margin: 20px auto;
		padding:15px 0 5px;
		display: flex;
		justify-content: space-around;
		border-bottom: 10px solid #fff;
	}
	ul.etc2 li{
		width:33%;
		height: auto;
	}
	ul.etc2 li img{
		width:96%;
		object-fit: contain;
	}
}
@media screen and (max-width: 1024px) {
	.sels_topimg{
		height:calc(80vh - 100px);
		width:100%;
		background-image:url("../img/sels/sels_tablet_bg.jpg");
		background-size:cover;
		background-position:center;
		background-repeat: no-repeat;
	}
}
@media screen and (max-width: 600px) {
	ul.etc2{
		width:90%;
		margin: 20px auto;
		padding:15px 0 5px;
		display: block;
		border-bottom: none;
		/*background:#ffff00;*/
	}
	ul.etc2 li{
		width:90%;
		margin:5px auto;
		padding: 5px 0 10px;
	}
}
