@charset "UTF-8";

/* ########## font-size の統一 ########## */
body {
	font-size: x-small;
}
html[xmlns] body {
	font-size: 13px;
}
*:first-child+html body {
	font-size: small;
}

table {
	font-size: 100%;
}

/*
10px = 77%
11px = 85%
12px = 93%
13px = 100%
14px = 108%
15px = 116%
16px = 123.1%
17px = 131%
18px = 138.5%
19px = 146.5%
20px = 153.9%
21px = 161.6%
22px = 167%
23px = 174%
24px = 182%
25px = 189%
26px = 197%

27px = 207.7%
28px = 215.4%
29px = 223.1%
30px = 230.8%
*/

/* #################### 全般 #################### */
body {
	position: relative;
	margin: 0;
	padding: 0;
	font-family: "メイリオ", "Hiragino kaku Gothic Pro", "Arial", sans-serif, "MS UI Gothic", "ＭＳ Ｐゴシック", "Osaka";
    line-height: 1.8;
    text-align: center;
	background: #000000 url(../images/basic/back_body.jpg) -5px 0 fixed no-repeat;
}

a         { color: #336699; }
a:hover   { color: #4477aa; }
a:visited { color: #666666; }

h1 {
	overflow: hidden;
	margin: 0;
	padding: 5px;
	color: #336699;
	font-size: 100%;
	font-weight: normal;
	text-align: center;
	white-space: nowrap;
	text-overflow: ellipsis;
	letter-spacing: 0.1em;
	border: 1px #cccccc;
	border-style: solid none;
	background: #ffffff url(../images/basic/back_gradation_gray.jpg) 50% 50% no-repeat;
}

img {
	border: none;
	vertical-align: middle;
}

hr {
	display: none;
	border: none;
}

hr.separate {
	clear: both;
	display: block;
	visibility: visible;
	margin: 1.5em auto;
	padding: 0;
	width: 98%;
	text-align: center;
	border-bottom: 2px dotted #cccccc;
}

ins,
ins * {
	color: #ff0000 !important;
	text-decoration: none;
	border-bottom: 1px dotted #ff0000;
}

ins a {
	color: #ff0000 !important;
	text-decoration: underline;
}

/* ########## ヘッダ ########## */
#header {
	margin: 0 auto;
	padding: 0;
	
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
	background: url(../images/basic/back_transparent_black_50.png);
}

#header h2,
#header h3 {
	position: absolute;
	top: -9000px;
	left: -9000px;
	margin: 0;
	padding: 0;
}

#header p.loading {
	width: 1024px;
	margin: 0 auto;
	padding: 5px 0;
	color: #cccccc;
	text-align: left;
}

/* ********** メニュー ********** */
#header-menu {
	position: relative;
	margin: 0 auto;
	padding: 10px 0;
	background: #333333 url(../images/basic/back_menu.jpg) 50% 50% no-repeat;
}

#header-menu ul {
	overflow: hidden;
	list-style-type: none;
	width: 1024px;
	margin: 0 auto;
	padding: 0;
	white-space: nowrap;
	background: url(../images/basic/back_menu_side.png) 0 0 no-repeat;
}

#header-menu ul li {
	float: left;
	margin: 0;
	padding: 0;
	letter-spacing: normal;
	background: url(../images/basic/back_menu_side.png) 100% 0 no-repeat;
}

#header-menu ul li a {
	display: block;
	margin: 0;
	padding: 8px 30px;
	color: #999999;
	line-height: 1.0;
	text-decoration: none;
	
	text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.3);
}
#header-menu ul li a[href] {
	color: #ffffff;
}
#header-menu ul li a.location {
	cursor: default;
	color: #ffff00;
}

#header-menu ul li a span {
	display: block;
	margin: 0;
	padding: 0;
}
#header-menu ul li a span.ja {
	font-size: 116%;
	line-height: 1.3;
}
#header-menu ul li a span.en {
	font-size: 85%;
}

#header-menu ul li a span.coming {
	color: #999999 !important;
}

/* ########## メイン ########## */
#main {
	position: relative;
	width: 960px;
	margin: 10px auto;
	padding: 0;
	border: 5px solid #ffffff;
	background: url(../images/basic/back_transparent_white_90.png);
	
	border-radius: 5px;
	box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
}
html[xmlns] #main {
	width: 950px;
}

#main h2 {
	position: absolute;
	top: -9000px;
	left: -9000px;
	margin: 0;
	padding: 0;
}

/* ########## サブメニュー ########## */
#sub-menu {
	height: 68px;
	margin: 0 auto;
	padding: 0;
	background: #333333 url(../images/basic/back_gradation_darkgray.jpg) 50% 50% no-repeat;
	
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
}

#sub-menu h2 {
	position: absolute;
	top: -9000px;
	left: -9000px;
	margin: 0;
	padding: 0;
}

#sub-menu div.wrapper {
	overflow: hidden;
	position: relative;
	width: 1024px;
	margin: 0 auto;
	padding: 10px 0;
}

#sub-menu ul {
	float: right;
	overflow: hidden;
	list-style-type: none;
	margin: 0;
	padding: 0;
	white-space: nowrap;
	background: url(../images/basic/back_menu_side.png) 0 0 no-repeat;
}

#sub-menu ul li {
	float: left;
	margin: 0;
	padding: 0;
	letter-spacing: normal;
	background: url(../images/basic/back_menu_side.png) 100% 0 no-repeat;
}

#sub-menu ul li a {
	display: block;
	margin: 0;
	padding: 8px 30px;
	color: #ffffff;
	line-height: 1.0;
	text-decoration: none;
	
	text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.3);
}
#sub-menu ul li a.clicked {
	cursor: default;
	color: #ffff00;
}
#sub-menu ul li a.new {
	background: url(../images/other/icon_new.gif) 5px 0 no-repeat;
}

#sub-menu ul li.official a {
	margin: 0;
	padding: 0 28px;
	color: #ffffff;
	line-height: 1.0;
	text-decoration: none;
	
	text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.3);
}

#sub-menu ul li a span {
	display: block;
	margin: 0;
	padding: 0;
}
#sub-menu ul li a span.ja {
	font-size: 116%;
	line-height: 1.3;
}
#sub-menu ul li a span.en {
	font-size: 85%;
}

/* ########## フッタ ########## */
#footer {
	overflow: hidden;
	clear: both;
	position: relative;
	width: 100%;
	margin: 0;
	padding: 0;
	color: #ffffff;
	text-align: center;
	background: url(../images/basic/back_transparent_black_50.png);
}

#footer h2,
#footer h3 {
	position: absolute;
	top: -9000px;
	left: -9000px;
	margin: 0;
	padding: 0;
}

/* ********** トピックパス ********** */
#topic-path {
	width: 100%;
	margin: 0;
	padding: 0;
	color: #336699;
	border: 1px #cccccc;
	border-style: solid none;
	background: #ffffff url(../images/basic/back_gradation_gray.jpg) 50% 50% no-repeat;
}

#topic-path ol {
	overflow: hidden;
	list-style-type: none;
	width: 950px;
	margin: 0 auto;
	padding: 0;
	text-align: left;
	white-space: nowrap;
}

#topic-path ol li {
	display: inline;
	margin: 0;
	padding: 8px 25px 6px 5px;
	font-size: 100%;
	background: url(../images/basic/back_arrow.gif) 100% 50% no-repeat;
}
html[xmlns] #topic-path ol li {
	display: inline-block;
	background-image: url(../images/basic/back_arrow.png);
}
*:first-child+html #topic-path ol li {
	display: inline;
}

#topic-path ol li.location {
	background-image: none !important;
}

#topic-path ol li a {
	color: #336699 !important;
}

#topic-path ol li strong {
	color: #666600;
}

/* ********** このページに関して ********** */
#about {
	clear: both;
	width: 100%;
	margin: 0 auto;
	padding: 10px 0 5px 0;
	background: url(../images/basic/back_transparent_black_10.png);
}

#about ul.valid {
	list-style-type: none;
	margin: 0 0 5px 0;
	padding: 0;
	font-size: 82%;
	text-align: center;
}

#about ul.valid li {
	display: inline;
	margin: 0 2px;
	padding: 0;
	line-height: 1.0;
	background: url(../images/basic/back_transparent_black_10.png);
	
	border-radius: 5px;}
html[xmlns] #about ul.valid li {
	display: inline-block;
	margin: 0;
}
*:first-child+html #about ul.valid li {
	display: inline;
	margin: 0 2px;
}

#about ul.valid li a {
	display: block;
	margin: 0;
	padding: 6px 10px 5px 10px;
	color: #ffffff !important;
	text-decoration: none !important;
}

#about p.notice {
	margin: 0;
	padding: 0;
}

#about address {
	width: 950px;
	margin: 0 auto;
	padding: 0;
	text-align: center;
}
#about address img {
	vertical-align: -3px;
}

/* ########## ローディングアイコン ########## */
#loading-icon {
	position: absolute;
	z-index: 32768;
	width: 16px;
	height: 16px;
	margin: 0;
	padding: 0;
}

#loading-icon img {
	width: 16px;
	height: 16px;
	margin: 0;
	padding: 0;
}

/* ########## サイトサムネイル ########## */
#site-thumbnail {
	overflow: hidden;
	position: absolute;
	width: auto;
	height: auto;
	z-index: 32678;
	margin: 0;
	padding: 0;
	background: #333333;
	
	border-radius: 10px;
	box-shadow: 0 0 10px rgba(255, 255, 255, 0.4);
}
html[xmlns] #site-thumbnail {
	background: url(../images/basic/back_transparent_black_80.png);
}

#site-thumbnail p.wrapper {
	overflow: hidden;
	margin: 12px 12px 8px 12px;
	padding: 0;
	border: 1px solid #666666;
	
	border-radius: 10px;
}
#site-thumbnail p.wrapper img {
	margin: 0;
	padding: 0;
}

#site-thumbnail p.title {
	overflow: hidden;
	margin: 0;
	padding: 0 5px 8px 5px;
	color: #ffffff;
	font-size: 85%;
	text-align: center;
	white-space: nowrap;
}

/* ########## トップへ戻るボタン ########## */
#back-to-top {
	display: none;
	cursor: pointer;
	overflow: hidden;
	position: fixed;
	bottom: 10px;
	right: 10px;
	width: 30px;
	height: 30px;
	background: url(../images/basic/icon_back-to-top.png);
}