@charset "UTF-8";

@font-face {
    font-family: 'Noto Serif Japanese';
    font-style: normal;
    font-weight: 400;
    src: url('../font/NotoSerifCJKjp-Regular.woff') format('woff');
}

@font-face {
    font-family: 'Noto Serif Japanese';
    font-style: normal;
    font-weight: 700;
    src: url('../font/NotoSerifCJKjp-Bold.woff') format('woff');
}

body {
    font-family: 'Noto Serif Japanese', sans-serif, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "MS Pゴシック", "MS PGothic", Arial, Helvetica, Verdana;
    background-color: #000;
}

#main_contents {
    font-family: 'Noto Serif Japanese', sans-serif, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "MS Pゴシック", "MS PGothic", Arial, Helvetica, Verdana;
    -webkit-font-smoothing: antialiased;
    position: relative;
    margin: 0 auto;
    overflow: hidden;
    width: 100%;
    font-size: 16px;
    background: url(../img/bg.gif) top center repeat;
    color: #FFF;
}

.l-sp-only {
    display: block;
    visibility: visible;
}

.site-head-inner {
    max-width: 960px;
    margin-left: auto;
    margin-right: auto;
    padding: 15px 0;
}

.header-site-name-under {
    letter-spacing: 0;
    line-height: 16px;
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: 0 0;
    text-indent: 0;
    list-style: none;
}

.header-scrap-logo-line {
    display: inline-block;
    width: 89px;
    vertical-align: middle;
    position: relative;
}

.header-scrap-logo-line span {
    display: block;
    text-indent: -9999px;
}

.header-scrap-logo-line::after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 50%;
    width: 100%;
    padding-top: 10.12658%;
    background: url(../img/created_by_ajito_y.svg) center center no-repeat;
    background-size: 100% 100%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}

.header-scrap-logo-line::after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 50%;
    width: 100%;
    padding-top: 10.12658%;
    background: url(../img/created_by_ajito_y.svg) center center no-repeat;
    background-size: 100% 100%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}

.business-info {
    display: inline-block;
    margin: 0;
    padding: 0;
    vertical-align: middle;
    font-size: 7px;
    line-height: inherit;
    font-weight: 600;
}

.business-info-open {
    background-image: url(../img/icon_opentime.svg);
}

.business-info li {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    background-repeat: no-repeat;
    background-position: left center;
    font-size: 7px;
    display: inline-block;
    background-size: 9px;
    padding-left: 11px;
    vertical-align: middle;

}

.business-info-price {
    background-image: url(../img/icon_price.svg);
}

.business-info li {
    font-size: 7px;
    display: inline-block;
    background-size: 9px;
    padding-left: 11px;
    vertical-align: middle;
}

#banner {
    font-family: Hiragino Sans, "ヒラギノ角ゴシック", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Roboto, sans-serif;
    padding: 15px 3%;
    font-size: 7px;
    color: #000;
    background-color: #fff;
}

#title_logo {
    width: 100%;
    margin-bottom: 4px;
}

#title_after {
    letter-spacing: 0;
    line-height: 16px;
}

#yokohama img {
    width: 95px;
}

#open_time {
    font-size: 100%;
}

.img_div {
    line-height: 0;
}

#main_visual {
    width: 100%;
    height: auto;
}

#attention {
    padding: 4% 3.12%;
    background-color: #ab2025;
    color: #fff;
    font-size: 3.12vw;
}

#story {
    background: url(../img/story_bg_y.jpg) top center no-repeat;
    background-color: #000;
    background-size: 100% auto;
}

#story h2 {
    padding: 18.75% 3.12% 0;
}

#story h2 img {
    width: 31.56%;
}

#story #story_text {
    font-size: 3.75vw;
    padding: 6.09% 3.12% 18.43%;
    font-family: 'Noto Serif Japanese', sans-serif, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "MS Pゴシック", "MS PGothic", Arial, Helvetica, Verdana;
}

#story #story_text p {
    opacity: 0;
    color: #fff;
    line-height: 2.5em;
}

#story #story_text p + p {
    padding-top: 8.38%;
}

#story #story_text p em {
    font-size: 5.62vw;
    color: #ffd400;
    font-weight: bold;
    font-style: normal;
}

#statement {
    background-color: #000;
}

#statement .inner {
    padding: 0 0 10%;
    text-align: center;
}

#statement .inner p {
    opacity: 0;
    font-size: 3.75vw;
    line-height: 1.8em;
    color: #ffd400;
    font-weight: bold;
}

#main_contents .inner {
    margin: 0 auto;
    box-sizing: border-box;
}

#caselist {
    background: url(../img/line_right_bg.svg) center no-repeat;
    background-size: cover;
}

#caselist h2 img {
    width: 39.21%;
}

#caselist .inner {
    padding: 18.75% 3.12% 18.43%;
}

#caselist .list {
    position: relative;
    padding: 48px 0 0;
    padding-top: 7.41%;
}

#caselist ul li {
    display: inline-block;
    letter-spacing: normal;
    width: 100%;
    height: auto;
    background-color: transparent;
}

#caselist ul li a span {
    padding: 0;
    width: 100%;
    display: inline-block;
    position: relative;
    z-index: 3;
}

#caselist ul li img {
    width: 100%;
}

#caselist .list ul {
    margin-top: 3.87%;
}

#caselist .list ul li {
    opacity: 0;
}

#caselist .list ul li + li {
    margin-left: 0;
    margin-top: 3.87%;
}

#caselist .list .season {
    top: -116px;
    right: 0;
    position: static;
    text-align: right;
}

#caselist .list .season img {
    width: 62.25%;
}

#caselist .sub {
    text-align: center;
    font-size: 36px;
    color: #ffd400;
    padding: 80px 0 0;
    font-weight: bold;
    padding-top: 10.8%;
    font-size: 1.09rem;
    font-size: 5.46vw;
}

#graduate {
    overflow: hidden;
    background: url(../img/line_character_bg.svg) center no-repeat;
    background-size: cover;
    padding-bottom: 90px;
}

#graduate .inner {
    padding: 120px 0;
}

#graduate h2 {
    position: relative;
    z-index: 2;
}

#graduate .select {
    width: 1016px;
    height: 785px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}

#graduate .select .select_list {
    position: absolute;
}

#graduate .select .select_list ul {
    list-style: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

#graduate .select .select_list ul li {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: none;
}

#graduate .select .name_list {
    top: -235px;
    left: -94px;
    width: 652px;
    height: 685px;
    z-index: 3;
}

#graduate .select .txt_list {
    top: 328px;
    left: 68px;
    width: 420px;
    height: auto;
    z-index: 7;
}

#graduate .select .txt_list ul li {
    border: solid 1px #ab2025;
    padding: 25px;
    background-color: #000;
    height: auto;
    overflow: hidden;
    box-sizing: border-box;
}

#graduate .select .txt_list ul li p {
    font-size: 14px;
    line-height: 1.8em;
}

#graduate .select .character_list_small {
    top: -117px;
    left: 510px;
    width: 226px;
    height: 715px;
    z-index: 6;
    display:none;
}

#graduate .select .character_list_large {
    top: -495px;
    left: 380px;
    width: 911px;
    height: 1426px;
    z-index: 5;
}

#graduate .select .nav {
    position: absolute;
    top: 600px;
    left: 0;
    width: 100%;
    z-index: 5;
}

#graduate .select .nav ul {
    list-style: none;
    width: 100%;
}

#graduate .select .nav ul li {
    position: relative;
    width: 128px;
    height: 180px;
    float: left;
}

#graduate .select .nav ul li + li {
    margin-left: 20px;
}

#graduate .select .nav ul li a {
    position: absolute;
    display: inline-block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(../img/bg.gif) center repeat;
}

#graduate .select .nav ul li a .cursor {
    position: absolute;
    top: -8px;
    left: -8px;
    width: 144px;
    height: 196px;
    background: url(../img/chara_cursor.png) center no-repeat;
    background-size: contain;
    z-index: 2;
    opacity: 0;
}

#graduate .select .nav ul li a:before,
#graduate .select .nav ul li a:after {
    content: "";
    display: inline-block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-position: right bottom;
    background-size: contain;
}

#graduate .select .nav ul li:nth-child(1) a:before {
    background-image: url(../img/character/character_icon_1_off.png);
}

#graduate .select .nav ul li:nth-child(2) a:before {
    background-image: url(../img/character/character_icon_2_off.png);
}

#graduate .select .nav ul li:nth-child(3) a:before {
    background-image: url(../img/character/character_icon_3_off.png);
}

#graduate .select .nav ul li:nth-child(4) a:before {
    background-image: url(../img/character/character_icon_4_off.png);
}

#graduate .select .nav ul li:nth-child(5) a:before {
    background-image: url(../img/character/character_icon_5_off.png);
}

#graduate .select .nav ul li:nth-child(6) a:before {
    background-image: url(../img/character/character_icon_6_off.png);
}

#graduate .select .nav ul li:nth-child(7) a:before {
    background-image: url(../img/character/character_icon_7_off.png);
}

#graduate .select .nav ul li:nth-child(8) a:before {
    background-image: url(../img/character/character_icon_8_off.png);
}

#graduate .select .nav ul li:nth-child(9) a:before {
    background-image: url(../img/character/character_icon_9_off.png);
}

#graduate .select .nav ul li:nth-child(1) a:after {
    background-image: url(../img/character/character_icon_1_on.png);
}

#graduate .select .nav ul li:nth-child(2) a:after {
    background-image: url(../img/character/character_icon_2_on.png);
}

#graduate .select .nav ul li:nth-child(3) a:after {
    background-image: url(../img/character/character_icon_3_on.png);
}

#graduate .select .nav ul li:nth-child(4) a:after {
    background-image: url(../img/character/character_icon_4_on.png);
}

#graduate .select .nav ul li:nth-child(5) a:after {
    background-image: url(../img/character/character_icon_5_on.png);
}

#graduate .select .nav ul li:nth-child(6) a:after {
    background-image: url(../img/character/character_icon_6_on.png);
}

#graduate .select .nav ul li:nth-child(7) a:after {
    background-image: url(../img/character/character_icon_7_on.png);
}

#graduate .select .nav ul li:nth-child(8) a:after {
    background-image: url(../img/character/character_icon_8_on.png);
}

#graduate .select .nav ul li:nth-child(9) a:after {
    background-image: url(../img/character/character_icon_9_on.png);
}

#graduate .select .nav ul li a:after {
    opacity: 0;
}

#graduate .select .nav ul li.active a:before {
    opacity: 0;
}

#graduate .select .nav ul li.active a:after {
    opacity: 1;
}

#graduate {
    height: auto;
    background: url(../img/line_character_bg.svg) top left no-repeat;
    background-size: cover;
}

#graduate .inner {
    padding: 18.75% 3.12% 18.43%;
}

#graduate h2 img {
    width: 61.29%;
}

#graduate .select {
    width: 100%;
    height: auto;
}

#graduate .select:before {
    content: "";
    display: inline-block;
    padding-top: 264%;
}

#graduate .select .name_list {
    top: 0;
    left: -14%;
    width: 90%;
    height: auto;
    z-index: 3;
    margin-top: -25%;
}

#graduate .select .name_list li img {
    width: 100%;
}

#graduate .select .txt_list ul li {
    padding: 3%;
}

#graduate .select .txt_list ul li p {
    font-size: 0.75rem;
    font-size: 3.75vw;
}

#graduate .select .character_list_small {
    top: 0;
    left: 10%;
    width: 30%;
    height: auto;
    margin-top: 35%;
}

#graduate .select .character_list_small li img {
    width: 100%;
}

#graduate .select .character_list_large {
    top: 0;
    left: 0%;
    width: 100%;
    height: auto;
    margin-top: -2%;
}

#graduate .select .character_list_large li img {
    width: 100%;
}

#graduate .select .txt_list {
    top: 0;
    left: 0;
    width: 100%;
    height: auto;
    margin-top: 130%;
}

#graduate .select .nav {
    top: 0;
    left: 0;
    width: 100%;
    margin-top: 198%;
}

#graduate .select .nav ul {
    letter-spacing: -.4em;
    text-align: center;
}

#graduate .select .nav ul li {
    float: none;
    letter-spacing: normal;
    display: inline-block;
    width: 21.91%;
    height: auto;
    margin: 2% 4% !important;
}

#graduate .select .nav ul li:before {
    content: "";
    display: inline-block;
    padding-top: 135%;
}

#graduate .select .nav ul li a .cursor {
    display: none;
}

#graduate .designer {
    padding-top: 12.9%;
}

#graduate .designer > img {
    width: 80.48%;
}

#graduate .designer .info {
    width: 100%;
    margin: 0 auto;
    padding: 3.83%;
    margin-top: 6.4%;
}

#graduate .designer .info .info_inner {
    display: block;
}

#graduate .designer .info .info_inner figure,
#graduate .designer .info .info_inner .txt {
    display: block;
    vertical-align: middle;
}

#graduate .designer .info .info_inner figure {
    padding-right: 0;
    padding: 7.6% 0;
}

#graduate .designer .info .info_inner figure img {
    width: 42%;
}

#graduate .designer .info .info_inner .txt {
    font-size: 0.75rem;
    font-size: 3.75vw;
    line-height: 1.8em;
}

#graduate .inner h2 img {
    width: 33.54%;
}

#graduate #graduate_block {
    margin: 8.27% 0 0;
    border: solid 1px #ab2025;
    background-color: #000;
}

#ticket .inner h2 {
    text-align: right;
}

#ticket .inner h2 img {
    width: 33.54%;
}

#ticket_block {
    margin: 8.27% 0 0;
    border: solid 1px #ab2025;
    background-color: #000;
}

#ticket_block ul {
    padding: 0 3.22%;
    list-style: none;
    letter-spacing: -.4em;
}

#ticket_block ul li {
    width: 100% !important;
    min-height: auto;
    padding: 5.44% 0;
    position: relative;
    list-style: none;
    display: inline-block;
    letter-spacing: normal;
    box-sizing: border-box;
    vertical-align: top;
}

#ticket_block ul li + li {
    border-top: dotted 2px rgba(171, 32, 37, 0.7);
}

#ticket_block ul li .ttl:before {
    content: "■";
    color: #ab2025;
}

#ticket_block ul li .ttl {
    font-size: 5vw;
    font-weight: bold;
}

#ticket_block ul li .txt {
    line-height: 1.5em;
    padding-top: 15px;
    font-size: 3.75vw;
}

#ticket_block ul li .txt .spti5 {
    display: block;
    padding-left: 5em;
    text-indent: -5em;
}

#ticket_block ul li .txt a {
    display: inline-block;
    position: relative;
    vertical-align: middle;
    margin: 0 0 0 0.5em;
    width: 64.86%;
    line-height: 0;
    height: auto;
    padding-top: 12.7%;
    box-sizing: border-box;
    background: url(../img/entry_btn_buy.png) center no-repeat;
    background-size: contain;
}

#twitter .inner h2 img {
    width: 41.56%;
}

#main_contents .section .inner {
    width: 100%;
}

.inner {
    padding: 18.75% 3.12% 18.43%;
}

#twitter_wrap {
    margin: 7.74% 0 0;
    text-align: center;
}

#bottom .inner {
    text-align: center;
}

#bottom .inner #share {
    letter-spacing: -.4em;
}

#bottom .copy {
    padding-top: 12.5%;
}

#bottom .copy img {
    width: 71.56%;
}

#overlay_wrapper {
    display: none;
}

#overlay {
    font-family: Hiragino Sans, "ヒラギノ角ゴシック", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Roboto, sans-serif;
    width: 100%;
    height: 100%;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 100;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: rgba(0, 0, 0, 0.5);
}

#overlay_box {
    padding: 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background-color: #fff;
}
