@charset "utf-8";
/* CSS Document */

body {
	font: 100% "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS P Gothic", sans-serif;
	margin: 0; /* 複数の異なるブラウザの初期設定値に対応するため、body エレメントのマージンと余白を 0 にすることをお勧めします */
	padding: 0;
	text-align: center; /* これにより、IE 5* ブラウザではコンテナが中央揃えになります。そして、テキストは、#container セレクタの初期設定である左揃えに設定されます */
	color: #000000;
	width:100%;
	height:100%;
	min-height:100%;
	word-wrap:break-word;
	margin:0px;
	background: -moz-linear-gradient(top, #ffffff, #9179bd, #7f7f7f);　/* グラデーションFirefox用 */  
    background: -webkit-gradient(linear, left top, left bottom, from(#ffffff), color-stop(#b58df2), to(#9b98a0));　/*　グラデーション Safari,Google Chrome用 */ 

}

/* 伸縮自在レイアウトに関するヒント
1. 伸縮自在レイアウトの全体的なサイズはユーザーの初期設定のフォントサイズに基づいて設定されるため、伸縮自在レイアウトの表示を予測することは困難です。伸縮自在レイアウトでは行の長さの割合が維持されるため、伸縮自在レイアウトは、適切に使用すれば、大きいフォントサイズを使用する必要がある場合に便利です。
2. このレイアウトの div のサイズは、body エレメントの 100% のフォントサイズに基づいて設定されます。body エレメントまたは #container の font-size: 80% を使用して全体のテキストサイズを小さくすると、レイアウト全体のサイズが比例して小さくなります。これを補正するには、必要に応じて、div の幅を大きくしてください。
3. デザイン全体ではなく div ごとにフォントサイズが変更される場合は (#sidebar1 のフォントサイズは 70% に設定され、#mainContent のフォントサイズは 85% に設定される場合)、これにより、それぞれの div の全体のサイズが比例して変更されます。必要に応じて、最終的なフォントサイズに基づいて調整してください。
*/
.oneColElsCtrHdr #container {
	width:100%;
	height:100%;
    max-width:1300px;
	background: #ffffff;
	margin:0 auto; /* 自動マージン（幅と連動）により、ページが中央揃えになります */
	text-align: left; /* この設定は body エレメントの text-align: center より優先されます。 */

}

.oneColElsCtrHdr #header { 
	background: #ffffff;

	padding: 0 10px 0 10px;  /* この余白は、その下に表示される div のエレメントの左揃えと一致します。#header でテキストの代わりにイメージが使用される場合は、必要に応じて、余白を削除してください。 */
} 

/* ここからヘッダー関連 */
#logo {
	float:left;
}

#nav {
	background-color:#ffffff;
	padding-bottom:30px;
	padding-top:20px;
	float:right;
}


#nav ul{
	padding:0;
	margin:0;
}

#nav ul li{
	display:inline;
}

#nav li{
	margin-right:15px;
}

#nav img {
	padding-bottom:0;
}


#nav2 {
	padding-bottom:15px;
	font-size:12px;
	text-align:right;
}

#header {
	height:100px;
}

/*ヘッダーセレクター*/
.button {
	display: inline-block;
	width: 65px;
	height: 30px;
	text-align: center;
	text-decoration: none;
	outline: none;
	position: relative;
	z-index: 2;
	background-color: #fff;
	color: #333;
	line-height: 30px;
	overflow: hidden;
}
.button::before,
.button::after {
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
}
.button,
.button::before,
.button::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}

.button:hover {
	color: #fff;
}
.button::after {
	top:  0;
	left: 0;
	width: 100%;
	height: 100%;
	-webkit-transform: scale(.5);
	transform: scale(.5);
}
.button:hover::after {
	background: #333;
	-webkit-transform: scale(1);
	transform: scale(1);
}

/*ここまで*/

/* 言語選択△ */
.list-item1 {
  position: relative;
  padding-left: 10px;
}
.list-item1:before {
  content: '';
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 0;
  width: 0;
  height: 0;
  margin-top: -7px;
  border-top: 5px solid transparent;
  border-right: 6px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 6px solid #333;
}

.list-item2 {
  position: relative;
  padding-left: 10px;
}
.list-item2:before {
  content: '';
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 0;
  width: 0;
  height: 0;
  margin-top: -7px;
  border-top: 5px solid transparent;
  border-right: 6px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 6px solid #CCC;
}
/* 言語選択△ */

/* ここまでヘッダー関連 */


/* まわりこみ防止 */
.clearfix:before, .clearfix:after {
	content: " ";
	display:table;
}

.clearfix:after {
	clear:both;
}


.table1 {
	text-align:center;
	width:100%;
	margin:0 auto;
}

.oneColElsCtrHdr #mainContent {
	padding: 0 20px; /* 余白は div ボックスの内側のスペース、マージンは div ボックスの外側のスペースです */
	background: #ffffff;
	padding-bottom:50px;
	height:100%;
	text-align:left;
}

.oneColElsCtrHdr #footer {
	padding: 0 20px; /* この余白は、その上に表示される div のエレメントの左揃えと一致します。 */
	background:#FFF;
	height:50px;

} 

.oneColElsCtrHdr #footer p {
	margin: 0; /* フッターの最初のエレメントのマージンを 0 に設定することにより、マージンの相殺（div 間のスペース）が回避されます */
	padding: 10px 0;/* このエレメントの余白により、マージンの相殺を発生させることなく、マージンの効果とまったく同じように、スペースが設定されます */

}



#grid {
	height:100%;
	overflow:auto;
}

#grid ul li {
	display:inline;
}

#grid ul {
	padding-top:0px;
	padding-right:65px;
	padding-bottom: 0px;
	padding-left: 65px;
}
#grid li {
	margin-right:30px;
	list-style:none;
}
#grid img {
	margin-bottom:20px;
}

#grid2 {
	height:100%;
	overflow:auto;
	text-align:center;
}

#grid3 {
	height:100%;
	overflow:auto;
	padding:20px;
}

#grid3 ul li {
	display:inline;
}

#grid3 ul {
	padding:0px;
	text-align:center;
}

#grid3 li {
	list-style:none;
	padding-left:20px;
	padding-right:20px;
}

#grid4 {
	height:100%;
	overflow:auto;
	margin:20px 100px 0px 100px;
	font-size:16px;
}

#g4_img_r {
	float:right;
	text-align:center;
	color:#FFF;

}

#g4_img_l {
	float:left;
	padding-right:100px;
    text-align:center;
	color:#FFF;

}

#grid4 ul li {
	display:inline;
}

#grid4 ul {
	padding-top:0px;
	padding-right:0px;
	padding-bottom: 0px;
	padding-left:0px;
}

#grid4 li {
	list-style:none;
	margin-right:10px;
	color:#FFF;
}

#grid5 {
	height:100%;
	overflow:auto;
	margin:0px 100px 0px 100px;
	font-size:16px;
}


#grid6 {
	height:100%;
	overflow:auto;
	margin:20px 100px 0px 100px;
	font-size:16px;
	border-bottom:solid;
}
#g6_img_l {
	float:left;
	padding-right:50px;
	color:#FFF;

}

.figure {
	position: relative;
	overflow: hidden;
	width: 380px;
}



.figcaption {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,.6);
	-webkit-transform: rotateX(-180deg);
	transform: rotateX(-180deg);
	-webkit-transition: .5s;
	transition: .5s;
	opacity: 0;
}
.figure:hover .figcaption {
	-webkit-transform: rotateX(0);
	transform: rotateX(0);
	opacity: 1;
}

.figure2 {
	position: relative;
	overflow: hidden;
	width: 305px;
	height:407px;
}



.figcaption2 {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,.6);
	-webkit-transform: rotateX(-180deg);
	transform: rotateX(-180deg);
	-webkit-transition: .5s;
	transition: .5s;
	opacity: 0;
}
.figure2:hover .figcaption2 {
	-webkit-transform: rotateX(0);
	transform: rotateX(0);
	opacity: 1;
}

.figure3 {
	position: relative;
	overflow: hidden;
	width: 300px;
	height:225px;
}



.figcaption3 {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,.6);
	-webkit-transform: rotateX(-180deg);
	transform: rotateX(-180deg);
	-webkit-transition: .5s;
	transition: .5s;
	opacity: 0;
}
.figure3:hover .figcaption3 {
	-webkit-transform: rotateX(0);
	transform: rotateX(0);
	opacity: 1;
}


div.PhotoBox {
   float: left;              /* A1 */
   position: relative;       /* A2 */
   overflow: hidden;         /* A3 */
   margin: 30px 3.3em 1em 0px;/* A4:隣接画像との余白量 */
   width: 300px;            /* A5:画像の横幅 */
   height: 225px;           /* A6:画像の高さ */
}

div.PhotoBox div.SlideBox {
   position: absolute;       /* B1 */
   left: 0px;                /* B2 */
   top: 225px;              /* B3:画像の高さに合わせる */
   width: 300px;            /* B4:画像の横幅に合わせる */
   height: 55px;            /* B5:スライドして重ねる領域の高さ */
   background-color: black; /* B6:スライドして重ねる領域の背景色 */
   color: white;            /* B7:スライドして重ねる領域の文字色 */
   opacity: 0.6;            /* B8:スライドして重ねる領域の透明度 */
}

div.PhotoBox div.SlideBox p.Caption {
   font-weight: bold; /* 文字の太さ */
   font-size: 90%;    /* 文字サイズ */
   margin: 0.5em;     /* 周囲の余白量 */
}


h {
	display: inline-block;
	transition: .3s;
	-webkit-transform: scale(1);
	transform: scale(1);
}
h:hover {
	-webkit-transform: scale(1.1);
	transform: scale(1.1);
	color:#039;
	font-weight:bold;
}


/*トップページ*/
#top_content {
	margin-left:150px;
	margin-right:150px;
	margin-top:80px;
}

#top_box_l {
	padding-left:20px;
	padding-right:20px;
	padding-top:10px;
	padding-bottom:10px;
	margin-right:30px;
	margin-top:20px;
	float:left;
	background-color: #f6f6f6;
	font-size:15px;
	border-top-width: 2px;
	border-right-width: 1px;
	border-bottom-width: 2px;
	border-left-width: 1px;
	border-top-style: solid;
	border-right-style: solid;
	border-bottom-style: solid;
	border-left-style: solid;
	border-top-color: #ccc;
	border-right-color: #ccc;
	border-bottom-color: #ccc;
	border-left-color: #ccc;
}



#top_img {
	float:left;
	margin-right:50px;
}

#top_box_r {
	float:right;
	font-size:18px;
	color:#333;
}

#top_box_new {
	width:auto;
	margin-left:150px;
	margin-right:150px;
	margin-top:30px;
}

#box_srcollbar {
    overflow:auto;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
	width:100%;
    padding:5px;
	height:100px;
    border:1px solid #000;
    background-color:#F9F9F9;
    color:#666;
    font-size:14px;
	line-height:110%;
    }
	
#box_srcollbar a:link{
	color:#333;
}
#box_srcollbar a:visited{
	color:#333;
}	

#box_title{
    border:1px solid #000;
    padding:5px;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
	width:100%;	
    font-weight:bold;
    font-size:14px;
    background-color:#666;
    color:#fff;
    }

/* ここから見出しＣＳＳ */

h1 {
	position: relative;
	text-align: left;
	font-size:22px;
	font-weight:normal;
	color:#333;
}
h1 span {
	position: relative;
	z-index: 2;
	display: inline-block;
	margin: 0 2.5em;
	padding: 0 1em;
	background-color: #fff;
	text-align: right;
	-webkit-animation: zoom .7s;
	animation: zoom .7s;
	-webkit-animation-iteration-count: 5;
	animation-iteration-count: 3;
}	
@-webkit-keyframes zoom {
	50% {
		-webkit-transform: scale(1.20);
	}
}
@keyframes zoom {
	50% {
		transform: scale(1.20);
	}
}	
h1::before {
	position: absolute;
	top: 50%;
	z-index: 1;
	content: '';
	display: block;
	width: 100%;
	height: 1px;
	background-color: #ccc;
}


.h2_point {
	position:relative;
	margin:0 10px;
	padding:0 10px 0 40px;
	font:bold 18px Arial, Helvetica, sans-serif;
	color:#666;
	background:#FFF;
	z-index:1;
}
.h2_point:before{
	content:" ";
	position:absolute;
	top:0;
	left:0;
	width:25px;
	height:25px;
	border-right:#fff solid 2px;
	background:#66C;
    background-image: -webkit-gradient(linear, left top, left bottom,
			from(			 rgba(255, 255, 255, 0.0)), 
			color-stop(0.20, rgba(255, 255, 255, 0.0)), 
			color-stop(0.20, rgba(255, 255, 255, 0.1)), 
			color-stop(0.40, rgba(255, 255, 255, 0.1)), 
			color-stop(0.40, rgba(255, 255, 255, 0.3)), 
			color-stop(0.60, rgba(255, 255, 255, 0.3)), 
			color-stop(0.60, rgba(255, 255, 255, 0.5)), 
			color-stop(0.80, rgba(255, 255, 255, 0.5)), 
			color-stop(0.80, rgba(255, 255, 255, 0.6)), 
			to(				 rgba(255, 255, 255, 0.6))
			);
	background-image: -webkit-linear-gradient(top,
			transparent 20%,
			rgba(255, 255, 255, 0.1) 20%, 
			rgba(255, 255, 255, 0.1) 40%, 
			rgba(255, 255, 255, 0.3) 40%, 
			rgba(255, 255, 255, 0.3) 60%, 
			rgba(255, 255, 255, 0.5) 60%, 
			rgba(255, 255, 255, 0.5) 80%, 
			rgba(255, 255, 255, 0.6) 80%, 
			rgba(255, 255, 255, 0.6) 100%
			);
	background-image: -moz-linear-gradient(top,
			transparent 20%,
			rgba(255, 255, 255, 0.1) 20%, 
			rgba(255, 255, 255, 0.1) 40%, 
			rgba(255, 255, 255, 0.3) 40%, 
			rgba(255, 255, 255, 0.3) 60%, 
			rgba(255, 255, 255, 0.5) 60%, 
			rgba(255, 255, 255, 0.5) 80%, 
			rgba(255, 255, 255, 0.6) 80%, 
			rgba(255, 255, 255, 0.6) 100%
			);
	background-image: -o-linear-gradient(top,
			transparent 20%,
			rgba(255, 255, 255, 0.1) 20%, 
			rgba(255, 255, 255, 0.1) 40%, 
			rgba(255, 255, 255, 0.3) 40%, 
			rgba(255, 255, 255, 0.3) 60%, 
			rgba(255, 255, 255, 0.5) 60%, 
			rgba(255, 255, 255, 0.5) 80%, 
			rgba(255, 255, 255, 0.6) 80%, 
			rgba(255, 255, 255, 0.6) 100%
			);
	background-image: linear-gradient(to bottom,
			transparent 20%,
			rgba(255, 255, 255, 0.1) 20%, 
			rgba(255, 255, 255, 0.1) 40%, 
			rgba(255, 255, 255, 0.3) 40%, 
			rgba(255, 255, 255, 0.3) 60%, 
			rgba(255, 255, 255, 0.5) 60%, 
			rgba(255, 255, 255, 0.5) 80%, 
			rgba(255, 255, 255, 0.6) 80%, 
			rgba(255, 255, 255, 0.6) 100%
			);
			z-index:-1;
}
.h2_point:after{
	content:" ";
	position:absolute;
	top:0;
	left:0;
	width:25px;
	height:25px;
    background-image: -webkit-gradient(linear, left top, right top,
			from(			 rgba(255, 255, 255, 0.0)), 
			color-stop(0.20, rgba(255, 255, 255, 0.0)), 
			color-stop(0.20, rgba(255, 255, 255, 0.1)), 
			color-stop(0.40, rgba(255, 255, 255, 0.1)), 
			color-stop(0.40, rgba(255, 255, 255, 0.3)), 
			color-stop(0.60, rgba(255, 255, 255, 0.3)), 
			color-stop(0.60, rgba(255, 255, 255, 0.5)), 
			color-stop(0.80, rgba(255, 255, 255, 0.5)), 
			color-stop(0.80, rgba(255, 255, 255, 0.6)), 
			to(				 rgba(255, 255, 255, 0.6))
			);
	background-image: -webkit-linear-gradient(left,
			transparent 20%,
			rgba(255, 255, 255, 0.1) 20%, 
			rgba(255, 255, 255, 0.1) 40%, 
			rgba(255, 255, 255, 0.3) 40%, 
			rgba(255, 255, 255, 0.3) 60%, 
			rgba(255, 255, 255, 0.5) 60%, 
			rgba(255, 255, 255, 0.5) 80%, 
			rgba(255, 255, 255, 0.6) 80%, 
			rgba(255, 255, 255, 0.6) 100%
			);
	background-image: -moz-linear-gradient(left,
			transparent 20%,
			rgba(255, 255, 255, 0.1) 20%, 
			rgba(255, 255, 255, 0.1) 40%, 
			rgba(255, 255, 255, 0.3) 40%, 
			rgba(255, 255, 255, 0.3) 60%, 
			rgba(255, 255, 255, 0.5) 60%, 
			rgba(255, 255, 255, 0.5) 80%, 
			rgba(255, 255, 255, 0.6) 80%, 
			rgba(255, 255, 255, 0.6) 100%
			);
	background-image: -o-linear-gradient(left,
			transparent 20%,
			rgba(255, 255, 255, 0.1) 20%, 
			rgba(255, 255, 255, 0.1) 40%, 
			rgba(255, 255, 255, 0.3) 40%, 
			rgba(255, 255, 255, 0.3) 60%, 
			rgba(255, 255, 255, 0.5) 60%, 
			rgba(255, 255, 255, 0.5) 80%, 
			rgba(255, 255, 255, 0.6) 80%, 
			rgba(255, 255, 255, 0.6) 100%
			);
	background-image: linear-gradient(to right,
			transparent 20%,
			rgba(255, 255, 255, 0.1) 20%, 
			rgba(255, 255, 255, 0.1) 40%, 
			rgba(255, 255, 255, 0.3) 40%, 
			rgba(255, 255, 255, 0.3) 60%, 
			rgba(255, 255, 255, 0.5) 60%, 
			rgba(255, 255, 255, 0.5) 80%, 
			rgba(255, 255, 255, 0.6) 80%, 
			rgba(255, 255, 255, 0.6) 100%
			);
			z-index:-1;
}

h3 {
	font-size:16px;
	font-weight:normal;
	color:#FFF;
	text-align:center;
}

/* ここまで見出し */

/* ここからトップへ戻るＣＳＳ */
#go_home {
	text-align:right;
	text-decoration:none;
	font-size:16px;
}

.button_top {
	display: inline-block;
	width: 120px;
	height: 34px;
	text-align: center;
	text-decoration: none;
	line-height: 34px;
	outline: none;	
	position: relative;
	z-index: 2;
	background-color: #666;
	border: 2px solid #666;
	color: #fff;
	line-height: 30px;

	}

.button_top:hover{
	background-color: #fff;
	border-color: #669;
	color: #669;
}
.button_top::before,
.button_top::after {
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
	left: 0;
	width: 100%;
	height: 50%;
	background-color: #666;
}
.button_top,
.button_top::before,
.button_top::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}
.button_top::before {
	top: 0;
}
.button_top::after {
	bottom: 0;
}
.button_top:hover::before,
.button_top:hover::after {
	height: 0;
	background-color: #669;
}

/* ここまで */

/*未使用*/
.arrow1 {
	position:relative;
	display:inline-block;
	padding:0 0 0 16px;
	color:#000;
	vertical-align:middle;
	text-decoration:none;
	font-size:15px;
}
.arrow1::before,
.arrow1::after {
	position:absolute;
	top:0;
	bottom:0;
	left:0;
	margin:auto;
	content:"";
	vertical-align:middle;
}
.arrow1::before {
	left:7px;
	box-sizing:border-box;
	width:5px;
	height:5px;
	border:5px solid transparent;
	border-left:5px solid #069;
	-webkit-transform: rotate(0deg);
	transform:rotate(0deg);
}
.arrow1::after {
	top:7px;
	left:-2px;
	border: 0 solid transparent;
	border-left: 3px solid #069;
	border-radius: 0 0 0 10px;
	width: 8px;
	height: 8px;
	-webkit-transform: rotate(90deg);
	transform:rotate(90deg);
}

/* 実験*/ 	


/*
#nav ul li a {
	text-decoration:none;
	color:#000;
}
#nav ul li a:link {
	color:#000;
}

#nav ul li a:visited {
	color:#000;
}

#nav ul li a:hover{
	text-shadow:none;
}

h2 {
	position: relative;
	padding: .25em 0 .3em .75em;
	border-left: 6px solid #666699;
	font-size:16px;
	font-weight:normal;
	color:#464646;
}
h2::after {
	position: absolute;
	left: 0;
	bottom: 0;
	content: '';
	width: 100%;
	height: 0;
	border-bottom: 1px solid #ccc;
}
