@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: #ffffff url(../images/basic/back_body.gif) -50% 50%;
}

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;
}

img.frame {
	border: 1px solid #ffffff;
	
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.4);
}

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;
}

strong.red       { color: #cc0000; }
strong.pink      { color: #ffcccc; }
strong.blue      { color: #336699; }
strong.sky       { color: #a7c9eb; }
strong.gold      { color: #666600; }
strong.yellow    { color: #ffff00; }
strong.underline { text-decoration: underline; }

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

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

del,
del * {
	color: #cccccc !important;
}

del a {
	color: #cccccc !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_60.png);
}
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 {
	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.gif) 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: #ffffff;
	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;
	text-shadow: none;
}
html:root #header-menu ul li a.location {
	
	opacity: 0.3;
}

#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;
}

/* ########## サブメニュー ########## */
#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_60.png);
}
html:root #footer {
	background: rgba(0, 0, 0, 0.6)
}

#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: 85%;
	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;
}

/* ********** トピックパスクローン ********** */
#topic-path-clone {
	width: 100%;
	margin: 0;
	padding: 0;
	color: #336699;
	background: #ffffff url(../images/basic/back_gradation_gray.jpg) 50% 50% no-repeat;
}

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

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

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

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

#topic-path-clone 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);
}
html:root #about {
	background: rgba(0, 0, 0, 0.1);
}

#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;
}
html:root #about ul.valid li {
	background: rgba(0, 0, 0, 0.1);
}

#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 {
	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;
}

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

/* ########## YouTubeポップアップ ########## */
#youtube-popup {
	cursor: pointer;
	overflow: hidden;
	position: fixed;
	bottom: 30px;
	right: 0;
	margin: 0;
	padding: 40px 0 40px 80px;
	background-color: #ffffff;
	background-image: url(../images/basic/icon_powered-by-youtube_open.png);
	background-position: 11px 50%;
	background-repeat: no-repeat;
	
	border-radius: 10px 0 0 10px;
	box-shadow: 0 0 40px rgba(0, 0, 0, 0.8), inset 0 0 20px rgba(0, 0, 0, 0.2);
}
html:root #youtube-popup {
	background-color: rgba(255, 255, 255, 0.90);
}
#youtube-popup.opened {
	background-image: url(../images/basic/icon_powered-by-youtube_close.png);
}

#youtube-popup div.wrapper {
	overflow: hidden;
	width: 0;
	height: 0;
	margin: 0;
	padding: 0;
}

#youtube-popup p.text {
	overflow: hidden;
	width: 452px;
	margin: 8px auto 0 auto;
	padding: 5px 15px 3px 15px;
	color: #ffffff;
	text-align: left;
	white-space: nowrap;
	text-overflow: ellipsis;
	background: #336699;
	
	border-radius: 14px;
	box-shadow: inset 0 10px 15px rgba(0, 0, 0, 0.2);
	text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.3);
}

#youtube-popup-insert {
	margin: 0;
	padding: 0;
}

#youtube-popup iframe {
	margin: 0;
	padding: 0;
	vertical-align: bottom;
	border: 1px solid #666666;
}

/* #################### 独自追加 #################### */
#header-menu ul {
	width: 550px;
	padding: 0 0 0 400px;
	background: url(../images/basic/logo_teichiku.png) 0 0 no-repeat;
}
#header-menu ul li {
	background: url(../images/basic/back_menu_side.png) 0 0 no-repeat;
}
#header-menu ul li:first-child {
	background: none;
}

