@charset "utf-8";
/* ---------------------------------------------------
	Name:  common.css
	Info:  メインのスタイル
--------------------------------------------------- */
/* ---------------------------------------------------------------------
				* body *
--------------------------------------------------------------------- */
body {
	color: #333;
	background: #fff url(../images/bg.png)  repeat-x top;
	font-size: 16px;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	text-align: center;
}

/* a
--------------------------------------------------------------------- */
a {
	overflow: hidden;
	color: #666;
	text-decoration: none;
	-webkit-transition: 0.3s ease;
	-moz-transition: 0.3s ease;
	-o-transition: 0.3s ease;
	transition: 0.3s ease;
}
a:hover {
	overflow: hidden;
	color: #aa003e;
	text-decoration: none;
}
a img {
	overflow: hidden;
	color: #666;
	text-decoration: none;
	-webkit-transition: 0.3s ease;
	-moz-transition: 0.3s ease;
	-o-transition: 0.3s ease;
	transition: 0.3s ease;
}
a:hover img {
	overflow: hidden;
	text-decoration: none;
	opacity: 0.7;
	filter: alpha(opacity=70); /* IE */
	-ms-filter: "alpha(opacity=70)"; /* IE */
	-khtml-opacity: 0.7; /* Safari */
	-moz-opacity: 0.7; /* Firefox */
}


/* ---------------------------------------------------------------------
				* header *
--------------------------------------------------------------------- */
header {
	margin: 0 auto;
	text-align: right;
}
.img-top {
	padding:0 0 0;
}
h1 {
	margin: 0 auto;
	padding: 0;
	max-width: 1000px;
	text-align: right;
}

.description_border_red {
	background: #fff;
	border: 1px solid #ffab87;
	margin: 10px 25px 15px;
	padding: 8px 5px;
	line-height: 120%;
	color: #f3542d;
	font-weight: 700;
	text-align: center;
}

/* ---------------------------------------------------------------------
				* contents *
--------------------------------------------------------------------- */
#contents {
	margin: 0 auto;
	padding: 20px 0 0;
	text-align: left;
	max-width: 910px;
	background: #fff;
}
h2 {
	margin: 0 0 10px;
	padding: 2px 0 2px 15px;
	font-size: 16px;
	font-weight: 400;
	background: #333;
	color: #fff;
	letter-spacing: 3px;
}
h3 {
	padding: 0;
	margin: 2px 0 0 5px;
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 1px;
}

/* nest-block
--------------------------------------------------- */
.nest-block {
	margin: 0 20px;
	padding: 5px 0 50px;
	line-height: 160%;
	zoom: 1;
}
.nest-block:before,
.nest-block:after { /* for modern browser */
	content: "";
	display: table;
}
.nest-block:after {
	clear: both;
}
.box_l {
	min-width: 430px;
	padding: 0;
	vertical-align: top;
	display: inline-block;
}
.box_r {
	padding: 0 0 0 5px;
	vertical-align: top;
	display: inline-block;
}

/* 通常table
--------------------------------------------------- */
.table_basic {
	margin: 0 0 15px 0;
	border-collapse: collapse;
	width: 100%;
}
.table_basic th {
	padding: 10px;
	border-bottom: #ccc solid 1px;
	max-width: 100px;
	min-width: 70px;
	vertical-align: top;
	text-align: left;
	font-weight: 400;
	color: #666;
}
.table_basic td {
	padding: 10px;
	border-bottom: #ccc solid 1px;
	line-height: 150%;
	background: #fff;
	vertical-align: top;
	text-align: left;
}

/* dlリスト プログラム
--------------------------------------------------- */
.list_dl_program {
	margin: 0 0 0 10px;
	line-height: 150%;
}
.list_dl_program dt {
	margin: 0;
	padding: 5px 0 3px;
	font-weight: 700;
	font-size: 16px;
	letter-spacing: 1px;
}
.list_dl_program dd {
	margin: 0;
	padding: 0 0 10px 32px;
}


/* ulリスト ボタンリンク
--------------------------------------------------- */
/* ボタングループ */
.sns-buttons {
	margin: 0;
	padding: 0;
	text-align: center;
}
.sns-buttons img {
	vertical-align: middle;
	margin: 0 10px 0 0;
}
.sns-buttons a {
	text-decoration: none;
	color: #fff;
}
/* 各ボタンボックス */
.sns-buttons li {
	display: inline-block;  /* 水平に並べる */
	list-style-type: none;
	margin: 15px 5px;
	padding: 6px 0;
	color: #fff;
	text-decoration: none;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
	-webkit-box-shadow:0 2px 2px rgba(0, 0, 0, 0.29);
	-moz-box-shadow:0 2px 2px rgba(0, 0, 0, 0.29);
	box-shadow:0 2px 2px rgba(0, 0, 0, 0.29);
	-webkit-transition: 0.3s ease;
	-moz-transition: 0.3s ease;
	-o-transition: 0.3s ease;
	transition: 0.3s ease;
}
.sns-buttons li:hover img {
	opacity: 100;
	filter: alpha(opacity=100); /* IE */
	-ms-filter: "alpha(opacity=100)"; /* IE */
	-khtml-opacity: 100; /* Safari */
	-moz-opacity: 100; /* Firefox */
}
/* テキスト部分 */
.sns-buttons_label {
	min-width: 80px;
	display: inline-block;
	padding: 0 8px;
	text-align: center;
	font-weight: 700;
}
/* 各ブランドカラー */
li.sns-buttons_twitter,
li.sns-buttons_facebook,
li.sns-buttons_youtube,
li.buttons_bg { background: #333; }
	
/* マウスカーソルを重ねたとき */
li:hover.sns-buttons_twitter { background: #1da1f2; }
li:hover.sns-buttons_facebook { background: #3b5998; }
li:hover.sns-buttons_youtube { background: #ff0000; }
li:hover.buttons_bg { background: #888; }

.sns-buttons.bdr {
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
}

/* ulリスト 関連団体リンク
--------------------------------------------------- */
.list_ul_link li {
	margin: 15px 0;
}
.list_ul_link li a {
	padding: 4px 10px;
}
.list_ul_link li a:hover {
	background: #aa003e;
	color: #fff;
}

/* ulリスト 2行目以降インデント
--------------------------------------------------- */
.list_ul_indent li {
	padding: 4px 10px 4px 1em;
	text-indent: -1em;
}

/* googlemap　幅可変指定
--------------------------------------------------- */
.google_map {
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 40%; /* 高さ調整用 */
}
.google_map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* Adobe Reader download
--------------------------------------------------- */
ul.download {
	width: 100%;
    display: table;
	font-size: 79%; /* 11px */
	line-height: 130%;
	background: #f2f2f2;
}
.download li {
	padding: 5px 0 5px 5px;
	list-style: none;
	vertical-align: middle;
    display: table-cell;
}
.download img {
	padding: 0 0 0 10px;
}

/* totop　このページの先頭へ
--------------------------------------------------- */
.totop {
	margin: 20px 0 0;
	float: right;
	text-align: center;
	line-height: 100%;
}
.totop a {
	margin: 0;
	padding: 10px 0 0;
	width: 60px;
	height: 80px;
	color: #fff;
	text-decoration: none;
	background: #333;
	outline: none;
	font-size: 14px;
	font-weight: 700;
	display: block;
}
.totop a:hover {
	 color: #fff;
	 background: #aa003e;
}
.totop span {
	font-size: 20px;
	margin: 0;
}

/* ---------------------------------------------------------------------
				* footer *
--------------------------------------------------------------------- */
footer {
	margin: 0 auto;
	padding: 30px 0 30px;
	text-align: center;
	letter-spacing: 1px;
	color: #333;
}
.img-footer {
	background: url(../images/footer-img.png) center bottom / cover no-repeat fixed;
	min-width:100%;
	min-height:100px;
	text-shadow: 0 1px 1px rgba(0, 0, 0, .3);
}


/* --------------------------------------------------------------------- max-width: 767px --------------------------------------------------------------------- */
@media only screen and (max-width: 767px) {
h1 img {
    width: 100%;
}
.box_l {
    min-width: 100%;
}
.box_r {
    min-width: 100%;
	padding: 0;
}
.google_map {
    padding-top: 60%; /* 高さ調整用 */
}
}

/* --------------------------------------------------------------------- max-width: 479px --------------------------------------------------------------------- */
@media only screen and (max-width: 479px) {
.img-top {
	padding: 0;
	margin: 0;
}
h1 img {
    width: 100%;
}
.img-footer {
	background: url(../images/footer-img.png) center bottom / cover no-repeat;
	min-width:100%;
}
}