@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%
*/

/* #################### 全般 #################### */
html  {
	background: #f3f3f3;
}

body {
	position: relative;
	margin: 0;
	padding: 0;
	font-family: "メイリオ", "Hiragino kaku Gothic Pro", "Arial", sans-serif, "MS UI Gothic", "ＭＳ Ｐゴシック", "Osaka";
    line-height: 1.7;
    text-align: center;
    background: #ffffff !important;
}

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

h1 {
	margin: 0;
	padding: 8px 25px 6px 25px;
	color: #336699;
	font-size: 100%;
	font-weight: normal;
	text-align: left;
	letter-spacing: 0.1em;
	border: 1px #cccccc;
	border-style: none none solid none;
	background: #ffffff url(../images/basic/back_gradation_gray.jpg) 50% 50% no-repeat;
	
	border-radius: 10px 10px 0 0
}

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

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

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

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

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

/* ********** メニュー ********** */
#header-menu {
	position: relative;
	width: 950px;
	margin: 0 auto;
	padding: 10px 0;
}

#header-menu ul {
	overflow: hidden;
	list-style-type: none;
	margin: 0 25px;
	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 28px;
	color: #ffffff;
	line-height: 1.0;
	text-decoration: none;
	
	text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.3);
}

/* #################### ソーシャルボタン #################### */
#sns {
	position: relative;
	top: 0;
	left: 0;
	z-index: 900;
	width: 960px;
	margin: 0 auto;
	padding: 0;
}

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

#sns ul {
	overflow: hidden;
	list-style-type: none;
	position: absolute;
	top: 25px;
	left: -100px;
	width: 90px;
	margin: 0;
	padding: 0;
}

#sns ul li {
	margin: 0 0 4px 0;
	padding: 8px 0 0 0;
	text-align: center;
	background: url(../images/basic/back_transparent_black_20.png);
	
	border-radius: 10px;
}
html:root #sns ul li {
	background: rgba(0, 0, 0, 0.2);
}

#sns ul li.twitter {
	height: 72px;
	padding-top: 10px;
}
#sns ul li.facebook_like {
	height: 70px;
	padding-top: 10px;
	padding-left: 9px;
}
#sns ul li.google_plusone {
	height: 67px;
}
#sns ul li.hatena {
	height: 60px;
}

#sns ul iframe {
	margin: 0;
	padding: 0;
}

/* ########## メイン ########## */
#main {
	overflow: hidden;
	position: relative;
	width: 950px;
	margin: 25px auto;
	padding: 0;
	color: #000000;
	border: 1px solid #cccccc;
	background: url(../images/basic/back_transparent_black_2.png);
}

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

/* ########## フッタ ########## */
#footer {
	position: relative;
	margin: 0;
	padding: 20px 0;
	text-align: center;
	border-top: 1px dotted #cccccc;
	background: #f3f3f3;
}

#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: 900px;
	margin: 0 25px;
	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;
}

#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: 2px 0 0 0;
	line-height: 1.0;
	background: url(../images/basic/back_transparent_black_20.png);
	
	border-radius: 5px;
}
html:root #about ul.valid li {
	background: rgba(0, 0, 0, 0.2);
}
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: 5px 10px;
	color: #ffffff !important;
	text-decoration: none !important;
}

#about p.notice {
	width: 950px;
	margin: 0 auto;
	padding: 0;
	font-size: 93%;
	text-align: center;
}

#about address {
	width: 950px;
	margin: 0 auto;
	padding: 0;
	text-align: center;
	font-style: normal;
}

#about address a {
	color: #ffffff !important;
	text-decoration: none;
}

#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 {
	position: absolute;
	width: auto;
	height: auto;
	z-index: 32678;
	margin: 0;
	padding: 0;
	border: 5px solid #ffffff;
	background: url(../images/basic/back_transparent_black_90.png);
	
	border-radius: 20px;
	box-shadow: 0 0 25px rgba(0, 0, 0, 1);
}
html:root #site-thumbnail {
	background: rgba(0, 0, 0, 0.9);
}

#site-thumbnail:after, #site-thumbnail:before {
	position: absolute;
	content: " ";
	left: 50%;
	width: 0;
	height: 0;
	border: solid transparent;
}

#site-thumbnail.normal:after {
	top: 100%;
	margin-left: -15px;
	border-width: 15px;
	border-top-color: #ffffff;
	border-bottom: none;
}
#site-thumbnail.normal:before {
	top: 100%;
	margin-left: -15px;
	border-width: 15px;
	border-top-color: #ffffff;
	border-bottom: none;
}

#site-thumbnail.reverse:after {
	bottom: 100%;
	margin-left: -15px;
	border-width: 15px;
	border-bottom-color: #ffffff;
	border-top: none;
}
#site-thumbnail.reverse:before {
	bottom: 100%;
	margin-left: -15px;
	border-width: 15px;
	border-bottom-color: #ffffff;
	border-top: none;
}

#site-thumbnail div.wrapper {
	overflow: hidden;
	height: 100%;
	margin: 0;
	padding: 0;
}

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

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