@charset "UTF-8";
/*
Copyright (c) 2009, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.net/yui/license.txt
version: 2.7.0
*/
body {
*font-size:small;*font:x-small;
	background-color:#FFFFFF;
	font-family: arial, helvetica, clean, sans-serif;
	font-size: 13px;
	line-height: 1.231;
	color: #333333;
}select,input,button,textarea,button{font:99% arial,helvetica,clean,sans-serif;}table{font-size:inherit;font:100%;}pre,code,kbd,samp,tt{font-family:monospace;*font-size:108%;line-height:100%;}

/*If you want this size in pixels (px)	Declare this percent (%)
10	 77
11	 85
12	 93 (was 93)
13	 100
14	 108 (was 107)
15	 116 (was 114)
16	 123.1 (was 122)
17	 131 (was 129)
18	 138.5 (was 136)
19	 146.5 (was 144)
20	 153.9 (was 152)
21	 161.6 (was 159)
22	 167
23	 174
24	 182
25	 189
26	 197
*/

html {
	width: 100%;
	height:100%;
}
body {
	font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","Osaka","メイリオ",Meiryo,"ＭＳ Pゴシック",sans-serif;
	width: 100%;
	height:100%;
	text-align:center;
	margin: 0px;
	padding:0px;
	line-height: 1.5em;
	-webkit-text-size-adjust: none;
}
#wrap{
	text-align:left;
	position:relative;
	min-height:100%;
	margin-left:auto;
	margin-right:auto;
	overflow:hidden;
}
h1,h2,h3,h4,p,ul,li,a,img,table,th,td,dl,dt,dd{
	margin: 0px;
	padding: 0px;
	line-height: 1.5em;
}
h2,h3,h4{
	font-size:100%;
}
li{
	list-style-type: none;
}
a:link,a:visited{
	cursor: pointer;
	color:#333;
	text-decoration:underline;
}
a:hover{
	text-decoration:none;
}
a:hover img{
	opacity:0.6;
	filter:alpha(opacity=60);
}
img{
	vertical-align: bottom;
	border: 0;
}
#header{
	width:1176px;
	padding-top:10px;
	padding-bottom:10px;
	overflow:hidden;
	margin-left:auto;
	margin-right:auto;
}
#header #logo{
	line-height:1em;
	max-height:33px;
	display:inline-block;
	position:relative;
	z-index:102;
}
#header #logo a{
	display:block;
	width:330px;
	height:33px;
}
#header #logo a img{
	vertical-align:top;
}
#gNavi{
	width:100%;
	position:absolute;
	top:24px;
	z-index:101;
}
#gNavi ul{
	width:1176px;
	margin-left:auto;
	margin-right:auto;
	letter-spacing: -.40em;
	text-align:right;
}
#gNavi li{
	letter-spacing: normal;
}
#gNavi li.mainNavi{
	display:inline-block;
    *display : inline;
    *zoom : 1;
	vertical-align:middle;
	text-align:center;
	font-size:123.1%;
	font-weight:bold;
	line-height:1em;
	margin-left:5.6%;
}
#gNavi li.mainNavi:first-child{
	margin-left:0;
}
#gNavi li.mainNavi a{
	display:inline-block;
	width:auto;
	height:31px;
	text-decoration:none;
	color:#335A94;
	position:relative;
}
#gNavi li.mainNavi > a::before{
	content:"";
	position:absolute;
	bottom:0;
	left:0;
	width:60%;
	height:4px;
	background:#335A94;
	opacity:0;
	-webkit-transition:all 0.3s;
	-ms-transition:all 0.3s;
	transition:all 0.3s;
}
#gNavi li.mainNavi > a:hover::before,
#gNavi li.mainNavi > a.active::before,
#toppage #gNavi li#gNavi01 a.gNaviLink::before,#solution #gNavi li#gNavi02 a.gNaviLink::before,
#company #gNavi li#gNavi03 a.gNaviLink::before,#recruit #gNavi li#gNavi04 a.gNaviLink::before,#csr #gNavi li#gNavi05 a.gNaviLink::before,#contact #gNavi li#gNavi06 a.gNaviLink::before{
	width:100%;
	opacity:1;
}
#gNavi li#gNavi06 > a::after{
	content:"";
	width:31px;
	height:24px;
	display:inline-block;
	vertical-align:top;
	margin-left:8px;
	background:url(/common/img/contact_icon.svg) no-repeat center center;
	background-size:100% 100%;
}
#gNavi .subNavi{
	width:100%;
	height:auto;
	display:none;
	border:none;
	padding:0px;
	position:absolute;
	top:31px;
	left:0px;
	padding-top:50px;
	padding-bottom:50px;
	background-color:transparent;
	text-align:left;
	background-image:url(/common/img/sub_bg.png);
}
#gNavi .subNavi h2{
	display:block;
	width:1168px;
	margin-left:auto;
	margin-right:auto;
	color:#FFF;
	font-size:24px;
	line-height:1.2em;
	margin-bottom:20px;
}
#gNavi .subNavi h2 img{
	vertical-align:bottom;
}
#gNavi .subNavi .bnContainer{
	overflow:hidden;
	width:1168px;
	margin-left:auto;
	margin-right:auto;
	letter-spacing: -.40em;
}
#gNavi .subNavi .bnBox{
	margin-right:8px;
	letter-spacing: normal;
	display : inline-block;
    *display : inline;
    *zoom : 1;
	vertical-align:top;
}
#gNavi .subNavi .bnBox h3{
	padding-left:17px;
	background-image:url(/common/img/navi_solution_ttl_arrow.png);
	background-repeat:no-repeat;
	color:#FFF;
	display:block;
	font-size:108%;
	line-height:1.2em;
	margin-bottom:5px;
}
#gNavi .subNavi .bnBox h3 img{
	vertical-align:bottom;
}
#gNavi .subNavi .banner{
	margin-bottom:8px;
	overflow:hidden;
}
#gNavi .subNavi .banner a{
	width:auto;
	height:auto;
	background-color:transparent;
	background-image:none;
	padding:0px;
	display : inline-block;
    *display : inline;
    *zoom : 1;
	position:relative;
}
#gNavi .subNavi .banner a:hover{
	background-color:transparent;
	background-image:none;
}
#gNavi .subNavi .banner a:hover img{
	opacity:1;
	filter:alpha(opacity=100);
}
#gNavi .subNavi .banner a .cover{
	display:none;
	position:absolute;
	top:0px;
	left:0px;
	width:100%;
	height:100%;
	background-image:url(/common/img/navi_cover.png);
	background-repeat:no-repeat;
}
#gNavi .subNavi .banner a:hover .cover{
	display:block;
}

#gNavi .subNavi li{
	display:block;
	width:100%;
	height:auto;
	background-image:none;
	margin-bottom:2px;
	font-weight:normal;
	border:none;
}
#gNavi .subNavi li a{
	width:auto;
	height:auto;
	padding:8px 10px;
	background-image:none;
	background-color:#999;
	color:#FFF;
	text-indent:0px;
	text-decoration:none;
	line-height:1.2em;
}
#gNavi .subNavi li a:hover,#gNavi .subNavi li a.active{
	background-image:none;
	background-color:#315996;
}

#container{
	width:100%;
	background-color:#EBEBEB;
	padding-bottom:40px;
}
#breadcrumb{
	width:980px;
	margin-left:auto;
	margin-right:auto;
	padding-top:30px;
	margin-bottom:15px;
	letter-spacing: -.40em;
}
#breadcrumb li{
	letter-spacing: normal;
	display : inline-block;
    *display : inline;
    *zoom : 1;
	margin-right:7px;
	vertical-align:middle;
	font-size:93%;
	line-height:1.2em;
	color:#315996;
}
#breadcrumb li.arrow{
	width:8px;
	height:12px;
	text-indent:-999999px;
	background-image:url(/common/img/breadcrumb_arrow.gif);
	background-repeat:no-repeat;
}
#breadcrumb li a{
	color:#315996;
}
#mainTitle{
	width:980px;
	height:250px;
	margin-left:auto;
	margin-right:auto;
	background-color:#FFF;
	background-repeat:no-repeat;
	background-position:center;
	background-size:cover;
	position:relative;
}
#mainTitleDetail{
	position:absolute;
	left:35px;
	top:85px;
}
#mainTitle h1{
	display:block;
	margin-bottom:10px;
}
#mainTitle p{
	color:#FFF;
	font-size:20px;
}
#mainBox{
	width:900px;
	overflow:hidden;
	margin-left:auto;
	margin-right:auto;
	padding-top: 40px;
	padding-right: 40px;
	padding-bottom: 40px;
	padding-left: 40px;
	background-color: #FFF;
	position:relative;
}
#contents{
	width:620px;
	float:right;
}
#contact #contents,#other #contents{
	width:100%;
	float:none;
}
#side{
	width:230px;
	position:absolute;
	top:40px;
}
#sNavi{
	width:230px;
}
#sNavi li{
	width:230px;
	display:block;
	margin-bottom:2px;
}
#sNavi li p{
	width:180px;
	font-size:93%;
	line-height:1.2em;
	color:#FFF;
	display:block;
	background-color:#7B93B8;
	padding-top: 10px;
	padding-right: 35px;
	padding-bottom: 10px;
	padding-left: 15px;
	background-image:url(/common/img/sub_open.png);
	background-repeat:no-repeat;
	background-position:right center;
	cursor:pointer;
}
#sNavi li p.active{
	color:#FFF;
	background-color:#315996;
	background-image:url(/common/img/sub_close.png);
}
#sNavi li a{
	width:200px;
	font-size:93%;
	line-height:1.2em;
	color:#FFF;
	display:block;
	background-color:#7B93B8;
	padding-top: 10px;
	padding-right: 15px;
	padding-bottom: 10px;
	padding-left: 15px;
	text-decoration:none;
}
#sNavi li a.active{
	color:#FFF;
	background-color:#315996;
}
#sNavi li p:hover,#sNavi li a:hover{
	color:#FFF;
	background-color:#315996;
}
#sNavi li ul.sideSubNavi{
	display:none;
	padding-top:2px;
}
#sNavi li ul.active{
	display:block;
}
#sNavi li ul li{
	margin-bottom:2px;
}
#sNavi li ul li a{
	display:block;
	padding-top:6px;
	padding-bottom:6px;
	padding-left:24px;
	padding-right:0px;
	width:206px;
	font-size:12px;
	background-color:transparent;
	background-image:url(/common/img/side_arrow.gif);
	background-repeat:no-repeat;
	background-position:10px center;
	color:#333;
}
#sNavi li ul li a.active,#sNavi li ul li a:hover{
	background-color:transparent;
	color:#315996;
	font-weight:bold;
}
#sNavi li ul li ul{
	padding-top:2px;
	width:215px;
	margin-left:15px;
}
#sNavi li ul li ul li{
	width:215px;
}
#sNavi li ul li ul li a{
	width:198px;
}

#pageTop{
	position:fixed;
	right:0px;
	bottom:30px;
	width:40px;
	height:120px;
	z-index:1;
}

#footer{
	width:100%;
	background-color:#fff;
	padding-bottom:20px;
	border-bottom:4px solid #315996;
}
#fDetail{
	margin-left:auto;
	margin-right:auto;
	background-color:#315996;
	width:auto;
	padding-top:80px;
	padding-bottom:70px;
}
#fDetail #fLogo{
	margin-bottom:2px;
}

#fDetail_box{
	max-width:1176px;
	padding-left:10px;
	padding-right:10px;
	margin-left:auto;
	margin-right:auto;
}
#f_sitemap td{
	padding-right:30px;
	vertical-align:top;
}
#f_sitemap td a{
	display:block;
	color:#fff;
	font-size:85%;
	padding-left:12px;
	background-image:url(/common/img/f_arrow.gif);
	background-repeat:no-repeat;
	background-position:left center;
	text-decoration:none;
}
#f_sitemap td a:hover{
	text-decoration:underline;
}
#f_sitemap td strong a{
	margin-bottom:6px;
	font-size:12px;
}
#f_sitemap td li{
	margin-bottom:6px;
}
#f_sitemap td li a{
	margin-left:14px;
}
#fDetail2{
	max-width:1176px;
	margin-left:auto;
	margin-right:auto;
	padding-top:15px;
	padding-left:10px;
	padding-right:10px;
	position:relative;
	z-index:0;
}
#fDetail2 table{
	width:100%;
	margin-bottom:15px;
}
#fDetail2 table th{
	padding-right:29px;
	vertical-align:middle;
}
#fDetail2 table td{
	vertical-align:middle;
}
#fDetail2 table td ul{
	overflow:hidden;
}
#fDetail2 table td ul li{
	float:left;
	margin-right:8px;
	margin-top:4px;
	margin-bottom:4px;
}
#fDetail2 p#copy{
	font-size:77%;
	line-height:1.2em;
}
#fDetail2 #privacymark{
	position:absolute;
	bottom:-10px;
	right:85px;
	z-index:0;
}
#fDetail2 #privacymark a{
	display:block;
	width:75px;
	margin-left:auto;
	margin-right:auto;
}
#fDetail2 #privacymark a img{
	width:100%;
	height:auto;
}

#sp_menu{
	display:none;
}
#menu_btn{
	display:none;
}

/* style */
.pb0{
	padding-bottom:0px !important;
}
.pb10{
	padding-bottom:10px !important;
}
.pb20{
	padding-bottom:20px !important;
}
.mt20{
	margin-top:20px !important;
}
.mr12{
	margin-right:12px !important;
}
.mr8{
	margin-right:8px !important;
}
.mr0{
	margin-right:0px !important;
}
.mb18{
	margin-bottom:18px !important;
}
.mb10{
	margin-bottom:10px !important;
}
.mb20{
	margin-bottom:20px !important;
}
.mb40{
	margin-bottom:40px !important;
}
.mb50{
	margin-bottom:50px !important;
}
.mb0{
	margin-bottom:0px !important;
}
.ti1{
	text-indent:-1em;
	margin-left:1em;
}
.right{
	float:right;
}
.left{
	float:left;
}
.imgRight{
	float:right;
	margin-left:20px;
}
.imgLeft{
	float:left;
	margin-right:20px;
}
.clearBox{
	overflow:hidden;
}

@media screen and (max-width: 1176px) {
#header,#gNavi ul{
	width:980px;
}
#gNavi li.mainNavi{
	margin-left:4%;
}

#gNavi .subNavi{
	width:100%;
}
#gNavi .subNavi h2{
	width:776px;
}
#gNavi .subNavi .bnContainer{
	width:776px;
}
#gNavi .subNavi .bnBox{
	margin-bottom:8px;
}
#gNavi .subNavi .bnBox2{
	margin-right:0px;
}
#gNavi .subNavi .sub_bnBox{
	width:384px;
	float:left;
}
#gNavi .subNavi .sub_bnBox1{
	width:384px;
	margin-right:8px;
}
#gNavi .subNavi .sub_bnBox1 .banner a img{
	width:100%;
	height:auto;
}
#gNavi .subNavi .sub_bnBox2,
#gNavi .subNavi .sub_bnBox3{
	overflow:hidden;
	margin-right:0px;
}
#gNavi .subNavi .sub_bnBox3 a{
	float:left;
	width:188px;
	display:block;
}
#gNavi .subNavi .sub_bnBox2 a img,
#gNavi .subNavi .sub_bnBox3 a img{
	width:100%;
	height:auto;
}
#fDetail2{
	padding-right:0px;
	margin-right:50px;
}
#fDetail2 #privacymark{
	right:0px;
}
}

@media screen and (max-width: 980px) {
#header,#gNavi ul{
	width:784px;
}
#gNavi{
	top:28px;
}
#gNavi li.mainNavi{
	font-size:100%;
	margin-left:2%;
}
#gNavi li.mainNavi a{
	height:27px;
}
#gNavi li#gNavi06 > a::after{
	width:23.25px;
	height:18px;
	margin-left:5px;
}
#gNavi .subNavi{
	top:27px;
}
#breadcrumb{
	width:784px;
	margin-left:auto;
	margin-right:auto;
}
#mainTitle{
	width:100%;
}
#mainBox{
	width:auto;
	padding-left:0px;
	padding-right:0px;
}
#contents{
	width:784px;
	float:none;
	margin-left:auto;
	margin-right:auto;
	margin-bottom:40px;
}
#side{
	width:784px;
	float:none;
	margin-left:auto;
	margin-right:auto;
	margin-top:0px !important;
	position:static !important;
}
#sNavi{
	width:784px;
}
#sNavi li,#sNavi li p,#sNavi li a,#sNavi li ul li a,#sNavi li ul li ul li a{
	width:auto;
}

}

@media screen and (max-width: 804px) {
#wrap{
	padding-top:53px;
}
#gNavi{
	display:none;
}
#header{
	position:relative;
	z-index:11;
	padding-left:10px;
	padding-right:10px;
	width:auto;
	height:33px;
	background-color:#FFF;
}
#anime_header{
	position:fixed;
	right:0px;
	top:0px;
	width:100%;
	z-index:1000;
}
#header #logo a{
	width:auto;
	height:auto;
	max-width:330px;
	margin-right:50px;
}
#header #logo a img{
	width:100%;
	height:auto;
}

#menu_btn{
	display:block;
	width:30px;
	height:30px;
	background-image:url(/common/img/sp_menu_btn.gif);
	background-repeat:no-repeat;
	background-size:30px 60px;
	position:absolute;
	top:10px;
	right:10px;
	z-index:103;
	text-indent:-999999px;
	cursor:pointer;
}
#menu_btn.active{
	background-position:0px -30px;
}
#slide_menu{
	width:100%;
	position:absolute;
	top:-800px;
	right:0px;
	background-color:#fff;
	z-index:1;
	overflow:auto;
}
#sp_menu{
	display:block;
}
#sp_menu ul{
	width:100%;
	display:block;
	background-color:#FFF;
}
#sp_menu ul li{
	margin-bottom:2px;
}
#sp_menu ul li p{
	width:auto;
	font-size:93%;
	line-height:1.2em;
	color:#FFF;
	display:block;
	background-color:#7B93B8;
	padding-top: 10px;
	padding-right: 35px;
	padding-bottom: 10px;
	padding-left: 15px;
	background-image:url(/common/img/sub_open_sp.png);
	background-repeat:no-repeat;
	background-position:right center;
	background-size:22px 14px;
	cursor:pointer;
}
#sp_menu ul li p.active{
	color:#FFF;
	background-color:#315996;
	background-image:url(/common/img/sub_close_sp.png);
}
#sp_menu ul li a{
	width:auto;
	font-size:93%;
	line-height:1.2em;
	color:#FFF;
	display:block;
	background-color:#7B93B8;
	padding-top: 10px;
	padding-right: 15px;
	padding-bottom: 10px;
	padding-left: 15px;
	text-decoration:none;
}
#sp_menu ul li a.active{
	color:#FFF;
	background-color:#315996;
}
#sp_menu ul li p:hover,#sp_menu ul li a:hover{
	color:#FFF;
	background-color:#315996;
}
#sp_menu ul li ul.subMenu{
	padding-top:6px;
	padding-bottom:4px;
	display:none;
}
#sp_menu ul li ul.active{
	display:block;
}
#sp_menu ul li ul li{
	margin-bottom:2px;
}
#sp_menu ul li ul li a{
	display:block;
	padding-top:6px;
	padding-bottom:6px;
	padding-left:24px;
	padding-right:0px;
	width:auto;
	font-size:12px;
	background-color:transparent;
	background-image:url(/common/img/sp_menu_arrow.gif);
	background-repeat:no-repeat;
	background-position:10px center;
	background-size:8px 12px;
	color:#333;
}
#sp_menu ul li ul li a.active,#sp_menu ul li ul li a:hover{
	background-color:transparent;
	color:#315996;
	font-weight:bold;
}
#sp_menu ul li ul li ul{
	padding-top:2px;
	margin-left:15px;
	width:auto;
}
#sp_menu ul li ul.subMenu2{
	padding:13px 20px 11px;
	width:auto;
}
#sp_menu ul li ul.subMenu2 li a{
	display:inline-block;
	font-size:11px;
	padding-left:12px;
	background-position:0px center;
	background-size:6px 9px;
}
#breadcrumb{
	display:none;
}
#container{
	padding-bottom:2px;
}
#contents{
	width:auto;
	margin-left:10px;
	margin-right:10px;
	margin-bottom:0px;
}
#side{
	display:none;
}
#mainTitle{
	height:150px;
	margin-bottom:0px;
}
#mainTitleDetail{
	position:absolute;
	left:30px;
	top:35px;
}
#mainTitle h1 img{
	height:28px;
	width:auto;
}
#mainTitle p{
	font-size:16px;
	line-height:1.2em;
	margin-right:30px;
}
#mainBox{
	padding-top:10px;
	padding-bottom:10px;
}
#fDetail{
	display:none;
}
#pageTop{
	bottom:0px;
	width:40px;
	height:40px;
}
#pageTop a{
	display:block;
	width:40px;
	height:40px;
	text-indent:-999999px;
	background-image:url(/common/img/page_top_sp.gif);
	background-size:40px;
}
#pageTop a:hover{
	opacity:0.6;
	filter:alpha(opacity=60);
}

.pb10{
	padding-bottom:5px !important;
}
.pb20{
	padding-bottom:10px !important;
}
.mt20{
	margin-top:10px !important;
}
.mb10{
	margin-bottom:5px !important;
}
.mb20{
	margin-bottom:10px !important;
}
.mb40{
	margin-bottom:20px !important;
}
.right{
	float:none;
}
.left{
	float:none;
}
.imgRight{
	float:none;
	margin-left:0px;
	text-align:center;
}
.imgLeft{
	float:none;
	margin-right:0px;
	text-align:center;
}
}

@media screen and (max-width: 480px) {
#fDetail2{
	padding-right:10px;
	margin-right:0px;
}
#fDetail2 #privacymark{
	position:static;
	padding-top:10px;
}
}

@media screen and (max-width: 470px) {
#fDetail2 table tr{
	display:block;
	width:100%;
}
#fDetail2 table th,#fDetail2 table td{
	display:block;
	width:100%;
	float:left;
	padding-right:0px;
}
#fDetail2 table th{
	text-align:center;
	padding-bottom:15px;
}
#fDetail2 table td ul{
	width:300px;
	margin-left:auto;
	margin-right:auto;
}
#fDetail2 table td ul li{
	margin-left:0px;
	margin-right:8px;
}
#fDetail2 table td ul li:nth-child(2n){
	margin-right:0px;
}
#fDetail2 table td ul li img{
	width:146px;
	height:30px;
}
}

@media screen and (max-width: 392px) {
#header{
	padding-top:12px;
	padding-bottom:8px;
}
#anime_header{
	height:40px;
}
}
