@font-face {
    font-family: "YuGothic M";
    src: local("Yu Gothic Medium"), local("Yu Gothic");
    font-weight: 500;
}

body {
    font-family: "游ゴシック", YuGothic, "YuGothic M", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    word-wrap: break-word;
    overflow-wrap: break-word;
    position: relative;
}

body::before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    z-index: 9999;
}

body.load::before {
    opacity: 0;
    z-index: -1;
}

#body {
    padding-top: 0;
}

@media (min-width: 1017px) {
#body {
    padding-top: 67px;
}
}

/*/
a, body::before {
    transition: 0.3s ease;
    -moz-transition: 0.3s ease;
    -webkit-transition: 0.3s ease;
    transform: translatez(0);
    -webkit-transform: translatez(0);
}
/*/

img {
    max-width: 100%;
    height: auto;
}
em {
    font-style: normal;
    font-weight: bold;
}
.mincho {
    font-family: 'Noto Serif JP', serif;
    -webkit-font-smoothing: antialiased;
}
.en {
    font-family: 'Prata', serif;
    -webkit-font-smoothing: antialiased;
}
.align-c {
    text-align: center;
}
.align-r {
    text-align: right;
}
/* header -------------------------------*/

#header {
    position: fixed;
    z-index: 999;
    height: 67px;
    width: 100%;
    top: 0;
    left: 0;
    background: #fff;
    -moz-transition: 0.3s ease;
    -webkit-transition: 0.3s ease;
	box-shadow: 0 5px 0px rgba(0,48,108,.9);
}
#header.fix {
    box-shadow: 0 19px 0px rgba(0,48,108,.9);
}
#header .header-menu {
    display: none;
}

/*
#header img{
	width: 85%;
}
*/

.header-inner {
    display: flex;
    max-width: 1500px;
    margin: 0 auto;
    padding: 0 40px;
    position: relative;
    align-items: center;
}
.header-inner a {
    text-decoration: none;
    color: #333;
    font-size: 16px;
}
.header-logo {
    max-width: 258px;
    line-height: 0;
    margin: 0;
    margin-right: auto;
    padding: 0;
}
.heade-conver-btn {
    position: absolute;
    right: 180px;
    top: 21px;
}
.heade-conver-btn a {
    display: inline-block;
    border: 1px solid #002680;
    padding: 5px 20px 5px 40px;
    background: #002680;
    font-size: 14px;
    line-height: 1.2;
    position: relative;
    color: #fff;
}
.heade-conver-btn a::before {
    content: "";
    position: absolute;
    top: 6px;
    left: 10px;
    background: url(../img/common/mail_icon_white.svg) no-repeat left top;
    background-size: 16px auto;
    width: 18px;
    height: 15px;
}

.heade-conver-btn a:hover {
    background: #002680;
    border: 1px solid #002680;
    color: #fff;
}

.heade-conver-btn a:hover::before {
    background: url(../img/common/mail_icon_white.svg) no-repeat left top;
}

.heade-conver-btn2 {
    position: absolute;
    right: 40px;
    top: 21px;
}
.heade-conver-btn2 a {
    display: inline-block;
    padding: 5px 20px 5px 40px;
    font-size: 14px;
    line-height: 1.2;
    position: relative;
    background: #d6000f;
    border: 1px solid #d6000f;
    color: #fff;
}
.heade-conver-btn2 a::before {
    content: "";
    position: absolute;
    top: 6px;
    left: 10px;
    background: url(../img/common/lang_icon_white.svg) no-repeat left top;
    background-size: 16px auto;
    width: 18px;
    height: 15px;
}

.heade-conver-btn2 a:hover {
    background: #d6000f;
    border: 1px solid #d6000f;
    color: #fff;
}

.heade-conver-btn2 a:hover::before {
    background: url(../img/common/lang_icon_white.svg) no-repeat left top;
}

.gloval-nav {
    padding-right: 300px;
}
.gloval-nav > ul {
    display: flex;
	list-style: none;
}
.gloval-nav > ul > li > a {
    display: block;
    padding: 22px 20px;
	margin: 0px 10px;
    position: relative;
}
.gloval-nav >ul > li > a:before {
    position: absolute;
    bottom: 5px;
    left: 10px;
    content: "";
    display: inline-block;
    width: 0;
    height: 2px;
    background: #00306d;
}

.gloval-nav >ul > li > a:hover:before {
    width: calc(100% - 20px);
}

.gloval-nav .has-menu-child > a {
    padding: 22px 30px 22px 20px;
    position: relative;
}

.gloval-nav .has-menu-child > a::after {
    position: absolute;
    content: "";
    top: 28px;
    right: 10px;
    width: 6px;
    height: 6px;
    border-top: 1px solid #333;
    border-right: 1px solid #333;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
}

.gloval-nav .has-menu-child > a:hover::after {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
	transition:opacity 0.2s linear;
	-webkit-transition:opacity 0.2s linear;
}

.gloval-nav .has-menu-child .sub-menu {
    display: block;
    position: fixed;
    z-index: 999;
    top: 67px;
    left: 0;
    opacity: 0.95;
    visibility: hidden;
    width: 100%;
    background: #00306c;
    height: 0;
    padding: 15px 0 25px;
}

.gloval-nav .has-menu-child.hover:hover .sub-menu {
    height: auto;
    visibility: visible;
	animation: fadeIn 0.5s ease 0s 1 normal;
    -webkit-animation: fadeIn 0.5s ease 0s 1 normal;
}

.sub-menu .col-flex {
    justify-content: space-between;
}

.common-menu .col-flex {
    justify-content: flex-start;
}

.common-menu a {
    font-weight: bold;
    padding: 0 30px 0 15px;
    position: relative;
}

.common-menu a::before {
    position: absolute;
    content: "";
    top: 8px;
    left: 0;
    width: 4px;
    height: 4px;
    border-top: 1px solid #333;
    border-right: 1px solid #333;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.sub-menu a {
    display: block;
	color: #ffffff;
}

.sub-menu a:hover {
    opacity: 0.6;
}

.sub-menu-inner {
    max-width: 1500px;
    padding: 0 40px;
    box-sizing: border-box;
    margin: 0 auto;
	color: #ffffff;
}

.sub-menu .menu-name {
    font-size: 25px;
    font-weight: 700;
    letter-spacing: 3px;
    margin-bottom: 15px;
	color: #ffffff;
}

.sub-menu .menu-name .en {
    font-size: 12px;
    margin-left: 15px;
    font-weight: normal;
    letter-spacing: 0;
}

.sub-menu .sub-menu-name a {
    font-size: 1.1vw;
    font-weight: bold;
    border-left-style: solid;
    border-left-width: 4px;
    border-left-color: #036ea3;
    padding: 3px 0 3px 15px;
    margin-bottom: 20px;
    display: block;
}

.sub-menu-col ul {
    display: flex;
    flex-wrap: wrap;
    overflow: hidden;
    margin-top: -30px;
}

.sub-menu .sub-menu-name .menu-biz {
    border-left-color: #00a4a0;
}

.sub-menu .sub-menu-name .menu-create {
    border-left-color: #79ad28;
}

.sub-menu .sub-menu-name .menu-educate {
    border-left-color: #e95c64;
}

.sub-menu .sub-menu-name .menu-rfid {
    border-left-color: #79a628;
}

.sub-menu .sub-menu-name .menu-hosp {
    border-left-color: #805387;
}

.sub-menu .sub-menu-name .menu-consignment {
    border-left-color: #dc9a2c;
}

.sub-menu .sub-menu-name .menu-solutionmap {
    border-left-color: #717071;
}
.sub-menu-col {
 width: calc( ( 600 / 1200 ) * 100%);
}
.sub-menu-col:nth-child(2) {
 width: calc( ( 290 / 1200 ) * 100%);
 margin-right: -60px;
}
.sub-menu-col:nth-child(3) {
 width: calc( ( 170 / 1200 ) * 100%);
 margin-right: -30px;
}
.sub-menu-col:nth-child(4) {
 width: calc( ( 160 / 1200 ) * 100%);
}
.sub-menu-col ul li {
 width: calc( ( 110 / 600 ) * 100%);
 margin-right:calc( ( 10 / 600 ) * 100%);
 margin-top: 20px;
 list-style: none;
}
.sub-menu-col ul li:nth-child(5n) {
    margin-right: 0;
}
.sub-menu-col:nth-child(2) ul li {
	width: calc( ( 110 / 290 ) * 100%);
	margin-right: calc( ( 10 / 290 ) * 100%);
}
.sub-menu-col:nth-child(2) ul li:nth-child(2n) {
    margin-right: 0;
}
.sub-menu-col:nth-child(3) ul li {
 width: calc( ( 110 / 170 ) * 100%);
    margin-right: 0;
}
.sub-menu-col:nth-child(3) ul li:nth-child(1n) {
    margin-right: 0;
}
.sub-menu-col:nth-child(4) ul li {
    width: calc( ( 110 / 160 ) * 100%);
    margin-right: 0;
}
.sub-menu-thumb {
    margin-bottom: 15px;
}

@media (min-width: 1340px) {
.sub-menu .sub-menu-name a {
    font-size: 16px;
}
}

@media (max-width: 1017px) {
#header.fix {
    box-shadow: 0 19px 0px rgba(0,48,108,.9);
}
#header .header-menu {
    position: fixed;
    display: block;
    top: 15px;
    right: 20px;
    z-index: 9999;
    width: 22px;
    height: 22px
}
#header .menu-icon:after, #header .menu-icon:before {
    content: "";
    display: block;
    width: 22px;
    position: absolute;
    transition: all 0.3s ease
}
#header .menu-icon:after {
    height: 9px;
    border-top: solid 2px #000;
    border-bottom: solid 2px #000;
    top: 14px
}
#header .menu-icon:before, #header.open .menu-icon:after {
    background: #000;
    height: 2px;
    top: 7px;
    border: none
}
#header.open .menu-icon:after, #header.open .menu-icon:before {
    background: #fff;
}
#header.open .menu-icon:after, #header.open .menu-icon:before {
    top: 13px;
    transform: translateX(-75%)
}
#header.open .menu-icon:before {
    transform: rotate(-45deg)
}
#header.open .menu-icon:after {
    transform: rotate(45deg)
}
#header {
    position: fixed;
    height: auto;
}
.header-inner {
    display: block;
    padding: 20px 40px;
}
.header-logo {
    max-width: 258px;
    margin: 0;
}
.heade-conver-btn {
    position: fixed;
    right: 0;
    top: auto;
    left: 0;
    bottom: 0;
    width: 100%;
    background: #fff;
    padding: 10px;
    text-align: center;
    box-shadow: 0 -2px 3px rgba(0,0,0,.2);
    z-index: 2;
}
.heade-conver-btn a {
    border: none;
    box-sizing: border-box;
    width: 70%;
    padding: 15px 20px 15px 40px;
    background: #d6000f;
    font-size: 12px;
    color: #fff;
}
.heade-conver-btn a::before {
    content: "";
    position: absolute;
    top: 16px;
    left: 50%;
    margin-left: -60px;
    background: url(../img/common/mail_icon_white.svg) no-repeat left top;
    background-size: 18px auto;
    width: 18px;
    height: 15px;
}
.heade-conver-btn a:hover {
    border: none;
}
	
.heade-conver-btn2 {
    position: fixed;
    right: 0;
    top: auto;
    left: 0;
    bottom: 0;
    width: 100%;
    background: #fff;
    padding: 10px;
    text-align: center;
    box-shadow: 0 -2px 3px rgba(0,0,0,.2);
    z-index: 2;
}
.heade-conver-btn2 a {
    border: none;
    box-sizing: border-box;
    width: 70%;
    padding: 15px 20px 15px 40px;
    background: #d6000f;
    font-size: 12px;
    color: #fff;
}
.heade-conver-btn2 a::before {
    content: "";
    position: absolute;
    top: 16px;
    left: 50%;
    margin-left: -60px;
    background: url(../img/common/lang_icon_white.svg) no-repeat left top;
    background-size: 18px auto;
    width: 18px;
    height: 15px;
}
.heade-conver-btn2 a:hover {
    border: none;
}
.gloval-nav {
    position: fixed;
    z-index: 999;
    top: 0;
    left: 0;
    padding-top: 60px;
    padding-right: 0;
    background: #fff;
    opacity: 0;
    visibility: hidden;
    transition: 0.2s ease;
    -moz-transition: 0.2s ease;
    -webkit-transition: 0.2s ease;
    -webkit-transform: translate3d(0, 0, 0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    width: 100%;
    background: rgba(0,48,108,.9);
    height: 0;
}
#header.open .gloval-nav {
    height: 100vh;
    visibility: visible;
    opacity: 1;
    overflow: auto;
}
.gloval-nav a {
    color: #fff;
}
.gloval-nav > ul {
    display: block;
}
.gloval-nav > ul > li > a {
    padding: 20px;
}
.gloval-nav >ul > li > a:before {
    content: none;
}
.gloval-nav li {
    position: relative;
}
.gloval-nav > ul > li:not(:first-of-type) {
    border-top: 1px solid rgba(255,255,255,.4);
}
.gloval-nav .has-menu-child > a {
    padding: 20px;
}
.gloval-nav .has-menu-child > a::after {
    top: 28px;
    right: 20px;
    width: 6px;
    height: 6px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    transition: 0s ease-out;
    -moz-transition: 0s ease-out;
    -webkit-transition: 0s ease-out;
}
.gloval-nav .has-menu-child > a:hover::after {
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
}
.gloval-nav .has-menu-child.open > a:after {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}
.gloval-nav .has-menu-child .sub-menu {
    display: none;
    position: static;
    visibility: visible;
    opacity: 1;
    height: auto;
}
.gloval-nav .has-menu-child.open .sub-menu {
    display: block;
    background: rgba(0,0,0,.5);
    padding: 0;
}
.sub-menu .col-flex {
    display: block;
}
.sub-menu-inner {
    padding: 0;
}
.common-menu a {
    font-weight: bold;
    padding: 0 30px 0 15px;
    position: relative;
}
.common-menu a::before {
    content: none;
}
.sub-menu .menu-name {
    display: none;
}
.sub-menu .sub-menu-name a, .sub-menu .col-flex a {
    font-size: 14px;
    font-weight: normal;
    border: none;
    padding: 15px 20px;
    margin-bottom: 0;
}
.sub-menu .sub-menu-name, .sub-menu .col-flex li {
    border-top: 1px solid rgba(255,255,255,.2);
}
.sub-menu-col {
    width: 100% !important;
}
.sub-menu-col ul {
    display: none;
}
}

@media (max-width: 640px) {
.header-logo {
    max-width: 180px;
}
.header-inner {
    padding: 20px;
}
}

.sub-menu-inner .col-flex li a{
	color: #fff;
}

/* key-visual -------------------------------*/

.key-visual{
	text-align:center;
	display:flex;
	margin-top: 5px;
}

.key-visual video, .key-visual img {
	width: 100%;
	height: auto;
	padding: 0;
	margin: 0;
	vertical-align: baseline;
	margin-bottom: -6px;
	margin-top: -135px;
	z-index: -100;
	position: absolute;
}

.key-visual-cover {
	 position: relative;
	 z-index: 2;
	 display: flex;
	 width: 100%;
	 justify-content: center;
	 align-items: center;
	 text-align:center;
	 margin: auto;
	 height: auto;
	 min-height: 850px !important;
}

.key-visual-img{
	text-align: center;
    display: none;
    margin-top: 61px;
}

@media (max-width: 480px) {
.key-visual {
    text-align: center;
    display: none;
    margin-top: 61px;
}
	
	.key-visual video, .key-visual img {
		width: 100%;
		margin-left: 0%;
		margin-right: 0%;
	}
	
.key-visual-cover {
	 position: relative;
	 z-index: 2;
	 display: flex;
	 width: 100%;
	 margin: auto;
	 height: auto;
	justify-content: flex-start;
	align-items: baseline;
	text-align:center;
	 min-height: 200px !important;
	/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#f2f2f2+0,fcfcfc+11,ffffff+13,ffffff+87,fcfcfc+89,f2f2f2+100&1+0,1+11,0+13,0+87,1+89,1+100 */
	background: -moz-linear-gradient(left,  rgba(242,242,242,1) 0%, rgba(252,252,252,1) 2%, rgba(255,255,255,0) 4%, rgba(255,255,255,0) 96%, rgba(252,252,252,1) 98%, rgba(242,242,242,1) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(left,  rgba(242,242,242,1) 0%,rgba(252,252,252,1) 2%,rgba(255,255,255,0) 4%,rgba(255,255,255,0) 96%,rgba(252,252,252,1) 98%,rgba(242,242,242,1) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to right,  rgba(242,242,242,1) 0%,rgba(252,252,252,1) 2%,rgba(255,255,255,0) 4%,rgba(255,255,255,0) 96%,rgba(252,252,252,1) 98%,rgba(242,242,242,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f2f2f2', endColorstr='#f2f2f2',GradientType=1 ); /* IE6-9 */
}
	
	.key-visual-img{
		display: flex;
		margin-top: 61px;
	}
	
	#mainimage .index-video-wrap{
		z-index: -1;
		position: absolute;
		width: 100%;
	}
	
}
	
@media all and (min-width:481px) and (max-width:640px){
	.key-visual {
		text-align: center;
		display: none;
		margin-top: 61px;
	}
	
	.key-visual video, .key-visual img {
		width: 100%;
		margin-left: 0%;
		margin-right: 0%;
	}
	
.key-visual-cover {
	 position: relative;
	 z-index: 2;
	 display: flex;
	 width: 100%;
	justify-content: flex-start;
	align-items: baseline;
	text-align:center;
	 margin: auto;
	 height: auto;
	 min-height: 300px !important;
	/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#f2f2f2+0,fcfcfc+11,ffffff+13,ffffff+87,fcfcfc+89,f2f2f2+100&1+0,1+11,0+13,0+87,1+89,1+100 */
	background: -moz-linear-gradient(left,  rgba(242,242,242,1) 0%, rgba(252,252,252,1) 2%, rgba(255,255,255,0) 4%, rgba(255,255,255,0) 96%, rgba(252,252,252,1) 98%, rgba(242,242,242,1) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(left,  rgba(242,242,242,1) 0%,rgba(252,252,252,1) 2%,rgba(255,255,255,0) 4%,rgba(255,255,255,0) 96%,rgba(252,252,252,1) 98%,rgba(242,242,242,1) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to right,  rgba(242,242,242,1) 0%,rgba(252,252,252,1) 2%,rgba(255,255,255,0) 4%,rgba(255,255,255,0) 96%,rgba(252,252,252,1) 98%,rgba(242,242,242,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f2f2f2', endColorstr='#f2f2f2',GradientType=1 ); /* IE6-9 */
}
	
	.key-visual-img{
		display: flex;
		margin-top: 61px;
	}
	
	#mainimage .index-video-wrap{
		z-index: -1;
		position: absolute;
		width: 100%;
	}

	#mainimage .index-video-size{
		width: 100%;
	}
	
}
	
@media all and (min-width:641px) and (max-width:800px){
	.key-visual {
		text-align: center;
		display: flex;
		margin-top: 61px;
	}
	
	.key-visual video, .key-visual img {
		width: 90%;
		margin-left: 5%;
		margin-right: 5%;
	}
	
	.key-visual-cover {
		 position: relative;
		 z-index: 2;
		 display: flex;
		 width: 100%;
		 justify-content: center;
		 align-items: center;
		 text-align:center;
		 margin: auto;
		 height: auto;
		 min-height: 370px !important;
		/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#f2f2f2+0,fcfcfc+11,ffffff+13,ffffff+87,fcfcfc+89,f2f2f2+100&1+0,1+11,0+13,0+87,1+89,1+100 */
		background: -moz-linear-gradient(left,  rgba(242,242,242,1) 0%, rgba(252,252,252,1) 4%, rgba(255,255,255,0) 7%, rgba(255,255,255,0) 93%, rgba(252,252,252,1) 96%, rgba(242,242,242,1) 100%); /* FF3.6-15 */
		background: -webkit-linear-gradient(left,  rgba(242,242,242,1) 0%,rgba(252,252,252,1) 4%,rgba(255,255,255,0) 7%,rgba(255,255,255,0) 93%,rgba(252,252,252,1) 96%,rgba(242,242,242,1) 100%); /* Chrome10-25,Safari5.1-6 */
		background: linear-gradient(to right,  rgba(242,242,242,1) 0%,rgba(252,252,252,1) 4%,rgba(255,255,255,0) 7%,rgba(255,255,255,0) 93%,rgba(252,252,252,1) 96%,rgba(242,242,242,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
		filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f2f2f2', endColorstr='#f2f2f2',GradientType=1 ); /* IE6-9 */
	}
	
	
}

@media all and (min-width:801px) and (max-width:1071px){
	.key-visual {
		text-align: center;
		display: flex;
		margin-top: 5px;
	}
	
	.key-visual video, .key-visual img {
		width: 90%;
		margin-left: 5%;
		margin-right: 5%;
	}
	
	.key-visual-cover {
		 position: relative;
		 z-index: 2;
		 display: flex;
		 width: 100%;
		 justify-content: center;
		 align-items: center;
		 text-align:center;
		 margin: auto;
		 height: auto;
		 min-height: 480px !important;
		/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#f2f2f2+0,fcfcfc+11,ffffff+13,ffffff+87,fcfcfc+89,f2f2f2+100&1+0,1+11,0+13,0+87,1+89,1+100 */
		background: -moz-linear-gradient(left,  rgba(242,242,242,1) 0%, rgba(252,252,252,1) 4%, rgba(255,255,255,0) 7%, rgba(255,255,255,0) 93%, rgba(252,252,252,1) 96%, rgba(242,242,242,1) 100%); /* FF3.6-15 */
		background: -webkit-linear-gradient(left,  rgba(242,242,242,1) 0%,rgba(252,252,252,1) 4%,rgba(255,255,255,0) 7%,rgba(255,255,255,0) 93%,rgba(252,252,252,1) 96%,rgba(242,242,242,1) 100%); /* Chrome10-25,Safari5.1-6 */
		background: linear-gradient(to right,  rgba(242,242,242,1) 0%,rgba(252,252,252,1) 4%,rgba(255,255,255,0) 7%,rgba(255,255,255,0) 93%,rgba(252,252,252,1) 96%,rgba(242,242,242,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
		filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f2f2f2', endColorstr='#f2f2f2',GradientType=1 ); /* IE6-9 */
	}
	
	
}


	
@media all and (min-width:1072px) and (max-width:1499px){
	.key-visual video, .key-visual img {
		width: 78%;
	}
}



/* top -------------------------------*/

.col-flex {
    display: flex;
    flex-wrap: wrap;
}
.cmn-btn {
    text-align: center;
    margin-top: 40px;
}
.cmn-btn a {
    text-decoration: none;
    color: #fff;
    font-weight: bold;
    position: relative;
    display: inline-block;
    padding: 15px 60px;
    background: #333333;
    font-size: 16px;
}
.cmn-btn a::before {
    position: absolute;
    content: "";
    top: 50%;
    margin-top: -3px;
    right: 20px;
    width: 6px;
    height: 6px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
.cmn-btn a:hover {
    background: #000;
}

.sol-btn {
    text-align: center;
    margin-top: 40px;
}
.sol-btn a {
    text-decoration: none;
    color: #fff;
    font-weight: bold;
    position: relative;
    display: inline-block;
    padding: 15px 60px;
    background: #00528c;
    font-size: 16px;
}
.sol-btn a::before {
    position: absolute;
    content: "";
    top: 50%;
    margin-top: -3px;
    right: 20px;
    width: 6px;
    height: 6px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
.sol-btn a:hover {
    background: #4b6b9e;
}

.sol-btn2 {
    text-align: center;
    margin-top: 40px;
}
.sol-btn2 a {
    text-decoration: none;
    color: #333;
    font-weight: bold;
    position: relative;
    display: inline-block;
    padding: 15px 60px;
    background: #fdd000;
    font-size: 16px;
	width: 80%;
}
.sol-btn2 a::before {
    position: absolute;
    content: "";
    top: 50%;
    margin-top: -3px;
    right: 20px;
    width: 6px;
    height: 6px;
    border-top: 1px solid #333;
    border-right: 1px solid #333;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
.sol-btn2 a:hover {
    background: #ffdc37;
}


@media (max-width: 640px) {
.cmn-btn a {
    font-size: 14px;
}
	
.sol-btn a {
    font-size: 14px;
}
}
.top-sec {
    padding: 100px 40px;
	background-color: #fff;
}

.top-sec h2 {
    font-family: 'Noto Serif JP', serif;
    -webkit-font-smoothing: antialiased;
    text-align: center;
    font-size: 32px;
    color: #00306c;
    line-height: 1.4;
    margin-bottom: 50px;
    margin-top: 0;
    font-weight: 700;
}
.top-sec h2 .en {
    font-size: 12px;
    display: block;
    color: #333;
    margin-top: 15px;
    font-weight: normal;
}
.top-flex {
    max-width: 1500px;
    margin: 0 auto;
}
.col4, .col3 {
    overflow: hidden;
    margin-bottom: -50px;
}
.col4 .col-item {
 width:calc(23.2353%);
 margin-right:calc(2.35%);
    margin-bottom: 50px;
}
.col3 .col-item {
 width:calc( 426 /1360 *100% );
 margin-right: calc( 40 /1360 *100% );
    margin-bottom: 50px;
}
.col2 .col-item {
    width: 48%;
}
.col4 .col-item:nth-child(4n), .col3 .col-item:nth-child(3n) {
    margin-right: 0;
}
.col-item {
    text-align: center;
    position: relative;
}
.col-item:before, .col-in-item:before, .news-sec:before, .top-bnr-list li:before {
    transition-duration: .5s;
    transition-property: transform, opacity;
    transition-delay: .4s;
}
.col-item a {
    color: #333;
    text-decoration: none;
}
.col-item .en {
    font-size: 10px;
    padding: 20px 0 5px;
    position: relative;
}
.col-item .num {
    font-size: 18px;
    margin-left: 2px;
}
.col-item-name {
    font-size: 20px;
    font-weight: bold;
}
.col-item figure {
    color: #fff;
    position: relative;
    overflow: hidden;
    width: 100%;
    background: #000;
}
.col-item figure img, .col-item figure figcaption {
    transition: 0.3s ease;
    -moz-transition: 0.3s ease;
    -webkit-transition: 0.3s ease;
    transform: translatez(0);
    -webkit-transform: translatez(0);
}
.col-item figure figcaption {
    position: absolute;
    width: 100%;
    top: 50%;
    left: 50%;
    z-index: 1;
    transform: translate(-50%, 100%);
    opacity: 0;
}
.col-item figure:hover img {
    opacity: 0.5;
    transform: scale(1.2, 1.2)
}
.col-item figure:hover figcaption {
    transform: translate(-50%, -50%);
    opacity: 1;
}
.col-item .hover-item {
    position: relative;
    width: 60%;
    margin: 0 auto;
    font-size: 14px;
    padding: 10px;
    line-height: 1.6;
    border-top: 1px solid #fff;
    border-bottom: 1px solid #fff;
}
.col-item .hover-item:before {
    position: absolute;
    content: "";
    top: 50%;
    margin-top: -3px;
    right: 10px;
    width: 6px;
    height: 6px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
.top-product-box .col-item:before, .top-company-box .col-item:before, .news-sec:before, .top-bnr-list li:before {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    background: #fff;
    top: 0;
    left: 0;
    z-index: 2;
    transform-origin: bottom left;
    transform: scale(1, 1);
    opacity: 1;
}
.top-pickup .col-item:before {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    background: #00306c;
    top: 0;
    left: 0;
    z-index: 2;
    transform-origin: bottom left;
    transform: scale(1, 1);
    opacity: 1;
}
.top-sns-box .first-article:before, .top-sns-box .second-article .col-in-item:before {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    background: #e8f2ff;
    top: 0;
    left: 0;
    z-index: 2;
    transform-origin: bottom left;
    transform: scale(1, 1);
    opacity: 1;
}
.is-show .col-item:before, .is-show .second-article .col-in-item:before, .is-show .news-sec:before, .is-show .top-bnr-list li:before {
    transform: scale(0, 1);
}
.top-product-box .col-item .en {
    border-top: 3px solid #036ea3;
    color: #036ea3;
}
.top-product-box .col-item .en:after {
    position: absolute;
    content: "";
    left: 50%;
    top: 0;
    transform: translateX(-50%);
    border: 14px solid transparent;
}
.top-product-box .fact-item .en:after {
    border-top: 14px solid #036ea3;
}
.top-product-box .biz-item .en:after {
    border-top: 14px solid #00a4a0;
}
.top-product-box .biz-item .en {
    border-top: 3px solid #00a4a0;
    color: #00a4a0;
}
.top-product-box .create-item .en:after {
    border-top: 14px solid #79ad28;
}
.top-product-box .create-item .en {
    border-top: 3px solid #79ad28;
    color: #79ad28;
}
.top-product-box .educate-item .en:after {
    border-top: 14px solid #e95c64;
}
.top-product-box .educate-item .en {
    border-top: 3px solid #e95c64;
    color: #e95c64;
}
.top-product-box .rfi-item .en:after {
    border-top: 14px solid #79ad28;
}
.top-product-box .rfi-item .en {
    border-top: 3px solid #79ad28;
    color: #79ad28;
}
.top-product-box .hosp-item .en:after {
    border-top: 14px solid #805387;
}
.top-product-box .hosp-item .en {
    border-top: 3px solid #805387;
    color: #805387;
}
.top-product-box .consignment-item .en:after {
    border-top: 14px solid #dc9a2c;
}
.top-product-box .consignment-item .en {
    border-top: 3px solid #dc9a2c;
    color: #dc9a2c;
}
.top-product-box .solutionmap-item .en:after {
    border-top: 14px solid #717071;
}
.top-product-box .solutionmap-item .en {
    border-top: 3px solid #717071;
    color: #717071;
}
.top-pickup, .top-sns {
    position: relative;
	overflow: hidden;
}
.top-pickup::before {
    content: "";
    position: absolute;
    top: 0;
    width: 120%;
    height: 100%;
    z-index: 0;
}

.top-sns::before {
    content: "";
    position: absolute;
    top: 0;
    width: 120%;
    height: 100%;
    z-index: 0;
}

.top-pickup::before {
    left: -30%;
    background: #00528c;
    transform: skewX(40deg);
}
.top-sns::before {
    right: -30%;
    background: #e8f2ff;
    transform: skewX(-40deg);
}
.top-pickup h2, .top-pickup h2 .en, .top-pickup .en, .top-pickup .col-item-name {
    position: relative;
    color: #fff;
}
.top-sns h2, .top-sns h2 .en {
    position: relative;
}
.top-sns h2 {
    color: #333;
    margin-bottom: 20px;
    font-size: 38px;
}
.desc {
    text-align: center;
    margin-bottom: 50px;
    font-size: 18px;
    position: relative;
}
.top-sns-box .hover-item::before {
    content: none;
}
.top-sns-box .hover-item {
    text-align: left;
}
.top-sns-box.col-flex, .top-sns-box .col-flex {
    position: relative;
    justify-content: space-between;
}
.first-article figure img, .second-article figure img {
    width: 100%;
}
.top-sns-box.col2 > .col-item {
 width: calc( 665 / 1360 *100%);
}
.col-in-item {
 width: calc( 317 / 665 *100%);
 margin-bottom: calc( 21 / 665 *100%);
}
.sec-inner {
    max-width: 1500px;
    padding: 75px 40px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
}
.top-news {
    position: relative;
 width: calc( 900 / 1500 *100%);
}
.top-news h2 {
    margin-bottom: 20px;
}
.news-btn {
    position: relative;
    padding-right: 15px;
    position: absolute;
    top: 30px;
    right: 0;
}
.news-btn::before {
    position: absolute;
    content: "";
    top: 50%;
    margin-top: -3px;
    right: 0;
    width: 6px;
    height: 6px;
    border-top: 1px solid #428bca;
    border-right: 1px solid #428bca;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
.news-list li {
    border-top: 1px solid #ccc;
}
.news-list li:last-of-type {
    border-bottom: 1px solid #ccc;
}
.news-list li a {
    text-decoration: none;
    color: #333;
    display: block;
    padding: 20px 40px 20px 0;
    position: relative;
}
.news-list li a::before {
    position: absolute;
    content: "";
    top: 50%;
    margin-top: -15px;
    right: 10px;
    width: 20px;
    height: 20px;
    border-top: 1px solid #c3c3c3;
    border-right: 1px solid #c3c3c3;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
.news-list li a:hover {
    background: #f5f5f5;
}
.news-list li .label {
    border-radius: 0;
    margin: -20px 0 20px 0;
    vertical-align: top;
}
.news-list .color-list-2 .label {
    background: #66AF3F;
}
.news-list .color-list-3 .label {
    background: #E58423;
}
.news-list .color-list-4 .label {
    background: #0F7AA5;
}
.news-list .color-list-5 .label {
    background: #DD2D1B;
}
.news-list .color-list-6 .label {
    background: #79a628;
}
.news-list .color-list-7 .label {
    background: #805387;
}
.news-list .color-list-8 .label {
    background: #dc9a2c;
}
.top-bnr {
 width: calc( 500 / 1500 *100%);
}
.top-bnr-list li {
    position: relative;
}
.top-bnr-list li:not(:first-of-type) {
    margin-top: 20px;
}
.top-bnr-list li a:hover {
    opacity: 0.6;
}
.news-article-ttl {
    font-size: 15px;
    font-weight: bold;
    margin-bottom: 10px;
}
.news-article-desc {
    font-size: 13px;
}

@media (max-width: 1017px) {
.top-sec {
    padding: 60px 40px;
}
.col4, .col3 {
    overflow: hidden;
    margin-bottom: -30px;
}
.sp-col2 {
    justify-content: space-between;
}
.col-flex.sp-col2 .col-item, .col-flex.sp-col2 li {
    width: 48%;
    margin-right: 0;
    margin-bottom: 30px;
}
.col-item figure {
    background: none;
    overflow: visible;
}
.col-item figure figcaption {
    position: static;
    width: 100%;
    opacity: 1;
    display: none;
    color: #333;
    padding: 0;
    transform: translate(0, 0);
    text-align: left;
    margin-top: 20px;
}
.col-item figure .hover-item {
    border: none;
    padding: 0;
    width: 100%;
}
.col-item figure:hover img {
    opacity: 1;
    transform: scale(1, 1)
}
.col-item figure:hover figcaption {
    opacity: 1;
    transform: translate(0, 0);
}
.top-pickup::before, .top-sns::before {
    content: none;
}
.top-pickup {
    background: #00306c;
}
.top-sns {
    background: #e8f2ff;
}
.top-sns figure figcaption {
    display: block;
}
.top-sns-box.col2 > .col-item {
    width: 100%;
    margin-bottom: 30px;
}
.top-sns .cmn-btn {
    margin-top: 0;
}
.sec-inner {
    padding: 60px 40px;
    display: block;
}

.news-list li a:hover {
    background: #fff;
}
.top-bnr {
    width: 60%;
    margin: 0 auto;
    text-align: center;
    margin-top: 60px;
}
.top-bnr-list li a:hover {
    opacity: 1;
}
}

@media (max-width: 640px) {
.top-sec {
    padding: 50px 20px;
}
.top-sec h2 {
    font-size: 22px;
    margin-bottom: 30px;
}
.top-sec h2 .en {
    font-size: 10px;
    margin-top: 10px;
}
.col-item .en {
    font-size: 8px;
}
.top-product-box .en:after {
    border-top-width: 10px !important;
}
.col-item .num {
    font-size: 14px;
}
.col-item-name {
    font-size: 4vw;
}
.top-product-box .col-item:before, .top-company-box .col-item:before, .news-sec:before, .top-bnr-list li:before {
    content: none;
}
.top-pickup .col-item:before {
    content: none;
}
.top-sns-box .first-article:before, .top-sns-box .second-article .col-in-item:before {
    content: none;
}
.top-sns h2 {
    font-size: 22px;
}
.desc {
    margin-bottom: 30px;
    font-size: 16px;
    line-height: 1.6;
}
.col-in-item {
    margin-bottom: 30px;
}
.top-sns .cmn-btn {
    margin-top: -20px;
}
.sec-inner {
    padding: 50px 20px;
}
.top-news h2 {
    margin-bottom: 15px;
    font-size: 22px;
}
.news-btn {
    top: 0;
}
.top-bnr {
    width: 80%;
    margin-top: 40px;
}
}
/* page -------------------------------*/



#key-visual {
    height: 406px;
}
#key-visual.company-page {
    background: url(../img/keyvisual405/page_ttl_company_bg.webp) no-repeat center top;
    background-size: cover;
}
#key-visual.document-page {
    background: url(../img/keyvisual405/page_ttl_document_bg.webp) no-repeat center top;
    background-size: cover;
}
#key-visual.addressinfo-page {
    background: url(../img/keyvisual405/page_ttl_adressinfo_bg.webp) no-repeat center top;
    background-size: cover;
}
#key-visual.companyhistory-page {
    background: url(../img/keyvisual405/page_ttl_history_bg.webp) no-repeat center top;
    background-size: cover;
}
#key-visual.group-page {
    background: url(../img/keyvisual405/page_ttl_group_bg.webp) no-repeat center top;
    background-size: cover;
}
#key-visual.csr-page {
    background: url(../img/keyvisual405/page_ttl_csr_bg.webp) no-repeat center top;
    background-size: cover;
}
#key-visual.recruit-page {
    background: url(../img/keyvisual405/page_ttl_recruit_bg.webp) no-repeat center top;
    background-size: cover;
}
#key-visual.news-page {
    background: url(../img/keyvisual405/page_ttl_news_bg.webp) no-repeat center top;
    background-size: cover;
}
#key-visual.contact-page {
    background: url(../img/keyvisual405/page_ttl_contact_bg.webp) no-repeat center top;
    background-size: cover;
}
#key-visual.other-page {
    background: url(../img/keyvisual405/page_ttl_other_bg.webp) no-repeat center top;
    background-size: cover;
}
#key-visual.setsubi-page {
    background: url(../img/keyvisual405/page_ttl_setsubi_bg.webp) no-repeat center top;
    background-size: cover;
}
#key-visual.dutiessolution-page {
    background: url(../img/keyvisual405/page_ttl_dutiessolution_bg.webp) no-repeat center top;
    background-size: cover;
}
#key-visual.seizou-page {
    background: url(../img/keyvisual405/page_ttl_seizou_bg.webp) no-repeat center top;
    background-size: cover;
}
#key-visual.education-page {
    background: url(../img/keyvisual405/page_ttl_education_bg.webp) no-repeat center top;
    background-size: cover;
}
#key-visual.global-page {
    background: url(../img/keyvisual405/page_ttl_overseas_bg.webp) no-repeat center top;
    background-size: cover;
}
#key-visual.rfid-page {
    background: url(../img/keyvisual405/page_ttl_rfid_bg.webp) no-repeat center top;
    background-size: cover;
}
#key-visual.ai-page {
    background: url(../img/keyvisual405/page_ttl_ai_bg.webp) no-repeat center top;
    background-size: cover;
}
#key-visual.medical-page {
    background: url(../img/keyvisual405/page_ttl_medical_bg.webp) no-repeat center top;
    background-size: cover;
}
#key-visual.dev-page {
    background: url(../img/keyvisual405/page_ttl_dev_bg.webp) no-repeat center top;
    background-size: cover;
}

#key-visual.hiroitoku-page {
    background: url("../dev-case/hiroi/cont/topimg_bk.webp") no-repeat center top;
    background-size: cover;
}
#key-visual.solutionmap-page {
    background: url(../img/keyvisual405/page_ttl_solutionmap_bg.webp) no-repeat center top;
    background-size: cover;
}
#key-visual.cadewa-page {
    background: url(../img/keyvisual405/page_ttl_cadewa_bg.webp) no-repeat center top;
    background-size: cover;
}
#key-visual.cadewa-page2 {
    background: url(../img/keyvisual405/page_ttl_cadewasmart_bg.webp) no-repeat center top;
    background-size: cover;
}
#key-visual.honmaru-page {
    background: url(../img/keyvisual405/page_ttl_honmaru_bg.webp) no-repeat center top;
    background-size: cover;
}
#key-visual.aqua-page {
    background: url(../img/keyvisual405/page_ttl_aqua_bg.webp) no-repeat center top;
    background-size: cover;
}
#key-visual.hiroi-page {
    background: url(../img/keyvisual405/page_ttl_hiroi_bg.webp) no-repeat center top;
    background-size: cover;
}
#key-visual.ninomaru-page {
    background: url(../img/keyvisual405/page_ttl_ninomaru_bg.webp) no-repeat center top;
    background-size: cover;
}
#key-visual.solarmaster-page {
    background: url(../img/keyvisual405/page_ttl_solarmaster_bg.webp) no-repeat center top;
    background-size: cover;
}
#key-visual.netmaster-page {
    background: url(../img/keyvisual405/page_ttl_netmaster_bg.webp) no-repeat center top;
    background-size: cover;
}
#key-visual.nicefile-page {
    background: url(../img/keyvisual405/page_ttl_nicefile_bg.webp) no-repeat center top;
    background-size: cover;
}
#key-visual.access-page {
    background: url(../img/keyvisual405/page_ttl_access_bg.webp) no-repeat center top;
    background-size: cover;
}
#key-visual.okage-page {
    background: url(../img/keyvisual405/page_ttl_okage_bg.webp) no-repeat center top;
    background-size: cover;
}
#key-visual.dbtool-page {
    background: url(../img/keyvisual405/page_ttl_dbtool_bg.webp) no-repeat center top;
    background-size: cover;
}
#key-visual.prowin-page {
    background: url(../img/keyvisual405/page_ttl_prowin_bg.webp) no-repeat center top;
    background-size: cover;
}
#key-visual.prowinnx-page {
    background: url(../img/keyvisual405/page_ttl_prowinnx_bg.jpg) no-repeat center top;
    background-size: cover;
}
#key-visual.netmasterpta-page {
    background: url(../img/keyvisual405/page_ttl_netmasterpta_bg.webp) no-repeat center top;
    background-size: cover;
}
#key-visual.nicegakkou-page {
    background: url(../img/keyvisual405/page_ttl_nicegakkou_bg.webp) no-repeat center top;
    background-size: cover;
}
#key-visual.learning-page {
    background: url(../img/keyvisual405/page_ttl_learning_bg.webp) no-repeat center top;
    background-size: cover;
}
#key-visual.flens-page {
    background: url(../img/keyvisual405/page_ttl_flens_bg.webp) no-repeat center top;
    background-size: cover;
}
#key-visual.schoolinfo-page {
    background: url(../img/keyvisual405/page_ttl_schoolinfo_bg.webp) no-repeat center top;
    background-size: cover;
}
#key-visual.online-page {
    background: url(../img/keyvisual405/online.webp) no-repeat center top;
    background-size: cover;
}
#key-visual.planner-page {
    background: url(../img/keyvisual405/page_ttl_planner_bg.webp) no-repeat center top;
    background-size: cover;
}
#key-visual.kenkoukeiei-page {
    background: url(../img/keyvisual405/page_kenkoukeiei_bg.webp) no-repeat center top;
    background-size: cover;
}

#key-visual .catch {
    font-size: 36px;
    line-height: 1.6;
    max-width: 1200px;
    box-sizing: border-box;
    padding: 0 40px;
    height: 100%;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
}
#key-visual .catch .sub {
    font-size: 20px;
    display: block;
    margin-top: 10px;
}
#key-visual.addressinfo-page .catch {
    font-size: 30px;
    text-align: center;
}
#key-visual.companyhistory-page .catch {
    color: #fff;
    text-align: center;
}
#key-visual.group-page .catch {
    text-align: center;
    top: -70px;
}
#key-visual.recruit-page .catch {
    top: -70px;
}
#key-visual.contact-page .catch {
    font-size: 30px;
}

#key-visual.municipality-page {
    background: url("../img/keyvisual405/municipality.webp") no-repeat center top;
    background-size: cover;
}
#key-visual.chojyu-page {
    background: url("../img/keyvisual405/chojyu.webp") no-repeat center top;
    background-size: cover;
}

#key-visual.safe-page {
    background: url("../img/keyvisual405/safe.webp") no-repeat center top;
    background-size: cover;
}

.ef-glow {
    text-shadow: rgba(255,255,255,0.9) 1px 1px 10px, rgba(255,255,255,0.9) -1px 1px 10px, rgba(255,255,255,0.9) 1px -1px 10px, rgba(255,255,255,0.9) -1px -1px 10px, rgba(255,255,255,0.9) 1px 1px 10px, rgba(255,255,255,0.9) -1px 1px 10px, rgba(255,255,255,0.9) 1px -1px 10px, rgba(255,255,255,0.9) -1px -1px 10px;
	text-align: center;
}
.ef-glow-left {
    text-shadow: rgba(255,255,255,0.9) 1px 1px 10px, rgba(255,255,255,0.9) -1px 1px 10px, rgba(255,255,255,0.9) 1px -1px 10px, rgba(255,255,255,0.9) -1px -1px 10px, rgba(255,255,255,0.9) 1px 1px 10px, rgba(255,255,255,0.9) -1px 1px 10px, rgba(255,255,255,0.9) 1px -1px 10px, rgba(255,255,255,0.9) -1px -1px 10px;
	text-align: left;
}
.ef-glow-right {
    text-shadow: rgba(255,255,255,0.9) 1px 1px 10px, rgba(255,255,255,0.9) -1px 1px 10px, rgba(255,255,255,0.9) 1px -1px 10px, rgba(255,255,255,0.9) -1px -1px 10px, rgba(255,255,255,0.9) 1px 1px 10px, rgba(255,255,255,0.9) -1px 1px 10px, rgba(255,255,255,0.9) 1px -1px 10px, rgba(255,255,255,0.9) -1px -1px 10px;
	text-align: right;
}

#page-header {
    width: 550px;
    padding: 25px 0;
    margin: 0 auto;
    margin-bottom: -50px;
    box-shadow: 0px 0px 50px 0px rgba(0, 0, 0, 0.4);
    background: #00306c;
    transform: translateY(-50%);
    text-align: center;
}
#page-header h1 {
    font-size: 32px;
    display: inline-block;
    border-bottom: 1px solid rgba(255,255,255,0.5);
    padding: 0 20px 10px;
    color: #fff;
    font-family: 'Noto Serif JP', serif;
    -webkit-font-smoothing: antialiased;
}
#page-header p {
    color: #fff;
    font-size: 12px;
    font-family: 'Prata', serif;
    -webkit-font-smoothing: antialiased;
}

@media (max-width: 1017px) {
#key-visual .catch {
    font-size: 3.5vw !important;
}
#key-visual .catch .sub {
    font-size: 1.5vw !important;
}
}

@media (max-width: 640px) {
#key-visual {
    height: 150px;
}
#key-visual .catch {
    padding: 0 20px;
}
#key-visual.group-page .catch, #key-visual.recruit-page .catch, #key-visual.contact-page .catch {
    top: -10px;
}
#key-visual .catch p {
    margin-top: -20px;
}
#page-header {
    width: 80%;
    padding: 0 0 10px;
    margin-bottom: -30px;
}
#page-header h1 {
    font-size: 20px;
}
#page-header p {
    font-size: 10px;
}
.bread-list {
    margin-bottom: 30px;
}
}

#sideArea {
    position: -webkit-sticky;
    position: sticky;
    top: 85px;
    left: 0;
}

.local-navigation li p {
    font-size: 17px;
    font-family: 'Noto Serif JP', serif;
    -webkit-font-smoothing: antialiased;
    letter-spacing: 0;
    margin-bottom: 5px;
    font-weight: bold;
}
.local-navigation li span {
    color: #808080;
    font-size: 8px;
    font-family: 'Prata', serif;
    -webkit-font-smoothing: antialiased;
}
.local-navigation > li.current span, .local-navigation a:hover span {
    color: #fff;
}
.local-navigation > li a {
    padding: 12px 20px 12px 20px;
}
.local-navigation > li.current {
    padding: 12px 20px 12px 20px;
}
.local-navigation > li a::after, .local-navigation > li.current::after {
    position: absolute;
    content: "";
    top: 50%;
    margin-top: -4px;
    right: 20px;
    width: 8px;
    height: 8px;
    border-top: 1px solid #999;
    border-right: 1px solid #999;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
.local-navigation > li.current::after, .local-navigation > li a:hover::after {
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
}

@media (max-width: 1017px) {
.local-navigation > li {
    height: auto;
}
#sideArea {
    position: static;
}
}

@media (max-width: 640px) {
.local-navigation > li {
    height: auto;
}
}
.heading {
    margin-bottom: 45px;
}
.heading .lyt-container {
    position: relative;
    padding-left: 20px;
    border: none;
}
.heading .lyt-container::before {
    content: '';
    position: absolute;
    bottom: -20px;
    left: 0;
    border: 40px solid transparent;
    border-left: 40px solid #e8f2ff;
    border-bottom: 40px solid #e8f2ff;
    z-index: 0;
}
.heading .lyt-container::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 20px;
    width: calc(100% - 20px);
    border-bottom: 3px solid #00306c;
}
.heading .lyt-container h2 {
    font-size: 30px;
    letter-spacing: 0;
    font-family: 'Noto Serif JP', serif;
    -webkit-font-smoothing: antialiased;
    position: relative;
    margin-right: auto;
    padding-bottom: 10px;
}
.heading .lyt-container p {
    font-family: 'Prata', serif;
    -webkit-font-smoothing: antialiased;
    position: absolute;
    top: 5px;
    right: 0;
}
.page-main {
    font-size: 16px;
    line-height: 1.8;
}
.page-main h3 {
    font-family: 'Prata', serif;
    -webkit-font-smoothing: antialiased;
    margin: 60px 0 30px;
    color: #00306c;
    font-weight: bold;
    font-size: 26px;
    line-height: 1.4;
}
.page-main .h3-st01 {
    position: relative;
    text-align: center;
}
.page-main .h3-st01 span {
    position: relative;
    z-index: 2;
    display: inline-block;
    padding: 0 20px;
    background-color: #fff;
    text-align: left;
}
.page-main .h3-st01::before {
    position: absolute;
    top: 50%;
    z-index: 1;
    content: '';
    display: block;
    width: 100%;
    height: 1px;
    background-color: #00306c;
}
.page-main .h3-st02 {
    border-bottom: 1px solid #00306c;
    padding-bottom: 10px;
}
.page-main p +p {
    margin-top: 30px;
}
.blank-link {
    position: relative;
    padding-right: 18px;
}
.blank-link::after {
    content: "";
    position: absolute;
    right: 0;
    top: 1px;
    width: 13px;
    height: 13px;
    background: url(../img/common/blank_icon.svg) no-repeat;
    background-size: 13px auto;
}
.img {
    margin-bottom: 30px;
    text-align: center;
}
.mt-0 {
    margin-top: 0 !important;
}
.mt-60 {
    margin-top: 60px;
}
.sp-view {
    display: none;
}

@media (max-width: 1017px) {
.page-main {
    padding-bottom: 60px;
}
}

@media (max-width: 640px) {
.heading {
    margin-bottom: 30px;
}
.heading .lyt-container {
    position: relative;
    padding-left: 20px;
    display: flex;
    align-items: baseline;
    border: none;
}
.heading .lyt-container::before {
    bottom: -10px;
    border: 20px solid transparent;
    border-left: 20px solid #e8f2ff;
    border-bottom: 20px solid #e8f2ff;
}
.heading .lyt-container h2 {
    font-size: 22px;
    margin-bottom: 0;
}
.heading .lyt-container p {
    font-size: 8px;
}
.page-main {
    font-size: 14px;
    line-height: 1.8;
    padding-bottom: 40px;
}
.page-main h3 {
    font-size: 20px;
    margin: 40px 0 30px;
}
.page-main .h3-st02 {
    font-size: 18px;
}
.page-main p +p {
    margin-top: 25px;
}
.img {
    margin-bottom: 25px;
}
.smt-40 {
    margin-top: 40px;
}
.pc-view {
    display: none;
}
.sp-view {
    display: block;
}
}
.info-list {
    padding: 25px 20px;
    border-bottom: 1px solid #ccc;
}
.info-list, .info-list dl {
    display: flex;
}
.info-list dl + dl {
    margin-top: 10px;
}
.info-list em {
    color: #00306c;
}
.info-list .col-l {
    width: 15%;
}
.info-list .col-r {
    width: 85%;
    font-size: 1.4rem;
}
.info-list dl dt {
    white-space: nowrap;
    padding-right: 20px;
    line-height: 1.8;
}
.info-list dl dd {
    line-height: 1.8;
}
.addressinfo-list {
    position: relative;
}
.addressinfo-list .col-l {
    width: 25%;
}
.addressinfo-list .col-r {
    width: 75%;
}
.map-btn a {
    color: #00306c;
    border: 1px solid #00306c;
    font-size: 12px;
    padding: 5px 10px;
    position: relative;
    display: inline-block;
    line-height: 1;
}
.map-btn a:hover {
    background: #00306c;
    color: #fff;
    text-decoration: none;
}
.arrow-r a {
    padding-right: 20px;
}
.arrow-r a::before {
    content: "";
    position: absolute;
    right: 10px;
    top: 50%;
    margin-top: -2px;
    width: 4px;
    height: 4px;
    border-top: 1px solid #333;
    border-right: 1px solid #333;
    transform: rotate(45deg);
}
.arrow-r a:hover::before {
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
}
.addressinfo-list .map-btn {
    position: absolute;
    top: 60px;
    left: 20px;
}

@media (max-width: 640px) {
.info-list {
    padding: 20px;
}
.info-list, .info-list dl {
    display: block;
}
.info-list em {
    display: block;
    margin-bottom: 15px;
    font-size: 16px;
}
.info-list .col-l, .info-list .col-r {
    width: 100% !important;
}
.info-list dl dt {
    white-space: normal;
    padding-right: 0
}
.addressinfo-list .map-btn {
    position: static;
    margin-top: 20px;
}
}
/* contents */

.company-info dl {
    display: flex;
    padding: 25px 20px;
    border-bottom: 1px solid #ccc;
    margin-bottom: 0;
}
.company-info dl:first-of-type {
    border-top: 1px solid #ccc;
    margin-top: 40px;
}
.company-info dl dt {
    width: 160px;
    line-height: 1.8;
    margin: 0;
}
.company-info dl dd {
    line-height: 1.8;
    margin: 0;
}
.company-info tr td:not(:first-child) {
    padding-left: 40px;
}
.prof-header {
    display: flex;
    align-items: center;
    margin-bottom: 40px;
}
.prof-avatar {
    width: 245px;
    margin-right: 60px;
}
.prof-txt {
    flex: 1;
    text-align: center;
    border-bottom: 1px solid #ccc;
    border-top: 1px solid #ccc;
    padding: 40px 0;
}
.prof-catch {
    font-size: 26px;
    font-weight: bold;
    margin-bottom: 10px;
}
.prof-name {
    font-size: 22px;
    font-weight: bold;
}
.job-pos {
    font-size: 16px;
    font-weight: normal;
    margin-right: 10px;
}

@media (max-width: 1156px) {
.job-pos {
    display: block;
}
}

@media (max-width: 640px) {
.company-info {
    margin-bottom: 0;
}
.company-info dl {
    display: block;
    padding: 20px;
}
.company-info dl:first-of-type {
    margin-top: 25px;
}
.company-info dt {
    width: 100%;
}
.prof-header {
    display: block;
    margin-bottom: 30px;
}
.prof-avatar {
    width: 50%;
    text-align: center;
    margin: 0 auto 20px;
}
.prof-txt {
    padding: 20px 0;
}
.prof-catch {
    font-size: 18px;
    margin-bottom: 10px;
}
.prof-name {
    font-size: 18px;
}
.job-pos {
    font-size: 12px;
}
}
.group-list {
    display: flex;
}
.group-ph {
    max-width: 350px;
    margin-right: 30px;
}
.group-txt {
    flex: 1;
    font-size: 15px;
    line-height: 1.8;
}
.group-txt dl {
    display: flex;
}
.group-txt dl + dl {
    margin-top: 10px;
}
.group-txt dl dt {
    color: #00306c;
    font-weight: bold;
    font-size: 15px;
    line-height: 1.8;
    width: 100px;
}
.group-txt dl dd {
    font-size: 15px;
    line-height: 1.8;
    flex: 1;
}
.group-txt .blank-link {
    margin-top: 20px;
    display: inline-block;
    line-height: 1;
}

@media (max-width: 640px) {
.group-list {
    display: block;
    padding: 0 20px;
}
.group-ph {
    max-width: 80%;
    margin: 0 auto 30px;
}
.group-txt {
    padding-left: 0;
    font-size: 14px;
}
.group-txt dl {
    display: block;
}
.group-txt dl dt {
    font-size: 14px;
    width: 100%;
}
.group-txt dl dd {
    font-size: 15px;
    line-height: 1.8;
    flex: 1;
}
.group-txt .blank-link {
    margin-top: 20px;
    display: inline-block;
    line-height: 1;
}
}
.tbl {
    border-top: 1px solid #ccc;
    border-left: 1px solid #ccc;
}
.tbl th, .tbl td {
    border-bottom: 1px solid #ccc;
    border-right: 1px solid #ccc;
    padding: 20px;
    font-size: 16px;
    line-height: 1.8;
}
.tbl th {
    background: #f1f1f1;
    color: #00306c;
    white-space: nowrap;
}
.tbl .sub {
    font-size: 12px;
    display: block;
}
.tbl .col-flex {
    display: flex;
}
.tbl .col-flex dt {
    width: 110px;
}
.flow-list {
    position: relative;
    margin-bottom: 45px;
}
.flow-list::before {
    content: "";
    position: absolute;
    top: 0;
    left: 130px;
    width: 6px;
    height: 100%;
    background: #daeaff;
}
.flow-list dl {
    display: flex;
    padding: 30px;
    border-bottom: 1px solid #ccc;
    align-items: center;
}
.flow-list dl:last-child {
    border-bottom: none;
}
.flow-list dt {
    width: 100px;
    color: #00306c;
    font-size: 13px;
}
.flow-list dt .num {
    font-size: 27px;
    margin-left: 5px;
}
.flow-list dd {
    flex: 1;
    padding-left: 30px;
    line-height: 1.8;
    margin: 0;
}
.flow-info {
    text-align: center;
}
.conver-btn {
    text-align: center;
    margin-top: 40px;
}
.conver-btn a {
    font-size: 18px;
    color: #fff;
    text-decoration: none;
    background: #00306c;
    display: inline-block;
    padding: 25px 70px;
}
.conver-btn a:hover {
    background: #386fb4;
}

@media (max-width: 640px) {
.tbl th, .tbl td {
    display: block;
    padding: 15px;
    font-size: 14px;
    line-height: 1.8;
}
.tbl .sub {
    font-size: 10px;
}
.tbl .col-flex {
    display: block;
}
.tbl .col-flex dt {
    width: 100%;
}
.flow-list {
    margin-bottom: 30px;
}
.flow-list::before {
    content: none;
}
.flow-list dl {
    display: block;
    padding: 20px;
}
.flow-list dt {
    width: 100%;
    margin-bottom: 10px;
}
.flow-list dd {
    padding-left: 0;
    margin: 0;
}
.flow-info {
    text-align: left;
}
.flow-info br {
    display: none;
}
.conver-btn {
    margin-top: 30px;
}
.conver-btn a {
    font-size: 16px;
    padding: 15px 40px;
}
}
.privacy-contents p + p {
    margin-top: 0;
}
.contact {
    font-size: 14px;
}
/* footer -------------------------------*/


#pup {
    opacity: 0;
    visibility: hidden;
    display: block;
    width: 44px;
    height: 44px;
    text-decoration: none;
    position: fixed;
    right: 10px;
    bottom: 30px;
    color: #fff;
    font-size: 3.0rem;
    text-align: center;
    line-height: 40px;
    background: #000;
    z-index: 999;
    cursor: pointer;
    transition: 0.3s ease;
    -moz-transition: 0.3s ease;
    -webkit-transition: 0.3s ease;
    transform: translatez(0);
    -webkit-transform: translatez(0);
}
#pup span {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
}
#pup:hover {
    background: #666;
}
#pup span::before {
    position: absolute;
    content: "";
    top: 50%;
    left: 50%;
    width: 10px;
    height: 10px;
    margin-left: -5px;
    margin-top: -2px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}
#pup.show {
    visibility: visible;
    opacity: 1;
}
#footer {
    padding: 0;
    background: #fff;
    color: #333;
}
.footer-group {
    background: #ededed;
    padding: 70px 0;
}
.footer-inner {
    max-width: 1500px;
    margin: 0 auto;
    padding: 0;
}

.footer-group h2 {
	font-family: 'Noto Serif JP', serif;
	-webkit-font-smoothing: antialiased;
	text-align: center;
	font-size: 32px;
	color: #222222;
	line-height: 1.4;
	margin-bottom: 50px;
	margin-top: 0;
	font-weight: 700;
}

.footer-group h2 .en {
    font-size: 12px;
    display: block;
    color: #333;
    margin-top: 15px;
    font-weight: normal;
}

.footer-group li {
 width: calc( 276 / 1500 *100% );
 margin-right: calc( 30 / 1500 *100% );
    margin-top: 30px;
}

.footer-group li:nth-child(5n) {
    margin-right: 0;
}

.footer-group li a:hover {
    opacity: 0.6;
}

.group-outer{
  display: table;
  width: 100%;
  background-color: #ffffff;
  padding: 1%;
  text-align: center;
}

.group-inner{
  display: table-cell;
  vertical-align: middle;
}

.group-inner img{
	height: 50px;
}

.contact-sec {
    color: #fff;
    background: url(https://www.systems.nakashima.co.jp/img/common/footer_contact_bg.webp) no-repeat center top;
    background-size: cover;
    text-align: center;
    padding: 100px 40px;
}

.contact-sec h2 {
    font-size: 16px;
    letter-spacing: 2px;
    margin-bottom: 40px;
}

.contact-sec h2 .en {
    font-size: 38px;
    display: block;
    line-height: 1.4;
    letter-spacing: 0;
    margin-bottom: 10px;
}

.contact-desc {
    font-size: 18px;
    margin-bottom: 35px;
}

.contact-desc {
    font-size: 18px;
    margin-bottom: 35px;
}
.contact-box {
    max-width: 620px;
    margin: 0 auto;
    justify-content: space-between;
}
.contact-box dl {
    width: 45%;
}
.contact-box dt {
    font-weight: bold;
    font-size: 16px;
    margin-bottom: 10px;
    display: block;
}

.contact-box a {
    text-decoration: none;
}

.contact-tel {
    border-top: 1px solid #fff;
    padding: 5px;
20px;
    border-bottom: 1px solid #fff;
    position: relative;
    font-size: 28px;
}

.contact-tel::before {
    position: absolute;
    content: "";
    top: 50%;
    left: 20px;
    width: 22px;
    height: 22px;
    background: url(../img/common/tel_icon_white.svg) no-repeat left top;
    background-size: 22px auto;
    transform: translateY(-50%);
}

.contact-tel a {
    color: #fff;
    text-decoration: none;
}

.contact-mail a {
	color: #333;
	display: block;
	padding: 14px 0;
	font-size: 16px;
	background: url(../img/common/mail_icon.svg) no-repeat 48px 17px;
	background-size: 22px auto;
	background-color: #fff;
}

.contact-mail a:hover {
	background: url(../img/common/mail_icon_white.svg) no-repeat 48px 17px;
	background-color: #d6000f;
	background-size: 22px auto;
    color: #fff;
}

.contact-mail a:hover::before {
    background: url(../img/common/mail_icon_white.svg) no-repeat left top;
    background-size: 22px auto;
}

.footer-link {
    padding: 70px 0;
    border-bottom: 1px solid #ccc;
}

.footer-link .footer-inner {
    display: flex;
    padding: 0 40px;
}

.footer-link a {
    color: #333;
    font-size: 14px;
}

.footer-link .parent-name {
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 20px;
    border-left: 4px solid #00306c;
    padding-left: 15px;
}

.footer-link li:not(:first-child) {
    margin-top: 10px;
}

.footer-link .col-flex ul:last-child {
    margin-left: 50px;
}

.footer-link .col-flex a {
    position: relative;
    padding-left: 15px;
}

.footer-link .col-flex a::before {
    position: absolute;
    content: "";
    top: 5px;
    left: 0;
    width: 4px;
    height: 4px;
    border-top: 1px solid #333;
    border-right: 1px solid #333;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.footer-product-link {
    margin-right: 4%;
	width: 56%;
}

.footer-company-link {
    margin-right: 4%;
	width: 20%;
}

.footer-social-link {
    margin-right: 0;
	width: 16%;
}

.footer-copy {
    max-width: 1500px;
    margin: 0 auto;
    padding: 40px;
    display: flex;
}

#copy{
	margin-left: auto;
}

.footer-privacy {
    display: flex;
}

.sociallogo-area{
	width: 100%;
    display: flex;
}

.sociallogo{
	width: 15%;
	margin-right: 8%;
	float: left;
}

.sociallogo2{
	width: 20%;
	float: left;
}

.marklogo-area{
	width: 100%;
    display: flex;
	margin-top: 40px;
}

.marklogo{
	width: 35%;
	margin-right: 8%;
	float: left;
}

.marklogo2{
	width: 58%;
	float: left;
}

.footer-privacy a {
    color: #333;
    font-size: 12px;
    padding: 0 10px;
}

@media (max-width: 1160px) {
.footer-link .footer-inner {
    padding: 0 40px;
}
.footer-link a {
    font-size: 12px;
}
}

@media (max-width: 1017px) {
#pup {
    opacity: 1;
    visibility: visible;
    display: block;
    width: 100%;
    text-decoration: none;
    position: static;
}
#pup:hover {
    background: #000;
}
#pup span::before {
    position: absolute;
    content: "";
    top: 50%;
    left: 50%;
    width: 10px;
    height: 10px;
    margin-left: -5px;
    margin-top: -2px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}
.footer-group {
    background: #ededed;
    padding: 40px 0;
}
.footer-group h2 {
    margin-bottom: 30px;
}
.footer-group li {
    margin-right: 0;
    margin-top: 0;
}
.footer-group li a:hover {
    opacity: 1;
}
.footer-link {
    padding: 40px 0;
    border-bottom: 1px solid #ccc;
}
.footer-product-link .col-flex {
    display: block;
}
.footer-product-link .col-flex ul:last-child {
    margin-left: 0;
}
.footer-copy {
    padding-bottom: 100px;
}
 @media (max-width: 640px) {
 .footer-inner {
 padding: 0 20px; 
}
 .footer-group h2 {
 max-width:200px;
 padding: 0;
 margin:0;
 margin-bottom: 20px;
}
 .footer-group {
 padding: 30px 0 20px;
}
 .footer-group .col-flex.sp-col2 li {
 margin-bottom: 20px;
}
 .contact-sec {
 padding: 50px 20px;
}
 .contact-sec h2 {
 font-size: 14px;
 margin-bottom: 30px;
}
 .contact-sec h2 .en {
 font-size: 22px;
 margin-bottom: 10px;
}
 .contact-desc {
 font-size: 16px;
 margin-bottom: 25px;
 line-height: 1.6;
}
 .contact-box {
 display: block;
}
 .contact-box dl {
 width: 100%;
}
 .contact-box dt {
 font-size: 14px;
}
 .contact-tel {
 margin-bottom: 30px;
}
 .contact-mail a {
 font-size: 14px;
}

 .contact-mail a:hover {
 background: #fff;
 color: #333;
}
 .contact-mail a:hover::before {
 background:url(../img/common/mail_icon.svg) no-repeat left top;
 background-size: 22px auto;
}
 .footer-link .footer-inner {
 display:block;
 padding: 0 20px;
}
 .footer-link .parent-name {
 font-size: 16px;
}
 .footer-product-link {
 margin-bottom: 30px;
}
.footer-company-link {
 margin-bottom: 30px;
}
 .footer-copy {
 padding: 20px 20px 90px;
 display: block;
 ont-size: 10px;
}
 #copy {
 margin-bottom: 15px;
 text-align: center;
}
 .footer-privacy {
 margin-left: 0;
 justify-content: center;
}
 .footer-privacy a {
 font-size: 10px;
 padding: 0 10px;
}
.sociallogo{
	width: 10%;
	margin-right: 8%;
	float: left;
}

.sociallogo2{
	width: 15%;
	float: left;
}
	 
.footer-product-link {
    margin-right: 4%;
	width: 96%;
}

.footer-company-link {
    margin-right: 4%;
	width: 96%;
}

.footer-social-link {
    margin-right: 4%;
	width: 50%;
}

}
}

.sitemap dl {
  margin-bottom: 40px;
}

.sitemap dt {
  margin-bottom: 7px;
}

.sitemap dt a {
    color: #595757;
}

.sitemap dt a:hover, .sitemap dt a:focus {
      color: #595757;
}

.sitemap dd {
  padding: 7px 0 7px 10px;
  margin-left: 10px;
  border-left: 1px solid #3e3a39;
}

.sitemap dd a {
    color: #3e3a39;
}

.sitemap dd a:hover, .sitemap dd a:focus {
      color: #3e3a39;
}

.icon-fact:before {
  display: block;
  float: left;
  width: 25px;
  height: 25px;
  margin-right: 7px;
  margin-top: -1px;
  background-image: url("../img/common/gnavi-icon-fact.png");
  background-repeat: no-repeat;
  background-position: left top;
  background-position-x: left;
  background-position-y: top;
  content: ' ';
}

.icon-biz:before {
  display: block;
  float: left;
  width: 25px;
  height: 25px;
  margin-right: 7px;
  margin-top: -1px;
  background-image: url("../img/common/gnavi-icon-biz.png");
  background-repeat: no-repeat;
  background-position: left top;
  background-position-x: left;
  background-position-y: top;
  content: ' ';
}

.icon-educate:before {
  display: block;
  float: left;
  width: 25px;
  height: 25px;
  margin-right: 7px;
  margin-top: -1px;
  background-image: url("../img/common/gnavi-icon-educate.png");
  background-repeat: no-repeat;
  background-position: left top;
  background-position-x: left;
  background-position-y: top;
  content: ' ';
}

.icon-consignment:before {
  display: block;
  float: left;
  width: 25px;
  height: 25px;
  margin-right: 7px;
  margin-top: -1px;
  background-image: url("../img/common/gnavi-icon-consignment.png");
  background-repeat: no-repeat;
  background-position: left top;
  background-position-x: left;
  background-position-y: top;
  content: ' ';
}

.icon-solutionmap:before {
  display: block;
  float: left;
  width: 25px;
  height: 25px;
  margin-right: 7px;
  margin-top: -1px;
  background-image: url("../img/common/gnavi-icon-solutionmap.png");
  background-repeat: no-repeat;
  background-position: left top;
  background-position-x: left;
  background-position-y: top;
  content: ' ';
}

.icon-guide:before {
  display: block;
  float: left;
  width: 25px;
  height: 25px;
  margin-right: 7px;
  margin-top: -1px;
  background-image: url("../img/common/gnavi-icon-guide.png");
  background-repeat: no-repeat;
  background-position: left top;
  background-position-x: left;
  background-position-y: top;
  content: ' ';
}
  
.icon-address:before {
  display: block;
  float: left;
  width: 25px;
  height: 25px;
  margin-right: 7px;
  margin-top: -1px;
  background-image: url("../img/common/gnavi-icon-address.png");
  background-repeat: no-repeat;
  background-position: left top;
  background-position-x: left;
  background-position-y: top;
  content: ' ';
}

.icon-relation:before {
  display: block;
  float: left;
  width: 25px;
  height: 25px;
  margin-right: 7px;
  margin-top: -1px;
  background-image: url("../img/common/gnavi-icon-relation.png");
  background-repeat: no-repeat;
  background-position: left top;
  background-position-x: left;
  background-position-y: top;
  content: ' ';
}

.icon-history:before {
  display: block;
  float: left;
  width: 25px;
  height: 25px;
  margin-right: 7px;
  margin-top: 1px;
  background-image: url("../img/common/gnavi-icon-history.png");
  background-repeat: no-repeat;
  background-position: left top;
  background-position-x: left;
  background-position-y: top;
  content: ' ';
}

.icon-csr:before {
  display: block;
  float: left;
  width: 25px;
  height: 25px;
  margin-right: 7px;
  margin-top: 1px;
  background-image: url("../img/common/gnavi-icon-csr.png");
  background-repeat: no-repeat;
  background-position: left top;
  background-position-x: left;
  background-position-y: top;
  content: ' ';
}

.icon-news:before {
  display: block;
  float: left;
  width: 25px;
  height: 25px;
  margin-right: 7px;
  margin-top: -1px;
  background-image: url("../img/common/gnavi-icon-news.png");
  background-repeat: no-repeat;
  background-position: left top;
  background-position-x: left;
  background-position-y: top;
  content: ' ';
}

.icon-inquiry:before {
  display: block;
  float: left;
  width: 25px;
  height: 25px;
  margin-right: 7px;
  margin-top: -1px;
  background-image: url("../img/common/gnavi-icon-inquiry.png");
  background-repeat: no-repeat;
  background-position: left top;
  background-position-x: left;
  background-position-y: top;
  content: ' ';
}

.icon-entrance:before {
  display: block;
  float: left;
  width: 25px;
  height: 25px;
  margin-right: 7px;
  margin-top: -1px;
  background-image: url("../img/common/gnavi-icon-entrance.png");
  background-repeat: no-repeat;
  background-position: left top;
  background-position-x: left;
  background-position-y: top;
  content: ' ';
}

.icon-flow:before {
  display: block;
  float: left;
  width: 25px;
  height: 25px;
  margin-right: 7px;
  margin-top: -1px;
  background-image: url("../img/common/gnavi-icon-flow.png");
  background-repeat: no-repeat;
  background-position: left top;
  background-position-x: left;
  background-position-y: top;
  content: ' ';
}

.icon-intern:before {
  display: block;
  float: left;
  width: 25px;
  height: 25px;
  margin-right: 7px;
  margin-top: -1px;
  background-image: url("../img/common/gnavi-icon-intern.png");
  background-repeat: no-repeat;
  background-position: left top;
  background-position-x: left;
  background-position-y: top;
  content: ' ';
}

.icon-message:before {
  display: block;
  float: left;
  width: 25px;
  height: 25px;
  margin-right: 7px;
  margin-top: -1px;
  background-image: url("../img/common/gnavi-icon-message.png");
  background-repeat: no-repeat;
  background-position: left top;
  background-position-x: left;
  background-position-y: top;
  content: ' ';
}

.icon-rfid:before {
  display: block;
  float: left;
  width: 25px;
  height: 25px;
  margin-right: 7px;
  margin-top: 2px;
  background-image: url("../img/common/gnavi-icon-rfid.png");
  background-repeat: no-repeat;
  background-position: left top;
  background-position-x: left;
  background-position-y: top;
  content: ' ';
}

.icon-hosp:before {
  display: block;
  float: left;
  width: 25px;
  height: 25px;
  margin-right: 7px;
  margin-top: -1px;
  background-image: url("../img/common/gnavi-icon-hosp.png");
  background-repeat: no-repeat;
  background-position: left top;
  background-position-x: left;
  background-position-y: top;
  content: ' ';
}

.icon-create:before {
  display: block;
  float: left;
  width: 25px;
  height: 25px;
  margin-right: 7px;
  margin-top: -1px;
  background-image: url("../img/common/gnavi-icon-create.png");
  background-repeat: no-repeat;
  background-position: left top;
  background-position-x: left;
  background-position-y: top;
  content: ' ';
}

.icon-other:before {
  display: block;
  float: left;
  width: 25px;
  height: 25px;
  margin-right: 7px;
  margin-top: -1px;
  background-image: url("../img/common/gnavi-icon-other.png");
  background-repeat: no-repeat;
  background-position: left top;
  background-position-x: left;
  background-position-y: top;
  content: ' ';
}


@media (max-width: 640px) {

	.top-news {
		position: relative;
		width: 100%;
	}
	
}
	
@media all and (min-width:641px) and (max-width:1071px){
	.sec-inner {
		padding: 100px 4%;
		margin: 0 auto;
		display: flex;
		justify-content: space-between;
	}
	
	.footer-inner {
		max-width: 1500px;
		margin: 0 4%;
		padding: 0;
	}
	
	.footer-link .col-flex ul:last-child {
		margin-left: 0px;
	}
	
	.top-news {
		position: relative;
		width: 90%;
		margin-right: 10%;
	}
	
	.top-bnr {
		width: 60%;
		margin: 0 auto;
		text-align: center;
		margin-top: 0px;
	}
	
}
	
@media all and (min-width:1072px) and (max-width:1499px){
	.sec-inner {
		padding: 100px 0px;
		margin: 0 4%;
		display: flex;
		justify-content: space-between;
	}
	
	.footer-inner {
		max-width: 1500px;
		margin: 0 0%;
		padding: 0;
	}
	
	.top-news {
		position: relative;
		width: calc( 900 / 1500 *100%);
	}
	
}

@media (max-width: 1379px){
	.footer-link .col-flex ul:last-child {
		margin-left: 0px;
		margin-top: 10px;
	}
}

@media all and (min-width:1017px) and (max-width:1123px){
	.gloval-nav > ul > li > a {
		display: block;
		padding: 22px 10px;
		margin: 0px 0px;
		position: relative;
	}
	
	.header-inner a {
		text-decoration: none;
		color: #333;
		font-size: 14px;
	}
	
	.top-news {
		position: relative;
		width: calc( 900 / 1500 *100%);
	}
}


.product-icons{
	margin-bottom: 20px;
}

.product-icons li{
	width: 30px;
	color: #fff;
	padding-top: 2px;
	-webkit-border-radius: 0.3em;
	-moz-border-radius: 0.3em;
	-ms-border-radius: 0.3em;
	-o-border-radius: 0.3em;
	border-radius: 0.3em;
	text-align: center;
	float: left;
	margin-right: 5px;
	margin-bottom: 5px;	
}

.product-icons li p{
	font-size: 10px;
	margin: 0;
	margin-bottom: -10px;
}

.product-icons li span{
    font-size: 10px;
    -webkit-transform: scale(0.75);
    -moz-transform: scale(0.75);
    -ms-transform: scale(0.75);
    -o-transform: scale(0.75);
    transform: scale(0.75);
    display: inline-block;
}

.product-icons .color-list-1{
	background: #3DA0B6;
}

.product-icons .color-list-2{
	background: #AC8900;
}

.product-icons .color-list-3{
	background: #80A71F;
}

.product-icons .color-list-4{
	background: #c71585;
}


.row:last-child > .product-items:last-child {
  border-bottom: 1px solid #c0c1c1;
  margin-bottom: 0;
}

.row .product-items + .heading {
  margin-top: 40px;
}

.row > .product-items:last-child {
  border-bottom: none;
  margin-bottom: 30px;
}

.row .product-items {
  padding-top: 20px;
  padding-bottom: 10px;
  border-bottom: 1px solid #c0c1c1;
}

@media (min-width: 1017px) {
    .row .product-items {
      padding-top: 40px;
      padding-bottom: 20px;
	  }
}

.row .product-items .product-icons {
    margin-bottom: 10px;
}

@media (min-width: 1017px) {
.row .product-items .product-icons {
        margin-bottom: 20px;
	}
}

.row .product-items .product-icons .color-list-1 {
      background: #3DA0B6;
}

.row .product-items .product-icons .color-list-2 {
      background: #AC8900;
}

.row .product-items .product-icons .color-list-3 {
      background: #80A71F;
}

.row .product-items .product-icons > li:last-child {
      margin-right: 0;
}

.row .product-items .product-icons li {
      width: 30px;
      color: #fff;
      padding-top: 2px;
      -webkit-border-radius: 0.3em;
      -moz-border-radius: 0.3em;
      -ms-border-radius: 0.3em;
      -o-border-radius: 0.3em;
      border-radius: 0.3em;
      text-align: center;
      float: left;
      margin-right: 5px;
      margin-bottom: 5px;
}

@media (min-width: 1017px) {
	.row .product-items .product-icons li {
          margin-bottom: 0;
	}
}

.row .product-items .product-icons li p {
        font-size: 10px;
        margin: 0;
        margin-bottom: -2px;
}

.row .product-items .product-icons li span {
        font-size: 10px;
        -webkit-transform: scale(0.75);
        -moz-transform: scale(0.75);
        -ms-transform: scale(0.75);
        -o-transform: scale(0.75);
        transform: scale(0.75);
        display: inline-block;
}

.row .product-items img {
    width: 100%;
    min-width: 100%;
}

@media (min-width: 1017px) {
      .row .product-items img {
        width: auto;
        min-width: auto;
        min-width: initial;
	}
}

.row .product-items h3 {
    float: none;
    width: auto;
    font-weight: bold;
    color: #00306c;
    margin-top: 0;
    margin-bottom: 11px;
}

@media (min-width: 1017px) {
      .row .product-items h3 {
        float: left;
        width: 80%;
	}
}

.row .product-items .lead-type-2 {
    font-size: 15px;
    margin: 12px 5px 13px;
    font-weight: bold;
    letter-spacing: 0.7px;
}
	
 @media (max-width: 480px) {	
  .row .product-items .lead-type-2 {
    font-size: 12px;
    margin: 12px 5px 13px;
    font-weight: bold;
    letter-spacing: 0.7px;
	 }	
	}

.row .product-items .description {
    color: #3e3a39;
    letter-spacing: 1.1px;
    line-height: 1.6;
}

.row .product-items .gray-underline {
    position: relative;
}

.row .product-items a.label-btn {
    float: right;
    width: auto;
    margin-top: 10px;
    margin-bottom: 10px;
    padding: 15px 20px;
    font-size: 11px;
    letter-spacing: 1px;
    display: inline-block;
    -webkit-border-radius: 0.3em;
    -moz-border-radius: 0.3em;
    -ms-border-radius: 0.3em;
    -o-border-radius: 0.3em;
    border-radius: 0.3em;
    text-align: center;
}

@media (min-width: 1017px) {
      .row .product-items a.label-btn {
        width: 20%;
        position: absolute;
        margin-bottom: 0;
        padding: 10px;
        bottom: 10px;
        right: 0;
	}
}

.medical-imgarea{
	width: 80%;
	margin-left: auto;
	margin-right: auto;
}

.mbox{
  display: -webkit-box; /*Android4.3*/
  display: -moz-box;    /*Firefox21*/
  display: -ms-flexbox; /*IE10*/
  display: -webkit-flex; /*PC-Safari,iOS8.4*/
  display: flex
}

.image-okage-max > img {
    width: 80%;
}

.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}

.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

.top_solution{
	padding: 75px 40px;
	padding-top: 0px;
	padding-bottom: 85px;
}

.top_solution2{
	padding: 75px 40px;
	padding-top: 85px;
	padding-bottom: 0px;
}

.top_solution h2 {
    font-family: 'Noto Serif JP', serif;
    -webkit-font-smoothing: antialiased;
    text-align: center;
    font-size: 32px;
    color: #00306c;
    line-height: 1.4;
    margin-bottom: 25px;
    margin-top: 10px;
    font-weight: 700;
}
.top_solution h2 .en {
    font-size: 12px;
    display: block;
    color: #333;
    margin-top: 15px;
    font-weight: normal;
}

.top_solution_area{
	padding: 40px;
	background-color: #DAF0FC;
}

.top_nafla_area{
	padding: 20px;
	background-color: #00082d;
	color: #ffffff;
	background-image: url("../img/index/top_nafla2.webp");
	background-repeat: no-repeat;
	width: 100%;
}

.top_nafla_area h2 {
    font-family: 'Noto Serif JP', serif;
    -webkit-font-smoothing: antialiased;
    text-align: center;
    font-size: 32px;
    color: #ffffff;
    line-height: 1.4;
    margin-bottom: 25px;
    margin-top: 10px;
    font-weight: 700;
}

.top_nafla_area h2 .en {
    font-size: 12px;
    display: block;
    color: #fdd000;
    margin-top: 15px;
    font-weight: normal;
}

.top_cont_title{
	font-size: 24px;
	font-weight: bold;
	margin-bottom: 20px;
	text-align: center;
	margin-top: 30px;
}

.top_cont_outline{
	font-size: 16px;
	line-height: 1.8;
	padding-right: 20px;
	text-align: center;
}
.top_cont_nafla{
	font-size: 16px;
	line-height: 1.8;
	padding-right: 20px;
	text-align: center;
	color: #ffffff;
}

.top_cont_img{
	width: 100%;
}

.top_nafla_img{
	width: 100%;
}

.top_recruit_area{	
	width: 100%;
}

@media (max-width: 640px) {

.top_solution h2 {
    font-size: 22px;
    margin-bottom: 30px;
}

.top_solution h2 .en {
    font-size: 10px;
    margin-top: 10px;
}
	
.top_solution{
	padding-left: 0px;
	padding-right: 0px;
}
	
.top_solution_area{	
	padding-left: 10px;
	padding-right: 10px;
}
	
.top_nafla_area{	
	padding: 10px;
	margin-left: 10px;
	margin-right: 10px;
	color: #ffffff;
}
	
.top_recruit_area{	
	padding: 10px;
	margin-left: 10px;
	margin-right: 10px;	
	width: 100%;
}
	
.top_cont_outline {
    font-size: 16px;
    line-height: 1.8;
    padding-right: 0px;
    text-align: center;
}
	
.top_cont_img {
    width: 100%;
    display: none;
}

.top_nafla_img {
    width: 100%;
}

}

.recruit_video_area{
	width: 100%;
	display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
	padding: 2px;
	box-sizing: border-box;
	background-image: linear-gradient( -45deg,
	#73c7ec 25%, #57bce8 25%, #57bce8 50%, #73c7ec 50%, #73c7ec 75%, #57bce8 75%,
	#57bce8 );
	background-size: 50px 50px;
	background-attachment: fixed;
  	justify-content: center;
  	align-items: center;
}

.recruit_video{
	width: 50%;
}

.recruit_sp{
	width: 50%;
	color: #ffffff;
	font-size: 20px;
}

.video_size{
	width: 100%;
	display: block;
}

.recruit_video_a{
	text-decoration: none;
}

.recruit_video_a:hover{
	text-decoration: none;
}

.recruit_sp_text{
	text-align: center;
	font-size: 35px;
	font-weight: bold;
	padding-top: 0px;
}

.recruit_sp_subtext{
	text-align: center;
}

.recruit_sp_subtext2{
	padding: 20px;
	padding-left: 50px;
	padding-right: 50px;
	padding-bottom: 6px;
	font-size: 18px;
	text-align: center;
}

.recruit_sp_btn{
	text-align: center;
	margin-left: auto;
	margin-right: auto;
}

.video_yajirushi_size{
	
}

.top-description-btn {
	box-sizing: border-box;
	width: 400px;
	padding: 2rem;
	color: #00a0e9;
	background-color: #00a0e9;
	display: inline-block;
	margin-top: 3rem;
	font-size: 2rem;
	font-weight: 700;
	letter-spacing: 2px;
  position: relative;
}

/* ボタンのCSS */
.top-description-btn span {
  position: relative;
  z-index: 1;
}

.top-description-btn::before,
.top-description-btn::after {
  content: "";
  display: block;
  background-color: #fff;
  width: 50%;
  height: 100%;
  position: absolute;
  top: 0;
  transition: .2s;
}
.top-description-btn::before {
  left: 0;
}
.top-description-btn::after {
  right: 0;
}
.top-description-btn:hover:before,
.top-description-btn:hover:after {
  width: 0;
  background-color: #fff;
}
.top-description-btn:hover {
  color: #fff;
}

@media all and (min-width:1017px) and (max-width:1155px){

.recruit_video{
	width: 40%;
}

.recruit_sp{
	width: 60%;
	color: #ffffff;
	font-size: 20px;
}

.video_size{
	width: 100%;
	display: block;
}

.recruit_video_a{
	text-decoration: none;
}

.recruit_video_a:hover{
	text-decoration: none;
}

.recruit_sp_text{
	text-align: center;
	font-size: 26px;
	font-weight: bold;
	padding-top: 0px;
}

.recruit_sp_subtext{
	text-align: center;
	display: none;
}
	
.recruit_sp_subtext2{
	padding: 20px;
	padding-left: 50px;
	padding-right: 50px;
	padding-bottom: 6px;
	font-size: 18px;
	text-align: center;
	display: none;
}

.recruit_sp_btn{
	text-align: center;
	margin-left: auto;
	margin-right: auto;
}

.video_yajirushi_size{
	
}

.top-description-btn {
	box-sizing: border-box;
	width: 350px;
	padding: 1rem;
	color: #00a0e9;
	background-color: #00a0e9;
	display: inline-block;
	margin-top: 1rem;
	font-size: 1.8rem;
	font-weight: 700;
	letter-spacing: 2px;
  position: relative;
}

/* ボタンのCSS */
.top-description-btn span {
  position: relative;
  z-index: 1;
}

.top-description-btn::before,
.top-description-btn::after {
  content: "";
  display: block;
  background-color: #fff;
  width: 50%;
  height: 100%;
  position: absolute;
  top: 0;
  transition: .2s;
}
.top-description-btn::before {
  left: 0;
}
.top-description-btn::after {
  right: 0;
}
.top-description-btn:hover:before,
.top-description-btn:hover:after {
  width: 0;
  background-color: #fff;
}
.top-description-btn:hover {
  color: #fff;
}
	
}

@media all and (min-width:640px) and (max-width:1016px){

.recruit_video{
	width: 40%;
}

.recruit_sp{
	width: 60%;
	color: #ffffff;
	font-size: 20px;
}

.video_size{
	width: 100%;
	display: block;
}

.recruit_video_a{
	text-decoration: none;
}

.recruit_video_a:hover{
	text-decoration: none;
}

.recruit_sp_text{
	text-align: center;
	font-size: 26px;
	font-weight: bold;
	padding-top: 0px;
}

.recruit_sp_subtext{
	text-align: center;
	display: none;
}
	
.recruit_sp_subtext2{
	padding: 20px;
	padding-left: 50px;
	padding-right: 50px;
	padding-bottom: 6px;
	font-size: 18px;
	text-align: center;
	display: none;
}

.recruit_sp_btn{
	text-align: center;
	margin-left: auto;
	margin-right: auto;
}

.video_yajirushi_size{
	
}

.top-description-btn {
	box-sizing: border-box;
	width: 288px;
	padding: 1rem;
	color:
	#00a0e9;
	background-color:
	#00a0e9;
	display: inline-block;
	margin-top: 0.8rem;
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: 2px;
	position: relative;
}

/* ボタンのCSS */
.top-description-btn span {
  position: relative;
  z-index: 1;
}

.top-description-btn::before,
.top-description-btn::after {
  content: "";
  display: block;
  background-color: #fff;
  width: 50%;
  height: 100%;
  position: absolute;
  top: 0;
  transition: .2s;
}
.top-description-btn::before {
  left: 0;
}
.top-description-btn::after {
  right: 0;
}
.top-description-btn:hover:before,
.top-description-btn:hover:after {
  width: 0;
  background-color: #fff;
}
.top-description-btn:hover {
  color: #fff;
}
	
}

@media (max-width: 639px) {
	
.recruit_video{
	width: 100%;
}

.recruit_sp{
	width: 100%;
	color: #ffffff;
	font-size: 20px;
}

.video_size{
	width: 100%;
	display: block;
}

.recruit_video_a{
	text-decoration: none;
}

.recruit_video_a:hover{
	text-decoration: none;
}

.recruit_sp_text{
	text-align: center;
	font-size: 26px;
	font-weight: bold;
	padding-top: 10px;
}

.recruit_sp_subtext{
	text-align: center;
	display: block;
	font-size: 16px;
}
	
	
.recruit_sp_subtext2{
	padding: 20px;
	padding-left: 50px;
	padding-right: 50px;
	padding-bottom: 6px;
	font-size: 16px;
	text-align: center;
	display: block;
}

.recruit_sp_btn{
	text-align: center;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 27px;
}

.video_yajirushi_size{
	
}

.top-description-btn {
	box-sizing: border-box;
	width: 288px;
	padding: 1rem;
	color:
	#00a0e9;
	background-color:
	#00a0e9;
	display: inline-block;
	margin-top: 0.8rem;
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: 2px;
	position: relative;
}

/* ボタンのCSS */
.top-description-btn span {
  position: relative;
  z-index: 1;
}

.top-description-btn::before,
.top-description-btn::after {
  content: "";
  display: block;
  background-color: #fff;
  width: 50%;
  height: 100%;
  position: absolute;
  top: 0;
  transition: .2s;
}
.top-description-btn::before {
  left: 0;
}
.top-description-btn::after {
  right: 0;
}
.top-description-btn:hover:before,
.top-description-btn:hover:after {
  width: 0;
  background-color: #fff;
}
.top-description-btn:hover {
  color: #fff;
}
	
}


.top_online_area{
	background-image: url("../img/index/online_bk.webp");
	background-size: 100%;
	width: 100%;
	border: solid 3px #00306c;
}

.online-left-area{
	width: 40%;
	float: left;
	text-align: center;
}

.online-right-area{
	width: 60%;
	float: left;
}

.online-title{
	background-color: #00306c;
	color: #ffffff;
	padding-left: 20px;
	padding-right: 20px;
	padding-top: 10px;
	padding-bottom: 10px;
	font-weight: bold;
	font-size: 30px;
	width: 50%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 50px;
	margin-bottom: 30px;
	text-align: center;
}

.online-text{
	font-size: 18px;
	width: 80%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 30px;
	margin-bottom: 10px;
	text-align: center;
}

.online_btn{
	width: 50%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 0px;
	margin-bottom: 55px;
	text-align: center;
}

.top-description-btn2 {
	box-sizing: border-box;
	width: 400px;
	padding: 2rem;
	color: #00306c;
	background-color: #00306c;
	display: inline-block;
	margin-top: 3rem;
	font-size: 2rem;
	font-weight: 700;
	letter-spacing: 2px;
  position: relative;
}

.top-description-btn2 span {
  position: relative;
  z-index: 1;
}

.top-description-btn2::before,
.top-description-btn2::after {
  content: "";
  display: block;
  background-color: #fff;
  width: 50%;
  height: 100%;
  position: absolute;
  top: 0;
  transition: .2s;
}
.top-description-btn2::before {
  left: 0;
}
.top-description-btn2::after {
  right: 0;
}
.top-description-btn2:hover:before,
.top-description-btn2:hover:after {
  width: 0;
  background-color: #fff;
}
.top-description-btn2:hover {
  color: #fff;
}

@media (max-width: 480px) {
.top_solution2 {
    padding: 10px 10px;
    padding-top: 85px;
    padding-bottom: 0px;
}
	
.top_online_area{
	background-image: url("../img/index/online_bk.webp");
	background-size: cover;
	width: 100%;
	border: solid 3px #00306c;
}

.online-left-area{
	width: 0%;
	float: left;
	text-align: center;
}

.online-right-area{
	width: 100%;
	float: left;
}

.online-title{
	background-color: #00306c;
	color: #ffffff;
	padding-left: 20px;
	padding-right: 20px;
	padding-top: 10px;
	padding-bottom: 10px;
	font-weight: bold;
	font-size: 20px;
	width: 80%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 20px;
	margin-bottom: 10px;
	text-align: center;
}

.online-text{
	font-size: 16px;
	width: 80%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 10px;
	margin-bottom: 10px;
	text-align: center;
}

.online_btn{
	width: 50%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 0px;
	margin-bottom: 20px;
	text-align: center;
}

.top-description-btn2 {
	box-sizing: border-box;
	width: auto;
	padding: 1rem;
	padding-left: 2rem;
	padding-right: 2rem;
	color: #00306c;
	background-color: #00306c;
	display: inline-block;
	margin-top: 1rem;
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: 2px;
  position: relative;
}

.top-description-btn2 span {
  position: relative;
  z-index: 1;
}

.top-description-btn2::before,
.top-description-btn2::after {
  content: "";
  display: block;
  background-color: #fff;
  width: 50%;
  height: 100%;
  position: absolute;
  top: 0;
  transition: .2s;
}
.top-description-btn2::before {
  left: 0;
}
.top-description-btn2::after {
  right: 0;
}
.top-description-btn2:hover:before,
.top-description-btn2:hover:after {
  width: 0;
  background-color: #fff;
}
.top-description-btn2:hover {
  color: #fff;
}
}
	
@media all and (min-width:481px) and (max-width:640px){

.top_solution2 {
    padding: 10px 10px;
    padding-top: 85px;
    padding-bottom: 0px;
}
	
.top_online_area{
	background-image: url("../img/index/online_bk.webp");
	background-size: cover;
	width: 100%;
	border: solid 3px #00306c;
}

.online-left-area{
	width: 0%;
	float: left;
	text-align: center;
}

.online-right-area{
	width: 100%;
	float: left;
}

.online-title{
	background-color: #00306c;
	color: #ffffff;
	padding-left: 20px;
	padding-right: 20px;
	padding-top: 10px;
	padding-bottom: 10px;
	font-weight: bold;
	font-size: 20px;
	width: 80%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 20px;
	margin-bottom: 10px;
	text-align: center;
}

.online-text{
	font-size: 16px;
	width: 80%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 10px;
	margin-bottom: 10px;
	text-align: center;
}

.online_btn{
	width: 50%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 0px;
	margin-bottom: 20px;
	text-align: center;
}

.top-description-btn2 {
	box-sizing: border-box;
	width: auto;
	padding: 1rem;
	padding-left: 2rem;
	padding-right: 2rem;
	color: #00306c;
	background-color: #00306c;
	display: inline-block;
	margin-top: 1rem;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 2px;
  position: relative;
}

.top-description-btn2 span {
  position: relative;
  z-index: 1;
}

.top-description-btn2::before,
.top-description-btn2::after {
  content: "";
  display: block;
  background-color: #fff;
  width: 50%;
  height: 100%;
  position: absolute;
  top: 0;
  transition: .2s;
}
.top-description-btn2::before {
  left: 0;
}
.top-description-btn2::after {
  right: 0;
}
.top-description-btn2:hover:before,
.top-description-btn2:hover:after {
  width: 0;
  background-color: #fff;
}
.top-description-btn2:hover {
  color: #fff;
}
}
	
@media all and (min-width:641px) and (max-width:800px){
	
.top_online_area{
	background-image: url("../img/index/online_bk.webp");
	background-size: cover;
	width: 100%;
	border: solid 3px #00306c;
}

.online-left-area{
	width: 0%;
	float: left;
	text-align: center;
}

.online-right-area{
	width: 100%;
	float: left;
}

.online-title{
	background-color: #00306c;
	color: #ffffff;
	padding-left: 20px;
	padding-right: 20px;
	padding-top: 10px;
	padding-bottom: 10px;
	font-weight: bold;
	font-size: 20px;
	width: 50%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 20px;
	margin-bottom: 10px;
	text-align: center;
}

.online-text{
	font-size: 17px;
	width: 80%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 10px;
	margin-bottom: 10px;
	text-align: center;
}

.online_btn{
	width: 50%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 0px;
	margin-bottom: 20px;
	text-align: center;
}

.top-description-btn2 {
	box-sizing: border-box;
	width: auto;
	padding: 2rem;
	color: #00306c;
	background-color: #00306c;
	display: inline-block;
	margin-top: 1rem;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 2px;
  position: relative;
}

.top-description-btn2 span {
  position: relative;
  z-index: 1;
}

.top-description-btn2::before,
.top-description-btn2::after {
  content: "";
  display: block;
  background-color: #fff;
  width: 50%;
  height: 100%;
  position: absolute;
  top: 0;
  transition: .2s;
}
.top-description-btn2::before {
  left: 0;
}
.top-description-btn2::after {
  right: 0;
}
.top-description-btn2:hover:before,
.top-description-btn2:hover:after {
  width: 0;
  background-color: #fff;
}
.top-description-btn2:hover {
  color: #fff;
}
}

@media all and (min-width:801px) and (max-width:1071px){
.top_online_area{
	background-image: url("../img/index/online_bk.webp");
	background-size: cover;
	width: 100%;
	border: solid 3px #00306c;
	background-repeat: no-repeat;
}

.online-left-area{
	width: 20%;
	float: left;
	text-align: center;
}

.online-right-area{
	width: 80%;
	float: left;
}

.online-title{
	background-color: #00306c;
	color: #ffffff;
	padding-left: 20px;
	padding-right: 20px;
	padding-top: 10px;
	padding-bottom: 10px;
	font-weight: bold;
	font-size: 24px;
	width: 50%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 30px;
	margin-bottom: 20px;
	text-align: center;
}

.online-text{
	font-size: 16px;
	width: 80%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 20px;
	margin-bottom: 0px;
	text-align: center;
}

.online_btn{
	width: 50%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 0px;
	margin-bottom: 40px;
	text-align: center;
}

.top-description-btn2 {
	box-sizing: border-box;
	width: auto;
	padding: 2rem;
	color: #00306c;
	background-color: #00306c;
	display: inline-block;
	margin-top: 3rem;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 2px;
  position: relative;
}

.top-description-btn2 span {
  position: relative;
  z-index: 1;
}

.top-description-btn2::before,
.top-description-btn2::after {
  content: "";
  display: block;
  background-color: #fff;
  width: 50%;
  height: 100%;
  position: absolute;
  top: 0;
  transition: .2s;
}
.top-description-btn2::before {
  left: 0;
}
.top-description-btn2::after {
  right: 0;
}
.top-description-btn2:hover:before,
.top-description-btn2:hover:after {
  width: 0;
  background-color: #fff;
}
.top-description-btn2:hover {
  color: #fff;
}	
}
	
@media all and (min-width:1072px) and (max-width:1499px){
.top_online_area{
	background-image: url("../img/index/online_bk.webp");
	background-size: cover;
	width: 100%;
	border: solid 3px #00306c;
	background-repeat: no-repeat;
}

.online-left-area{
	width: 30%;
	float: left;
	text-align: center;
}

.online-right-area{
	width: 70%;
	float: left;
}

.online-title{
	background-color: #00306c;
	color: #ffffff;
	padding-left: 20px;
	padding-right: 20px;
	padding-top: 10px;
	padding-bottom: 10px;
	font-weight: bold;
	font-size: 25px;
	width: 50%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 50px;
	margin-bottom: 30px;
	text-align: center;
}

.online-text{
	font-size: 17px;
	width: 80%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 30px;
	margin-bottom: 10px;
	text-align: center;
}

.online_btn{
	width: 50%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 0px;
	margin-bottom: 55px;
	text-align: center;
}

.top-description-btn2 {
	box-sizing: border-box;
	width: auto;
	padding: 2rem;
	color: #00306c;
	background-color: #00306c;
	display: inline-block;
	margin-top: 3rem;
	font-size: 2rem;
	font-weight: 700;
	letter-spacing: 2px;
  position: relative;
}

.top-description-btn2 span {
  position: relative;
  z-index: 1;
}

.top-description-btn2::before,
.top-description-btn2::after {
  content: "";
  display: block;
  background-color: #fff;
  width: 50%;
  height: 100%;
  position: absolute;
  top: 0;
  transition: .2s;
}
.top-description-btn2::before {
  left: 0;
}
.top-description-btn2::after {
  right: 0;
}
.top-description-btn2:hover:before,
.top-description-btn2:hover:after {
  width: 0;
  background-color: #fff;
}
.top-description-btn2:hover {
  color: #fff;
}
}


.space50{
	margin-top: 50px;
}

.document-font{
	color: #ffffff;
	font-size: 40px;
	text-shadow:3px 3px 2px #666666; 
}

.document-btn{
	box-sizing: border-box;
	width: 90%;
	padding: 2rem;
	color: #ffffff;
	background-color: #00306c;
	display: inline-block;
	margin-top: 1rem;
	font-size: 15px;
	font-weight: bold;
	letter-spacing: 2px;
  	position: relative;
	text-align: center;
}

.document-btn:hover{
	box-sizing: border-box;
	width: 90%;
	padding: 2rem;
	color: #ffffff;
	background-color: #00306c;
	display: inline-block;
	margin-top: 1rem;
	font-size: 15px;
	font-weight: bold;
	letter-spacing: 2px;
  	position: relative;
	text-align: center;
	opacity: 0.8;
}

.document-btn-a{
	color: #ffffff;
	text-decoration: none;
}

.document-btn-a:hover{
	color: #ffffff;
	text-decoration: none;
}
/* ============================================================
   D-QUICK index maincont 可読性リファイン（スコープ: .dq-refine）
   ※ 既存カラーパレット（#00306c / #e8f2ff 系）のみ使用。
     色調は変更せず、余白・区切り・行間・整列のみを調整。
   ============================================================ */

/* --- セクション間の余白 --- */
.dq-refine .heading {
    margin-top: 80px;
    margin-bottom: 45px;
}
.dq-refine > .row:first-child .heading,
.dq-refine .heading#outline {
    margin-top: 0;
}

/* --- 概要リード文 --- */
.dq-refine .dq-lead {
    font-size: 16px;
    line-height: 2.0;
    letter-spacing: 0.4px;
    max-width: 900px;
    margin: 0 auto 40px;
}

/* --- 全幅ヒーロー画像（概要・拡張性） --- */
.dq-refine .dq-hero-img {
    margin: 10px auto 20px;
}
.dq-refine .dq-hero-img img {
    width: 85%;
    height: auto;
}

/* --- カードグリッド（等間隔・等高） --- */
.dq-refine .dq-grid {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
}
.dq-refine .dq-grid::before,
.dq-refine .dq-grid::after {
    display: none;
}
.dq-refine .dq-grid > .product-detail {
    display: -webkit-flex;
    display: flex;
    float: none;
    margin-bottom: 30px;
}

/* --- カード本体 --- */
.dq-refine .dq-card {
    width: 100%;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    flex-direction: column;
    background: #fff;
    border: 1px solid #e5ebf3;
    border-top: 3px solid #00306c;
    border-radius: 8px;
    padding: 26px 28px;
    box-shadow: 0 2px 12px rgba(0, 48, 108, 0.06);
}

/* --- カード見出し --- */
.dq-refine .dq-card .lead-type-2 {
    font-size: 16px;
    font-weight: bold;
    line-height: 1.5;
    letter-spacing: 0.4px;
    margin: 0 0 14px;
    padding-bottom: 14px;
    border-bottom: 1px solid #e8f2ff;
}
.dq-refine .dq-card .lead-type-2 .label {
    margin-right: 10px;
    vertical-align: middle;
    font-size: 14px;
    padding: 0.35em 0.9em 0.4em;
    line-height: 1;
}

/* --- 概要：製品ラインナップの導入見出し --- */
.dq-refine .dq-subhead {
    font-size: 20px;
    font-weight: bold;
    line-height: 1.5;
    letter-spacing: 0.5px;
    color: #00306c;
    margin: 0 0 12px;
    padding-left: 14px;
    border-left: 4px solid #00306c;
}
.dq-refine .dq-subhead-lead {
    font-size: 15px;
    line-height: 1.9;
    letter-spacing: 0.3px;
    margin: 0 0 8px;
}

/* --- カード本文 --- */
.dq-refine .dq-card p {
    font-size: 15px;
    line-height: 1.9;
    letter-spacing: 0.3px;
    margin: 0;
}
.dq-refine .dq-card p + p {
    margin-top: 14px;
}

/* --- 導入効果リスト --- */
.dq-refine .dq-benefit-list {
    margin: 0;
    padding-left: 1.2em;
    list-style: disc;
}
.dq-refine .dq-benefit-list li {
    font-size: 15px;
    line-height: 1.85;
    letter-spacing: 0.3px;
    margin-bottom: 8px;
}

/* --- カード内画像（下端でそろえる） --- */
.dq-refine .dq-card .image-box {
    margin-top: auto;
    padding-top: 20px;
}
.dq-refine .dq-card .image-box img {
    width: 100%;
    height: 200px;
    object-fit: contain;
}

/* --- レスポンシブ --- */
@media (max-width: 767px) {
    .dq-refine .heading {
        margin-top: 56px;
    }
    .dq-refine .dq-card {
        padding: 20px 20px;
    }
    .dq-refine .dq-card .image-box img {
        height: 170px;
    }
    .dq-refine .dq-hero-img img {
        width: 100%;
    }
    .dq-refine .dq-lead {
        line-height: 1.9;
    }
}
/* === D-QUICK maincont リファイン ここまで === */

/* ============================================================
   D-QUICK index maincont 可読性リファイン（カード無し版: .dq-plain）
   ※ 同一コンテンツをカードの枠/影/背景なしのフラット表示に。
     色調は変更せず、余白・区切り・行間・整列のみを調整。
   ============================================================ */

/* --- セクション間の余白 --- */
.dq-plain .heading {
    margin-top: 80px;
    margin-bottom: 45px;
}
.dq-plain > .row:first-child .heading,
.dq-plain .heading#outline {
    margin-top: 0;
}

/* --- 概要リード文 --- */
.dq-plain .dq-lead {
    font-size: 16px;
    line-height: 2.0;
    letter-spacing: 0.4px;
    max-width: 900px;
    margin: 0 auto 40px;
}

/* --- 全幅ヒーロー画像（概要・拡張性） --- */
.dq-plain .dq-hero-img {
    margin: 10px auto 20px;
}
.dq-plain .dq-hero-img img {
    width: 85%;
    height: auto;
}

/* --- 概要：製品ラインナップの導入見出し --- */
.dq-plain .dq-subhead {
    font-size: 20px;
    font-weight: bold;
    line-height: 1.5;
    letter-spacing: 0.5px;
    color: #00306c;
    margin: 0 0 12px;
    padding-left: 14px;
    border-left: 4px solid #00306c;
}
.dq-plain .dq-subhead-lead {
    font-size: 15px;
    line-height: 1.9;
    letter-spacing: 0.3px;
    margin: 0 0 8px;
}

/* --- グリッド（枠なしでも整列） --- */
.dq-plain .dq-grid {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
}
.dq-plain .dq-grid::before,
.dq-plain .dq-grid::after {
    display: none;
}
.dq-plain .dq-grid > .product-detail {
    display: -webkit-flex;
    display: flex;
    float: none;
    margin-bottom: 40px;
}

/* --- カード無し（フラット表示：枠/影/背景なし） --- */
.dq-plain .dq-card {
    width: 100%;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    flex-direction: column;
    background: none;
    border: none;
    border-radius: 0;
    box-shadow: none;
    padding: 0;
}

/* --- 見出し（下線アクセントで区切り） --- */
.dq-plain .dq-card .lead-type-2 {
    font-size: 17px;
    font-weight: bold;
    line-height: 1.5;
    letter-spacing: 0.4px;
    margin: 0 0 12px;
    padding-bottom: 10px;
    border-bottom: 2px solid #e8f2ff;
}
.dq-plain .dq-card .lead-type-2 .label {
    margin-right: 10px;
    vertical-align: middle;
    font-size: 14px;
    padding: 0.35em 0.9em 0.4em;
    line-height: 1;
}

/* --- 本文 --- */
.dq-plain .dq-card p {
    font-size: 15px;
    line-height: 1.9;
    letter-spacing: 0.3px;
    margin: 0;
}
.dq-plain .dq-card p + p {
    margin-top: 14px;
}

/* --- 導入効果リスト --- */
.dq-plain .dq-benefit-list {
    margin: 0;
    padding-left: 1.2em;
    list-style: disc;
}
.dq-plain .dq-benefit-list li {
    font-size: 15px;
    line-height: 1.85;
    letter-spacing: 0.3px;
    margin-bottom: 8px;
}

/* --- 画像（下端でそろえる） --- */
.dq-plain .dq-card .image-box {
    margin-top: auto;
    padding-top: 18px;
}
.dq-plain .dq-card .image-box img {
    width: 100%;
    height: 200px;
    object-fit: contain;
}

/* --- レスポンシブ --- */
@media (max-width: 767px) {
    .dq-plain .heading {
        margin-top: 56px;
    }
    .dq-plain .dq-card .image-box img {
        height: 170px;
    }
    .dq-plain .dq-hero-img img {
        width: 100%;
    }
    .dq-plain .dq-lead {
        line-height: 1.9;
    }
}
/* === D-QUICK maincont カード無し版 ここまで === */
