@charset "utf-8";

/* reset */
*,*::before,*::after{box-sizing:border-box}body,h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin:0}ul[role="list"],ol[role="list"]{list-style:none}html:focus-within{scroll-behavior:smooth}body{min-height:100vh;text-rendering:optimizeSpeed;line-height:1.5em}a:not([class]){text-decoration-skip-ink:auto}img,picture{max-width:100%;display:block}input,button,textarea,select{font:inherit}@media(prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}}
/* --- */
ul{list-style:none;margin:0;padding:0;}
/* ---  */
img{
	-webkit-backface-visibility: hidden;
}

body{
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
	font-size: 1.2rem;
	color:#333;
	position: relative;
	height: 100%;
	line-height: 1.75;
}
h1,h2,h3,h4{
	line-height:1.5;
}
.material-icons{
	display: inline-flex;
	vertical-align: middle;
}

@media screen and (max-width: 1080px) {
	body{
		font-size:1rem;
	}
}

/* ------------------------------------
  明朝系フォント
 -------------------------------------- */
.serif-wt900{
	font-family: 'Noto Serif JP', sans-serif;
	font-weight: 900;
}
.serif-wt700{
	font-family: 'Noto Serif JP', sans-serif;
	font-weight: 700;
}
.serif-wt500{
	font-family: 'Noto Serif JP', sans-serif;
	font-weight: 500;
}
.serif-wt400{
	font-family: 'Noto Serif JP', sans-serif;
	font-weight: 400;
}

/* ------------------------------------
  問い合わせ
 -------------------------------------- */
#sp-contact-link{
	width: 180px;
	height: 50px;
	position: fixed;
	left: 10px;
	bottom: 10px;
	font-size:18px;
	background:#ee9900;
	border-radius:5px;
	font-weight:700;
	display: none;
	z-index:800;
}

#sp-contact-link a{
	position: relative;
	display: flex;
	align-items:center;
	justify-content: center;
	width: 100%;
	color:#fff;
	height: 50px;
	text-align:center;
	text-decoration: none;
}


/* ------------------------------------
  ページの上に戻る
 -------------------------------------- */
#page-top{
	width: 50px;
	height: 50px;
	position: fixed;
	right: 10px;
	bottom: 10px;
	background:#ddd;
	border-radius:5px;
	display: none;
	z-index:800;

}
#page-top:hover{
	background:#0057b8;
}
#page-top a{
	position: relative;
	display: flex;
	align-items:center;
	justify-content: center;
	width: 50px;
	color:#555;
	height: 50px;
	text-align:center;
	text-decoration: none;
}
#page-top:hover a{
	color:#fff;

}
#page-top a span{
	font-size:30px;
}

/* ------------------------------------
  遅延ロード
 -------------------------------------- */
.lozad-fade1 {
	opacity: 0;
	transition: opacity 0.2s linear, transform 1.2s ease-out;
}
.lozad-fade1[data-loaded="true"] {
	opacity: 1;
	transform: translate3d(0, 0, 0);
}
/* --- */
.lozad-fade2 {
	opacity: 0;
	transition: opacity 0.2s linear, transform 0.8s ease-out;
}
.lozad-fade2[data-loaded="true"] {
	opacity: 1;
	transform: translate3d(0, 0, 0);
}

/* ------------------------------------
  リンク
 -------------------------------------- */
a{
	text-decoration:none;
	color:#0057b8;
}
a:hover{
	color:#1067c8;
}

.container{
	width:1080px;
	margin:0 auto;
}
.container900{
	width:900px;
	margin:0 auto;
}
.container700{
	width:700px;
	margin:0 auto;
}
.container800{
	width:800px;
	margin:0 auto;
}
.container640{
	width:640px;
	margin:0 auto;
}
@media screen and (max-width: 1080px){
	.container,
	.container900,
	.container800,
	.container700,
	.container640{
		width:100%;
		padding:0 15px;
	}
}

.common-section{
	padding:60px 0 50px 0;
}
.color-section{
	background: linear-gradient(to bottom left, #bde8ff, #e4f7ff);
}

h2{
	text-align:center;
	margin-bottom:50px;
	color:#0057b8;
	font-size: 36px;
	font-family: 'Noto Serif JP', sans-serif;
	font-weight:700;
}
h3{

}
@media screen and (max-width: 1080px) {
	h2{
		font-size:24px;
	}
}

/* ------------------------------------
   タイトル
 -------------------------------------- */
.slide-inner,
.slide-inner-wide{
	margin:0 auto;
	width:900px;
	height:500px;
	overflow: hidden;
	display: flex;
	align-items: center;
}
.slide-inner-wide{
	width:1000px;
}
.slide-align
 {


 }
.slide-01{
	background:url(/assets/img/index/bg_slide_01.jpg) no-repeat bottom center;
	background-size: cover;
	overflow:hidden;
}
.slide-02{
	background:url(/assets/img/index/bg_slide_02.jpg?221103) no-repeat bottom center;
	background-size: cover;
	overflow:hidden;
}

.slide-01 .msg1{
	text-align:center;
	color:#fff;
	font-size:50px;
	font-weight:700;
	line-height:1.2;
	letter-spacing: 0.2em;
	text-shadow: 1px 3px 3px #0581b1,1px 1px 3px #0581b1,-1px -1px 3px #0581b1;
	animation:  fadeInDown;
	animation-duration: 0.7s;
}
.slide-01 .msg1 br{
	/*display: none; */
}
.slide-01 .msg2{
	text-align:center;
	color:#fff;
	font-size:32px;
	margin-top:35px;
	line-height:1;
	font-weight:900;
	letter-spacing: 0.2em;
	text-shadow: 1px 3px 3px #0581b1,1px 1px 3px #0581b1,-1px -1px 3px #0581b1;
	animation:  fadeInDown;
	animation-duration: 0.7s;
}
.slide-01 .msg2 br{
	display: none;
}
.slide-01 .msg3{
	margin-top:30px;
	text-shadow:0 0px 5px #fff;
	animation:  fadeInDown;
	animation-duration: 0.7s;
}
.slide-02 .msg1{
	text-align:left;
	color:#0057b8;
	font-size:24px;

	line-height:1;
	letter-spacing: 0.2em;
	animation:  fadeInLeft;
	animation-duration: 0.7s;
	text-shadow: 0px 1px 3px #fff;
}
.slide-02 .msg2{
	text-align:left;
	color:#0057b8;
	font-size:62px;
	line-height:1;
	animation:  fadeInDown;
	animation-duration: 0.7s;
	text-shadow: 0px 1px 3px #fff;
}
.slide-02 .msg3{
	margin-top:30px;
	padding-right:40%;
	text-shadow:0 0px 5px #fff;
	animation:  fadeInDown;
	animation-duration: 0.7s;
	margin-bottom:10px;
}
.slide-02 a{
	display: inline-block;
	background:#ffa000;
	padding:5px 20px;
	color:#fff;
	border-radius:20px;
}

.slide-03{
	background:url(/assets/img/index/bg_slide_03.jpg) no-repeat bottom center;
	background-size: cover;
	overflow:hidden;
}
.slide-03-flex{
	display:flex;
	flex-direction:row-reverse;
	justify-content:space-between;
}
.slide-03-flex .box1{
	width:500px;
}
.slide-03-flex .box2{
	width:480px;
}
.slide-03-flex .box2 .gif-img{
	border-radius:5px;
	width:100%;
	border:solid 2px #4f3100;
	box-shadow:0px 0px 5px #4f3100;
}


.slide-03 .msg1{
	text-align:left;
	color:#333;
	font-size:24px;

	line-height:1;
	padding-left:8px;
	padding-bottom:5px;
	letter-spacing: 0.2em;
	animation:  fadeInLeft;
	animation-duration: 0.7s;
	/* text-shadow: 0px 1px 3px #fff; */
}
.slide-03 .msg2{
	text-align:left;
	color:#333;
	font-size:62px;
	line-height:1;
	animation:  fadeInDown;
	animation-duration: 0.7s;
	/* text-shadow: 0px 1px 3px #fff; */
}
.slide-03 .msg3{
	margin-top:10px;
	padding-right:0%;
	text-shadow:0 0px 5px #fff;
	animation:  fadeInDown;
	padding-left:10px;
	animation-duration: 0.7s;
	margin-bottom:10px;
}
.slide-03 .pickup{
	display: inline-block;
	border:solid 1px #4f3100;
	color:#4f3100;
	padding:2px 15px;
	margin-bottom:20px;
	border-radius:20px;
	text-shadow:none;
}
.slide-03 a.product-link{
	margin-top:15px;
	display: inline-block;
	background:#4f3100;
	padding:5px 20px;
	color:#fff;
	border-radius:20px;
	text-shadow:none;
}





.slide-04{
	/*background-size: cover;*/
	background:#28b3e3;
	background: linear-gradient(to right,#3193ff, #429bff);
	background:url("/assets/img/index/bg_slide_04_1920.png?20220110") no-repeat bottom center;
	background-size: cover;
	overflow:hidden;
}
.slide-04-flex{
	display:flex;
	flex-direction:row-reverse;
	justify-content:space-between;
}
.slide-04-flex .box1{
	width:440px;
}




.slide-04 .msg1{
	text-align:left;
	color:#fff;
	font-size:20px;
	line-height:1.8;
	padding-left:8px;
	padding-top:15px;
	padding-bottom:15px;
	letter-spacing: 0.2em;
	animation:  fadeInLeft;
	animation-duration: 0.7s;
	/* text-shadow: 0px 1px 3px #fff; */
}
.slide-04 .msg2{
	text-align:left;
	color:#fff;
	font-size:62px;
	line-height:1;
	animation:  fadeInDown;
	animation-duration: 0.7s;
	/* text-shadow: 0px 1px 3px #fff; */
}
.slide-04 .msg3{
	margin-top:10px;
	padding-right:0%;
	text-shadow:0 0px 5px #fff;
	animation:  fadeInDown;
	padding-left:10px;
	animation-duration: 0.7s;
	margin-bottom:10px;
}
.slide-04 .pickup{
	display: inline-block;
	border:solid 1px #fff189;
	color:#fff189;
	padding:2px 15px;
	margin-bottom:20px;
	border-radius:20px;
	text-shadow:none;
}
.slide-04 a.product-link{
	margin-top:15px;
	display: inline-block;
	background:#fff;
	padding:5px 20px;
	color:#3193ff;
	border-radius:20px;
	text-shadow:none;
}
.slide-04 .slide-koroyawa{
	display:none;
}


@media screen and (max-width: 1080px){
	.swiper-button-next,
	.swiper-button-prev{
		display: none !important;
	}
	.slide-inner{
		width:100%;
	 }
	.slide-inner-wide{
		width:100%;
	}
	.slide-01 .msg1{
		line-height:1.2;
	}
	.slide-01 .msg1 br{
		display: block;
	}
	.slide-01 .msg2{
		margin-top:20px;
		line-height:1.4;
	}
	.slide-01 .msg2 br{
		display: block;
	}
	.slide-01 .msg3{
		padding:0 20px;
	}

	.slide-02 {
		text-align:center;
	}
	.slide-02 .msg1{
		text-align: center;
		margin-bottom:15px;
	}
	.slide-02 .msg2{
		text-align: center;
	}
	.slide-02 .msg3{
		padding:0 20px 20px 20px;
		text-align:left;
	}
	.slide-02 a{
		width:50%;
	}

}


@media screen and (max-width: 748px){
	.swiper-button-next,
	.swiper-button-prev{
		display: none !important;
	}
	.slide-inner{
		width:100%;
	 }
	.slide-inner-wide{
		width:100%;
	}

	.slide-01 .msg1{
		font-size:8vw;
		line-height:1.2;
	}
	.slide-01 .msg1 br{
		display: block;
	}
	.slide-01 .msg2{
		font-size:5.5vw;
		margin-top:20px;
		line-height:1.4;
	}
	.slide-01 .msg2 br{
		display: block;
	}
	.slide-01 .msg3{
		padding:0 20px;
		font-size:14px;
	}

	.slide-02 {
		text-align:center;
	}
	.slide-02 .msg1{
		text-align: center;
		font-size:18px;
		margin-bottom:15px;
	}
	.slide-02 .msg2{
		text-align: center;
		font-size:38px;
	}
	.slide-02 .msg3{
		padding:0 20px;
		font-size:15px;
		text-align:left;
	}
	.slide-02 a{
		width:50%;
	}
	
	
	.slide-03-flex{
		/* flex-direction:row; */
		flex-direction:column-reverse;
		flex-wrap:wrap;
		width:100%;
	}
	.slide-03-flex .box1,
	.slide-03-flex .box2{
		width:100%;
		text-align:center;
	}

	.slide-03 .msg1{
		text-align: center;
		font-size:18px;
		margin-bottom:5px;
	}
	.slide-03 .msg2{
		text-align: center;
		font-size:38px;
	}
	.slide-03 .msg3{
		padding:0 20px;
		font-size:15px;
		text-align:center;
	}
	.slide-03-flex .box2 .gif-img{

		width:70%;
		margin:0 auto;
	}


	.slide-04{
		background: linear-gradient(to right,#3193ff, #429bff);
	}

	.slide-04-flex{
		/* flex-direction:row; */
		width:100%;
	}
	.slide-04-flex .box1{
		text-align:center;
		width:100%;
	}

	.slide-04 .msg1{
		text-align: center;
		font-size:18px;
		margin-bottom:5px;
	}
	.slide-04 .msg2{
		text-align: center;
		font-size:38px;
	}
	.slide-04 .msg3{
		padding:0 0px;
		font-size:15px;
		text-align:center;
	}
	.slide-04 a.product-link{
		margin-top:3px;
	}
	.slide-04 .slide-koroyawa{
		display:block;
		width:100%;
	}
}



/* ------------------------------------
   タイトル
 -------------------------------------- */
.title-box{
	text-align:center;
	padding:30px 0;
}


.header{
	padding:4px 0 10px 0;
	height:80px;
	overflow:hidden;
}
.header-main{
	display:flex;
    justify-content: space-between;
}
.header-main .logo{
	width:50px;
	padding-top:12px;
	margin-right:5px;
}
.header-main .logo img{
	width:100%;
	max-width:70px;
	max-height:70px;
}
.header-main .company-name{
	width:320px;
	line-height:1.1;
	padding-top:18px;
    text-align:left;
}
.header-main .company-name h1{
	font-size:19px;
	color:#333;
}
.header-main .company-name .company-catchcopy{
	font-size:14px;
	color:#0057b8;
}
.header-main .contact{
    width:720px;
    text-align:right;
	padding-top:5px;
}
.header-main .header-contact-flex{
	display: flex;
	justify-content: flex-end;
	padding-top:3px;
	align-items: center;
}
.header-main .header-contact-flex .tel{
	width:300px;
	font-weight:900;
	font-size:30px;
	line-height:1;
	margin-right:15px;
}
.header-main .header-contact-flex .mail{
	width:200px;
}
.header-main .contact .text{
	font-size:12px;
}

.header-main .contact a{
    display: inline-block;
    background:#ee9900;
    border-radius:18px;
	color:#fff;
	font-size:18px;
    padding:5px 15px;
	text-align:center;
	font-weight:700;
	line-height:1;
	transition: all 0.6s ease;
}
.header-main .contact a:hover{
    background:#ffaa00;
}

@media screen and (max-width:1080px) {
	.header{
		padding-top:7px;
		height:60px;
	}
	.header .container{
		padding:0;
		padding-left:5px;
	}
	.header-main .logo{
		width:40px;
		padding-top:5px;
	}
	.header-main .company-name{
		width:100%;
		padding-left:1px;
		padding-right:65px;
		padding-top:8px;
	}
	.header-main .company-name .company-catchcopy{
		font-size:12px;
	}
	.header-main .company-name h1{
		font-size:12.5px;
		margin-top:1px;
	}
	.header-main .contact{
		display:none;
	}
}


/* ------------------------------------
   パンくずリンク
 -------------------------------------- */
.breadcrumb{
    color: #333;
	font-family: 'Noto Sans JP', sans-serif;
}
.breadcrumb-list{
	display: flex;
	flex-wrap: wrap;
}
.breadcrumb-list li {
	margin-right:8px;
}

.breadcrumb-list li:before {
	content: "/";
	font-size:12px;
	color:#666;
	margin-right:8px;
}

.breadcrumb-list li:first-child:before {
	margin-left: 0;
	margin-right:0;
	background-image:none;
	width:0;
	content:"";
}
.breadcrumb-list a{
	color:#fff;
	color:#333;
	font-size:14px;
}
.breadcrumb-list a span.material-icons{
	font-size:22px;
	vertical-align: -6px;
	color:#333;
}
@media screen and (max-width:1080px) {
	.breadcrumb{

	}
	.breadcrumb-list{
	}
}


/* ------------------------------------
   グローバルナビ
 -------------------------------------- */
.gnav{
	background:#fff;
	background:#0057b8;
	border-bottom:solid 1px #094990;
}
.global-nav{
	display:flex;
	justify-content: space-between;
	align-items:center;

}
.global-nav li{
	width:100%;
}
.global-nav li:first-child a{
	border-left:solid 1px #0d63c3;
}
.global-nav li a{
	display:block;
	padding:15px 10px;
	color:#333;
	color:#fff;
	font-weight:bold;
	text-align:center;
	font-family: 'Noto Sans JP', sans-serif;
	border-right:solid 1px #0d63c3;
	transition: all 0.6s ease;
}
.global-nav li a:hover{

	background:#1c7ae6;
}

.global-nav li.home{
	width:80px;
}
.global-nav li.news{
/*	width:150px; */

}
.global-nav li.vision,
.global-nav li.company,
.global-nav li.excares,
.global-nav li.robots,
.global-nav li.fukushiyogu{
/*	width:170px;*/
}
.global-nav li.robots{
/*	width:400px;*/
}

/* ------------------------------------
   フッター
 -------------------------------------- */

.footer{
	padding-top:50px;
}
.footer a{
    color:#333;   
}
.footer-flex{
	display:flex;
	padding-bottom:50px;
	justify-content: space-between;
}

.footer-flex .footer-nav1{
	width:40%;
	display:flex;
	flex-wrap:wrap;
	justify-content: space-between;
}
.footer-flex .footer-nav .footer-nav1{
	width:100%;
	font-size:16px;
}
.footer-flex .footer-nav .footer-nav1 ul{
	display:flex;
	flex-wrap:wrap;
}
.footer-flex .footer-nav .footer-nav1 ul li{
	width:25%;
}



.footer-flex .footer-nav .footer-nav2{
    flex:1;
}


.footer-service-flex-block{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
}
.footer-service-flex-block .footer-service-flex-box{
	width:28%;
}
.footer-service-flex-block .footer-service-flex-box1{
	width:44%;
}

.footer .footer-service-list{
    display:flex;
    flex-wrap: wrap;
}
.footer .footer-service-list li{
	width:100%;
    font-size:14px;
}
.footer .footer-service-list li a {
	padding-left:0px;
}
.footer .footer-service-list li a::before {

}



.footer .copyright{
	margin-top:0px;
	text-align:center;
	font-size:14px;
	background:#fff;
    background-position: left bottom;
    background-size: 100% 100%;
    padding:20px 0 20px 0;
	color:#888;
}

/* フッタ企業情報 */
.footer .footer-company{
	text-align:center;
	padding:50px 0;
	color:#fff;
	background: linear-gradient(to right, rgb(0, 87, 184), rgb(10, 97, 194));
}

.footer .group-logo{
	display: none;
	text-align:center;
}
.footer .group-name{
	font-size:14px;
	line-height:1.3em;
}
.footer .company-name{
	font-size:20px;
	line-height:1.3em;
	margin-bottom:7px;
	font-weight:700;
}
.footer address{
	font-size:16px;
	font-style:normal;
	line-height:1.4em;
}
.footer .footer-group-link{
	background: linear-gradient(to right, rgb(10 75 147), rgb(26 113 209));
	padding: 50px 0 30px 0;
}
.footer .footer-group-link .group-name{
	background:#eee;
	border-radius:25px;
	font-size:14px;
	padding:10px 5px;
	margin-bottom:15px;
	text-align:center;
	color:rgb(10, 97, 194);
	font-weight:bold;
	background:#fff;

}
.footer .footer-group-link-inner{
	padding:10px 15px;
}
.footer .footer-group-link-inner ul{
	width:100%;
	display: flex;
	justify-content: space-between;
	flex-wrap:wrap;
}
.footer .footer-group-link-inner ul li{
	margin:0 0px 10px 0px;
	width:24%;
}
.footer .footer-group-link-inner ul li img{
	border-radius:5px;
	border:solid 1px #ddd;
	transition:0.5s;
}
.footer .footer-group-link-inner ul li a{

}
.footer .footer-group-link-inner ul li a:hover img{
	border:solid 1px rgb(0, 87, 184);
}

@media screen and (max-width:1080px) {
	.footer-flex .footer-company{
		width:100%;
	}
	.footer-flex .footer-nav{
		display:none;
	}
	.footer .group-name{
		text-align:center;
	}
	.footer .group-logo{
		display: block;
		padding-bottom:20px;
	}
	.footer .group-logo img{
		margin:0 auto;
	}
	.footer .company-name{
		text-align:center;
	}
	.footer address{
		text-align:center;
	}
	.footer .footer-group-link .group-name{
		color:#fff;
		background:linear-gradient(to right,rgb(0, 87, 184),rgb(10, 97, 194));
	}

}
@media screen and (max-width:640px) {
	.footer .footer-group-link-inner ul{
		flex-wrap:wrap;
		justify-content: center;
	}
	.footer .footer-group-link-inner ul li{
		width:46%;
		text-align:center;
		margin-bottom:8px;
		margin-right:5px;
		margin-left:5px;
	}
	.footer .copyright{
		padding-bottom:80px;
	}


	.footer-flex{
		flex-wrap:wrap;
	}

	.footer-flex .footer-nav1{
		width:100%;
	}
	.footer-flex .footer-nav1 ul{
		display:flex;
		flex-wrap:wrap;
		justify-content:space-between;
	}
	.footer-flex .footer-nav1 ul li{
		width:49%;
	}
	.footer-flex .footer-nav .footer-nav1{
		width:100%;
	}

	.footer-flex .footer-nav2{
		border-top:solid 1px #ddd;
		padding-top:10px;
		margin-top:10px;
	}

	.footer-service-flex-block{
		flex-wrap:wrap;
	}
	.footer-service-flex-block .footer-service-flex-box{
		width:100%;
	}
	.footer-service-flex-block .footer-service-flex-box1{
		width:100%;
	}
	.footer .footer-service-list li{
		width:49%;
	}
	
	
}

/* ------------------------------------
   ページタイトル
 -------------------------------------- */
.head-area{
	background-image: linear-gradient(to right, #0057b8, #3087e8);
	height:250px;
	overflow:hidden;
	display: flex;
	align-items: center;
}
.head-area-title{
	color:#fff;
	padding:0;
	text-align:center;
}
.head-area-title h1{
	font-weight:900;
	font-size:40px;
	text-shadow: 0px 1px 3px #333;
}
.head-area-title .msg{
	width:720px;
	margin:0 auto;
	margin-top:20px;
	font-weight: 700;
}
@media screen and (max-width: 1080px){
	.head-area-title h1{
		font-size:26px;
	}
	.head-area-title .msg{
		width:90%;
		font-size:15px;
		font-weight: 400;
		text-align:left;
	}
	.head-area-title .msg br{
		display: none;
	}

}

/* ------------------------------------
   お知らせ
 -------------------------------------- */
.news-section{
	background:#eee;
	padding:50px 0;
	background:#0057b8;
	color:#fff;
}
/* お知らせ */
.news-flex{
    display: flex;
	border-top:solid 1px #2277d8;
	border-bottom:solid 1px #2277d8;
}
.news-flex dt{
    width: 15%;
	padding:5px 0;
}
.news-flex dd{
    width: 84%;
	padding:5px 0;
}
.news-flex dd a{
	color:#fff;
}
.news-flex dd a:hover{
	color:#ddf;
}
.news-flex dd a:visited{
	color:#eee;
}




/* お知らせ */
.index-news-layout{
	display:flex;
	justify-content:space-between;
}
.index-news-layout-block1{
	width:100%;
}
.index-news-layout-block2{
	width:36%;
}
.index-news-layout-block1 h2,
.index-news-layout-block2 h2{
	color:#fff;
	font-size:30px;
	margin-bottom:20px;
}


.news-list-flex{
	width:100%;
    display: flex;
    border-bottom:solid 1px #337dcf;
    padding:10px 0px;
   	font-size:16px;
   	flex-wrap:wrap;
   	

}
.news-list-flex .date{
	width:130px;


}
.news-list-flex .category{
	width:120px;
	margin:0 5px;
}
.news-list-flex .category .label{
	color:#fff;
	font-size:14px;
	display:inline-block;
	border-radius:3px;
	padding:3px 10px;
	line-height:1;
	width:100%;
	text-align:center;
	

}

.news-list-flex .category .label-important{
	background:#d93047;
}
.news-list-flex .category .label-info{
	background:#009160;
}
.news-list-flex .category .label-kiji{
	background:#008fb7;
}



.news-list-flex .category .label-hojyokin{
	background:#129c49;

}
.news-list-flex .category .label-product{
	background:#005693;

}

.news-list-flex .category .label-sale{
	background:#2963fc;
}

.news-list-flex .title{
	width:100%;
	margin-top:5px;
	line-height:1.4;
	margin-bottom:5px;
}
.news-list-flex .title-index a{
	color:#fff;
}



@media screen and (max-width:800px) {
	.index-news-layout{
		flex-wrap:wrap;
	}
	.index-news-layout-block1,
	.index-news-layout-block2{
		width:100%;
		margin-bottom:50px;
	}



	.news-list-flex{
		flex-wrap:wrap;
		justify-content:flex-start;
	}
	.news-list-flex .date{
		width:120px;
	}
	.news-list-flex .category{
		width:120px;
	}
	.news-list-flex .title{
		width:100%;
	}

/*
	.news-tmp-flex{
		flex-wrap:wrap;
		justify-content:center;
	}
	.news-tmp-flex-1{
		padding-right:0px;
	}
	.news-tmp-flex-2{
		padding-top:25px;
		text-align:center;
	}
*/

}



.catalog-dl-btn{
	border-radius:10px;
	transition: all 0.4s ease;
}
.catalog-dl-btn:hover{
	opacity: 0.9;
	box-shadow:0px 0px 3px #fff;
}

/* -----------------------------------------
  製品一覧
-------------------------------------------- */
.category-title{
	font-weight:bold;
	padding-bottom:10px;
}

.product-bn-list{
	list-style:none;
	margin:0;
	padding:0;
	display:flex;
	justify-content: space-between;
	flex-wrap: wrap;
    align-items: top;
}
.product-bn-list li{
	width:31%;
	margin-bottom:35px;
}
.product-bn-list li a{
	display:block;
	text-align:center;
	font-size:14px;
}
.product-bn-list li a .product-bn-img{
	border-radius:5px;
	border:solid 2px #aaa;
	text-align:center;
	padding:20px 0;
	margin-bottom:10px;
	transition: all 0.4s ease;
}
.product-bn-list li a .product-bn-img2{
	border-radius:5px;
	border:solid 2px #aaa;
	background:#004b9e;
	padding:18px 0 0 0;
	height:143px;
	font-size: 22px;
	color:#fff;
	font-weight:700;
}
.product-bn-list li a .product-bn-img2 span{
	font-size:60px;
}
.product-bn-list li a .product-bn-img2:hover{
	background:#226bbe;
}
.product-bn-list li a:hover .product-bn-img{
	border-color:#ffa000;
}
.product-bn-list li a .product-bn-img img{
	border-radius:5px;
	vertical-align:top;
	margin:10px auto;
	transition: all 0.4s ease;
}
.product-bn-list li a .product-bn-img img:hover{
    opacity: 0.7;
}

.product-bn-list li .name{
	line-height:1.3em;
	font-size:16px;
	transition: all 0.4s ease;
}
.product-bn-list li:hover .name{
	color:#ffa000;
}

@media screen and (max-width:1080px) {
	.product-bn-list li{
		width:49%;
	}
}
@media screen and (max-width:400px) {
	.product-bn-list li{
		width:100%;
	}
}


/* ------------------------------------
   index / 福祉用具
 -------------------------------------- */
.index-fukushiyogu-link{
	display: block;;
	border-radius:5px;
	border:solid 4px #aaa;
	text-align:center;
	padding:35px 10px;
	margin-bottom:10px;
	font-size:30px;
	transition: all 0.4s ease;
	font-weight:900;
	color:#333;
	background:url(../img/index/bg_fukushiyogu_btn.jpg) center top no-repeat;
	background-size: cover;
	line-height:1.3;
}
.index-fukushiyogu-link div{
	font-size:16px;
	margin-top:10px;
	line-height:1.7;
}
.index-fukushiyogu-link:hover{
	border-color:#ffa000;
	color:#ffa000;
}
@media screen and (max-width:1080px) {
	.index-fukushiyogu-link{
		background-position:center right;
		text-shadow: 1px 1px 3px #fff;
	}
}



/* ------------------------------------
   会社概要
 -------------------------------------- */
.profile-table{
	border-collapse: collapse;
	width:100%;
	border-top:solid 1px #ddd;
	border-right:solid 1px #ddd;
}
.profile-table th,
.profile-table td{
	padding:15px 20px;
	border-bottom:solid 1px #ddd;
	word-break: break-all;
	border-left:solid 1px #ddd;
}
.profile-table th{
	background:#f5f5f5;
	width:200px;
}

/* グループ */
.profile-group-link-block{
	padding:50px 0;

}
.profile-group-link-block .group-name{
	text-align:center;
	font-weight:bold;
	border-radius:30px;
	padding:10px;
	color:#fff;
	background-image: linear-gradient(to right, #0057b8, #3087e8);
}
.profile-group-link-block .group-text{
	text-align:center;
	font-size:16px;
	padding:25px 0;
}
.profile-group-link-block .group-link-list ul{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
}
.profile-group-link-block .group-link-list ul li{
	width:24%;
	margin-bottom:15px;
}
.profile-group-link-block .group-link-list ul li img{
	border-radius:5px;
	border:solid 1px #ddd;
	transition:0.5s;
}
.profile-group-link-block .group-link-list ul li img:hover{
	border:solid 1px rgb(0, 87, 184);

}




@media screen and (max-width: 1080px) {
  .profile-table th,
  .profile-table td {
　　border-bottom: none;
    display: block;
    width: 100%;
  }

  .profile-group-link-block .group-text{
	text-align:left;
	font-size:14px;
  }
  .profile-group-link-block .group-link-list ul li{
	width:49%;
  }

}

/* */




/* ------------------------------------
  会社概要ヘッダ
 -------------------------------------- */
.company-header{
    color: #fff;
    border-top:solid 1px #fff;
    background-image: linear-gradient(to right, #27a3c7, #baeef4);
	background:#f0f8fa;
    background-position: left bottom;
    background-size: 100% 100%;
    padding-top:40px;
    padding-bottom:40px;
}
/* --- */
.company-header-flex{
	display:flex;
	justify-content: space-between;
	flex-wrap: wrap;
	align-items: center;
}
.company-header-name{

}
.company-header-name h1{
	font-size:36px;
	color:#0057b8;
	text-align:center;
	font-family: 'Noto Sans JP', sans-serif;
	letter-spacing: 0.02em;
	font-weight:900;
}
.company-header-name h1 span{
	display:inline-block;
	background:#fff;
	color:#27a3c7;
	font-size:16px;
	padding:5px 10px;
	border-radius:3px;
}




/* ------------------------------------
  ページ下部 問い合わせ
 -------------------------------------- */
.contact-section{
	background-size: cover;
   	background-image: linear-gradient(to right,rgb(0, 87, 184),rgb(10, 97, 194));
	padding:30px 0 120px 0;

}
/* --- */
.contact-section .contact-title{
	text-align:center;
}
.contact-section .contact-title h2{
	border:solid 1px #fff;

	border-radius:30px;
	padding:8px 50px;
	margin-bottom:0;
/*	color:rgb(0, 87, 184); */
}
.contact-section .contact-title-text{
	color:#fff;
	text-align: center;
	font-weight:600;
	padding:30px 0;
	font-size: 20px;
}

.contact-section .contact-flow{
    background:#FDC105;
    text-align:center;
}
.contact-section .contact-flow span{
    font-size:50px;
    color:#fff;
}
/* --- */
.contact-section h2{
	color:#fff;
	font-size:26px;
	padding-bottom:5px;
	border-bottom:solid 1px #fff;
	margin-bottom:50px;
    margin-top:50px;
}

.contact-section .contact-flex{
	display:flex;
	justify-content: space-between;
}
.contact-section .contact-flex li{
	width:48%;
	padding:15px 20px;
	background:#fff;
	align-items: center;
	margin:0 20px;
    box-shadow: 0 0 5px #aaa;
    border-radius:10px;
	color:#333;
}
.contact-section .contact-flex li h3{
	color:#0057b8;
	text-align:center;
	margin-bottom:10px;
}
.contact-section .contact-flex li .contact-tel{
	font-size:48px;
	text-align:center;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight:900;
	line-height:1.3;
	padding:5px 0;
}
.contact-section .contact-flex li .contact-tel a{
	color:#333;
}

.contact-section .contact-flex li .contact-email{
	text-align:center;
	padding:5px 0;
}
.contact-section .contact-flex li .contact-email a{
	display:inline-block;
	background:#ee9900;
	padding:10px 0px;
	color:#fff;
	font-size:28px;
	width:90%;
 	border-radius:35px;
	font-weight:700;
	transition: all 0.6s ease;
 }
.contact-section .contact-flex li .contact-email a:hover{
	background:#ffbb11;
}
.contact-section .contact-flex li .contact-text{
	text-align:center;
	padding:5px 0;
}
@media screen and (max-width: 1080px) {
	.contact-section{
		padding-bottom:30px;
	
	}
	.contact-section .contact-flex{
		/*flex-wrap: wrap;*/
	}
	.contact-section .contact-flex li{
/*		width:100%;
		margin:0;
		margin-bottom:10px;
		*/
	}
	.contact-section .contact-flex li .contact-email a{
		width:100%;
	}
	.contact-section .contact-title-text{
		font-size: 16px;;
	}
	.contact-section .contact-title-text br{
		display:none;
	}
	.contact-section .contact-flex li .contact-tel
	{
		font-size:5vw;
		line-height:1;
		padding:0;
		margin:0;
	}
	.contact-section .contact-flex li .contact-email a{
		font-size:3vw;
	}
}
@media screen and (max-width: 640px) {
	.contact-section .contact-flex{
		flex-wrap: wrap;
	}
	.contact-section .contact-flex li{
		width:100%;
		margin:0;
		margin-bottom:10px;
	}
	.contact-section .contact-flex li .contact-tel
	{
		font-size:10vw;
	}
	.contact-section .contact-flex li .contact-email a{
		font-size:5vw;
	}
}


/* ------------------------------------
  経営理念
-------------------------------------- */
.vision-msg-box{
	text-align:center;
	padding:0px 0;
	margin-bottom:100px;
}
.vision-msg-title{
	font-size:36px;
	/* color:#0057b8; */
	line-height:1.8;
	color: #f93b34;
	background: linear-gradient(to right, #f93b34 0%,#f16f5c 26%,#f16f5c 26%,#f16f5c 28%,#f16f5c 39%,#f15c5c 39%,#6a88ff 69%,#374bcc 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
.vision-msg-title1{
	font-size:45px;
}

.vision-msg-title2{
	font-size:40px;
}
.vision-msg-title3{
	font-size:40px;
}
.vision-msg-title br{
	display: none;
}
.vision-msg-title1 br{
	display: block;
}
.vision-msg-title2 br{
	display: block;
}
.vision-msg-title3 br{
	display: block;
}
.vision-msg-box p{
	text-align:center;
	padding:50px 0 0 0;
	font-size:20px;
}
.president-msg-section{
	background:#fdf6ef;
	background-color: #9bd7f3;
	background: linear-gradient(to bottom left, #bde8ff, #e4f7ff);
}
.president-msg-section h2{
	padding:50px 0 15px 0;
}

.president-msg-section .president-msg-title{
	font-size:22px;
	margin-bottom:15px;
	font-weight:700;
}
.president-msg-section .president-msg-text{
	margin-bottom:1em;
}
.president-msg-section .president-name{
	text-align:right;
	line-height:1.5;
}
.president-msg-section .president-name .president-sign{
	margin-left:auto;
	margin-top:5px;
	width:180px;
}
.president-profile-box{
	margin-top:45px;
	margin-bottom:45px;
	background:#fff;
	border-radius:10px;
}
.president-profile-box-inner{
	padding:30px 30px 30px 30px;
}
.president-profile-box-inner h2{
	border-bottom:solid 1px rgb(221, 221, 221);
	text-align:left;
	padding:8px 0;
	margin:0;
	margin-bottom:15px;
}
.president-profile-flex{
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
}
.president-profile-flex .president-photo{
	width:30%;
}
.president-profile-flex .president-profile{
	width:65%;
}
.president-profile-flex .president-profile .name{
	font-size:30px;
	padding:8px 0;
	font-weight:600;
}
.president-profile-flex .president-profile .name-y{
	font-size:14px;
	font-weight:200;
}

.president-profile-table{
	border:0;
	padding:0;
	margin:0;
	margin-top:10px;
}
.president-profile-table td{
	font-size:14px;
	border:0;
	padding:0;
	margin:0;
	vertical-align: top;
	line-height:1.5;
}
.president-profile-table td.year{
	width:60px;
}

@media screen and (max-width: 1080px) {
	.vision-msg-box{
		margin-bottom:80px;
	}
	
	.vision-msg-title{
		font-size:6.5vw;
		line-height:1.5;
	}
	.vision-msg-title3{
		font-size:5.0vw;
		line-height:1.5;
	}
	.vision-msg-title br{
		display: block;
	}
	.vision-msg-box p {
		font-size: 16px;
	}
	.president-msg-title{
		padding:0 15px;

	}
	.president-msg-text{
		padding:0 15px;
		
	}
	.president-msg-section .president-name{
		
	}

}
@media screen and (max-width: 640px) {
	.vision-msg-title3{
		font-size:5.8vw;

	}
	.president-profile-flex{
		flex-wrap: wrap;
	}
	.president-profile-flex .president-photo{
		width:100%;
	}
	.president-profile-flex .president-profile{
		width:100%;
	}
}



/* スマホ用メニュー 
*/
.sp-sub-menu li{
	padding:0;
}
.sp-sub-menu a{
	color:#fff;
	display: block;
	border-bottom:solid 1px #ccc;
	font-size:16px;
	text-align:left;

}
.outer-menu {
  position: fixed;
  top: 0;
  right: 60px;
  z-index: 1000;
  display: none;

}
.outer-menu .checkbox-toggle {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1001;
  cursor: pointer;
  width: 60px;
  height: 60px;
  opacity: 0;
}
.outer-menu .checkbox-toggle:checked + .hamburger > div {
  transform: rotate(135deg);
}
.outer-menu .checkbox-toggle:checked + .hamburger > div:before,
.outer-menu .checkbox-toggle:checked + .hamburger > div:after {
  top: 0;
  transform: rotate(90deg);
}
.outer-menu .checkbox-toggle:checked + .hamburger > div:after {
  opacity: 0;
}
.outer-menu .checkbox-toggle:checked ~ .menu {
  pointer-events: auto;
  visibility: visible;
}
.outer-menu .checkbox-toggle:checked ~ .menu > div {
  transform: scale(1);
  transition-duration: 0.75s;
}
.outer-menu .checkbox-toggle:checked ~ .menu > div > div {
  opacity: 1;
  transition: opacity 0.4s ease 0.4s;
}
.outer-menu .checkbox-toggle:hover + .hamburger {
/*  box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.1);*/
}
.outer-menu .checkbox-toggle:checked:hover + .hamburger > div {
  transform: rotate(225deg);
}
.outer-menu .hamburger {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1000;
  width: 60px;
  height: 60px;
  padding: 0.5em 1em;
  background:#0057b8;
  border-radius: 0 0.12em 0.12em 0;
  cursor: pointer;
  /*transition: box-shadow 0.4s ease; */
  /*-webkit-backface-visibility: hidden;
          backface-visibility: hidden;
		  */
  display: flex;
  align-items: center;
  justify-content: center;
}
.outer-menu .hamburger > div {
  position: relative;
  flex: none;
  width: 100%;
  height: 2px;
  background: #FEFEFE;
  transition: all 0.4s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}
.outer-menu .hamburger > div:before,
.outer-menu .hamburger > div:after {
  content: '';
  position: absolute;
  z-index: 1000;
  top: -10px;
  left: 0;
  width: 100%;
  height: 2px;
  background: inherit;
  transition: all 0.4s ease;
}
.outer-menu .hamburger > div:after {
  top: 10px;
}
.outer-menu .menu {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  visibility: hidden;
  overflow: hidden;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  outline: 1px solid transparent;
  display: flex;
  align-items: center;
  justify-content: center;
}
.outer-menu .menu > div {
  width: 220vw;
  width:200%;
  height: 220vw;
  height:200%;
  color: #FEFEFE;
  background: #0057b8;
  border-radius: 50%;
  transition: all 0.4s ease;
  flex: none;
  transform: scale(0);
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.outer-menu .menu > div > div {
  text-align: center;
  max-width: 90vw;
  max-height: 100vh;
  opacity: 0;
  transition: opacity 0.4s ease;
  overflow-y: auto;
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}
.outer-menu .menu > div > div > ul {
  list-style: none;
  padding: 0 1em;
  margin: 0;
  display: block;
  max-height: 100vh;
  width:100%;
}
.outer-menu .menu > div > div > ul > li {
  padding: 0;
  margin: 10px 0;
font-size: 22px;
  display: block;
}
.outer-menu .menu > div > div > ul > li.logo {
	text-align:center;
	font-size:14px;
	border-bottom:solid 1px #004b9e;
	padding-bottom:5px;
}
.outer-menu .menu > div > div > ul > li.logo span{
	font-size:18px;
}
.outer-menu .menu > div > div > ul > li > a {
  position: relative;
  /* display: inline; */
  display: block;
  cursor: pointer;
  transition: color 0.4s ease;
  color:#fff;
}
.outer-menu .menu > div > div > ul > li > a:hover {
  color: #e5e5e5;
}
.outer-menu .menu > div > div > ul > li > a:hover:after {
  width: 100%;
}



/* ------------------------------------
  スマホ表示
-------------------------------------- */
@media screen and (max-width:1080px) {
	.outer-menu {
		display: block;
	}
	.gnav{
		display: none;
	}

}


/* ------------------------------------
  アニメーション
-------------------------------------- */
.product-name-anime {
	animation:  fadeInLeft;
	animation-duration: 0.7s;
}
.product-img-anime {
	animation:  fadeInRight;
	animation-duration: 0.7s;
}
.product-img-anime-fadein{
	animation:  fadeIn;
	animation-duration: 0.4s;
}

.anime-fadein{
	animation:  fadeIn;
	animation-duration: 0.5s;
}

