@charset "UTF-8";
/* CSS Document */

* {
    margin: 0;
    padding: 0;
}
*:focus {
    outline: none;
}
/*========================================

main style

========================================*/
body {
    font-family: "fot-tsukuardgothic-std", "Hiragino Maru Gothic ProN", "sans-serif";
    font-size: 1rem; /* 1rem=16px */
    width: 100%;
    color: #222;
    min-width: 768px;
}
img {
    max-width: 100%;
    height: auto;
}
a {
    text-decoration: none;
    color: #222;
}
li {
    list-style: none;
    display: inline-block;
 *display: inline;
 *zoom: 1;
}
button {
    background-color: transparent;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    appearance: none;
}
input[type="text"], input[type="password"], textarea, select {
    outline: none;
}
.wrapper-main {
    max-width: 1200px;
    padding: 0 20px;
    margin: 0 auto;
}
.wrapper-contents-height {
    position: relative;
    top: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100vh;
}
.wrapper-contents-width {
    position: relative;
    top: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100vw;
    height: 100%;
}
/*========================================

font

========================================*/
h1, h2, h3 {
    font-weight: 400;
    line-height: 1.2;
}
h1 img {
    padding-top: 10px;
    width: 80%;
    height: 80%;
}
h2 img {
}
h3 {
    font-size: 1.875rem;
    border-top: solid 1px #222;
    border-bottom: solid 1px #222;
    padding: 30px 0;
    margin: 15px 0 30px;
}
p {
    font-size: 1rem;
    line-height: 1.5;
}
.newline {
    margin-bottom: 1.5em;	/* 改行 */
}
/*----------------------------------------

update-info

----------------------------------------*/
.update-info {
    top: 0;
    width: 100%;
    height: 40px;
    background: #222;
}
.info-text {
    display: table;
    position: absolute;
    top: 0.3%;
}
.info-text .up-day {
    display: table-cell;
    color: #e4f6ff;
    font-size: 0.75rem;
    padding: 0 10px 0 45px;
    background: url("../img/00-keyvisual/icon-up.png") no-repeat 0.5rem;
}
.info-text .text {
    display: table-cell;
    color: #fff;
}
/*----------------------------------------

top ( key visual )

----------------------------------------*/
#top {
    background: #fff;
}
.top-area {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}
.logo-area {
    padding: 50px 20px;
}
.logo-area img {
    display: table;
    max-width: 1200px;
    margin: 0 auto;
}
.keyvisual {
    display: flex;
    width: 100%;
}
.keyvisual img {
    width: 12.5%; /* calc()ファンクションに未対応なブラウザ用（数値は実装環境に適するものを指定） */
    width: -webkit-calc(100% / 8);
    width: calc(100% / 8);
    height: 12.5%; /* calc()ファンクションに未対応なブラウザ用（数値は実装環境に適するものを指定） */
    height: -webkit-calc(100%/8);
    height: calc(100% / 8);
}
.catchcopy img {
    padding: 60px 0 70px;
    margin: 0 auto;
}
.top-area-sp{
	display: none;
}
/*----------------------------------------

side-nav ( navigation )

----------------------------------------*/



/*----------------------------------------

story

----------------------------------------*/
.title-story{
	background: url("../img/01-story/title-story.png") no-repeat;
	padding: 70px;
}
.story {
    background: url("../img/01-story/bg-story.png") no-repeat 50%;
    background-color: #dbf9ff;
    padding: 150px 0;
}
.story-contents {
    display: flex;
}
.story-left {
    width: 55%;
}
.story-right {
    width: 35%;
}
.story-right li {
    font-size: 1rem;
}
.story-right li span {
    background-color: #ffe954;
}
.story-link {
    display: block;
    text-align: center;
    margin: 50px auto 0;
}
/*----------------------------------------

character

----------------------------------------*/
.character {
    background-color: #68c9f3;
	transition: all 0.5s ease;
	
}
.box-character {
    display: flex;
    padding: 50px;
}
.box-left-character {
    width: 45%;
}
.box-right-character {
    width: 55%;
}
#Character h2 img {
    display: block;
    margin-top: 120px;
}
.btn-character-area {
    position: absolute;
    top: 50%;
}
.btn-character-area input {
    margin-right: 10px;
    display: table-cell;
}
.btn-character-area img {
    max-width: 100%;
    height: auto;
}
.btn-top, .btn-bottom {
    display: flex;
}
.btn-bottom {
    margin-left: 65px;
}
/*----------------------------------------

Theater (ティラノスクリプト)

----------------------------------------*/
.title-theater{
	background: url("../img/03-theater/title-theater.png") no-repeat;
	padding: 70px;
}
.Theater {
    background: #fff;
    padding-top: 100px;
}
.box-theater {
}
.contents-story {
    display: flex;
    width: 100%;
    justify-content: space-between;
    margin-bottom: 200px;
}
.contents-story:nth-child(odd) {
    flex-direction: row-reverse;
}
.contents-img {
    width: 47%;
}
.contents-img img {
    display: block;
    width: 100%;
    height: auto;
}
.contents-text {
    width: 50%;
}
.text-heading {
    width: 100%;
    display: table;
    font-size: 0;
    line-height: 1;
}
.text-heading .season-number {
    display: table-cell;
    font-family: "house-script";
    font-size: 1.875rem;
    background: linear-gradient(left, #92cfef, #469fe5);
    background: -webkit-linear-gradient(left, #92cfef, #469fe5);
    background: -moz-linear-gradient(left, #92cfef, #469fe5);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    padding-right: 10px;
    width: 14%;
}
.text-heading .episode-number {
    display: table-cell;
    font-size: 3.2rem;
    color: #00a0ea;
}
.text-heading .up-day {
    display: table-cell;
    text-align: right;
    font-size: 0.75rem;
    color: #666;
}
/* カミングスーン */
.movie-next img {
    display: block;
    width: 70%;
    height: 70%;
    margin: 150px auto;
}
/*----------------------------------------

link area

----------------------------------------*/
.title-link{
	background: url("../img/04-link/title-link.png") no-repeat;
	padding: 70px;
}
.link-area {
    background: url("../img/04-link/bg-link.jpg");
    padding: 150px 0;
}
.link-contentes {
    display: flex;
}
.link-area-left {
    width: 30%;
	margin: auto 0;
}
.link-area-right {
    width: 70%;
}
.link-area .link-area-right img {
    box-shadow: 5px 5px 4px #ccc;
}
.link-area .link-area-right img:nth-child(1) {
    margin-bottom: 70px;
}
/*----------------------------------------

footer

----------------------------------------*/
footer {
    background-color: #469fe5;
    position: relative;
    z-index: 2;
    padding: 40px 0 22px;
    margin-top: -32px;
}
footer p {
    color: #fff;
    font-size: 0.625rem;
    text-align: center;
}
.contents-sns {
    display: none;
    justify-content: center;
    align-items: center;
    margin-bottom: 25px;
}
.btn-sns-twitter svg, .btn-sns-line svg {
    width: 35px;
    height: 35px;
    fill: #222;
    background-color: #fff;
    border-radius: 50px;
    padding: 10px;
    margin: 0 10px;
    transition: all 0.3s ease;
}
.btn-sns-twitter svg:hover {
    width: 35px;
    height: 35px;
    fill: #fff;
    background-color: #55acee;
    border-radius: 50px;
    padding: 10px;
    margin: 0 10px;
}
.btn-sns-line svg:hover {
    width: 35px;
    height: 35px;
    fill: #fff;
    background-color: #00b900;
    border-radius: 50px;
    padding: 10px;
    margin: 0 10px;
}
