/******************************************************************
Theme Name: irusun
Autor: Tokyo Art Inc
*/
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}
body {
  line-height: 1;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}
ul,
ol {
  list-style: none;
}
blockquote,
q {
  quotes: none;
}
blockquote:before,
blockquote:after,
q:before,
q:after {
  content: '';
  content: none;
}
a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}
del {
  text-decoration: line-through;
}
abbr[title],
dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}
input,
select {
  vertical-align: middle;
}
/* Global TAG styles---------------------------- */
* {
  margin: 0;
  padding: 0;
}
ul,
ol,
dl {
  list-style: none;
}
a {
  text-decoration: none;
  color: #2c2c2c;
  -moz-transition-property: all;
  -moz-transition-duration: 0.3s;
  -moz-transition-timing-function: ease-in;
  -webkit-transition-property: all;
  -webkit-transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-in;
  transition-property: all;
  transition-duration: 0.3s;
  transition-timing-function: ease-in;
}
/*
a:hover img {
  -moz-transition-property: all;
  -moz-transition-duration: 0.3s;
  -moz-transition-timing-function: ease-in;
  -webkit-transition-property: all;
  -webkit-transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-in;
  transition-property: all;
  transition-duration: 0.3s;
  transition-timing-function: ease-in;
  opacity: 0.7;
}
*/
body {
  font-size: 14px;
  line-height: 1.8;
  color: #2c2c2c;
  font-family: "M PLUS Rounded 1c", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "Lucida Grande", Osaka, Verdana, "ＭＳ Ｐゴシック", sans-serif;
  -webkit-font-smoothing: subpixel-antialiased;
}
img {
  max-width: 100%;
}

.zoom-link:hover .zoom-photo {
	transform: scale3d(1.1,1.1,1);
}
.zoom-photo {
    transition: all .2s ease-in-out;
    z-index: 1;
}
/*
.turn {
  animation:rotate-y 2s infinite;
  -webkit-animation:rotate-y 2s infinite;
}
@keyframes rotate-y {
  0%{transform:rotateY(0deg);}
  100%{transform:rotateY(360deg);}
}
@-webkit-keyframes rotate-x {
  0%{-webkit-transform:rotateY(0deg);}
  100%{-webkit-transform:rotateY(360deg);}
}
*/

.fade {
	transform: translateX(-150%);
  animation-name:fade-in;
  animation-duration:1.5s;
  animation-timing-function: ease-out;
  animation-delay:1s;
  animation-iteration-count:1;
  animation-direction:normal;
  animation-fill-mode: forwards;
}
@keyframes fade-in {
  0% {opacity: 0; transform: translate3d(0,-20px,0);}
  100% {opacity: 1; transform: translate3d(0,0,0);}
}

.flip-boards {
	position: relative;
}
.flip-boards .board
{
	transform:rotate3d(1,1,1,0deg);
  position: relative;
  cursor: pointer;
  -webkit-transform-style: preserve-3d;
  -moz-transform-style: preserve-3d;
  -ms-transform-style: preserve-3d;
  transform-style: preserve-3d;
  -webkit-transition: all 1s ease;
  -moz-transition: all 1s ease;
  -ms-transition: all 1s ease;
  transition: all 1s ease;
}

/* 「RightToLeft」の動作内容 */
@keyframes RightToLeft {
  0% {
    opacity: 0;/* 透明 */
    transform: translateX(50px);/* X軸方向に50px */
  }
  100% {
    opacity: 1;/* 不透明 */
    transform: translateX(0);
  }
}

/* 「RightToLeft」を適用する箇所 */
.slideIn02 {
  animation-duration: 2.5s;/* アニメーション時間 */
  animation-name: RightToLeft;/* アニメーション名 */
}

@keyframes slideInRight {
  from {
    opacity: 0;
    transform: translateX(150px);
  }
  
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

.slideIn01 {
  animation-name: slideInRight;
  animation-duration: 1.5s;
  animation-timing-function: ease;
}

@keyframes slideInRight {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.slideIn01 {
  animation-name: slideInRight;
  animation-duration: 1.5s;
  animation-timing-function: ease;
}



/* 共通
=================================*/
#hatena {
	color: #fff;
	background: url("../img/common/hatena_bg.png");
	background-size: 70px;
}
#hatena .space_w {
	color: #0d386b;
  position: relative;
  z-index: 50;
  padding: 150px 0 100px;
  margin-bottom: 150px;
}
#hatena .space_w::after{
  content: '';
  position: absolute;
  left:0;
  top: 0;
  transform: skewY(-10deg);
  transform-origin: center; 
  z-index: -1;
  width:100%;
  height:100%;
  background:#fff;
}
#hatena .space_w_top {
	color: #0d386b;
  position: relative;
  z-index: 50;
}
#hatena .space_w_top::after{
  content: '';
  position: absolute;
  left:0;
  top: 0;
  transform: skewY(-10deg);
  transform-origin: bottom left; 
  z-index: -1;
  width:100%;
  height:100%;
  background:#fff;
}
#hatena .wrap {
	max-width: 1000px;
	margin: 0 auto;
}
#hatena .txt_s {
	font-size: 12px;
	line-height: 1.5;
}
.news #main,.story #main,.staff_cast #main,.character #main,.staff_cast #main,.item #main,.special #main {
	padding-top: 180px;
}
.news h1,.story h1,.staff_cast h1,.character h1,.staff_cast h1,.item h1,.special h1 {
	position: relative;
	z-index: 350;
}
.news h1 img,.story h1 img,.staff_cast h1 img,.character h1 img,.staff_cast h1 img,.item h1 img,.special h1 img {
	width: 155px;
	display: block;
	position: fixed;
	top: 10px;
	left: 10px;
}
.news h2 img,.story h2 img,.staff_cast h2 img,.character h2 img,.staff_cast h2 img,.item h2 img,.special h2 img {
	width: 315px;
	display: block;
	margin: 0 auto 50px;
}
.news h3 img,.story h3 img,.staff_cast h3 img,.character h3 img,.staff_cast h3 img,.item h3 img,.special h3 img {
	width: auto;
	height: 50px;
	display: block;
	margin-bottom: 20px;
}

footer {
	color: #fff;
	font-size: 12px;
	text-align: center;
	padding-bottom: 60px;
}
footer.top_f {
	color: #aeaeae;
	background-color: #fff;
	font-size: 12px;
}
.onlypc {
  display: inherit;
}
.onlysp {
  display: block;
  display: none;
}

/* menu */
#hatena header {
	width: 100%;
	position: fixed;
  top: 0;
  z-index: 300;
}
#hatena header nav {
  background: -moz-linear-gradient(top, rgba(6, 44, 82, 0.8), transparent);
  background: -webkit-linear-gradient(top, rgba(6, 44, 82, 0.8), transparent);
  background: linear-gradient(to bottom, rgba(6, 44, 82, 0.8), transparent);
  background-size:cover;
  padding: 20px 0;
}
#hatena header nav ul {
	text-align: center;
	margin: 0 auto;
}
#hatena header nav ul li {
	display: inline-block;
	margin-left: 20px;
	padding-left: 29px;
}
#hatena header nav ul li img {
	display: block;
	width: auto;
	height: 22px;
}
#hatena header nav ul li.current {
	background: url("../img/common/hatena_menu_star.png") left center no-repeat;
	background-size: 24px;
}

/* kv */
#kv .kv__main {
	height: 61vw;
	position: relative;
}
#kv .kv__main h1 img {
	width: 28%;
	display: block;
	position: absolute;
	top: 5.5vw;
	left: 30px;
	z-index: 200;
}
#kv .kv__main h2 {
	z-index: 250;
	position: relative;
}
#kv .kv__main h2 img {
	width: 50%;
	display: block;
	position: absolute;
	top: 49vw;
	right: 30px;
}
#kv .kv__main ul.chara_area li {
	z-index: 150;
	position: relative;
}
#kv .kv__main ul.chara_area li.chara01 img {
	width: 33%;
	display: block;
	position: absolute;
	top: 11vw;
	left: 26%;
}
#kv .kv__main ul.chara_area li.chara02 img {
	width: 19%;
	display: block;
	position: absolute;
	top: 14vw;
	left: 50%;
}
#kv .kv__main ul.chara_area li.chara03 img {
	width: 11%;
	display: block;
	position: absolute;
	top: 36vw;
	left: 10%;
}
#kv .kv__main ul.chara_area li.chara04 img {
	width: 14%;
	display: block;
	position: absolute;
	top: 26vw;
	left: 18.5%;
}
#kv .kv__main ul.chara_area li.chara05 img {
	width: 8%;
	display: block;
	position: absolute;
	top: 39vw;
	left: 5%;
}

/* pv_info */
#kv #pv_info {
	width: 33.5%;
	height: 100%;
	background-color: #e92369;
	position: absolute;
	top: 0;
	right: 0;
	padding-top: 5.5vw;
	z-index: 0;
}
#kv #pv_info .mov {
  position: relative;
  width: 80%;
  padding-top: 56.25%;
  margin: 0 10% 15px;
}
#kv #pv_info .mov iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}
#kv #pv_info .onair {
	position: relative;
}
#kv #pv_info .onair h4 {
	width: 19%;
	position: absolute;
	top: -3vw;
	right: 9px;
}
#kv #pv_info .onair dl {
	width: 84%;
	text-align: center;
	margin: 0 auto;
}
#kv #pv_info .onair dl dt {
	width: 100%;
	color: #fff;
	font-size: 14px;
	font-weight: bold;
	line-height: 1;
	letter-spacing: 1px;
	background-color: #f978b7;
	border-radius: 40px;
	padding: 0.5vw 0;
	margin-bottom: 8px;
}
#kv #pv_info .onair dl dt.base_p {
	background-color: #f978b7;
}
#kv #pv_info .onair dl dt.base_g {
	background-color: #add300;
}
#kv #pv_info .onair dl dt.base_b {
	background-color: #1eacdf;
}
#kv #pv_info .onair dl dd img {
	width: 20vw;
	margin-bottom: 10px;
}


/* info_area */
.wrap-w {
	background-color: #fff;
}
.info_area {
	overflow: hidden;
	padding: 7vw 0 60px;
	position: relative;
}
.info_area #news {
	width: 49%;
	float: left;
	box-sizing: border-box;
}
.info_area #news h3 img {
	width: auto;
	height: 26px;
	margin-left: 15px;
}
.info_area #news ul {
	height: 180px;
	border: 8px solid #f75a8e;
	border-radius: 15px;
	padding: 20px;
	overflow: scroll;
}
.info_area #news ul li {
	border-bottom: 1px dotted #aeaeae;
	padding-bottom: 10px;
	margin-bottom: 10px;
	overflow: hidden;
}
.info_area #news ul li .day {
	width: 20%;
	color: #aeaeae;
	font-size: 12px;
	float: left;
}
.info_area #news ul li .news_read {
	width: 80%;
	float: right;
	color: #043669;
	font-size: 15px;
	line-height: 1.5;
	font-weight: bold;
}
.info_area #twitter {
	width: 49%;
	float: right;
}
.info_area #twitter h3 img {
	width: auto;
	height: 26px;
	margin-left: 15px;
}
.info_area #twitter .twitter_area {
	height: 200px;
	border: 8px solid #77defc;
	border-radius: 15px;
	overflow: hidden;
	padding: 10px;
	overflow: scroll;
}


/* news
=================================*/
.news #main {
	margin-bottom: 150px;
}
#hatena.news .topic {
	display: flex;
	justify-content: space-between;
	padding-top: 160px;
	margin-top: -160px;
	overflow: hidden;
}
.news .topic .topic_l {
	width: 45%;
	float: left;
}
.news .topic .topic_r {
	width: 50%;
	margin-top: 40px;
	position: relative;
	z-index: 100;
}
.news .topic .topic_r img {
	width: 100%;
	display: block;
}
.news .topic .topic_l p.day {
	font-size: 12px;
	margin-bottom: 15px;
}
.news .topic .topic_l h3 {
	font-size: 24px;
	line-height: 1.5;
	margin-bottom: 40px;
}
.news .topic .topic_l p.topic_read {
	margin-bottom: 15px;
}
.news .topic .topic_l a {
	width: 200px;
	display: block;
	color: #fff;
	font-size: 12px;
	text-align: center;
	border: 1px solid #fff;
	border-radius: 40px;
	padding: 8px 0;
	margin-bottom: 20px;
}
.news .topic.bace_w .topic_l a {
	width: 200px;
	display: block;
	color: #0d386b;
	font-size: 12px;
	text-align: center;
	border: 1px solid #0d386b;
	border-radius: 40px;
	padding: 8px 0;
	margin-bottom: 20px;
}
.news .topic .topic_l a:hover {
	color: #e22496;
	background-color: #fff;
}
.news .topic.bace_w .topic_l a:hover {
	color: #fff;
	background-color: #0d386b;
}


/* story
=================================*/
.story .intro {
	position: relative;
	z-index: 100;
}
.story .intro p {
	width: 40%;
	font-size: 16px;
	line-height: 2;
	padding-top: 40px;
	margin-bottom: 80px;
}
.story .intro img {
	width: 56%;
	display: block;
	position: absolute;
	top: -20px;
	right: -20px;
}

.story .panel_area .tab_panel {
	width:100%;
	padding:80px 0;
	display:none;
	overflow: hidden;
}
.story .panel_area .tab_panel p {
	font-size: 16px;
	line-height: 2;
}
.story .panel_area .tab_panel img.episode {
	width: auto;
	height: 50px;
	display: block;
	margin-bottom: 7px;
}
.story .panel_area .tab_panel .story_l {
	width: 50%;
	float: left;
}
.story .panel_area .tab_panel .story_r {
	width: 45%;
	float: right;
}
input[type="radio"] {
	display:none;
}
.story .tab_area {
	font-size: 0;
	text-align: center;
	margin: 0 auto;
}
.story .tab_area label {
	text-align: center;
	margin: 0;
	display: inline-block;
	padding: 12px 0;
	text-align: center;
	font-size: 16px;
	cursor: pointer;
	transition: ease 0.2s opacity;
}
.story .tab_area label:hover {
	color: #e22496;
}
.story .tab_area label.tab1_label::before {
  content: '/';
  color: #000;
  margin-right: 20px;
}

.story .tab_area label::after {
  content: '/';
  color: #000;
  margin: 0 20px;
}

#tab1:checked ~ .tab_area .tab1_label,#tab2:checked ~ .tab_area .tab2_label,#tab3:checked ~ .tab_area .tab3_label,#tab4:checked ~ .tab_area .tab4_label,#tab5:checked ~ .tab_area .tab5_label,#tab6:checked ~ .tab_area .tab6_label,#tab7:checked ~ .tab_area .tab7_label,#tab8:checked ~ .tab_area .tab8_label,#tab9:checked ~ .tab_area .tab9_label,#tab10:checked ~ .tab_area .tab10_label,#tab11:checked ~ .tab_area .tab11_label,#tab12:checked ~ .tab_area .tab12_label {
	background:#fff;
	color:#e22496;
}
#tab1:checked ~ .panel_area #panel1,#tab2:checked ~ .panel_area #panel2,#tab3:checked ~ .panel_area #panel3,#tab4:checked ~ .panel_area #panel4,#tab5:checked ~ .panel_area #panel5,#tab6:checked ~ .panel_area #panel6,#tab7:checked ~ .panel_area #panel7,#tab8:checked ~ .panel_area #panel8,#tab9:checked ~ .panel_area #panel9,#tab10:checked ~ .panel_area #panel10,#tab11:checked ~ .panel_area #panel11,#tab12:checked ~ .panel_area #panel12 {
	display:block;
}

/* 「RightToLeft」 */
@keyframes RightToLeft {
  0% {
    opacity: 0;
    transform: translateX(50px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

.RightToLeft {
	animation-name: RightToLeft;
  animation-duration: 1.5s;/* アニメーション時間 */
  animation-iteration-count: 1;/* アニメーションの繰り返し*/
}



/* character
=================================*/
.character .chara_btn_area {
	width: 700px;
	margin: 0 auto 100px;
}
.character .chara_btn_area ul.chara_btn {
	display: flex;
}
.character .chara_btn_area ul.chara_btn li {
	width: 116px;
	margin: 0 12px;
}
.character .chara_btn_area ul.line02 {
	width: 80%;
	margin: -20px auto;
}
.character ul.chara_area li {
	overflow: hidden;
	margin-top: -80px;
}
.character ul.chara_area li .chara_img {
	display: block;
	float: right;
}
.character ul.chara_area li#makoto .chara_img,.character ul.chara_area li#kana .chara_img {
	width: 55%;
	margin-left: 5%;
}
.character ul.chara_area li#makoto .chara_txt img,.character ul.chara_area li#kana .chara_txt img {
	width: auto;
	height: 120px;
	display: block;
	margin-bottom: 20px;
	padding-top: 100px;
}
.character ul.chara_area li#friend .chara_img,.character ul.chara_area li#kikyouin .chara_img {
	width: 47%;
}
.character ul.chara_area li#friend .chara_txt,.character ul.chara_area li#kikyouin .chara_txt {
	width: 50%;
}
.character ul.chara_area li#friend .chara_txt_top,.character ul.chara_area li#kikyouin .chara_txt_top,.character ul.chara_area li#parents .chara_txt_top {
	padding-top: 40px;
}
.character ul.chara_area li#friend .chara_txt img,.character ul.chara_area li#kikyouin .chara_txt img,.character ul.chara_area li#parents .chara_txt img {
	width: auto;
	height: 70px;
	display: block;
	margin-bottom: 15px;
	padding-top: 30px;
}
.character ul.chara_area li#parents .chara_img {
	width: 57%;
}
.character ul.chara_area li#parents .chara_txt {
	width: 40%;
}
ul.chara_btn > li {
  position: relative;
}
ul.chara_btn > li .back {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 0 auto;
}
ul.chara_btn > li > a {
  display: block;
  text-align: center;
}
ul.chara_btn > li > a div {
  margin: 0 auto;
  height: 160px;
  -moz-transition-property: all;
  -moz-transition-duration: 0.2s;
  -moz-transition-timing-function: ease-out;
  -webkit-transition-property: all;
  -webkit-transition-duration: 0.2s;
  -webkit-transition-timing-function: ease-out;
  transition-property: all;
  transition-duration: 0.2s;
  transition-timing-function: ease-out;
}
ul.chara_btn > li > a .front > img {
  height: 100%;
}
ul.chara_btn > li > a .back > img {
  height: 160px;
}
ul.chara_btn > li > a.nfront .front {
  width: 100%;
  opacity: 1;
}
ul.chara_btn > li > a.nfront .back {
  transform: scaleX(0.01);
  opacity: 0;
}
ul.chara_btn > li > a .front {
  width: 0;
  opacity: 0;
}
ul.chara_btn > li > a .back {
  width: 100%;
  opacity: 1;
}

ul.chara_btn  li.chara01 img {
  width: 33%;
  display: block;
  position: absolute;
  top: 11vw;
  left: 26%;
}
ul.chara_btn  li.chara02 img {
  width: 19%;
  display: block;
  position: absolute;
  top: 14vw;
  left: 50%;
}
ul.chara_btn  li.chara03 img {
  width: 11%;
  display: block;
  position: absolute;
  top: 36vw;
  left: 10%;
}
ul.chara_btn  li.chara04 img {
  width: 14%;
  display: block;
  position: absolute;
  top: 26vw;
  left: 18.5%;
}
ul.chara_btn  li.chara05 img {
  width: 8%;
  display: block;
  position: absolute;
  top: 39vw;
  left: 5%;
}


/* staff_cast
=================================*/
.staff_cast #staff {
	margin-bottom: 80px;
}
.staff_cast #staff .name,.staff_cast #cast .name {
	display: flex;
}
.staff_cast #staff .name .name_l,.staff_cast #cast .name .name_l {
	width: 60%;
}
.staff_cast #staff p,.staff_cast #cast p {
	font-size: 26px;
}
.staff_cast #staff p span,.staff_cast #cast p span {
	font-size: 18px;
}
.staff_cast #cast .kuma_box {
	position: relative;
}
.staff_cast #cast .kuma_box .kuma {
	width: 300px;
	display: block;
	position: absolute;
	top: -360px;
	right: 0;
	z-index: 50;
}


/* item
=================================*/
.item #op {
	margin-bottom: 150px;
}
.item #ed {
	clear: both;
}
.item #ed .music_r {
	margin-top: -150px;
}
.item #soundtrack .music_r {
	margin-top: 0;
}
.item #op .music_r,.item #ed .music_r,.item #soundtrack .music_r {
	width: 50%;
	float: right;
	margin-left: 5%;
	position: relative;
	z-index: 100;
}
.item #op .music_l a {
	width: 200px;
	display: block;
	color: #fff;
	font-size: 12px;
	text-align: center;
	border: 1px solid #fff;
	border-radius: 40px;
	padding: 8px 0;
	margin-bottom: 20px;
}
.item #ed .music_l a,.item #soundtrack .music_l a {
	width: 200px;
	display: block;
	color: #0d386b;
	font-size: 12px;
	text-align: center;
	border: 1px solid #0d386b;
	border-radius: 40px;
	padding: 8px 0;
	margin-bottom: 20px;
}
.item #op .music_l a:hover {
	color: #e22496;
	background-color: #fff;
}
.item #ed .music_l a:hover {
	color: #fff;
	background-color: #0d386b;
}
.item #soundtrack .music_l a:hover {
	color: #fff;
	background-color: #0d386b;
}
.item .music_l h4 {
	font-size: 24px;
	line-height: 1.5;
	margin-bottom: 10px;
}
.item .music_l h4 span {
	font-size: 16px;
}
.item .music_l p {
	margin-bottom: 10px;
}
.item .music_l dl.profile {
	margin-bottom: 20px;
}
.item .music_l dl.profile dt {
	width: 100px;
	height: 20px;
	float: left;
	font-size: 12px;
	text-align: center;
	border-radius: 7px;
	margin: 3px 10px 0 0;
}
.item #op .music_l dl.profile dt {
	color: #0d386b;
	background-color: #fff;
}
.item #ed .music_l dl.profile dt,.item #soundtrack .music_l dl.profile dt {
	color: #fff;
	background-color: #e22496;
}


/* special
=================================*/
#hatena.special .space_w {
	padding-bottom: 0;
}
.special #main p.main_copy {
	font-size: 24px;
	font-weight: bold;
	margin-bottom: 5px;
}
.special #main p.read {
	margin-bottom: 20px;
}
.special .mov_box {
	width: 100%;
	z-index: 200;
	position: relative;
}
.special .mov {
  position: relative;
 	width: 100%;
  padding: 56.25% 0 0 0;
}
.special .mov iframe {
  position: absolute;
 	top: 0;
 	left: 0;
  width: 100%;
  height: 100%;
}
.special .img_area {
	width: 100%;
	display: block;
  overflow: hidden;
}
.special .img_area img {
  width: 100%;
  display: block;
}
.special .img_area2 img {
  width: 70%;
  display: block;
  margin: 0 auto;
  z-index: 100;
  position: relative;
}

.special #main {
	margin-bottom: 80px;
}




@media screen and (max-width: 980px) {
/* 共通
=================================*/
	#hatena {
		background-size: 40px;
	}
	#hatena .space_w {
	  position: relative;
	  z-index: 50;
	  padding: 100px 0 50px;
	  margin-bottom: 100px;
	}
	#hatena .wrap {
		max-width: 90%;
		margin: 0 auto;
	}
	.news #main,.story #main,.staff_cast #main,.character #main,.staff_cast #main,.item #main,.special #main {
		padding-top: 100px;
	}
	.news h1,.story h1,.staff_cast h1,.character h1,.staff_cast h1,.item h1,.special h1 {
		position: relative;
		z-index: 350;
	}
	.news h1 img,.story h1 img,.staff_cast h1 img,.character h1 img,.staff_cast h1 img,.item h1 img,.special h1 img {
		width: 100px;
		display: block;
		position: fixed;
		top: 10px;
		left: 10px;
	}
	.news h2 img,.story h2 img,.staff_cast h2 img,.character h2 img,.staff_cast h2 img,.item h2 img,.special h2 img {
		width: 260px;
		display: block;
		margin: 0 auto 50px;
	}
	.news h3 img,.story h3 img,.staff_cast h3 img,.character h3 img,.staff_cast h3 img,.item h3 img,.special h3 img {
		height: 34px;
	}

	footer {
		color: #fff;
		font-size: 12px;
		text-align: center;
		padding-bottom: 60px;
	}
	footer.top_f {
		color: #aeaeae;
		background-color: #fff;
		font-size: 12px;
	}

  * {
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
  }
  body {
    line-height: 1.5;
    border: none;
  }
  img {
    width: 100%;
  }
  iframe {
    max-width: 100%;
  }
  .onlypc {
    display: none;
  }
  .onlysp {
    display: inherit;
  }


/* menu */
	#hatena header nav {
		background: rgba(0, 0, 0, 0);
	}
	#hatena header {
	  padding:10px;
	}
	#hatena header nav ul {
		padding-top: 90px;
	}
	#hatena header nav ul li {
		display: block;
		margin-left:0;
		padding-left: 0;
		margin-bottom: 40px;
	}
	#hatena header nav ul li img {
		height: 28px;
		margin: 0 auto;
	}
	#hatena .nav-unshown {
	  display:none;
	}


	#hatena header nav .menu_btn,
  #hatena header nav .menu_close {
	  width: 70px;
	  height: auto;
	  position: fixed;
	  top: 10px;
	  right: 10px;
	}

  #hatena header nav .menu_wrapper {
    position: fixed;
    width: 100%;
    height: 100%;
    background-color: rgba(233, 35, 105, 0.8);
    transition: all 0.3s;
    -webkit-transform: translateY(-105%);
    transform: translateY(-105%);
    top: 0;
    left: 0;
  }
  #hatena header nav .menu_wrapper.open {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
	.clicked .menu {
		left: 8px;
	}




/* kv */
	#kv .kv__main {
		height: 88vw;
		position: relative;
	}
	#kv .kv__main h1 img {
		width: 44%;
		position: absolute;
		top: 10px;
		left: 10px;
	}
	#kv .kv__main h2 img {
		width: 92%;
		position: absolute;
		top: 82vw;
		right: 10px;
	}
	#kv .kv__main ul.chara_area {
		padding-top: 3%;
		position: relative;
	}
	#kv .kv__main ul.chara_area li.chara01 img {
		width: 50%;
		position: absolute;
		top: 12vw;
		left: 36%;
	}
	#kv .kv__main ul.chara_area li.chara02 img {
		width: 27%;
		position: absolute;
		top: 20vw;
		left: 72%;
	}
	#kv .kv__main ul.chara_area li.chara03 img {
		width: 17%;
		position: absolute;
		top: 48vw;
		left: 11%;
	}
	#kv .kv__main ul.chara_area li.chara04 img {
		width: 22%;
		position: absolute;
		top: 32vw;
		left: 23%;
	}
	#kv .kv__main ul.chara_area li.chara05 img {
		width: 12%;
		position: absolute;
		top: 55vw;
		left: 3%;
	}


/* pv_info */
	#kv #pv_info {
		width: 100%;
		height: 100%;
		background-color: #e92369;
		position: relative;
		padding-top: 0;
	}
	#kv #pv_info {
		padding-top: 70px;
	}
	#kv #pv_info .space_w_sp::after{
	  content: '';
	  position: absolute;
	  left:0;
	  top: 0;
	  transform: skewY(-10deg);
	  transform-origin: bottom left; 
	  z-index: -1;
	  width:100%;
	  height:100%;
	  background:#fff;
	}
	#kv #pv_info .onair::after{
	  content: '';
	  position: absolute;
	  left:0;
	  top: 0;
	  transform: skewY(-10deg);
	  transform-origin: bottom left; 
	  z-index: -1;
	  width:100%;
	  height:100%;
	  background:#e92369;
	}	
	#kv #pv_info .onair h4 {
		width: 19%;
		position: absolute;
		top: -9vw;
		right: 9px;
	}
	#kv #pv_info .onair dl {
		width: 84%;
		padding-bottom: 80px;
	}
	#kv #pv_info .onair dl dt {
		padding: 5px 0;
		margin-bottom: 8px;
	}
	#kv #pv_info .onair dl dd img {
		width: 80%;
	}


/* info_area */
	.info_area {
		overflow: hidden;
		padding: 7vw 0 60px;
		position: relative;
	}
	.info_area #news {
		width: 100%;
		float: none;
		margin-bottom: 20px;
	}
	.info_area #news h3 img {
		height: 20px;
	}
	.info_area #news ul {
		height: 220px;
		border: 6px solid #f75a8e;
		border-radius: 10px;
	}
	.info_area #news ul li .day {
		width: 100%;
		float: none;
	}
	.info_area #news ul li .news_read {
		width: 100%;
		float: none;
		font-size: 14px;
		line-height: 1.5;
	}
	.info_area #twitter {
		width: 100%;
		float: none;
	}
	.info_area #twitter h3 img {
		height: 20px;
	}
	.info_area #twitter .twitter_area {
		height: 300px;
		border: 6px solid #77defc;
		border-radius: 10px;
	}


/* news
=================================*/
	.news #main {
		margin-bottom: 80px;
	}
	#hatena.news .topic {
		display: block;
		padding-top: 160px;
		margin-top: -160px;
		overflow: hidden;
	}
	.news .topic .topic_l {
		width: 100%;
		float: none;
	}
	.news .topic .topic_r {
		width: 100%;
		margin-top: 0;
		margin-bottom: 50px;
	}
	.news .topic.bace_w .topic_r {
		margin-bottom: 0;
	}
	.news .topic .topic_r img {
		width: 100%;
		display: block;
	}
	.news .topic .topic_l p.day {
		margin-bottom: 5px;
	}
	.news .topic .topic_l h3 {
		font-size: 20px;
		margin-bottom: 10px;
	}
	.news .topic .topic_l p.topic_read {
		margin-bottom: 15px;
	}
	.news .topic .topic_l a {
		width: 200px;
		display: block;
		color: #fff;
		font-size: 12px;
		text-align: center;
		border: 1px solid #fff;
		border-radius: 40px;
		padding: 8px 0;
		margin-bottom: 20px;
	}
	.news .topic.bace_w .topic_l a {
		width: 200px;
		display: block;
		color: #0d386b;
		font-size: 12px;
		text-align: center;
		border: 1px solid #0d386b;
		border-radius: 40px;
		padding: 8px 0;
		margin-bottom: 20px;
	}


/* story
=================================*/
	.story .intro {
		position: relative;
	}
	.story .intro p {
		width: 100%;
		font-size: 14px;
		line-height: 1.8;
		padding-top: 0;
		margin-bottom: 305px;
	}
	.story .intro img {
		width: 100%;
		max-width: 350px;
		position: absolute;
		top: 100%;
		right: 0;
	}

	.story .panel_area .tab_panel {
		padding: 80px 0 40px;
	}
	.story .panel_area .tab_panel p {
		margin-bottom: 20px;
	}
	.story .panel_area .tab_panel img.episode {
		width: auto;
		height: 50px;
		display: block;
		margin-bottom: 7px;
	}
	.story .panel_area .tab_panel .story_l {
		width: 100%;
		float: none;
	}
	.story .panel_area .tab_panel .story_r {
		width: 100%;
		float: none;
	}

	.story .tab_area {
		text-align: left;
	} 
	.story .tab_area label.tab1_label::before {
	  content: '';
	  color: #000;
	  margin-right: 0;
	}

	.story .tab_area label::after {
	  content: '/';
	  color: #000;
	  margin: 0 20px;
	}


/* character
=================================*/
  .character .chara_btn_area {
    width: 100%;
    margin: 0 auto 50px;
  }
  .character .chara_btn_area ul.chara_btn {
    display: block;
    text-align: center;
  }
	.character .chara_btn_area ul.chara_btn li {
		width: 60px;
		margin: 0;
    display: inline-block;
	}
	.character .chara_btn_area ul.line02 {
		width: 80%;
		margin: 0 auto;
	}
	.character ul.chara_area li {
		margin-top: -60px;
	}
	.character ul.chara_area li .chara_img {
		float: none;
	}
	.character ul.chara_area li#makoto .chara_img,.character ul.chara_area li#kana .chara_img {
		width: 80%;
		margin: 0 auto 20px;
	}
	.character ul.chara_area li#makoto .chara_txt img,.character ul.chara_area li#kana .chara_txt img {
		height: 100px;
		padding-top: 0;
	}
	.character ul.chara_area li#friend .chara_img,.character ul.chara_area li#kikyouin .chara_img {
		width: 80%;
		margin: 0 auto;
	}
	.character ul.chara_area li#friend .chara_txt,.character ul.chara_area li#kikyouin .chara_txt {
		width: 100%;
		padding-top: 0;
	}
	.character ul.chara_area li#friend .chara_txt_top,.character ul.chara_area li#kikyouin .chara_txt_top,.character ul.chara_area li#parents .chara_txt_top {
		padding-top: 0;
	}
	.character ul.chara_area li#friend .chara_txt img,.character ul.chara_area li#kikyouin .chara_txt img,.character ul.chara_area li#parents .chara_txt img {
		height: 80px;
		display: block;
		margin-bottom: 15px;
		padding-top: 30px;
	}
	.character ul.chara_area li#parents .chara_img {
		width: 90%;
		margin-left: 10%;
	}
  .character ul.chara_area li#parents .chara_txt {
    width: 100%;
  }
  ul.chara_btn > li > a div {
    height: 83px;
  }
  ul.chara_btn > li > a .back > img {
    height: 83px;
  }


/* staff_cast
=================================*/
	.staff_cast #staff {
		margin-bottom: 50px;
	}
	.staff_cast #staff .name,.staff_cast #cast .name {
		display: block;
	}
	.staff_cast #staff .name .name_l,.staff_cast #cast .name .name_l {
		width: 100%;
	}
	.staff_cast #staff p,.staff_cast #cast p {
		font-size: 16px;
		margin-bottom: 10px;
	}
	.staff_cast #staff p span,.staff_cast #cast p span {
		font-size: 12px;
	}
	.staff_cast #cast .kuma_box {
		position: relative;
	}
	.staff_cast #cast .kuma_box .kuma {
		width: 40%;
		position: absolute;
		top: 180px;
		right: 0;
	}


/* item
=================================*/
	.item #op {
		margin-bottom: 80px;
	}
	.item #ed .music_r {
		margin-top: 0;
	}
	.item #op .music_r,.item #ed .music_r {
		width: 95%;
		float: none;
	}
	.item .music_l dl.profile {
		width: 100%;
		overflow: hidden;
	}
	.item .music_l dl.profile dt {
		width: 30%;
		float: left;
		clear: left;
		line-height: 1.7;
		border-radius: 5px;
		margin: 3px 3% 5px 0;
	}
	.item .music_l dl.profile dd {
		width: 67%;
		float: left;
	}


/* special
=================================*/
	#hatena.special .wrap {
		max-width: 90%;
		margin: 0 auto;
	}
	#hatena.special .space_w {
		position: relative;
	  z-index: 50;
	  padding: 70px 0 50px;
	  margin-bottom: 60px;
	}
	.special #main p.main_copy {
		font-size: 18px;
	}
	.special #pv .mov_box {
		margin-bottom: 60px;
	}
	.special #event .img_area img {
		display: inline;
	}
	.special .topic {
		margin-bottom: 60px;
	}
	.special .img_area2 img {
	  width: 100%;
	}

}
