@charset "UTF-8";

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
html {
    line-height: 1.15;
    -webkit-text-size-adjust: 100%
}

body {
    margin: 0
}

main {
    display: block
}

h1 {
    font-size: 2em;
    margin: .67em 0
}

hr {
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    height: 0;
    overflow: visible
}

pre {
    font-family: monospace, monospace;
    font-size: 1em
}

a {
    background-color: transparent
}

abbr[title] {
    border-bottom: none;
    text-decoration: underline;
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted
}

b,
strong {
    font-weight: bolder
}

code,
kbd,
samp {
    font-family: monospace, monospace;
    font-size: 1em
}

small {
    font-size: 80%
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

img {
    border-style: none
}

button,
input,
optgroup,
select,
textarea {
    font-family: inherit;
    font-size: 100%;
    line-height: 1.15;
    margin: 0
}

button,
input {
    overflow: visible
}

button,
select {
    text-transform: none
}

[type=button],
[type=reset],
[type=submit],
button {
    -webkit-appearance: button
}

[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner,
button::-moz-focus-inner {
    border-style: none;
    padding: 0
}

[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring,
button:-moz-focusring {
    outline: 1px dotted ButtonText
}

fieldset {
    padding: .35em .75em .625em
}

legend {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    color: inherit;
    display: table;
    max-width: 100%;
    padding: 0;
    white-space: normal
}

progress {
    vertical-align: baseline
}

textarea {
    overflow: auto
}

[type=checkbox],
[type=radio] {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
    height: auto
}

[type=search] {
    -webkit-appearance: textfield;
    outline-offset: -2px
}

[type=search]::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

details {
    display: block
}

summary {
    display: list-item
}

template {
    display: none
}

[hidden] {
    display: none
}

html {
    font-size: 62.5%;
    line-height: 1.5
}

@media screen and (min-width:751px) and (max-width:959px) {
    html {
        font-size: 40%
    }
}

body {
    font-family: 'Noto Serif JP', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS P Gothic", sans-serif;
    margin: 0;
    padding: 0;
    font-size: 1.6em
}

* {
    margin: 0;
    padding: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

fieldset,
img {
    border: 0
}

address,
caption,
cite,
code,
dfn,
em,
th,
var {
    font-style: normal;
    font-weight: 400
}

img {
    max-width: 100%;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    vertical-align: bottom
}

dl,
ol,
ul {
    padding: 0;
    margin: 0;
    list-style: none
}

caption,
th {
    text-align: left
}

h1,
h2,
h3,
h4,
h5,
h6,
p {
    margin-top: 0;
    font-size: 100%;
    font-weight: 400
}

p {
    margin: 0;
    line-height: 1.6em
}

q:after,
q:before {
    content: ''
}

abbr,
acronym {
    border: 0
}

a {
    text-decoration: none
}

a img {
    border: none
}

a:link {
    color: #ff4280;
    text-decoration: none
}

a:visited {
    color: #ff4280;
    text-decoration: none
}

a:active,
a:focus,
a:hover {
    color: #ff91b5;
    text-decoration: none
}

.clearfix::after {
    content: " ";
    display: block;
    clear: both
}

#ikemen_header {
    background-color: #000;
    position: relative;
    z-index: 6;
    font-family: "Hiragino Kaku Gothic Pro", "Hiragino Kaku Gothic ProN", Meiryo, "MS PGothic", sans-serif
}

#ikemen_header .container {
    max-width: 1200px;
    margin: 0 auto
}

#ikemen_header ul {
    padding-left: 1em;
    padding-bottom: .5em
}

#ikemen_header ul li {
    margin: .5em 0 0 0;
    display: inline-block;
    vertical-align: middle;
    margin-right: 10px;
    font-size: 1rem;
    line-height: 20px
}

@media screen and (min-width:751px) {
    #ikemen_header ul li {
        font-size: 1.3rem;
        line-height: 24px
    }
}

#ikemen_header ul li a {
    color: #fff
}

#footer {
    font: inherit;
    font-family: inherit;
    font-weight: inherit;
    font-style: inherit;
    margin: 0;
    padding: 0;
    vertical-align: baseline;
    border: 0;
    outline: 0;
    width: 100%;
    background: #000;
    font-size: 12px;
    color: #fff;
    line-height: 3em;
    font-family: "Hiragino Kaku Gothic Pro", "Hiragino Kaku Gothic ProN", Meiryo, "MS PGothic", sans-serif
}

#footer a {
    color: #fff;
    font-size: 14px
}

#footer .ft_sitemap {
    padding: 50px 0;
    overflow: hidden;
    max-width: 1200px;
    margin: 0 auto
}

#footer .footer_cnt {
    float: left;
    padding: 0 36px
}

@media screen and (min-width:751px) {
    .footer_list li {
        list-style: disc;
        list-style-position: inside
    }

    .footer_list li.toggle-wrapper {
        list-style: none
    }

    .footer_list li.toggle-wrapper #js-toggle_list li {
        list-style: disc;
        list-style-position: inside
    }
}

@media screen and (max-width:1139px) {
    #footer .footer_logo_img {
        float: none;
        margin-bottom: 10px
    }
}

#footer .footer_cnt.block_content,
#footer .footer_cnt.block_title {
    border-right: 1px solid #fff
}

#footer .headline {
    font-size: 16px;
    font-weight: 700
}

#footer .footer_bottom {
    background-color: #393939
}

#footer .footer_bottom p {
    text-align: center
}

@media screen and (max-width:750px) {
    #ikemen_header {
        background-color: #000;
        position: relative;
        z-index: 6;
        padding-left: 2%
    }

    #ikemen_header .container {
        width: auto;
        margin: 0 auto
    }

    #ikemen_header ul {
        padding-left: 0;
        padding-bottom: 0
    }

    #ikemen_header ul li {
        margin: .3em 1em 0 0;
        display: inline-block;
        vertical-align: middle;
        font-size: .6em
    }

    #ikemen_header ul li a {
        color: #fff
    }

    #footer .footer_logo_img {
        display: none
    }

    #footer .headline {
        text-align: center;
        display: block;
        padding: 10px;
        color: #fff;
        border-bottom: 1px solid #fff;
        background-color: #393939;
        font-size: 1em;
        line-height: 1.6
    }

    #footer .footer_list {
        background-color: #000;
        line-height: 1.5;
        text-align: left;
        letter-spacing: 2px
    }

    #footer .footer_list li {
        display: block;
        padding: 10px 3%;
        border-bottom: solid 1px #fff;
        font-size: 1em;
        letter-spacing: 0;
        position: relative
    }

    #footer .footer_list li.toggle-wrapper {
        padding: 0;
        border-bottom: none
    }

    #footer .footer_list li a {
        display: block;
        padding: 0 3%;
        color: #fff;
        font-size: 13px
    }

    #footer .ft_sitemap {
        padding: 0;
        width: 100%;
        margin: 0
    }

    #footer .footer_cnt {
        float: none;
        width: 100%;
        padding: 0
    }

    #footer .footer_cnt.block_content,
    #footer .footer_cnt.block_title {
        border-right: none
    }
}

.sp_logos {
    text-align: center;
    padding: 2.5% 0
}

@media screen and (min-width:751px) {
    .sp_logos {
        display: none
    }
}

.content_wrapper {
    width: 100%;
    background: url(/wp-content/themes/ikemen/title/sengoku/original/images/4th/sp/bg_sp.jpg) repeat-y left top;
    background-size: 100% auto;
    position: relative
}

@media screen and (min-width:751px) {
    .content_wrapper {
        background: url(/wp-content/themes/ikemen/title/sengoku/original/images/4th/pc/bg.jpg) repeat-y left top;
        background-size: 100% auto
    }
}

.content_wrapper:before {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: url(/wp-content/themes/ikemen/title/sengoku/original/images/4th/common/bg_ptn.png) repeat left top;
    background-size: 39px 65px;
    z-index: 0;
    opacity: .4
}

@media screen and (min-width:751px) {
    .content_wrapper:before {
        background: url(/wp-content/themes/ikemen/title/sengoku/original/images/4th/common/bg_ptn.png) repeat left top;
        background-size: auto
    }
}

.main-image-wrapper {
    position: relative
}

.main-image-wrapper .main-image-inner {
    width: 100%;
    background: url(/wp-content/themes/ikemen/title/sengoku/original/images/4th/sp/top_illust_sp.jpg) no-repeat left top;
    background-size: 100%;
    padding-top: calc(1119 / 800 * 100%)
}

@media screen and (min-width:751px) {
    .main-image-wrapper .main-image-inner {
        background: url(/wp-content/themes/ikemen/title/sengoku/original/images/4th/pc/top_illust.jpg) no-repeat left top;
        background-size: 100%;
        padding-top: calc(1057 / 1780 * 100%)
    }
}

.main-image-wrapper .logo-4th {
    width: 31.125%;
    position: absolute;
    left: 0;
    right: 0;
    bottom: -12.5%;
    margin: 0 auto;
    z-index: 10;
    max-width: 292px
}

@media screen and (min-width:751px) {
    .main-image-wrapper .logo-4th {
        width: 20.125%;
        bottom: -10.5%
    }
}

.celebration-content {
    position: relative
}

@media screen and (min-width:751px) {
    .celebration-content {
        margin: 0 auto
    }
}

.celebration-content .bg {
    width: 100%;
    height: 100%;
    background: url(/wp-content/themes/ikemen/title/sengoku/original/images/4th/sp/top_base_sp.png) no-repeat center;
    background-size: cover;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0
}

@media screen and (min-width:751px) {
    .celebration-content .bg {
        background: url(/wp-content/themes/ikemen/title/sengoku/original/images/4th/pc/top_base.png) no-repeat center;
        background-size: cover
    }
}

.celebration-content .celebration-text {
    width: 63.025%;
    margin: 0 auto;
    padding: 20% 0 10.5%;
    position: relative
}

@media screen and (min-width:751px) {
    .celebration-content .celebration-text {
        width: 35%;
        max-width: 454px;
        margin: 0 auto;
        padding: 8.5% 0
    }
}

.section-title-01 {
    background: #1c664b url(/wp-content/themes/ikemen/title/sengoku/original/images/4th/sp/bg_title_sp.png) repeat top left;
    text-align: center
}

.section-title-01 img {
    width: 100%;
    max-width: 1780px
}

.section-title-02 {
    background: #ad1b1c url(/wp-content/themes/ikemen/title/sengoku/original/images/4th/sp/bg_title_sp.png) repeat top left;
    text-align: center
}

.section-title-02 img {
    width: 100%;
    max-width: 1780px
}

.section-title-03 {
    background: #393939 url(/wp-content/themes/ikemen/title/sengoku/original/images/4th/sp/bg_title_sp.png) repeat top left;
    text-align: center
}

.section-title-03 img {
    width: 100%;
    max-width: 1780px
}

.sub-section-title-wrap {
    margin-bottom: 5%
}

.sub-section-title-wrap:after,
.sub-section-title-wrap:before {
    content: "";
    display: block;
    background: url(/wp-content/themes/ikemen/title/sengoku/original/images/4th/sp/line_txt.png) no-repeat left top;
    background-size: 100%;
    padding-top: calc(8 / 750 * 100%)
}

.sub-section-title {
    text-align: center;
    font-size: 12px;
    font-size: 3.2vw;
    margin: 5% 0
}

@media screen and (min-width:751px) {
    .sub-section-title {
        font-size: 2.6rem;
        margin: 2.5% 0
    }
}

.contents {
    width: 100%;
    background-color: rgba(255, 255, 255, .4);
    position: relative;
    margin-bottom: 10%;
    padding-bottom: 5%
}

.contents .container {
    width: 95%;
    margin: 0 auto;
    max-width: 1200px
}

.kareshi-cp {
    position: relative
}

@media screen and (min-width:751px) {
    .kareshi-cp {
        padding: 5% 0
    }
}

@media screen and (max-width:750px) {

    .kareshi-cp .kareshi-text-wrapper:after,
    .kareshi-cp .kareshi-text-wrapper:before {
        content: "";
        display: block;
        background: url(/wp-content/themes/ikemen/title/sengoku/original/images/4th/sp/line_txt.png) no-repeat left top;
        background-size: 100%;
        padding-top: calc(8 / 750 * 100%)
    }
}

@media screen and (min-width:751px) {
    .kareshi-cp .kareshi-text-wrapper {
        position: relative;
        width: 92.5%;
        max-width: 1111px;
        background: url(/wp-content/themes/ikemen/title/sengoku/original/images/4th/common/content01_base.png) no-repeat left top;
        background-size: 100%;
        padding-top: calc(1111 / 1110 * 92.5%);
        margin: 0 auto
    }
}

.kareshi-cp .kareshi-text-wrapper .kareshi-text {
    text-align: center;
    font-size: 12px;
    font-size: 3.2vw;
    margin: 5% 0
}

@media screen and (min-width:751px) {
    .kareshi-cp .kareshi-text-wrapper .kareshi-text {
        font-size: 2.4rem;
        color: #fff;
        position: absolute;
        top: 42.5%;
        left: 50%;
        -webkit-transform: translate(-50%, -42.5%);
        -ms-transform: translate(-50%, -42.5%);
        transform: translate(-50%, -42.5%)
    }
}

.kareshi-content-detail {
    margin: 2% 0
}

@media screen and (min-width:751px) {
    .kareshi-content-list {
        width: 100%;
        margin: 0 auto;
        height: 100%;
        position: absolute;
        top: 2.5%;
        left: 0;
        right: 0
    }
}

@media screen and (max-width:750px) {
    .kareshi-content-list li {
        width: 73.2894%;
        margin-right: auto;
        position: relative;
        margin-top: -12%
    }

    .kareshi-content-list li:first-child {
        margin-top: 0
    }

    .kareshi-content-list li:nth-child(2n) {
        margin-right: 0;
        margin-left: auto
    }

    .kareshi-content-list li:nth-child(4) {
        margin-top: -6.5%
    }
}

@media screen and (min-width:751px) {
    .kareshi-content-list li {
        width: 46.4166%;
        position: absolute;
        overflow: hidden
    }

    .kareshi-content-list li:first-child {
        top: 0;
        left: 0
    }

    .kareshi-content-list li:nth-child(2) {
        top: 0;
        right: 0
    }

    .kareshi-content-list li:nth-child(3) {
        bottom: 0;
        left: 0
    }

    .kareshi-content-list li:last-child {
        bottom: 0;
        right: 0
    }
}

.kareshi-content-list li a {
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%) rotate(-45deg);
    -ms-transform: translate(-50%, -50%) rotate(-45deg);
    transform: translate(-50%, -50%) rotate(-45deg);
    width: 70.7213%;
    padding-top: 70.7213%;
    height: 0;
    overflow: hidden
}

.content-detail {
    margin: 2% 0
}

@media screen and (min-width:751px) {
    .content-list {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
        justify-content: space-between;
        padding: 5% 0 0
    }
}

@media screen and (max-width:750px) {
    .content-list li {
        width: 73.2894%;
        margin-right: auto;
        position: relative;
        margin-top: -12%
    }

    .content-list li:first-child {
        margin-top: 0
    }

    .content-list li:nth-child(2n) {
        margin-right: 0;
        margin-left: auto
    }

    .content-list li.more-info {
        width: 48.75%;
        margin-top: -16%
    }
}

@media screen and (min-width:751px) {
    .content-list li {
        width: 46.4166%;
        margin-top: -10%;
        position: relative;
        overflow: hidden
    }

    .content-list li:first-child {
        margin-top: 0
    }

    .content-list li:nth-child(2) {
        margin-top: 0
    }

    .content-list li:nth-child(3n) {
        margin: -10% 26.7917% 0
    }

    .content-list li.more-info {
        padding: 8.5%
    }
}

.content-list li a {
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%) rotate(-45deg);
    -ms-transform: translate(-50%, -50%) rotate(-45deg);
    transform: translate(-50%, -50%) rotate(-45deg);
    width: 70.7213%;
    padding-top: 70.7213%;
    height: 0;
    overflow: hidden
}

.link-tw-btn {
    width: 81.3157%;
    margin: 0 auto;
    max-width: 618px
}

.link-tw-btn a {
    display: block
}

.title-03 {
    width: 98.0263%;
    margin: 5% auto 0
}

.img-map {
    width: 84.8684%;
    margin: 0 auto
}

.gallery-wrap {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.gallery-wrap li {
    width: 24.3421%;
    margin-bottom: .6579%
}

@media screen and (min-width:751px) {
    .gallery-wrap li {
        width: 18.5%;
        margin-left: -2.8%
    }

    .gallery-wrap li:first-child {
        margin-left: 0
    }

    .gallery-wrap li:nth-child(7) {
        margin-left: 0
    }
}

.contents-about {
    width: 100%;
    position: relative;
    padding-bottom: 5%
}

.contents-about .bg {
    width: 100%;
    height: 100%;
    background: url(/wp-content/themes/ikemen/title/sengoku/original/images/4th/sp/bg_illust_sp.jpg) no-repeat top left;
    background-size: cover;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0
}

@media screen and (min-width:751px) {
    .contents-about .bg {
        background: url(/wp-content/themes/ikemen/title/sengoku/original/images/4th/pc/bg_illust.jpg) no-repeat center center;
        background-size: cover
    }
}

.contents-about .section-title-03 {
    position: relative
}

.contents-about .container {
    width: 95%;
    margin: 0 auto;
    position: relative;
    max-width: 1200px
}

.contents-about .about-text-wrap {
    margin: 5% 0
}

.contents-about .about-text-wrap .about-text {
    width: 79.7368%;
    margin: 5% auto;
    max-width: 696px
}

.list_contents_item {
    background: rgba(255, 255, 255, .5);
    border: 2px solid #fff;
    padding: 5px 8px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column
}

@media screen and (min-width:751px) {
    .list_contents_item {
        height: 100%
    }
}

@media screen and (max-width:750px) {
    .list_contents_item {
        width: 100%
    }
}

.list_content_title {
    font-size: 1.6rem;
    color: #fff;
    border-bottom: 1px solid #a40000;
    padding: .2rem .5rem;
    margin-bottom: 5%
}

.tw_timeline {
    width: 100%
}

.tw_timeline iframe {
    width: 740px !important
}

.follow-btn {
    width: 62.8947%;
    margin: 5% auto;
    max-width: 478px
}

.tweet-btn {
    width: 62.8947%;
    margin: 5% auto;
    max-width: 227px
}

@media screen and (min-width:751px) {
    .game-wrapper {
        position: relative
    }
}

.spec-wrap {
    width: 75%;
    margin: 0 auto 5%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

@media screen and (min-width:751px) {
    .spec-wrap {
        -webkit-box-align: start;
        -webkit-align-items: flex-start;
        -ms-flex-align: start;
        align-items: flex-start
    }
}

.spec-wrap .logo {
    width: 37.1929%
}

.spec-wrap .spec-text {
    width: 55.4385%
}

.dl-btn-list {
    width: 90%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    margin: 0 auto 5%;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between
}

@media screen and (min-width:751px) {
    .dl-btn-list {
        width: 55.4385%;
        position: absolute;
        right: 0;
        bottom: 46%
    }
}

.dl-btn-list li {
    width: 45%
}

.dl-btn-list li:first-child {
    width: 38.5%
}

.dl-btn-list li a {
    display: block
}

.sgk-btn {
    width: 81.3157%;
    margin: 0 auto
}

@media screen and (min-width:751px) {
    .sgk-btn {
        width: 98.88%;
        max-width: 618px;
        margin: 0 0 0 auto
    }
}

.sgk-btn a {
    display: block
}

@media screen and (min-width:751px) {
    .flex-content-wrap {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
        justify-content: space-between
    }

    .tw-area {
        width: 39.5%
    }

    .game-area {
        width: 53%
    }
}

.modal-content {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow-y: auto;
    z-index: 9999;
    background: rgba(0, 0, 0, .9);
    display: none;
    font-family: "Hiragino Kaku Gothic Pro", "Hiragino Kaku Gothic ProN", Meiryo, "MS PGothic", sans-serif
}

.modal-content .modal-wrapper {
    position: relative;
    width: 100%;
    margin: 0 auto
}

.modal-content .close-btn {
    width: 19.5%;
    position: fixed;
    top: 4.3vw;
    right: 5vw;
    max-width: 156px;
    cursor: pointer;
    z-index: 9999
}

.modal-content .img-box {
    text-align: center;
    margin-bottom: 1em
}

.modal-content .modal-inner {
    position: relative;
    padding-top: 25vw;
    width: 95%;
    max-width: 850px;
    margin: 0 auto
}

@media screen and (min-width:751px) {
    .modal-content .modal-inner {
        padding-top: 12vw
    }
}

.modal-content .modal-title {
    color: #fff;
    text-align: center;
    font-size: 20px;
    margin-bottom: 1em;
    font-weight: 700
}

.modal-content .sub-section {
    margin-bottom: 6.4rem;
    font-size: 16px;
    color: #fff
}

.modal-content .sub-section:nth-last-of-type(2) {
    margin-bottom: 1.8rem
}

.modal-content .sub-section .sub-title {
    text-align: center;
    font-weight: 700;
    margin-bottom: 1em
}

.modal-content .sub-section .ttl {
    font-weight: 700
}

.modal-content .sub-section .text {
    margin-bottom: 1em
}

.modal-content .sub-section .text a {
    color: #fec640
}

.modal-content .sub-section .notes {
    color: #d3d3d3;
    font-size: 14px;
    margin-bottom: 1em
}

.loading-anim {
    position: fixed;
    z-index: 99999;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    text-align: center
}

.loading-anim:after,
.loading-anim:before {
    line-height: 1;
    position: fixed;
    z-index: 99;
    right: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 50%;
    margin-right: auto;
    margin-left: auto;
    content: ' ';
    -webkit-transition: all .3s cubic-bezier(.785, .135, .15, .86) 0s;
    transition: all .3s cubic-bezier(.785, .135, .15, .86) 0s;
    -webkit-transition-delay: .3s;
    transition-delay: .3s;
    background-color: #be8a40
}

.loading-anim::before {
    top: 0
}

.loading-anim::after {
    bottom: 0
}

.loading-anim-line {
    line-height: 1;
    position: fixed;
    z-index: 100;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: inline-block;
    overflow: hidden;
    width: 150px;
    height: 1.25em;
    margin: auto;
    -webkit-transition: all .3s cubic-bezier(.785, .135, .15, .86) 0s;
    transition: all .3s cubic-bezier(.785, .135, .15, .86) 0s;
    -webkit-transition-delay: .6s;
    transition-delay: .6s;
    text-align: center
}

.loading-anim-line:before {
    font-size: 1.25em;
    font-weight: 700;
    font-style: normal;
    line-height: 1;
    display: block;
    content: 'ローディング';
    -webkit-animation: loadingAnim_text 1s ease .1s infinite alternate both;
    animation: loadingAnim_text 1s ease .1s infinite alternate both;
    color: #fff;
    will-change: opacity
}

.loading-anim-line:after {
    position: absolute;
    z-index: 100;
    top: 0;
    bottom: 0;
    left: 0;
    display: block;
    width: 0;
    height: 100%;
    margin: auto auto auto 0;
    content: ' ';
    -webkit-animation: loadingAnim 2s ease-in-out .1s infinite normal backwards;
    animation: loadingAnim 2s ease-in-out .1s infinite normal backwards;
    background-color: #fff;
    will-change: transform, width
}

.loaded .loading-anim:before {
    height: 0;
    -webkit-transform: translateY(-1%);
    -ms-transform: translateY(-1%);
    transform: translateY(-1%)
}

.loaded .loading-anim:after {
    height: 0;
    -webkit-transform: translateY(1%);
    -ms-transform: translateY(1%);
    transform: translateY(1%)
}

.loaded .loading-anim-line {
    overflow: hidden;
    height: 0
}

.loaded .loading-anim-line:after,
.loaded .loading-anim-line:before {
    -webkit-animation: none;
    animation: none
}

.loaded .loading-anim-line:before {
    content: ""
}

@-webkit-keyframes loadingAnim {
    0% {
        width: 0
    }

    100% {
        width: 100%;
        -webkit-transform: translate(100%);
        transform: translate(100%)
    }
}

@keyframes loadingAnim {
    0% {
        width: 0
    }

    100% {
        width: 100%;
        -webkit-transform: translate(100%);
        transform: translate(100%)
    }
}

@-webkit-keyframes loadingAnim_text {
    0% {
        opacity: 1;
        color: #cba166
    }

    50% {
        color: #333
    }

    100% {
        opacity: .5;
        color: #fff
    }
}

@keyframes loadingAnim_text {
    0% {
        opacity: 1;
        color: #cba166
    }

    50% {
        color: #333
    }

    100% {
        opacity: .5;
        color: #fff
    }
}

.op-anim {
    width: 100vw;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    background: url(/wp-content/themes/ikemen/title/sengoku/original/images/4th/sp/op_bg.png) no-repeat center;
    background-size: cover;
    z-index: 9999
}

@media screen and (min-width:751px) {
    .op-anim {
        background: url(/wp-content/themes/ikemen/title/sengoku/original/images/4th/pc/op_bg.png) no-repeat center;
        background-size: cover
    }
}

.op-anim .op-anim-inner {
    position: relative;
    width: 100%;
    height: 100%
}

.op-anim .op-anim-inner .op-text {
    width: 60%;
    max-width: 130px;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    background: url(/wp-content/themes/ikemen/title/sengoku/original/images/4th/common/op_text.png) no-repeat center;
    background-size: 100%;
    padding-top: calc(352 / 130 * 60%);
    opacity: 0
}

.op-anim .op-anim-inner .op-text.anim {
    -webkit-animation: fadeanim 2s ease forwards;
    animation: fadeanim 2s ease forwards
}

.white-out {
    width: 100vw;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9000;
    background: #fff
}

@-webkit-keyframes fadeanim {
    0% {
        opacity: 0
    }

    100% {
        opacity: 1
    }
}

@keyframes fadeanim {
    0% {
        opacity: 0
    }

    100% {
        opacity: 1
    }
}

#confetti {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    overflow: hidden
}