@charset "utf-8";

/* content
---------------------------------------- */
#content {
	width: 100%;
	max-width: inherit;
	padding:0;
}
@media screen and (max-width:800px) {
	#content{
		padding:0;
	}
}
h2.title {
	transform:none;
	padding-bottom:0;
	margin-bottom:0;
	border-bottom:none;
}

/* main_visual
---------------------------------------- */
#main_visual .swiper-container {
    width: 100%;
}
#main_visual .swiper-slide{
	clear: both;
	box-sizing: border-box;
	width: 100%;
	max-height: 560px;
	min-height: 220px;
	text-align: center;
	overflow: hidden;
	background-repeat: no-repeat;
	background-position: center top;
	background-size: cover;
	position: relative;
}
#main_visual .swiper-slide:before {
	content: "";
	display: block;
	padding-top: 50%;
}
#main_visual #main_visual1{
/*	background-image: url(../../img/main_visual1.jpg);*/
}
#main_visual #main_visual2{
	background-image: url(../../img/main_visual2.jpg);
}
#main_visual .swiper-slide video {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: auto;
	z-index: 2;
}
#main_visual .swiper-slide p.copy {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	text-align: center;
	z-index: 50;
}
#main_visual .swiper-slide p.copy img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 80%;
	max-width: 780px;
	min-width: 220px;
}
#main_visual .swiper-slide a.btn {
	position: absolute;
	top: 72%;
	left: 0;
	right: 0;
	margin: 0 auto;
	z-index: 50;
	font-family:"ヒラギノ角ゴ Pro W6", HiraKakuPro-W6, "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
}
#content p.access span:not(:last-of-type)::after {
	content: "／";
}
@media screen and (max-width:640px) {
	#main_visual .swiper-slide video{
		width: 120%;
	}
	#main_visual .swiper-slide p.copy img{
		top: 45%;
		width: 90%;
		min-width: 240px;
	}
	#main_visual .swiper-slide a.btn {
		top: 72%;
		font-size: 13px;
		padding: 6px 5px 6px 0px;
		max-width:220px;
		background-size: 13px auto;
		background-position: center right 8px;
	}
	#main_visual .swiper-button-prev {
		display: none;
	}
	#main_visual .swiper-button-next {
		display: none;
	}
}

/* nav_top
---------------------------------------- */
#nav_top {
	width: 100%;
	margin: 40px 0 30px 0;
	text-align: center;
}
#nav_top ul.main {
	box-sizing: border-box;
	width: calc(100% - 20px);
	max-width:1040px;
	margin: 0 auto;
}
#nav_top ul.main li {
	display: block;
	float: left;
	box-sizing: border-box;
	width:31.923%;
	max-width:332px;
	text-align: center;
	margin-right: 2.1153%;
	background-repeat: no-repeat;
	background-size: 100% auto;
	background-position: center center;
	position:relative;
	transition:all 0.3s ease;
}
#nav_top ul.main li.about{
	background-image: url(../img/nav_img_about.jpg);
}
#nav_top ul.main li.products{
	background-image: url(../img/nav_img_product.jpg);
}
#nav_top ul.main li.company{
	margin-right:0;
	background-image: url(../img/nav_img_company.jpg);
}
#nav_top ul.main li:before{
	content:"";
	display:block;
	width:100%;
	padding-top:100%;
}
#nav_top ul.main li:hover{
	background-size:105% auto;
}
#nav_top ul.main li a {
	position: absolute;
	display: block;
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.35);
	text-align: center;
	top:0;
	color:#FFF;
	transition:all 0.3s ease;
}
#nav_top ul.main li a:hover {
	text-decoration: none;
	background-color: rgba(0, 0, 0, 0.15);
}
#nav_top ul.main li a h3{
	position: absolute;
	top:21%;
	font-size:19px;
	width: 100%;
	text-align: center;
}
#nav_top ul.main li a p.en{
	position: absolute;
	top:30%;
	font-size:14px;
	width: 100%;
	text-align: center;
}
#nav_top ul.main li a p.pc{
	position: absolute;
	top:45%;
	font-size:14px;
	box-sizing: border-box;
	padding: 0 10px;
	width: 100%;
	text-align: center;
}
#nav_top ul.main li a img.btn_more{
	position: absolute;
	bottom: 18%;
	left:0;
	right:0;
	margin: 0 auto;
}
@media screen and (max-width:900px) {
	#nav_top {
		margin: 20px 0 15px 0;
	}
	#nav_top ul.main {
		margin: 0 auto 15px auto;
	}
	#nav_top ul.main li a h3{
		top:38%;
		font-size:16px;
	}
	#nav_top ul.main li a p.en{
		top:55%;
		font-size:12px;
	}
	#nav_top ul.main li a p.pc{
		display: none;
	}
	#nav_top ul.main li a img.btn_more{
		display: none;
	}
	#nav_top ul.links.border{
		margin:10px auto 0 auto;
		padding:10px 0 0 0;
		border-top:1px solid #DDD;
	}
}
@media screen and (max-width:640px) {
	#nav_top {
		margin: 20px 0 20px 0;
	}
	#nav_top ul.main {
		width: calc(100% - 20px);
		margin: 0 auto 5px auto;
	}
	
}


/* siaa
---------------------------------------- */
#siaa {
	width:calc(100% - 50px);
	max-width:1040px;
	padding: 0;
	margin: 0 auto 60px auto;
	text-align: center;
}
#siaa .flex {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 22px;
}
#siaa .sp_column{
	gap: 10px;
}
#siaa img{
	width:86px;
	/*margin-right: 10px;*/
}
#siaa img.bnr_drair{
	width:100%;
	margin-right: 0;
}
#siaa .siaa_area{
	border: 1px solid #CCC;
	border-radius: 5px;
	padding:0 10px 0 15px;
	display: flex;
	gap: 10px;
	align-items: center;
	justify-content: space-around;
	height: 90px;
	width: calc(100% - 380px);
}
#siaa .text_area{
	box-sizing: border-box;
	max-width:475px;
	padding-right: 5px;
}
#siaa .text_area p{
	font-size:12px;
	margin-bottom:5px;
	text-align: justify;
	line-height: 1.6;
}
#siaa .text_area p.sup{
	font-size: 11.5px;
	margin-bottom:0px;
	line-height: 1em;
}
@media screen and (max-width:960px) {
	#siaa img.bnr_drair{
		width:100%;
	}
	#siaa .flex.sp_column {
		flex-direction: column;
		padding-left: 10px;
	}
	#siaa .flex.sp_column img{
		max-width: 88px;
		width: 95%;
	}
	#siaa .siaa_area{
		width: calc(100% - 276px);
	}
}
@media screen and (max-width:750px) {
	#siaa {
		margin-top:0px;
		max-width: 552px;
        width: calc(100% - 20px);
	}
	#siaa .text_area{
		margin-top: 1px;
		/*padding:10px 15px 8px 15px;*/
		width: calc(100% - 160px);
		max-width: 512px;
	}
	#siaa .siaa_area img {
		width: 88px;
		margin: 5px auto 0 auto;
	}
	#siaa img.bnr_drair{
		width:100%;
	}
	#siaa .siaa_area{
		width: 100%;
		max-width: 512px;
		height: auto;
        padding: 10px 5px;
		margin-top:10px;
	}
	#siaa img:first-child {
		margin-top: 0;
	}
	#siaa .flex {
		flex-direction: column;
	}
	/*#siaa .flex.sp_column {
		flex-direction: column;
		padding-left: 10px;
	}*/
}
@media screen and (max-width:540px) {
	#siaa {
		width:calc(100% - 30px);
		margin: 0 auto 30px auto;
	}
	#siaa img{
		width: 75px;
		margin-top: 10px;
	}
	#siaa img:first-child {
		margin-top: 4px
	}
	#siaa .text_area{
		width:calc(100% - 75px);
		padding:5px 10px;
		margin-left: 0;
	}
	#siaa .text_area p{
		font-size:12px;
		margin-bottom:7px;
	}
	#siaa .text_area p.sup{
		font-size:11px;
		margin-bottom:0px;
		line-height: 1.5em;
	}

}



/* nc_press
---------------------------------------- */
#nc_press {
	width: 100%;
	background: #004DA1;
	padding: 0;
	margin: 0 0 50px 0;
	text-align: center;
	color:#FFF;
}
#nc_press #nc_press_inc{
	width: calc(100% - 20px);
	max-width: 1040px;
	margin: 0 auto;
}
#nc_press .left{
	display: block;
	float: left;
	width:calc(50% - 20px);
	max-width: 500px;
}
#nc_press .right{
	display: block;
	float: right;
	width:calc(50% - 10px);
	max-width: 510px;
}
#nc_press p.superscript{
	box-sizing:border-box;
	width:100%;
	padding-top:40px;
	padding-bottom: 6px;
	padding-left:2px;
	border-bottom: 1px solid #4D83BD;
	margin-bottom: 40px;
	font-family: Myriad Pro, Myriad, Arial ,sans-serif;
	font-size:13px;
	font-weight: normal;
	letter-spacing: 0.2em;
}
#nc_press h2.nc_press{
	margin-bottom: 40px;
	box-sizing:border-box;
	width:100%;
	position: relative;
}
#nc_press a.btn_more{
	position: absolute;
	right: 3px;
	top:15px;
}
#nc_press p.copy{
	font-size:16px;
	line-height: 180%;
	letter-spacing: 0.05em;
	padding-left:2px;
	margin-bottom: 30px;
}
#nc_press p.list{
	line-height: 200%;
}
@media screen and (max-width:900px) {
	#nc_press {
		padding: 0 0 90px 0;
		margin: 0 0 20px 0;
		position: relative;
	}
	#nc_press #nc_press_inc{
		width: calc(100% - 0px);
	}
	#nc_press .left{
		float: none;
		clear: both;
		width:calc(100% - 0px);
		max-width:inherit;
	}
	#nc_press p.superscript{
		box-sizing:border-box;
		width: calc(100% - 0px);
		margin: 0 auto 18px auto;
		padding:6px 0 2px 2px;
		border-bottom: 1px solid #4D83BD;
		font-size:11px;
		letter-spacing: 0.2em;
		text-align: center;
	}
	#nc_press h2.nc_press{
		margin-bottom: 15px;
		box-sizing:border-box;
		width:100%;
		position:inherit;
		text-align: center;
	}
	#nc_press h2.nc_press img{
		width: 80%;
		max-width: 220px;
	}
	#nc_press a.btn_more{
		position: absolute;
		left:0;
		right:0;
		top:auto;
		bottom:25px;
		margin: 0 auto;
		max-width: 200px;
	}
	#nc_press p.copy{
		box-sizing: border-box;
		line-height: 140%;
		letter-spacing: 0;
		padding:0 10px 15px 10px;
		margin-bottom: 0;
	}
	#nc_press p.copy br{
		display:none;
	}
	#nc_press p.list{
		box-sizing: border-box;
		line-height: 140%;
		padding:0 10px 15px 10px;
		margin-bottom: 0;
		display: none;
	}
	#nc_press .right{
		float: none;
		clear: both;
		box-sizing: border-box;
		width:calc(100% - 0px);
		padding: 0 15px 0 15px;
		max-width:inherit;
	}
	#nc_press .right img{
		width: 100%;
	}
}

/* news
---------------------------------------- */
#news {
	text-align: center;
	margin: 0 0 80px 0;
}
#news #news_inc{
	margin: 0 auto;
	width:100%;
	max-width: 800px;
}
#news .left_col {
	float: left;
	width: 73%;
	width:calc(100% - 280px);
	max-width: 760px;
}
#news .right_col {
	float: right;
	/*
	width: 22.1154%;
	*/
	max-width: 230px;
}
#news h2 {
	margin: 0 0 25px 0;
}
#news .tab_menu {
	width:100%;
	float:left;
	margin: 0 0 5px 0;
}
#news .tab_menu li {
	box-sizing: border-box;
	width:105px;
	height:36px;
	padding:8px 0 0 0;
	margin: 0;
	float: left;
	border-bottom:1px solid #999;
	text-align: center;
	cursor: pointer;
}
#news .tab_menu li.select {
	border-top:1px solid #999;
	border-left:1px solid #999;
	border-right:1px solid #999;
	border-bottom:none;
}
#news .tab_menu .blank {
	box-sizing: border-box;
	display: block;
	float: left;
	width:calc(100% - 210px);
	height:36px;
	text-align: right;
	border-bottom:1px solid #999;
	position: relative;
}
#news .tab_menu .blank a.btn {
	position: absolute;
	top:-15px;
	right:0;
	z-index: 100;
}
#news .tab_content{
	float:left;
	width:100%;
	font-size:14px;
}
#news .tab_content dl{
	width:100%;
	box-sizing: border-box;
	border-bottom: 1px solid #CCC;
}
#news .tab_content dl dt{
	display: block;
	float: left;
	width:140px;
}
#news .tab_content dl dd{
	display: block;
	float: left;
	width:calc(100% - 140px);
	word-wrap: break-word;
}
#news .hide {
	display: none;
}
#news a.nc_press {
	display: block;
	margin: 0 0 15px 0;
}
#news a.nc_press img{
	width:100%;
}
#news a.recruit {
	margin: 0 0 0 0;
}
#news a.recruit img{
	width:100%;
}
#news .attention{
	text-align: center;
	margin-top:30px;
}
#news .attention p{
	box-sizing: border-box;
	width:calc(100% - 30px);
	max-width: 800px;
	border:1px dotted #C00;
	border-radius:5px;
	padding:12px 20px 10px 20px;
	margin: 0 auto;
	color:#C00;
	font-size:14px;
	font-weight: normal;
	text-indent: -7px;
}
#news dl.nobutton {
	padding:13px 0 12px 0;
}
#news div.button {
	display: block;
	position: relative;
	color:#333;
	padding:13px 20px 12px 0;
	cursor: pointer;
}
#news .button:hover{
	background: #EBF5E6;
}
#news .button span{
	display: block;
	position: absolute;
	right: 10px;
	top: 50%;
	transform:translate(0,-50%);
	line-height:100%;
}
#news .button i{
	color:#017770;
	font-size:16px;
}
#news div.content{
	font-size:14px;
	padding:10px 0 0 0;
	width:calc(100% - 140px);
	float:right;
	display: none;
}
#news div.content p{
	margin-bottom: 15px;
}
#news div.content p a{
	transition: all 0.5s ease;
}
#news div.content p a:hover{
	opacity: 0.7;
}
#news ul.pic {
	width:100%;
	margin-bottom: 25px;
}
#news ul.pic li {
	float: left;
	margin-right: 15px;
}
#news ul.pic li a{
	width:100%;
	position: relative;
}
#news ul.pic li a:before{
	/*
	content:'';
	display: inline-block;
	width:24px;
	height:24px;
	background-image: url(/common/img/icon_zoom.png);
	background-size: contain;
	vertical-align: middle;
	position: absolute;
    right: 0px;
    bottom: -1px;
	*/
}
#news ul.pic li a img{
	height:150px;
}

@media screen and (max-width:640px){
	#news {
		padding:15px 0 0px 0;
		margin: 0 0 40px 0;
	}
	#news #news_inc{
		width: calc(100% - 30px);
	}
	#news .left_col {
		float: none;
		width: 100%;
		margin-bottom: 20px;
	}
	#news .right_col {
		float: none;
		width: 100%;
		max-width: inherit;
	}
	#news h2 {
		margin: 0 0 20px 0;
	}
	#news h2 img{
		height:30px;
	}
	#news .tab_menu {
		width:100%;
		float:none;
		margin: 0 auto 0 auto;
	}
	#news .tab_menu li {
		box-sizing: border-box;
		width:105px;
		padding:8px 0 0 0;
	}
	#news .tab_menu li.select {
		border-top:1px solid #999;
		border-left:1px solid #999;
		border-right:1px solid #999;
		border-bottom:none;
	}
	#news .tab_menu .blank {
		box-sizing: border-box;
		display: block;
		float: left;
		width:calc(100% - 210px);
		height:36px;
		text-align: right;
		border-bottom:1px solid #999;
		position: relative;
	}
	#news .tab_menu .blank a.btn {
		position: absolute;
		top:-50px;
		right:0;
		z-index: 100;
	}
	#news .tab_content{
		float:left;
		width:100%;
		max-width: 760px;
	}
	#news .tab_content dl{
		border-bottom: 1px solid #CCC;
	}
	#news .tab_content dl dt{
		display: block;
		float: none;
		width:100%;
		font-weight: normal;
		padding-bottom:0px;
		font-size:12px;
	}
	#news .tab_content dl dd{
		display: block;
		float: none;
		width:calc(100% - 0px);
		font-size:14px;
	}
	#news .hide {
		display: none;
	}
	#news a.nc_press {
		display: block;
		float: left;
		width:calc(50% - 5px);
		margin: 0 0 15px 0;
	}
	#news a.nc_press img{
		width:100%;
	}
	#news a.recruit {
		display: block;
		float: right;
		margin: 0 0 0 0;
		width:calc(50% - 10px);
	}
	#news a.recruit img{
		width:100%;
	}
	#news .attention{
		margin-top:15px;
	}
	#news .attention p{
		border-radius:3px;
		padding:8px 10px 8px 10px;
		font-size:13px;
		line-height: 150%;
	}
	#news a:hover{
		background:none;
	}
	#news dl.nobutton {
		padding:5px 0px 5px 0;
	}
	#news div.button{
		padding:5px 24px 5px 0!important;
	}
	#news .button span{
		display: block;
		position: absolute;
		right: 2px;
	}
	#news div.content{
		box-sizing:100%;
		font-size:14px;
		padding:10px 0px 10px 0px;
		width:100%;
		display: none;
	}
	#news div.content p{
		margin-bottom: 10px;
	}
	
	#news ul.pic {
		margin-bottom: 15px;
	}
	#news ul.pic li {
		float: left;
		margin-right: 10px;
	}
	#news ul.pic li a img{
		height:80px;
	}
}

/* access
---------------------------------------- */
#access {
	width: 100%;
	background: #EBF5E6;
	padding:40px 0 60px 0;
	text-align: center;
	box-shadow: 0px -2px 2px 0px rgba(66,66,66,0.2);
}
#access #access_inc{
	width: calc(100% - 40px);
	max-width: 1040px;
	margin: 0 auto;
	padding: 0;
}
#access h2 {
	margin: 0 auto 30px auto;
	text-align: center;
}
#access .map_iframe{
	
}
#map_canvas {
	width: calc(100% - 40px);
	max-width:1040px;
	height: 190px;
	/*height: 480px;*/
	margin: 20px auto 25px auto;
}
#access p {
	text-align: center;
}
#access p.company {
	font-size:18px;
	margin-bottom: 12px;
}
#access p.add {
	font-size:20px;
	margin-bottom: 8px;
}
#access p.access {
	font-size:16px;
}
#access p em{
	font-size:20px!important;
	font-style: normal;
}

@media screen and (max-width:640px) {
	#access {
		padding: 25px 0 20px 0;
		text-align: center;
	}
	#access h2 {
		margin: 0 auto 12px auto;
	}
	#map_canvas {
		width:calc(100% - 30px);
		height: 380px;
		margin: 0 auto 15px auto;
	}
	#access .company{
		display: none;
	}
	#access .add{
		font-size:15px!important;
		margin-bottom: 20px;
	}
	#access .access{
		width:calc(100% - 30px);
		margin: 0 auto;
		font-size:15px!important;
		text-indent: -6px;
		text-align: center;
		line-height: 150%;
	}
	#access p.access span {
		display: inline-block;
	}
	#access p.access span:not(:last-of-type)::after {
		content: "";
	}
}

/* important
---------------------------------------- */
#important_top{
	text-align: center;
	margin-top: 20px;
}
#important_top a{
	color: #c00;
	text-decoration: underline;
	font-weight: bold;
	font-size: 13px;
} 
@media screen and (min-width:952px) {
	#important_top{
		display: none;
	}
}
