/* style.css
   ========================================================================== */

#loader {
    width: 625px;
    height: 400px;
    display: none;
    position: fixed;
    _position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -200px;
    margin-left: -312px;
    z-index: 100;
}
 
#fade {
    width: 100%;
    height: 100%;
	min-width:1030px;
    display: none;
    background-color: #FD9561;
    position: absolute;
    top: 0px;
    left: 0px;
    z-index: 50;
	
}

.clearfix:after {
  content: "";
  clear: both;
  display: block;
}

html {
	font-family: 游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}
body{
	width:100%;
	min-width:1030px;
	font-size:16px;
}
.bg-01{
	background:url(../images/bg-yellow.jpg) repeat center top;
	width:100%;
}
h2{
	text-align:center;
	margin-bottom:40px;
}
.container{
	width:1030px;
	margin:0 auto;
	padding-left:20px !important;
	padding-right:20px !important;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
.pull-left{
	float:left;
}
.pull-right{
	float:right;
}
header{
	padding:20px 0px;
}
header .pull-right img{
	margin:0 5px;
}
.anchor a img{
  	transition: all 0.2s;
}
.anchor a img:hover{
	transform: rotate(3deg);
	-webkit-transform: rotate(3deg);
	-moz-transform: rotate(3deg);
	-ms-transform: rotate(3deg);
	-o-transform: rotate(3deg);
	
}






a:focus, *:focus { outline:none; }

header a img{
  	transition: all 0.5s;
}
header a img:hover{
		transform: rotateY(360deg);
		-webkit-transform: rotateY(360deg);
		-moz-transform: rotateY(360deg);
		-ms-transform: rotateY(360deg);
		-o-transform: rotateY(360deg);
		
}
div.anchor ul{
	overflow:hidden;
	display:table;
	table-layout:fixed;
	padding-bottom:50px;
	padding-top:10px;
}
div.anchor ul li{
	display:table-cell;
}
#cm{
	padding:70px 0px 0px 0px;
	background:url(../images/bg-gray.jpg) repeat top center;
	width:100%;
}
#cm .container{
	padding-bottom:70px;
	background:url(../images/cm-gaa.png) no-repeat bottom right;
}
#cm dl{
	text-align:center;
	float:left;
}
#cm dl.first{
	margin-right:45px;
	margin-bottom:30px;
}
#cm dl.second{
	margin-bottom:30px;
}
#cm dl.third{
	margin-bottom:0px;
}
#cm dl dt iframe{
	-moz-border-radius:9px;
	-webkit-border-radius:9px;
	border-radius:9px;
}
#cast{
	width:100%;
	padding:70px 0px;
	background:url(../images/bg-green.jpg) repeat top center;
}
#cast .container .row{
	display:table;
	table-layout:fixed;
	width:100%;
}
#cast .container .row dl{
	display:table-cell;
	text-align:center;
}
#cast .container .row dl dd{
	font-size:14px;
	letter-spacing:0.1px;
}
#cast .container .row dl dd a{
	color:#FFFFFF;
}
#cast .container .row dl dd a:hover{
	text-decoration:none;
}
#character{
	position:relative;
	padding:70px 0px;
	background:url(../images/bg-blue.jpg) repeat top center;
}
#character .link_official{
	width:100%;
	position:absolute;
	top:0px;
	left:0px;
	width:249px;
	height:331px;
	background:url(../images/link_official.png) no-repeat top center;
}
#character .link_official a{
	display:block;
	width:100%;
	height:100%;
	text-indent:-9999em;
}
#character .link_official:hover{
	cursor:pointer;
	background:url(../images/link_official.png) no-repeat bottom center;
}
#character .container .character-family{
	background:url(../images/character-family.png) no-repeat bottom center;
	width:990px;
	height:702px;
	position:relative;
	text-align:center;
	margin-bottom:40px;
}
#character .container .character-family p{
	display:inline-block;
	position:absolute;
	letter-spacing:-0.5px;
}
#character .container .character-family p.name{
	font-size:28px;
	font-weight:bold;
	color:#0161c4;
	line-height:1em;
}
#character .container .character-family p.name span{
	font-size:18px;
	font-weight:bold;
	color:#000;
}
#character .container .character-family p.pos-01{
	left:6%;
	top:19%;
}
#character .container .character-family p.pos-02{
	left:3%;
	top:31%;	
}
#character .container .character-family p.pos-03{
	left:76%;
	top:19%;
}
#character .container .character-family p.pos-04{
	left:70%;
	top:31%;	
}
#character .container .character-family p.pos-05{
	left:21%;
	top:85%;
}
#character .container .character-family p.pos-06{
	left:54%;
	top:82%;
	text-align:left !important;	
}




#character .container .character-others{
	background:url(../images/character-others.png) no-repeat bottom center;
	width:990px;
	height:157px;
	position:relative;
	text-align:center;
}
#character .container .character-others p{
	display:inline-block;
	position:absolute;
	letter-spacing:-0.5px;
}
#character .container .character-others p.name{
	font-size:28px;
	font-weight:bold;
	color:#0161c4;
	line-height:1em;
}
#character .container .character-others p.name span{
	font-size:18px;
	font-weight:bold;
	color:#000;
}
#character .container .character-others p.pos-01{
	left:37%;
	top:39%;
}
#character .container .character-others p.pos-02{
	left:55%;
	top:32%;
	text-align:left !important;
}

footer{
	width:100%;
}
footer .container{
	padding:60px 0px;
}
footer .container p.links{
	font-size:12px;
}
footer .container p.links a{
	color:#000000;
}
footer .container p.links a:hover{
	text-decoration:none;
}
footer small{
	width:100%;
	text-align:center;
	background:#373737;
	font-size:11px;
	color:#aaaaaa;
	display:block;
	padding:30px 0px;
}
footer figure {
	position: relative;
	z-index:0;
	margin:0px 0px 30px 0px;
}
footer figure::before {
	position: absolute;
	top: 0;
	left: -75%;
	z-index: 2;
	display: block;
	content: '';
	width: 50%;
	height: 100%;
	background: -webkit-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,.5) 100%);
	background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,.5) 100%);
	-webkit-transform: skewX(-25deg);
	transform: skewX(-25deg);
}
footer figure:hover::before {
	-webkit-animation: shine .75s;
	animation: shine .75s;
}
@-webkit-keyframes shine {
	100% {
		left: 125%;
	}
}
@keyframes shine {
	100% {
		left: 125%;
	}
}
footer .pull-right{
	position:relative;
	z-index:10;
}
footer .pull-right h3{
	font-size:15px;
	color:#d33637;
	font-weight:bold;
	margin-bottom:15px;
}
footer .pull-right .innerbox{
	font-size:14px;
}
footer .pull-right .innerbox span{
	color:#0962C3;
	display:inline-block;
	margin-right:10px;
}
footer p.notice{
	padding-top:10px;
	font-size:75%;
	clear:both;
	width:100%;
	text-align:right;
	color:#AAAAAA;
}

footer .container table{
}
footer .container table th,
footer .container table td{
	vertical-align:top;
	text-align:left;
	padding:2px 7px;
	font-size:12px;
}
footer .container table th{
	color:#0962C3;
}

footer .pull-right .innerbox {
    border: 1px solid #979797;
    height: 250px;
    overflow-y: scroll;
    padding:10px;
}