@charset "UTF-8";

/* --------------------------------
 * base
 * -------------------------------- */
html {
    font-size: 62.5%;
}

body {
    text-align: left;
    font-size: 1.6rem;
    font-family: "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    background-color: #fff;
}

div.view {
    min-width: 1000px;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

div:after,
ul:after,
header:after {
    content: "";
    display: block;
    clear: both;
}

a {
    text-decoration: none;
    color: #000;
}

a {
    text-decoration: none;
    color: #000;
}

strong {
    font-weight: 700;
    color: #0269b8;
}

h1.logo img {
    width: 100%;
    height: auto;
    max-width: 420px;
}

div.title h1 {
    width: 100%;
    height: auto;
}

/* --------------------------------
 * header
 * -------------------------------- */

.global-nav {
    position: relative;
}

.global-nav p {
    position: absolute;
    right: 20px;
    top: 24px;
    z-index: 1000;
}

.global-nav ul {
    display: flex;
    justify-content: center;
  flex-wrap: wrap;
  max-width: 980px;
  margin: 0 auto;
  
}

.global-nav ul li {
    padding: 0 10px;
  max-width: 140px;
}
.global-nav ul li img {
  width: 100%;
  height: auto;
}
nav.nav {
    background-image: url(../imgs/common/header/bgr_nav.gif);
}

nav.nav a {
    color: #fff;
}

nav.nav ul {
    display: flex;
    justify-content: center;
    min-width: 1000px;
    color: #fff !important;
    text-align: center;
    background: -webkit-linear-gradient(90deg, rgb(68, 175, 255), rgb(254, 31, 128));
    background: linear-gradient(90deg, rgb(68, 175, 255), rgb(254, 31, 128));
}

nav.nav ul li {
    padding: 22px 20px;
}

nav.nav ul li a:link {}

nav.nav ul li a:hover {
    color: #0269b8;
}

ul.banners {
    width: 90%;
    max-width: 1103px;
    margin: 0 auto 100px auto;
}

ul.banners li {
    margin-bottom: 30px;
}

ul.banners img {
    width: 100%;
    height: auto;

}

ul.sns {
    display: flex;
    justify-content: flex-end;
}

ul.sns li {
    padding: 10px 18px 0 0;
}

header {
    background-image: url(../imgs/common/header/header.gif);
    background-repeat: repeat-x;
    background-position: center top;
    width: 100%;
    padding-top: 10px;
    background-color: #000;
}

/* --------------------------------
 * common
 * -------------------------------- */
div.logo {
    text-align: center;
    padding: 60px 0 40px 0;
    background-image: url(../imgs/common/header/bgr_nav.gif);
}

div.title {
    padding-left: 5%;
}

h1.lead {
    font-size: 2rem;
    line-height: 1.6;
    letter-spacing: 0.2rem;
    background: none;
}

nav.sub {
    background-color: #e4e4e4;
    margin-bottom: 70px;
    border-top: 1px solid #e9e9e9;
    padding-top: 20px;
}

nav.sub ul {
    display: table;
    table-layout: fixed;
    width: 980px;
    margin: 0 auto;
}

nav.sub ul li {
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    background-color: #0269b8;
    border-left: 1px solid #e9e9e9;
    font-size: 1.5rem;
    width: 100%;
}

nav.sub ul li.on {
    background-color: #f7f7f7;
    padding: 20px 0;
}

nav.sub ul li.on-single {
    background-color: #0269b8;
    padding: 20px 0;
    color: #fff;
}

nav.sub ul li a {
    display: block;
    padding: 20px 0;
}

nav.sub ul li a:link {
    color: #fff;
}

nav.sub ul li a:visited {
    color: #fff;
}

nav.sub ul li a:hover {
    background-color: #c0d7e9;
    color: #000;
}

nav.sub ul li a:hover {
    background-color: #c0d7e9;
    color: #000;
}


/* --------------------------------
 * main
 * -------------------------------- */
section.main {
    position: relative;
    margin-bottom: 50px;
}


section.main img {
    width: 100%;
    height: auto;

}

section.main2 {
    background-image: url(../imgs/index/bgr_main3.jpg);
    background-position: top center;
    background-size: contain;
    min-height: 1000px;
    margin-bottom: 100px;
    text-align: center;
}

.sale-banner {
    position: absolute;
    right: 11%;
    top: 34%;
}

.sale-banner p {
    font-size: 2.4rem;
    line-height: 1.6;
    font-weight: 700;
    color: #fff;
    margin-top: 20px;
    text-shadow: 2px 2px 3px #48baf0, -2px 2px 3px #48baf0, 2px -2px 3px #48baf0, -2px -2px 3px #48baf0;
    text-align: center;
}

.release {
    width: 100% !important;
    max-width: 300px;
    height: auto;
}

.square_btn {
    position: relative;
    display: inline-block;
    padding: 0.25em 0.5em;
    text-decoration: none;
    color: #FFF;
    background: #ac1c8a;
    /*色*/
    border: solid 1px #ac1c8a;
    /*線色*/
    border-radius: 4px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2);
    text-shadow: 0 1px 0 rgba(0, 0, 0, 0.2);
}

.square_btn:active {
    /*押したとき*/
    border: solid 1px #03A9F4;
    box-shadow: none;
    text-shadow: none;
}

li.twitter {
    padding-top: 15px !important;
}

/* --------------------------------
 * container
 * -------------------------------- */
div.container {}

div.container-pages {}

/* --------------------------------
 * section
 * -------------------------------- */
section {
    margin-bottom: 40px;

}

section div.inner {
    width: 980px;
    margin: 0 auto;
}

section h1 {
    font-size: 4rem;
    width: 90%;
    margin: 0 auto;
    background-image: url(../imgs/common/bgr/bgr_h1.gif);
    background-position: center;
    background-repeat: no-repeat;
    margin-bottom: 40px;

}

section h1 span {
    color: #666;
    font-size: 2rem;
    background-color: #fff;
    padding-right: 20px;

}

section div.wall {
    background-color: #f7f7f7;
}

section div.wall-single {
    background-color: #f7f7f7;
    padding: 40px 0;
    ;
}

/* --------------------------------
 * news
 * -------------------------------- */
section.news {}

section.news ul.list {
    margin-bottom: 40px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

section.news ul.list::after {
    content: "";
    display: block;
    width: 290px;
}

section.news ul.list li {
    width: 290px;
    margin: 0 0 70px 0;
}

section.news ul.list li:nth-child(3n) {
    margin-right: 0;
}

p.npic {
    margin-bottom: 16px;
}

p.ndate {
    color: #bb1881;
    font-size: 1.3rem;
    font-weight: 700;
    margin-bottom: 16px;
}

p.ndate span {
    background-color: #bb1881;
    color: #fff;
    padding: 0 5px;
    margin-right: 5px;
}

p.ntitle {
    font-size: 1.5rem;
    line-height: 1.4;
}

dl.news-detail {
    padding: 40px 0 40px 0;
}

dl.news-detail dt {
    color: #bb1881;
    font-weight: 700;
    font-size: 1.4rem;
    margin-bottom: 24px;
    border-bottom: 1px dotted #B4B4B4;
    padding-bottom: 10px;
}

dl.news-detail dd dt {
    color: #0269b8;
    font-size: 1.5rem;
}

dl.news-detail dd dd {
    margin-bottom: 40px;
}

dl.news-detail dd dd {
    text-align: left;
}

dl.news-detail dd dd img {
    border: 1px solid #C1C1C1;
}

dl.news-detail dd dt::before {
    content: "■ "
}

dl.news-detail dd.post {
    font-size: 2.6rem;
    margin-bottom: 40px;
}

dl.news-detail dd.contents {
    background-color: #fff;
    padding: 40px;
    font-size: 1.5rem;
    line-height: 1.7;
}

table.news {
    border-right: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    font-size: 1.4rem;
    line-height: 1.6;
}

table.news th {
    background-color: #F7F7F7;
}

table.news td,
table.news th {
    border-top: 1px solid #ccc;
    border-left: 1px solid #ccc;
    padding: 7px;
    text-align: left;
}

dl.news-detail p {
    margin-bottom: 30px;
}

dl.news-detail table {
    margin-bottom: 40px;
}

p.nheader {
    margin-bottom: 12px !important;
    font-size: 1.8rem !important;
}

/* --------------------------------
 * world
 * -------------------------------- */
dl.world-text {}

dl.world-text dt {
    color: #bb1881;
    font-size: 3rem;
    font-weight: 700;
    margin-bottom: 16px;
}

dl.world-text dd {
    font-size: 1.7rem;
    line-height: 1.6;
    letter-spacing: 0.1rem;
    margin-bottom: 30px;
}

/* --------------------------------
 * term
 * -------------------------------- */
ul.term-list {
    width: 860px;
    margin: 0 auto;
}

ul.term-list li {
    display: inline-block;
    vertical-align: top;
    width: 260px;
    margin-right: 40px;
    margin-bottom: 60px;
}

ul.term-list li:nth-child(3n) {
    margin-right: 0;
}

ul.term-list li dl {}

ul.term-list li dt {
    margin-bottom: 20px;
}

ul.term-list li dd.word {
    font-size: 2rem;
    color: #0269b8;
    margin-bottom: 20px;
}

ul.term-list li dd.word span {
    display: block;
    font-size: 1.2rem;
    color: #575757;
}

ul.term-list li dd {
    font-size: 1.4rem;
    line-height: 1.5;
}

/* --------------------------------
 * introduction
 * -------------------------------- */
section.introduction {
    background-image: url(../imgs/index/bgr_intro.jpg);
    background-position: center 90px;
    background-size: cover;
    background-repeat: no-repeat;
    min-height: 1000px;
    margin-bottom: 100px;
}

/* --------------------------------
 * books
 * -------------------------------- */
section.books {
    background-image: url(../imgs/index/bgr_books.jpg);
    background-position: center 90px;
    background-size: cover;
    background-repeat: no-repeat;
    min-height: 1000px;
    margin-bottom: 100px;
}

section.books p {
    font-size: 2rem;
    line-height: 1.6;
    letter-spacing: 0.2rem;
    padding-top: 200px;
}

/* --------------------------------
 * twitter
 * -------------------------------- */
section.twitter {}

section.twitter .tw-box {
    width: 60%;
    margin: 0 auto;

}

iframe {
    width: 740px !important;
}

/* --------------------------------
 * footer
 * -------------------------------- */
footer {
    background-image: url(../imgs/common/footer/bgr_footer.jpg);
    padding: 36px 0;
}

footer p {
    width: 100%;
    max-width: 980px;
    margin: 0 auto;
    background-image: url(../imgs/common/footer/footer_logo.png);
    background-repeat: no-repeat;
    padding-left: 290px;
    color: #fff;
    font-size: 1.2rem;
    line-height: 1.6;
    letter-spacing: 0.2rem;
}

/* --------------------------------
 * cover
 * -------------------------------- */
section.news-cover {
    background-image: url(../imgs/news/cover.jpg);
    min-height: 195px;
    background-position: center 45px;
    background-repeat: no-repeat;
    background-size: cover;
    padding-left: 20px;
}

section.world-cover {
    background-image: url(../imgs/world/cover.jpg);
    min-height: 195px;
    background-position: center 45px;
    background-repeat: no-repeat;
    background-size: cover;
    padding-left: 20px;
}

section.term-cover {
    background-image: url(../imgs/term/cover.jpg);
    min-height: 195px;
    background-position: center 45px;
    background-repeat: no-repeat;
    background-size: cover;
    padding-left: 20px;
}

section.character-cover {
    background-image: url(../imgs/character/cover.jpg);
    min-height: 195px;
    background-position: center 45px;
    background-repeat: no-repeat;
    background-size: cover;
    padding-left: 20px;
}

section.book-cover {
    background-image: url(../imgs/book/cover.jpg);
    min-height: 195px;
    background-position: center 45px;
    background-repeat: no-repeat;
    background-size: cover;
    padding-left: 20px;
}

section.goods-cover {
    background-image: url(../imgs/goods/cover.jpg);
    min-height: 195px;
    background-position: center 45px;
    background-repeat: no-repeat;
    background-size: cover;
    padding-left: 20px;
}

/* --------------------------------
 * end
 * -------------------------------- */

.character-list {
    padding-bottom: 40px;
}

/* タブメニュー */
.character-list #tab-menu {
    width: 305px;
    float: left;
}

.character-list #tab-menu li {
    float: left;
    width: 95px;
    margin-right: 10px;
    margin-bottom: 20px;
}

.character-list #tab-menu li:nth-child(3n) {
    margin-right: 0;
}

.character-list #tab-menu li.active {
    background: #0269b8;
    opacity: 0.5;
}

/* タブの中身 */
.character-list #tab-box {
    width: 635px;
    float: right;
    background-color: #fff;
    text-align: center;
}

.character-list #tab-box div {
    display: none;
}

.character-list #tab-box div.active {
    display: block;
}

.character-list #tab-menu img {
    cursor: pointer;
}

/* --------------------------------
 * book-list
 * -------------------------------- */
.book-list #tab-menu {
    width: 840px;
    margin: 30px auto;
}

.book-list #tab-menu li {
    float: left;
    width: 95px;
    margin-right: 10px;
    padding-bottom: 20px;
}

.book-list #tab-menu img {
    cursor: pointer;
}

.book-list #tab-menu li:nth-last-child(1) {
    margin-right: 0;
}

.book-list #tab-menu li.active {
    opacity: 0.5;
}

/*****************************/
.book-list #tab-menu2 {
    width: 315px;
    margin: 30px auto;
}

.book-list #tab-menu2 li {
    float: left;
    width: 95px;
    margin-right: 10px;
    padding-bottom: 20px;
}

.book-list #tab-menu2 img {
    cursor: pointer;
}

.book-list #tab-menu2 li:nth-last-child(1) {
    margin-right: 0;
}

.book-list #tab-menu2 li.active {
    opacity: 0.5;
}

/*****************************/
/* タブの中身 */
.book-list #tab-box {
    background-color: #fff;
    text-align: center;
}

.book-list #tab-box div {
    display: none;
}

.single {
    padding-bottom: 30px;
}

.book-list #tab-box div.active {
    display: block;
    padding: 20px;
}

.book-list #tab-box div.active dl {
    display: flex;
    width: 800px;
    margin: 0 auto;
}

.book-list #tab-box div.active dt {
    width: 336px;
}

.book-list #tab-box div.active dd {
    width: 464px;
    text-align: left;
    padding-left: 40px;
    align-self: flex-end;
    line-height: 1.7;
    font-size: 1.5rem;
}

.book-list #tab-box div.active dd strong {
    display: block;
    margin: 30px 0;
    font-size: 1.8rem;
}

section.goods div.wrapper {
    padding: 0 !important;
}

ul.goods-list {
    width: 960px;
    margin: 0 auto;
    padding: 40px 0;
    display: flex;
    flex-wrap: wrap;
}

ul.goods-list li {
    width: 240px;
    min-height: 250px;
    margin-bottom: 60px;
    vertical-align: top;
    border-left: 1px dotted #B9B9B9;
    border-bottom: 1px dotted #B9B9B9;
    padding: 0 40px 0 40px;
}

ul.goods-list li:nth-child(4n) {
    margin-right: 0;
    border-right: 1px dotted #B9B9B9;
}

ul.goods-list li:last-child {
    margin-right: 0;
    border-right: 1px dotted #B9B9B9;
}

ul.goods-list li p {
    font-size: 1.4rem;
    line-height: 1.6;
    padding-top: 10px;
    text-align: center;
    border-top: 1px dotted #B9B9B9;
    margin-top: 10px;

}

div.wrapper {
    background-color: #fff;
    padding: 20px;
}

.goods-inner {
    padding: 40px;
    border: 1px solid #DCDCDC;
}

.goods-inner table {
    width: 100%;
}

.goods-inner .left {
    text-align: center;
    margin-bottom: 40px;
}

.goods-inner .right {}

div.goods-detail {
    width: 980px;
    margin: 0 auto;
}

p.goods-name {
    color: #0269b8;
    font-size: 3.6rem;
    margin-bottom: 16px;
}

p.goods-lead {
    font-size: 1.6rem;
    line-height: 1.6;
    margin-bottom: 40px;
}

table.spec {
    border-right: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    font-size: 1.4rem;
    line-height: 1.6;
}

table.spec th {
    background-color: #F7F7F7;
}

table.spec td,
table.spec th {
    border-top: 1px solid #ccc;
    border-left: 1px solid #ccc;
    padding: 7px;
    text-align: left;
}

p.introductin-copy {
    font-size: 3.8rem;
    line-height: 1.6;
    letter-spacing: 0.1rem;
    font-weight: 700;
    color: #fff;
    text-align: center;
    margin-top: 240px;
    text-shadow: 2px 2px 1px #000;
}

p.introductin-lead {
    font-size: 1.8rem;
    line-height: 2;
    letter-spacing: 0.1rem;
    font-weight: 700;
    color: #fff;
    text-align: center;
    margin-top: 100px;
    text-shadow: 2px 2px 1px #000;
}

p.story {
    font-size: 1.6rem;
    line-height: 1.6;
    padding-bottom: 40px;
}

.button {
    display: inline-block;
    width: 180px;
    height: 45px;
    text-align: center;
    text-decoration: none;
    line-height: 45px;
    outline: none;
}

.button::before,
.button::after {
    position: absolute;
    z-index: -1;
    display: block;
    content: '';
}

.button,
.button::before,
.button::after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: all .3s;
    transition: all .3s;
}

.button {
    background-color: #333;
    border: 2px solid #333;
    color: #fff;
    line-height: 45px;
    border-radius: 40px;
}

.button:hover {
    background-color: #fff;
    border-color: #0269b8;
    color: #0269b8;
}

p.endnav {
    padding: 20px 0 40px 0;
    text-align: center;
    font-size: 1.4rem;
}

.movie-wrap {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 0;
    height: 0;
    overflow: hidden;
}

.movie-wrap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

dd.contents p a {
    text-decoration: underline;
    color: #444A8B;
}

dd.contents p.img {
    text-align: center;
}

dd.contents p.img img {
    border: 1px solid #C1C1C1;
}

dd.contents p.note {
    padding-top: 10px;
    font-size: 1.4rem;
}

p.note {
    border-top: 1px dotted #ccc;
    border-bottom: 1px dotted #ccc;
    padding: 20px 0 !important;
}

.stb3 {
    color: #fff !important;
    font-size: 3.2rem !important;
    font-weight: 700;
    padding: 30px 0;
    text-align: center;

    background: -webkit-linear-gradient(90deg, rgb(68, 175, 255), rgb(254, 31, 128));
    background: linear-gradient(90deg, rgb(68, 175, 255), rgb(254, 31, 128));

    margin-bottom: 20px;
}

.normalimg {
    width: 298px !important;
    height: auto;
}

.banners-vod {
    width: 95%;
    display: flex;
    justify-content: center;
    margin: 0 auto !important;
    padding: 0 !important;
    flex-wrap: wrap;
}

.banners-vod li {
    margin-bottom: 30px;
    margin-right: 2%;
}

.banners-vod li:nth-last-child(1) {
    margin-right: 0;
}

.banners-vod img:hover {
    opacity: 0.7;
}

.banners-vod img {
    width: 100%;
    height: auto;
}

.banners-vod::after {
    content: none !important;
}

strong.pheader {
    color: #E12074;
    font-size: 1.8rem;
}

strong.red {
    font-weight: 700;
    color: #E41215;
}

.stb5-voice {
    margin-bottom: 60px;
}

.stb5-voice img {
    width: 100%;
    height: auto;
}

.stb5-voice strong {
    font-size: 2rem;
}

.stb5-voice strong span {
    color: #262626;
}

.stb5-voice-wrapper {
    display: flex;
}

.stb5-voice-wrapper div:nth-child(1) {
    width: 42%;
}

.stb5-voice-wrapper div:nth-child(2) {
    width: 58%;
    line-height: 1.8;
    padding-left: 5%;
}

@media (max-width:599px) {

    div.view {
        width: 1000px;
    }

}