@charset "utf-8";
/* CSS INFORMATION -====================================================
File name : base.css
Description : 共通ベースラインCSS
===================================================================== */

/* =====================================================================
*    共通・大枠
* =================================================================== */
html {
	font-family: "メイリオ", "ＭＳ Ｐゴシック", "小塚ゴシック Pro R", "ヒラギノ角ゴ Pro W3", "Meiryo", "MS PGothic", "KozGoPro-Regular", "Hiragino Kaku Gothic Pro", "MS UI Gothic", Osaka, sans-serif;
	font-size: 10px;
	line-height: 1.4;
}

.wrapper {
	position: relative;
}

.inner {
	width: 100%;
	max-width: 1280px;
	margin-left: auto;
	margin-right: auto;
	position: relative;
}

img {
	width: 100%;
	height: auto;
	display: block;
}

@media screen and (max-width:699px){
	.pc {
		display: none !important;
	}
}

@media screen and (min-width:700px){
	.sp {
		display: none !important;
	}
}


/* =====================================================================
*    共通：フォント
* =================================================================== */
/* SNSアイコン */
@font-face {
  font-family: 'iconfont';
  src:  url('../fonts/iconfont.eot?1zi6zj');
  src:  url('../fonts/iconfont.eot?1zi6zj#iefix') format('embedded-opentype'),
    url('../fonts/iconfont.ttf?1zi6zj') format('truetype'),
    url('../fonts/iconfont.woff?1zi6zj') format('woff'),
    url('../fonts/iconfont.svg?1zi6zj#iconfont') format('svg');
  font-weight: normal;
  font-style: normal;
}

.if {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'iconfont' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.if-facebook:before {
  content: "\66";
  color: #fff;
}
.if-google:before {
  content: "\67";
  color: #fff;
}
.if-hatebu:before {
  content: "\68";
  color: #fff;
}
.if-instagram:before {
  content: "\69";
  color: #fff;
}
.if-line:before {
  content: "\6c";
  color: #fff;
}
.if-snow:before {
  content: "\73";
  color: #fff;
}
.if-twitter:before {
  content: "\74";
  color: #fff;
}

/* =====================================================================
*    フォント読み込み
* =================================================================== */
@font-face {
    font-family: 'PROGBOT';
    src:url('../fonts/PROGBOT.ttf.woff') format('woff'),
        url('../fonts/PROGBOT.ttf.svg#PROGBOT') format('svg'),
        url('../fonts/PROGBOT.ttf.eot'),
        url('../fonts/PROGBOT.ttf.eot?#iefix') format('embedded-opentype');
    font-weight: normal;
    font-style: normal;
}


/* =====================================================================
*    共通：メニュー
* =================================================================== */
/* 固定ヘッダー */
.chase-top_wrap {
	width: 100%;
	height: 65px;
	background-color: #FFF;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 100;
	transform: translate3d(0, 0, 0);
}

.chase-top_wrap.fixed {
	position: fixed;
}

.chase-top_wrap::before {
	content: "";
	width: 100%;
	height: 100%;
	background-color: #FFF;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10;
}

.chase-top_wrap .img_logo {
	width: 230px;
	height: auto;
	position: absolute;
	top: 5px;
	left: 0;
	padding-left: 20px;
	z-index: 100;
}

.chase-top_wrap .img_logo a {
	width: 100%;
	height: 100%;
	display: block;
}

@media screen and (min-width:700px){
	.chase-top_wrap {
		height: 190px;
		top: auto;
		bottom: 0;
	}

	.chase-top_wrap.fixed {
		height: 140px;
		position: fixed;
		top: 0;
		bottom: auto;
	}

	.chase-top_wrap::before {
		display: none;
	}
}

/* メニューボタン（SP） */
.chase-top_wrap .btn_menu,
.chase-top_wrap .btn_menu span {
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box;
}

.chase-top_wrap .btn_menu {
	width: 60px;
	height: 59px;
	background: #000;
	position: absolute;
	top: 0;
	right: 0;
	z-index: 100;
}

.chase-top_wrap .btn_menu span {
	position: absolute;
	left: 17px;
	width: 26px;
	height: 3px;
	background-color: #fff34c;
}

.chase-top_wrap .btn_menu span:nth-of-type(1) {
	top: 18px;
}

.chase-top_wrap .btn_menu span:nth-of-type(2) {
	top: 28px;
}

.chase-top_wrap .btn_menu span:nth-of-type(3) {
	top: 38px;
}

.chase-top_wrap .btn_menu.active span:nth-of-type(1) {
	-webkit-transform: translateY(20px) rotate(-45deg);
	transform: translateY(10px) rotate(-45deg);
}

.chase-top_wrap .btn_menu.active span:nth-of-type(2) {
	-webkit-transform: translateY(0) rotate(45deg);
	transform: translateY(0) rotate(45deg);
}

.chase-top_wrap .btn_menu.active span:nth-of-type(3) {
	opacity: 0;
}

/* メニュー */
#nav {
	width: 100%;
	background-color: #FFF;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	display: none;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
}

#nav ul.menu_list {
	width: 100%;
	text-align: center;
	letter-spacing: -.40em;
	padding-top: 90px;
}

#nav ul.menu_list li {
	width: 29.0625%;
	display: inline-block;
	vertical-align: top;
	margin-bottom: 4.6875%;
	margin-left: 1.09375%;
	margin-right: 1.09375%;
}

#nav ul.menu_list li a {
	width: 100%;
	height: auto;
	display: block;
	position: relative;
}

@media screen and (orientation: landscape) {
	#nav ul.menu_list {
		padding-top: 80px;
	}

	#nav ul.menu_list li {
		width: 92px;
		margin-bottom: 10px;
		margin-left: 7px;
		margin-right: 7px;
	}
}

@media screen and (min-width:700px){
	#nav {
		display: block;
	}

	#nav ul.menu_list {
		max-width: 1280px;
		margin-left: auto;
		margin-right: auto;
		padding-top: 0px;
	}

	#nav ul.menu_list li {
		width: 8.59375%;
		height: 130px;
		margin-top: 30px;
		margin-bottom: 30px;

		transition: all 0.2s ease;
	}

	#nav ul.menu_list li a {
		width: 100%;
		height: 100%;
		display: block;
	}

	#nav ul.menu_list li.news a {
		background: url(../images/common/bg_menu_news_pc.jpg) no-repeat center center;
		background-size: 100% auto;
	}

	#nav ul.menu_list li.introduction a {
		background: url(../images/common/bg_menu_introduction_pc.jpg) no-repeat center center;
		background-size: 100% auto;
	}

	#nav ul.menu_list li.story a {
		background: url(../images/common/bg_menu_story_pc.jpg) no-repeat center center;
		background-size: 100% auto;
	}

	#nav ul.menu_list li.cast-staff a {
		background: url(../images/common/bg_menu_cast-staff_pc.jpg) no-repeat center center;
		background-size: 100% auto;
	}

	#nav ul.menu_list li.chart a {
		background: url(../images/common/bg_menu_chart_pc.jpg) no-repeat center center;
		background-size: 100% auto;
	}

	#nav ul.menu_list li.music a {
		background: url(../images/common/bg_menu_music_pc.jpg) no-repeat center center;
		background-size: 100% auto;
	}

	#nav ul.menu_list li.mydo a {
		background: url(../images/common/bg_menu_mydo_pc.jpg) no-repeat center center;
		background-size: 100% auto;
	}

	#nav ul.menu_list li.orimokkori a {
		background: url(../images/common/bg_menu_orimokkori_pc.jpg) no-repeat center center;
		background-size: 100% auto;
	}

	#nav ul.menu_list li a::after {

		content: "";
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		margin: auto;
		opacity: 1;

		transition: all 0.2s ease;
	}

	#nav ul.menu_list li a:hover::after {
		opacity: 0;
	}

	#nav ul.menu_list li.news a::after {
		background: url(../images/common/btn_menu_news_pc.png) no-repeat center center;
		background-size: 100% auto;
	}

	#nav ul.menu_list li.introduction a::after {
		background: url(../images/common/btn_menu_introduction_pc.png) no-repeat center center;
		background-size: 100% auto;
	}

	#nav ul.menu_list li.story a::after {
		background: url(../images/common/btn_menu_story_pc.png) no-repeat center center;
		background-size: 100% auto;
	}

	#nav ul.menu_list li.cast-staff a::after {
		background: url(../images/common/btn_menu_cast-staff_pc.png) no-repeat center center;
		background-size: 100% auto;
	}

	#nav ul.menu_list li.chart a::after {
		background: url(../images/common/btn_menu_chart_pc.png) no-repeat center center;
		background-size: 100% auto;
	}

	#nav ul.menu_list li.music a::after {
		background: url(../images/common/btn_menu_music_pc.png) no-repeat center center;
		background-size: 100% auto;
	}

	#nav ul.menu_list li.mydo a::after {
		background: url(../images/common/btn_menu_mydo_pc.png) no-repeat center center;
		background-size: 100% auto;
	}

	#nav ul.menu_list li.orimokkori a::after {
		background: url(../images/common/btn_menu_orimokkori_pc.png) no-repeat center center;
		background-size: 100% auto;
	}

	#nav ul.menu_list li a::before {
		content: "";
		width: 100%;
		height: 100%;
		display: block;
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		margin: auto;
		opacity: 0;
		transition: opacity 1s ease;
	}

	#nav ul.menu_list li a:hover::before {
		opacity: 1;

		transition: opacity 0s ease;
	}

	#nav ul.menu_list li.news a::before {
		background: url(../images/common/btn_menu_news_pc_on.png) no-repeat center center;
		background-size: 100% auto;
	}

	#nav ul.menu_list li.introduction a::before {
		background: url(../images/common/btn_menu_introduction_pc_on.png) no-repeat center center;
		background-size: 100% auto;
	}

	#nav ul.menu_list li.story a::before {
		background: url(../images/common/btn_menu_story_pc_on.png) no-repeat center center;
		background-size: 100% auto;
	}

	#nav ul.menu_list li.cast-staff a::before {
		background: url(../images/common/btn_menu_cast-staff_pc_on.png) no-repeat center center;
		background-size: 100% auto;
	}

	#nav ul.menu_list li.chart a::before {
		background: url(../images/common/btn_menu_chart_pc_on.png) no-repeat center center;
		background-size: 100% auto;
	}

	#nav ul.menu_list li.music a::before {
		background: url(../images/common/btn_menu_music_pc_on.png) no-repeat center center;
		background-size: 100% auto;
	}

	#nav ul.menu_list li.mydo a::before {
		background: url(../images/common/btn_menu_mydo_pc_on.png) no-repeat center center;
		background-size: 100% auto;
	}

	#nav ul.menu_list li.orimokkori a::before {
		background: url(../images/common/btn_menu_orimokkori_pc_on.png) no-repeat center center;
		background-size: 100% auto;
	}

	#nav ul.menu_list li a img {
		display: none;
	}

	.fixed #nav ul.menu_list li {
		width: 6.640625%;
		height: 100px;
		margin-top: 20px;
		margin-bottom: 20px;
	}
}

/* 固定SNS */
.chase-sns_wrap {
	width: 100%;
	background-color: #fff34c;
	position: fixed;
	bottom: 0;
	left: 0;
	padding-top: 3.125%;
	padding-bottom: 3.125%;
	z-index: 10;
}

.chase-sns_wrap ul {
	width: 100%;
	text-align: center;
	letter-spacing: -.40em;
}

.chase-sns_wrap ul li {
	width: 45px;
	height: 45px;
	position: relative;
	letter-spacing: normal;
	display: inline-block;
	margin-left: 7px;
	margin-right: 7px;
}

.chase-sns_wrap ul li a {
	width: 100%;
	height: 100%;
	display: block;
	position: relative;
	text-decoration: none;
	text-align: center;
	text-indent: -999em;
	overflow: hidden;

}

.chase-sns_wrap ul li a::before {
	width: 100%;
	height: 100%;
	display: inline-block;
	line-height: 45px;
	text-indent: 0;
    box-sizing: border-box;
	position: absolute;
	top: 0;
	left: 0;
}

.chase-sns_wrap ul li a.if-twitter {
	background-color: #56a3d9;
}

.chase-sns_wrap ul li a.if-twitter::before {
	font-size: 2.4rem;
}

.chase-sns_wrap ul li a.if-facebook {
	background-color: #3b5998;
}

.chase-sns_wrap ul li a.if-facebook::before {
	font-size: 2.7rem;
}

.chase-sns_wrap ul li a.if-instagram {
	background-color: #d93175;
}

.chase-sns_wrap ul li a.if-instagram::before {
	font-size: 3.0rem;
}

.chase-sns_wrap ul li a.if-line {
	background-color: #00b900;
}

.chase-sns_wrap ul li a.if-line::before {
	font-size: 3.0rem;
}

.chase-sns_wrap ul li a.if-snow {
	background-color: #0cc8f0;
}

.chase-sns_wrap ul li a.if-snow::before {
	font-size: 3.0rem;
}

@media screen and (min-width:700px){
	.chase-sns_wrap {
		width: 100px;
		background: url(../images/common/bg_chase-sns_wrap.jpg) no-repeat center bottom #fff34c;
		background-size: 100px auto;
		top: 50px;
		bottom: auto;
		right: 0;
		left: auto;
		border-radius: 15px 0 0 15px;
		padding-top: 30px;
		padding-bottom: 170px;
		z-index: 1000;
	}

	.chase-sns_wrap ul li {
		width: 66px;
		height: 66px;
		vertical-align: top;
		margin-bottom: 20px;
	}

	.chase-sns_wrap ul li a::before {
		line-height: 66px;
	}

	.chase-sns_wrap ul li a.if-twitter::before {
		font-size: 3.3rem;
	}

	.chase-sns_wrap ul li a.if-facebook::before {
		font-size: 4.0rem;
	}

	.chase-sns_wrap ul li a.if-instagram::before {
		font-size: 4.0rem;
	}

	.chase-sns_wrap ul li a.if-line::before {
		font-size: 4.0rem;
	}

	.chase-sns_wrap ul li a.if-snow::before {
		font-size: 4.2rem;
	}

	.chase-sns_wrap ul li a.if-twitter,
	.chase-sns_wrap ul li a.if-twitter::before,
	.chase-sns_wrap ul li a.if-facebook,
	.chase-sns_wrap ul li a.if-facebook::before,
	.chase-sns_wrap ul li a.if-instagram,
	.chase-sns_wrap ul li a.if-instagram::before,
	.chase-sns_wrap ul li a.if-line,
	.chase-sns_wrap ul li a.if-line::before,
	.chase-sns_wrap ul li a.if-snow,
	.chase-sns_wrap ul li a.if-snow::before {
		transition: all 0.2s ease;
	}

	.chase-sns_wrap ul li a.if-twitter:hover,
	.chase-sns_wrap ul li a.if-facebook:hover,
	.chase-sns_wrap ul li a.if-instagram:hover,
	.chase-sns_wrap ul li a.if-line:hover,
	.chase-sns_wrap ul li a.if-snow:hover {
		background-color: #FFF;
	}

	.chase-sns_wrap ul li a.if-twitter:hover::before {
		color: #56a3d9;
	}

	.chase-sns_wrap ul li a.if-facebook:hover::before {
		color: #3b5998;
	}

	.chase-sns_wrap ul li a.if-instagram:hover::before {
		color: #d93175;
	}

	.chase-sns_wrap ul li a.if-line:hover::before {
		color: #00b900;
	}

	.chase-sns_wrap ul li a.if-snow:hover::before {
		color: #0cc8f0;
	}
}

/* =====================================================================
*    下層：ヘッダービジュアル
* =================================================================== */
.subpage #header {
	padding-top: 65px;
	position: relative;
	z-index: 10;
}

@media screen and (min-width:700px){
	.subpage #header {
		height: auto;
		padding-top: 0;
		padding-bottom: 190px;
	}

	.subpage #header .subpage_header-visual {
		width: 100%;
		background: linear-gradient( #cfe6eb 0%, #cfe6eb 17%, #d1e7ec 41%, #d4e8ee 67%, #daedf0 100%);
		position: relative;
		height: auto;
	}

	.subpage #header .subpage_header-visual .inner {
		width: 100%;
		max-width: 1280px;
		height: 100%;
		position: relative;
		padding-top: 10px;
		padding-bottom: 10px;
	}

	.subpage #header .subpage_header-visual .inner .img_logo {
		width: 410px;
		margin-left: auto;
		margin-right: auto;
	}

	.subpage #header .subpage_header-visual .inner .img_onair {
		width: 233px;
		height: 100%;
		overflow: hidden;
		position: absolute;
		top: 7px;
		right: 50%;
		margin-right: 205px;
	}
}


/* =====================================================================
*    下層ベース：上部ソーシャルリンク枠
* =================================================================== */
.subpage .sns {
    width: 100%;
	background: url(../images/common/bg_sns.jpg) repeat center top;
	background-size: 10px 10px;
	position: relative;
	z-index: 1;
    padding-top: 3.125%;
    padding-bottom: 3.125%;
}

.subpage .sns ul {
    letter-spacing: -.40em;
    text-align: center;
}

.subpage .sns ul li {
    display: inline-block;
    vertical-align: top;
    padding-right: 3.125%;
}

@media screen and (min-width:700px){
    .subpage .sns {
		max-width: 1020px;
		background: none;
        position: absolute;
        top: 0;
		left: 0;
		right: 0;
		z-index: 10;
        padding-top: 0px;
		padding-bottom: 0;
		margin-left: auto;
		margin-right: auto;
    }

    .subpage .sns ul {
        text-align: right;
        padding-top: 10px;
    }

    .subpage .sns ul li {
        padding-right: 10px;
    }
}


/* =====================================================================
*    下層：メイン要素
* =================================================================== */
.subpage #main {
	background-color: #83d1e6;
	display: block;
	position: relative;
	padding-top: 15.625%;
	padding-bottom: 10.9375%;
}

.subpage #main:before {
	content: "";
	width: 100%;
	height: 0;
	padding-top: 100.625%;
	display: block;
	background: url(../images/common/bg_main_sp.jpg) no-repeat center top;
	background-size: auto 100%;
	position: absolute;
	top: 0;
	left: 0;
	margin-top: 32.8125%;
	z-index: 1;
}

.subpage #main > * {
	position: relative;
	z-index: 2;
}

.subpage #main .inner {
	width: 87.5%;
	position: relative;
	background-color: #FFF;
	border-radius: 10px;
	box-sizing: border-box;
	margin-left: auto;
	margin-right: auto;
	box-shadow: rgba(26, 144, 191, 0.25) 0 0 10px;
}

.subpage #main .inner > * {
	position: relative;
	z-index: 10;
}

.subpage #main .inner::after {
	content: "";
	width: 100%;
	height: 100%;
	display: block;
	background-color: transparent;
	border-radius: 10px;
	position: absolute;
	top: 0;
	left: 0;
	box-shadow: rgba(26, 144, 191, 0.2) 0 15px 15px;
	z-index: 1;
}

.subpage #main .gray_line {
	width: 100%;
	height: 0;
	padding-top: 43.4375%;
	background-color: #f0f0eb;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 1;
}

.subpage #main .gray_line::before {
	content: "";
	width: 15.625%;
	height: 100%;
	background: url(../images/common/bg_gray_line_left.jpg) repeat center top;
	background-size: 40px 40px;
	position: absolute;
	top: 0;
	left: 0;
}

.subpage #main .gray_line::after {
	content: "";
	width: 15.625%;
	height: 100%;
	background: url(../images/common/bg_gray_line_right.jpg) repeat center top;
	background-size: 28px 28px;
	position: absolute;
	top: 0;
	right: 0;
}

/* 共通タイトル */
.subpage #main > h1,
#cast-staff #main h1 {
	width: 100%;
	height: 27px;
	position: relative;
	font-family: 'PROGBOT';
	font-size: 3.5rem;
	line-height: 1em;
	text-align: center;
	padding-bottom: 15px;
	margin-bottom: 10.9375%;
}

.subpage #main > h1::after,
#cast-staff #main h1::after {
	content: "";
	width: 93.75%;
	max-width: 300px;
	height: 4px;
	display: block;
	background: linear-gradient(to right, rgba(255, 243, 76, 0) 0%, rgba(255, 243, 76, 1) 50%, rgba(255, 243, 76, 0) 100%);
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	margin-left: auto;
	margin-right: auto;
}

/* 共通ボタン */
.btn {
	text-align: center;
}

.btn a {
	width: auto;
	min-width: 80%;
	display: inline-block;
	font-family: 'Roboto', sans-serif !important;
	text-align: center;
	font-size: 1.6rem;
	line-height: 1.2em;
	letter-spacing: 0.075em;
	color: #FFF;
	text-decoration: none;
	background-color: #000;
	border-radius: 100px;
	box-sizing: border-box;
	box-shadow: rgba(0, 0, 0, 0.15) 0 7px 7px;
	padding: 4.1667% 1em;
}

.btn a:hover {
	background-color: #e4448a;
}


@media screen and (min-width:700px){
	.subpage #main {
		padding-top: 100px;
		padding-bottom: 70px;
	}

	.subpage #main:before {
		padding-top: 660px;
		background: url(../images/common/bg_main_pc.jpg) no-repeat center top;
		background-size: auto 100%;
		margin-top: 130px;
	}

	.subpage #main .inner {
		width: 79.6875%;
		max-width: 1020px;
		border-radius: 15px;
	}

	.subpage #main .gray_line {
		padding-top: 300px;
	}

	/* 共通タイトル */
	.subpage #main > h1,
	#cast-staff #main h1 {
		height: 35px;
		font-size: 4.4rem;
		line-height: 1em;
		margin-bottom: 50px;
	}

	.subpage #main > h1::after,
	#cast-staff #main h1::after {
		width: 23.4375%;
		max-width: 300px;
	}

	/* 共通ボタン */
	.btn {
	}

	.btn a {
		min-width: 280px;
		padding-top: 20px;
		padding-bottom: 20px;
		font-size: 1.6rem;
	}
}


/* =====================================================================
*    共通：PAGETOPボタン
* =================================================================== */
#pagetop_area {
	width: 100%;
	background: url(../images/common/bg_page_top_01.jpg) repeat center top;
	background-size: 28px 1px;
	position: relative;
	padding-top: 9.375%;
}

#pagetop_area::before {
	content: "";
	width: 100%;
	height: 0;
	padding-top: 78.125%;
	background: url(../images/common/bg_page_top_02_sp.png) no-repeat center top;
	background-size: 100% auto;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	margin-top: 18.75%;
}

#pagetop_area a {
	width: 48.4375%;
	height: 0;
	padding-top: 62.5%;
	overflow: hidden;
	display: block;
	position: relative;
	z-index: 2;
	margin-left: auto;
	margin-right: auto;
}

@keyframes animation_pagetop {
	from {
		margin-top: 30%;
	}
	15% {
		margin-top: 0;
	}
	20% {
		margin-top: 0;
	}
	55% {
		margin-top: 30%;
	}
	to {
		margin-top: 30%;
	}
}

#pagetop_area a img {
	position: absolute;
	top: 0;
	left: 0;
	animation: animation_pagetop 5s ease infinite;
}

@media screen and (min-width:700px){
	#pagetop_area {
		padding-top: 60px;
	}

	#pagetop_area::before {
		padding-top: 260px;
		background: url(../images/common/bg_page_top_02_pc.png) no-repeat center top;
		background-size: auto 100%;
		right: 0;
		margin-top: 80px;
		margin-left: auto;
		margin-right: auto;
	}

	#pagetop_area a {
		width: 230px;
		padding-top: 296px;
	}

	#pagetop_area a img {
		margin-top: 30%;
		animation: none;
		transition: all 0.5s ease;
	}

	#pagetop_area a:hover img {
		margin-top: 0%;
		transition: all 0.2s ease;
	}
}


/* =====================================================================
*    共通：シェアボタン
* =================================================================== */
#sns-share_area {
	background-color: #FFF;
	position: relative;
	text-align: center;
	padding-top: 4.6875%;
}

#sns-share_area h1 {
	width: 100px;
	height: 25px;
	color: #FFF;
	font-size: 1.4rem;
	line-height: 25px;
	font-weight: bold;
	letter-spacing: 0.05em;
	border-radius: 20px;
	background-color: #e4448a;
	margin-left: auto;
	margin-right: auto;
}

#sns-share_area ul {
	text-align: center;
	letter-spacing: -.40em;
	margin-top: 4.6875%;
	padding-bottom: 9.375%;
}

#sns-share_area ul li {
	width: 45px;
	height: 45px;
	letter-spacing: normal;
	position: relative;
	display: inline-block;
	vertical-align: top;
	border-radius: 10px;
	box-shadow: rgba(0, 0, 0, 0.2) 0 8px 5px;
	margin-left: 7px;
	margin-right: 7px;
	overflow: hidden;
}

#sns-share_area ul li div {
	width: 100%;
	height: 100%;
}

#sns-share_area ul li a {
	width: 100%;
	height: 100%;
	display: block;
	position: relative;
	text-decoration: none;
	text-align: center;
	text-indent: -999em;
	background-color: #000;
	overflow: hidden;
}

#sns-share_area ul li a::before {
	width: 100%;
	height: 100%;
	color: #FFF;
	line-height: 45px;
	text-indent: 0;
    box-sizing: border-box;
	position: absolute;
	top: 0;
	left: 0;
}

#sns-share_area ul li a.if-twitter::before {
	font-size: 2.4rem;
}

#sns-share_area ul li a.if-facebook::before {
	font-size: 2.8rem;
}

#sns-share_area ul li a.if-line::before {
	font-size: 3.0rem;
}

#sns-share_area ul li a.if-hatebu::before {
	font-size: 2.8rem;
}

#sns-share_area ul li a.if-google::before {
	font-size: 3.0rem;
}

@media screen and (min-width:700px){
	#sns-share_area {
		padding-top: 50px;
	}

	#sns-share_area h1 {
		width: 130px;
		height: 30px;
		font-size: 1.6rem;
		line-height: 30px;
	}

	#sns-share_area ul {
		margin-top: 20px;
		padding-bottom: 50px;
	}

	#sns-share_area ul li {
		width: 60px;
		height: 60px;
		border-radius: 15px;
		box-shadow: rgba(0, 0, 0, 0.2) 0 15px 10px;
		margin-left: 25px;
		margin-right: 25px;
	}

	#sns-share_area ul li a {
		transition: all 0.2s ease;
	}

	#sns-share_area ul li a::before {
		line-height: 60px;
	}

	#sns-share_area ul li a.if-twitter::before {
		font-size: 3.3rem;
	}

	#sns-share_area ul li a.if-facebook::before {
		font-size: 4.0rem;
	}

	#sns-share_area ul li a.if-google::before {
		font-size: 4.1rem;
	}

	#sns-share_area ul li a.if-hatebu::before {
		font-size: 4.0rem;
	}

	#sns-share_area ul li a.if-line::before {
		font-size: 4.0rem;
	}

	#sns-share_area ul li a.if-twitter:hover {
		background-color: #56a3d9;
	}

	#sns-share_area ul li a.if-facebook:hover {
		background-color: #3b5998;
	}

	#sns-share_area ul li a.if-google:hover {
		background-color: #dd4f43;
	}

	#sns-share_area ul li a.if-hatebu:hover {
		background-color: #00a4de;
	}

	#sns-share_area ul li a.if-line:hover {
		background-color: #00b900;
	}
}


/* =====================================================================
*    共通：フッター
* =================================================================== */
#footer {
	width: 100%;
	background-color: #FFF;
    color: #000;
    text-align: center;
	position: relative;
}

#footer small {
	width: 92.1875%;
    display: block;
	background: url(../images/common/bg_footer_dotto.jpg) repeat-x left top;
	background-size: auto 5px;
	margin-left: auto;
	margin-right: auto;
	padding-top: 30px;
	padding-bottom: 30px;
}

@media screen and (min-width:700px){
	#footer small {
		width: 70.3125%;
		max-width: 900px;
		font-size: 1.4rem;
		line-height: 1.5em;
		padding-top: 50px;
		padding-bottom: 50px;
	}
}


/* =====================================================================
*    共通：brightcovePOPUP
* =================================================================== */
.bc_wrapper {
    width: 100%;
    height: 100%;
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 100000;
    display: none;
    cursor: pointer;
}

.bc_wrapper .return_box {
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
}

.bc_wrapper .bc_movie_wrap {
    width: 100%;
    max-width: 700px;
    height: auto;
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    margin: auto;
    transform: translateY(-50%);
	text-align: center;
}

.bc_wrapper .bc_movie_wrap .bc_movie {
    width: 100%;
    padding-top: 56.25%;
    position: relative;
	border-radius: 5px;
}

.bc_wrapper .bc_movie_wrap .bc_movie video {
    position: absolute;
    top: 0px;
    bottom: 0px;
    right: 0px;
    left: 0px;
}

.bc_wrapper .bc_movie_wrap .btn a {
	margin-top: 4.3479%;
}

@media screen and (min-width:700px){
	.bc_wrapper .bc_movie_wrap .btn a {
		margin-top: 20px;
	}
}