@charset "UTF-8";
/* CSS Document */
html,body{
    width: 100%;
}

html {
  background-color: transparent;
  background-image: none;
}

body{
	font-family: Avenir, 'Helvetica Neue', Helvetica, Arial, Verdana, Roboto, 游ゴシック, 'Yu Gothic', 游ゴシック体, YuGothic, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
    line-height: 180%;
    text-align: justify;
    color: #495057;
	background:#000;
    -webkit-font-smoothing: antialiased;
	-webkit-text-size-adjust:100%
}

.bodyWrap{
	background: #fff;
}

a{
	outline:none;
	color:#ed3a38;
	text-decoration:none;
}
a:link {
	color:#1c7cd6;
}
a:visited {
	color:#1c7cd6;
}
a:hover {
	color:#1862ab;
}
a:active {
	color:#1c7cd6;
}

/* img ------------------------------------*/

img{
	max-width: 100%;
	margin-bottom: 1rem;
	height: auto;
}

a:hover img{
	opacity:0.8;
}

/* spMenu ------------------------------------*/

.spMenu{
	display:none;
}

/* .pcOnly .spOnly------------------------------------*/
.pcOnly{
	
}

.spOnly{
	display:none;
}

/* .cf ------------------------------------*/
.cf:before, .cf:after {content:' '; display:table;}
.cf:after {clear:both;}
.cf {*zoom: 1;} /* For IE 6/7*/

/* .inner ------------------------------------*/
.inner{
	width:990px;
	min-width:990px;
	margin:0 auto;
	padding:0;
	box-sizing: border-box;
}
.inner:after{
    content: ".";
    display: block;
    height: 0;
    font-size:0;
    clear: both;
	visibility:hidden;
}

.spMenu button{
	border:0;
}

/* header ------------------------------------*/

header{
    margin: 0;
    padding:0;
	display:block;
	width: 100%;
	min-width: 990px;;
	background: #fff;
	position:relative;
	height: 80px;
}

header .logo{
    position: absolute;
	top:20px;
	left:20px;
	width: 495px;
}

header .toIndexLink{
    position: absolute;
	bottom:1rem;
	left:540px;
	width: 495px;
}

header .logo a{
	display: block;
}

header .headerNav{
	position: absolute;
	top:20px;
	right:30px;
	display: flex;
	flex-direction: row;
	align-items: center;
}

header .headerNav li{
	padding: 0 1rem;
}

header .headerNav li:nth-of-type(1) a{
	font-size: 80%;
	color: #333;
}

.globalNav{
	width: 100%;
	min-width: 990px;;
	background: #1d5198;
}

.globalNav ul{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}

.globalNav ul li{
	width: 148px;
	height: 92px;
	box-sizing: border-box;
}

.globalNav ul li:nth-of-type(1){
	width: 100px;
}

.globalNav ul li a{
	border-right: 1px solid #fff;
	text-align: center;
	color: #fff;
	line-height: 150%;
	box-sizing: border-box;
	font-family: "Noto Sans Japanese", Avenir, 'Helvetica Neue', Helvetica, Arial, Verdana, Roboto, 游ゴシック, 'Yu Gothic', 游ゴシック体, YuGothic, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	font-weight: 700;
	letter-spacing: 0.1rem;
	font-size: 90%;
	width: 178px;
	height: 92px;
	display: table-cell;
    vertical-align: middle;
}

.globalNav ul li:nth-of-type(1) a{
	width: 100px;
}

.globalNav ul li:nth-of-type(1) a{
	border-left: 1px solid #fff;
}

.globalNav ul li a:hover{
	background: #3e71b6;
}

#products01 .globalNav ul li:nth-of-type(3) a,
#products02 .globalNav ul li:nth-of-type(4) a,
#products03 .globalNav ul li:nth-of-type(5) a,
#products04 .globalNav ul li:nth-of-type(6) a,
#caseStudies .globalNav ul li:nth-of-type(7) a{
	background: #3e71b6;
}


.globalNav ul li a .jpn{
	/*margin-bottom: 8px;*/
}

.globalNav ul li a .eng{
	font-size: 60%;
	font-weight: 500;
	letter-spacing: 0.05rem;
	-webkit-transform: scale(0.9);
    -webkit-transform-origin:0 50;
}

/* footerContact ------------------------------------*/
.footerContact{
	width: 100%;
	min-width: 990px;
	background: #fffedd;
	padding: 2rem 0;
	border-top: 1px solid #ccc;
}

.footerContact .inner{
	display: flex;
}

.footerContact .inner > div{
	width: 50%;
	padding: 0 2rem;
}

.footerContact .inner > div:nth-of-type(1){
	text-align: right;
}

.footerContact .btnStyle{
	margin-bottom: 1rem;
}

.footerContact .btnStyle a{
	/*text-align:center !important;*/
	width: 376px;
	box-sizing: border-box;
}

/* footer ------------------------------------*/

footer {
    width: 100%;
	min-width: 990px;
	padding:3rem 0;
    box-sizing: border-box;
	background:#ffff;
}

footer a{
    color:#1c7cd6;
}

footer h2{
	margin-bottom: 2rem;
}

footer p.adress{
	font-size:85%;
	line-height: 240%
}

footer p.adress a{
	color:#495057;
	text-decoration:none;
}

footer p.copyright{
	font-size:75%;
	margin:20px 0 0 0;
	letter-spacing:0.1em;
}

#toPageTop{
	position: fixed;
	bottom: 10px;
	right: 10px;
	z-index:998;
}

.annotation{
	font-size:75%;
	margin-bottom: 2rem;
	line-height: 150%;
}

/* btnStyle ------------------------------------*/

.btnStyle{
	/*text-align:center !important;*/
}

.btnStyle a {
	padding:15px 60px;
	text-align:center;
	border-radius:10px;
	border:1px solid #fff;
	background:#ef8200;
	color:#fff;
	font-weight:bold;
	letter-spacing:2px;
	line-height:140%;
	display:inline-block;
	font-size:100%;
}

.btnStyle a:hover {
	background:#f99927;
	color:#fff;
}

/* section ------------------------------------*/
.section{
	padding: 4rem 0; 
}
.section p{
	margin-bottom: 1rem;
}

/* mainImg ------------------------------------*/
.mainImg{
	background:
		url(../img/mainImgBg01.png) center top no-repeat,
		url(../img/mainImgBg02.png) center bottom no-repeat;
	background-size:100%;
	padding: 4rem 0;
}

.mainImg.mainGreen{
	background:
		url(../img/mainImgBg01_green.png) center top no-repeat,
		url(../img/mainImgBg02_green.png) center bottom no-repeat;
		background-size:100%;
	padding: 4rem 0;
}


/* index ------------------------------------*/

.indexMain{
	text-align: center;
}

.m2mGatewayLogo{
	margin: 0 0 1rem 0;
}

.indexMainCopy{
	margin: 0 auto 2rem auto;
	text-align: center;
	font-family: "Noto Sans Japanese", Avenir, 'Helvetica Neue', Helvetica, Arial, Verdana, Roboto, 游ゴシック, 'Yu Gothic', 游ゴシック体, YuGothic, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	font-weight: 700;
	font-size: 3rem;
	line-height: 150%;
	color: #e84746;
	letter-spacing: -0.05rem
}

.indexMainLead{
	margin: 0 auto 3rem auto;
	text-align: center;
	font-family: "Noto Sans Japanese", Avenir, 'Helvetica Neue', Helvetica, Arial, Verdana, Roboto, 游ゴシック, 'Yu Gothic', 游ゴシック体, YuGothic, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	font-weight: 700;
	font-size: 1.2rem;
	line-height: 180%;
	
}




.indexMain .ttlLead{
	margin: 0 auto 4rem auto;
	padding: 0.5rem 0;
	text-align: center;
	font-family: "Noto Sans Japanese", Avenir, 'Helvetica Neue', Helvetica, Arial, Verdana, Roboto, 游ゴシック, 'Yu Gothic', 游ゴシック体, YuGothic, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	font-weight: 700;
	font-size: 150%;
	color: #fff;
	background: #e84746;
	width: 80%;
	border-radius: 5px;
}

.indexMainImg {
    margin: 0;
}

.iotDescription{
	width: 800px;
	margin: 3rem auto;
	padding: 2rem 0;
	border-bottom: 1px solid #ccc;
	border-top: 1px solid #ccc;
	display: flex;
	align-items: center;
	
}

.iotDescription h3{
	width: 250px;
	color: #1e5199;
	font-size: 1.2rem;
}

.iotDescription p{
	width: 550px;
	text-align: left;
	font-size: 85%;
}

.indexPac h2.pacTtl{
	width: 100%;
	padding: 2rem 0;
	text-align: center;
	font-family: "Noto Sans Japanese", Avenir, 'Helvetica Neue', Helvetica, Arial, Verdana, Roboto, 游ゴシック, 'Yu Gothic', 游ゴシック体, YuGothic, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	font-weight: 700;
	letter-spacing: 0.1rem;
	font-size: 200%;
	background: #1d5198;
	color: #fff;
}

.indexPac h2.pacTtl div{
	font-size: 50%;
	margin-bottom: 1rem;
}

.indexPac ul li{
	padding: 2rem 0;
}

.indexPac ul li:nth-of-type(odd){
	background: #e1f0fe;
}

.indexPac ul li:nth-of-type(even){
	background: #f0f7fe;
}

.indexPac ul li .inner{
	display: flex;
	align-items: center;
}

.indexPac ul li:nth-of-type(even) .inner{
	flex-direction: row-reverse;
}

.indexPac ul li .inner .img,
.indexPac ul li .inner .txt{
	width: 50%;
}

.indexPac ul li .inner .img{
	text-align: center;
}

.indexPac ul li .inner .txt{
	padding: 1rem;
	box-sizing: border-box;
}

.indexPac ul li .inner .txt h2{
	font-family: "Noto Sans Japanese", Avenir, 'Helvetica Neue', Helvetica, Arial, Verdana, Roboto, 游ゴシック, 'Yu Gothic', 游ゴシック体, YuGothic, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	font-weight: 700;
	letter-spacing: 0.1rem;
	font-size: 200%;
	color: #1d5198;
	margin: 0 0 1.5rem 0;
}

.indexPac ul li .inner .txt h2 span{
	font-size: 50%;
	padding-left: 1rem;
}

.indexPac ul li .inner .txt h3{
	margin: 0 0 0.5rem 0;
}

.indexPac ul li .inner .txt p{
	font-size: 85%;
	margin:0 0 0.5rem 0;
}

.indexPac ul li .inner .txt p.btnStyle a{
	width: 100%;
	box-sizing: border-box;
	/*height: 70px;*/
	padding: 15px 0;
	letter-spacing:normal;
	font-size: 1rem;
}

.indexPac ul li .inner .txt .btnStyle:nth-of-type(2) a{
  /*
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	box-sizing: border-box;
	height: 70px;
  */
}

.indexPac ul li .inner .txt .btnStyle:nth-of-type(3) a{
	background: #7eb909;
}

.indexPac ul li .inner .txt .btnStyle:nth-of-type(3) a:hover{
	background: #97ca31;
}

.indexPac ul li .inner .txt .btnStyle a span{
	display: block;
	font-size: 85%;
}

/* products ------------------------------------*/

.products .ttlBlock{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;	
	margin-bottom: 2rem;
}

#products01.products .ttlBlock .txt .m2mGatewayLogo_horizon,
#products02.products .ttlBlock .txt .m2mGatewayLogo_horizon,
#products04.products .ttlBlock .txt .m2mGatewayLogo_horizon{
	margin: 0 0 4rem 0;
}


.products .ttlBlock .txt h1{
	font-family: "Noto Sans Japanese", Avenir, 'Helvetica Neue', Helvetica, Arial, Verdana, Roboto, 游ゴシック, 'Yu Gothic', 游ゴシック体, YuGothic, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	font-weight: 700;
	letter-spacing: 0.1rem;
	font-size: 400%;
	color: #1d5198;
	margin: 0 0 2rem 0;
	line-height: 120%;
}

.products .ttlBlock .txt h1 div{
	margin-top: 0rem;
	font-size: 30%;
}

.products .ttlBlock .txt h2{
	font-weight: bold;
	margin-bottom: 1rem;
}

.products .ttlBlock .txt p{
	font-weight: bold;
}

#products03.products .ttlBlock .txt h2{
	line-height: 100%;
	margin: 0 0 0.5rem 0;
}

#products03.products .ttlBlock,
#caseStudies.products .ttlBlock{
	display: block;
	text-align: center;
	color: #1d5198;
}

#products03.products .ttlBlock .txt .m2mGatewayLogo_horizon{
	margin: 0 0 2rem 0;
}

#products03.products .ttlBlock .txt > p:nth-of-type(1){
	margin: 0 auto 1rem auto;
}

.facmoniFlow{
	text-align: center;
	margin-bottom: 2rem;
}

.products .leadBlock{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items:center;
	margin: 0 0 3rem 0;
}

.products .leadBlock .txt h3{
	font-family: "Noto Sans Japanese", Avenir, 'Helvetica Neue', Helvetica, Arial, Verdana, Roboto, 游ゴシック, 'Yu Gothic', 游ゴシック体, YuGothic, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	font-weight: 700;
	letter-spacing: 0.1rem;
	font-size: 200%;
	color: #1d5198;
	margin: 0 0 1rem 0;
	line-height: 130%;
}

.products .specBlock{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	font-size: 100%;
}

.products .specBlock .hardwaer{
	width: 580px;
}

.products .specBlock .softwaer{
	width: 375px;
}

.products .specBlock .hardwaer h4{
	padding: 0.5rem;
	font-size: 120%;
	color: #1d9862;
	background: #e7f4e6;
	margin-bottom: 1rem;
}

.products .specBlock .softwaer h4{
	padding: 0.5rem;
	font-size: 120%;
	color: #1d5198;
	background: #e6eef4;
	margin-bottom: 1rem;
}

.products .specBlock .specBox{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
}

.products .specBlock .hardwaer .specBox > div{
	width: 33.3333%;
	padding: 0 1rem 0 0 ;
	box-sizing: border-box;
}

.products .specBlock .hardwaer h5{
	color: #1d9862;
	margin-bottom: 0.5rem;
}

.products .specBlock .softwaer h5{
	color: #1d5198;
}

.products .specBlock .hardwaer .specBox > div ul{
	font-size: 75%;
	line-height: 150%;
}

/*
.products .specBlock .hardwaer .specBox > div ul li:last-child{
	text-align: right;
}
*/

.products .specBlock .hardwaer .specBox > div > ul > li > ul > li{
	padding-left: 0.75rem;
}

.products .specBlock .softwaer p {
	font-size:85%;
	margin-bottom: 1rem;
}

.products .mainImg .link {
	text-align: center;
	margin: 4rem auto;
}

.products .mainImg .link .btnStyle {
    text-align: center;
    margin: 0 auto;
}

.products .mainImg .link:nth-of-type(2) .btnStyle a{
	background: #7eb909;
}

.products .mainImg .link .btnStyle a {
    width: 500px;
    padding: 20px;
}

.products .c2in1FlowBlock>div{
	background: #ffdea9;
	border-radius: 10px;
	width: 885px;
	margin: 0 auto;
	text-align: center;
	padding: 20px;
	box-sizing: border-box;
}

.products .c2in1FlowBlock>div .flow01{
	width: 100%;
	margin:  1rem auto 3rem auto;
}

.products .c2in1FlowBlock>div .flow02{
	background: #fff;
	border-radius: 10px;
	width: 100%;
	margin: 0 auto;
	padding: 40px 0;
	box-sizing: border-box;
}

.products .c2in1FlowBlock>div .flow02 h3{
	font-size: 130%;
	margin-bottom: 2rem
}

.products .products04Point span{
	color: #1d5198;
	padding: 0.5rem;

	border: 2px solid #1d5198;
	display: inline-block;
	border-radius: 10px;
	margin: 0 0.2rem;
	width: 170px;
	box-sizing: border-box;
	text-align: center;
}

/* productsPoint --------------------------*/

.productsPoint{
	background: #1d5198;
	color: #fff;
	padding: 4rem 0 0 0;
}

.productsPoint h3{
	font-family: "Noto Sans Japanese", Avenir, 'Helvetica Neue', Helvetica, Arial, Verdana, Roboto, 游ゴシック, 'Yu Gothic', 游ゴシック体, YuGothic, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	font-weight: 700;
	letter-spacing: 0.1rem;
	font-size: 200%;
	margin: 0 0 4rem 0;
	text-align: center;
}

.productsPoint dl{
	display: flex;
	flex-wrap: wrap;
	align-items:center;
	border-top: 1px dotted #fff;
	min-height: 260px;
}

#products02 .productsPoint dl{
	min-height: 150px;
}

.productsPoint dl:nth-of-type(1){
	background: url(../img/productsPoint01.png) left -10px no-repeat;
}


.productsPoint dl:nth-of-type(2){
	background: url(../img/productsPoint02.png) left -10px no-repeat;
}


.productsPoint dl:nth-of-type(3){
	background: url(../img/productsPoint03.png) left -10px no-repeat;
}


.productsPoint dl:nth-of-type(4){
	background: url(../img/productsPoint04.png) left -10px no-repeat;
}

.productsPoint dt{
	width: 360px;
	padding: 2rem 0 2rem 2rem;
	box-sizing: border-box;
	font-family: "Noto Sans Japanese", Avenir, 'Helvetica Neue', Helvetica, Arial, Verdana, Roboto, 游ゴシック, 'Yu Gothic', 游ゴシック体, YuGothic, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	font-weight: 700;
	letter-spacing: 0.1rem;
	font-size: 150%;
	line-height: 150%;
}

.productsPoint dd{
	width: 630px;
	padding: 2rem 0;
}

.productsPoint dd p{
	margin: 0.5rem 0;
	position: relative;
}

.productsPoint dd p::before{
	content: "●";
	position: absolute;
	top:0;
	left: -1rem;
}

/* grayBlock --------------------------*/

.grayBlock{
	background: #f5f5f5;
	padding: 4rem 0 0 0;
}

#products02 .grayBlock{
	background: #fff;
	padding: 4rem 0 ;
}

#products03 .grayBlock{
	padding: 4rem 0 ;
}

#products04 .grayBlock{
	background: #fff;
	padding: 4rem 0 ;
}

.grayBlock h3{
	font-family: "Noto Sans Japanese", Avenir, 'Helvetica Neue', Helvetica, Arial, Verdana, Roboto, 游ゴシック, 'Yu Gothic', 游ゴシック体, YuGothic, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	font-weight: 700;
	letter-spacing: 0.1rem;
	font-size: 200%;
	margin: 0 0 4rem 0;
	text-align: center;
	color: #1d5198;
}

#products03 .grayBlock h3{
	margin: 0 0 2rem 0;
}

.grayBlock .inner>div{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.grayBlock .inner>div dl{
	width: 48%;
	margin-bottom: 2rem;
}

.grayBlock .inner>div dl:first-child{
	width: 100%;
}

.grayBlock dt,
.grayBlock h4{
	color: #fff;
	background: #1d5198;
	padding: 0.5rem 1rem;
	font-weight: bold;
	margin-bottom: 1rem;
}

.grayBlock dd{
	padding: 0 0 0 2rem;
	box-sizing: border-box;
}
.grayBlock dd p{
	margin-bottom: 1rem;
	position: relative;
}

.grayBlock dd p::before{
	content: "●";
	position: absolute;
	top:0;
	left: -1rem;
}

.grayBlock .inner>div dl:first-child dd{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between
}

.grayBlock .inner>div dl:first-child dd p{
	width: 47%;
}

/* productsDetail ------------------------------------*/
.productsDetail h3{
	font-family: "Noto Sans Japanese", Avenir, 'Helvetica Neue', Helvetica, Arial, Verdana, Roboto, 游ゴシック, 'Yu Gothic', 游ゴシック体, YuGothic, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	font-weight: 700;
	letter-spacing: 0.1rem;
	font-size: 200%;
	margin: 0 0 4rem 0;
	text-align: center;
}


/*両サイドにライン--------------------*/

.productsDetail h3 {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	text-align: center;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	width: 100%;
	margin:0 auto 60px auto;
}
.productsDetail h3:before,
.productsDetail h3:after {
	content: '';
	-webkit-box-flex: 1;
	-webkit-flex-grow: 1;
	-ms-flex-positive: 1;
	flex-grow: 1;
	height: 1px;
	background: #495057;
	min-width: 20px;
	display: inline-block;
	vertical-align: middle;
}
.productsDetail h3:before {
	margin-right: 1rem;
}
.productsDetail h3:after {
	margin-left: 1rem;
}

.productsDetail .inner > div {
	display:flex;
	flex-wrap: wrap;
}

.productsDetail .inner > div > section{
	margin: 0 0.5rem;
	text-align: center;
}

.productsDetail .inner > div > section:nth-of-type(1){
	width:325px;
}

.productsDetail .inner > div > section:nth-of-type(2){
	width:187px;
}

.productsDetail .inner > div > section:nth-of-type(3){
	width:225px;
}

.productsDetail .inner > div > section:nth-of-type(4){
	width:186px;
}

.productsDetail .inner > div > section h4{
	color: #fff;
	background: #3070b8;
	padding: 0.5rem 1rem;
	margin-bottom: 1rem;
}

.productsDetail .inner > div > section p{
	font-size: 85%;
	line-height: 150%;
	font-weight: bold;
}

/* products03section ------------------------------------*/

.products03section.productsDetail{
	margin-bottom: 4rem;
}

.products03section h4{
	border: 1px solid #333;
	padding: 0.5rem 1rem;
	margin: 2rem 0;
}

.products03section ul.calendarPoint {
	display: flex;
	justify-content: flex-start;
	margin-bottom: 2rem;
}

.products03section ul.calendarPoint li{
	margin-right: 2rem;
}

.products03sectionSmall img{
	float: left;
	margin: 2rem 2rem 2rem 0; 
}

.products03sectionSmall div{
	overflow: hidden;
    zoom: 1;
}

.products03section ul.calendarGamen {
	display: flex;
	justify-content: space-between;
}

.products03section ul.calendarGamen li{
	width: 25%;
	padding: 0 1rem ;
	box-sizing: border-box;
	text-align: center;
	font-weight: bold;
}

.products03section ul.calendarGamen li:nth-of-type(1){
	width: 50%;
}


/* products04 ------------------------------------*/

#products04 .grayBlock .inner > div{
	display: flex;
	justify-content: space-between;
}

#products04 .products04section .inner > div{
	display: flex;
	justify-content:center;
	flex-wrap: wrap;
	width: 905px;
	margin: 0 auto 1rem auto ;
}

#products04 .products04section .inner > div img{
	margin: 0 0.5rem 1rem 0.5rem;
}

#products04 .products04section .inner > img{
	margin: 0 auto 1rem auto ;
	display: block;
}

/* caseSection ------------------------------------*/
.caseSection h3{
	width: 100%;
	padding: 3rem 1rem;
	box-sizing: border-box;
	text-align: center;
	font-family: "Noto Sans Japanese", Avenir, 'Helvetica Neue', Helvetica, Arial, Verdana, Roboto, 游ゴシック, 'Yu Gothic', 游ゴシック体, YuGothic, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	font-weight: 700;
	letter-spacing: 0.1rem;
	font-size: 200%;
	background: #f2f2f2;
	color: #1d5198;
	line-height: 150%;
}

.caseSection h4{
	padding: 2rem 0;
	font-family: "Noto Sans Japanese", Avenir, 'Helvetica Neue', Helvetica, Arial, Verdana, Roboto, 游ゴシック, 'Yu Gothic', 游ゴシック体, YuGothic, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	font-weight: 700;
	letter-spacing: 0.1rem;
	font-size: 150%;
	line-height: 150%;
}

.caseSection .inner{
	display: flex;
	justify-content: space-between;
}

.caseSection .img{
	width: 50%;
    padding: 2rem 0;
    text-align: center;
}
.caseSection .txt{
	width: 45%;
	margin-left: 5%;
}

/* table ------------------------------------*/
.table{
	width: 100%;
	line-height: 130%;
	font-size: 95%;
	margin-bottom: 1rem;
}

.table,
.table td,
.table th {
    border-collapse: collapse;
    border:1px solid #4f81bd;
	
}

.table td,
.table th {
    padding: 8px;
	vertical-align: middle
}

.table th {
	text-align: center;
}

.table tr:nth-of-type(1) th {
	background: #4f81bd;
	text-align: center;
	color: #fff;
	/*word-break: break-all;*/
}

.table td {
	text-align: center;
}

.table.table02 td {
	text-align: left;
}

.table td.txtleft{
	text-align: left;
}

.products02TableTxt{
	font-weight: bold;
	color: #1d5198;
	margin: 1rem 0;
}


/* drawer-nav ------------------------------------*/
.spMenu button{
	padding:0;
}

.drawer-nav>ul{
	padding:0 0 100px 0;
}

.drawer-nav>ul>li{
	
}

.drawer-nav>ul>li>a{
	width:100%;
	padding:15px 20px;
	box-sizing:border-box;
	border-bottom:1px solid #868e96;
	line-height:140%;
	font-family: "Noto Sans Japanese", Avenir, 'Helvetica Neue', Helvetica, Arial, Verdana, Roboto, 游ゴシック, 'Yu Gothic', 游ゴシック体, YuGothic, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	font-weight: 700;
	letter-spacing: 0.1rem;
}

.drawer-nav ul li a .jpn{
	font-size: 90%;
}

.drawer-nav ul li a .eng{
	font-size: 75%;
	font-weight: 500;
}

.drawer-nav>ul>li:last-child>a{
	/*border-bottom:1px solid #868e96;*/
}

.drawer-nav ul li.drawerLogo{
	text-align: center;
	padding:2px;
	font-size: 85%;
}

.drawer-nav ul li.drawerLogo img{
	width:100%;
	height: auto;
	display: block;
	margin: 0 auto;
}

.drawer-nav ul li.closeBtn a{
	text-align:right;
	border-top-style:none;
	padding:20px 20px;
	margin:0 ;
	font-size: 85%;
}

.drawer-nav ul li a{
	color:#fff;
	display:block;
}

.drawer-nav ul li a:hover{
	background:#3e71b6;
}

.drawer-nav ul li a span {
	display:block;
	font-size:80%;
	padding:0;
}

.drawer-nav ul li a img {
	height: auto;
	width: 15px;
	margin: 4px 15px 0 0;
}

.drawer-nav ul li ul li a{
	width:100%;
	padding:10px 20px 10px 40px;
	box-sizing:border-box;
	margin:0;
	border-bottom:1px dotted #fff;
	line-height:140%;
	font-size:90%;
	display:block;
}

.drawer-nav ul li ul li:first-child a{
	padding:10px 20px 10px 40px;
	border-top:1px dotted #fff;
}

.drawer-nav ul li ul li:last-child a{
	padding:10px 20px 10px 40px;
	border-bottom-style:none;
}

/* -------------------------------------------------------*/
/* -------------------------------------------------------*/
/* max-width: 768px ------------------------------------*/
/* -------------------------------------------------------*/
/* -------------------------------------------------------*/

@media only screen and (max-width: 768px) {

/* spMenu ------------------------------------*/
.spMenu{
	display:block;
	position:absolute;
	top:0;
	right:0;
	z-index:99999;
}

/* .pcOnly .spOnly------------------------------------*/
.pcOnly{
	display:none;
}

.spOnly{
	display:block;
}

/* float ------------------------------------*/
.floatLeft{
    float:none;
	margin:0 0 20px 0;
}

.floatRight{
    float:none;
	margin:0 0 20px 0;
}

img.floatRight{
    width:100%;
	height:auto;
}

.floatTxt{
	width:100%;
}

.spMenu{
	display:block;
	position:absolute;
	top:0;
	right:0;
	z-index:99999;
}

.spMenu button{
	border:0;
}

/* .wrapper ------------------------------------*/
.wrapper{
	min-width:100%;
}

/* .inner ------------------------------------*/
.inner{
	width:100%;
	min-width:100%;
	box-sizing:border-box;
	padding-right:20px;
	padding-left:20px;
}

/* section ------------------------------------*/
.section,
.mainGreen.section{
	padding: 2rem 0; 
}

/* header ------------------------------------*/

header{
	min-width: 100%;;
	height: 50px;
}

header .logo{
    position: absolute;
	top:15px;
	left:10px;
	width: calc(100% - 50px);
}

header .logo a img:nth-of-type(1){
	width: 10%;
	height: auto;
	max-width: 40px;
}

header .logo a img:nth-of-type(2){
	width: 80%;
	height: auto;
	max-width: 320px;
}

header .headerNav{
	display: none;
}

.globalNav{
	display: none;
}


/* footerContact ------------------------------------*/
.footerContact{
	
	min-width: 100%;
}

.footerContact .inner{
	display: block;
}

.footerContact .inner > div{
	width: 100%;
	padding: 0 0 1rem 0;
	text-align: center;
}

.footerContact .inner > div img{
	max-width: 100%;
}

.footerContact .inner > div:nth-of-type(1){
	text-align: center;
}

.footerContact .btnStyle{
	
}

.footerContact .btnStyle a{
	/*text-align:center !important;*/
	width: 100%;
}

/* footer ------------------------------------*/

footer {
	min-width: 100%;
	text-align: left;
}

footer h2 img:nth-of-type(1){
	width: 10%;
	height:auto;
}

footer h2 img:nth-of-type(2){
	width: 80%;
	height:auto;
}

footer h2 span{
	display:block;
}

footer .footerAdressBlock{
	width:100%;
	margin:0 0 30px 0;
}

#toPageTop{
	position: fixed;
	bottom: 10px;
	right: 10px;
	z-index:998;
}

/* btnStyle ------------------------------------*/

.btnStyle{
	
}

.btnStyle a {
	display:block;
	width:100%;
	padding:15px;
	box-sizing:border-box;
	text-align:center;
	letter-spacing:0.05em;
	font-size:85%;
}

/* index ------------------------------------*/

.indexMainCopy{
	font-size: 1.5rem;
	letter-spacing: normal;
}

.indexMainCopy br{
	display: none;
}

.indexMainLead{
	font-size: 1rem;
	line-height: 180%;
	text-align: left;
}

.indexMainLead br{
	display: none;
}

.indexMain .ttlLead{
	margin: 0 auto 2rem auto;
	padding: 1rem 0;
	font-size: 100%;
	width: 100%;
}

.iotDescription{
	width: 100%;
	margin: 2rem auto;
	display: block;
}

.iotDescription h3{
	width: 100%;
	font-size: 1.5rem;
	margin-bottom: 1rem;
}

.iotDescription p{
	width: 100%;
}

.indexPac h2.pacTtl{
	width: 100%;
	padding: 2rem 0;
	text-align: center;
	font-family: "Noto Sans Japanese", Avenir, 'Helvetica Neue', Helvetica, Arial, Verdana, Roboto, 游ゴシック, 'Yu Gothic', 游ゴシック体, YuGothic, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	font-weight: 700;
	letter-spacing: 0.1rem;
	font-size: 200%;
	background: #1d5198;
	color: #fff;
}

.indexPac h2.pacTtl{
	padding: 1rem 0;
	font-size: 150%;
}

.indexPac h2.pacTtl div{
	font-size: 75%;
	margin-bottom: 0.5rem;
}

.indexPac ul li .inner{
	display: block;
}

.indexPac ul li .inner .img,
.indexPac ul li .inner .txt{
	width: 100%;
}

.indexPac ul li .inner .txt{
	padding: 1rem 0;
}

.indexPac ul li .inner .txt h2{
	text-align: center;
}

.indexPac ul li .inner .txt h2 span{
	display: block;
	padding-left: 0;
	padding-top: 0.5rem;
}

.indexPac ul li .inner .txt p.btnStyle a{
	font-size: 85%;
}


/* products ------------------------------------*/

.products .ttlBlock{
	display: block;	
}

#products01.products .ttlBlock .txt .m2mGatewayLogo_horizon,
#products02.products .ttlBlock .txt .m2mGatewayLogo_horizon,
#products04.products .ttlBlock .txt .m2mGatewayLogo_horizon{
	margin: 0 auto 2rem auto;
	display: block;
}


.products .ttlBlock .txt h1{
	font-size: 200%;
	margin: 0 0 1rem 0;
	text-align: center;
}

.products .ttlBlock .txt h1 div{
	margin-top: 0;
}

.products .ttlBlock .txt h2{
	margin: 0 0 1rem 0;
}

.products .leadBlock{
	display: block;
	margin: 0 0 2rem 0;
	text-align: left;
}

.products .leadBlock .txt{
	margin: 0 0 1rem 0;
}

.products .leadBlock .txt h3{
	font-size: 130%;
	margin: 0 0 1rem 0;
}

.products .specBlock{
	display: block;
	font-size: 100%;
}

.products .specBlock .hardwaer{
	width: 100%;
}

.products .specBlock .softwaer{
	width: 100%;
}

.products .specBlock .specBox{
	display: block;
}

.products .specBlock .hardwaer .specBox > div{
	width: 100%;
	padding: 1rem 0 ;
	border-bottom: 1px dotted #ccc;
}

.products .specBlock .hardwaer .specBox > div ul{
	font-size: 85%;
}

.products .specBlock .hardwaer .specBox > div > ul > li > ul > li{
	padding-left: 0.85rem;
}

.products .mainImg .link {
	margin: 2rem auto;
}


.products .c2in1FlowBlock>div{
	width: 100%;
	padding: 10px;
}

.products .c2in1FlowBlock>div .flow01{
	margin:  1rem auto 2rem auto;
}

.products .c2in1FlowBlock>div .flow02{
	padding: 20px 0;
}

.products .c2in1FlowBlock>div .flow02 h3{
	font-size: 100%;
	margin-bottom: 1rem
}

.products .products04Point span{
	display: block;
	margin: 0;
	width: 100%;
	border-style: none;
	border-bottom: 1px dotted #1d5198;
	border-radius: 0;
}

.products .products04Point span:nth-of-type(1){

	border-top: 1px dotted #1d5198;
	
}

/* productsPoint --------------------------*/

.productsPoint{
	padding: 2rem 0 0 0;
}

.productsPoint h3{
	font-size: 150%;
	margin: 0 0 2rem 0;
}

.productsPoint dl{
	display: block;
	min-height:inherit;
}

.productsPoint dt{
	width: 100%;
	padding: 2rem 0 1rem 0;
	font-size: 120%;
	text-align: center;
}

.productsPoint dd{
	width: 100%;
	padding: 0 0 1rem 1rem;
	box-sizing: border-box;
}


/* grayBlock --------------------------*/

.grayBlock{
	padding: 2rem 0 0 0;
}

.grayBlock h3{
	font-size: 150%;
	margin: 0 0 2rem 0;
}

.grayBlock .inner>div{
	display: block;
}

.grayBlock .inner>div dl{
	width: 100%;
	margin-bottom: 1rem;
}

.grayBlock dd{
	padding: 0 0 0 1rem;
}

.grayBlock .inner>div dl:first-child dd{
	display: block;
}

.grayBlock .inner>div dl:first-child dd p{
	width: 100%;
}

/* productsDetail ------------------------------------*/
.productsDetail h3{
	font-size: 120%;
	margin: 0 0 2rem 0;
}

.productsDetail .inner > div {
	display:block;
}

.productsDetail .inner > div > section{
	margin: 0;
	text-align: center;
}

.productsDetail .inner > div > section:nth-of-type(1),
.productsDetail .inner > div > section:nth-of-type(2),
.productsDetail .inner > div > section:nth-of-type(3),
.productsDetail .inner > div > section:nth-of-type(4){
	width:100%;
	border-bottom: 1px solid #333;
	padding: 1rem;
	box-sizing: border-box;
}

.productsDetail .inner > div > section:nth-of-type(2),
.productsDetail .inner > div > section:nth-of-type(4){
	background: #f2f2f2;
}

.productsDetail .inner > div > section h4{
	padding: 0.5rem 1rem;
	margin-bottom: 1rem;
}

.productsDetail .inner > div > section p{
	font-size: 85%;
	line-height: 150%;
	font-weight: bold;
}


/* products03section ------------------------------------*/

.products03sectionSmall img{
	float: none;
	margin: 2rem 0; 
}

.products03section ul.calendarPoint,
.products03section ul.calendarGamen{
	display: block;
}

.products03section ul.calendarPoint li,
.products03section ul.calendarGamen li,
.products03section ul.calendarGamen li:nth-of-type(1){
	margin:0;
	width: 100%;
}

/* products04 ------------------------------------*/

#products04 .grayBlock .inner > div{
	display: block;
	text-align: center
}

#products04 .products04section .inner > div{
	display: block;
	width: 100%;
	text-align: center
}

#products04 .products04section .inner > img{
}


/* caseSection ------------------------------------*/
.caseSection h3{
	padding: 2rem 1rem;
	font-size: 120%;
}

.caseSection h4{
	padding: 1rem 0;
	font-size: 100%;
}

.caseSection .inner{
	display: block;
}

.caseSection .img{
	width: 100%;
	margin-bottom: 1rem;
}
.caseSection .txt{
	width: 100%;
	margin-left: 0;
}

/* table ------------------------------------*/
.table{
	font-size: 75%;
}

.table td,
.table th {
    padding: 5px;
	vertical-align:top;
	word-break: break-all;
}












}

.eos-note {
    text-align: right;
    line-height: normal;
}
.alert {
    text-shadow: 0 1px 0 rgb(255 255 255 / 20%);
    border-radius: 0;
    color: #8a6d3b;
    background-color: #ffd891;
    border: 1px solid #ffc000;
    padding: 15px;
    font-size: 200%;
    text-align: center;
    margin-bottom: 20px;
}

.alert-muted {
    text-shadow: 0 1px 0 rgb(255 255 255 / 20%);
    border-radius: 0;
    color: #777;
    background-color: #ddd;
    border: 1px solid #eee;
    padding: 15px;
    font-size: 200%;
    text-align: center;
    margin-bottom: 20px;
}

