@charset "utf-8";

/* =========================================================
　サイト内共通スタイル
========================================================= */

/* =========================================================
　基本
========================================================= */

/* 0px以上の指定（基本）
--------------------------------------------------------- */
html {
	margin: 0;
	padding: 0;
	background: #ccc;
}
body {
	margin: 0;
	padding: 0;
	background: #fff;

	font-family: Verdana, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 14px;
	color: #333;
	line-height: 1.8;
	letter-spacing: 0.015em;

}
div,section,article {
	box-sizing: border-box;
}
section {
	margin: 0;
	padding: 0;
	clear: both;
}
a {/* 未訪問のリンク */
	color: #06c;
	text-decoration: none;
}
a:visited {/* 訪問済みのリンク */
	color: #528;
	text-decoration: none;
}
a:hover {/* マウスポインタを合わせた状態 */
	color: #00F;
	text-decoration: underline;
}
a:focus {/* フォーカスしている場合に適用 */
	color: #00F;
	text-decoration: underline;
}
a:active {/* マウスのボタンを押された状態 */
	color: #00F;
	text-decoration: underline;
}

/* 640px以上の追加指定（基本）
--------------------------------------------------------- */
@media screen and (min-width:640px), print {
	html {
		background: #f6f6f6 url(../images/bg.jpg) no-repeat center center;
		background-attachment: fixed;
	}
	body {
		background: url(../images/header_bg.png) repeat-x left top;
	}
}

/* =========================================================
　ヘッダー
========================================================= */

/* 0px以上の指定（ヘッダー）
--------------------------------------------------------- */
header {
	position: relative;
	height: 55px;
	background: #fff url(../images/h_bg.png) no-repeat right top;
	background-size: 70px 48px;
}
h1 {
	margin: 0;
	padding: 0;
	position: absolute;
	left: 10px;
	top: 10px;
	line-height: 0;
}
h1 a {
	margin: 0;
	padding: 0;
}
h1 a img {
	margin: 0;
	padding: 0;
	width: 200px;
}
#btn_gnav {
	margin: 0;
	padding: 0;
	position: absolute;
	right: 10px;
	top: 10px;
	width: 26px;
	height: 26px;
	background: url(../images/h_menu.png) no-repeat left top;
	background-size: 26px 26px;
	cursor: pointer;
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
}
/*参考*/
#gnav {
	margin: 0;
	padding: 0;
	background: #333;
	display: none;
	position: absolute;
	left: 0;
	top: 55px;
	width: 100%;
	z-index: 100000;
}

#gnav a {
	margin: 0;
	padding: 1em 10px 1em 23px;
	display: block;
	font-weight: bold;
	font-size: 100%;
	line-height: 1.3;
	color: #FFF;
	background:  url(../images/arrow_d.png) no-repeat 10px 1.5em;
	background-size: 11px 11px;
}
#gnav a:hover ,
#gnav a:focus ,
#gnav a:active {
	background:  #444 url(../images/arrow_d.png) no-repeat 10px 1.5em;
	background-size: 11px 11px;
	text-decoration: none;
}



#unav {
	display: none;
}

header form {
	display: none;
}

/* 640px以上の追加指定（ヘッダー）
--------------------------------------------------------- */
@media screen and (min-width:640px), print {
	header {
		margin: 0 auto;
		width: 960px;
		height: 180px;
		background: none;
	}
	h1 {
		left: 0;
		top: 25px;
	}
	h1 a img {
		width: auto;
	}
	
	#btn_gnav {
		display: none;
	}
	
/*グローバルナビ変更に伴って、画像から擬似テーブルスタイルに変更 2015_07_02
--------------------------------------------------------- */
	#gnav {
		width: 100%;
		display: table;
		height: 60px;
		top: 120px;
		background: url(../images/bg_gnav.png) repeat-x;
	}
	#gnav a {
		padding: 0 20px;
		display: table-cell;
		text-align: center;
		vertical-align: middle;
		height: 59px;
		overflow: hidden;
		white-space: nowrap;
		border-right: 1px solid #AAA;
		color: #444;
		box-sizing: border-box;
		background: none;
		text-decoration: none;
	}
	#gnav .first_nav {
		border-left: 1px solid #AAA;
	}
#gnav a:hover ,
#gnav a:focus ,
#gnav a:active {
	color: #FFFF4D;
	background: #3355AA;
}
/*グローバルメニューIE7対応*/
.ie7 #gnav {
	display: block;
}
.ie7 #gnav a {
		padding: 15px 15px 0 15px;
		display: inline-block;
		text-align: center;
		height: 59px;
		border-right: 1px solid #AAA;
		color: #444;
		background: none;
		text-decoration: none;
	}
.ie7 #gnav a:hover ,
.ie7 #gnav a:focus ,
.ie7 #gnav a:active {
	color: #FFFF4D;
	background: #3355AA;
}
.photo_nav {
	width: 5em;
}
/*---------------------------------------------------------
/.グローバルナビ変更に伴って、画像から擬似テーブルスタイルに変更 2015_07_02 */

	#unav {
		margin: 0;
		padding: 0;
		display: block;
		position: absolute;
		right: 0;
		top: 20px;
		width: 300px;
	}
	#unav > li {
		padding: 5px 0 5px 7px;
		float: left;
		list-style: none;
		font-size: 90%;
		background: url(../images/arrow_b.png) no-repeat left center;
		background-size: 4px 5px;
		background: url(../images/arrow_b_s.png) no-repeat left center\9;/*IE8以下の背景画像変更*/
		width: 53px;
	}
	#unav > li#size {
		width: 113px;
	}
	#unav > li#size > span#fontsize {
		margin: 0;
		padding: 0;
	}
	#unav > li#size > span#fontsize span {
		margin: -5px 0;
		padding: 0;
		width: 25px;
		cursor: pointer;
		background: #eee;
		text-align: center;
		display: inline-block;
	}
	#unav > li#size > span#fontsize span.small.active ,
	#unav > li#size > span#fontsize span.nomal.active ,
	#unav > li#size > span#fontsize span.large.active {
		color: #fff;
		background: #35a;
		font-weight: bold;
	}
	
	header form {
		margin: 0;
		padding: 5px 10px 0 0;
		display: block;
		position: absolute;
		right: 0;
		top: 55px;
		width: 284px;
		height: 29px;
		border: 3px solid #ccc;
	}
	header form input[type="text"] {
		margin: -5px 0 0;
		padding: 0 0 0 10px;
		border: none;
		width: 240px;
		height: 34px;
		display: block;
		float: left;
	}
}

/* =========================================================
　カテゴリー
========================================================= */

/* 0px以上の指定（カテゴリー）
--------------------------------------------------------- */
#category {
}
#topicpath {
	display: none;
}
h2 {
	margin: 0 0 1em;
	padding: .5em 10px;
	border-top: 2px solid #35a;
	border-bottom: 2px solid #35a;
	color: #35a;
	font-size: 120%;
}

/* 640px以上の追加指定（カテゴリー）
--------------------------------------------------------- */
@media screen and (min-width:640px), print {
	#category {
		margin: 0 auto 2em;
		width: 960px;
	}
	ul#topicpath {
		margin: 0;
		padding: 0;
		font-size: 80%;
		display: block;
	}
	ul#topicpath li {
		padding: .7em .6em .7em 1.3em;
		list-style: none;
		float: left;
		background: url(../images/topicpath_bg.png) no-repeat left 1.2em;
	}
	ul#topicpath li:first-child {
		padding: .7em .6em .7em 0;
		background: none;
	}
	ul#topicpath li a {
		padding: 0 
	}
	h2 { 
		padding: .8em 40px;
		clear: both;
		font-weight: normal;
		font-size: 200%;
		background: url(../images/h2_bg.png) repeat left top;
		border-top: 3px solid #35a;
		border-bottom: 3px solid #35a;
	}
	*+html h2 { /*IE7のパディング修正*/
		padding: .2em 40px .8em;
	}
}

/* =========================================================
　コンテンツ
========================================================= */

/* 0px以上の指定（コンテンツ）
--------------------------------------------------------- */
#content {
	margin: 0;
	padding: 0 10px 2em;
}
#content h3 {
	margin: 0 0 1em;
	padding: .5em 10px .5em 5px;
	color: #fff;
	font-size: 120%;
	line-height: 1.3;
	background: #35a;
	border-left: #138 5px solid;
}
#content h4 {
	margin: 0 0 1em;
	padding: 0 0 .2em;
	border-bottom: 2px solid #35a;
	line-height: 1.3;
	font-size: 110%;
}
#content h5 {
	margin: 0 0 1em;
	padding: 0 0 .2em 0;
	border-bottom: 1px solid #666;
	color: #333;
	font-size: 100%;
	line-height: 1.3;
	font-weight: normal;
}
#content h6 {
	color: #333;
	font-weight: normal;
	line-height: 1.3;
}
#content section {
	padding: 1em 0 0;
	clear: both;
}
#content p {
	margin: 0 0 .5em;
	padding: 0 0 .5em;
}
#content .img_width_100 {
	width: 100%;
}
#content .img_float_right {
	padding: 0 0 1.5em 1.5em;
	float: right;
}
#content .caption {
	line-height: 1.4;
	font-size: 80%;
}

#content ul {
	margin: 0;
	padding: 0 0 1em 3em;
	color: #333;
	line-height: 1.4;
	font-size: 90%;
}
#content ul li {
	margin: 0;
	padding: 0 0 .5em;
}
#content .arrow-list {
	margin: 0;
	padding: 0 0 1em 1.8em;
	color: #333;
	line-height: 1.4;
	font-size: 90%;
}
#content .arrow-list li {
	margin: 0;
	padding: 0 0 .5em 1.2em;
	list-style: none;
	background: url(../images/arrow_b.png) no-repeat left .5em;
	background: url(../images/arrow_b_s.png) no-repeat left center\9;/*IE8以下の背景画像変更*/
	background-size: 4px 5px;
}

#content ol {
	margin: 0;
	padding: 0 0 1em 3em;
	color: #333;
	line-height: 1.4;
	font-size: 90%;
}
#content ol li {
	margin: 0;
	padding: 0 0 .5em;
}

#content dl {
	margin: 0;
	padding: 0 0 1em 3em;
	color: #333;
	line-height: 1.4;
	font-size: 90%;
}
#content dl dt {
	margin: 0;
	padding: 0;
	font-weight: bold;
	color: #666;
}
#content dl dd {
	margin: 0;
	padding: 0 0 .5em;
}
#content .news-list {
	padding: 0 0 1em;
	border-top: 1px solid #999;
}
#content .news-list dt {
	padding: 1em 0 0;
}
#content .news-list dd {
	margin: -1.3em 0 0;
	padding: 0 0 1em 7em;
	border-bottom: 1px solid #999;
}

#content table {
	margin: 1em 0 2em;
	padding: 0;
	border: 4px solid #eee;
	background: #ccc;
	border-collapse: separate;
	border-spacing: 1px;
	width: 100%;
	font-size: 77%;
	color: #333;
}
#content table caption {
	margin: 0 0 .5em;
	padding: 0 0 0 7px;
	text-align: left;
	font-size: 108%;
	font-weight: bold;
	border-left: 3px solid #333;
	font-size: 116%;
	line-height: 1.2;
}
#content table tr th {
	padding: .5em 10px;
	line-height: 1.4;
	vertical-align: top;
	text-align: left;
	background: #ffe;
	white-space: nowrap;
}
#content table tr td {
	padding: .5em 10px;
	line-height: 1.4;
	background: #fff;
	vertical-align: top;
}
#content table thead tr th {
	background: #ffc;
}
#content .btn {
	margin: 0;
	padding: 2em 0;
	text-align: center;
}
#content .btn a {
	margin: 0;
	padding: .8em 1em .8em 1.5em;
	border: 1px solid #ccc;
	display: inline-block;
	line-height: 1;
	background: #fff url(../images/arrow_b.png) no-repeat 1em center;
	background: #fff url(../images/arrow_b_s.png) no-repeat 1em center\9;/*IE8以下の背景画像変更*/
	background-size: 4px 5px;
}
#content .btn a:hover ,
#content .btn a:focus ,
#content .btn a:active {
	background: #eee url(../images/arrow_b.png) no-repeat 1em center;
	background: #eee url(../images/arrow_b_s.png) no-repeat 1em center\9;/*IE8以下の背景画像変更*/
	background-size: 4px 5px;
}
#content .top_news .news-list dt span.イベント,
.index #content .news-list dt span.イベント {
	background: #ed81b0;
}
#content .top_news .news-list dt span.お知らせ,
.index #content .news-list dt span.お知らせ{
	background: #73a61e;
}
#content .top_news .news-list dt span.メディア,
.index #content .news-list dt span.メディア{
	background: #f2b81d;
}
#content .top_news .news-list dt span.活動報告,
.index #content .news-list dt span.活動報告{
	background: #33589d;
}

/* 640px以上の追加指定（コンテンツ）
--------------------------------------------------------- */
@media screen and (min-width:640px), print {
	#content {
		margin: 0 0 2em;
		padding: 39px;
		background: url(../images/content_bg.png) repeat left top;
		border: 1px solid #fff;
	}
	#content h3 {
		padding: .6em 20px .6em 15px;
		font-size: 140%;
	}
	#content h4 {
		border-bottom: 3px solid #35a;
		font-size: 120%;
	}
	#content h5 {
		font-size: 120%;
	}
	#content h6 {
		color: #333;
		font-size: 100%;
		font-weight: normal;
	}
	#content a[href^="http://"] ,
	#content a[href^="https://"] {/* 外部サイト */
		padding: 3px 15px 3px 0;
		background: url(../images/icon_blank.png) no-repeat right center;
		background-size: 12px 11px;
	}
	#content a[href$=".pdf"] {/* PDF */
		padding: 3px 18px 3px 0;
		background: url(../images/icon_pdf.png) no-repeat right center;
		background-size: 16px 16px;
	}
	#content a[href$=".doc"] ,
	#content a[href$=".docx"] {/* Word */
		padding: 3px 18px 3px 0;
		background: url(../images/icon_doc.gif) no-repeat right center;
		background-size: 16px 16px;
	}
	#content a[href$=".xls"] ,
	#content a[href$=".xlsx"] {/* Exile */
		padding: 3px 18px 3px 0;
		background: url(../images/icon_xls.gif) no-repeat right center;
		background-size: 16px 16px;
	}
	#content a[href^="mailto:"] {/* Mail */
		padding: 3px 15px 3px 0;
		background: url(../images/icon_mail.png) no-repeat right center;
		background-size: 12px 9px;
	}
	#content .img_width_100 {
		width: auto;
	}
}

/* =========================================================
　スタイル追加要素
========================================================= */

/* u-汎用スタイル
--------------------------------------------------------- */
.-listStyleNone {
	list-style: none;
}
.-brBox,.-brBox * {
	box-sizing: border-box;
}
.-margin0 {
	margin: 0;
}
.-padding0 {
	padding: 0;
}
.-paddingH2em {
	padding-top: 2em;
	padding-bottom: 2em;
}
.-marginH2em {
	margin: 2em 0;
}
.-marginT3em {
	margin: 3em 0;
}
.-clear {
	clear: both;
}
/* BEM通常スタイル
--------------------------------------------------------- */
.WideBox {
	margin: 1em 0;
	padding: 1em;
}
.WideBox--gray {
	background-color: #eee;
}
#content .YokoList {
	padding: 0;
}
	#content .YokoList__item {
		padding: 0 .5em;
		width: 50%;
		display: inline-block;
	}
	#content .YokoList__img {
		width: 100%;
		height: auto;
	}
	#content  .YokoList__item--left {
		padding-right: 1em;
	}
	#content  .YokoList__item--right {
	}
@media screen and (min-width:640px), print {
	#content .YokoList__item {
		margin-bottom: 0;
		width: auto;
	}
	#content  .YokoList__item--left {
	}
	#content .YokoList__img {
		height: auto;
		width: 203px;
	}
}
/* =========================================================
　フッター
========================================================= */

/* 0px以上の指定（フッター）
--------------------------------------------------------- */
#sns {
	padding: 0 0 2em 10px;
}
#sns div {
	padding: 0 0 1em;
	float: left;
}
#sns div.fb-like {
	margin: 0;
	width: 100px;
	line-height: 0;
}
#sns div#plusone {
	width: 60px;
}
#sns div#hatena {
	width: 50px;
}
#sns div#twitter {
	width: 80px;
}

#f_unav {
	margin: 0;
	padding: 0;
	clear: both;
	border-top: 1px solid #ccc;
}
#f_unav li {
	padding: 0;
	list-style: none;
	border-bottom: 1px solid #ccc;
}
#f_unav li a {
	padding: .5em 10px .5em 18px;
	display: block;
	background: #eee url(../images/arrow_b.png) no-repeat 10px center;
	background-size: 4px 5px;
}
#f_unav li a:hover ,
#f_unav li a:focus ,
#f_unav li a:active {
	background: #ddd url(../images/arrow_b.png) no-repeat 10px center;
	background-size: 4px 5px;
}

#f_gnav {
	display: none;
}

#go_pagetop {
	position: fixed;
	right: 10px;
	bottom: 50px;
	width: 30px;
	height: 30px;
}
#go_pagetop a#pageTop {
	position: fixed;
	right: 10px;
	bottom: 50px;
	display: block;
	width: 30px;
	height: 30px;
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
	background: url(../images/go_pagetop.png) no-repeat left top;
	background-size: 30px 30px;
}

address {
	margin: 0;
	padding: 1.5em 10px;
	background: #dde;
	font-size: 80%;
	font-style: normal;
	line-height: 1.4;
	border-bottom: 1px solid #a3a3ce;
}
address div img {
	padding: 0 0 .5em;
	width: 120px;
}
address div span {
	font-size: 130%;
}

footer form {
	margin: 0;
	padding: 1em 0;
	background: #dde;
	text-align: center;
}

#language {
	margin: 0;
	padding: 0 0 1em;
	background: #dde;
	text-align: center;
}

#copyright {
	margin: 0;
	padding: .8em 10px;
	text-align: center;
	font-size: 70%;
	background: #a3a3ce;
	color: #fff;
	clear: both;
	line-height: 1.2;
}
#copyright a {
	color: #fff;
}


/* 640px以上の追加指定（フッター）
--------------------------------------------------------- */
@media screen and (min-width:640px), print {
	#sns {
		margin: 0 auto;
		padding: 0 0 2em;
		width: 960px;
	}
	#sns div.fb-like {
		width: 120px;
	}
	#sns div#plusone {
		width: 80px;
	}
	#sns div#hatena {
		width: 70px;
	}
	#sns div#twitter {
		width: 100px;
	}
	
	#f_unav {
		margin: 0 auto;
		padding: 0;
		width: 960px;
		border: none;
		font-size: 90%;
	}
	#f_unav li {
		border: none;
		float: left;
	}
	
	#f_unav li a {
		padding: .5em 10px .5em 8px;
		background: url(../images/arrow_b.png) no-repeat left center;
		background: url(../images/arrow_b_s.png) no-repeat left center\9;/*IE8以下の背景画像変更*/
		background-size: 4px 5px;
		display: inline-block;
	}
	#f_unav li a:hover ,
	#f_unav li a:focus ,
	#f_unav li a:active {
		background: url(../images/arrow_b.png) no-repeat left center;
		background: url(../images/arrow_b_s.png) no-repeat left center\9;/*IE8以下の背景画像変更*/
		background-size: 4px 5px;
	}
	
	#f_gnav {
		margin: 0 auto;
		padding: 0;
		width: 960px;
		display: block;
		clear: both;
		font-size: 90%;
		border-top: 1px solid #ccc;
	}
	#f_gnav li {
		padding: 0 1em 0 0;
		list-style: none;
		float: left;
	}
	#f_gnav li a {
		padding: .5em .5em .5em 8px;
		display: inline-block;
		background: url(../images/arrow_b.png) no-repeat left center;
		background: url(../images/arrow_b_s.png) no-repeat left center\9;/*IE8以下の背景画像変更*/
		background-size: 4px 5px;
	}
	
	#go_pagetop {
		margin: 0 auto;
		width: 960px;
		right: 35px;
		bottom: 0;
		width: 60px;
		height: 60px;
	}
	#go_pagetop a#pageTop {
		right: 35px;
		bottom: 0;
		width: 60px;
		height: 60px;
		background-size: 60px 60px;
	}
	
	address {
		border-bottom: none;
		clear: both;
	}
	address div {
		margin: 0 auto;
		padding: 0 0 .5em 180px;
		width: 960px;
	}
	address div img {
		margin: 0 0 0 -180px;
		padding: 0 0 .5em;
		width: 164px;
		float: left;
	}
	address div span {
		font-size: 130%;
		display: block;
		font-weight: bold;
		color: #555;
	}
	address div br {
		display: none;
	}
	
	footer form {
		display: none;
	}
	#language {
		display: none;
	}
}
