@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.7;
    text-align: center;
	background: url(../../images/pc/basic/back_body.jpg) 50% 50% fixed;
}

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

h1 {
	margin: 0;
	padding: 5px;
	color: #336699;
	font-size: 100%;
	font-weight: normal;
	text-align: center;
	letter-spacing: 0.1em;
	border: 1px #cccccc;
	border-style: solid none;
	background: #ffffff url(../../images/pc/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: #ff6666 !important;
	text-decoration: none;
}

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

/* ########## ヘッダ ########## */
#header {
	margin: 0 auto;
	padding: 0;
	
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
	background: url(../../images/pc/basic/back_transparent_white_80.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: #ca657a url(../../images/pc/basic/back_gradation_pink.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/pc/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/pc/basic/back_menu_side.png) 100% 0 no-repeat;
}

#header-menu ul li a {
	outline: none;
	display: block;
	margin: 0;
	padding: 10px 22px;
	color: #ffffff;
	line-height: 1.0;
	text-decoration: none;
	
	text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.3);
}

#header-menu ul li a.clicked {
	cursor: default;
	color: #ffff00;
}
#header-menu ul li a.new {
	background: url(../../images/pc/other/icon_new.gif) 5px 0 no-repeat;
}

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

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

/* #################### スクロールバー #################### */
#scroll-bar {
	position: relative;
	top: 0;
	left: 0;
	width: 960px;
	margin: 0 auto;
	padding: 0;
}

#scroll-bar-bg {
	list-style-type: none;
	position: absolute;
	top: 16px;
	right: -20px;
	width: 6px;
	height: 315px;
	margin: 0;
	padding: 0;
	background: url(../../images/pc/basic/back_transparent_black_20.png);
	
	border-radius: 3px;
}

div.scroll-bar-cursor {
	position: absolute;
	top: 0;
	left: -2px;
	width: 8px;
	height: 313px;
	border: 1px solid #ffffff;
	background: #ffffff;
	
	border-radius: 4px;
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.2), inset 0 -5px 5px rgba(0, 0, 0, 0.1);
}

div.hover {
	background: #eeeeee !important;
}

/* ########## メイン ########## */
#main {
	position: relative;
	width: 950px;
	height: 630px;
	margin: 10px auto;
	padding: 0;
	border: 5px solid #ffffff;
	background: url(../../images/pc/basic/back_main.jpg) 0 50% no-repeat;
	
	border-radius: 5px;
	box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
}

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

/* ########## フッタ ########## */
#footer {
	overflow: hidden;
	clear: both;
	position: relative;
	width: 100%;
	margin: 0;
	padding: 0;
	color: #ffffff;
	text-align: center;
	background: #ca657a;
}

#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/pc/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/pc/basic/back_topic-path_li.png) 100% 50% no-repeat;
}
html:lang(ja) #topic-path ol li {
	display: inline-block;
}

#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/pc/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:lang(ja) #about ul.valid li {
	display: inline-block;
	margin: 0;
}
html:root #about ul.valid li {
	background: rgba(0, 0, 0, 0.1);
}

#about ul.valid li a {
	display: block;
	margin: 0;
	padding: 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/pc/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;
}
