@charset "utf-8";

body{
	min-width:100%;
}
#bg {
	position: fixed;
	width: 100%;
	height: 100%;
	background: url("../img/bg.jpg") #4A1F01;
	background-position: center center;
	background-attachment: fixed;
	background-size: cover;
	filter: blur(0px);
	z-index: 1;
	-ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../img/bgA.jpg', sizingMethod='cover')";
	-webkit-animation-name: testTest;
	-webkit-animation-duration: 2s;
	-webkit-animation-delay: 0.25s;
	-webkit-animation-iteration-count: infinite;
	/*-webkit-animation-direction:;*/
}

/* iframeスクロール禁止 */
iframe {
	/* pointer-events: none; */
}

#pagedown a{
	width: 100%;
	height: 100%;
	display: block;
	opacity: 0;
}

#pagedown {
	position: relative;
	background: url("../img/arrow-d.png") no-repeat;
	background-size: 80px 40px;
    background-position: 50% 50%; 
    /* background-attachment: fixed; */
    /* background-size: cover; */
    width: 80px;
    height: 40px;
    left: -webkit-calc(50% - 40px); 
    left: calc(50% - 40px); 
    top: -webkit-calc(100vh - 80px); 
    top: calc(100vh - 80px); 
    z-index: 100;
}

/* 矢印 アニメーション */
#pagedown {
 -webkit-animation: switchtext 2.5s infinite alternate ease-in;
 -moz-animation: switchtext 2.5s infinite alternate ease-in;
 animation: switchtext 2.5s infinite alternate ease-in-out;
}
@-webkit-keyframes switchtext {
 from { opacity: 0.95; }
 to { opacity: 0.02; }
}
@-moz-keyframes switchtext {
 from { opacity: 0.95; }
 to { opacity: 0.02; }
}
@keyframes switchtext {
 from { opacity: 0.95; }
 to { opacity: 0.02; }
}


@media all and (-ms-high-contrast: none) {
	/* IE10, 11 */
	
	#bg {
		background-attachment: scroll;
	}
}


 /* footer画像位置 */
footer .fl img {
	position: absolute;
	z-index: 50;
	/*left: -170px;*/
	/*bottom: 53px;*/
	bottom: 40px;
	width: auto;
	height: 30px;
	/*height: 18px;*/
}


img.resize-h{
	width: 100%;
	height: auto;
}
img.resize-w{
	width: auto;
	height: 100%;
}
img.resize{
	width:auto;
	/*height:400px;*/
}

div.center,section.center{
	width: 70%;
	margin : 0 auto;
}

span.font09{
	font-size:0.8rem;
}

.stagebase{
 width: 90%;
 margin: 0 auto;
}

.note dt {
  position: relative;
}
.note dt span {
  position: absolute;
}
.note dd {
  padding-left: 1em;
  text-indent: -1em;
}

.note li {
  padding-left: 1em;
  text-indent: -1em;
}

footer div {
	padding:10px;
}

div.bottom {
	height: 100%;
}

/*　画像トリミング　*/
.trim-l {
	float: left;
    overflow: hidden;
    width: 200px;/* トリミングしたい枠の幅 */
    height: 350px;/* トリミングしたい枠の高さ */
    position: relative;
    margin-right: 5px;
}
.trim-r {
	float: right;
    overflow: hidden;
    width: 200px;/* トリミングしたい枠の幅 */
    height: 300px;/* トリミングしたい枠の高さ */
    position: relative;
    margin-left: 5px;
}
.trim-l img,.trim-r img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

div.radius {
	/*background: rgba(0,31,91,.5);*/
	background: rgb(0,31,91);
	border-radius: 5px;        /* CSS3草案 */  
   	-webkit-border-radius: 5px;    /* Safari,Google Chrome用 */  
    -moz-border-radius: 5px;   /* Firefox用 */ 
	padding: 15px;
	display:inline-block
}

/*フェードイン表示*/
.list{
	/*margin: 50px 50px 50px 50px;*/
	list-style-type: none;
	overflow: hidden;
}
.list ul,.list li,.list dd,.list dt,.list dl{
	/*margin: 50px 20px 50px 20px;*/
	float: left;
	transition: .8s
}
.list-mv{
	opacity: 0;
}
.mv{
	opacity: 1.0;
}
.list-mvu{
	opacity: 0;
	transform: translateY(60px); 
	-webkit-transform: translateY(60px); 
}
.mvu{
	opacity: 1.0;
	transform: translate(0,0); 
	-webkit-transform: translate(0,0);
}
.list-mvr{
	opacity: 0;
	transform: translate(60px,0); 
	-webkit-transform: translate(60px,0); 
}
.mvr{
	opacity: 1.0;
	transform: translateX(0); 
	-webkit-transform: translateX(0);
}
.list-mvl{
	opacity: 0;
	transform: translate(-60px,0); 
	-webkit-transform: translate(-60px,0); 
}
.mvl{
	opacity: 1.0;
	transform: translateX(0); 
	-webkit-transform: translateX(0);
}
/*--- 全体の幅 ------------------------------*/

#wrapper {
	position: absolute;
	background: none;
	top: 0;
	left: 0;
	width: 100%;
	display: block;
}
.wrapper {
	width: 960px;
	margin: 0 auto;
	padding: 0;
}

/*--- Header ------------------------------*/
@media screen and ( min-width:478px ){
	#header2 {
		display: none ;
	}
}
#header {
	height: 100%;
	height: 100vh;
	display: block;
	position: relative;
	left: 0;
	top: 0;
	right: 0;
	z-index: 10000;
	width: 180px;
}
#header h1 {
	background: url("../img/logo_header.png") no-repeat rgb(0,31,91);
	background-size: 60px 60px;
	height: 60px;
	width: 60px;
	text-indent: -9999px;
	display: block;
	font-size: 1em;
	line-height: 1px;
	position: fixed;
	z-index: 20;
	top: 35px;
	left: 60px;
	border-radius: 100px;
/*	filter: alpha(opacity=50);
	-moz-opacity:0.5;
	opacity:0.5;*/
}
#header h1 a {
	height: 100%;
	width: 100%;
	display: block;
}
#topTxt {
	height: 880vh;
	overflow: hidden;
	position: fixed;
	left: 0;
	top: 0;
	right: 0;
	z-index: 3;
	width: 100%;
}
#topTxt h2 {
	font-family: 'Open Sans', sans-serif;
	font-weight: bold;
	font-size: 40px;
	line-height: 60px;
	text-align: right;
	/*position: absolute;*/
	position: relative;
	/*right: 55px;*/
	right: 40px;
	/*top: 50px; */
	top: 23px; 
	/*bottom: 130px;*/
	display: block;
	width: auto;
}
#topTxt h2 span {
	font-family: 'Open Sans', sans-serif;
	color: #fff;
	letter-spacing: .08em;
	height: 60px;
	display: inline-block;
	line-height: 60px;
}
#topTxt h3 {
	display: block;
	position: absolute;
	/* top: 285px; */
	
	bottom: 42px;
	right: 55px;
	line-height: 100%;
	font-size: 12px;
	text-align: right;
	z-index: 10;
}
#topTxt h3 span {
	display: inline-block;
	color: #000;
	z-index: 10;
	height: 26px;
	line-height: 26px;
	letter-spacing: 0.02em;
}
#topTxtBg {
	height: 88vh;
	overflow: hidden;
	position: fixed;
	left: 0;
	top: 0;
	right: 0;
	z-index: 2;
	width: 100%;
	height: 100%;
	background-color: rgba(107, 74, 43, 0.4);
}
#topTxt1 p {
	font-family: 'Open Sans', sans-serif;
	font-weight: bold;
	font-size: 40px;
	line-height: 60px;
	text-align: right;
	position: absolute;
	right: 40px;
	/* top: 50px; */
	bottom: 70px;
	display: block;
}
#topTxt1 p span {
	font-family: 'Open Sans', sans-serif;
	display: inline-block;
	color: #000;
    background: #ffff00;
	padding: 0 .5em;
	letter-spacing: .08em;
	z-index: 1;
	position: relative;
}
#topTxt1 p span > span {
	background: none;
	display: block;
	padding: 0;
	z-index: 5;
	color: #fff;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
}
#topTxtW1 {
	z-index: 1;
	display: block;
	position: absolute;
	/* top: 283px; */
	
	bottom: 40px;
	right: 40px;
	line-height: 100%;
	font-size: 12px;
	text-align: right;
}
#topTxtW1 p {
	font-size: 100%;
	line-height: 100%;
}
#topTxtW1 span {
	color: #fff;
	z-index: 1;
	display: inline-block;
	background: #fff;
	line-height: 26px;
	padding: .1em 1.5em;
}

div#logo_text {
	background: url("../img/logo_text.png") no-repeat;
	background-position: top right;
	/*background-attachment: fixed;*/
	background-size: auto 45px;
	/*background-size: cover;*/
	height: 100px;
	top: 27px;
	right: 25px;
	position: relative;
	z-index: 20;
}

.tgt {
	opacity: 0;
}
.tgt span {
	opacity: 0;
}
/*--- GlNavi ------------------------------*/

#nav {
	position: fixed;
	bottom: 0px;
	left: 40px;
	/*background: rgba(0,31,91,.9);*/
	width: 180px;
	height: 100vh;
	left: 0px;
}
#glNav {
	letter-spacing: .08em;
	color: #fff;
	width: 100%;
	display: block;
	font-size: 90%;
	/*padding-left: 38px;*/
	padding-right: auto;
	padding-top: 30px;
	padding-bottom: 20px;
	line-height: 35px;
	position: absolute;
	/*bottom: 0;*/
	top: 20%;
	z-index: 50;
}
#glNav a {
	/*font-family: 'Open Sans', sans-serif;*/
	transition-duration: 1s;
	padding: 15px 0;
	color: #fff;
	/*font-weight: bold;*/
	text-shadow: none;
	transition-property: color;
	transition-delay: 0s;
/*	text-shadow:4px 4px 2px rgba(0,0,0, .3);*/
	-webkit-transition-timing-function: linear;
	-moz-transition-timing-function: linear;
	transition-timing-function: linear;
	padding-left: 44px;
}
/* #glNav a:hover::before,
#glNav a:focus::before {
	max-width: 100%;
} */
#glNav a::before{
	position: absolute;
	overflow: hidden;
	padding:0;
	max-width: 0;
	color: #fff;
	/* content: attr(data-hover); */
	-webkit-transition: max-width 0.5s;
	-moz-transition: max-width 0.5s;
	transition: max-width 0.5s;
}

#glNav li{
	-webkit-transition-property: width;  
    -webkit-transition-duration: 0.3s;  
	-webkit-transition-timing-function: linear;
	-moz-transition-timing-function: linear;
	transition-timing-function: linear;
	background-color: rgb(0,31,91);
	width: 0%;
	margin-bottom: 10px;
}
#glNav li:hover{
	width: 100%;
}
#glNav li:hover a{
	text-decoration:none;
	max-width: 100%;
	/*color: rgb(0,31,91);*/
	/*font-weight: bold;*/
	opacity: 1;
}
/*--- contents ------------------------------*/

#container {
	position: absolute;
	background: rgba(0,0,0,0.5);
    opacity: .95;
	width: 100%;
	width: -webkit-calc(92% - 180px);
	width: calc(92% - 180px);
	/*backgroundの開始位置*/
	top: 100vh;
	right: 0;
	padding: 4% 4% 150px;
	z-index: 10;
	display: block;
}

#container:after {
	content: " ";
	display: block;
	width: 180px;
	height: 240px;
	/*background: #202f55;*/
	/*background: rgba(0,31,91,.9);*/
	background: rgb(0,31,91);
	/*bottom: -2px;*/
	left: -180px;
	position: absolute;
	z-index: 10;
	/*bottom:0;*/
	bottom: -80px;
}

.content {
	width: 75%;
	max-width: 840px;
	margin: 0 auto;
}

#news #container {
	position: absolute;
	background: rgba(0,0,0,0.5);
    opacity: .95;
	width: 100%;
	width: -webkit-calc(92% - 180px);
	width: calc(92% - 180px);
	/*backgroundの開始位置*/
	top: 100px;
	bottom: 0;
	right: 0;
	padding: 4% 4% 150px;
	z-index: 10;
	display: block;
}


/*--- footer ------------------------------*/
#footer {
	width: 100%;
	height: auto;
	margin: 0 auto;
	font-size: 85%;
	display: block;
	clear: both;
	float: none;
	/*background: rgba(0,31,91,9);*/
	background: rgb(0,31,91);
	color: #fff;
	position : absolute;
	/*position: relative;*/
	/*footer位置を下げる*/
	bottom: -80px;
	right: 0;
	left: 0;
	/*top: 100px;*/
	/*padding: 10px 10px 10px 10px;*/
}
#footer .logo {
	font-size: 16px;
	line-height: 120%;
	width: 100%;
	height: auto;
	/*background: url("../img/logo_footer.png") no-repeat center top;*/
	/*background-size: 40px 65px;*/
	/*padding: 85px 0 30px 157px;*/
	/*text-align:center;*/
	padding: auto 0px;
}

/*#footer .fl {
	font-size: 16px;
    line-height: 120%;
    width: 50%;
    background: url("../img/logo_footer.png") no-repeat 30px 8px;
    background-size: auto 90px;
    padding: 62px 0 10px 290px;
   }*/

#footer .fl span {
	padding-top: .5em;
	display: block;
}
#footer .fr {
	/*padding: 13px 5% 13px 10px;*/
	padding: 16px 10px;
	text-align: right;
	width: auto;
	font-size: 16px;
}
#footer .fr p {
	margin-bottom: 5px;
}
#footer .fr a {
	color: #fff;
}
#copy {
	font-family: 'Open Sans', sans-serif;
	letter-spacing: 0.1em;
	font-size: 75%;
	color: #fff;
}

/************************/
.message-group1{
	background-color: rgba(0,0,0,0.0);
	padding: 0;
	width: 100%;
	/*margin-left: auto;
	margin-right: auto;*/
	margin-bottom: 20px;
}
.message-group1 h3{
	padding-bottom: 1em;
	margin-bottom: 1em;
	/*border-bottom: 1px solid #fff;*/
	border-bottom: 1px solid #4dccbd;
	/*border-size: 100px;*/
	/*font-weight: bold;*/
	font-size: 1.1em;
	margin-bottom: 30px;
}
	/*width: calc(100% - 200px);*/
.message-group1 ol {
	counter-reset: li;
	list-style: none;
	padding-left: 0;
}
.message-group1 ol > li {
	position: relative;
	margin-bottom: .5em;
	padding-left: 2.5em;
	line-height: 1.8;
}
.message-group1 ol > li:before {
	content: counter(li) "";
	counter-increment: li;
	position: absolute;
	left: 0;
	width: 1.8em;
	height: 1.8em;
	/*background: #ffff00;*/
	background: #1B99E8;
	color: #fff;
	/*color: #231651;*/
	line-height: 1.8;
	text-align: center;
}

.message-group1 h4{
	line-height: 32px;
	font-size: 1.1em;
}
.message-group1 section{
	padding: 15px;
	background: rgba(0,31,91,.5);
	/*background: rgb(0,31,91);*/
    border-radius: 5px;        /* CSS3草案 */  
    -webkit-border-radius: 5px;    /* Safari,Google Chrome用 */  
    -moz-border-radius: 5px;   /* Firefox用 */ 
}

#container section{
	width: 80%;
	/*width: 100%;*/
}

footer h4 {
	font-size: 0.8rem;
}

/*********/
.animation-text {
font-size: 1em;
}
.fadeInDown1 {
 -webkit-animation-fill-mode:both;
 -ms-animation-fill-mode:both;
 animation-fill-mode:both;
 -webkit-animation-duration:1s;
 -ms-animation-duration:1s;
 animation-duration:1s;
 -webkit-animation-name: fadeInUp;
 animation-name: fadeInUp;
 visibility: visible !important;
}
.fadeInDown2 {
 -webkit-animation-fill-mode:both;
 -ms-animation-fill-mode:both;
 animation-fill-mode:both;
 -webkit-animation-duration:1s;
 -ms-animation-duration:1s;
 animation-duration:2s;
 -webkit-animation-name: fadeInUp;
 animation-name: fadeInUp;
 visibility: visible !important;
}
.fadeInDown3 {
 -webkit-animation-fill-mode:both;
 -ms-animation-fill-mode:both;
 animation-fill-mode:both;
 -webkit-animation-duration:1s;
 -ms-animation-duration:1s;
 animation-duration:3s;
 -webkit-animation-name: fadeInUp;
 animation-name: fadeInUp;
 visibility: visible !important;
}
.fadeInDown4 {
 -webkit-animation-fill-mode:both;
 -ms-animation-fill-mode:both;
 animation-fill-mode:both;
 -webkit-animation-duration:1s;
 -ms-animation-duration:1s;
 animation-duration:4s;
 -webkit-animation-name: fadeInUp;
 animation-name: fadeInUp;
 visibility: visible !important;
}
@-webkit-keyframes fadeInDown {
	0% { 
		opacity: 0; 
		-webkit-transform: translateY(-20px); 
	}
	100% { 
		opacity: 1;
		-webkit-transform: translateY(0);
	}
}
@keyframes fadeInDown {
	0% { 
		opacity: 0;
		-webkit-transform: translateY(-20px);
		-ms-transform: translateY(-20px);
		transform: translateY(-20px); 
	}
	100% { 
		opacity: 1;
		-webkit-transform: translateY(0);
		-ms-transform: translateY(0);
		transform: translateY(0); 
	}
}

@-webkit-keyframes fadeInUp {
	0%{
		opacity: 0;
		-webkit-transform: translateY(+20px);
	}
	100%{
		opacity: 1;
		-webkit-transform:translateY(0);
	}
}
@keyframes fadeInUp {
	0%{
		opacity: 0;
		-webkit-transform: translate(+20px);
		-ms-transform: translateY(+20px);
		transform: translateY(+20px);
	}
	100%{
		opacity: 1;
		-webkit-transform : translateY(0);
		-ms-transform:translateY(0);
		transform: translate(0);
	}
}


.news img {
	margin-top: 20px;
    max-width: 100%;
}
.news a:hover img {
	opacity: 1;
}


