@charset "UTF-8";



body {
	width: 100%;
	min-width: 0;
	-webkit-text-size-adjust: 100%;
}

.cmn_wrapper {
	width: 100%;
	max-width: auto;
	margin: 0 auto;
	padding: 0 3.125%;
	box-sizing: border-box;
}

a.link_h {
	background-image: url(../images/link_head.png);
	background-repeat: no-repeat;
	background-position: 0 center;
	background-size: auto 12px;
	padding: 0 0 0 28px;
	font-size: 10px;
}




header {
	background-image: url(../images/h_bg.png);
	background-repeat: repeat-x;
	background-position: 0 bottom;
	background-size: auto 11.11%;
	width: 100%;
	overflow: hidden;
}
header .cmn_wrapper {
	position: relative;
	background-image: url(../images/h_logo_bg.gif);
	background-repeat: no-repeat;
	background-position: 0 bottom;
	background-size: auto 11.11%;
	width: 100%;
	height: 0;
	padding-top: 15.56%;
	overflow: hidden;
}
header .fixed_header {
	background-color: #fff;
	position: fixed;
	width: 100%;
	height: 0;
	top: 0;
	left: 0;
	padding: 14% 48px 0 3.125%;
	box-sizing: border-box;
	z-index: 1000;
}
header h1 {
	position: absolute;
	background-image: url(../images/h_logo.png);
	background-repeat: no-repeat;
	background-position: 0 center;
	background-size: 100% auto;
	width: 33%;
	height: 0;
	top: 0;
	left: 3.125%;
	margin: 0 0 0 0;
	padding-top: 14.4%;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}
header .h_company_name {
	position: absolute;
	background-image: url(../images/h_company_name.png);
	background-repeat: no-repeat;
	background-position: 0 center;
	background-size: 100% auto;
	float: right;
	width: 23%;
	height: 0;
	top: 0;
	right: 27%;
	margin: 0 0 0 0;
	padding-top: 15.56%;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}

ul.btn_language {
    display: none;
    position: absolute;
	background-color: #fff;
    width: 100%;
    top: 100%;
    left: 0;
	border: 1px solid #fff;
    z-index: 999;
}
ul.btn_language li {
	width: 100%;
	border-bottom: 1px solid #efefef;
}
ul.btn_language li a {
	display: block;
	width: 100%;
	padding: 15px 10px;
	box-sizing: border-box;
	text-align: center;
}
ul.btn_language:hover li a:hover {
	background-color: #efefef;
}




#grobal_navi { display: none; }

#grobal_navi_sp {
	width: 100%;
	top: 0;
	left: 0;
	z-index: 1000;
}
#grobal_navi_sp .h_lang_btn {
	position: fixed;
	display: block;
	background-image: url(../images/h_ico_langhead.png);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 50% auto;
	width: 14%;
	height: 0;
	padding-top: 14%;
	top: 0;
	right: 13.5%;
	text-indent: -9999px;
	z-index: 1001;
}
#grobal_navi_sp .h_menu_btn {
	position: fixed;
	display: block;
	background-image: url(../images/menu_btn_sp.png);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 65% auto;
	background-color: #4a77ad;
	width: 14%;
	height: 0;
	padding-top: 14%;
	top: 0;
	right: 0;
	text-indent: -9999px;
	z-index: 1001;
}
#grobal_navi_sp .h_menu_btn.op {
	background-image: url(../images/menu_close_sp.png);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 13px 13px;
}
#grobal_navi_sp #gnavi_sp_wrap {
	display: none;
	position: absolute;
	background-color: #4a77ad;
	width: 100%;
	top: 0;
	left: 0;
	z-index: 999;
}
#grobal_navi_sp #gnavi_sp_wrap a ,
#grobal_navi_sp #gnavi_sp_wrap p {
	display: block;
	padding: 15px 10px;
	color: #fff;
}
#grobal_navi_sp #gnavi_sp_wrap #gnavi_sp li {
	padding: 0;
	border-bottom: 1px solid #8ba8ca;
	font-size: 12px;
}
#grobal_navi_sp #gnavi_sp_wrap #gnavi_sp li a {
	background-image: url(../images/menu_arrow_sp.png);
	background-repeat: no-repeat;
	background-position: 96.1% center;
	background-size: 15px 15px;
}
#grobal_navi_sp #gnavi_sp_wrap #gnavi_sp li.acrd p {
	background-image: url(../images/menu_plus_sp.png);
	background-repeat: no-repeat;
	background-position: 96.1% center;
	background-size: 15px 15px;
}
#grobal_navi_sp #gnavi_sp_wrap #gnavi_sp li.acrd.op p {
	background-image: url(../images/menu_minus_sp.png);
	background-repeat: no-repeat;
	background-position: 96.1% center;
	background-size: 15px 15px;
}
#grobal_navi_sp #gnavi_sp_wrap #gnavi_sp li ul {
	display: none;
	padding: 10px 0;
	border-top: 1px solid #8ba8ca;
}
#grobal_navi_sp #gnavi_sp_wrap #gnavi_sp li ul li {
	border: 0;
	font-size: 12px;
}
#grobal_navi_sp #gnavi_sp_wrap #gnavi_sp li ul li a ,
#grobal_navi_sp #gnavi_sp_wrap #gnavi_sp li.acrd ul li a ,
#grobal_navi_sp #gnavi_sp_wrap #gnavi_sp li.acrd.op ul li a {
	background: none;
	padding: 10px 20px;
}
#grobal_navi_sp #gnavi_sp_wrap #gnavi_sp li ul li a:before {
	content: '-';
	margin: 0 5px 0 0;
}
#grobal_navi_sp #gnavi_sp_wrap .h_menu_close {
	padding-right: 8%; 
	background-image: url(../images/menu_close_sp.png);
	background-repeat: no-repeat;
	background-position: 96.1% center;
	background-size: 13px 13px;
	text-align: right;
}


.fixed #grobal_navi #grobal_navi_wrapper {
	position: fixed;
	background-color: #fff;
	width: 100%;
	min-width: 1054px;
	top: 0;
	z-index: 100;
}
.fixed #grobal_navi #grobal_navi_wrapper .cmn_wrapper {
	position: relative;
}
.fixed #grobal_navi #grobal_navi_wrapper .logo {
	display: block;
	position: absolute;
	background-image: url(../images/h_logo_s.png);
	background-repeat: no-repeat;
	background-position: 0 0;
	width: 119px;
	height: 17px;
	top: 21px;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}
.fixed #grobal_navi #grobal_navi_wrapper .name {
	display: block;
	position: absolute;
	background-image: url(../images/h_company_name_s.png);
	background-repeat: no-repeat;
	background-position: 0 0;
	width: 120px;
	height: 14px;
	top: 21px;
	right: 15px;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}
.fixed #grobal_navi #grobal_navi_wrapper #gnavi {
	width: 100%;
	padding: 23px 0;
	text-align: center;
	letter-spacing: -0.4em;
}
.fixed #grobal_navi #grobal_navi_wrapper #gnavi li {
	display: inline-block;
	background: none;
	padding: 0 2.2%;
	border-left: 1px solid #ddd;
	text-align: center;
	line-height: 1;
	vertical-align: middle;
}
.fixed #grobal_navi #grobal_navi_wrapper #gnavi li:last-child {
	border-right: 1px solid #ddd;
}
.fixed #grobal_navi #grobal_navi_wrapper #gnavi li a {
	padding: 23px 0 23px 0;
	border: 0;
	box-sizing: border-box;
	font-size: 13px;
	line-height: 1;
	letter-spacing: normal;
}
.fixed #grobal_navi #grobal_navi_wrapper #gnavi li.on a {
	background-image: url(../images/gmenu_marker.png);
	background-repeat: no-repeat;
	background-position: center bottom;
}


#grobal_navi #gnavi_sub {
	display: none;
	position: absolute;
	background-color: rgba(0,0,0,0.85);
	width: 100%;
	min-width: 1054px;
	top: 59px;
	padding: 28px 0;
	text-align: center;
	z-index: 100;
}
#grobal_navi #gnavi_sub .sub_name {
	margin: 0 0 25px 0;
	font-size: 28px;
	color: #fff;
}
#grobal_navi #gnavi_sub ul {
	display: inline;
	width: auto;
	text-align: center;
	letter-spacing: -0.4em;
}
#grobal_navi #gnavi_sub ul li {
	display: inline-block;
	width: 12.71%;
	margin: 0 2px;
	vertical-align: top;
	letter-spacing: normal;
}
#grobal_navi #gnavi_sub ul li a {
	display: block;
	width: 100%;
}
#grobal_navi #gnavi_sub ul li .thumb {
	margin: 0 0 10px 0;
}
#grobal_navi #gnavi_sub ul li .thumb img {
	width: 100%;
	height: auto;
}
#grobal_navi #gnavi_sub ul li .ttl {
	font-size: 15px;
	color: #fff;
	line-height: 1.45;
}


#topicspath {
	position: relative;
	/*float: left;*/
	width: 100%;
	height: 45px;
	margin: 0 0 15px 0;
	padding: 0;
	overflow: hidden;
	box-sizing: border-box;
}
#topicspath ul {
	position: absolute;
	bottom: 0;
	z-index: 10;
}
#topicspath ul li {
	float: left;
	font-size: 10px;
	line-height: 1.5;
}
#topicspath ul li a {
	color: #000;
}
#topicspath ul li span {
	color: #999;
}
#topicspath ul li.home {
	background-image: url(../images/cmn_topicpath_home.png);
	background-repeat: no-repeat;
	background-position: 0 0;
	background-size: auto 10px;
	padding: 0 0 0 18px;
}
#topicspath ul li:before {
	content: '＞';
	padding: 0 8px 0 8px;
}
#topicspath ul li.home:before {
	content: '';
	padding: 0 0 0 0;
}


#topagetop {
	display: none;
	position: fixed;
	margin: 0 0 15px 0;
	padding: 0 3.125% 0 0;
	width: 40px;
	height: 40px;
	right: 0;
	bottom: 85px;
}
#topagetop a {
	display: block;
	float: right;
	background-image: url(../images/cmn_btn_totop.png);
	background-repeat: no-repeat;
	background-position: 0 0;
	background-size: 40px 40px;
	width: 40px;
	height: 40px;
	text-indent: -9999px;
}




#otherlinks {
	background-color: #f3f3f6;
	padding: 20px 0 10px;
}
#otherlinks .other_list {
	width: 100%;
	overflow: hidden;
	text-align: center;
	letter-spacing: -0.4em;
}
#otherlinks .other_list li {
	float: left;
	display: inline-block;
	width: 50%;
	margin: 0 0 15px;
	letter-spacing: normal;
}
#otherlinks .other_list li a {
	display: block;
	background-repeat: no-repeat;
	background-position: center 0;
	background-size: auto 40px;
	width: 100%;
	padding: 45px 0 0;
	font-size: 12px;
}
#otherlinks .other_list li.other01 a { background-image: url(../images/top_otherlink01.png); }
#otherlinks .other_list li.other02 a { background-image: url(../images/top_otherlink02.png); }
#otherlinks .other_list li.other03 a { background-image: url(../images/top_otherlink03.png); }
#otherlinks .other_list li.other04 a { background-image: url(../images/top_otherlink04.png); }
#otherlinks .other_list li.other05 a { background-image: url(../images/top_otherlink05.png); }

#otherlinks .other_list li a.newwin p span {
	background-image: url(../images/cmn_ico_newwin.png);
	background-repeat: no-repeat;
	background-position: right 1px;
	padding: 0 15px 0 0;
}



footer {
	width: 100%;
	padding: 20px 0;
	border-top: 4px solid #eeeef3;
	overflow: hidden;
}
footer .copyright {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0;
	font-size: 9px;
	text-align: center;
}
footer .f_links {
	display: table;
	width: 100%;
	margin: 0 0 24px 0;
	overflow: hidden;
}
footer .f_links li {
	display: table-cell;
	float: left;
	width: 50%;
	text-align: center;
}
