@charset "utf-8";
/*--------------------------------------------------------------------
   base
---------------------------------------------------------------------*/
html, body{height: 100%;}
body{
    background:#fff;
	text-align:center;
	color:#333;
	font-size:15px;
    font-family:Lato,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ','Meiryo',sans-serif;
    font-weight:400;
    letter-spacing:0.005em;
}

/*
400,600,700
*/

html {
-webkit-text-size-adjust: 100%;
-ms-text-size-adjust: 100%;
}

.iphone body,
.ipad body,
.ipod body{
	cursor:pointer;
}

a{
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all  0.5s ease;
}

a:link{
	color:#333;
    text-decoration:none;

    }
a:visited{color:#333;}
a:active{color:#333;}
a:hover{color:#666; }

strong{font-weight:bold;}
img{font-size:0; line-height:0;}

.wrapBox{
    width:1140px;
    max-width:100%;
    margin:0 auto;
}

/*--------------------------------------------------------------------
   header
---------------------------------------------------------------------*/
header{
    /**width:1140px;**/
    width:1200px;
    max-width:100%;
    margin:0 auto;
    height:135px;
}

header h1,
header .logo{
    width:187px;
    height:55px;
    overflow:hidden;
    margin-top:26px;
    float:left;
}
header h1 a,
header .logo a{
    display:block;
    background:url(../images/logo.svg) 50% 50% no-repeat;
    background-size:contain;
    width:100%;
    height:100%;
    overflow:hidden;
    white-space:nowrap;
    text-indent:101%;
    line-height:0;
    font-size:0.1em;
}
header nav{
    margin-left:200px;
}
header .hdrTop{
	overflow: hidden;
	text-align: right;
	padding-top: 20px;
}
header .hdrTop ul,
header .hdrTop ul li{
	display: inline-block;
	text-align: right;
	/**font-size: 0.800em;**/
	font-size: 0.900em;
	line-height: 24px;
	vertical-align: middle;
}
header .hdrTop ul li a{	color: #666;}
header .hdrTop ul li a:hover{color: #999;}
header .hdrTop ul li + li{margin-left: 2em;}
header .hdrTop ul.lang {
	margin-left: 2em;
	width: 84px;
	overflow: hidden;}
header .hdrTop ul.lang li{
	width: 50%;
	float: left;
}
header .hdrTop ul.lang li + li{margin-left: 0;}
header .hdrTop ul.lang a{
	display: block;
	width: 42px;
	height: 24px;
	text-align: center;
	/**background-color: #cecece;**/
}
header .hdrTop ul.lang li + li a{
	background-color: #e8e8e8;
}
header .hdrTop ul.lang li a:hover{
	/**background-color: #cecece;**/
}
header nav > ul{
    overflow:hidden;
    text-align:right;
	padding-top: 0.5em;
}
header nav > ul li{ display:inline-block;
	vertical-align: middle;}
header nav > ul li + li{margin-left: 2.5em;}
header nav > ul li a{
    display:block;
    font-size:0.933em;
	padding: 1em 0;
}

#spmenu{display:none;}
#menubtn{display:none;}

#humberger,
#drawernav,
#overlay{display:none;}


/*--------------------------------------------------------------------
   footer
---------------------------------------------------------------------*/
/**2025/9/25**/
footer #note_recruit{
	width:1200px;
	max-width:100%;
	margin:0 auto;
	height:194px;
	padding-top:60px;
}

footer #ftrContact{
	background: url(../images/bg_ftr.jpg) center center no-repeat;
	background-size: cover;
    padding:30px 0 45px;
}
footer #ftrContact p{
    text-align:center;
    color:#fff;
	font-size: 	1.067em;
	line-height: 1.86;
	padding-bottom: 30px;
}
footer #ftrContact a{
	display: block;
	width: 320px;
	max-width: 100%;
	height: 54px;
	margin: 0 auto;
	border: #fff 1px solid;
	text-align: center;
	line-height: 54px;
	font-size: 0.933em;
	color: #fff;
}
footer #ftrContact a:hover{
	color: #365d97;
	background-color: #fff;
}
footer #ftrIn{
	background-color: #f6f6f6;
    padding:40px 0 30px;
}
footer #ftrIn .wrapBox,
/**footer #ftrBtm .wrapBox{width: 1020px;}**/
footer #ftrBtm .wrapBox{width: 1200px;}

footer #ftrIn .logo{
	width: 168px;
	height: 50px;
	float: right;
}
footer #ftrIn .logo a{
    display:block;
    background:url(../images/logo.svg) 50% 50% no-repeat;
    background-size:contain;
    width:100%;
    height:100%;
    overflow:hidden;
    white-space:nowrap;
    text-indent:101%;
    line-height:0;
    font-size:0.1em;
}
footer #ftrIn nav{
	margin-right: 180px;
	overflow: hidden;
	text-align: left;
}
footer #ftrIn nav ul{
    width:200px;
    max-width:33%;
	float: left;
}

footer #ftrIn nav ul li{
	font-size: 0.800em;
	line-height: 1.7;
}
footer #ftrIn nav ul li a{
	display: block;
	padding-bottom: 10px;
	color: #666;
}
footer #ftrIn nav ul li a:hover{color: #999;}

footer #ftrBtm{	height: 56px;}
footer #ftrBtm ul{
	float: left;
	width: 50%;
	text-align: left;
}
footer #ftrBtm ul li{
	display: inline;
	margin-right: 2em;
	line-height: 56px;
	font-size: 0.733em;
}
footer #ftrBtm ul li a{color: #666;}
footer #ftrBtm ul li a:hover{color: #999;}


footer p.copy{
	float: right;
	width: 50%;
    color:#999;
	line-height: 56px;
	font-size: 0.733em;
	text-align: right;
    }

footer #page-top{
    width:56px;
    height:56px;
    position:fixed;
    bottom:0px;
    right:0px;
    z-index:9900;
}
footer #page-top img{
    width:100%;
    height:100%;
}
/*--------------------------------------------------------------------
   maintitle
---------------------------------------------------------------------*/
#mainTitle{
    background-repeat:no-repeat;
    background-position:center center;
    background-size:cover;
    padding-top:19.2%;
    position:relative;
}

#mainTitle.corporate_philosophy,
#mainTitle.company_profile,
#mainTitle.company{background-image:url(../images/bg_maintitle_company.jpg);}
#mainTitle.download,
#mainTitle.download-2{background-image:url(../images/bg_maintitle_download.jpg);}
#mainTitle.law,
#mainTitle.rules,
#mainTitle.humanrights,
#mainTitle.privacy{background-image:url(../images/bg_maintitle_law.jpg);}
#mainTitle.licensestore{background-image:url(../images/bg_maintitle_licensestore.jpg);}
#mainTitle.faq{background-image:url(../images/bg_maintitle_faq.jpg);}
#mainTitle.idea{background-image:url(../images/bg_maintitle_idea.jpg);}

#mainTitle.products{background-image:url(../images/bg_maintitle_products.jpg);}
#mainTitle.idsakusaku-series{background-image:url(../images/bg_maintitle_products.jpg);}
#mainTitle.solutions{background-image:url(../images/bg_maintitle_solution.jpg);}
#mainTitle.professional-services{background-image:url(../images/bg_maintitle_service.jpg);}
#mainTitle.contact{background-image:url(../images/bg_maintitle_contact.jpg);}
#mainTitle.contact-ideagateforoffice{background-image:url(../images/bg_maintitle_contact.jpg);}
#mainTitle.contact-idsakusaku{background-image:url(../images/bg_maintitle_contact.jpg);}
#mainTitle.blog{background-image:url(../images/bg_maintitle_contact.jpg);}
#mainTitle.contact-idea{background-image:url(../images/bg_maintitle_contact.jpg);}

#mainTitle.purchase{background-image:url(../images/bg_maintitle_licensestore.jpg);}
#mainTitle.bill{background-image:url(../images/bg_maintitle_licensestore.jpg);}
#mainTitle.send_complete{background-image:url(../images/bg_maintitle_licensestore.jpg);}

#mainTitle.error{background-image:url(../images/bg_maintitle_licensestore.jpg);}

#mainTitle.paidselect{background-image:url(../images/bg_maintitle_licensestore.jpg);}
#mainTitle.paidflow{background-image:url(../images/bg_maintitle_licensestore.jpg);}
#mainTitle.paidregistration{background-image:url(../images/bg_maintitle_licensestore.jpg);}
#mainTitle.paidpurchase{background-image:url(../images/bg_maintitle_licensestore.jpg);}
#mainTitle.paidoffercompletion{background-image:url(../images/bg_maintitle_licensestore.jpg);}

#mainTitle h1{
    color:#fff;
    text-align:center;
    font-size:2em;
    position:absolute;
    top:50%;
    left:0;
    right:0;
    margin-top:-1em;
}
#mainTitle.contact h1{height: 1em; margin-top: -0.5em;}
#mainTitle h1 span{
	display: block;
	padding-top:0.6em;
	font-size:0.6em;
}

@media screen and (min-width : 1140px){
    #mainTitle{ padding-top:220px;}

}

/*--------------------------------------------------------------------
   container
---------------------------------------------------------------------*/
#container.second{ padding:50px 0 60px;}

/* base
-----------------------*/
div[id="container"] p,
div[id="container"] span,
div[id="container"] li,
div[id="container"] dt,
div[id="container"] dd,
div[id="container"] th,
div[id="container"] td{
    line-height:2;
    text-align:left; }

div[id="container"].second p + p,
div[id="container"].second p + ul,
div[id="container"].second p + ol,
div[id="container"].second p + dl,
div[id="container"].second p + table,
div[id="container"].second p + div,
div[id="container"].second ul + p,
div[id="container"].second ul + ul,
div[id="container"].second ul + ol,
div[id="container"].second ul + dl,
div[id="container"].second ul + table,
div[id="container"].second ul + div,
div[id="container"].second ol + p,
div[id="container"].second ol + ul,
div[id="container"].second ol + ol,
div[id="container"].second ol + dl,
div[id="container"].second ol + table,
div[id="container"].second ol + div,
div[id="container"].second dl + p,
div[id="container"].second dl + ul,
div[id="container"].second dl + ol,
div[id="container"].second dl + dl,
div[id="container"].second dl + table,
div[id="container"].second dl + div,
div[id="container"].second table + p,
div[id="container"].second table + ul,
div[id="container"].second table + ol,
div[id="container"].second table + dl,
div[id="container"].second table + table,
div[id="container"].second table + div,
div[id="container"].second div + p,
div[id="container"].second div + ul,
div[id="container"].second div + ol,
div[id="container"].second div + dl,
div[id="container"].second div + table{margin-top:20px;}

div[id="container"].second h2,
div[id="container"].second h3,
div[id="container"].second h4,
div[id="container"].second h5{line-height:1.5;}

div[id="container"].second * + h3{margin-top:40px;}
div[id="container"].second * + h4{margin-top:20px;}
div[id="container"].second * + h5{margin-top:20px;}

/* box
---------------------------------------------------------*/
section{
    /**width:1020px;**/
    width:1200px;
    max-width:100%;
    margin:0 auto;
}
/**20230113 add*/
.narrow_area{
    width:1020px;
    max-width:100%;
    margin:0 auto;
    /**border: medium dashed green;**/
}
div[id="container"].second section + section{ margin-top:40px; }

/*txt Img*/
.boxTxtImg01{overflow: hidden;}
.boxTxtImg01 .txt{
	width: 60%;
	float: left;
}
.boxTxtImg01 figure{
	width: 37.25%;
	float: right;
}

/*borderBox*/
.boxBd01{
	border: #d6d6d6 1px solid;
	padding: 20px 25px;
}
.boxBd01 + .boxBd01{margin-top: 30px;}
/* title

subPage
nmlPage
categoryTop
products

---------------------------------------------------------*/
/*subPage*/
div[id="container"].second.subPage section > h2{
	background-color: #e9f0f5;
	font-size: 1.8em;
	font-weight: bold;
	text-align: left;
	margin-bottom: 30px;
	padding: 10px 15px;
}
div[id="container"].second.subPage section h2 + table{margin-top: 40px;}

/*2021.5.12 privacy*/
div[id="container"].second.subPage section > h3{
  padding-bottom: 10px;
	border-bottom: #d4d4d4 1px solid;
	font-size: 	1.4em;
	font-weight: bold;
	text-align: left;
	margin-bottom: 15px;
}

/*nmlPage*/
div[id="container"].second.nmlPage section > h2{
	font-size: 1.600em;
	text-align: left;
	margin-bottom: 30px;
}

/*汎用*/
#container.second .titBd01,
#container.second .titBd02{
	background:none;
	padding: 0;
	font-weight: bold;
	font-size: 1.067em;
	text-align: left;
	margin-bottom: 20px;
}
#container.second .titBd02{	margin-bottom: 10px;}
#container.second * + .titBd02{margin-top: 25px;}

/* txt
---------------------------------------------------------*/
.txtSS{font-size: 0.857em;}
.txtS{font-size: 0.933em;}/*15→14*/
.txtL{font-size: 1.067em;}/*15→16*/

/* link
---------------------------------------------------------*/
div[id="container"].second section p a,
div[id="container"].second section td a,
div[id="container"].second section dd a,
div[id="container"].second section li a,
#container.productsDetail section .item a{
    color:#365d97;
    text-decoration:underline;
}
div[id="container"].second section p a:hover,
div[id="container"].second section td a:hover,
div[id="container"].second section dd a:hover,
div[id="container"].second section li a:hover,
#container.productsDetail section .item a:hover{
	color: #3f77c9;
	text-decoration:none;
}

/* table
---------------------------------------------------------*/
div[id="container"].second section table.tb01,
div[id="container"].second section table.tb03{
	width: 100%;
}
div[id="container"].second section table.tb01,
div[id="container"].second section table.tb02,
div[id="container"].second section table.tb03{
	border-top: #d9d9d9 1px solid;
}
div[id="container"].second section table.tb01 th,
div[id="container"].second section table.tb01 td,
div[id="container"].second section table.tb02 th,
div[id="container"].second section table.tb02 td,
div[id="container"].second section table.tb03 th,
div[id="container"].second section table.tb03 td{
	border-bottom:#d9d9d9 1px solid;
	padding: 15px 10px;
}
div[id="container"].second section table.tb01 th,
div[id="container"].second section table.tb02 th,
div[id="container"].second section table.tb03 th{
	font-weight: bold;
	vertical-align: top;
	width: 23.5%;
}
div[id="container"].second section table.tb02 th,
div[id="container"].second section table.tb02 td{
	padding: 15px 40px 15px 10px;
}

div[id="container"].second section table.tb03 th{
	letter-spacing: 0.1em;
        padding-left: 50px;
}

/* list
---------------------------------------------------------*/
/*att*/
ul.liAtt{text-align: left;}
#container ul.liAtt li{
	padding-left: 1.5em;
	font-size: 0.867em;
	line-height: 1.8;
	position: relative;
}
ul.liAtt li::before{
	content: "※";
	position: absolute;
	top: 0;
	left: 0;
}
ul.liAtt li strong{
	color: #cc0000;
	font-weight: normal;
}
#container ul.liAtt.txtM li{font-size: 1em;}

/*dotTit*/
ul.ul01,
ul.ul02{text-align: left;}
ul.ul01 li,
ul.ul02 li{
	padding-left: 1.5em;
	position: relative;}
ul.ul02 > li{ font-size: 0.933em; line-height: 1.8;}
ul.ul01 > li::before,
ul.ul02 > li::before{
	content: "・";
	font-weight: bold;
	position: absolute;
	top: 0;
	left: 0;}


/* ol
---------------------------------------------------------*/
ol.ol01{ counter-reset: numlist;}
ol.ol01 > li{
	padding-left: 1.5em;
	position: relative;
}
ol.ol01 > li::before{
  counter-increment: numlist;
  content: counter(numlist)'.';
	position: absolute;
	top: 0;
	left: 0;
}


/* dl
---------------------------------------------------------*/
dl.dl01 dt,
dl.dl02 dt{
	font-weight: bold;
	padding-left: 1.5em;
	position: relative;
}
dl.dl01 dt::before,
dl.dl02 dt::before{
	content: "・";
	font-weight: bold;
	position: absolute;
	top: 0;
	left: 0;
}
dl.dl01.noMark dt,
dl.dl02.noMark dt{padding-left: 0;}

dl.dl01.noMark dt::before,
dl.dl02.noMark dt::before{display: none;}

dl.dl01 dd + dt,
dl.dl02 dd + dt{margin-top: 15px;}

dl.dl02 dt,
dl.dl02 dd{ font-size: 0.933em;}

#container dl.dl01 dd p + p,
#container dl.dl02 dd p + p{margin-top: 15px;}

/* common parts
---------------------------------------------------------*/
/*imgscale*/
.sclimg{
    overflow:hidden;
     position:relative;
      display:block;}

.sclimg img{
    width:100%;
    position:absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
	transition:all .8s;}

a:hover.sclimg img{transform:scale(1.15);}

/*linkbtn*/
.btnA,
#container.productsIndex section > div a,
#container.productsDetail section .backLink a{
	display: block;
	background-color: #365d97;
	color: #fff !important;
	text-decoration: none !important;
	text-align: center;
	line-height: 45px;
	font-size: 1em;

	width: 400px;
	height: 45px;
	margin-right: auto;
}
.btnA:hover,
#container.productsIndex section > div a:hover,
#container.productsDetail section .backLink a:hover{background-color:#487bc9;}
* + .btnA{margin-top: 20px;}

.btnA.wd01{width: 214px;}

/* productsIndex
---------------------------------------------------------*/
#container.productsIndex h2{
	/**width: 1020px;**/
	width: 1200px;
	max-width: 100%;
	margin: 0 auto 40px;
	padding-bottom: 10px;
	border-bottom: #d4d4d4 1px solid;
	font-size: 1.333em;
	text-align: left;
}
#container.productsIndex section + h2{margin-top: 40px;}
#container.productsIndex section + section{margin-top: 50px;}

#container.productsIndex section > figure{
	width: 46%;
	float: left;
	padding-top: 24.5%;
	position: relative;
	overflow: hidden;
}
#container.productsIndex section > figure img{
	height:100%;
	width: auto;
	max-width: inherit;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	margin: auto;
}


#container.productsIndex section > div{
	width: 50%;
	float: right;
}
#container.productsIndex section > div h3{
	font-size: 1.400em;
	text-align: left;
	line-height: 1.52;
	padding-bottom: 10px;
}
#container.productsIndex section > div p{ padding-bottom: 20px;}
#container.productsIndex section > div a{width: 160px;}

/* productsDetail
---------------------------------------------------------*/
#container.productsDetail section{text-align: left;}
#container.productsDetail section .thumb{margin-bottom: 40px;}
#container.productsDetail section h2{
	font-size: 1.600em;
	text-align: left;
	margin-bottom: 20px;
}
#container.productsDetail section h2 span{
	display: inline-block;
}
#container.productsDetail section h2 span.sub{
	background-color: #333333;
	padding: 5px 10px;
	margin-right: 15px;
	color: #fff;
	font-size: 	0.583em;
	vertical-align: top;
}
#container.productsDetail section h4 span.sub_01{
	background-color: #91AC37;	/**黄緑**/
	padding: 5px 10px;
	margin-right: 15px;
	color: #fff;
	/**font-size: 	0.583em;**/
        font-size: 13px;
        font-weight: bold;
	vertical-align: top;
}

#container.productsDetail section h4 span.sub_02{
	background-color: #68A9CB;	/**水色**/
	padding: 5px 10px;
	margin-right: 15px;
	color: #fff;
	/**font-size: 	0.583em;**/
        font-size: 13px;
        font-weight: bold;
	vertical-align: top;
}
#container.productsDetail section h4 span.sub_03{
	background-color: #F07033;	/**オレンジ**/
	padding: 5px 10px;
	margin-right: 15px;
	color: #fff;
	/**font-size: 	0.583em;**/
        font-size: 13px;
        font-weight: bold;
	vertical-align: top;
}
#container.productsDetail section h4 span.sub_05{
        background-color: #a9a9a9;      /**グレー**/
        padding: 5px 10px;
        margin-right: 15px;
        color: #fff;
        /**font-size:   0.583em;**/
        font-size: 13px;
        font-weight: bold;
        vertical-align: top;
}

#container.productsDetail section h2 span + span{line-height: 1.5;}
#container.productsDetail section h3{
	background-color: #e9f0f5;
	/**font-size: 1.067em;**/
	font-size: 1.3em;
	font-weight: bold;
	text-align: left;
	margin-bottom: 30px;
	padding: 10px 15px;
}
#container.productsDetail section h4{
	padding-bottom: 10px;
	border-bottom: #d4d4d4 1px solid;
	font-size: 	1.067em;
	font-weight: bold;
	text-align: left;
	margin-bottom: 15px;
}
#container.productsDetail section h4.noBd{
	border-bottom: none;
	margin-bottom: 0;
}
#container.productsDetail section  h3 + h4{margin-top: -10px;}
#container.productsDetail section h5{
	font-size: 	1.067em;
	font-weight: bold;
	text-align: left;
	margin-bottom: 10px;
}
#container.productsDetail section h4 + h5{margin-top: 0px;}


#container.productsDetail section .item{
	font-weight: bold;
	font-size: 1.067em;
	text-align: left;
	margin-bottom: 5px;
}
#container.productsDetail section .item span{
	font-weight: normal;
	font-size: 0.875em;
	line-height: 1;
}
#container.productsDetail section .item + p{margin-top: 0;}
#container.productsDetail section p +.item {margin-top: 15px;}


#container.productsDetail section .privacy{
	border: #d6d6d6 1px solid;
	padding: 20px 25px;
}
#container.productsDetail section .privacy dt{
	font-weight: bold;
	margin-bottom: 15px;
}
#container.productsDetail section ul{text-align: left;}
#container.productsDetail section ul li{
	padding-left: 1.5em;
	position: relative;}
#container.productsDetail section ul li::before{
	content: "・";
	font-weight: bold;
	position: absolute;
	top: 0;
	left: 0;}
#container.productsDetail section ul.liAtt li::before{content: "※";}
#container.productsDetail section ul li span{display: block;color: #666;}

#container.productsDetail section ul.linkBtn{
	display: block;
	overflow: hidden;
}
#container.productsDetail section ul.linkBtn li{
	width:49.5%;
	float: left;
}

#container.productsDetail section ul.linkBtn li,
#container.productsDetail section ul.linkBtn2 li{padding-left: 0;}

#container.productsDetail section ul.linkBtn li + li{ float: right;}
#container.productsDetail section ul.linkBtn2 li + li{ margin-left: 15px;}

#container.productsDetail section ul.linkBtn2 li{display: inline-block;}

#container.productsDetail section ul.linkBtn li::before,
#container.productsDetail section ul.linkBtn2 li::before{display: none;}

#container.productsDetail section ul.linkBtn li a{
	width: 100%;
	display: block;
	background-color: #365d97;
	color: #fff !important;
	text-decoration: none !important;
	padding: 10px 15px;
	line-height: 1.8;
}

#container.productsDetail section ul.linkBtn2 li a,
#container.productsDetail section ul.linkBtn2 li span{
	width: 100%;
	display: block;
	background-color: #365d97;
	color: #fff !important;
	text-decoration: none !important;
	text-align: center;
	line-height: 45px;
	font-size: 0.813em;
	height: 45px;
	padding-left: 15px;
	padding-right: 15px;
}
#container.productsDetail section ul.linkBtn li a:hover,
#container.productsDetail section ul.linkBtn2 li a:hover{background-color:#487bc9;}

#container.productsDetail section ul.linkBtn li a.ex01{ background-color:#6699cc;}
#container.productsDetail section ul.linkBtn li a.ex01:hover{background-color:#5da3ea;}

#container.productsDetail section ul.linkBtn2 li span.ex01{ background-color: #656766; position: relative;}
#container.productsDetail section ul.linkBtn2 li span.ex02{ background-color: #e0e0e0; color: #333 !important; position: relative;}
#container.productsDetail section ul.linkBtn2 li span.ex01::after,
#container.productsDetail section ul.linkBtn2 li span.ex02::after{
	display: block;
	content:"";
	width: 16px;
	height: 13px;
	background-position: 0 0;
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	bottom: -12px;
	left: 50%;
	margin-left: -8px;
}
#container.productsDetail section ul.linkBtn2 li span.ex01::after{background-image: url(../images/ico_link_arrow01.svg);}
#container.productsDetail section ul.linkBtn2 li span.ex02::after{background-image: url(../images/ico_link_arrow02.svg);}


#container.productsDetail section > img{
	display: block;
	margin: 30px auto;
}

#container.productsDetail section .backLink{
	margin-top: 50px;
	text-align: right;
}
#container.productsDetail section .backLink a{
	display: inline-block;
	width:auto;
	margin-left: auto;
	margin-right: 0;
	padding-left: 15px;
	padding-right: 15px;
}

/*----------------------------------------------------
local --- top
-------------------------------------------------------*/
/* mainimage
---------------------------------------------------------*/
#mainImage{
    margin:0 auto;
	}
#mainImage li .inner{
    /**width:1020px;**/
    width:1200px;
	max-width: 100%;
    margin:0 auto;
    padding-top:580px;
    overflow:hidden;
    position:relative;
}

#mainImage li .inner .txt{
	height: 33%;
	text-align: left;
	color: #fff;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto 0;
}
#mainImage li #main02 .inner .txt{ height: 40%;}
#mainImage li #main03 .inner .txt{ left:30px;}

#mainImage li .inner .txt .tit{
	display: block;
	padding-bottom: 15px;
	font-size: 2.933em;
}

#mainImage li #main02 .inner .txt .tit,
#mainImage li #main03 .inner .txt .tit{
	font-size: 2.667em;
	line-height: 1.25;
}
#mainImage li .inner .txt p{
	font-size: 1.067em;
	line-height: 1.75;
	padding-bottom: 25px;
}
#mainImage li .inner .txt a{
	display: block;
	width: 160px;
	height: 45px;
	margin-right: auto;
	line-height: 45px;
	color: #002455;
	text-align: center;
	font-size: 0.867em;
	background-color: #fff;
}
#mainImage li .inner .txt a:hover{
	background-color:#365d97;
	color: #fff;
}


@media screen and (max-width: 1129px) {
    #mainImage li .inner{
    padding-top:47%;
	}
}
#mainImage li #main01{background:url(../images/main_01.jpg) center center no-repeat;background-size:cover;}
#mainImage li #main02{background:url(../images/main_02.jpg) center center no-repeat;background-size:cover;}
#mainImage li #main03{background:url(../images/main_03.jpg) center center no-repeat;background-size:cover;}

#mainImage .bx-prev,
#mainImage .bx-next{ display:none;}

/* box
-------------*/
#container.toppage{
	background: url(../images/bg_top.jpg) center repeat-y;
	padding: 70px 0 60px;
}
#container.toppage section + section{margin-top: 40px;}

#container.toppage section{
	position: relative;
	padding-top: 25px;
	padding-bottom: 25px;
}
#container.toppage section::before{
	content:"";
	display: block;
	width: 100%;
	padding-top: 39%;
	background-position: top left;
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 400;
}
#container.toppage section#topCont01::before{background-image: url(../images/img_top_01.jpg);}
#container.toppage section#topCont02::before{background-image: url(../images/img_top_02.jpg);}
#container.toppage section#topCont03::before{background-image: url(../images/img_top_03.jpg);}

#container.toppage section .inner{
	background-color: rgba(255,255,255,0.90);
	width: 440px;
	max-width: 100%;
	min-height: 350px;
	margin-left: auto;
	padding-left: 6.3%;
	padding-right: 6.3%;
	padding-top: 5%;
	text-align: left;
	position: relative;
	z-index: 500;
}
#container.toppage section .inner h2{
	margin-bottom: 20px;
	padding-bottom: 20px;
	font-size: 2.000em;
	line-height: 1.26;
	position: relative;

}
#container.toppage section .inner h2::before{
	content: "";
	display: block;
	width: 30px;
	height: 3px;
	background-color: #000;
	position: absolute;
	bottom: 0;
	left: 0;
}
#container.toppage section .inner h2 span{
	display: block;
	padding-top: 5px;
	font-size:0.433em;
	color: #666666;
	font-weight: bold;
}
#container.toppage section .inner p{
	font-size: 0.933em;
	line-height: 2;
	padding-bottom: 20px;
}
#container.toppage section .inner a{
	width: 160px;
	height: 45px;
	display: block;
	margin-right: auto;
	line-height: 45px;
	text-align: center;
	font-size: 0.867em;
	color: #fff;
	background-color: #365d97;
}
#container.toppage section .inner a:hover{background-color:#487bc9; }

#container.toppage section#topCont02::before{background-position: top right;}
#container.toppage section#topCont02 .inner{
	margin-right: auto;
	margin-left:0;
}

#topBtn{
	background-color: #fff;
	padding: 50px 0;
}
#topBtn ul{
	width: 960px;
	max-width: 100%;
	margin: 0 auto;
	overflow: hidden;
}
#topBtn ul li{
	width: 46.8%;
	float: left;
}
#topBtn ul li + li{float: right;}
#topBtn ul li a{
	overflow: hidden;
	padding-top: 31%;
}

#topBtn ul li a.sclimg:hover  img{
	width: 100.5%;
	opacity: 1 !important;}
#topBtn ul li a span.lineOut{
	display: block;
	padding: 5px;
	position: relative;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}
#topBtn ul li a span.line{
	display: block;
	width: 100%;
	height:100%;
	border: rgba(255,255,255,.5) 1px solid;
}

#topBtn ul li a span.line span{
	font-size: 1.333em;
	font-weight: bold;
	text-align: center;
	color: #fff;
	height: 1em;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
}

/*----------------------------------------------------
local --- second
-------------------------------------------------------*/
/* company
----------------------------------------------------*/
#container .cTit01{
	display: block;
	font-size: 1.333em;
	line-height: 1.5;
	font-weight: bold;
	text-align: center;
	margin-bottom: 25px;
}
#container div + .cTit01{margin-top: 40px;}

.companyTitBox{
	padding-top: 75px;
	margin-bottom: 15px;
	background-position: top center;
	background-repeat: no-repeat;
}
#container .companyTitBox h3{
	text-align: center;
	font-size: 1.467em;
}
#container .companyTitBox h3 span{
	display: block;
	text-align: center;
	font-size: 0.591em;
}
.companyTitBox.tit01{
	background-image: url(../images/pic_company_01.svg);
	background-size: 58px 58px;
}
.companyTitBox.tit02{
	background-image: url(../images/pic_company_02.svg);
	background-size: 64px 64px;
}
.companyTitBox.tit03{
	background-image: url(../images/pic_company_03.svg);
	background-size: 64px 64px;
}
.map{
	width: 600px;
	max-width: 100%;
	margin-right: auto;
	border: #d6d6d6 1px solid;
}

/* privacy
----------------------------------------------------*/
.privacyMarkBox{overflow: hidden}
.privacyMarkBox .boxL{
	width: 65%;
	float: left;
}
.privacyMarkBox .boxR{
	width: 30%;
	float: right;
	overflow: hidden;
}
.privacyMarkBox .boxR figure{
	width: 118px;
	max-width: 100%;
	border: #d7d7d7 1px solid;
	float: left;
}
.privacyMarkBox .boxR figcaption{
	margin-left: 130px;
	font-size: 0.867em;
	text-align: left;
	line-height: 1.84;
}

/* faq
----------------------------------------------------*/
.faq > dt{
    background-color:#e9f0f5;
    padding:10px 40px 10px 4em;
    font-size:1.067em;
    font-weight:bold;
    text-align:left;
    cursor:pointer;
    position:relative;
}
.faq > dt span{
    font-size:1.125em;
    font-weight:bold;
    position:absolute;
    top:8px;
    left:15px;
}

.faq > dt::before{
    content:"";
    display:block;
    width:16px;
    height:16px;
    background:url(../images/ico_open.svg) 0 0 no-repeat;
    position:absolute;
    right:20px;
    top:50%;
    margin-top:-8px;
}
.faq > dt.active::before{
    content:"";
    display:block;
    width:16px;
    height:3px;
    background:url(../images/ico_close.svg) 0 0 no-repeat;
    position:absolute;
    right:20px;
    top:50%;
    margin-top:-2px;
}

.faq > dd{
    padding:25px 0 0 10px;
    display:none;
}
.faq > dd + dt{margin-top:30px;}

/* idea
----------------------------------------------------*/
.ideaBox01{overflow: hidden}
.ideaBox01 .boxL{
	width: 71.5%;
	float: left;
}
.ideaBox01 .boxR{
	width: 25.5%;
	float: right;
}

/* idea-egate
----------------------------------------------------*/
.idea-egateBox01{overflow: hidden}
.idea-egateBox01 .boxL{
	width: 22.5%;
	float: left;
}
.idea-egateBox01 .boxR{
	width: 72.5%; /**71.5**/
	float: right;
        margin-top: 10px;
}
.idea-egateBox01 .boxR_1{
        width: 72.5%; /**71.5**/
        float: right;
        margin-top: 0px;
}
.idea-egateBox01 .boxR_2{
        width: 72.5%; /**71.5**/
        float: right;
        margin-top: 10px;
}

/* professional-services
----------------------------------------------------*/
#container.productsIndex section > div.serviceIndexBox{
	width: 100%;
	float: none;
	overflow: hidden;}
.serviceIndexBox + .serviceIndexBox{ margin-top: 30px;}
.serviceIndexBox .tit{
	width: 220px;
	float: left;
	padding-top: 75px;
	background-position: top center;
	background-repeat: no-repeat;
}
.serviceIndexBox .tit.tit01{
	background-image:url(../images/pic_company_01.svg);
	background-size: 58px 58px;
}
.serviceIndexBox .tit.tit02{
	background-image:url(../images/pic_company_02.svg);
	background-size: 64px 64px;
}
.serviceIndexBox .tit.tit03{
	background-image:url(../images/pic_company_03.svg);
	background-size: 64px 64px;
}
.serviceIndexBox .tit div{
	text-align: center;
	font-size: 1.467em;
}
.serviceIndexBox .tit div span{
	display: block;
	text-align: center;
	font-size: 0.591em;
	padding-top: 10px;
}
.serviceIndexBox .boxR{
	margin-left: 250px;
}

/* blog
----------------------------------------------------*/
/*layout*/
.blogIndex,
.blogCategory,
.blog article{
    /**width:1020px;**/
    width:1200px;
    max-width:100%;
    margin:0 auto;
    overflow:hidden;text-align:left;
    }
/*category*/
.blogCategory ul{
	background-color: #f6f6f6;
	padding: 10px 15px;
	text-align: left;
	margin-bottom: 40px;
}
.blogCategory li{
    display:inline-block;
    font-size:0.933em;
    margin-right:1.5em;
}
.blogCategory li a{text-decoration:underline; color: #365d97;}
.blogCategory li a:hover{text-decoration:none;}

/*index*/
.newsList01{
    border-top:#cecece 1px solid;
}
.newsList01 li{
    border-bottom:#cecece 1px solid;
    padding:10px 0 15px;
}
.newsList01 li span,
.blogTitle span{
	display:inline-block;
	margin-right: 1.5em;
	font-size: 0.800em;
}
.newsList01 li span.cate,
.blogTitle span.cate{color:#365d97; }

.newsList01 li p{
    font-size:	1.400em;
    line-height:1.5;
}

/*detailTitle*/
.blogTitle{
	border-bottom: #d4d4d4 1px solid;
	margin-bottom: 20px;
    padding-bottom:15px;
    text-align:left;
}
.blogTitle h2{
	padding-top: 10px;
    font-size:1.400em;
    line-height:1.5;
}

/*detail*/
.post {padding-bottom:50px;}
.post >img,
.post p img{
    display:block;
    max-width:100%;
    margin:0 auto;
}
.post > img + p,
.post p + img{
    margin-top:30px;
}

.post h3{
	background-color: #e9f0f5;
	font-size: 1.067em;
	font-weight: bold;
	text-align: left;
	margin-bottom: 30px;
	padding: 10px 15px;
}
.post p + h3 {margin-top:20px;}

.post h4{
	font-size: 	1.067em;
	font-weight: bold;
	text-align: left;
	margin-bottom: 15px;
}

.post dl dt{font-weight: bold;}
.post dl dd + dt{margin-top: 20px;}

.post a{
    color:#365d97;
    text-decoration:underline;
}
.post a:hover{
	color: #3f77c9;
	text-decoration:none;
}

/* pager
--------------*/
#container .pagination{
    width:1000px;
    max-width:100%;
    margin:50px auto 0;
    text-align:center;}
.pagination li{
    display:inline-block;
    margin:0 4px;
}
.pagination li a,
.pagination li span{
    display:block;
    border:#999999 1px solid;
    background-color:#fff;
    width:28px;
    line-height:28px !important;
    font-size:12px;
    text-align:center;
    color:#000 !important;
}
.pagination li a:hover{ color:#000 !important; background-color:#dbdbdb;}
.pagination li span.dots{border:none; width:auto; color:#000; background:none;}
.pagination li span.current{
    background-color:#000 !important;
    color:#fff !important;
}

/* pager2
--------------*/
.pageNav ul{
	width: 414px;
	max-width: 100%;
	margin: 0 auto;
    overflow:hidden;
    position:relative;
}
.pageNav ul li{
	width: 26.5%;
    height:50px;
	float: left;
}
.pageNav ul li + li{margin-left: 10.2%;}

.pageNav ul li a{
    display:block;
    width:100%;
    height:100%;
    border:#dadada 1px solid;
    position:relative;
    line-height:50px;
    font-size:	0.867em;
}
.pageNav ul li a:hover{
    background-color:#000;
    color:#fff;
}
.pageNav ul li.back a{text-align: center;}
.pageNav ul li.prev a{
    text-align:left;
    padding-left:50px;
}
.pageNav ul li.next a{
    text-align:right;
    padding-right:50px;
}
.pageNav ul li.prev a::before,
.pageNav ul li.next a::before{
    content:"";
    display:block;
    width:17px;
    height:8px;
    background-position:0 0;
    background-repeat:no-repeat;
    background-size:contain;
    position:absolute;
    top:20px;
}
.pageNav ul li.prev a::before{left:20px; background-image:url(../images/prev.svg);}
.pageNav ul li.next a::before{right:20px; background-image:url(../images/next.svg);}
.pageNav ul li.prev a:hover::before{background-image:url(../images/prev_ov.svg);}
.pageNav ul li.next a:hover::before{background-image:url(../images/next_ov.svg);}



@media screen and (max-width: 999px) {
}
@media screen and (max-width: 767px) {
}
@media screen and (max-width: 374px) {
    /*iphone5*/
}

@media screen and (min-width : 1140px){
    .forTB,
	.forSP{display:none;}
	.forPC{display:inherit;}

    .ie8 body{
        min-width:1140px;
        max-width:100%;
        overflow-x:hidden;
    }
}

/* IdeaGateForOfficeContact
--------------*/
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 textarea
{
    background-color: #fff;
    border: #d6d6d6 1px solid;
    color: #000;
    width: 50%;
}

.wpcf7 input[type="submit"]
{
   font-size: 100%;
    padding-right: 100px;
    padding: 0.2em 0.4em;
    background: #365d97;
    color: #ffffff;
    border-radius: 4px;
    width: 50%;
    height:50px;
    cursor: pointer;
    box-shadow: 0 0 1px rgba(181, 235, 178, 1);
    border: 1px solid #ccc;
}

.center { text-align:center; }

.movie_flex{
    display:flex;
    justify-content: space-between;
    text-align:center;
    padding-bottom:30px;
    /**border: #ff0000 1px solid;**/
}
.movie{
    /**padding-left:50px;**/
    width:560px; 
    float:left;
    /**height:315px;**/
    text-align:center;
    /**border: #0000ff 1px solid;**/
}
.movie_right{
    float:right;
    width:560px;
    /**border: #008000 1px solid;**/
}

/* Contact Form 7のチェックボックス・ラジオボックスを縦並びに */
span.wpcf7-list-item {display: block;}

.wpcf7-form .wpcf7-select, select { 
    border-color: #000000;
    background-color: #ffffff;
}
