@charset "UTF-8";

* {
	margin: 0;
	padding : 0;
}

html {
}

body {
	font-size:12px;
	color:#444;
	line-height:1.5em;

	font-family: "Helvetica","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro", Osaka,"ＭＳ Ｐゴシック","MS P Gothic", sans-serif;
	background:#FFF;
}

h1, h2, h3, h4, h5, h6 {
	line-height:1.4em;
}

p, li,dt,dd {
	font-size:1.2em;
	line-height:1.55em;
}

input {
	font-size:1.4em;
}

hr{
	background-color: #999999;
	border: medium none;
	color: #999999;
	height: 1px;
	margin: 8px 0;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

th, td {
	font-style: normal;
}

ul,ol {
	list-style-type: none;
}

.left{ float:left; }

.right{ float:right; }

a {
	color:#3FA536;
	text-decoration: none;
}
a:hover {
	color:#3FA536;
	text-decoration: underline;
}
a.line {
	color:#999900;
	text-decoration: underline;
}
a:hover.line {
	color:#111;
	text-decoration: none;
}

i{
	padding: 0 2px 0 0;
}

img,
a img {
	border : 0;
}

.clr {
	clear: both;
}
.clearfix:after {
	font-size:1px;
	content: "";
	display: block;
	height: 0;
	clear: both;
}

.clearfix {
	zoom: 1;
}


#loader {
	width: 32px;
	height: 32px;
	display: none;
	position: fixed;
	_position: absolute; /* IE6対策 */
	top: 50%;
	left: 50%;
	margin-top: -16px; /* heightの半分のマイナス値 */
	margin-left: -16px; /* widthの半分のマイナス値 */
	z-index: 9999999999;
}

#fade {
	width: 100%;
	height: 100%;
	display: none;
	background-color: #FFFFFF;
	position: absolute;
	top: 0px;
	left: 0px;
	z-index: 999999999;
}




/* font size */
.text-xxlarge {
	font-size: 2.2em;
	letter-spacing:1px;
}
.text-xlarge {
	font-size: 2.0em;
	letter-spacing:1px;
}
.text-large {
	font-size: 1.8em;
	letter-spacing:1px;
}
.text-xmedium {
	font-size: 1.6em;
	letter-spacing:1px;
}
.text-medium {
	font-size: 1.4em;
	letter-spacing:1px;
}
.text-normal {
	font-size: 1.2em;
}
.text-small {
	font-size: 1.0em;
}
.text-xsmall {
	font-size: 0.9em;
}


/* button */
.button{
	font-size: 1.0em;
	line-height: 160%;
	letter-spacing: 1px;
	text-align: center;
	display: inline-block;
	margin-bottom: 4px;
	position: relative;
	z-index: 999;
}
.button a{
	background: #F5F5F5;
	border:1px solid #DEDEDE;
	border-radius: 3px;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	padding: 6px 10px 6px 10px;
	display: block;
	color: #333;
	text-decoration: none;
	-webkit-transition: background 0.4s;
	-moz-transition: background 0.4s;
	-o-transition: background 0.4s;
	transition: background 0.4s;
}
.button a:hover{
	background: #CCC;
	border-radius: 3px;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	padding: 6px 10px 6px 10px;
	display: block;
	color: #666;
	text-decoration: none;
}

.button-md{
	font-size: 1.25em;
	line-height: 170%;
}
.button-md a{
	border:none;
	padding: 12px 24px 12px 24px;
}
.button-md a:hover{
	border:none;
	padding: 12px 24px 12px 24px;
}

.button-blue a{
	background: #00A3D8;
	border:1px solid #00A3D8;
	color: #FFF;
}
.button-blue a:hover{
	background: #CCC;
	border:1px solid #CCC;
	color: #FFF;
}

.button-full{
	width: 100%;
}
.button-half{
	width: 50%;
}


/*----------------------------------------
　PC
-------------------------------------------*/
@media print, screen and (min-width: 769px){

#badge{
	position: fixed;
	top: 20%;
	right: 0px;
	z-index:999999999999999999999;
	text-align:right;
}

#header:after,
#nav:after,
#footer:after,
#contents:after,
#main:after,
#boxNews:after,
#boxNews .box:after,
#boxMenu:after,
#aside:after{
	font-size:1px;
	content: "";
	display: block;
	height: 0;
	clear: both;
}
#header,
#nav,
#footer,
#contents,
#main,
#boxNews,
#boxNews .box,
#boxMenu,
#aside{
	zoom: 1;
}

#top #wrapper {
	height: 100%;
	min-height: 860px;
	width: 100%;
	overflow: hidden;
	position: absolute;
	left: 0px;
	top: 0px;
	text-align: left;
	z-index: 0;
}
#wrapper {
	width: 100%;
	text-align: left;
	z-index: 0;
}

div.inner {
	width:1040px;
	margin:0 auto;
}


/*----------------------------------------
　ヘッダー
-------------------------------------------*/
#header .boxInfo .:after,
.headerSNS:after,
#header .boxInfo .sub:after{
	font-size:1px;
	content: "";
	display: block;
	height: 0;
	clear: both;
}
#header .boxInfo,
.headerSNS,
#header .boxInfo .sub{
	zoom: 1;
}
#header{
	width:100%;
	height: 120px;
	background: url(/image/common/header_bg.png) repeat-x;
	min-width:1040px;
}
#header .boxInfo{
	padding-top: 8px;
	margin-bottom: 20px;
}
#header .boxInfo h1{
	float: left;
	width: 500px;
	font-size: 0.9em;
	font-weight: normal;
	color: #888;
}
.headerSNS{
	float: right;
	padding-top: 4px;
	margin-bottom: 4px;
}
.headerSNS ul li{
	float:left;
	margin-right: 5px;
}
.headerSNS ul li i{
	display: inline-block;
	color: #444;
	line-height: 180%;
	background-color: #EFEFEF;
	font-size: 1.2em;
	text-align: center;
	width: 30px;
	height: 30px;
	border:1px solid #D8D8D8;
	border-radius: 30px;
	-webkit-border-radius: 30px;
	-moz-border-radius: 30px;
}
#header .sub{
	float: right;
	padding-top: 0px;
	margin-right: 20px;
}
#header .sub ul{
	float:right;
}
#header .sub ul li{
	float:left;
	border-right:1px dotted #CCC;
	padding-right:10px;
	margin-right:10px;
	font-size:1.0em;
	font-family: 'Ubuntu', sans-serif;
	font-weight: 400;
}
#header .sub ul li:last-child{
	border-right:none;
	padding-right:0;
	margin-right:0;
}
#header .sub ul li.product{
	display: none;
}
#header p.logo{
	float: left;
	width: 130px;
	height: 70px;
	margin: 0 0 0 5px;
}
#header p.logo-bk{
	display: none;
}
#header p.header-logo-bk{
	display: none;
}

/*----------------------------------------
　ナビゲーション
-------------------------------------------*/
#nav{
	float: right;
	width: 840px;
	height:50px;
	margin-top: 2px;
	position: relative;
	z-index:999999999999;
}
#nav ul{
	display:table;
}
#nav ul li{
	float: left;
	position: relative;
	font-family: 'Ubuntu', sans-serif;
	font-weight: 400;
	line-height: 160%;
}
#nav ul li a{
	display: block;
	color: #333;
	text-decoration: none;
	-webkit-transition: all 0.5s ease;
	-moz-transition: all 0.5s ease;
	-o-transition: all 0.5s ease;
	transition: all  0.5s ease;
}
#nav ul li a:hover{
	display: block;
	background: #111;
	color:#FFF;
	text-decoration: none;
}
#nav ul li span{
	height:50px;
	display: block;
	display:table-cell;
	vertical-align:middle;
	cursor: pointer;
	font-family: 'Ubuntu', sans-serif;
	font-weight: 400;
	line-height: 160%;
}
#nav ul.child{
	display: none;
	position: absolute;
}
#nav ul.child li{
	font-size:1.0em;
	border-left:3px solid #111;
	border-bottom:1px solid #EFEFEF;
	padding: 0;
	margin: 0;
}
#nav ul.child li a{
	background:#FFF;
	color:#222;
	padding :8px 0 8px 14px ;
}
#nav ul.child li a:hover{
	background: #111;
	color:#FFF;
	padding :8px 0 8px 14px ;
}

#nav li.home span{
	width: 65px;
	text-align: center;
}
#nav li.faq span{
	width: 65px;
	text-align: center;
}
#nav li.care span{
	width: 65px;
	text-align: center;
}
#nav li.news span{
	width: 85px;
	text-align: center;
}
#nav li.intro span{
	width:140px;
	text-align: center;
}
#nav li.product span{
	width:80px;
	text-align: center;
}
#nav li.ideanotes span{
	width: 130px;
	text-align: center;
}
#nav li.gallery span{
	width: 160px;
	text-align: center;
}
#nav li.contest span{
	width: 90px;
	text-align: center;
}
#nav li.company span{
	width: 90px;
	text-align: center;
}

#nav li.news li{
	width: 165px;
}
#nav li.intro li{
	width: 225px;
}
#nav li.product li{
	width: 230px;
}
#nav li.ideanotes li{
	width: 235px;
}
#nav li.gallery li{
	width: 165px;
}
#nav li.contest li{
	width: 205px;
}
#nav li.company li{
	width: 180px;
}

.nav {
	margin: auto;
	padding: 0 ;
}
.fixed {
	position: fixed;
	top: 0;
	right: 0;
	width: 100%;
	z-index: 9999;
}

/*----------------------------------------
　パンくず
-------------------------------------------*/
#crumb{
	width:750px;
	margin: auto;
	margin-top: 20px;
	margin-bottom: 20px;
}
#crumb p{
	font-size:0.8em;
	color:#000;
}
#crumb p a{
	color:#999900;
	text-decoration: underline;
}
#crumb p a:hover{
	color:#999900;
	text-decoration: underline;
}

/*----------------------------------------
　レイアウト
-------------------------------------------*/

#main{
	width: 570px;
	float:right;
}
#top #main {
	width: 100%;
	min-width:1040px;
}
#intro #main {
	width: 100%;
	min-width:1040px;
}
#company #main {
	width: 100%;
	min-width:1040px;
}

#contents {
	width: 750px;
	margin: auto;
	margin-bottom:10px;
}
#top #contents {
	width: 100%;
	margin: auto;
}
#intro #contents {
	width: 100%;
	margin: auto;
}
#company #contents,
#privacy #contents {
	width: 100%;
	margin: auto;
}

#top #footer {
	width: 100%;
	min-width:1040px;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 1;
}
#footer {
	width: 100%;
	min-width:1040px;
	z-index: 1;
}
#footer #boxNews {
	width: 1040px;
	margin: 0 auto;
	margin-bottom:18px;
	position: relative;
}
#footer #boxNews .bnr{
	float:left;
	width:240px;
}
#footer #boxNews .box{
	float: left;
	width: 580px;
	padding:20px 20px 14px 20px;
	background: url(/image/top/news_bg_94.png) ;
	z-index: 1;
}

#footer #boxNews .box p.attention{
	font-size:1.4em;
	font-weight: bold;
	margin-bottom: 16px;
	text-decoration: underline
}

#footer #boxNews .text{
	float:right;
	width: 315px;
}
#footer #boxNews h2{
	margin: 0 0 3px 0;
}
#footer #boxNews ul{
}
#footer #boxNews li{
	font-size:1.0em;
	margin-bottom:4px;
}
#footer #boxMenu{
	width: 100%;
	padding:20px 0 20px 0;
	background: url(/image/common/bg_alpha_lgray.png);
}
#footer #boxMenu .menu {
	float: left;
	width: 192px;
	height: 112px;
	margin-right: 20px;
	position: relative;
	overflow: hidden;
}
#footer #boxMenu .menu:last-child{
	float: right;
	margin-right: 0;
}
#footer #boxMenu .caption {
	position: absolute;
	bottom: -52px;
	left: 0;
	z-index: 2;
	width: 100%;
	height: 80px;
	background: rgba(0,0,0,.6);
	-webkit-transition: .3s;
	transition: .3s;
	text-align: center;
}
#footer #boxMenu .menu h3{
	font-size: 1.1em;
	font-weight: normal;
}
#footer #boxMenu .menu a .caption{
	color: #FFF;
	padding-top: 8px;
}
#footer #boxMenu .menu:hover .caption {
	bottom: 0;
	text-align: center;
	color: #FFF;
	padding-top: 34px;
}
#footer p.copy{
	background: #111;
	font-size: 0.8em;
	color:#CCC;
	text-align:center;
	padding: 10px 0 10px 0;
}

/*----------------------------------------
　エラー
-------------------------------------------*/
#error{
	width: 940px;
	margin:auto;
	margin-top: 100px;
}
#error h3{
	font-size:1.5em;
	color:#111;
	margin-bottom:20px;
}
#error p{
	font-size:1.2em;
	line-height: 180%;
}


.boxBottomNav:after{
	font-size:1px;
	content: "";
	display: block;
	height: 0;
	clear: both;
}
.boxBottomNav{
	zoom: 1;
}
.boxBottomNav{
	width: 1040px;
	margin: auto;
	text-align: center;
	color:#999900;
	background: #F5F5F5;
	padding: 20px 24px 24px 24px;
	margin-bottom: 50px;
}
.boxColumn{
	background: #F5F5F5;
	border: 3px solid #F5F5F5;
	border-radius: 6px;
	-webkit-border-radius: 6px;
	-moz-border-radius: 6px;
	padding: 20px 20px 20px 20px;
}

/* マージン（下） */
.mgn-b5 {
	margin-bottom: 5px;
}
.mgn-b6 {
	margin-bottom: 6px;
}
.mgn-b8 {
	margin-bottom: 8px;
}
.mgn-b10 {
	margin-bottom: 10px;
}
.mgn-b15 {
	margin-bottom: 15px;
}
.mgn-b20 {
	margin-bottom: 20px;
}
.mgn-b30 {
	margin-bottom: 30px;
}
.mgn-b50 {
	margin-bottom: 50px;
}

/* マージン（上） */
.mgn-t5 {
	margin-top: 5px;
}
.mgn-t10 {
	margin-top: 10px;
}
.mgn-t15 {
	margin-top: 15px;
}
.mgn-t20 {
	margin-top: 20px;
}
.mgn-t30 {
	margin-top: 30px;
}
.mgn-t40 {
	margin-top: 40px;
}

.pdg-t150 {
	padding-top: 15px;
}

.pdg-l10 {
	padding-left: 10px;
}


#page-top{
	display: block;
	position: fixed;
	bottom: 10px;
	right: 10px;
	width: 60px;
	height: 45px;
	background: rgba(102,153,51,.7);
	padding-top: 15px;
	font-size: 24px;
	color: #fff;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	z-index: 999999999999;
}
#page-top a{
	color: #fff;
}
#page-top:hover{
	background: rgba(102,153,51,.8);
}









}




/*----------------------------------------
　Mobile
-------------------------------------------*/
@media screen and (max-width: 768px){


#badge{
	display: none;
}

#header:after,
#nav:after,
.nav:after,
#footer:after,
#contents:after,
#main:after,
#boxNews:after,
#boxNews .box:after,
#boxMenu:after,
#aside:after{
	font-size:1px;
	content: "";
	display: block;
	height: 0;
	clear: both;
}
#header,
#nav,
.nav,
#footer,
#contents,
#main,
#boxNews,
#boxNews .box,
#boxMenu,
#aside{
	zoom: 1;
}


#wrapper {
	width: 100%;
	text-align: left;
	z-index: 1;
}

div.inner {
	margin:0 auto;
}

img {
    max-width: 100%;
    height:auto;
}

/*----------------------------------------
　ヘッダー
-------------------------------------------*/
#header .boxInfo .:after,
.headerSNS:after,
#header .boxInfo .sub:after{
	font-size:1px;
	content: "";
	display: block;
	height: 0;
	clear: both;
}
#header .boxInfo,
.headerSNS,
#header .boxInfo .sub{
	zoom: 1;
}
#header{
}
#header .boxInfo{
}
#header .boxInfo h1{
	float: left;
	width: 80%;
	font-size:0.8em;
	font-weight: normal;
	color: #FFF;
	line-height: 170%;
	position: absolute;
	top: 19px;
	left: 50px;
	z-index: 99999999;
}
#header .boxInfo p.header-logo-bk{
	max-width: 12%;
	min-height: 120px;
	position: absolute;
	top: 13px;
	left: 8px;
	z-index: 99999999;
}
.headerSNS {
	position: fixed;
	bottom: 12px;
	left: 35%;
	z-index: 9999;
	width: 100%;
}
.headerSNS ul li{
	float:left;
	margin-left: 4px;
}
.headerSNS ul li a{
	display: block;
}
.headerSNS ul li i{
	color: #444;
	line-height: 180%;
	background-color: #EFEFEF;
	font-size: 1.55em;
	text-align: center;
	width: 39px;
	height: 39px;
	border:1px solid #D8D8D8;
	border-radius: 39px;
	-webkit-border-radius: 39px;
	-moz-border-radius: 39px;
}
#header .sub{
	padding-top: 64px;
	width: 95%;
	margin: auto;
	margin-bottom: 10px;
}
#header .sub ul{
}
#header .sub ul li{
	float:left;
	width: 33.1%;
	font-size:0.9em;
	font-family: 'Ubuntu', sans-serif;
	font-weight: 400;
	margin-bottom: 4px;
	text-align: center;
	margin-right: 1px;
}
#header .sub ul li:nth-child(3n){
	float: right;
	border-right:none;
	padding-right:0;
	margin-right:0;
}
#header .sub ul li a{
	display: block;
	padding: 8px 0 8px 0;
	border:1px solid #DEDEDE;
	border-radius: 3px;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
}
#header .sub ul li.product a{
	background-color: #DDD;
}

#header p.logo{
	position: absolute;
	top: 0;
	z-index: 9999999;
}
#top #header p.logo{
	clear: both;
	width: 95px;
	margin-top: 110px;
	margin-bottom: -80px;
	position: relative;
	left: 12px;
	z-index: 9999;
}
#top #header p.logo-bk{
	clear: both;
	width: 95px;
	margin-top: 110px;
	margin-bottom: -80px;
	position: relative;
	left: 12px;
	z-index: 9999;
}


#header p.logo{
	width: 20%;
	display: none;
}
#header p.logo-bk{
	width: 20%;
	display: none;
}
#header p.header-logo-bk{
	width: 10%;
	float: left;
	z-index: 99999999;
}





/*----------------------------------------
　ナビゲーション
-------------------------------------------*/
#nav{
	margin-bottom: 120px;
}

/*----------------------------------------
　パンくず
-------------------------------------------*/
#crumb{
	margin: auto;
	margin-top: 20px;
	margin-bottom: 20px;
}
#crumb p{
	font-size:0.8em;
	color:#000;
}
#crumb p a{
	color:#999900;
	text-decoration: underline;
}
#crumb p a:hover{
	color:#999900;
	text-decoration: underline;
}

/*----------------------------------------
　レイアウト
-------------------------------------------*/

#main{
}
#top #main {
	width: 100%;

}
#intro #main {
	width: 100%;
}
#company #main {
	width: 100%;
}

#contents {
	margin: auto;
	margin-bottom:10px;
}
#top #contents {
	width: 100%;
	margin: auto;
}
#intro #contents {
	width: 100%;
	margin: auto;
}
#company #contents,
#privacy #contents {
	width: 100%;
	margin: auto;
}

#top #footer {
	width: 100%;

}
#footer {
	width: 100%;
	z-index: 1;
}
#footer #boxNews {
	margin: auto;
	margin-bottom:18px;
}
#footer #boxNews .box p.attention{
	font-size:1.2em;
	font-weight: bold;
	margin-bottom: 12px;
	text-decoration: underline
}

#footer #boxNews .bnr{
	width: 220px;
	margin: auto;
}
#footer #boxNews .box{
	padding:1.5em 1em 1em 1em;
	background: url(/image/top/news_bg.png) ;
	z-index: 1;
}
#footer #boxNews .text{
}
#footer #boxNews h2{
	width: 105px;
	margin: 0 0 8px 0;
}
#footer #boxNews ul{
	margin-bottom: 14px;
}
#footer #boxNews li{
	font-size:1.3em;
	border-top:1px solid #DEDEDE;
}
#footer #boxNews li:last-child{
	border-bottom:1px solid #DEDEDE;
}
#footer #boxNews li a{
	display: block;
	padding: 8px 0 8px;
}


#boxMenu{
	margin-bottom:20px;
}
#boxMenu .menu:after{
	font-size:1px;
	content: "";
	display: block;
	height: 0;
	clear: both;
}
#boxMenu .menu{
	zoom: 1;
}
#boxMenu .menu{
	border-top: solid 1px #DEDEDE;
	background-image: url("/image/common/icon_arrow_r.png");
	background-size: 16px 16px;
	background-repeat: no-repeat;
	background-position: 100% 55%;
	margin-bottom: 0.5em;
	padding: 1em 0.0em 0 1em;
}
#boxMenu .menu:last-child {
	border-bottom: solid 1px #DEDEDE;
	padding-bottom: 1em;
}
#boxMenu .menu a{
	display: block;
}
#boxMenu .menu .image{
	width: 32%;
	float: left;
	margin: 0 14px 0 0 ;
}
#boxMenu .menu h3{
	width: 56%;
	float: left;
	padding-top: 1.1em;
}




#footer p.copy{
	background: #111;
	font-size: 0.8em;
	color:#CCC;
	text-align:center;
	padding: 10px 0 10px 0;
}

/*----------------------------------------
　エラー
-------------------------------------------*/
#error{
	width: 940px;
	margin:auto;
	margin-top: 100px;
}
#error h3{
	font-size:1.5em;
	color:#111;
	margin-bottom:20px;
}
#error p{
	font-size:1.2em;
	line-height: 180%;
}


.boxBottomNav:after{
	font-size:1px;
	content: "";
	display: block;
	height: 0;
	clear: both;
}
.boxBottomNav{
	zoom: 1;
}
.boxBottomNav{
	width: 1040px;
	margin: auto;
	text-align: center;
	color:#999900;
	background: #F5F5F5;
	padding: 20px 24px 24px 24px;
	margin-bottom: 50px;
}
.boxColumn{
	background: #F5F5F5;
	border: 3px solid #F5F5F5;
	border-radius: 6px;
	-webkit-border-radius: 6px;
	-moz-border-radius: 6px;
	padding: 20px 20px 20px 20px;
}

/* マージン（下） */
.mgn-b5 {
	margin-bottom: 5px;
}
.mgn-b6 {
	margin-bottom: 6px;
}
.mgn-b8 {
	margin-bottom: 8px;
}
.mgn-b10 {
	margin-bottom: 10px;
}
.mgn-b15 {
	margin-bottom: 15px;
}
.mgn-b20 {
	margin-bottom: 20px;
}
.mgn-b30 {
	margin-bottom: 30px;
}
.mgn-b50 {
	margin-bottom: 50px;
}

/* マージン（上） */
.mgn-t5 {
	margin-top: 5px;
}
.mgn-t8 {
	margin-top: 8px;
}
.mgn-t10 {
	margin-top: 10px;
}
.mgn-t15 {
	margin-top: 15px;
}
.mgn-t20 {
	margin-top: 20px;
}
.mgn-t30 {
	margin-top: 30px;
}
.mgn-t40 {
	margin-top: 40px;
}

.pdg-t150 {
	padding-top: 15px;
}

.pdg-l10 {
	padding-left: 10px;
}


}