@charset "utf-8";

#sp a img:hover {
  opacity: 0.7;
  -moz-opacity: 0.7;
  filter: alpha(opacity=70);
}

#sp a {
	-webkit-transition: opacity 0.2s ease;
	transition: opacity 0.2s ease;
}

#sp a:hover {
	opacity: 0.7;
	-moz-opacity: 0.7;
	filter: alpha(opacity=70);
}

#sp img {
	width: 100%;
	vertical-align: bottom;
	pointer-events: none;
}

#sp {
	width: 100%;
	margin: 0 auto;
}

#sp #sp_page {
	width: 100%;
	margin: 0 auto;
	background-color: #DEEBF1;
}

#sp #sp_tl {
	width: 100%;
	position: relative;
	text-align: center;
	background-color: #DEEBF1;
}

#sp #sp_tl .ttl_col {
	position: relative;
}

#sp #sp_tl .ttl_top,
#sp #sp_tl .ttl_btm {
	position: relative;
	margin: 0;
	padding: 0;
}

/* ---------- NEWS ---------- */
#sp #news {
	width: 100%;
	margin: 0;
	padding: 4.688vw 0 4.844vw 0;
	position: relative;
	z-index: 2;
	text-align: center;
	background-color: #ffffff;
}

#sp #news .news {
	width: 90.625vw;
	margin: 0 auto;
	position: relative;
	text-align: center;
}

#sp #news .tit {
	width: 15.781vw;
	margin: 0 auto;
	padding: 0 0 1.563vw 0;
}

/* 3行分表示される高さ */
#sp #news .news_col {
	width: auto;
	height: 16.406vw;
	margin: 0 auto;
	padding: 0;
	overflow-y: auto;
}

#sp #news .news_col p.news_txt {
	margin: 0;
	padding: 0;
	text-align: left;
	line-height: 5.469vw;
	font-size: 3.672vw;
	font-weight: 500;
	font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "AXIS Std", "メイリオ", "Meiryo", sans-serif;
	color: #000000;
}

/* ---------- 視聴方法バナー ---------- */
#sp #topbnr {
	width: 100%;
	margin: 0;
	padding: 6.250vw 0 0 0;
	position: relative;
}

#sp .bnr_shicho {
	width: 90.625vw;
	margin: 0 auto;
	padding: 0 0 6.250vw 0;
}

/* ---------- NAV ---------- */
#sp #nav {
	width: 100%;
	margin: 0 auto;
	padding: 0 0 6.250vw 0;
	text-align: center;
}

#sp #nav ul {
	width: 85.250vw;
	margin: 0 auto;
	padding: 0;
	position: relative;
	display: flex;
	display: -webkit-flex;
	justify-content: center;
	-webkit-justify-content: center;
}

#sp #nav ul li {
	width: 25%;
	list-style: none;
	display: inline-block;
}

#sp #nav ul li a,
#sp #bnr a,
#sp .btn a,
#sp .bnr_shicho a {
	width: 100%;
	display: block;
	cursor: pointer;
}

/* ---------- contents ---------- */
#sp .sp_contents {
	width: 100%;
	margin: 0;
	padding: 0;
	position: relative;
}

#sp .sp_contents > div[id] {
	width: 100%;
	margin: 0;
	padding: 0 0 9.375vw 0;
	position: relative;
}

/* 白カード */
#sp .sp_contents .col {
	width: 90.938vw;
	margin: 0 auto;
	padding: 6.250vw 5.000vw 5.000vw 5.000vw;
	box-sizing: border-box;
	position: relative;
	background-color: #ffffff;
}

#sp .sp_contents .tit {
	width: 60.313vw;
	margin: 0 auto 7.188vw auto;
	padding: 0;
}

#sp .sp_contents #story .tit {
	margin-bottom: 9.844vw;
}

#sp .sp_contents #cast .tit {
	margin-bottom: 4.219vw;
}

#sp .sp_contents .col .image {
	width: 100%;
	margin: 0 auto;
	padding: 0;
}

/* ---------- body text ---------- */
#sp p.txt {
	margin: 0;
	padding: 7.031vw 0 0 0;
	text-align: left;
	font-size: 3.906vw;
	font-weight: 500;
	font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "AXIS Std", "メイリオ", "Meiryo", sans-serif;
	color: #000000;
	line-height: 6.094vw;
	font-feature-settings: "palt";
	word-break: break-all;
}

/* ---------- CHECK ---------- */
#sp .sp_contents #check .check_img {
	width: 100%;
	margin: 0 auto;
	padding: 0;
}

#sp .sp_contents #check p.txt + .check_img {
	padding: 9.375vw 0 0 0;
}

/* ---------- CAST slider ---------- */
#sp .sp_contents #cast .col {
	padding-bottom: 6.000vw;
}

#sp .cast_slider {
	width: 100%;
	margin: 0 auto;
	padding: 0;
}

#sp .cast_slider:not(.slick-initialized) .cast_slider_col:not(:first-child) {
	display: none;
}

#sp .cast_slider .cast_slider_col {
	list-style: none;
}

#sp .cast_slider .cast_image {
	width: 100%;
	margin: 0 auto;
	padding: 0;
}

#sp .slide-arrow {
	width: 2.188vw;
	height: 4.375vw;
	position: absolute;
	top: 32.188vw;
	z-index: 10;
	background-color: #205583;
	cursor: pointer;
	pointer-events: auto;
}

#sp .prev-arrow {
	left: -3.281vw;
	-webkit-clip-path: polygon(100% 0, 0 50%, 100% 100%);
	clip-path: polygon(100% 0, 0 50%, 100% 100%);
}

#sp .next-arrow {
	right: -3.281vw;
	-webkit-clip-path: polygon(0 0, 100% 50%, 0 100%);
	clip-path: polygon(0 0, 100% 50%, 0 100%);
}

#sp #cast .slick-dots {
	width: 100%;
	position: relative;
	bottom: auto;
	margin: 3.906vw 0 0 0;
	padding: 0;
	display: block;
	text-align: center;
}

#sp #cast .slick-dots li {
	width: 2.188vw!important;
	height: 2.188vw!important;
	margin: 0 1.406vw;
	padding: 0;
	background: none;
	border: 1px solid #205583;
	box-sizing: border-box;
	position: relative;
	display: inline-block;
	vertical-align: middle;
	text-align: center;
}

#sp #cast .slick-dots li.slick-active {
	background: #205583;
	opacity: 1.0;
}

#sp #cast .slick-dots li button {
	width: 100%!important;
	height: 100%!important;
	padding: 0;
}

#sp #cast .slick-dots li button:before {
	display: none;
}

/* ---------- 相関図 ---------- */
#sp .sp_contents #sokanzu .col {
	width: 90.625vw;
	padding: 0;
	background: none;
}

#sp .sp_contents #sokanzu .col .image {
	width: 100%;
	margin: 0 auto;
	padding: 0;
}

/* ---------- MOV ---------- */
#sp .sp_contents #mov {
	padding: 0 0 6.094vw 0;
}

#sp .sp_contents .mov_col {
	width: 90.625vw;
	margin: 0 auto;
	padding: 0;
}

/* ---------- btn / copy ---------- */
#sp .btn_col {
	width: 90.625vw;
	margin: 0 auto;
	padding: 0;
}

#sp .btn_col .btn {
	margin: 0;
	padding: 0 0 6.563vw 0;
}

#sp .copy {
	margin: 0;
	padding: 0;
	font-size: 2.500vw;
	line-height: 1.4;
	text-align: right;
	font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "AXIS Std", "メイリオ", "Meiryo", sans-serif;
	color: #205583;
}

/* ---------- SNS ---------- */
#sp .btnArea {
	padding: 4.063vw 0 0 0;
	position: relative;
	text-align: center;
}

#sp .snsLink {
	width: 90vw;
	margin: 0 auto;
	padding: 0;
	text-align: center;
}

#sp .snsLink ul {
	width: 100%;
	margin: 0 auto;
	padding: 0;
	position: relative;
	display: flex;
	display: -webkit-flex;
	justify-content: space-between;
	-webkit-justify-content: space-between;
}

#sp .snsLink ul li {
	width: 27.188vw;
	list-style: none;
}

#sp .snsLink ul li a {
	width: 27.188vw;
	border-radius: 3px;
	display: block;
}

#sp .snsLink ul li.tw a {
	padding: 2.144vw 0;
	background-color: #000;
}

#sp .snsLink ul li.fb a {
	padding: 1.705vw 0;
	background-color: #226DB6;
}

#sp .snsLink ul li.line a {
	padding: 1.837vw 0;
	background-color: #00A75B;
}

#sp .snsLink ul li img {
	width: 6.250vw;
}

#sp .snsLink ul li.tw img {
	width: 5.3vw;
}

/* ---------- footer bnr ---------- */
#sp #bnr {
	width: 100%;
	padding: 8.125vw 0 3.125vw 0;
}

#sp #bnr .bnr_col .bnr_shicho {
	padding: 0 0 3.125vw 0;
}

/* ---------- youtube ---------- */
#sp .mov_iframe {
	width: 100%;
	padding: 0 0 56.25% 0;
	margin: 0 auto;
	display: block;
	position: relative;
}

#sp .mov_iframe iframe {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: 100% !important;
	height: 100% !important;
}

/* ============================================================
   PC
   ============================================================ */
@media screen and (min-width : 768px) {

}

@media screen and (min-width : 1024px) {

#sp #sp_page {
	background-color: #C2D5E3;
}

#sp #sp_tl {
	width: 100%;
}

#sp #sp_tl .ttl_col {
	max-width: 1200px;
	margin: 0 auto;
	position: relative;
	display: flex;
	display: -webkit-flex;
}

#sp #sp_tl .ttl_top {
	width: 50%;
	max-width: 600px;
}

#sp #sp_tl .ttl_btm {
	width: 50%;
	max-width: 600px;
}

#sp #news {
	padding: 34px 0 45px 0;
}

#sp #news .news {
	width: 900px;
}

#sp #news .tit {
	width: 101px;
	margin: 0 auto;
	padding: 0 0 24px 0;
}

#sp #news .news_col {
	width: auto;
	height: 97px;
	padding: 0;
}

#sp #news .news_col p.news_txt {
	padding: 0 20px;
	font-size: 18px;
	line-height: 32.4px;
}

#sp #topbnr {
	padding: 68px 0 0 0;
}

#sp .bnr_shicho {
	width: 580px;
	padding: 0 0 46px 0;
}

#sp #nav {
	padding: 0 0 105px 0;
}

#sp #nav ul {
	width: 900px;
}

#sp #nav ul li {
	width: 225px;
}

#sp .sp_contents > div[id] {
	padding: 0 0 100px 0;
}

#sp .sp_contents .col {
	width: 900px;
	margin: 0 auto;
	padding: 58px 50px 50px 50px;
}

#sp .sp_contents .tit {
	width: 600px;
	margin: 0 auto 50px auto;
	padding: 0;
}

#sp .sp_contents #intro .tit {
	margin-bottom: 46px;
}

#sp .sp_contents #story .tit {
	margin-bottom: 50px;
}

#sp .sp_contents #cast .tit {
	margin-bottom: 39px;
}

#sp p.txt {
	padding: 40px 0 0 0;
	font-size: 20px;
	line-height: 39px;
}

#sp .sp_contents #check p.txt + .check_img {
	padding: 40px 0 0 0;
}

#sp .sp_contents #cast .col {
	padding-bottom: 58px;
}

#sp .cast_slider {
	width: 100%;
	margin: 0 auto;
	padding: 0;
}

#sp .cast_slider .cast_image {
	width: 100%;
}

#sp .slide-arrow {
	width: 20px;
	height: 38px;
	top: 295px;
}

#sp .prev-arrow {
	left: -34px;
}

#sp .next-arrow {
	right: -34px;
}

#sp #cast .slick-dots {
	width: 100%;
	margin: 40px auto 0 auto;
}

#sp #cast .slick-dots li {
	width: 21px!important;
	height: 21px!important;
	margin: 0 14.5px;
	border: 2px solid #205583;
}

#sp .sp_contents #sokanzu .col {
	width: 900px;
}

#sp .sp_contents #mov {
	padding: 0 0 100px 0;
}

#sp .sp_contents .mov_col {
	width: 900px;
	padding: 0;
}

#sp .btn_col {
	width: 900px;
	padding: 0;
}

#sp .btn_col .btn {
	padding: 0 0 25px 0;
}

#sp .copy {
	width: 900px;
	margin: 0 auto;
	font-size: 13px;
	line-height: 17px;
	padding: 0;
}

#sp .btnArea {
	width: 100%;
	margin: 0 auto;
	padding: 49px 0 0 0;
}

#sp .snsLink {
	width: 730px;
	margin: 0 auto;
}

#sp .snsLink ul li {
	width: 230px;
}

#sp .snsLink ul li a {
	width: 230px;
	border-radius: 5px;
}

#sp .snsLink ul li.tw a {
	padding: 9px 0;
}

#sp .snsLink ul li.fb a {
	padding: 8px 0;
}

#sp .snsLink ul li.line a {
	padding: 9px 0;
}

#sp .snsLink ul li img {
	width: 30px;
}

#sp .snsLink ul li.tw img {
	width: 28px;
}

#sp .mov_iframe iframe {
	width: 100% !important;
}

#sp #bnr {
	margin: 0;
	padding: 98px 0 23px 0;
	background: none;
}

#sp #bnr .bnr_col .bnr_shicho {
	padding: 0 0 29px 0;
}

}
