@charset "UTF-8";
/*----------------------------------------------------------------------------------------------------
	全ページ共通スタイル
----------------------------------------------------------------------------------------------------*/

/* 要素設定*/
body{
	background:#FFF;
	font-family:"メイリオ", Meiryo,"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro",  Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	color:#333;
	font-size:13px;
	line-height:1.75;
	overflow-x: hidden;
}

a{
	color:#143FB6;
	text-decoration:underline;
}

.ltIE7 a{
	color:#333;	
}

a:hover{
	text-decoration:none;
}

a img{
	transition:opacity 0.3s;
	-webkit-transition:opacity 0.3s;
}

a:hover img{
    opacity: 0.7;
}

#dream-image a:hover img {
    opacity: 1.0;
}

a[href^="tel"]{
	text-decoration:none;
	color:inherit;
	cursor:default;	
}

.hidden{
	visibility:hidden;
}

.none{
	display:none;	
}

.ie-block{
	display:none;
	width:100%;
	height:100%;	
}

.left-col{
	float:left;	
}

.right-col{
	float:right;
}	


/* ヘッダー */

#header{
	border-top:7px solid #EE8500;
	border-bottom:1px solid #D5D5D5;
	position: relative;
	z-index: 2;
	background: none;
	font-size: inherit;
	padding-bottom: 0;
}

#header .inner.main{
	position:relative;
	z-index:1;
	width: 1040px;
	margin:0 auto;
}

#logo{
	position:absolute;
	z-index:1;
	left: 0px;
	top:50%;
	margin-top:-33px;
	width:297px;
}

#logo img{
	width:100%;
	height:auto;	
}

#header.fixed-top{
	position:fixed;
	z-index:10;
	top:0;
	left:0;
	width:100%;
	background:#fff;	
}

#header.fixed-top #logo{
	width:297px;
	left:0px;
	margin-top:-33px;
}

#btn-sp-menu{
	display:none;	
}

#header .overwrap{
	display:none;	
}

/* グローバルナビ */

#gnav{
	padding: 0 0 0 300px;
}

#gnav a img{
	width:auto;
	height:24px;	
	display: block;
}

#gnav ul{
}

#gnav li{
	float:left;
}

#gnav a{
    display: block;
    padding: 60px 15px 50px;
	border-bottom:3px solid #fff;
	-webkit-transition:border-color 0.3s;
	transition:border-color 0.3s;
}

.about #gnav li.about a,
.event #gnav li.event a,
.contact #gnav li.contact a,
#gnav a.current,
#gnav a:hover{
	border-color:#FF5C00;	
}

#header.fixed-top #gnav a{
	padding-top:35px;
	padding-bottom:25px;	
}

/* サブナビゲーション */
#sub-nav{
	position:absolute;
	z-index:3;
	width:100%;
	display:none;
	/*opacity:0;*/
	border-top:1px solid #D5D5D5;
	border-bottom:1px solid #D5D5D5;
	background:#fff;
	overflow:hidden;
	-webkit-transition:height 0.5s;
	transition:height 0.5s;
}

#sub-nav .inner{
	position:relative;
	z-index:1;
	width:990px;
	margin:0 auto;
	padding: 26px 0 12px;
}

#sub-nav .close{
	display:block;
	position:absolute;
	z-index:3;
	right:0px;
	top:11px;	
}

#sub-nav .box{
	/*display:none;*/
	width:100%;
	position:absolute;
	z-index:1;
	opacity:0;
	-webkit-transition:opacity 0.5s;
	transition:opacity 0.5s;
}

.ltIE8 #sub-nav .box{
	visibility:hidden;	
}

#sub-nav .box.show{
	/*display:block;*/
	position:relative;
	z-index:2;
	opacity:1;
}

.ltIE8 #sub-nav .box.show{
	visibility:visible;	
}

#sub-nav h3 {
	padding:0 0 0 2px;	
	margin:0 0 20px;
}

#sub-nav h3 img{
	width:auto;
	height:21px;
}

#sub-nav li{
	float:left;
	margin:0 30px 20px 0;	
}

#sub-nav li.right-side{
	margin:0 0 0 370px;
}

#sub-nav li strong{
	margin:5px 0 0;
	display:block;
	text-align:center;
	padding:0px;	
	line-height:1.2;
}

.ltIE8 #sub-nav li strong{
	text-align:center;
}

#sub-nav a{
	text-decoration:none;
	color:#535353;	
}

/* フッター */

#footer{
	border-top:1px solid #D5D5D5;
	padding:42px 0 0;
}

#footer .inner{
	width:990px;
	margin:0 auto;
}

nav.footer{
	float:left;	
}

nav.footer.about{
	margin:0 20px 0 0;	
}

nav.footer.about2{
	margin:32px 30px 0 0;	
}

nav.footer.station{
	margin:0 30px 0 0;	
}

/*nav.footer.grace{
	margin:0 44px 0 0;	
}*/

/*nav.footer.mc{
	margin:0 29px 0 0;	
}*/

nav.footer.sponsor{
	margin:18px 21px 0 20px;
	float:none;
}

nav.footer.contact{
	margin:0 20px 0;
	float:none;
		
}
nav.footer.company{
	margin:0 20px 0;
	color:#444;
	font-size:12px;
	padding:0 0 0 12px;
}


#footer .box-enjoy{
	float:left;	
	margin:0 13px 0 0;
}

nav.footer h3{
	/*background:url(../img/icn-link-circle_x2.png) 0 45% no-repeat;*/
	color:#EE8500;
	background-size:13px 13px;
	margin:0 0 10px;
	padding:0 0 0 0px;	
}

.ltIE8 nav.footer h3{
	background-image:url(../img/icn-link-circle.png);
}

nav.footer h3 a{
	color:inherit;	
}

nav.footer li a{
	text-decoration:none;
	display:block;
	color:#444;
	font-size:12px;
	padding:0 0 0 12px;
	line-height:2.3;
	background:url(../img/bg-triangle-gray_x2.png) 2px 45% no-repeat;
	background-size:5px 5px;	
}

.ltIE8 nav.footer li a{
	background-image:url(../img/bg-triangle-gray.png);
}

/*a.coming-soon{
	color:#999 !important;
	cursor:default;
}

nav.footer a.coming-soon:hover{
	text-decoration:none;	
}*/

nav.footer li a:hover{
	text-decoration:underline;	
}



#footer .info{
	margin:61px 0 0;
	padding:20px 0;
	background:#EE8500;	
	color:#fff;
	font-size:12px;
	text-align:center;
	position:relative;
	z-index:1;
}

#pagetop{
	position:absolute;
	z-index:1;
	right:2%;
	top:-20px;
}

#pagetop .dog{
	position:absolute;
	z-index:1;
	left:50%;;
	top:-38px;
	width:75px;
	margin-left:-38px;
}

#pagetop a:hover .dog{
	animation:moveDog 0.3s ease-in-out infinite;
	-webkit-animation:moveDog 0.3s ease-in-out infinite;
}

@-webkit-keyframes moveDog{
	from{
		top:-38px;
	}
	50%{
		top:-50px;
	}
	to{
		top:-38px;
	}
}

@keyframes moveDog{
	from{
		top:-38px;
	}
	50%{
		top:-50px;
	}	
	to{
		top:-38px;
	}
}

#footer .info dl{
	display:inline-block;	
}

.ltIE7 #footer .info dl{
	display:inline;	
}

#footer .info dd,
#footer .info dt{
	margin:0 1em 0 0;
	display:inline-block;
}

.ltIE7 #footer .info dd,
.ltIE7 #footer .info dt{
	margin:0 1em 0 0;
	display:inline;
}

#footer dl a{
	color:#fff;
}	

#footer p.copyright{
	margin:0 0 0 1.5em;
	display:inline-block;	
}

/* Responsive Setting */
.all-device-block,
.sp-block,
.portrait-block,
.landscape-block,
.tablet-block{
	display:none;	
}

.all-device-inline,
.sp-inline,
.portrait-inline,
.landscape-inline,
.tablet-inline{
	display:none;	
}

/* All SP & Tablet */
@media screen and (max-width:1039px){
	.all-device-none{
		display:none;	
	}
	
	.all-device-block{
		display:block;	
	}
	
	.all-device-inline{
		display:inline;	
	}
	
	img{
		max-width:100%;
		height:auto;
	}	
	
	#wrapper{
		padding-top:0 !important;	
	}
	
	/* ヘッダー */
	#header{
		border-top-width:5px;
		opacity:1 !important;
	}

	#header .inner.main{
		-webkit-box-sizing:border-box;
		-moz-box-sizing:border-box;
		box-sizing:border-box;
		width:100%;
	}

	#logo{
		left:2%;
		margin-top:-27px;
		width:220px;
	}

	#header.fixed-top{
		position: relative;
	}

	#header.fixed-top #logo{
		width:220px;
		left:2%;
		margin-top:-27px;
	}

	/* グローバルナビ */
	
	#gnav{
		padding: 0 0 0 240px;
	}

	#gnav a img{
		width:auto;
		height:24px;	
		display: inline-block;
		vertical-align: middle;
	}

	#gnav li{
		width:20%;
	}


	#gnav a{
		width:100%;
		text-align:center;
		padding:10px 0;
		-webkit-box-sizing:border-box;
		-moz-box-sizing:border-box;
		box-sizing:border-box;
		border-bottom:0px solid #fff;
		-webkit-transition:none;
		transition:none;
	}

	#header.fixed-top #gnav a{
		padding:10px 0;	
	}
	
	/* サブナビゲーション */
	#sub-nav{

	}

	#sub-nav .inner{
		width:100%;
		-webkit-box-sizing:border-box;
		-moz-box-sizing:border-box;
		box-sizing:border-box;
		padding: 21px 2% 10px;
	}

	#sub-nav .close{
		right:2%;
		top:13px;
		width:24px;
	}

	#sub-nav h3 {
		padding:0;
		margin:0 0 16px;
	}

	#sub-nav h3 img{
		width:auto;
		height:17px;
	}

	#sub-nav li{
		padding:0 2px;
		margin:0 0 10px 0;	
		width:20%;
		-webkit-box-sizing:border-box;
		-moz-box-sizing:border-box;
		box-sizing:border-box;
	}
	
	#sub-nav li.right-side{
		margin:0;
		float:right;
	}


	#sub-nav li strong{
		margin:3px 0 0;
		background-size:10px 10px;
		padding:0 0 0 12px;
		font-size:11px;	
	}

	#sub-nav .box{
		width: 96%;
		left: 2%;
		-webkit-transition:none;
		transition:none;
	}
	
	#sub-nav .box.show{
		width:100%;
		left:0;	
	}

	/* フッター */
	
	#footer{
		padding:4.2% 0 0;
	}

	#footer .inner{
		-webkit-box-sizing:border-box;
		-moz-box-sizing:border-box;
		box-sizing:border-box;
		width:100%;
		padding:0 2%;
	}

	nav.footer,
	nav.footer.about,
	nav.footer.station,
	/*nav.footer.mc,
	nav.footer.illust,*/
	nav.footer.contact,
	#footer .box-company{
		float:none;	
		margin:0;
	}

	/*nav.footer.grace{
		margin:0 0 18px
	}*/

	nav.footer h3{
		line-height:1;
		background-size:10px 10px;
		margin:0 0 3px;
		padding:0 0 0 14px;	
	}

	nav.footer ul{
		padding:0 0 0 17px;
		margin:0 0 18px;	
	}

	nav.footer li{
		display:inline-block;
		margin:0 1em 0 0;
	}

	nav.footer li a{
		font-size:12px;
		line-height:1.35;
	}
	
	#footer .info{
		margin:5.1% 0 0;
		padding:2% 70px;
		font-size:10px;
	}

	#pagetop .dog{
		width:60px;
		max-width:none;
		margin-left:-30px;
		top:-30px;
	}

	@-webkit-keyframes moveDog{
		from{
			top:-30px;
		}
		50%{
			top:-44px;
		}
		to{
			top:-30px;
		}
	}

	@keyframes moveDog{
		from{
			top:-30px;
		}
		50%{
			top:-44px;
		}	
		to{
			top:-30px;
		}
	}

}

/* All SP */
@media screen and (max-width:639px){
	.sp-none{
		display:none;	
	}
	
	.sp-block{
		display:block;	
	}
	
	.sp-inline{
		display:inline;
	}
	
	
	/* ヘッダー */
	#header{
		border-top-width:3px;
		opacity:1 !important;
	}

	#header .inner.main{
		height:73px;	
	}

	#btn-sp-menu{
		display:block;
	}
	
	#btn-sp-menu a{
		font-weight:bold;
		color:#333;
		text-decoration:none;
		height:73px;
		width:70px;
		border-left:1px solid #ddd;
		display:block;	
		float:right;
		text-align:center;
		font-size:10px;
		background: -moz-linear-gradient(top, #ffffff 42%, #ededed 100%);
		background: -webkit-gradient(linear, left top, left bottom, color-stop(42%,#ffffff), color-stop(100%,#ededed));
		background: -webkit-linear-gradient(top, #ffffff 42%,#ededed 100%);
		background: -o-linear-gradient(top, #ffffff 42%,#ededed 100%);
		background: -ms-linear-gradient(top, #ffffff 42%,#ededed 100%);
		background: linear-gradient(to bottom, #ffffff 42%,#ededed 100%);
		-webkit-box-sizing:border-box;
		-moz-box-sizing:border-box;
		box-sizing:border-box;
		padding:20px 0 0;
	}
	
	#btn-sp-menu a:hover{
		background: -moz-linear-gradient(top, #ededed 0%, #ffffff 58%);
		background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ededed), color-stop(58%,#ffffff));
		background: -webkit-linear-gradient(top, #ededed 0%,#ffffff 58%);
		background: -o-linear-gradient(top, #ededed 0%,#ffffff 58%);
		background: -ms-linear-gradient(top, #ededed 0%,#ffffff 58%);
		background: linear-gradient(to bottom, #ededed 0%,#ffffff 58%);	
	}
	
	#btn-sp-menu a .icon{
		background:url(../img/icn-menu_x2.png) center top no-repeat;
		background-size:24px 19px;
		padding:23px 0 0;
		display:block;	
	}
	
	#header.fixed-top #logo,
	#logo{
		margin-top: -25px;
		width:200px;
	}

	/* グローバルナビ */
	
	#gnav{
		position:absolute;
		z-index:1;
		top: 73px;
		width:100%;
		padding:0;
		display:none;
		-webkit-box-shadow:0 5px 5px rgba(0,0,0,0.3);
		box-shadow:0 5px 5px rgba(0,0,0,0.3);
	}
	
	#gnav.show{
		display:block;	
	}

	#gnav a img{
		height:24px;
		width:auto;
	}
	
	#gnav ul{
		border-bottom:1px solid #ddd;	
	}

	#gnav li{
		width:100%;
		float:none;
		-webkit-box-sizing:border-box;
		-moz-box-sizing:border-box;
		box-sizing:border-box;
	}
	
	#gnav li a{
		color:#333;
		text-decoration:none;
		text-align:left;
		font-size:12px;
		border-top:1px solid #ddd !important;
		background: -moz-linear-gradient(top, #ffffff 42%, #eeeeee 100%);
		background: -webkit-gradient(linear, left top, left bottom, color-stop(42%,#ffffff), color-stop(100%,#eeeeee));
		background: -webkit-linear-gradient(top, #ffffff 42%,#eeeeee 100%);
		background: -o-linear-gradient(top, #ffffff 42%,#eeeeee 100%);
		background: -ms-linear-gradient(top, #ffffff 42%,#eeeeee 100%);
		background: linear-gradient(to bottom, #ffffff 42%,#eeeeee 100%);
		position:relative;
		z-index:1;
		padding:10px 5px;
	}
	
	#gnav li a:hover{
		background: -moz-linear-gradient(top, #eeeeee 0%, #ffffff 58%);
		background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#eeeeee), color-stop(58%,#ffffff));
		background: -webkit-linear-gradient(top, #eeeeee 0%,#ffffff 58%);
		background: -o-linear-gradient(top, #eeeeee 0%,#ffffff 58%);
		background: -ms-linear-gradient(top, #eeeeee 0%,#ffffff 58%);
		background: linear-gradient(to bottom, #eeeeee 0%,#ffffff 58%);
		border-color:#ddd;	
	}
	
	#gnav li a:hover img{
		opacity:1;	
	}
	
	#gnav li a:before{
		content:"";
		display:block;
		position:absolute;
		right:8px;
		top:50%;
		z-index:1;
		width:5px;
		height:5px;
		border:2px solid #EE8500;
		margin-top:-5px;
		transform:rotate(45deg);
		-webkit-transform:rotate(45deg);
		border-bottom:none;
		border-left:none;
	}
	
	#header.fixed-top #gnav a{
		padding:10px 8px;	
	}	

	#gnav li.about,
	#gnav li.mc,
	#gnav li.illust,
	#gnav li.event{
		clear:both;
		width:50%;
		float:left;
		border-right:1px solid #ddd;
	}
	
	#gnav li.station,
	#gnav li.radio,
	#gnav li.contact{
		width:50%;
		float:right;
	}	
	
	/*#gnav li.contact{
		clear:both;	
	}*/
	
	

	#gnav .thumb{
		display:inline-block;
		width:30px;
		height:30px;
		background-position:0 0;
		background-repeat:no-repeat;
		background-size:100% 100%;
		vertical-align:middle;
		margin:0 8px 0 0;
	}

	#gnav .about .thumb{
		background-image:url(../img/thumb-about.png);
	}
	
	#gnav .station .thumb{
		background-image:url(../img/thumb-station.png);
	}
	
	#gnav .mc .thumb{
		background-image:url(../img/thumb-mc.png);
	}
	
	#gnav .radio .thumb{
		background-image:url(../img/thumb-drepradio.png);
	}
	
	#gnav .illust .thumb{
		background-image:url(../img/thumb-illust.png);
	}
	
	#gnav .event .thumb{
		background-image:url(../img/thumb-event.png);
	}
	
	#gnav .contact a{
		line-height:30px;
	}
	#gnav .contact a .icon{
		background:url(../img/icn-contact.png) 0 45% no-repeat;
		background-size:16px 16px;
		padding:0 0 0 22px;
	}	
	
	/* サブナビゲーション */
	#sub-nav.show{
		display:block !important;	
	}

	#sub-nav .inner{
		padding: 10px 2% 10px;
	}

	#sub-nav .close{
		right:2%;
		top:8px;
		width:22px;
	}

	#sub-nav h3 {
		padding:0;
		margin:0 0 16px;
	}

	#sub-nav h3 img{
		width:auto;
		height:15px;
	}

	#sub-nav li{
		padding:0 1px;
		margin:0 0 10px 0;	
		width:25%;
		-webkit-box-sizing:border-box;
		-moz-box-sizing:border-box;
		box-sizing:border-box;
	}
	
	#sub-nav li:nth-child(4n+1){
		padding-left:0;
	}
	
	#sub-nav li:nth-child(4n){
		padding-right:0;
	}
	
	#sub-nav li:nth-child(n + 5){
		margin-bottom:0;
	}

	#sub-nav li strong{
		background-size:8px 8px;
		font-size:9px;	
	}
	
	#header .overwrap{
		width:100%;
		background:rgba(255,255,255,0.8);
		height:100%;
		position:absolute;
		z-index:2;
		top:0;
		display:none;
	}
	
	#header .overwrap.show{
		display:block;
	}

	/* フッター */

	#footer{
		border:none;
		padding:0;
	}

	#footer .inner{
		display:none;
	}

	#footer .info{
		margin:7.6% 0 0;
		padding:30px 2% 10px;
		font-size:9px;
	}

	#pagetop{
		width:40px;
		top:-15px;
	}

	#pagetop .dog{
		width:50px;
		margin-left:-25px;
		top:-25px;
	}
	
	#pagetop a:hover .dog{
		animation:none;
		-webkit-animation:none;
	}
	
}

/* Portrait */
@media screen and (max-width:479px){
	.portrait-none{
		display:none;
	}
	
	.portrait-block{
		display:block;
	}
	
	.portrait-inline{
		display:inline;	
	}
}

/* Landscape*/
@media screen and (min-width:480px) and (max-width:639px){
	.landscape-none{
		display:block;	
	}
	
	.landscape-block{
		display:block;	
	}
	
	.landscape-inline{
		display:inline;	
	}
}

/* Tablet */
@media screen and (min-width:640px) and (max-width:1039px){
	.tablet-none{
		display:none;	
	}
	
	.tablet-block{
		display:block;	
	}
	
	.tablet-inline{
		display:inline;	
	}
}