@charset "utf-8";
/********************************************************
	
	flex-grid:| sm  | md  | lg  |  xl  |
	min-width:| 576 | 768 | 992 | 1200 |
	max-width:| 575 | 767 | 991 | 1199 |

********************************************************/
/* ======================================================

	Hero

====================================================== */
.top-hero{
	width:100%;
}

.pc{
	display:block;
}

.sp{
	display:none;
}

.top-hero__inner{
	display: flex;
	justify-content: flex-end;
	align-items: center;

	height: 100%;
	padding: 100px 120px 0 10px;
}
.top-hero__txt-wrap{
	max-width: 470px;
}
.top-hero__title{
	margin-bottom: 1.5em;
}
.top-hero__text{
	text-align: center;
	white-space: nowrap;
}
@media screen and (max-width: 767px){
	.pc{
		display:none;
	}

	.sp{
		display:block;
	}

	.top-hero__inner{
		padding: 50px 10px 0 10px;
	}
	.top-hero__txt-wrap{
		width: 89.5%;
		margin: 0 0 0 auto;
	}
	.top-hero__text{
		white-space: normal;
	}
}
/* ======================================================

	Lead

====================================================== */
.top-lead{
	text-align: center;
}
.top-lead__copy{
	margin-bottom: 1em;

	font-family: serif;
	font-size: 3.6rem;
	line-height: 1.52;
	color: #319041;
}
.top-lead__fig img{ max-width: 500px; width: 100%; }
.c-link{
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	max-width: 480px;
	min-height: 68px;
	padding: 10px 40px 10px 10px;
	margin: 0 auto;
	background-color: #319041;

	font-size: 2.0rem;
	color: #ffffff !important;
}
.c-link:before{
	position: absolute;
	display: block;
	content: "\e902";
	top: 50%;
	right: 14px;
	transform: translateY(-50%);

	font-size: 26px;
}
@media screen and (max-width: 767px){
	.top-lead__copy{ font-size: 2.4rem; }
	.c-link{
		max-width: 330px;
		min-height: 50px;
		padding: 10px 20px 10px 10px;

		font-size: 1.4rem;
	}
	.c-link:before{
		right: 6px;
		font-size: 20px;
	}
}
/* ======================================================

	セクション

====================================================== */
.c-sec{
	/*padding-top: 110px;*/
	padding-top: 50px;
	padding-bottom: 50px;
}
.sec-prod{ background: url(../products/images/bg.jpg) 50% 50% / cover no-repeat; }
.sec-prod .c-container{
	max-width: 1140px;
}
.sec-tech{ background: rgba(1,97,184,0.15) url(../images/bg-j.png) 50% 100% / auto 91.38% no-repeat; }
.sec-user{ background: #ffffff url(../images/bg-j-user.png) 50% 100% / auto 91.38% no-repeat; }
.sec-recruit{ background: #EBF8D7 url(../images/bg-j.png) 50% 100% / auto 91.38% no-repeat; }

@media screen and (max-width: 767px){
	.c-sec{
		padding-top: 35px;
		padding-bottom: 20px;
		min-height: 0;
	}
}
/* ======================================================

	セクション・タイトル

====================================================== */
.c-sec-title{
	text-align: center;
}
.c-sec-title__en{
	position: relative;
	display: inline-block;
	min-width: 302px;
	padding: 0 10px 18px;
	margin: 0 auto 0.25em;
}
.c-sec-title__en img{
	width: auto;
	height: 48px;
}
.c-sec-title__en::before{
	position: absolute;
	content: '';
	bottom: 0px;
	left: 50%;
	width: 100%;
	height: 3px;
	transform: translateX(-50%);
	background-color: #319041;
}
.c-sec-title__jp{
	display: block;
	font-size: 2.0rem;
}
.c-sec-title--white{ color: #ffffff; }
.c-sec-title--white .c-sec-title__en::before{ background-color: #ffffff; }

@media screen and (max-width: 767px){
	.c-sec-title__en::before{
		height: 2px;
	}
	.c-sec-title__en{
		min-width: 158px;
		padding: 0 5px 10px;
		margin: 0 auto 0.20em;
	}
	.c-sec-title__en img{
		height: 26px;
	}
	.c-sec-title__jp{
		font-size: 1.2rem;
	}
}
/* ======================================================

	PRODUCTS | 製品紹介
	.sec-prod

====================================================== */
/*common.css*/

/* ======================================================

	NEWS | お知らせ

====================================================== */
.sec-news .c-container{ max-width: 1020px; }
.sec-news .c-row { margin-right: -23px; margin-left: -23px; }
.sec-news .c-row > [class*="c-col-"] { padding-right: 23px; padding-left: 23px; }

.sec-news__top{
	padding: 15px 10px;
	margin-bottom: 45px;
	background-color: #eeeeee;
}
.sec-news__top p{
	max-width: 660px;
	margin: 0 auto;
}
.sec-news__top p:not(:last-child){
	margin-bottom: 1em;
}
/********************************************************
	.c-news-category
********************************************************/
.c-news-category{
	display: flex;
	margin-bottom: 12px;

	font-size: 1.6rem;
	color: #ffffff;
}
.c-news-category a{
	display: flex;
	justify-content: center;
	align-items: center;
}
.c-news-category__new{ display: flex; flex: 0 0 20%; }
.c-news-category__new a{ flex: 0 0 100%; height: 50px; }
.c-news-category__other{ display: flex; flex: 0 0 80%; }
.c-news-category__other a{ flex: 0 0 25%; height: 50px; }

@media screen and (max-width: 767px){
	.c-news-category{
		margin-bottom: 6px;
		border: 1px solid #ffffff;

		font-size: 1.3rem;
	}
	.c-news-category__new{ flex: 0 0 26%; }
	.c-news-category__new a{ height: auto; outline: solid 2px #ffffff; outline-offset: -2px; }
	.c-news-category__other{ flex-wrap: wrap; flex: 0 0 74%; }
	.c-news-category__other a{ flex: 0 0 50%; outline: solid 2px #ffffff; outline-offset: -2px; }
	.c-news-category__other a:nth-child(3){ text-align: center; }
}
/********************************************************
	.c-link-news
********************************************************/
.c-link-news-wrap{
	width: 100%;
	height: 356px;
	border: 1px solid #E1E1E1;
	overflow: auto;
    -webkit-overflow-scrolling: touch;
}
.c-link-news-wrap iframe {
	display: block; /* !important */
    width: 100%;
    height: 100%;
    border: none;
}
/* ======================================================

	バナー

====================================================== */
.bnr-outline{
	display: block;
	outline: 1px solid #e6e6e6;
}
/* ======================================================

	TECHNICAL LIBRARY | USER SUPPORT | RECRUIT
	技術紹介 | サポート・保守 | 採用情報

====================================================== */
.link-top-img{
	position: relative;
	display: block;
	max-width: 1000px;
	margin: 0 auto;
}
.link-top-img--r{
	text-align: right;
}
.link-top-img__frame{
	position: relative;
	display: inline-block;
	max-width: 700px;
	border: 4px solid #ffffff;
	overflow: hidden;
	font-size: 0;
	vertical-align: top;
}
.link-top-img__img{
	font-size: 0;
	line-height: 0;
	transition: 600ms all cubic-bezier(0.165, 0.84, 0.44, 1);
}
.link-top-img:hover .link-top-img__img{
	transform: scale(1.1);
}
.link-top-img__text{
	position: absolute;
	display: flex;
	align-items: center;

	width: 340px;
	height: 85px;
	right: 0;
	top: 50%;
	padding: 10px 40px 10px 20px;
	background-color: #319041;

	font-size: 1.7rem;
	font-weight: bold;
	line-height: 1.45;
	color: #ffffff;
}
.link-top-img__text:before{ /* > */
	position: absolute;
	display: block;
	content: "\e902";
	top: 50%;
	right: 10px;
	transform: translateY(-50%);

	font-size: 30px;
}
.link-top-img--r .link-top-img__text{
	text-align: left;
	left: 0;
	right: auto;
}
@media screen and (max-width: 767px){
	.link-top-img__text{
		position: relative;
		width: 290px;
		height: 62px;
		right: 0;
		top: 0;
		margin-left: 14px;
		margin-top: -14px;

		font-size: 1.4rem;
	}
	.link-top-img__text:before{ /* > */
		right: 6px;

		font-size: 20px;
	}
	.link-top-img--r .link-top-img__text{
		margin-left: auto;
		margin-right: 14px;
	}
}
/* ======================================================

	お知らせ

====================================================== */
.top-info{
border: 1px solid #ccc;
max-width: 740px;
margin: 0 auto 40px;
padding: 15px 20px;
text-align: center;
font-family: '游明朝', YuMincho, '游明朝体', 'YuMincho', 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN', ‘HG明朝E’, ‘ＭＳ Ｐ明朝’, ‘ＭＳ 明朝’, serif;
}
@media screen and (max-width: 767px){
.top-info{
text-align: left;
}
}
.top-info__note{
position: relative;
font-size: 80%;
z-index: 1;
}
.top-info-gothic{
border: 1px solid #ccc;
max-width: 740px;
margin: 0 auto 40px;
padding: 15px 20px;
text-align: center;
font-family: "Noto Sans JP","ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Noto Sans Japanese", "Noto Sans CJK JP", sans-serif;
}
@media screen and (max-width: 767px){
.top-info-gothic{
text-align: left;
}
}
.top-info__note{
position: relative;
font-size: 80%;
z-index: 1;
}
.top-infored{
border: 1px solid #dc3d3d;
max-width: 740px;
margin: 0 auto 40px;
padding: 15px 20px;
text-align: left;
font-family: '游明朝', YuMincho, '游明朝体', 'YuMincho', 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN', ‘HG明朝E’, ‘ＭＳ Ｐ明朝’, ‘ＭＳ 明朝’, serif;
text-align: center;
}
@media screen and (max-width: 767px){
.top-infored__note{
position: relative;
font-size: 80%;
z-index: 1;
}
}
.top-infored a{
color: #dc3d3d;
text-decoration: underline;
}
@media screen and (min-width: 769px){
.top-infored a:hover{
text-decoration: none;
}
}
.top-infored-gothic{
border: 1px solid #dc3d3d;
max-width: 740px;
margin: 0 auto 40px;
padding: 15px 20px;
text-align: left;
font-family: "Noto Sans JP","ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Noto Sans Japanese", "Noto Sans CJK JP", sans-serif;

}

.txt_center{
	text-align: center;
}

@media screen and (max-width: 767px){
	.top-infored__note{
		position: relative;
		font-size: 80%;
		z-index: 1;
	}
	.top-infored-gothic{
		padding: 5px 20px;
	}
}
.top-infored-gothic a{
color: #dc3d3d;
text-decoration: underline;
}
@media screen and (min-width: 769px){
.top-infored-gothic a:hover{
text-decoration: none;
}
}

.top-infored-gothic strong{
	font-size:110%;
	display:block;
	padding-bottom:10px;
}

.top-infored-gothic p{
	margin:0;
	padding:0;
}

.top-infored-gothic ul{
	background-color:#f0f0f0;
	margin:10px 0;
	padding:5px;
}

.top-infored-gothic ul li{
	list-style-type: none;
	text-indent: -1em;
	margin-left: 1em;
	padding:0 5%;
}

.top-infored-gothic ul li:before{
	content: '●';
}

/* ======================================================

	swiper

====================================================== */

.swiper-wrapper a{
	display:block;
}

[class^="swiper-button-"],
.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet::before {
  transition: all 0.3s ease;
}
[class^="swiper-slide-shadow-"] {
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
*,
*:before,
*:after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

.swiper-container {
  width: 100%;
	height:calc(100vw * 0.443);
  transition: opacity 0.6s ease, transform 0.3s ease;
}

@media screen and (max-width: 767px){
	.swiper-container {
		height:calc(100vw * 1.061);
	}
}


.swiper-container:hover .swiper-button-prev,
.swiper-container:hover .swiper-button-next {
  opacity: 1;
  visibility: visible;
}
.swiper-container.loading {
  opacity: 0;
}
.swiper-container.scale-out {
  transform: scale(0.7);
}
.swiper-container.scale-in {
  transform: scale(1);
}
.swiper-slide {
  background-position: center;
  background-size: cover;
}
.swiper-slide.swiper-slide-active {
  z-index: 2;
}
.swiper-slide .entity-img {
  display: none;
}
.swiper-slide .content {
  position: absolute;
  top: 40%;
  left: 0;
  width: 50%;
  padding-left: 5%;
  color: #fff;
  transform: translateZ(100px) translateX(100px);
}
.swiper-slide .content .title {
  font-size: 2.5em;
  font-weight: bold;
  margin-bottom: 30px;
}
.swiper-slide .content .caption {
  display: block;
  font-size: 12px;
  line-height: 1.4;
}
[class^="swiper-button-"] {
  width: 44px;
}
.swiper-button-prev {
  transform: translateX(50px);
}
.swiper-button-next {
  transform: translateX(-50px);
}
.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 9px;
  position: relative;
  width: 12px;
  height: 12px;
  background-color: #fff;
  opacity: 0.4;
}
.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 18px;
  height: 18px;
  transform: translate(-50%,-50%);
  border: 0px solid #fff;
  border-radius: 50%;
}
.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet:hover,
.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet.swiper-pagination-bullet-active {
  opacity: 1;
}
.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet.swiper-pagination-bullet-active::before {
  border-width: 1px;
}
.swiper-button-prev,
.swiper-button-next,
.swiper-pagination-bullet{
	filter: drop-shadow(0 0px 3px rgba(0, 0, 0, 0.8));
}

/*矢印のサイズ*/
:root {
 --swiper-navigation-size:70px
}

.swiper-button-prev,
.swiper-button-next {
	width: 70px;
	height: 70px;
	margin-top: -35px;
}

@media screen and (max-width: 767px){
	.swiper-button-prev,
	.swiper-button-next,
	.swiper-pagination {
		display:none;
	}
}

.bg01{
	background: url(../images/slide/slide01_pc.jpg) no-repeat;
	background-size:100% auto;
}

.bg02{
	background: url(../images/slide/slide02_pc.jpg) no-repeat;
	background-size:100% auto;
}

.bg03{
	background: url(../images/slide/slide03_pc.jpg) no-repeat;
	background-size:100% auto;
}

.bg04{
	background: url(../images/slide/slide04_pc.jpg) no-repeat;
	background-size:100% auto;
}

.bg05{
	background: url(../images/slide/slide05_pc.jpg) no-repeat;
	background-size:100% auto;
}

.bg06{
	background: url(../images/slide/slide06_pc.jpg) no-repeat;
	background-size:100% auto;
}

.bg07{
	background: url(../images/slide/slide07_pc.jpg) no-repeat;
	background-size:100% auto;
}

@media screen and (max-width: 767px){
	.bg01{
		background: url(../images/slide/slide01_sp.jpg) no-repeat;
		background-size:100% auto;
	}

	.bg02{
		background: url(../images/slide/slide02_sp.jpg) no-repeat;
		background-size:100% auto;
	}

	.bg03{
		background: url(../images/slide/slide03_sp.jpg) no-repeat;
		background-size:100% auto;
	}
	.bg04{
		background: url(../images/slide/slide04_sp.jpg) no-repeat;
		background-size:100% auto;
	}

	.bg05{
		background: url(../images/slide/slide05_sp.jpg) no-repeat;
		background-size:100% auto;
	}

	.bg06{
		background: url(../images/slide/slide06_sp.jpg) no-repeat;
		background-size:100% auto;
	}

	.bg07{
		background: url(../images/slide/slide07_sp.jpg) no-repeat;
		background-size:100% auto;
	}
}