@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Besley:wght@400;500&family=Noto+Sans+JP:wght@400&family=Noto+Serif+JP:wght@400;500&family=Shippori+Mincho:wght@500;600&display=swap");
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
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; }

nav ul { 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 #cccccc; margin: 1em 0; padding: 0; }

input, select { vertical-align: middle; }

.clearfix:before, .clearfix:after { content: " "; display: table; }

.clearfix:after { clear: both; }

img { vertical-align: bottom; max-width: 100%; }

li { list-style: none; }

body { font-family: YakuHanMP, "Shippori Mincho", serif, "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; font-weight: 500; -webkit-text-size-adjust: 100%; letter-spacing: 0.025em; -webkit-font-smoothing: antialiased; background: #000; }
@media only screen and (min-width: 751px) { body { background: url("../img/common/bg_black_pc.jpg"); } }
@media only screen and (max-width: 750px) { body { background: url("../img/common/bg_black_sp.jpg"); background: url("../img/common/bg_sp.jpg") no-repeat center; -webkit-background-size: cover; -o-background-size: cover; background-size: cover; } }

html { font-size: calc(100vw / 32); }
@media only screen and (min-width: 751px) { html { font-size: 16px; } }

a { text-decoration: none; }

h1, h2, h3, h4, h5 { font-weight: normal; }

#wrapper { overflow: hidden; position: relative; }

@media only screen and (min-width: 751px) { .sp { display: none; } }
@media only screen and (max-width: 750px) { .pc { display: none; } }
@-webkit-keyframes maskAnime { 0% { -webkit-mask-position: 50% 0; mask-position: 50% 0; }
  100% { -webkit-mask-position: 50% 100%; mask-position: 50% 100%; } }
@-o-keyframes maskAnime { 0% { -webkit-mask-position: 50% 0; mask-position: 50% 0; }
  100% { -webkit-mask-position: 50% 100%; mask-position: 50% 100%; } }
@-moz-keyframes maskAnime { 0% { -webkit-mask-position: 50% 0; mask-position: 50% 0; }
  100% { -webkit-mask-position: 50% 100%; mask-position: 50% 100%; } }
@keyframes maskAnime { 0% { -webkit-mask-position: 50% 0; mask-position: 50% 0; }
  100% { -webkit-mask-position: 50% 100%; mask-position: 50% 100%; } }
.load_cover { position: fixed; width: 100%; height: 100%; top: 0; left: 0; z-index: -1; -webkit-animation: maskAnime 0.68s steps(11) 0.2s both; -moz-animation: maskAnime 0.68s steps(11) 0.2s both; -o-animation: maskAnime 0.68s steps(11) 0.2s both; animation: maskAnime 0.68s steps(11) 0.2s both; }
.load_cover .cover_bg { width: 100%; height: 100%; }
@media only screen and (min-width: 751px) { .load_cover { top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); -moz-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); -o-transform: translate(-50%, -50%); transform: translate(-50%, -50%); -webkit-mask-image: url(../img/top/bg_effect_pc.png); mask-image: url(../img/top/bg_effect_pc.png); -webkit-mask-size: cover; mask-size: cover; -webkit-mask-position: 50% 100%; mask-position: 50% 100%; }
  .load_cover .cover_bg { background: url("../img/common/bg_pc.jpg") no-repeat center; -webkit-background-size: cover; -o-background-size: cover; background-size: cover; } }
@media only screen and (max-width: 750px) { .load_cover { width: 100%; height: 120vh !important; background: url("../img/common/bg_sp.jpg") no-repeat center; -webkit-background-size: cover; -o-background-size: cover; background-size: cover; } }

.is_and .load_cover { -webkit-mask-image: none; mask-image: none; }

#wrapper { opacity: 0; }

.is_open #wrapper { opacity: 1; -webkit-transition: opacity 0.8s ease-out 1s; -moz-transition: opacity 0.8s ease-out 1s; -ms-transition: opacity 0.8s ease-out 1s; -o-transition: opacity 0.8s ease-out 1s; transition: opacity 0.8s ease-out 1s; }

.main_navigation .main_navi .main_navi__item { position: relative; }
.main_navigation .main_navi .main_navi__item a { position: absolute; width: 100%; height: 100%; top: 0; left: 0; }
.main_navigation .main_navi .main_navi__item .t_jp { font-weight: 600; }
.main_navigation .main_navi .main_navi__item .t_en { font-family: "Besley", serif; font-weight: 400; position: relative; margin-top: 6px; }
.main_navigation .main_navi .main_navi__item .t_en:after { content: ""; display: block; position: absolute; width: 100%; height: 4px; border-top: 3px double rgba(0, 0, 0, 0.2); top: calc(50% - 2px); right: 0; }
.main_navigation .main_navi .m_top .t_en:after { width: calc(100% - 2.5em - 5px); }
.main_navigation .main_navi .m_news .t_en:after { width: calc(100% - 3.5em - 5px); }
.main_navigation .main_navi .m_onair .t_en:after { width: calc(100% - 4em - 5px); }
.main_navigation .main_navi .m_intro .t_jp { letter-spacing: 0.0em; }
.main_navigation .main_navi .m_intro .t_en:after { width: calc(100% - 9.4em - 5px); }
.main_navigation .main_navi .m_story .t_en:after { width: calc(100% - 4em - 5px); }
.main_navigation .main_navi .m_character .t_en:after { width: calc(100% - 7.5em - 5px); }
.main_navigation .main_navi .m_staffcast .t_en:after { width: calc(100% - 7.5em - 5px); }
.main_navigation .main_navi .m_music .t_en:after { width: calc(100% - 4em - 5px); }
.main_navigation .main_navi .m_bddvd .t_en:after { width: calc(100% - 7.5em - 5px); }
.main_navigation .main_navi .m_movie .t_en:after { width: calc(100% - 4em - 5px); }
.main_navigation .main_navi .m_goods .t_en:after { width: calc(100% - 4.5em - 5px); }
.main_navigation .main_navi .m_radio .t_en:after { width: calc(100% - 4em - 5px); }
.main_navigation .main_navi .m_special .t_en:after { width: calc(100% - 5em - 5px); }
@media only screen and (min-width: 751px) { .main_navigation { position: absolute; height: 100%; width: 220px; top: 0; left: 0; z-index: 10; }
  .main_navigation:before { content: ""; display: block; position: fixed; width: 106px; height: 100%; top: 0; left: 0; background: url("../img/common/bg_menu_ptn.png"); -webkit-background-size: 120px; -o-background-size: 120px; background-size: 120px; }
  .main_navigation h1 { margin: 0 10px 40px 27px; position: relative; padding-top: 50px; }
  .main_navigation .main_navi { margin: 0 38px; }
  .main_navigation .main_navi .main_navi__item { margin-bottom: 20px; }
  .main_navigation .main_navi .main_navi__item .t_jp { font-size: 16px; white-space: nowrap; position: relative; -webkit-transition: color 0.2s ease-out; -moz-transition: color 0.2s ease-out; -ms-transition: color 0.2s ease-out; -o-transition: color 0.2s ease-out; transition: color 0.2s ease-out; }
  .main_navigation .main_navi .main_navi__item .t_jp:before { content: ""; display: block; position: absolute; width: 0%; height: 100%; background: #000; z-index: -1; padding: 1px 0; right: 0; -webkit-transition: width 0.2s ease-out; -moz-transition: width 0.2s ease-out; -ms-transition: width 0.2s ease-out; -o-transition: width 0.2s ease-out; transition: width 0.2s ease-out; }
  .main_navigation .main_navi .main_navi__item .t_en { font-size: 10px; }
  .main_navigation .main_navi .main_navi__item.current .t_jp { color: #fff; }
  .main_navigation .main_navi .main_navi__item.current .t_jp:before { width: 100%; }
  .main_navigation .main_navi .main_navi__item:hover .t_jp { color: #FFF; }
  .main_navigation .main_navi .main_navi__item:hover .t_jp:before { width: 100%; left: 0; right: auto; } }
@media only screen and (max-width: 750px) { .main_navigation .navigation_header { position: absolute; background: #000; width: 100%; height: 12vw; z-index: 510; }
  .main_navigation .navigation_header .btn_menu { position: absolute; z-index: 510; width: 7.2vw; height: 16px; left: calc(50% - 7.2vw/2); top: calc(50% - 8px); }
  .main_navigation .navigation_header .btn_menu p { position: absolute; width: 100%; height: 2px; background: #FFF; }
  .main_navigation .navigation_header .btn_menu p:nth-child(1) { top: 0; }
  .main_navigation .navigation_header .btn_menu p:nth-child(2) { top: calc(50% - 1px); }
  .main_navigation .navigation_header .btn_menu p:nth-child(3) { top: calc(100% - 2px); }
  .main_navigation .main_nav__wrap { background: url("../img/common/bg_black_sp.jpg"); z-index: 500; top: 0; left: 0; right: 0; bottom: 0; color: #FFF; position: fixed; }
  .main_navigation .main_nav__wrap:before { content: ""; display: block; position: absolute; height: 100%; background: url("../img/common/bg_menu_ptn.png"); -webkit-background-size: 100%; -o-background-size: 100%; background-size: 100%; width: 33.33vw; left: calc(50% - 33.33vw/2); }
  .main_navigation .main_nav__wrap h1 { position: absolute; width: 42.13vw; left: 5.73vw; top: calc(50% - 30.66vw/2); display: none; }
  .main_navigation .main_navi { margin: 0 8vw; position: relative; top: 50%; -webkit-transform: translateY(-50%); -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); -o-transform: translateY(-50%); transform: translateY(-50%); }
  .main_navigation .main_navi ul { display: flex; -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .main_navigation .main_navi ul .main_navi__item { width: calc(50% - 2vw); }
  .main_navigation .main_navi ul .main_navi__item:nth-child(odd) { margin-right: 4vw; }
  .main_navigation .main_navi .main_navi__item { margin-bottom: 6vw; }
  .main_navigation .main_navi .main_navi__item:last-child { margin-bottom: 0; }
  .main_navigation .main_navi .main_navi__item .t_jp { font-size: 1.5rem; position: relative; }
  .main_navigation .main_navi .main_navi__item .t_jp:before { content: ""; display: block; position: absolute; width: 0; height: 100%; top: -1; left: 0; background: #FFF; z-index: -1; padding: 1px 0; }
  .main_navigation .main_navi .main_navi__item .t_en { font-size: 0.9rem; }
  .main_navigation .main_navi .main_navi__item .t_en:after { border-color: rgba(255, 255, 255, 0.25); }
  .main_navigation .main_navi .main_navi__item.current .t_jp { color: #000; }
  .main_navigation .main_navi .main_navi__item.current .t_jp:before { width: 100%; }
  .main_navigation .main_navi .m_intro .t_jp { letter-spacing: -0.16em; white-space: nowrap; }
  .main_navigation .main_navi .m_staffcast .t_jp { letter-spacing: -0.16em; white-space: nowrap; }
  .main_navigation .main_nav__wrap { height: 0; overflow: hidden; visibility: hidden; -webkit-transition: height 0.2s cubic-bezier(0.5, 1, 0.89, 1) 0.3s, visibility 0s cubic-bezier(0.5, 1, 0.89, 1) 0.5s; -moz-transition: height 0.2s cubic-bezier(0.5, 1, 0.89, 1) 0.3s, visibility 0s cubic-bezier(0.5, 1, 0.89, 1) 0.5s; -ms-transition: height 0.2s cubic-bezier(0.5, 1, 0.89, 1) 0.3s, visibility 0s cubic-bezier(0.5, 1, 0.89, 1) 0.5s; -o-transition: height 0.2s cubic-bezier(0.5, 1, 0.89, 1) 0.3s, visibility 0s cubic-bezier(0.5, 1, 0.89, 1) 0.5s; transition: height 0.2s cubic-bezier(0.5, 1, 0.89, 1) 0.3s, visibility 0s cubic-bezier(0.5, 1, 0.89, 1) 0.5s; }
  .main_navigation .main_nav__wrap h1 { opacity: 0; -webkit-transition: opacity 0.6s cubic-bezier(0.5, 1, 0.89, 1) 0s; -moz-transition: opacity 0.6s cubic-bezier(0.5, 1, 0.89, 1) 0s; -ms-transition: opacity 0.6s cubic-bezier(0.5, 1, 0.89, 1) 0s; -o-transition: opacity 0.6s cubic-bezier(0.5, 1, 0.89, 1) 0s; transition: opacity 0.6s cubic-bezier(0.5, 1, 0.89, 1) 0s; }
  .main_navigation .main_nav__wrap .main_navi__item { opacity: 0; -webkit-transform: translateY(-12px); -moz-transform: translateY(-12px); -ms-transform: translateY(-12px); -o-transform: translateY(-12px); transform: translateY(-12px); -webkit-transition: opacity 0.4s cubic-bezier(0.5, 1, 0.89, 1) 0s, transform 0.6s cubic-bezier(0.33, 1, 0.68, 1) 0s; -moz-transition: opacity 0.4s cubic-bezier(0.5, 1, 0.89, 1) 0s, transform 0.6s cubic-bezier(0.33, 1, 0.68, 1) 0s; -ms-transition: opacity 0.4s cubic-bezier(0.5, 1, 0.89, 1) 0s, transform 0.6s cubic-bezier(0.33, 1, 0.68, 1) 0s; -o-transition: opacity 0.4s cubic-bezier(0.5, 1, 0.89, 1) 0s, transform 0.6s cubic-bezier(0.33, 1, 0.68, 1) 0s; transition: opacity 0.4s cubic-bezier(0.5, 1, 0.89, 1) 0s, transform 0.6s cubic-bezier(0.33, 1, 0.68, 1) 0s; }
  .main_navigation.is_open .main_nav__wrap { height: 100%; visibility: visible; -webkit-transition-delay: 0s, 0s; -moz-transition-delay: 0s, 0s; -ms-transition-delay: 0s, 0s; -o-transition-delay: 0s, 0s; transition-delay: 0s, 0s; }
  .main_navigation.is_open .main_nav__wrap h1 { opacity: 1; -webkit-transition-delay: 0.2s; -moz-transition-delay: 0.2s; -ms-transition-delay: 0.2s; -o-transition-delay: 0.2s; transition-delay: 0.2s; }
  .main_navigation.is_open .main_nav__wrap .main_navi__item { opacity: 1; -webkit-transform: translateY(0); -moz-transform: translateY(0); -ms-transform: translateY(0); -o-transform: translateY(0); transform: translateY(0); }
  .main_navigation.is_open .main_nav__wrap .main_navi__item:nth-child(1) { -webkit-transition-delay: 0.14s; -moz-transition-delay: 0.14s; -ms-transition-delay: 0.14s; -o-transition-delay: 0.14s; transition-delay: 0.14s; }
  .main_navigation.is_open .main_nav__wrap .main_navi__item:nth-child(2) { -webkit-transition-delay: 0.28s; -moz-transition-delay: 0.28s; -ms-transition-delay: 0.28s; -o-transition-delay: 0.28s; transition-delay: 0.28s; }
  .main_navigation.is_open .main_nav__wrap .main_navi__item:nth-child(3) { -webkit-transition-delay: 0.42s; -moz-transition-delay: 0.42s; -ms-transition-delay: 0.42s; -o-transition-delay: 0.42s; transition-delay: 0.42s; }
  .main_navigation.is_open .main_nav__wrap .main_navi__item:nth-child(4) { -webkit-transition-delay: 0.56s; -moz-transition-delay: 0.56s; -ms-transition-delay: 0.56s; -o-transition-delay: 0.56s; transition-delay: 0.56s; }
  .main_navigation.is_open .main_nav__wrap .main_navi__item:nth-child(5) { -webkit-transition-delay: 0.7s; -moz-transition-delay: 0.7s; -ms-transition-delay: 0.7s; -o-transition-delay: 0.7s; transition-delay: 0.7s; }
  .main_navigation.is_open .main_nav__wrap .main_navi__item:nth-child(6) { -webkit-transition-delay: 0.84s; -moz-transition-delay: 0.84s; -ms-transition-delay: 0.84s; -o-transition-delay: 0.84s; transition-delay: 0.84s; }
  .main_navigation.is_open .main_nav__wrap .main_navi__item:nth-child(7) { -webkit-transition-delay: 0.98s; -moz-transition-delay: 0.98s; -ms-transition-delay: 0.98s; -o-transition-delay: 0.98s; transition-delay: 0.98s; }
  .main_navigation.is_open .main_nav__wrap .main_navi__item:nth-child(8) { -webkit-transition-delay: 1.12s; -moz-transition-delay: 1.12s; -ms-transition-delay: 1.12s; -o-transition-delay: 1.12s; transition-delay: 1.12s; }
  .main_navigation.is_open .main_nav__wrap .main_navi__item:nth-child(9) { -webkit-transition-delay: 1.26s; -moz-transition-delay: 1.26s; -ms-transition-delay: 1.26s; -o-transition-delay: 1.26s; transition-delay: 1.26s; }
  .main_navigation.is_open .main_nav__wrap .main_navi__item:nth-child(10) { -webkit-transition-delay: 1.4s; -moz-transition-delay: 1.4s; -ms-transition-delay: 1.4s; -o-transition-delay: 1.4s; transition-delay: 1.4s; }
  .main_navigation.is_open .main_nav__wrap .main_navi__item:nth-child(11) { -webkit-transition-delay: 1.54s; -moz-transition-delay: 1.54s; -ms-transition-delay: 1.54s; -o-transition-delay: 1.54s; transition-delay: 1.54s; }
  .main_navigation.is_open .main_nav__wrap .main_navi__item:nth-child(12) { -webkit-transition-delay: 1.68s; -moz-transition-delay: 1.68s; -ms-transition-delay: 1.68s; -o-transition-delay: 1.68s; transition-delay: 1.68s; }
  .main_navigation.is_open .main_nav__wrap .main_navi__item:nth-child(13) { -webkit-transition-delay: 1.82s; -moz-transition-delay: 1.82s; -ms-transition-delay: 1.82s; -o-transition-delay: 1.82s; transition-delay: 1.82s; }
  .main_navigation.is_open .main_nav__wrap .main_navi__item:nth-child(14) { -webkit-transition-delay: 1.96s; -moz-transition-delay: 1.96s; -ms-transition-delay: 1.96s; -o-transition-delay: 1.96s; transition-delay: 1.96s; }
  .main_navigation.is_open .main_nav__wrap .main_navi__item:nth-child(15) { -webkit-transition-delay: 2.1s; -moz-transition-delay: 2.1s; -ms-transition-delay: 2.1s; -o-transition-delay: 2.1s; transition-delay: 2.1s; }
  .main_navigation.is_open .navigation_header { background: none; position: fixed; top: 0; }
  .main_navigation.is_open .navigation_header .btn_menu p { top: 50%; }
  .main_navigation.is_open .navigation_header .btn_menu p:nth-child(1) { -webkit-transform: rotate(30deg); -moz-transform: rotate(30deg); -ms-transform: rotate(30deg); -o-transform: rotate(30deg); transform: rotate(30deg); }
  .main_navigation.is_open .navigation_header .btn_menu p:nth-child(2) { opacity: 0; }
  .main_navigation.is_open .navigation_header .btn_menu p:nth-child(3) { -webkit-transform: rotate(-30deg); -moz-transform: rotate(-30deg); -ms-transform: rotate(-30deg); -o-transform: rotate(-30deg); transform: rotate(-30deg); } }

.main_contents { position: relative; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
@media only screen and (min-width: 751px) { .main_contents { margin-left: 220px; min-height: 100vh; padding: 105px 80px 150px; } }
@media only screen and (max-width: 750px) { .main_contents { padding: 26.13vw 0 20vw; } }

footer { background: #000; color: #FFF; position: relative; z-index: 20; }
footer a { color: #FFF; }
footer .share { display: flex; -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; }
footer .aniplex { display: flex; -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; }
footer .aniplex li { position: relative; }
footer .aniplex li:after { content: ""; display: block; position: absolute; left: 0; top: 0; width: 1px; height: 100%; background: #fff; }
footer .aniplex li:first-child:after { display: none; }
footer .notes, footer .copy { color: #666666; }
@media only screen and (min-width: 751px) { footer { padding: 60px 130px 60px 0; text-align: right; font-size: 12px; }
  footer .pagetop { background: url("../img/common/btn_page_top_pc.png") no-repeat center top; -webkit-background-size: 100%; -o-background-size: 100%; background-size: 100%; width: 80px; height: 80px; position: absolute; right: 34px; top: calc(50% - 40px); cursor: pointer; }
  footer .pagetop:hover { background-position: center bottom; }
  footer .share { -webkit-justify-content: flex-end; justify-content: flex-end; margin-bottom: 23px; }
  footer .share li { width: 26px; margin-left: 16px; -webkit-transition: opacity 0.2s ease-out; -moz-transition: opacity 0.2s ease-out; -ms-transition: opacity 0.2s ease-out; -o-transition: opacity 0.2s ease-out; transition: opacity 0.2s ease-out; }
  footer .share li:hover { opacity: 0.7; }
  footer .aniplex { -webkit-justify-content: flex-end; justify-content: flex-end; margin-bottom: 18px; }
  footer .aniplex li { padding-left: 12px; margin-left: 11px; }
  footer .aniplex li a { position: relative; z-index: 2; }
  footer .aniplex li a:before { content: ""; display: block; position: absolute; width: 0%; height: 100%; top: 0; right: 0; background: #FFF; z-index: -1; -webkit-transition: width 0.3s cubic-bezier(0.5, 1, 0.89, 1); -moz-transition: width 0.3s cubic-bezier(0.5, 1, 0.89, 1); -ms-transition: width 0.3s cubic-bezier(0.5, 1, 0.89, 1); -o-transition: width 0.3s cubic-bezier(0.5, 1, 0.89, 1); transition: width 0.3s cubic-bezier(0.5, 1, 0.89, 1); }
  footer .aniplex li a:hover { color: #000; }
  footer .aniplex li a:hover:before { width: 100%; right: auto; left: 0; }
  footer .notes { margin-bottom: 12px; }
  footer .series_link { position: absolute; text-align: left; font-size: 14px; left: 40px; top: 50%; -webkit-transform: translateY(-50%); -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); -o-transform: translateY(-50%); transform: translateY(-50%); }
  footer .series_link li { margin-bottom: 10px; position: relative; padding-left: 1em; }
  footer .series_link li:before { content: ""; display: block; position: absolute; left: 0; width: 6px; height: 6px; top: calc(50% - 3px); background: #606060; }
  footer .series_link li:last-child { margin-bottom: 0; }
  footer .series_link li a { position: relative; z-index: 2; }
  footer .series_link li a:before { content: ""; display: block; position: absolute; width: 0; height: 100%; top: 0; right: -5px; background: #FFF; z-index: -1; -webkit-transition: width 0.4s cubic-bezier(0.5, 1, 0.89, 1); -moz-transition: width 0.4s cubic-bezier(0.5, 1, 0.89, 1); -ms-transition: width 0.4s cubic-bezier(0.5, 1, 0.89, 1); -o-transition: width 0.4s cubic-bezier(0.5, 1, 0.89, 1); transition: width 0.4s cubic-bezier(0.5, 1, 0.89, 1); }
  footer .series_link li a:hover { color: #000; }
  footer .series_link li a:hover:before { width: calc(100% + 14px); left: -5px; right: auto; } }
@media only screen and (max-width: 750px) { footer .footer_wrap { padding: 10.66vw 0; text-align: center; }
  footer .pagetop { background: url("../img/common/btn_page_top_sp.png") no-repeat; -webkit-background-size: contain; -o-background-size: contain; background-size: contain; width: 80px; height: 80px; margin: 0 auto 6.66vw; }
  footer .share { -webkit-justify-content: center; justify-content: center; margin-bottom: 5.6vw; }
  footer .share li { width: 6.93vw; margin: 0 2vw; }
  footer .aniplex { -webkit-justify-content: center; justify-content: center; margin-bottom: 5.6vw; }
  footer .aniplex li { padding-left: 4vw; margin-left: 4vw; }
  footer .aniplex li:first-child { padding-left: 0; margin-left: 0; }
  footer .notes { font-size: 0.9rem; line-height: 1.6; margin-bottom: 0.8em; }
  footer .copy { font-size: 0.9rem; margin-bottom: 13.86vw; }
  footer .series_link li { font-size: 1.18rem; margin-bottom: 1em; } }

.btn_common { position: relative; color: #FFF; text-align: center; background: url("../img/common/btn_frame-bk_repeat_2x.png") repeat-x center; -webkit-background-size: auto 100%; -o-background-size: auto 100%; background-size: auto 100%; }
.btn_common:before, .btn_common:after { content: ""; display: block; position: absolute; height: 100%; background: url("../img/common/btn_frame-bk_side_2x.png") no-repeat right top; -webkit-background-size: contain; -o-background-size: contain; background-size: contain; top: 0; width: 30px; }
.btn_common:before { left: -30px; }
.btn_common:after { right: -30px; -webkit-transform: rotate(180deg); -moz-transform: rotate(180deg); -ms-transform: rotate(180deg); -o-transform: rotate(180deg); transform: rotate(180deg); }
.btn_common a { position: absolute; width: 100%; height: 100%; top: 0; left: 0; display: block; }
@media only screen and (min-width: 751px) { .btn_common { height: 50px; line-height: 50px; } }
@media only screen and (max-width: 750px) { .btn_common { height: 12vw; line-height: 12vw; } }
.btn_common.-white { background-image: url("../img/common/btn_frame-wh_repeat_2x.png"); }
.btn_common.-white:before, .btn_common.-white:after { background-image: url("../img/common/btn_frame-wh_side_2x.png"); }

.l-cursor .l-cursor__point { position: fixed; top: -10px; left: -10px; z-index: 20; width: 20px; height: 20px; pointer-events: none; mix-blend-mode: difference; -webkit-transition: all 0.3s cubic-bezier(0.33, 1, 0.68, 1); -moz-transition: all 0.3s cubic-bezier(0.33, 1, 0.68, 1); -ms-transition: all 0.3s cubic-bezier(0.33, 1, 0.68, 1); -o-transition: all 0.3s cubic-bezier(0.33, 1, 0.68, 1); transition: all 0.3s cubic-bezier(0.33, 1, 0.68, 1); }
.l-cursor .l-cursor__point:after { content: ""; display: block; position: absolute; background: #e9cf70; width: 20px; height: 20px; -webkit-border-radius: 50%; border-radius: 50%; -webkit-transform: scale(0); -moz-transform: scale(0); -ms-transform: scale(0); -o-transform: scale(0); transform: scale(0); -webkit-transition: all 0.2s cubic-bezier(0.33, 1, 0.68, 1); -moz-transition: all 0.2s cubic-bezier(0.33, 1, 0.68, 1); -ms-transition: all 0.2s cubic-bezier(0.33, 1, 0.68, 1); -o-transition: all 0.2s cubic-bezier(0.33, 1, 0.68, 1); transition: all 0.2s cubic-bezier(0.33, 1, 0.68, 1); }
.l-cursor.is-hide .l-cursor__deco { opacity: 0; }
.l-cursor.is-scope .l-cursor__point:after { opacity: 1; -webkit-transform: scale(1); -moz-transform: scale(1); -ms-transform: scale(1); -o-transform: scale(1); transform: scale(1); }

.global_portal_pc { position: relative; z-index: 50; }

body.is-modal-open { overflow: hidden; }
body.is-modal-open .btn_menu__wrap { display: none; }

.m-modal { position: fixed; top: 0; left: 0; visibility: hidden; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; opacity: 0; width: 100%; height: 100%; overflow-y: auto; -webkit-transition: all 0.3s ease-out; -moz-transition: all 0.3s ease-out; -ms-transition: all 0.3s ease-out; -o-transition: all 0.3s ease-out; transition: all 0.3s ease-out; z-index: 800; }
.m-modal .m-modal__wrap { display: table; position: relative; margin: 0 auto; width: 100%; height: 100%; table-layout: fixed; }
.m-modal .m-modal__bg { position: fixed; top: 0; right: 0; bottom: 0; left: 0; width: 100%; height: 100% !important; background: #000; }
.m-modal .m-modal__inner { display: table-cell; vertical-align: middle; -webkit-box-sizing: border-box; box-sizing: border-box; width: 100%; height: 100%; min-height: 100%; }
.m-modal .m-modal__close { position: fixed; overflow: hidden; }
.m-modal .m-modal__close .btn { width: 100%; height: 100%; }
.m-modal .m-modal__close .btn:before, .m-modal .m-modal__close .btn:after { content: ""; display: block; position: absolute; width: 40%; height: 2px; top: calc(50% - 1px); left: 30%; background: #FFF; }
.m-modal .m-modal__close .btn:before { -webkit-transform: rotate(-30deg); -moz-transform: rotate(-30deg); -ms-transform: rotate(-30deg); -o-transform: rotate(-30deg); transform: rotate(-30deg); }
.m-modal .m-modal__close .btn:after { -webkit-transform: rotate(30deg); -moz-transform: rotate(30deg); -ms-transform: rotate(30deg); -o-transform: rotate(30deg); transform: rotate(30deg); }
@media only screen and (max-width: 750px) { .m-modal .m-modal__close { right: 4px; top: 4px; width: 17.6vw; height: 17.6vw; }
  .m-modal[data-modal-type='youtube'] .m-modal__content { width: 100%; }
  .m-modal[data-modal-type='template'] .m-modal__inner { padding: 21.33vw 0; } }
@media only screen and (min-width: 751px) { .m-modal .m-modal__close { width: 110px; height: 110px; top: 10px; right: 10px; cursor: pointer; }
  .m-modal[data-modal-type='youtube'] .m-modal__content { width: 84%; max-width: 1100px; margin: auto; }
  .m-modal[data-modal-type='template'] .m-modal__inner { padding: 120px 40px; }
  .m-modal[data-modal-type="img"] .m-modal__content { width: 750px; margin: auto; } }
.m-modal.is-open { visibility: visible; opacity: 1; }

.l-cursor .l-cursor__point { position: fixed; top: -10px; left: -10px; z-index: 20; width: 20px; height: 20px; pointer-events: none; mix-blend-mode: difference; -webkit-transition: all 0.3s cubic-bezier(0.33, 1, 0.68, 1); -moz-transition: all 0.3s cubic-bezier(0.33, 1, 0.68, 1); -ms-transition: all 0.3s cubic-bezier(0.33, 1, 0.68, 1); -o-transition: all 0.3s cubic-bezier(0.33, 1, 0.68, 1); transition: all 0.3s cubic-bezier(0.33, 1, 0.68, 1); }
.l-cursor .l-cursor__point:after { content: ""; display: block; position: absolute; background: #fff; width: 20px; height: 20px; -webkit-border-radius: 50%; border-radius: 50%; -webkit-transform: scale(0); -moz-transform: scale(0); -ms-transform: scale(0); -o-transform: scale(0); transform: scale(0); -webkit-transition: all 0.2s cubic-bezier(0.33, 1, 0.68, 1); -moz-transition: all 0.2s cubic-bezier(0.33, 1, 0.68, 1); -ms-transition: all 0.2s cubic-bezier(0.33, 1, 0.68, 1); -o-transition: all 0.2s cubic-bezier(0.33, 1, 0.68, 1); transition: all 0.2s cubic-bezier(0.33, 1, 0.68, 1); }
.l-cursor.is-hide .l-cursor__deco { opacity: 0; }
.l-cursor.is-scope .l-cursor__point:after { opacity: 1; -webkit-transform: scale(1); -moz-transform: scale(1); -ms-transform: scale(1); -o-transform: scale(1); transform: scale(1); }

.global_portal_pc { position: relative; z-index: 50; }