@charset "utf-8";
/* CSS INFORMATION -====================================================
File name : base.css
Description :
===================================================================== */

/* =====================================================================
*    共通・大枠
* =================================================================== */
html {
	font-family: "メイリオ", "ＭＳ Ｐゴシック", "小塚ゴシック Pro R", "ヒラギノ角ゴ Pro W3", "Meiryo", "MS PGothic", "KozGoPro-Regular", "Hiragino Kaku Gothic Pro", "MS UI Gothic", Osaka, sans-serif;
	color: #333333;
	font-size: 10px;
	font-size: 3.125vw;
	line-height: 1.4;
}

.wrapper {
	background: #FFF;
}

.inner {
	width: 100%;
	max-width: 640px;
	margin-left: auto;
	margin-right: auto;
	position: relative;
}

img {
	width: 100%;
	height: auto;
	display: block;
}

@media screen and (min-width:640px){
	html {
		font-size: 20px;
	}
}

@media screen and (min-width:700px){
	html {
		font-size: 0.78125vw;
	}

	.inner {
		max-width: 1280px;
	}
}

@media screen and (min-width:1280px){
	html {
		font-size: 10px;
	}
}

@media screen and (max-width:699px){
	.pc {
		display: none !important;
	}
}

@media screen and (min-width:700px){
	.sp {
		display: none !important;
	}
}


/* =====================================================================
*    #header
* =================================================================== */
.header {
	position: relative;
	background: url(../images/bg_black.jpg) repeat center top;
	background-size: 20% auto;
	padding-bottom: 3.125%;
}

@media screen and (min-width:640px){
	.header {
		padding-bottom: 20px;
		background: url(../images/bg_black.jpg) repeat center top;
		background-size: 128px auto;
	}
}

@media screen and (min-width:700px){
	.header {
		padding-bottom: 0;
	}
}

/* .subpage .header
---------------------------------------------------------- */
.subpage .header .site_ttl {
	position: relative;
	background: url(../images/bg_subpage_header_sp.jpg) no-repeat center top;
	background-size: 109.375% auto;
	padding-bottom: 0.9375%;
}

.subpage .header .site_ttl a {
	width: 100%;
	display: block;
	box-sizing: border-box;
	padding-left: 2.25%;
	padding-right: 22.5%;
}

.subpage .header .site_ttl::after {
	content: "";
	width: 100%;
	height: 0;
	padding-top: 0.9375%;
	display: block;
	background: url(../images/bg_line.jpg) repeat-x center top;
	background-size: 56.25% auto;
	position: absolute;
	bottom: 0;
}

@media screen and (min-width:640px){
	.subpage .header .site_ttl {
		background: url(../images/bg_subpage_header_sp.jpg) no-repeat center top;
		background-size: 700px auto;
		padding-bottom: 6px;
	}

	.subpage .header .site_ttl a {
		width: 640px;
		/* padding-left: 40px; */
		padding-right: 20%;
		margin: auto;
	}

	.subpage .header .site_ttl::after {
		padding-top: 6px;
		background: url(../images/bg_line.jpg) repeat-x center top;
		background-size: 360px auto;
	}
}

@media screen and (min-width:700px){
	.subpage .header .site_ttl {
		background: url(../images/bg_subpage_header_pc.jpg) no-repeat center top;
		background-size: 156.25% auto;
		padding-bottom: 2.34375%;
	}

	.subpage .header .site_ttl a {
		width: 14.0625%;
		position: absolute;
		top: 0;
		left: 50%;
		z-index: 1000;
		padding-left: 0;
		padding-right: 0;
		margin-top: 3.125%;
		margin-left: -46.09375%;
	}

	.subpage .header .site_ttl a::before {
		content: "";
		width: 100%;
		height: 0;
		padding-top: 55.5556%;
		display: block;
		background: url(../images/img_subpage_h1_pc.png) no-repeat center top;
		background-size: 100% auto;
	}

	.subpage .header .site_ttl a img {
		display: none;
	}
}

@media screen and (min-width:1280px){
	.subpage .header .site_ttl {
		background: url(../images/bg_subpage_header_pc.jpg) repeat-x center top;
		background-size: 2000px auto;
		padding-bottom: 30px;
	}

	.subpage .header .site_ttl a {
		width: 180px;
		position: absolute;
		top: 0;
		z-index: 1000;
		margin-top: 40px;
		margin-left: -590px;
	}

	.subpage .header .site_ttl a:hover {
		opacity: 0.5;
	}
}


/* .chase-top_wrap
---------------------------------------------------------- */
.chase-top_wrap {
	width: 100%;
	height: 0;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 100;
	transform: translate3d(0, 0, 0);
}

.chase-top_wrap.fixed {
	position: fixed;
}

@media screen and (min-width:700px){
	.chase-top_wrap {
		top: auto;
		bottom: 0;
	}

	.chase-top_wrap.fixed {
		position: fixed;
		top: 0;
		bottom: auto;
	}
}

/* .btn_menu */
.chase-top_wrap .btn_menu {
	width: 20.3125%;
	box-shadow: rgba(0, 0, 0, 0.3) 5px 5px 8px;
	position: absolute;
	top: 0;
	right: 0;
	z-index: 1000;
}

.chase-top_wrap .btn_menu a {
	width: 100%;
	display: block;
}

.chase-top_wrap .btn_menu a::after {
	content: "";
	width: 100%;
	height: 100%;
	display: block;
	background: url(../images/btn_menu_close.jpg) no-repeat center top;
	background-size: 100% auto;
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
	transition: all 0.1s ease;
}

.chase-top_wrap .btn_menu.active a::after {
	opacity: 1;
}

@media screen and (min-width:640px){
	.chase-top_wrap .btn_menu {
		width: 130px;
	}
}

@media screen and (min-width:700px){
	.chase-top_wrap .btn_menu {
		display: none;
	}
}

/* .nav */
.chase-top_wrap .nav {
	position: relative;
	display: none;
	background: url(../images/bg_black.jpg) repeat center top;
	background-size: 20% auto;
	padding-bottom: 10.9375%;
}

.chase-top_wrap .nav::before {
	content: "";
	width: 100%;
	height: 0;
	padding-top: 10.9375%;
	display: block;
	background: url(../images/bg_line.jpg) repeat-x center top;
	background-size: 56.25% auto;
	position: absolute;
	bottom: 0;
	left: 0;
}

.chase-top_wrap .nav::after{
	content: "";
	width: 100%;
	height: 0;
	padding-top: 9.375%;
	display: block;
	background: url(../images/bg_red.jpg) repeat center top;
	background-size: 20% auto;
	position: absolute;
	bottom: 0;
	left: 0;
}

.chase-top_wrap .nav .menu_list {
	width: 100%;
	max-width: 640px;
	position: relative;
	padding-top: 59.375%;
	margin: auto;
}

.chase-top_wrap .nav .menu_list::before {
	content: "";
	width: 31.25%;
	height: 0;
	padding-top: 45.3125%;
	display: block;
	background: url(../images/img_menu_01.png) no-repeat center top;
	background-size: 100% auto;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	margin: 4.6875% auto auto;
}

.chase-top_wrap .nav .menu_list li {
	width: 56.25%;
	position: relative;
	padding-bottom: 6.875%;
	margin: auto;
}

.chase-top_wrap .nav .menu_list li:not(:last-child)::after {
	content: "";
	width: 6.1112%;
	height: 0;
	padding-top: 12.2223%;
	display: block;
	background: url(../images/img_menu_02.png) no-repeat center center;
	background-size: 100% auto;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
}

.chase-top_wrap .nav .menu_list li a {
	display: block;
}

@media screen and (min-width:640px){
	.chase-top_wrap .nav {
		background: url(../images/bg_black.jpg) repeat center top;
		background-size: 128px auto;
		padding-bottom: 70px;
	}

	.chase-top_wrap .nav::before {
		padding-top: 70px;
		background: url(../images/bg_line.jpg) repeat-x center top;
		background-size: 360px auto;
	}

	.chase-top_wrap .nav::after{
		padding-top: 60px;
		background: url(../images/bg_red.jpg) repeat center top;
		background-size: 128px auto;
	}
}

@media screen and (min-width:700px){
	.chase-top_wrap .nav {
		display: block;
		background: url(../images/bg_black.jpg) repeat center top;
		background-size: 10% auto;
		padding-bottom: 0;
	}

	.chase-top_wrap .nav::before {
		display: none;
	}

	.chase-top_wrap .nav::after{
		display: none;
	}

	.chase-top_wrap .nav .menu_list {
		width: 100%;
		max-width: 1280px;
		text-align: center;
		padding-top: 0;
		margin: auto;
	}

	.chase-top_wrap .nav .menu_list::before {
		display: none;
	}

	.chase-top_wrap .nav .menu_list li {
		display: inline-block;
		letter-spacing: -.40em;
		position: relative;
		box-sizing: border-box;
		padding-bottom: 0;
		margin: auto 0.78125%;
	}

	.chase-top_wrap .nav .menu_list li a {
		width: 100%;
		display: block;
	}

	.chase-top_wrap .nav .menu_list li a::before {
		content: "";
		width: 100%;
		height: 0;
		display: block;
	}

	.chase-top_wrap .nav .menu_list li a::after {
		content: "";
		width: 100%;
		height: 0;
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		opacity: 0;
		transition: opacity 0.1s ease;
	}

	.chase-top_wrap .nav .menu_list li a:hover::after {
		opacity: 1;
	}

	.chase-top_wrap .nav .menu_list li:not(:last-child)::after {
		height: 100%;
		padding-top: 0;
		left: auto;
	}

	.chase-top_wrap .nav .menu_list li.menu_introduction {
		width: 21.875%;
	}

	.chase-top_wrap .nav .menu_list li.menu_introduction a::before {
		padding-top: 42.8572%;
		background: url(../images/btn_menu_introduction_off.png) no-repeat center center;
		background-size: 85.7143% auto;
	}

	.chase-top_wrap .nav .menu_list li.menu_introduction a::after {
		padding-top: 42.8572%;
		background: url(../images/btn_menu_introduction_on.png) no-repeat center center;
		background-size: 85.7143% auto;
	}

	.chase-top_wrap .nav .menu_list li.menu_introduction::after {
		width: 6.4286%;
		right: -6.4286%;
	}

	.chase-top_wrap .nav .menu_list li.menu_cast {
		width: 11.71875%;
	}

	.chase-top_wrap .nav .menu_list li.menu_cast a::before {
		padding-top: 80%;
		background: url(../images/btn_menu_cast_off.png) no-repeat center center;
		background-size: 73.3334% auto;
	}

	.chase-top_wrap .nav .menu_list li.menu_cast a::after {
		padding-top: 80%;
		background: url(../images/btn_menu_cast_on.png) no-repeat center center;
		background-size: 73.3334% auto;
	}

	.chase-top_wrap .nav .menu_list li.menu_cast::after {
		width: 12%;
		right: -12%;
	}

	.chase-top_wrap .nav .menu_list li.menu_staff {
		width: 12.5%;
	}

	.chase-top_wrap .nav .menu_list li.menu_staff a::before {
		padding-top: 75%;
		background: url(../images/btn_menu_staff_off.png) no-repeat center center;
		background-size: 75% auto;
	}

	.chase-top_wrap .nav .menu_list li.menu_staff a::after {
		padding-top: 75%;
		background: url(../images/btn_menu_staff_on.png) no-repeat center center;
		background-size: 75% auto;
	}

	.chase-top_wrap .nav .menu_list li.menu_staff::after {
		width: 11.25%;
		right: -11.25%;
	}

	.chase-top_wrap .nav .menu_list li.menu_music {
		width: 11.71875%;
	}

	.chase-top_wrap .nav .menu_list li.menu_music a::before {
		padding-top: 80%;
		background: url(../images/btn_menu_music_off.png) no-repeat center center;
		background-size: 73.3334% auto;
	}

	.chase-top_wrap .nav .menu_list li.menu_music a::after {
		padding-top: 80%;
		background: url(../images/btn_menu_music_on.png) no-repeat center center;
		background-size: 73.3334% auto;
	}

	.chase-top_wrap .nav .menu_list li.menu_music::after {
		width: 12%;
		right: -12%;
	}

	.chase-top_wrap .nav .menu_list li.menu_special {
		width: 14.84375%;
	}

	.chase-top_wrap .nav .menu_list li.menu_special a::before {
		padding-top: 63.1579%;
		background: url(../images/btn_menu_special_off.png) no-repeat center center;
		background-size: 78.9474% auto;
	}

	.chase-top_wrap .nav .menu_list li.menu_special a::after {
		padding-top: 63.1579%;
		background: url(../images/btn_menu_special_on.png) no-repeat center center;
		background-size: 78.9474% auto;
	}

	.chase-top_wrap .nav .menu_list li a img {
		display: none;
	}
}

@media screen and (min-width:1280px){
	.chase-top_wrap .nav {
		background: url(../images/bg_black.jpg) repeat center top;
		background-size: 128px auto;
	}
}

/* .subpage .header .chase-top_wrap
---------------------------------------------------------- */
@media screen and (min-width:700px){
	.subpage .chase-top_wrap .nav .menu_list::before {
		content: "";
		width: 19.53125%;
		height: 0;
		padding-top: 7.8125%;
		display: inline-block;
		background: none;
		position: relative;
		margin: auto;
	}
}


/* =====================================================================
*    #main
* =================================================================== */
.main {
	display: block;
	position: relative;
}

@media screen and (min-width:700px){
	.main {
		padding-top: 9.375%;
	}
}

@media screen and (min-width:1280px){
	.main {
		padding-top: 120px;
	}
}


/* =====================================================================
*    #pagetop
* =================================================================== */
.pagetop {
}

.pagetop a {
	width: 20.3125%;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	z-index: 10;
	margin: 10.9375% auto auto;
}

.pagetop a::after {
	content: "";
	width: 23.077%;
	height: 0;
	padding-top: 1.5385%;
	display: block;
	background-color: #e7e7e7;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	margin: auto;
}


@media screen and (min-width:700px){
	.pagetop a {
		width: 10.15625%;
		margin: 4.6875% auto auto;
	}

	.pagetop a img {
		position: relative;
	}

	.pagetop a:hover img {
		margin-top: -7.6924%;
	}
}


/* =====================================================================
*    #footer
* =================================================================== */
.footer {
	width: 100%;
	text-align:center;
	color: #fff;
	background: url(../images/bg_black.jpg) repeat center top;
	background-size: 20% auto;
	position: relative;
	padding-top: 34.375%;
	padding-bottom: 4.6875%;
}

.footer::before {
	content: "";
	width: 100%;
	height: 0;
	padding-top: 4.6875%;
	display: block;
	background: url(../images/bg_red.jpg) repeat center top;
	background-size: 20% auto;
	position: absolute;
	top: 0;
}

.footer::after {
	content: "";
	width: 100%;
	height: 0;
	padding-top: 3.125%;
	display: block;
	background: url(../images/bg_line.jpg) repeat-x center top;
	background-size: 56.25% auto;
	position: absolute;
	top: 0;
}

@media screen and (min-width:640px){
	.footer {
		background: url(../images/bg_black.jpg) repeat center top;
		background-size: 128px auto;
		padding-top: 220px;
		padding-bottom: 30px;
	}

	.footer::before {
		padding-top: 30px;
		background: url(../images/bg_red.jpg) repeat center top;
		background-size: 128px auto;
	}

	.footer::after {
		padding-top: 20px;
		background: url(../images/bg_line.jpg) repeat-x center top;
		background-size: 360px auto;
	}
}

@media screen and (min-width:700px){
	.footer {
		font-size: 1.4rem;
		line-height: 1.4286em;
		background: url(../images/bg_black.jpg) repeat center top;
		background-size: 10% auto;
		padding-top: 14.84375%;
		padding-bottom: 2.34375%;
	}

	.footer::before {
		padding-top: 2.34375%;
		background: url(../images/bg_red.jpg) repeat center top;
		background-size: 10% auto;
	}

	.footer::after {
		padding-top: 1.5625%;
		background: url(../images/bg_line.jpg) repeat-x center top;
		background-size: 28.125% auto;
	}
}

@media screen and (min-width:1280px){
	.footer {
		background: url(../images/bg_black.jpg) repeat center top;
		background-size: 128px auto;
		padding-top: 190px;
		padding-bottom: 30px;
	}

	.footer::before {
		padding-top: 30px;
		background: url(../images/bg_red.jpg) repeat center top;
		background-size: 128px auto;
	}

	.footer::after {
		padding-top: 20px;
		background: url(../images/bg_line.jpg) repeat-x center top;
		background-size: 360px auto;
	}
}
