@charset "utf-8";

/*==========================================*/
/* reset */
/*==========================================*/
* {
	margin: 0px;
	padding: 0px;
}

html {
    overflow-y: scroll;
    -webkit-text-size-adjust: 100%;
        -ms-text-size-adjust: 100%;
}

body {
	position: relative;
	width: 100%;
	min-height: 100%;
}

* html body{
	height: 100%;
}

form,fieldset,
h1,h2,h3,h4,h5,h6,
div,p,address,blockquote,pre,hr,
caption,th,td,
li,dt,dd,
article,aside,canvas,details,figcaption,figure,
footer,header,hgroup,menu,nav,section,summary {
	font-weight: 400;
	font-size: 100%;
}

article,aside,canvas,details,figcaption,figure,
footer,header,hgroup,menu,nav,section,summary {
	display: block;
}

video, audio, canvas {
	display: inline-block;
	*display: inline;
	*zoom: 1;
}

audio: not([controls]) {
	display: none;
}

[hidden] {
	display: none;
}

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

caption {
	padding: 0;
	text-align: left;
}

th, td {
	text-align: left;
	vertical-align: baseline;
	padding: 0;
}

h1,h2,h3,h4,h5,h6 {
	line-height: 1;
	*line-height: 1.2;
	font-weight: 700;
}

hr {display: none;}
ul,ol {list-style-type: none;}
img {border: none; vertical-align: top;}
em {font-style: normal;}
iframe {border: none; margin: 0px; padding: 0px; display: block;}
form label {cursor: pointer;}

::selection { background:#bbb1a5;}
::-moz-selection { background:#bbb1a5;}



/*==========================================*/
/* 印刷用 */
/* 参考：http://coliss.com/articles/build-websites/operation/css/css-style-for-print-media-by-responsivedesignis.html */
/*==========================================*/
@mediaprint{
section{display:block;page-break-before:always;}
precode{page-break-after:always;}
@page{margin-top:0.4cm;margin:0.5cm;}
pa,code,pre{word-wrap:break-word;}
img{display:none;}
prea[href]:after{content:"";}
preabbr[title]:after{content:"";}
pre.ira:after,
prea[href^="javascript:"]:after,
prea[href^="#"]:after{content:"";}
.no-print{display:none;}
}



/*==========================================*/
/* 404 page */
/*==========================================*/
#notFind {
	margin: 100px auto;
	padding: 40px;
	background: #eee;
}
#notFind h2{
	margin-bottom: 10px;
	font-size:20px;
}
#notFind h3{
	font-size: 16px;
}
#notFind .notFind-text{
	margin: 30px 0px;
}

#notFind #goog-fixurl{
	margin: 20px 0 0 0;
}

#notFind #goog-fixurl .other-things{
	display: none;
}

#notFind #goog-fixurl form{
	display: inline-block;
	margin: 5px 0 0 10px;
}

#notFind #goog-wm-qt{
	display: inline-block;
	width: 250px;
	padding: 3px;
	vertical-align: top;
}

#notFind #goog-wm-sb{
	display: inline-block;
	margin: 0 0 0 10px;
	padding: 5px 10px;
	background: #000;
	border: none;
	vertical-align: top;
	color: #fff;
	line-height: 1.1;
	-webkit-appearance: none;
	-moz-appearance: none;
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	cursor: pointer;
}

#notFind #goog-wm-sb:hover {
	background-color: #333;
}

#notFind .toTopPage{
	margin: 30px 0 0 0;
}

#formCredit {
	display:none;
}



/*==========================================*/
/* body */
/*==========================================*/
body {
	font-family: "Roboto", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", Helvetica, Arial, sans-serif;
	font-weight: 400;
	font-style: normal;
	line-height: 1.6;
	color: #111;
	letter-spacing: 1px;
}



/*==========================================*/
/* IE warning */
/*==========================================*/
.ie_warning {
	width: 100%;
	padding: 5px;
	text-align: center;
	background-color: #fc0;
}



/*==========================================*/
/* link */
/*==========================================*/
a:link,
a:visited {color: #222; text-decoration: underline;}
a:hover,
a:active {color: #999; text-decoration: underline;}



/*==========================================*/
/* clearfix For modern browsers */
/*==========================================*/
.cf:before, .cf:after { content: " "; display: table;}
.cf:after { clear: both;}
/* clearfix For IE 6/7 (trigger hasLayout) */
.cf { zoom: 1;}



/*==========================================*/
/* page fade */
/*==========================================*/
#fade {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 10000;
	background: #fff url(/_common/img/loading.gif) no-repeat 50% 50%;
}

#fade.fadeout {
	background-image: none;
}



/*==========================================*/
/* Text hidden */
/*==========================================*/
.hidden {
	display: block;
	overflow: hidden;
	white-space: nowrap;
	text-indent: 100%;
	font-size: 1px;
	line-height: 0;
}



/*==========================================*/
/* container */
/*==========================================*/
#container {
	overflow: hidden;
	width: 100%;
	min-width: 1140px;
	height: 100%;
	padding: 0 0 480px 0;
}



/*==========================================*/
/* header */
/*==========================================*/
#header {
	width: 100%;
}

#header .logo {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 120;
	width: 250px;
	height: 250px;
	background: url(/_common/img/hea_logo_bg.png) no-repeat 0 0;
}

#header .logo a {
	display: block;
	width: 237px;
	height: 30px;
	padding: 15px;
}

/*nav*/
#header nav {
	position: relative;
	z-index: 110;
}

#gnavi {
	position: relative;
	right: 15px;
	width: 100%;
	padding: 0 15px 0 0;
	border-bottom: 1px solid #000;
	background-color: #fff;
	text-align: right;
}

#gnavi > li {
	position: relative;
	display: inline-block;
	*display: inline; /*for IE7*/
	*zoom: 1; /*for IE7*/
	font-weight: 700;
	font-size: 108%;
	line-height: 1.1;
}

#gnavi > li > a {
	display: inline-block;
	*display: inline; /*for IE7*/
	*zoom: 1; /*for IE7*/
	padding: 22px 10px 24px;
	text-decoration: none;
}

#gnavi > li.current > a {
	color: #999;
}

#gnavi > li.n04:hover,
#gnavi > li.n05:hover {
	background: url(/_common/img/hea_subnavi_bg.png) no-repeat 49% 100%;
}

/*sub-navi*/
#header .sub-navi-wrapper {
	display: none;
	position: absolute;
	height: 180px;
	margin: 0 0 0 -1800px;
	padding: 30px 0;
	background-color: #222;
	text-align: left;
}

#header .sub-navi {
	position: relative;
	height: 190px;
	margin: 0 2000px 0 1990px;
	background: url(/_common/img/hea_subnavi_lin_dotted.png) repeat-y 0 0;
}

#header .sub-navi li {
	width: 400px;
	margin: 0 0 0 25px;
}

#header .sub-navi a {
	display: block;
	padding: 4px 0;
	font-size: 93%;
	line-height: 1.1;
	color: #fff;
}

#header .sub-navi a:link,
#header .sub-navi a:visited {color: #fff; text-decoration: none;}
#header .sub-navi a:hover,
#header .sub-navi a:active {color: #ccc; text-decoration: none;}

#header .sub-navi .current a {
	color: #ccc;
}

#header .sub-navi .description {
	display: none;
	position: absolute;
	left: -430px;
	top: 0;
	width: 400px;
}

#header .sub-navi .sn01 .description {
	display: block;
}

#header .sub-navi .description .image {
	float: left;
	margin: 0 20px 0 0;
}

#header .sub-navi .description .text {
	overflow: hidden;
	margin: 4px 0 0 0;
	font-size: 85%;
	line-height: 1.6;
	color: #fff;
}

/*translate*/
#header .translate {
/*	float: right;
	text-align: right;
*/
	position: relative;
	z-index: 5;
}

#header .translate .goog-te-gadget-simple {
	position: absolute;
	right: 0;
	border: none;
	border-left: 1px solid #000;
	border-bottom: 1px solid #000;
}

#header .translate .goog-te-gadget-simple a {
	text-decoration: none;
}

/*topicpath*/
#header .topicpath {
	position: relative;
	z-index: 120;
	float: left;
	margin: 5px 0 0 200px;
}

#header .topicpath li {
	display: inline;
	font-size: 85%;
	line-height: 1.1;
}

/*sns*/
#header #sns {
	position:absolute;
	top:69px;
	right:130px;
	z-index: 5;
	width:240px;
	text-align:right;
}

#header #sns li {
	display:inline;
	float:left;
}

#header #sns li iframe {
	width:120px !important;
}

#header #sns li.tw iframe {
	width:110px !important;
}

/*==========================================*/
/* official account */
/*==========================================*/

.no_official_account_btns #official_account_btns{
	display:none;
}


#official_account_btns{
	position: absolute;
	top: 126px;
	right: 8px;
	z-index:90;
}

#official_account_btns ul li{
	position:relative;
	text-align:right;
	padding-bottom: 2px;
}

#official_account_btns ul li span{	
	position:relative;
	top: 10px;
	left: -6px;
	background: #000;
	font-size: 11px;
	vertical-align: top;
	padding: 0px 7px 1px;
	margin-top: 9px;
	letter-spacing: 0px;
	font-family: "Roboto", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", Helvetica, Arial, sans-serif;
	color: #FFF;
}

#official_account_btns a{
	text-decoration: none;
}


#official_account_btns ul li span:after{
	content: " ";
	position: absolute;
	right: -4px;
	top: 3px;
	
	background: url(/_common/img/official_account/bg_balloon_triangle.png) no-repeat;
	width: 4px;
	height: 9px;
}

:root #official_account_btns.ie ul li span:after{
	top: -22px !important;
}

/*
* html #official_account_btns ul li span:after{
	top: -22px;
}
*/
/*IE*/

/*==========================================*/
/* specialized-page（特設ページ用） */
/*==========================================*/
#specialized-page #container {
	padding-top: 60px;
}

#specialized-page #header {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 20;
	min-width: 1140px;
	height: 60px;
	background-color: #000;
	font-family: "Roboto", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", Helvetica, Arial, sans-serif;
}

#specialized-page #header .logo {
	position: static;
	float: left;
	width: auto;
	height: auto;
	padding: 0 0 0 20px;
	background-image: none;
}



#specialized-page #header .logo a {
	display: block;
	width: 237px;
	height: 30px;
	padding: 15px;
}

#specialized-page #header .link {
	float: right;
	padding: 20px 20px 0 0;
	
	font-family: "Roboto", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", Helvetica, Arial, sans-serif;
	font-size: 13px;
	font-style: normal;
	line-height: 1.6;
	letter-spacing: 1px;
}

#specialized-page #header .link a:link,
#specialized-page #header .link a:visited {color: #fff; text-decoration: none;}
#specialized-page #header .link a:hover,
#specialized-page #header .link a:active {color: #ccc; text-decoration: none;}

#specialized-page #content {
	width: auto;
	margin: 0 auto;
	padding: 0;
}



/*==========================================*/
/* content */
/*==========================================*/
#content {
	margin: 0 auto;
	padding: 0;
	width: 100%;
}



/*==========================================*/
/* footer */
/*==========================================*/
footer {
	position: absolute;
	bottom: 0;
	z-index: 20;
	width: 100%;
}

#pagetop {
	position: fixed;
	bottom: 0;
	right: 0;
}

footer .topicpath {
	width: 900px;
	margin: 0 auto 5px;
	padding: 0 20px;
}

footer .topicpath li {
	display: inline;
	font-size: 85%;
	line-height: 1.1;
}

footer .footer-inner {
	width: 100%;
	min-width:1140px;
	height: 300px;
	background-color: #000;
	padding: 40px 0 20px;
	font-family: "Roboto", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", Helvetica, Arial, sans-serif;
}
@media (max-width: 768px){
footer .topicpath {
	width: 100%;
	margin: 0 auto 5px;
	padding: 0 20px;
}

	footer .footer-inner {
	width: 100%;
	min-width:100%;
	height: 300px;
	background-color: #000;
	padding: 40px 0 20px;
	font-family: "Roboto", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", Helvetica, Arial, sans-serif;
}
}
footer .footer-top {
	width: 900px;
	margin: 0 auto;
	padding: 0 20px;
	color: #fff;
	font-size: 80%!important;
	text-align: left!important;
}
@media (max-width: 768px){
footer .footer-top {
	width: 100%;
	margin: 0 auto;
	padding: 0 20px;
	color: #fff;
	font-size: 100%!important;
	text-align: left!important;
	background-color: #000;
}
}

footer .footer-top a:link,
footer .footer-top a:visited {color: #fff; text-decoration: underline;}
footer .footer-top a:hover,
footer .footer-top a:active {color: #ccc; text-decoration: underline;}

footer .company-profile{
	float: left;
	width: 330px;
	margin: 0 0 0 -34px;
	padding: 39px 0 0 34px;
	background: url(http://1stplace.co.jp/_common/img/foo_logo_1stplace.png) no-repeat 0 0;
	font-size: 85%;
	line-height: 1.8;
}

footer .company-profile address{
	font-style: normal;
}

footer .sub-navi {
	float: right;
	width: 560px
}
@media (max-width: 768px){
footer .sub-navi {
	float: right;
	width: 100%;
}
}
footer .nav-1stplace,
footer .nav-iaproject,
footer .official-account{
	float: left;
	width: 160px;
	padding: 0 20px 0 0;
}
@media (max-width: 768px){
footer .nav-1stplace,
footer .nav-iaproject,
footer .official-account{
	float: none;
	width: 100%;
	padding: 0 20px 0 0;
}

}
footer .nav-1stplace h1,
footer .nav-iaproject h1,
footer .official-account h1{
	margin: 0 0 20px 0;
	font-size: 108%;
	line-height: 1.1;
}

footer .footer-inner .nav-1stplace h1 a,
footer .footer-inner .nav-iaproject h1 a,
footer .footer-inner .official-account h1 a{
	text-decoration: none;
}

footer .nav-1stplace li,
footer .nav-iaproject li,
footer .official-account li{
	margin: 0 0 0px 0;
	font-size: 85%;
}

footer .footer-inner .nav-1stplace li a,
footer .footer-inner .nav-iaproject li a,
footer .footer-inner .official-account li a{
	display: block;
	padding: 4px 0;
	text-decoration: none;
}

footer .official-account img{
	margin: 0 5px 0 0;
}

footer .footer-bottom {
	width: 900px;
	margin: 0px auto 0;
	padding: 0 20px;
	color: #fff;
}
@media (max-width: 768px){
footer .footer-bottom {
	width: 100%;
	margin: 0px auto 0;
	padding: 0 20px;
	color: #fff;
}
footer .official-account img{
	margin: 0 5px 0 0;
	width: 5%;
	height: auto;
}
}
footer .sns {
	float: left;
}

footer .sns li {
	float: left;
	width: 100px;
}

footer .copyright {
	float: right;
	letter-spacing: 0;
	font-size: 77%;
	color: #999;
}



/*==========================================*/
/* parts */
/*==========================================*/
.caption {
	font-weight: 700;
}





a {
	cursor:pointer;
}

/*==========================================*/
/* scroll */
/*==========================================*/
.scroll {
	position: relative;
	width: 300px;
	height: 300px;
	overflow: hidden;
}

.scroll .scrollbar {
	position: absolute;
	top: 0;
	right: 6px;
	width: 7px;
	height: 300px;
	z-index: 1;
}

.scroll .scrollbar .track {
	position: absolute;
	top: 15px;
	left: 0;
	width: 7px;
	height: 290px;
	z-index: 2;
}

.scroll .scrollbar .track .thumb {
	position: absolute;
	top: 0;
	left: 0;
	background: #000000;
	width: 7px;
	z-index: 3;
	cursor: pointer;
	font-size: 0;
	line-height: 0;
}

.scroll .scrollbar .up {
	position: absolute;
	top: 0;
	left: 0;
	width: 7px;
	height: 15px;
	background:url(../../../_common/img/scrl_up.png) top center no-repeat;
	z-index: 2;
	cursor: pointer;
	font-size: 0;
	line-height: 0;
}

.scroll .scrollbar .down {
	position: absolute;
	top: 295px;
	left: 0;
	width: 7px;
	height: 15px;
	background:url(../../../_common/img/scrl_down.png) bottom center no-repeat;
	z-index: 2;
	cursor: pointer;
	font-size: 0;
	line-height: 0;
}


/*==========================================*/
/* 高さ揃える */
/*==========================================*/
ul.inl_block {
	letter-spacing: -.50em; /* 文字間を詰めて隙間を削除する */
	margin: 0; padding: 0; list-style: none;
}

ul.inl_block li {
	letter-spacing: normal; /* 文字間を通常に戻す */
	display: inline-block; /* 横並び */
	vertical-align: top; /* li要素を上端揃えに */
}
 
/* IE6 */
ul.inl_block li {
	_display: inline; /* display: inline-block;の代わり */
	_zoom: 1; /* 状況によって使い分ける */
}
 
/* IE7 */
*:first-child+html ul.inl_block li {
	display: inline; /* display: inline-block;の代わり */
	zoom: 1; /* 状況によって使い分ける */
}

/*==========================================*/
/* btn */
/*==========================================*/
a.btn {
	display:inline-block;
	background:#000;
	color:#FFF;
	font-size:12px;
	text-align:center;
	padding:5px 20px;
	text-decoration:none;
}