﻿@charset "utf-8";
/* ================================================================= 
 *
 * Layout : Base
 *
 * ================================================================= */
html,body {
	height: 100%;
}
#wrapper {
	background: url(../images/bg_wrapper.jpg) center top;
	background-attachment: fixed;
	text-align: left;
	position: relative;
	width: 100%;
	min-width: 1026px;
	z-index: 100;
}
/* ================================================================= 
 *
 * AREA: #g_header 
 *
 * ================================================================= */
#g_header {
	background: url(../images/bg_header.png) center top repeat-x;
	position: relative;
	width: 100%;
	min-width: 1026px;
	height: 125px;
	z-index: 101;
}
#g_header_inner {
	background: url(../images/bg_header_inner.jpg) center top no-repeat;
	position: relative;
	width: 1026px;
	min-width: 1026px;
	height: 125px;
	margin: 0 auto;
}
#g_header h1 {
	text-shadow: 0px 1px 0px #fff;
	position: absolute;
	top: 28px;
	left: 450px;
}
#g_header #siteID {
	position: relative;
	top: 10px;
	left: 8px;
	display: block;
	width: 404px;
	height: 80px;
}
#g_header aside {
	position: absolute;
	top: 9px;
	right: 3px;
}
#g_header .nav_lang {
	position: relative;
	height: 15px;
	margin:  0 0 7px 0;
	z-index: 101;
}
#g_header .nav_lang li {
	float: left;
	margin: 0 10px 0 0;
}
#g_header .nav_lang li a {
	font-size: 10px;
	text-align: center;
	color: #fff;
	background: url(../images/header_nav_lang_a.png);
	position: relative;
	display: block;
	width: 62px;
	height: 15px;
	line-height: 15px;
	-webkit-transition: 0.5s;
	-moz-transition: 0.5s;
}
#g_header .nav_lang li a:hover {
	opacity: 0.5;
	filter: alpha(opacity=50);
}
#g_header .nav_lang li a small.toolTip {
	background: #000;
	position: absolute;
	top: 0;
	left: 0;
	width: 62px;
	height: 15px;
	opacity: 0;
	filter: alpha(opacity=0);
	-webkit-transition: 0.5s;
	-moz-transition: 0.5s;
}
#g_header .nav_lang li a:hover small.toolTip {
	opacity: 1.0;
	filter: alpha(opacity=100);
}
#g_header .nav_sns {
	position: relative;
	height: 26px;
	margin:  0 0 7px 0;
}
#g_header .nav_sns li {
	float: left;
	width: 26px;
	height: 26px;
	margin: 0 10px 0 0;
}
#g_header .nav_sns li a {
	display: block;
	width: 26px;
	height: 26px;
	-webkit-transition: 0.3s;
	-moz-transition: 0.3s;
}
#g_header .nav_sns li a:hover {
	box-shadow: 0px 0px 5px #fff;
	-webkit-transform: scale(1.2);
	-moz-transform: scale(1.2);
}
#g_header .nav_contact {
	font-size: 14px;
	text-indent: 35px;
	text-shadow: 0px 1px 0px #fff;
	letter-spacing: 2px;
	color: #333;
	background: url(../images/common_contact.png) no-repeat;
	display: block;
	width: 134px;
	height: 26px;
	line-height: 26px;
	border-radius: 3px;
	-webkit-transition: 0.2s;
	-moz-transition: 0.2s;
}
#g_header .nav_contact:hover {
	color: #d60f0f;
	box-shadow: inset 0 2px 3px rgba(0,0,0,0.3),inset 0 -2px 3px rgba(255,255,255,0.5);
}
#mainImage {
	background: #fff;
	position: relative;
	top: -25px;
	width: 100%;
	height: auto;
}
#mainImage img {
	width: 1000px;
	display: block;
	margin: 0 auto;
}
#topicPass {
	line-height: 32px;
	background: url(../images/topicpass_bg.png);
	position: relative;
	top: -27px;
	left: 0;
	height: 32px;
	padding: 2px 0 4px 0;
}
#topicPass p {
	text-align: right;
	background: url(../images/topicpass_inner_bg.png);
	width: 1000px;
	height: 32px;
	margin: 0 auto;
}
#topicPass p a {
	text-shadow: 0px 1px 0px #fff;
	color: #999;
	background: url(../images/topicpass_arrow.png) left center no-repeat;
	display: inline-block;
	position: relative;
	height: 32px;
	padding: 0 5px 0 20px;
	-webkit-transition: 0.2s;
	-moz-transition: 0.2s;
	z-index: 102;
}
#topicPass p a#topicPassHome {
	background: none;
}
#topicPass p a#topicPassNow {
	color: #666;
}
#topicPass p a:hover {
	color: #d60f0f;
}
/* ================================================================= 
 *
 * AREA: #g_footer
 *
 * ================================================================= */
#g_footer {
	background: url(../images/bg_footer.png) center bottom repeat-x;
	clear: both;
	position: relative;
	width: 100%;
	min-width: 1026px;
	height: 86px;
	z-index: 101;
}
#g_footer #g_footer_inner {
	position: relative;
	width: 1000px;
	height: 86px;
	margin: 0 auto;
}
#g_footer #nav_footer {
	text-shadow: 0 1px 0 #fff;
	letter-spacing: 1px;
	position: relative;
	top: 17px;
}
#g_footer #nav_footer a {
	color: #333;
	display: inline-block;
	-webkit-transition: 0.3s;
	-moz-transition: 0.3s;
	transform-origin: left,bottom;
}
#g_footer #nav_footer a:hover {
	color: #d60f0f;
}
#g_footer small#copyright {
	text-shadow: 0 -1px 0 #333;
	position: absolute;
	bottom: 0;
	right: 0;
	color: #fff;
	line-height: 20px;
}
#g_footer aside .pageToTop,
#g_footer aside .nav_contact {
	text-shadow: 0 1px 0 #fff;
	color: #333;
	display: block;
	position: absolute;
	height: 26px;
	line-height: 26px;
	border-radius: 3px;
	-webkit-transition: 0.2s;
	-moz-transition: 0.2s;
}
#g_footer aside .pageToTop {
	font-size: 12px;
	text-indent: 30px;
	letter-spacing: 1px;
	background: url(../images/foot_pagetotop_bg.png) no-repeat;
	top: 16px;
	right: 0;
	width: 100px;
}
#g_footer aside .nav_contact {
	font-size: 14px;
	text-indent: 35px;
	letter-spacing: 2px;
	background: url(../images/common_contact.png) no-repeat;
	top: 16px;
	right: 110px;
	width: 134px;
}
#g_footer aside .pageToTop:hover,
#g_footer aside .nav_contact:hover {
	color: #d60f0f;
	box-shadow: inset 0 2px 3px rgba(0,0,0,0.3),inset 0 -2px 3px rgba(255,255,255,0.5);
}
/* ================================================================= 
 *
 * AREA: #container
 *
 * ================================================================= */
#container {
	position: relative;
	width: 1026px;
	margin: 0 auto 6px auto;
	overflow: hidden;
}
/* ================================================================= 
 *
 * PAGE: #ectrance
 *
 * ================================================================= */
#page-entrance {
	text-align: center;
	background: url(../images/back_entrance.jpg) center top #000;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	min-width: 1026px;
	height: 100%;
	z-index: 102;
}
#entrance {
	color: #fff;
	position: relative;
	width: 100%;
	height: 100%;

}
#entrance #entrance_logo1 img {
	opacity: 0;
	-moz-transition: 6s ease-in-out;
	-webkit-transition: 6s ease-in-out;
	-o-transition: 6s ease-in-out;
	-ms-transition: 6s ease-in-out;
	margin: 292px 2px 34px 0;
}
#entrance #entrance_logo2 img {
	opacity: 0;
	-moz-transition: 6s cubic-bezier(1,0.25,0.50,1) 2s;
	-webkit-transition: 6s cubic-bezier(1,0.25,0.50,1) 2s;
	-o-transition: 6s cubic-bezier(1,0.25,0.50,1) 2s;
	-ms-transition: 6s cubic-bezier(1,0.25,0.50,1) 2s;
	margin: 0 0 10px 0;
}
#entrance #entrance_btn a {
	font-size: 15px;
	letter-spacing: 1px;
}
#entrance #entrance_btn a#lang_ja {
	color: #fff;
	text-shadow: 0px 0px 10px #fff;
	-webkit-transition: 1s;
	-moz-transition: 1s;
}
#entrance #entrance_btn a#lang_ja:hover {
	color: #d60f0f;
}
#entrance #entrance_btn #lang_en {
	color: #999;
	position: relative;
	cursor: help;
}
#entrance #entrance_btn #lang_en span {
	font-size: 13px;
	color: #d60f0f;
	position: absolute;
	top: 1.5em;
	left: -1em;
	width: 8em;
	opacity: 0;
	filter: alpha(opacity=0);
	text-shadow: 0px 0px 1px #fff;
	-webkit-transition: 0.5s linear;
	-moz-transition: 0.5s linear;
}
#entrance #entrance_btn #lang_en:hover span {
	opacity: 1;
	filter: alpha(opacity=100);
}
/* ================================================================= 
 *
 * AREA: #colSide
 *
 * ================================================================= */
#colSide {
	float: left;
	width: 204px;
	height: auto;
	margin: 0 0 0 11px;
}
/* 
 * #navSide
 * ----------------------------------------------------------------- */
#nav_side {
	width: 204px;
}
#nav_side h2 {
	font-size: 20px;
	text-indent: 25px;
	letter-spacing: 2px;
	background: url(../images/nav_side_h2.png);
	height: 47px;
	line-height: 45px;
	text-shadow: 0 1px 0 #fff;
}
#nav_side ul#nav_local {
	background: url(../images/nav_side_ul_bg.png) left bottom;
	width: 204px;
	padding: 0 0 7px 0;
	overflow: hidden;
}
#nav_side ul#nav_local li {
	background: url(../images/nav_side_ul_li.png) no-repeat;
	clear: both;
	margin: 0 5px;
}
#nav_side ul#nav_local li a {
	font-size: 15px;
	text-indent: 34px;
	text-shadow: 0 1px 0 #fff;
	color: #555;
	background: url(../images/point_arrow1.png) 17px 10px no-repeat;
	display: block;
	width: 194px;
	height: 32px;
	line-height: 31px;
	-webkit-transition: 0.3s;
	-moz-transition: 0.3s;
	overflow: hidden;
}
#nav_side ul#nav_local li a:hover {
	text-indent: 17px;
	color: #d60f0f;
	box-shadow: inset 0 1px 2px rgba(0,0,0,0.4),inset 0 -1px 2px rgba(0,0,0,0.4);
	background-position: 169px 10px;
	height: 100px;
}
#nav_side ul#nav_local li a h3 {
	letter-spacing: 1px;
}
#nav_side ul#nav_local li a img {
	display:block;
	width: 58px;
	height: 43px;
	float: left;
	margin: 9px 10px 10px 10px;
	border: 2px solid #ccc;
}
#nav_side ul#nav_local li a p {
	color: #333;
	text-indent: 0 !important;
	float: left;
	padding: 8px 0;
}
#nav_side ul#nav_local li a img,
#nav_side ul#nav_local li a p {
	font-size: 12px;
	line-height: 1.4;
}
#nav_side ul#nav_info {
	width: 203px;
	margin: 20px 0 10px -1px;
}
#nav_side ul#nav_info li {
	position: relative;
	margin: 0 0 10px 0;
}
#nav_side ul#nav_info li a {
	font-size: 15px;
	text-indent: 33px;
	text-shadow: 0px 1px 0px #fff;
	letter-spacing: 1px;
	color: #555;
	position: relative;
	display: block;
	width: 203px;
	height: 33px;
	line-height: 30px;
	-webkit-transition: 0.3s;
	-moz-transition: 0.3s;
}
#nav_side ul#nav_info li a:after {
	content: "";
	position: absolute;
	top: 0;
	left: 3px;
	width: 200px;
	height: 30px;
	z-index: -1;
}
#nav_side ul#nav_info li:hover a {
	color: #d60f0f;
}
#nav_side ul#nav_info li#nav_info-link01 {
	background: url(../images/nav_side_ol_li1.png);
}
#nav_side ul#nav_info li#nav_info-link02 {
	background: url(../images/nav_side_ol_li2.png);
}
#nav_side ul#nav_info li#nav_info-link03 {
	background: url(../images/nav_side_ol_li3.png);
}
#nav_side ul#nav_info li#nav_info-link04 {
	background: url(../images/nav_side_ol_li4.png);
}
#nav_side h4 {
	font-size: 15px;
	text-shadow: 0 1px 0 #fff;
	text-indent: 15px;
	letter-spacing: 1px;
	background: url(../images/point_icon3.png) left center no-repeat;
	border-bottom: 1px solid #c0bebb;
	margin: 20px 2px 0 2px;
}
#nav_side ul#nav_page {
	overflow: hidden;
	margin: 0 2px;
}
#nav_side ul#nav_page li {
	padding: 0 5px 0 5px;
	border-bottom: 1px dotted #c0c0c0;
}
#nav_side ul#nav_page li a {
	text-shadow: 0 1px 0 #fff;
	text-indent: 20px;
	color: #666;
	background: url(../images/point_icon2.png) left center no-repeat;
	line-height: 30px;
	height: 30px;
	display: block;
	-webkit-transition: 0.3s;
	-moz-transition: 0.3s;
}
#nav_side ul#nav_page li a:hover {
	color: #d60f0f;
}
/* ================================================================= 
 *
 * AREA: #colMain
 *
 * ================================================================= */
#colMain {
	text-align: left;
	float: right;
	width: 774px;
	margin: 0 11px 0 0;
}
#colMain h2 {
	font-size: 20px;
	text-indent: 25px;
	text-shadow: 0 1px 0 #fff;
	letter-spacing: 2px;
	background: url(../images/content_frame-head.png);
	height: 51px;
	line-height: 45px;
	width: 774px;
}
#content {
	background: url(../images/content_frame-body.png);
	width: 744px;
	padding-top: 10px;	/* +  4px(h2 Shadow) */
	padding-right: 8px;	/* + 14px(float Margin) */
	padding-bottom: 0;
	padding-left: 22px;
	margin: 0;
	overflow: hidden;
}
#content-foot {
	background: url(../images/content_frame-foot.png);
	width: 774px;
	height: 6px;
	margin: 0 0 16px 0;
}
/* ================================================================= 
 *
 * Layout: Common
 *
 * ================================================================= */
.clear {
	clear: both;
}
.algCenter {
	text-align: center;
}
.algLeft {
	float: left;
}
.algRight {
	float: right;
}
/* 
 * common basic styles
 * ----------------------------------------------------------------- */
#content h3 {
	font-size: 17px;
	text-indent: 17px;
	text-shadow: 0px 1px 0px #fff;
	color: #000;
	background: url(../images/title_h3.png) left bottom repeat-x;
	width: 764px;
	height: 38px;
	line-height: 37px;
	margin: 0 0 17px -17px;
}
#content h3 span {
	color: #076cb8;
	font-size: 13px;
	padding: 0 0 0 14px;
}
#content h4 {
	font-size: 14px;
	text-indent: 5px;
	text-shadow: 0px 1px 0px #fff;
	color: #000;
	background: url(../images/title_h4.png) left bottom repeat-x #f7f7f7;
	clear: both;
	height: 30px;
	max-width: 730px;
	line-height: 30px;
	margin: 0 0 8px 0;
	border-right: 1px solid #d6d6d6;
	border-left: 1px solid #d6d6d6;
	box-sizing: border-box;
}
#content h4 span {
	padding: 0 0 0 20px;
}
#content mark {
	font-weight: bold;
}
#content strong {
	font-weight: bold;
}
#content em {
	font-style: normal;
	font-weight: bold;
}
#content article,
#content section,
#content aside {
	padding: 0 0 11px 0;
	/* padding-bottom: 25px; = 11px + 14px(float Margin) */
}	
#content article:after,
#content section:after,
#content aside:after {
	content: ""; 
	display: block; 
	clear: both;
}
#content p {
	padding: 0px 0 16px 0;
}
#content ul,
#content ol {
	padding: 0 0 0 20px;
}
#content ul li {list-style-type: disc;}
#content ol li {list-style-type: decimal;}
#content ol li ul li {list-style-type: circle;}
#content ol li ol li {list-style-type: lower-roman;}
#content ul.listTitle li,
#content ol.listTitle li {
	font-weight: bold;
}
#content ul.listTitle li ul li,
#content ul.listTitle li ol li,
#content ol.listTitle li ul li,
#content ol.listTitle li ol li {
	font-weight: normal;
}
#content dl.dlFloat {
	width: 100%;
	overflow: hidden;
}
#content dl.dlFloat dt {
	float: left;
	clear: both;
}
#content dl.dlFloat dd {
	float: left;
}
#content dl.w25-75 dt {
	width: 25%;
}
#content dl.w25-75 dd {
	width: 75%;
}
#content table {
	border-collapse: separate;
	border-spacing: 0;
	border-top: 1px solid #ccc;
	border-left: 1px solid #ccc;
}
#content table caption {
	font-size: 16px;
	color: #666;
	padding: 0 0 0 5px;
	margin: 0 0 5px 0;
	border-left: 8px solid #ccc;
}
#content table th,
#content table td {
	border: 1px solid #ccc;
	border-top: 1px solid #fff;
	border-left: 1px solid #fff;
	padding: 10px;
}
#content table th {
	text-align: center;
	text-shadow: 0px 1px 0px #fff;
	color: #222;
	background: #f0f0f0;
	background: url(../images/bg_table_th.jpg) left top;
}
#content table.wSelf,
#content table.w3-7,
#content table.w5-5,
#content table.w4-3-3 {
	width: 100%;
}
#content table.tCenter td {
	text-align: left;
}
#content table.w3-7 th {width: 30%;}
#content table.w3-7 td {width: 70%;}
#content table.w5-5 th {width: 50%;}
#content table.w5-5 td {width: 50%;}
#content table.w4-3-3 th {width: 40%;}
#content table.w4-3-3 td {width: 30%;}
/* 
 * common groups
 * ----------------------------------------------------------------- */
#content .nav_contact {
	font-size: 13px;
	text-indent: 30px;
	text-shadow: 0px 1px 0px #fff;
	letter-spacing: 3px;
	color: #333;
	background: url(../images/common_contact.png) no-repeat;
	display: block;
	width: 134px;
	height: 26px;
	line-height: 26px;
	border-radius: 3px;
	-webkit-transition: 0.2s;
	-moz-transition: 0.2s;
}
#content .nav_contact:hover {
	color: #d60f0f;
	box-shadow: inset 0 2px 3px rgba(0,0,0,0.3),inset 0 -2px 3px rgba(255,255,255,0.5);
}
#content .nav_contact-banner {
	-webkit-transition: 0.2s;
	-moz-transition: 0.2s;
}
#content .nav_contact-banner:hover {
	opacity: 0.5;
}
#content .group-audio {

}
#content .group-audio .group-audio-div {
	font-size: 12px;
	clear: both;
	width: 100%;
	height: auto;
	margin: 0 0 14px 0;
	zoom: 1;
}
#content .group-audio .group-audio-div:after {
	content: "";
	display: block;
	clear: both;
	zoom: 1;
}
#content .group-audio h4 {
	font-size: 13px;
	text-indent: 10px;
	line-height: 26px;
	background: url(../images/title_h4_group-audio.png) left bottom repeat-x;
	clear: both;
	float: left;
	width: 358px;
	height: 26px;
	margin: 0 14px 0 0;
}
#content .group-audio h4 em {
	font-weight: normal;
	font-style: normal;
	display: inline-block;
	width: 120px;
}
#content audio {
	float: left;
	clear: none;
	width: 358px;
	box-shadow: 1px 1px 8px rgba(0,0,0,0.3);
}
#content .group-audio h4 + span {
	float: left;
	clear: none;
	display: block;
	width: 358px;
	box-shadow: 1px 1px 8px rgba(0,0,0,0.3);
}
#content .group-notice p {
	padding: 0;
}
#content .group-notice h4 {
	font-size: 14px;
	text-indent: 5px;
	text-shadow: 0px 1px 0px #fff;
	color: #000;
	background: url(../images/title_h4.png) left bottom repeat-x #f7f7f7;
	height: 30px;
	line-height: 30px;
	margin: 0 0 5px 0;
	border-right: 1px solid #d6d6d6;
	border-left: 1px solid #d6d6d6;
}
#content .group-notice h4 span {
	background: url(../images/point_icon1.png) left center no-repeat;
	padding: 0 0 0 20px;
}
#content .group-teacher h4 {
	font-size: 16px;
	text-indent: 0;
	color: #666;
	background: none;
	padding: 0 0 0 5px;
	margin: 0 0 5px 0;
	border: none;
	border-left: 8px solid #ccc;
}
#content .group-teacher p {
	background: #f9f9f9;
	padding: 10px;
	border: 1px solid #ccc;
	text-shadow: 0 1px 0px #fff;
	box-shadow: inset 0 1px 5px rgba(255,255,255,1);
}
#content .color1 {
	color: #d60f0f;
}
/* 
 * common colums
 * ----------------------------------------------------------------- */
.grid1,.grid2,.grid3,.grid4,.grid5,.grid6,
.grid7,.grid8,.grid9,.grid10,.grid11,.grid12 {
	float: left;
	margin: 0 14px 14px 0 ;
}
.grid1  {width:  48px;}
.grid2  {width: 110px;}
.grid3  {width: 172px;}
.grid4  {width: 234px;}
.grid5  {width: 296px;}
.grid6  {width: 358px;}
.grid7  {width: 420px;}
.grid8  {width: 482px;}
.grid9  {width: 544px;}
.grid10 {width: 606px;}
.grid11 {width: 668px;}
.grid12 {
	clear: both;
	float: none;
	width: 730px;
	margin: 0 0 14px 0;
}