@charset "utf-8";

/*--------------------------------------------------------------------
Base
--------------------------------------------------------------------*/

* {
	margin: 0;
	padding: 0;
}

html,body {
	width: 100%;
	height: 100%;
	min-height:100%;
	margin: 0;
	padding: 0;
}

body {
	width: 100%;
	height: 100%;
	color: #000;
	font-size: 14px;
	font-weight: normal;
	line-height: 200%;
	font-family: "ヒラギノ明朝 Pro W3","Hiragino Mincho Pro", YuMincho, '游明朝',"HGS明朝E","ＭＳ Ｐ明朝","MS PMincho",serif;
	margin: 0;
	padding: 0;
    background:#fff;
}

img {
	border: none;
	vertical-align: bottom;
	width:100%;
	height:auto;
}

html {
	height: 100%;
	overflow-y: scroll;
}
ol, ul {
	list-style: none;
}

/*--------------------------------------------------------------------
Link
--------------------------------------------------------------------*/

a,
a:link {
	color: #000;
	text-decoration: none;
}

a:visited {
	color: #000;
	text-decoration: none;
}

a:hover,
a:active {
	color: #000;
	text-decoration: none;
}

a:focus {
	outline: none;
}

/*--------------------------------------------------------------------
HTML5
--------------------------------------------------------------------*/

article,aside,details,footer,header,hgroup,menu,nav,section,summary {
	display: block;
}




/* =========================================== */
/* reset */
/* =========================================== */
@media screen and (max-width: 768px) {  
	html {margin:0;padding:0;overflow-y: scroll;}
	body {line-height:1;margin:0;padding:0;color:#000;}
	h1, h2, h3, h4, h5, h6, p {margin: 0;}
	article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section {display:block;}
	hr {display:block;height:1px;border:0;border-top:1px solid #cccccc;margin:1em 0;padding:0;}
	ul {list-style:none;padding:0;margin: 0;}
	li {padding:0;}
	input, select {vertical-align:middle;}
	a{padding:0;}


	body {
	margin:0; padding:0;
	color:#000; line-height:1.4;
	text-align:left;
	width:100%;
	background:#fff;
	}
	html{
		font-size: 13px;
		-webkit-text-size-adjust: 100%;
	}

	img {border: none;}

	.clearfix, ul, li, li a, .img-group02, .k-example-06,.tech_description, .point-wrap {zoom:1;}
	.clearfix:after, ul:after, li:after, li a:after, .img-group02:after, .k-example-06:after, .tech_description:after, .point-wrap:after {
	clear:both;content:"";display:block;height:0;line-height:0;visibility:hidden;
	}

	.L {float:left;}
	.R {float:right;}
	a { -webkit-tap-highlight-color:rgba(0, 0, 0, 0)!important; }
	a {color:#000; text-decoration:none; outline:none; display: block;}

	a:hover, a:active { outline:none; }

	h1, h2, h3, h4, h5, div, p, ul, ol, li, dl, dt, dd, hr, blockquote { margin:0; padding:0; font-weight:normal; font-size:1.0em;}

	h1 img, h2 img, h3 img, h4 img, h5 img {vertical-align:bottom;}

	ul li {list-style:none inside;}

	.ctr {text-align:center;}
	.sup {font-size:20%; vertical-align:top;}
	.fullimg {width:100%;}
}
/*--------------------------------------------------------------------
Wrapper
--------------------------------------------------------------------*/
#wrapper {
	width: 100%;
	min-width:1024px;
    visibility: hidden;
    position:relative;
    background:#fff;
}

.pc_only { display:inline; }
.sp_only { display:none; }

.pc_none { display:none;}
.sp_none { display:block; }

@media screen and (max-width: 768px) {  
	#wrapper {
		min-width:100%;
	}
	.pc_only { display:none; }
	.sp_only { display:inline; }

	.pc_none { display:block; }
	.sp_none { display:none; }
}


/*--------------------------------------------------------------------
loading
--------------------------------------------------------------------*/
#loader_wrap {
	position: fixed;
	top:0;
    width:100%;
    height:6px;
	z-index: 1997;
}
#loader {
    width:0px;
    height:6px;
    background-color:#ffe600;
}
#fade {
    width: 100%;
    height: 100%;
    display: none;
    background-color: #fff;
    position: fixed;
    top: 0px;
    left: 0px;
    z-index: 1996;
}

/*--------------------------------------------------------------------
Wrap-top
--------------------------------------------------------------------*/
#wrap-top {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    color:#000;
    width:100%;
    z-index: 950;
}
#header .p_header{
	width:100%;
	height: 76px;
	background:#fff;
}
#logo,
#logo2{
    padding-left:24px;
	padding-top: 13px;
	width:168px;
}
#logo img,
#logo2 img{
	width:168px;
	height:52px;
    image-rendering: -webkit-optimize-contrast;
    image-rendering: -moz-crisp-edges;
    image-rendering: -o-crisp-edges;
    image-rendering: crisp-edges;
    -ms-interpolation-mode: nearest-neighbor;
}
#header .p_header .header_tit {
	display: block;
	position: absolute;
    top:11px;
    left:50%;
	margin-left:-79px;
	width:158px;
}
#header .sub_header{
	height:60px;
	box-sizing: border-box;
	border-top: 1px solid #cccccc;
	border-bottom: 1px solid #cccccc;
	background: #fff;
}
#header .sub_header h3{
	position: absolute;
	float:left;
	padding:0 0 0 24px;
	line-height: 60px;
	letter-spacing: 1px;
	font-size:28px;
	font-weight: bold;
}
#header .sub_header .page_list{
	position: absolute;
	right:0px;
	width:auto;
	margin-right:0px;
}
#header .sub_header .page_list ul li{
	float:right;
	padding:13px 0;
	background: none;
}
#header .sub_header .page_list ul li:first-child{
	padding:13px 20px 13px 30px;
	background: none;
}
#header .sub_header .page_list ul li a{
	display: block;
	height: 32px;
	padding:0;
}
#header .sub_header .page_list ul li a img{
	height:100% !important;
	width:auto;
}
#header .sub_header .page_list ul li a:hover{
	background: #ffe600;
}

/* =========================================== */
/* menu */
/* =========================================== */
#btn-menu,
#btn-menu2{
width:52px;
height:52px;
position: absolute;
float:right;
top:10px;
right:24px;
overflow:hidden;
}

#menu {
	position: fixed;
	top:0;
	left:0;
	width:100%;
	z-index: 999;
	display: none;
}
#menu .menu_inner{
	position: relative;
	height:100%;
	margin:0;
	padding:0;
}
#menu .site_logo {
	position: absolute;
	width:28.75%;
	top:26%;
	right:20%;
}
#menu .menu_inner2{
	width:100%;
	margin:0 auto;
	margin-top:120px;
}
#menu .menu_title {
	width:346px;
	margin:0 auto;
}
#menu ul {
	width:88%;
	margin: 47px auto 0;
}
#menu li {
	float:left;
	width:20%;
	height:auto;
	margin-left:0px;
	margin-bottom:0;
}
#menu li:first-child {
	margin-left:0px;
}
#menu li a {
	display: block;
	padding-top:5.6%;
	width:100%;
	height:auto;
	padding-bottom:5.6%;
	background-color: #fff;
	transition: background-color 1s;	
}
#menu li  a:hover {
	background-color: #ffe600;
	transition: background-color 1s;	
}
#menu li .img{
	overflow: hidden;
	width:88.8%;
	height:auto;
	margin:0 auto;
}
#menu li .txt{
	width:94.4%;
	margin:10px 0 0 5.6%;
}
#menu li .txt dt{
	font-size:17px;
	line-height: 1;
	font-weight: bold;
	padding-left:15px;
	background:  url('../img/page_list_arr_pc.png') no-repeat left top;
}
#menu li .txt dd{
	letter-spacing: -1px;
	margin-top:5px;
	font-size:14px;
	line-height: 1.5;
}
.tab_none{
	display: block;
}

#menu_bg {
	display:none;
	width:100%;
	height:100%;
    min-height:100%;
	background:#fff;
	position:fixed;
    top:0;
	z-index:994;
}

/*
   Container
============================================================================= */

#wrap-ctt {
  position: relative;
  overflow: hidden;
  width:100%;
  padding-top:0px;
}

/*--------------------------------------------------------------------
Wrap-btm
--------------------------------------------------------------------*/

#wrap-btm {
	width:100%;
	height: 100px;
	background-color: #333;
	overflow: hidden;
	z-index: 50;
}
#footer {
	width:100%;
	margin:0;
	padding:0;
}
#footer .to-pagetop{
	position:relative;
	width:100%;
	height:40px;
	margin:0;
}
#footer .to-pagetop a{
	position:relative;
	display:block;
	width:100%;
	height:35px;
	padding-top:5px;
	background:#ccc;
	text-align: center;
}
#footer .to-pagetop a img{
	margin-top:0%;
    width:36px;
    height:auto;
}
#footer .to-pagetop a:hover{
	background:#ffe600;
}
#social {
	box-sizing: border-box;
	border-bottom:none;
	float:left;
	padding:12px 0 0 20px;
	width:138px;
	height:20px;
}
body#top #social{
	padding:12px 0 0 20px;
}
#social ul {
	width:234px;
	margin:0;
}
#social li {
	float: left;
	vertical-align: bottom;
	margin-left: 10px;
	width:75px;
}
#social li:first-child {
	margin-left: 0px;
	width:71px;
}
#social li.twitter{
	margin-top:8px;
}
#social li.req_btn {
	width:68px;
}
#copy_col {
	clear: both;
	overflow:hidden;
	background: #333;
}
#footer .copyright{
	float:right;
	width:296px;
    padding-top:8px;
	padding-right:24px;
	margin:0;
}
body#top #footer .copyright{
    padding-top:8px;
}

/*--------------------------------------------------------------------
JavaScript off
--------------------------------------------------------------------*/
div#jsOffContainer {
	position:fixed;
	z-index:999999;
	width:100%;
	height:100%;
	background:#fff;
	text-align:center;
}

div#jsOffContainer img {
	width:100%;
	margin:0 auto;
}

/*--------------------------------------------------------------------

--------------------------------------------------------------------*/
.clearfix {zoom:1;}
.clearfix:after{
    content: ""; 
    display: block; 
    clear: both;
}

/*--------------------------------------------------------------------

--------------------------------------------------------------------*/

.fll {float: left}
.flr {float: right}

.spt5 {padding-top: 5px;}
.spt10 {padding-top: 10px;}
.spt15 {padding-top: 15px;}
.spt20 {padding-top: 20px;}
.spt30 {padding-top: 30px;}
.spt50 {padding-top: 50px;}

.sp15 {padding: 15px;}
.sptlr15 {padding: 15px 15px 0 15px;}

.spl120 {padding-left: 120px}

.wpno {white-space: nowrap}


p.tyuui{
	font-size:12px;
	line-height:120%;
	vertical-align:top;
	padding:0px;
	border-spacing: 0;
	color:#fff;
	text-align:left;	
    max-height:9999px;
}
dl.note{
	font-size:12px;
	line-height:160%;
    max-height:9999px;
}
dl.note dt{
    float:left;
    width:1.2em;
    max-height:9999px;
}
dl.note dd{
    padding-left:1.2em;
    max-height:9999px;
}

/*--------------------------------------------------------------------
requirements
--------------------------------------------------------------------*/
#pop_req{
	position:fixed;
	width:100%;
	height:100%;
	top: 0px;
    left: 0px;
	z-index:990;
	display:none;
}
#pop_req #popBox2{
	width: 880px;
	height: 535px;
    position: fixed;
    _position: absolute; /* IE6対策 */
    top: 50%;
    left: 50%;
    margin-top: -252px;
    margin-left: -440px;	
	background:#fff;
	display:none;
}
#pop_req .bg {
	width:100%;
	height:100%;
	background:#fff;
}
#pop_req #title_req{
	width:100%;
	text-align:center;
	font-size:26px;
	font-weight: bold;
	letter-spacing: 2px;
	height:41px;
	margin:15px auto 0;
	padding-bottom:0;
	border-bottom: 1px solid #808080;
}
#pop_req #recommend {
	width:700px;
	margin:66px auto 0 auto;
	padding-top:0;
}
#pop_req #recommend .pc_rec dt{
	font-size:18px;
	font-weight: bold;
	letter-spacing: 1px;
}
#pop_req #recommend .pc_rec dd{
	font-size:16px;
	padding-left:1.5em;
	padding-top:10px;
	padding-bottom:30px;
}
#pop_req #backBtn_req{
	width:52px;
	height:52px;
	position: absolute;
	float:right;
	top:10px;
	right:24px;
	overflow:hidden;
}

@media screen and (max-width: 1100px) {
	/* =========================================== */
	/* menu */
	/* =========================================== */
	#menu ul {
		width:96%;
		margin: 47px auto 0;
	}
	#menu li {
		float:left;
		width:20%;
		height:auto;
		margin-left:0px;
		margin-bottom:0;
	}
	#menu li:first-child {
		margin-left:0px;
	}
	#menu li a {
		display: block;
		padding-top:10px;
		width:100%;
		padding-left:0;
		height:auto;
		padding-bottom:6%;
		background-color: #fff;
		transition: background-color 1s;	
	}
	#menu li  a:hover {
		background-color: #ffe600;
		transition: background-color 1s;	
	}
	#menu li .img{
		overflow: hidden;
		width:88.88%;
		height:auto;
		margin:0 auto;
	}
	#menu li .txt{
		width:88.88%;
		padding-left:0;
		margin:10px 5.56% 0 5.56%;
	}
	.tab_none{
		display: none;
	}
}
@media screen and (max-width: 768px) {  
	/*--------------------------------------------------------------------
	Wrap-top
	--------------------------------------------------------------------*/
	#wrap-top {
		position: fixed;
		top: 0;
		bottom: 0;
		left: 0;
		color:#000;
		width:100%;
		z-index: 950;
	}
	#header .p_header{
		width:100%;
		height: 76px;
		background:#fff;
	}
	#logo,
	#logo2{
		padding-left:3%;
		padding-top: 3%;
		width:21.25%;
	}
	#logo img,
	#logo2 img{
		width:100%;
		height:auto;
	}
	#header .p_header .header_tit {
		display: block;
		position: absolute;
		top:16%;
		left:33%;
		margin-left:0px;
		width:35%;
	}
	body#top #header .p_header .header_tit {
		top:23.5%;
	}
	#header .sub_header{
		position: relative;
		height:60px;
		box-sizing: border-box;
		border-top: 1px solid #cccccc;
		border-bottom: 1px solid #cccccc;
		background: #fff;
	}
	#header .sub_header img{
		height:60px;
		width:auto;
	}
	#header .sub_header h3{
		float:left;
		padding:0 0 0 3%;
		line-height: 64px;
		letter-spacing: 1px;
		font-size:28px;
		font-weight: bold;
	}
	#header .sub_header .page_list{
		position: absolute;
		right:4%;
		width:96%;
		margin-right:0;
	}
	#header .sub_header .page_list ul li{
		float:right;
		width:auto;
		padding:0 4% 0 0;
		margin:0;
	}
	#header .sub_header .page_list ul li:first-child{
		padding:0 0 0 0;
		margin:0;
	}
	#header .sub_header .page_list ul li a{
		display: block;
		height:32px;
	}
	#header .sub_header .page_list ul li a img{
		height:100% !important;
		width:auto;
		margin:0;
	}
	#header .sub_header .page_list ul li a:hover{
		background: none;
	}

	/* =========================================== */
	/* menu */
	/* =========================================== */
	#btn-menu,
	#btn-menu2{
	width:14.2%;
	height:auto;
	position: absolute;
	float:right;
	top:9%;
	right:3%;
	overflow:hidden;
	}
	#btn-menu2{
		top:15%;
	}
	body#top #btn-menu {
		top:13%;
	}
	
	#menu {
		position: fixed;
		top:0;
		left:0;
		width:100%;
		z-index: 999;
	}
	#menu .menu_inner{
		position: relative;
		height:100%;
		margin:0;
		padding:0;
	}
	#menu .site_logo {
		position: absolute;
		top:28%;
		left:33%;
		width:35%;
	}
	#menu .menu_inner2{
		width:85%;
		margin:0 auto
	}
	#menu ul {
		width:100%;
		margin: 0 auto 0;
	}
	#menu li {
		float:left;
		width:47%;
		height:auto;
		margin-left:6%;
		margin-bottom:4%;
	}
	#menu li:nth-child(2n+1) {
		margin-left:0px;
	}
	#menu li a {
		display: block;
		padding-top:0;
		width:100%;
		height:auto;
		padding-bottom:0;
		background-color: #fff;
		transition: none;	
	}
	#menu li  a:hover {
		background-color: #fff;
		transition: none;	
	}
	#menu li .img{
		overflow: hidden;
		width:100%;
		height:auto;
		margin:0 auto;
	}
	#menu li .txt{
		width:100%;
		margin:5% 0 0 0;
	}
	#menu li .txt dt{
		font-size:14px;
		line-height: 1;
		padding-left:0px;
		padding-left:12px;
		background:  url('../img/page_list_arr_pc.png') no-repeat left 1px;
		background-size: 6px auto;
	}
	#menu li .txt dd{
		margin-top:2%;
		font-size:11px;
		line-height: 1.2;
		letter-spacing: 0px;
	}
	body.Android #menu li {
		margin-bottom:2%;
	}
	body.Android #menu li .txt{
		margin:3% 0 0 0;
	}
	body.Android #menu li .txt dt{
		font-size:13px;
	}
	body.Android #menu li .txt dd{
		margin-top:1%;
		font-size:10px;
		line-height: 1.2;
	}
	.tab_none{
		display: block;
	}

	/*
	   Container
	============================================================================= */

	#wrap-ctt {
	  position: relative;
	  overflow: hidden;
	  width:100%;
	  padding-top:0px;
	}

	/*--------------------------------------------------------------------
	Wrap-btm
	--------------------------------------------------------------------*/

	#wrap-btm {
		width:100%;
		height: 100px;
		background-color: #333;
		z-index: 50;
	}
	#footer {
		width:100%;
		margin:0;
		padding:0;
	}
	#footer .to-pagetop{
		position:relative;
		width:100%;
		height:auto;
		margin:0;
	}
	#footer .to-pagetop a{
		position:relative;
		display:block;
		width:100%;
		padding-top:0;
		background:#ccc;
		text-align: center;
	}
	#footer .to-pagetop a img{
		margin-top:1.2%;
		width:6%;
		height:auto;
	}
	#footer .to-pagetop a:hover{
		background:#ddd;
	}
	#social {
		box-sizing: border-box;
		border-bottom:1px solid #7f7f7f;
		float:none;
		padding:14px 0 10px 20px;
		width:100%;
		height:auto;
	}
	body#top #social{
		padding:14px 0 10px 20px;
	}
	#social ul {
		width:286px;
		margin:0 auto;
	}
	#social li {
		float: left;
		vertical-align: bottom;
		margin-left: 10px;
	}
	#social li:first-child {
		margin-left: 0px;
	}
	#social li.twitter {
		margin-top:0px;
	}
	#social li.line {
		width:20px;
	}
	#social li.req_btn {
		width:68px;
	}
	#copy_col {
		clear: both;
		overflow:hidden;
		background: #333;
	}
	#footer .copyright{
		float:none;
		width:76%;
		padding-top:1.6%;
		padding-right:0;
		margin:0 auto;
	}
	body.Android #footer .copyright{
		padding-top:1%;
	}
	body#top #footer .copyright{
		padding-top:1.6%;
	}
	body#top.Android #footer .copyright{
		padding-top:1.2%;
	}
	#loader_wrap {
		height:3px;
	}
	#loader {
		height:3px;
	}


	/*--------------------------------------------------------------------
	requirements
	--------------------------------------------------------------------*/
	#pop_req{
		position:fixed;
		width:100%;
		height:100%;
		top: 0px;
		left: 0px;
		z-index:990;
	}
	#pop_req #popBox2{
		width: 90%;
		height: auto;
		position: fixed;
		_position: absolute; /* IE6対策 */
		top: 16%;
		left: 5%;
		margin-top: 0;
		margin-left: 0;	
	}
	#pop_req .bg {
		width:100%;
		height:100%;
		background:#fff;
	}
	#pop_req #title_req{
		width:100%;
		text-align:center;
		font-size:18px;
		font-weight: bold;
		letter-spacing: 2px;
		height:auto;
		margin:0 auto 0;
		padding-bottom:3%;
		border-bottom: 1px solid #808080;
	}
	#pop_req #recommend {
		width:76%;
		margin:5% auto 0 auto;
	}
	#pop_req #recommend .sp_rec dt{
		font-size:18px;
		font-weight: bold;
		letter-spacing: 1px;
	}
	#pop_req #recommend .sp_rec dd{
		font-size:16px;
		padding-left:1.5em;
		padding-top:10px;
		padding-bottom:30px;
	}
	#pop_req #backBtn_req{
		width:14.2%;
		height:auto;
		position: absolute;
		float:right;
		top:2%;
		right:3%;
		overflow:hidden;
	}
}

@media only screen and (max-width: 768px) and (orientation:landscape) {
		#logo,
		#logo2{
			padding-left:1.68%;
			padding-top: 1.68%;
			width:11.95%;
		}
		#header .p_header .header_tit {
			left:40.156%;
			width:19.6875%;
		}
		body#top #header .p_header .header_tit {
			top:23.5%;
		}
		
		#header .sub_header .page_list{
			width:100%;
			right:3%;
			margin-right:0;
		}
		
		#btn-menu,
		#btn-menu2{
			width:7.9875%;
		}
		#menu .site_logo {
			left:40.156%;
			width:19.6875%;
		}
		#menu .menu_inner2{
			width:70%;
			margin:0 auto
		}
		#menu li {
			width:31%;
			margin-left:3.5%;
			margin-bottom:2%;
		}
		#menu li:nth-child(2n+1) {
			margin-left:3.5%;
		}
		#menu li:nth-child(3n+1) {
			margin-left:0px;
		}
		#menu li .txt{
			width:110%;
			margin:4% 0 0 0;
		}
		#menu li .txt dd{
			font-size:10px;
			line-height: 1.2;
		}
		#social {
			padding:2% 0 1.2%;
		}
		body#top #social{
			padding:2% 0 1.2%;
		}
		#footer .copyright{
			width:42.75%;
			padding-top:1%;
		}
		body#top #footer .copyright{
			padding-top:1%;
		}
		#pop_req #backBtn_req{
			width:7.9875%;
		}
}
	
@media print {
body {
    width: 1024px;
    background:#fff !important;
}
#wrapper{
    visibility: visible !important;
}
#op,#op_bg{
    display:none !important;
}
#wrap-top{
    position: absolute !important;
    top:0 !important;
    left:0 !important;
}
#footer .to-pagetop{
    display:none;
}
#main .m_inner h1,
#main .m_inner .info,
#catch .i_am,
#catch .catch_copy,
#catch .main_txt,
#booth,
#seminar,
#presenter,
#gallery,
#keymission,
#presentation_counter,
#past_future,
#nog,
#booth .soon,
#about
{
    opacity:1 !important;
}
}

