@charset "utf-8";

/* reset
==================*/
body, h1, h2, h3, h4, h5, h6, p, ul, ol, dl, dd{
	margin: 0; padding: 0; font-weight:normal; font-size: 100%; _min-width: 1080px;
	font-family: 'ヒラギノ角ゴPro W3','Hiragino kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif}

img{ border: none; vertical-align: bottom; max-width: 100%}

li{	list-style-type: none}

figure{ text-align:center}

body{ -webkit-text-size-adjust: 100%; color: #333; font-size: 62.5%}

/* clearfix */
.cf{ zoom:1}
.cf:before, .cf:after{ content: ""; display: table}
.cf:after{ clear: both}

/* small midashi */

#main .m_ttl,
#main .s_ttl {
	font-weight: bold;
	font-size: 1.5em;
	margin: 0 20px 5px 0;
}
#main .s_ttl {
	font-size: 1.3em;
}

/* link */
a:link, a:visited{ color: #144171; text-decoration: none}
a:hover, a:active{ text-decoration: underline}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, video{ display:block}

/* header */
#cover {
	display: none;
}
#header {
	width: 980px;
	margin: 0 auto 16px;
	position: relative;
}
.tag {
	padding: 12px 0 10px;
	width: 960px;
	margin: 0 auto;
}
#header p {
	margin: 0 10px;
}
#header ul {
	position: absolute;
	right: 5px;
	top: -25px;
}
#header ul li {
	float: left;
	font-size: 1.1em;
}
#header ul li .tri {
	padding: 0 5px 0 20px;
	font-size: 0.8em;
	color: #444;
}
#header ul li a {
	color: #333;
}
#header ul li a span {
	display: none;
}

/* header mediaQueries */
@media screen and (max-width:1000px){
.tag {
	padding: 12px 10px 10px;
	width: auto;
}
#header {
	width: auto;
	margin: 0 0 16px;
}
}

@media screen and (max-width:780px){
#header ul {
	width: 230px;
}
#header ul li {
	width: 50%;
	margin: 0 0 15px;
}
}
@media screen and (max-width:650px){
body .off {
	display: none !important;
}
#cover {
	width: 100%;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	background: #000;
	filter: alpha(opacity=30);
	opacity: 0.3;
	z-index: 3;
}
#header p {
	max-width: 62%;
}
#header .menu_btn {
	display: block;
	width: 35px;
	height: 35px;
	background: url(../images/icon.png) no-repeat left top;
	background-size: 79px auto;
	position: absolute;
	right: 10px;
	top: 0;
	z-index: 4;
}
#header .open {
	background-position: 0 -35px;
}
#header ul {
	position: absolute;
	right: 0;
	top: 33px;
	width: 100%;
	background: #495660;
	z-index: 4;
}
#header ul li {
	border-bottom: 1px solid #808990;
	margin: 0;
	float: none;
	width: auto;
}
#header ul li .tri {
	display: none;
}
#header ul li a {
	color: #FFF;
	display: block;
	border-bottom: 1px solid #3B464E;
	padding: 15px 10px;
	font-size: 1.5em;
	position: relative;
}
#header ul li a span {
	display: block;
	position: absolute;
	right: 10px;
	top: 50%;
	width: 8px;
	height: 12px;
	margin: -6px 0 0;
	background: url(../images/icon.png) no-repeat -68px -35px;
	background-size: 79px auto;
}
}

/* gnav */
#gnav{
	border-top: 1px solid #DDD;
	margin: 0 0 10px;
}
#gnav .inner {
	width: 1080px;
	margin: 0 auto;
	background: url(../images/gnav_bg.jpg) no-repeat center top;
}
#gnav ul {
	padding: 0 40px 0 50px;
	background: url(../images/gnav_bd.gif) no-repeat 50px 4px;
}
#gnav ul li {
	float: left;
	width: 16.6%;
}
#gnav ul li a {
	display: block;
	padding: 4px 0 3px;
	color: #222;
	text-align: center;
	font-size: 1.5em;
	text-shadow: 1px 0 1px #FFF;
}
#gnav ul li a:hover {
	background: url(../images/gnav_ie.jpg) no-repeat center top;
	background: -webkit-gradient(radial, 50% 150%, 20, 50% 150%, 120, from(#B5C0CA), to(rgba(255,255,255,0.2)));
	background: -moz-radial-gradient(50% 150%, circle cover, #B5C0CA, rgba(255,255,255,0.2));
	background-size: 100% 100%;
	text-decoration: none;
	color: #154272;
}
#gnav ul li.on {
	border-bottom: 1px solid #DDD;
}
#gnav ul li.on a {
	background: #FFF;
 	background: -moz-linear-gradient(top, #F4F4F4, #FFF 20%, #FFF 100%);
	background: -webkit-gradient(linear, left top, left bottom, from(#F4F4F4), color-stop(0.2, #FFF), color-stop(1.0, #FFF));
	padding: 4px 0 2px;
}
#gnav ul li a span {
	display: block;
	padding: 11px 0 7px;
	background: url(../images/gnav_bd.gif) no-repeat right center;
}
#gnav ul li.last {
	background: #E06363;
 	background: -moz-linear-gradient(top, #EAA, #DB4D4D 100%);
	background: -webkit-gradient(linear, left top, left bottom, from(#EAA), color-stop(1.0, #DB4D4D));
	background: -o-linear-gradient(top, #EAA, #DB4D4D 100%);
	background: linear-gradient(to bottom, #EAA, #DB4D4D);
}
#gnav ul li.last a {
	background: url(../images/gnav_ie02.jpg) no-repeat center center;
 	background: -moz-linear-gradient(top, #E78989, #C00 100%);
	background: -webkit-gradient(linear, left top, left bottom, from(#E78989), color-stop(1.0, #C00));
	background: -o-linear-gradient(top, #E78989, #C00 100%);
	background: linear-gradient(to bottom, #E78989, #C00);
	margin: 3px 3px 2px;
	color: #FFF;
	text-shadow: 1px 0 1px #D83D3D;
	zoom: 1;
	line-height: 1;
	background-size: 100% auto;
}
#gnav ul li.last a:hover {
	background: url(../images/gnav_ie02_on.jpg) no-repeat center center;
 	background: -moz-linear-gradient(top, #EAA, #D9090C 100%);
	background: -webkit-gradient(linear, left top, left bottom, from(#EAA), color-stop(1.0, #D9090C));
	background: -o-linear-gradient(top, #EAA, #D9090C 100%);
	background: linear-gradient(top, #EAA, #D9090C 100%);
	background-size: 100% 100%;
	margin: 3px 3px 2px;
	color: #FFF;
	text-shadow: 1px 0 1px #D83D3D;
	zoom: 1;
}
#gnav ul li.last a span {
	background: none;
	position: relative;
	padding: 11px 0 10px 20px;
}
#gnav ul li.last a span span {
	width: 20px;
	height: 21px;
	padding: 0;
	background: url(../images/icon_pc.png) no-repeat -59px 0;
	position: absolute;
	left: 20px;
	_left: -20px;/* forIE */
	top: 8px;
	*top: 12px;/* forIE */
}

/* gnav mediaQueries */
@media screen and (max-width:1080px){
#gnav .inner {
	width: auto;
}
#gnav ul {
	padding: 0;
	background: none;
}
#gnav ul li a {
	font-size: 1.4em;
}
#gnav ul li.last a span span {
	background: url(../images/icon.png) no-repeat -59px 0;
	background-size: 79px auto;
	top: 5px;
}
}
@media screen and (max-width:930px){
#gnav ul li.last a span span {
	left: 8px;
}
}
@media screen and (max-width:780px){
#gnav .inner {
	background: none;
}
#gnav ul li {
	width: 33.3%;
	background: #EEE;
 	background: -moz-linear-gradient(top, #FFF, #E7E7E7 100%);
	background: -webkit-gradient(linear, left top, left bottom, from(#FFF), color-stop(1.0, #E7E7E7));
	background: -o-linear-gradient(top, #FFF, #E7E7E7 100%);
	background: linear-gradient(to bottom, #FFF, #E7E7E7);
	background: linear-gradient(top, #FFF, #E7E7E7 100%);
}
#gnav ul li a {
	font-weight: bold;
}
#gnav ul li.last a span span {
	left: 10%;
}
}
@media screen and (max-width:450px){
#gnav ul li {
	width: 50%;
}
#gnav ul li a {
	line-height: 1;
	padding: 7px 0;
}
#gnav ul li.on a {
	line-height: 1;
	padding: 7px 0 6px;
}
#gnav ul li.last a {
	padding: 6px 0 5px;
}
#gnav ul li.last a span {
	padding: 9px 0 7px 20px;
}
}

/* contents */
#contents {
	margin: 0 auto 70px;
	position: relative;
	width: 980px;
}
#contents.wide #main {
  float: none;
  width: auto;
}

/* breadcrumbs */
.bread {
	margin: 3px 0 10px;
}

.bread li {
	float: left;
	padding: 0 10px 0 0;
	font-size: 1.1em;
}

.bread li a {
	padding: 0 10px 0 0;
}

/* main */
#main {
	padding: 0 0 10px;
	float: left;
	width: 750px;
}

#main .bnr {
	text-align: center;
	padding: 0 0 10px;
}

/* snav */
#snav {
	width: 230px;
	float: right;
}
#snav #snav_ttl {
	color: #FFF;
	font-size: 1.6em;
	background: #444;
	filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#FF666666', endColorstr='#FF333333');
	-ms-filter:"progid:DXImageTransform.Microsoft.gradient(GradientType=0,startcolorstr=#FF666666, endcolorstr=#FF333333))";
 	background: -moz-linear-gradient(top, #666, #333 80%, #333 100%);
	background: -webkit-gradient(linear, left top, left bottom, from(#666), color-stop(0.8, #333), color-stop(1.0, #333));
	padding: 15px 10px;
}

#snav #snav_ttl_2 {
	color: #FFF;
	font-size: 1.6em;
	background: #444;
	filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#FF666666', endColorstr='#FF333333');
	-ms-filter:"progid:DXImageTransform.Microsoft.gradient(GradientType=0,startcolorstr=#FF666666, endcolorstr=#FF333333))";
 	background: -moz-linear-gradient(top, #666, #333 80%, #333 100%);
	background: -webkit-gradient(linear, left top, left bottom, from(#666), color-stop(0.8, #333), color-stop(1.0, #333));
	padding: 15px 10px;
}

#snav ul {
	margin: 0 0 20px;
}

#snav ul li {
	background: #EEE;
	font-size: 1.4em;
	border-bottom: 1px solid #DFDFDF;
}
#snav ul li.ttl {
	background: #777;
	color: #FFF;
	border-bottom: none;
	padding: 13px 25px 10px 10px;
}
#snav ul li.ttl.on {
	background: #444;
}
#snav ul li a {
	color: #333;
	display: block;
	padding: 13px 25px 10px 10px;
	position: relative;
	text-decoration: none;
	font-size: 0.9em;
}
#snav ul li a:hover {
	background: #E2E7EA;
	color: #134072;
}
#snav ul li.on a {
	background: #FFF;
 	background: -moz-linear-gradient(top, #F5F5F5, #FFF 50%, #FFF 100%);
	background: -webkit-gradient(linear, left top, left bottom, from(#F5F5F5), color-stop(0.5, #FFF), color-stop(1.0, #FFF));
}
#snav ul li a span {
	background: url(../images/icon.png) no-repeat -69px -71px;
	background: url(../images/icon_pc.png) no-repeat -69px -71px\9;/* forIE */
	background-size: 79px auto;
	display: block;
	width: 5px;
	height: 8px;
	position: absolute;
	right: 15px;
	top: 50%;
	_top: 20px;/* forIE6 */
	margin: -3px 0 0;
}
#snav .bnr_l,
#snav .bnr_s {
	margin: 0 0 10px;
}
#snav img {
	_width: 100%;
}
/* contents mediaQueries */
@media screen and (max-width:1000px){
.bread {
	margin: 3px 10px 10px;
}
#contents {
	width: 750px;
}
#main {
	padding: 0 10px 50px;
	float: none;
	width: auto;
}
#snav {
	width: 580px;
	margin: 0 auto;
	float: none;
}
#snav .bnr_box {
	text-align: center;
}
}
@media screen and (max-width:750px){
#contents {
	width: auto;
}
}
@media screen and (max-width:580px){
#snav {
	width: auto;
	margin: 0 10px;
}
#snav #snav_ttl {
	margin: 0 0 20px;
	position: relative;
}
#snav #snav_ttl span {
	position: absolute;
	right: 10px;
	top: 50%;
	margin: -7px 0 0;
	width: 14px;
	height: 15px;
	display: block;
	background: url(../images/icon.png) no-repeat -13px -70px;
	background-size: 79px auto;
}
#snav #snav_ttl_2 {
	margin: 0 0 20px;
	position: relative;
}
#snav #snav_ttl_2 span {
	position: absolute;
	right: 10px;
	top: 50%;
	margin: -7px 0 0;
	width: 14px;
	height: 15px;
	display: block;
	background: url(../images/icon.png) no-repeat -13px -70px;
	background-size: 79px auto;
}
#snav .nav {
	margin: -20px 0 20px;
}
}

/* footer */
#footer {
	margin: 25px 0 0;
	border-top: 1px solid #DDD;
	padding: 1px 0 0;
	background: #EEE\9;
	*width: 100%;/* forIE */
	*zoom:1;/* forIE */
}
#footer .bg {
	background: #EEE;
 	background: -moz-linear-gradient(top, #E6E6E6, #EEE 100%);
	background: -webkit-gradient(linear, left top, left bottom, from(#E6E6E6), color-stop(1.0, #EEE));
	background: -o-linear-gradient(top, #E6E6E6, #EEE 100%);
	background: linear-gradient(top, #E6E6E6, #EEE 100%);
	width: 1080px\9;
	margin: 0 auto\9;
}
#footer .bg .inner {
	margin: 0 auto;
	width: 980px;
	position: relative;
	padding: 30px 0 0;
}
#footer .go_top {
	position: absolute;
	right: 0;
	top: -25px;
	background: #EEE;
 	background: -moz-linear-gradient(top, #D1D1D1, #E6E6E6 100%);
	background: -webkit-gradient(linear, left top, left bottom, from(#D1D1D1), color-stop(1.0, #E6E6E6));
	background: -o-linear-gradient(top, #D1D1D1, #E6E6E6 100%);
	background: linear-gradient(top, #D1D1D1, #E6E6E6 100%);
	border-top: 1px solid #E6E6E6;
	width: 95px;
}
#footer .go_top a {
	display: block;
	color: #333;
	padding: 5px 0 3px 28px;
	text-shadow: 0 0 1px #AAA;
	border-top: 1px solid #DEDEDE;
	position: relative;
}
#footer .go_top a span {
	background: url(../images/arw_ie02.gif) no-repeat 0 0;
	display: block;
	width: 26px;
	height: 23px;
	position: absolute;
	top: 0;
	left: 0;
	_left: -28px;/* forIE */
}
#footer .go_top a:hover {
	text-decoration: none;
}
#footer .block_wrap {
	float: left;
	width: 33.3%;
}
#footer .block {
	width: 50%;
	float: left;
}
#footer .block p {
	font-weight: bold;
	font-size: 1.2em;
	margin: 0 0 10px;
}
#footer .block p a {
	color: #333;
}
#footer .block p span {
	color: #D72C47;
	font-size: 0.5em;
	padding: 0 5px 0 0;
}
#footer .block p span.plus,
#footer .block p span.minus {
	display: none;
}
#footer .block p a span {
	display: none;
}
#footer .block ul {
	margin: 0 0 20px;
}
#footer .block ul li {
	margin: 0 0 10px;
}
#footer .block ul li a {
	color: #333;
	font-size: 1.2em;
}
#footer .block ul li a span {
	display: none;
}
#footer .copy {
	background: #666;
	color: #CCC;
	font-size: 1.1em;
	_min-width: 1080px;/* forIE */
}
#footer .copy p {
	text-align: right;
	width: 980px;
	margin: 0 auto;
	padding: 10px 0;
	background: #666\9;
	_min-width: 1080px;/* forIE */
}
#footer .copy p a {
	float: left;
	color: #CCC;
	text-decoration: none;
}

/* footer mediaQueries */
@media screen and (max-width:1080px){
#footer .bg {
	width: 100%\9;
}
#footer .bg .inner {
	margin: 0 10px;
	width: auto;
}
#footer .copy p {
	width: auto;
	margin: 0 10px;
}
}
@media screen and (max-width:800px){
#footer .block_wrap .block {
	float: none;
	width: 100%;
}
#footer .go_top a span {
	background: url(../images/icon.png) no-repeat -63px -46px;
	background-size: 79px auto;
	left: 5px;
}
}
@media screen and (max-width:580px){
#footer .go_top {
	top: -25px;
	z-index: 2;
}
#footer .go_top a {
	padding: 5px 0 5px 28px;
}
#footer .bg .inner {
	margin: 0;
	padding: 0
}
#footer .block_wrap {
	float: none;
	width: 100%;
	position: relative;
	top: -1px;
}
#footer .block p {
	border-bottom: 1px solid #C1C1C1;
	border-top: 1px solid #FFF;
	margin: 0;
	font-size: 1.5em;
}
#footer .block .ttl,
#footer .block p a,
#footer .block ul li a {
	position: relative;
	padding: 15px 10px;
	display: block;
}
#footer .block p span {
	display: none;
}
#footer .block p a span,
#footer .block p span.plus,
#footer .block p span.minus,
#footer .block ul li a span {
	display: block;
	font-weight: bold;
	position: absolute;
	right: 10px;
	top: 50%;
	color: #666;
	margin: -6px 0 0;
	width: 12px;
	height: 12px;
	padding: 0;
	background: url(../images/icon.png) no-repeat -35px -35px;
	background-size: 79px auto;
}
#footer .block p span.minus {
	background: url(../images/icon.png) no-repeat -47px -35px;
	background-size: 79px auto;
}
#footer .block p a span,
#footer .block ul li a span {
	background: url(../images/icon.png) no-repeat -60px -35px;
	background-size: 79px auto;
	width: 8px;
}
#footer .block ul li a span {
	background: url(../images/icon.png) no-repeat -68px -35px;
	background-size: 79px auto;
}
#footer .block ul {
	margin: 0;
}
#footer .block ul li {
	margin: 0;
	border-bottom: 1px solid #949494;
}
#footer .block ul li a {
	font-size: 1.4em;
	color: #FFF;
	background: #666;
	border-bottom: 1px solid #333;
}
#footer .block ul.last {
	margin: 20px 0 0;
}
#footer .block ul.last li {
	margin: 0 0 15px;
	border-bottom: none;
}
#footer .block ul.last li a {
	font-size: 1.3em;
	color: #333;
	background: none;
	border-bottom: none;
	padding: 0 10px;
	text-decoration: underline;
}
#footer .copy p {
	text-align: center;
	padding: 20px 10px;
}
#footer .copy p a {
	float: none;
	display: block;
	margin: 0 0 5px;
	font-size: 1.3em;
}
}