@charset "UTF-8";* {
    margin: 0;
    padding: 0;
    line-height: calc(.25rem + 1.5em + .25rem)
}

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

:where(:not(fieldset,progress,meter)) {
    border-width: 0;
    border-style: solid;
    background-repeat: no-repeat;
    background-origin: border-box
}

html {
    block-size: 100%;
    -webkit-text-size-adjust: none
}

body {
    min-block-size: 100%;
    text-rendering: optimizeSpeed
}

:where(img,svg,video,canvas,audio,iframe,embed,object) {
    display: block
}

:where(img,svg,video) {
    max-inline-size: 100%;
    block-size: auto
}

:where(svg) {
    stroke: none;
    fill: currentColor
}

:where(svg):where(:not([fill])) {
    stroke: currentColor;
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round
}

:where(svg):where(:not([width])) {
    inline-size: 5rem
}

:where(input,button,textarea,select),:where(input[type=file])::-webkit-file-upload-button {
    color: inherit;
    font: inherit;
    font-size: inherit;
    letter-spacing: inherit;
    word-spacing: inherit
}

:where(textarea) {
    resize: vertical
}

@supports (resize: block) {
    :where(textarea) {
        resize:block
    }
}

:where(p,h1,h2,h3,h4,h5,h6) {
    overflow-wrap: break-word
}

h1 {
    font-size: 2em
}

:where(ul,ol) {
    list-style-position: inside
}

:where(ul,ol)[role=list] {
    list-style: none
}

:where(ul,ol)[role=list] li {
    margin-bottom: 0
}

a:not([class]) {
    -webkit-text-decoration-skip: ink;
    text-decoration-skip-ink: auto
}

:where(a[href],area,button,label[for],select,summary,[tabindex]:not([tabindex*="-"])) {
    cursor: pointer;
    touch-action: manipulation
}

:where(input[type=file]) {
    cursor: auto
}

:where(input[type=file])::-webkit-file-upload-button,:where(input[type=file])::file-selector-button {
    cursor: pointer
}

:where(:not(:active)):focus-visible {
    outline-color: #bc0004;
    outline-offset: 5px
}

:where(button,button[type],input[type=button],input[type=submit],input[type=reset]),:where(input[type=file])::-webkit-file-upload-button,:where(input[type=file])::file-selector-button {
    -webkit-tap-highlight-color: transparent;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    text-align: center;
    user-select: none
}

:where(button,button[type],input[type=button],input[type=submit],input[type=reset])[disabled] {
    cursor: not-allowed
}

.container {
    box-sizing: border-box;
    position: relative;
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 2%
}

.column,.columns {
    box-sizing: border-box;
    width: 100%;
    float: left
}

.row.flex {
    display: flex;
    flex-wrap: wrap;
    width: 100%
}

.row.flex .is_block {
    display: block;
    width: 100%
}

.row.flex>.columns {
    float: none
}

.row.flex.reverse {
    flex-flow: row-reverse
}

.row.flex.reverse .column,.row.flex.reverse .columns {
    margin-right: 4%;
    margin-left: 0
}

.row.flex.reverse .column:first-child,.row.flex.reverse .columns:first-child {
    margin-right: 0
}

html {
    font-size: 62.5%
}

body {
    color: #000;
    font-style: normal;
    font-weight: 500;
    font-size: 1.6em;
    font-family: "M PLUS Rounded 1c",sans-serif
}

button,dl,figcaption,h2,h3,h4,li,p {
    transform: rotate(.03deg)
}

.bold {
    font-weight: 700
}

.extrabold {
    font-weight: 800
}

.black {
    font-weight: 900
}

h1,h2,h3,h4,h5,h6 {
    margin-top: 0;
    margin-bottom: 2rem
}

h1 {
    font-size: 4rem;
    line-height: 1.2
}

h2 {
    font-size: 3.2rem;
    line-height: 2
}

h3 {
    font-size: 1.8rem;
    line-height: 1.3
}

h4 {
    font-size: 2.4rem;
    line-height: 1.35
}

h5 {
    font-size: 1.8rem;
    line-height: 1.5
}

h6 {
    font-size: 1.5rem;
    line-height: 1.6
}

p {
    margin-top: 0
}

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

a:not([class]) {
    text-decoration: underline
}

a:hover {
    color: #000;
    text-decoration: underline
}

a:not([class]):hover {
    color: #d31c1d
}

.c-button,button,input[type=button],input[type=reset],input[type=submit] {
    box-sizing: border-box;
    display: inline-block;
    padding: .5em 3em;
    border: 1px solid #333;
    border-radius: 99px;
    background-color: transparent;
    color: #333;
    letter-spacing: .1rem;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer
}

.c-button:focus,.c-button:hover,button:focus,button:hover,input[type=button]:focus,input[type=button]:hover,input[type=reset]:focus,input[type=reset]:hover,input[type=submit]:focus,input[type=submit]:hover {
    border-color: #d31c1d;
    color: #333;
    text-decoration: none
}

.c-button.c-button-primary,button.c-button-primary,input[type=button].c-button-primary,input[type=reset].c-button-primary,input[type=submit].c-button-primary {
    border-color: #000;
    background-color: #000;
    color: #fff;

}

.c-button.c-button-primary:focus,.c-button.c-button-primary:hover,button.c-button-primary:focus,button.c-button-primary:hover,input[type=button].c-button-primary:focus,input[type=button].c-button-primary:hover,input[type=reset].c-button-primary:focus,input[type=reset].c-button-primary:hover,input[type=submit].c-button-primary:focus,input[type=submit].c-button-primary:hover {
    border-color: #ffbe00;
    background-color: #ffbe00;
    color: #000
}

.c-button.c-button-secondary,button.c-button-secondary,input[type=button].c-button-secondary,input[type=reset].c-button-secondary,input[type=submit].c-button-secondary {
    border-color: #d31c1d;
    background-color: #d31c1d;
    color: #fff
}

.c-button.c-button-secondary:focus,.c-button.c-button-secondary:hover,button.c-button-secondary:focus,button.c-button-secondary:hover,input[type=button].c-button-secondary:focus,input[type=button].c-button-secondary:hover,input[type=reset].c-button-secondary:focus,input[type=reset].c-button-secondary:hover,input[type=submit].c-button-secondary:focus,input[type=submit].c-button-secondary:hover {
    border-color: #626262;
    background-color: #626262;
    color: #fff
}

input[type=email],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=url],select,textarea {
    box-sizing: border-box;
    height: 38px;
    padding: 6px 10px;
    border: 1px solid #d1d1d1;
    border-radius: 4px;
    background-color: #fff;
    box-shadow: none
}

input[type=email],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=url],textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

textarea {
    min-height: 65px;
    padding-top: 6px;
    padding-bottom: 6px
}

input[type=email]:focus,input[type=number]:focus,input[type=password]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=url]:focus,select:focus,textarea:focus {
    border: 1px solid #bc0004
}

label,legend {
    display: block;
    margin-bottom: .5rem;
    font-weight: 600
}

fieldset {
    padding: 0;
    border-width: 0
}

input[type=checkbox],input[type=radio] {
    display: inline
}

label>.label-body {
    display: inline-block;
    margin-left: .5rem;
    font-weight: 400
}

.c-button.arrow {
    position: relative;
    padding-right: 4em
}

.c-button.arrow:after,.c-button.arrow:before {
    display: block;
    position: absolute;
    top: 0;
    right: 1em;
    bottom: 0;
    height: 1px;
    margin: auto;
    background: #d31c1d;
    content: ""
}

.c-button.arrow:before {
    width: 1.5em
}

.c-button.arrow:after {
    bottom: .3em;
    width: .6em;
    transform: skewY(30deg)
}

.c-button.arrow:hover {
    background-color: rgb(255 255 255 / 40%)
}

ul {
    list-style: circle inside
}

ol {
    list-style: decimal inside
}

ol,ul {
    margin-top: 0;
    padding-left: 0
}

ol ol,ol ul,ul ol,ul ul {
    margin: 1.5rem 0 1.5rem 3rem;
    font-size: 90%
}

li {
    margin-bottom: 1rem
}

code {
    margin: 0 .2rem;
    padding: .2rem .5rem;
    border: 1px solid #e1e1e1;
    border-radius: 4px;
    background: #f1f1f1;
    font-size: 90%;
    white-space: nowrap
}

pre>code {
    display: block;
    padding: 1rem 1.5rem;
    white-space: pre
}

td,th {
    padding: 12px 15px;
    border-bottom: 1px solid #e1e1e1;
    text-align: left
}

td:first-child,th:first-child {
    padding-left: 0
}

td:last-child,th:last-child {
    padding-right: 0
}

.c-button,button {
    margin-bottom: 1rem
}

fieldset,input,select,textarea {
    margin-bottom: 1.5rem
}

blockquote,dl,figure,form,ol,p,pre,table,ul {
    margin-bottom: 1.5rem
}

.u-full-width {
    box-sizing: border-box;
    width: 100%
}

.u-max-full-width {
    box-sizing: border-box;
    max-width: 100%
}

.u-pull-right {
    float: right
}

.u-pull-left {
    float: left
}

hr {
    margin-top: 3rem;
    margin-bottom: 3.5rem;
    border-top: 1px solid #e1e1e1;
    border-width: 0
}

.container:after,.row:not(.flex):after,.u-cf {
    display: table;
    clear: both;
    content: ""
}

:root {
    --chara01: #00a084;
    --chara02: #8e8f91;
    --chara03: #ffaf00;
    --chara04: #e6002d;
    --chara05: #f0831e;
    --chara06: #59c3dd;
    --chara07: #fa6c0a;
    --chara08: #6fb92c;
    --chara09: #9a7cb5;
    --chara10: #f7acbc;
    --chara11: #e7380d;
    --chara12: #006fc2;
    --chara13: #7db294
}

.italic {
    font-style: italic
}

.normal {
    font-weight: 400
}

.xx-small {
    font-size: 60%
}

.x-small {
    font-size: 75%
}

.small {
    font-size: 88.88%
}

.large {
    font-size: 124%
}

.x-large {
    font-size: 150%
}

.xx-large {
    font-size: 180%
}

.indent {
    text-indent: 1em
}

ul.indent-list li {
    margin-left: 1em;
    text-indent: -1em
}

.left {
    text-align: left!important
}

.right {
    text-align: right
}

.c-center,.center {
    text-align: center!important
}

.float-left {
    float: left
}

.float-right {
    float: right
}

.clear-left:after,.clear-right:after,.clear:after {
    display: block;
    content: ""
}

.clear,.clear:after {
    clear: both
}

.clear-left,.clear-left:after {
    clear: left
}

.clear-right,.clear-right:after {
    clear: right
}

.m-500 {
    margin: 5em!important
}

.mt-500,.mtb-500 {
    margin-top: 5em!important
}

.mr-500,.mrl-500 {
    margin-right: 5em!important
}

.mb-500,.mtb-500 {
    margin-bottom: 5em!important
}

.ml-500,.mrl-500 {
    margin-left: 5em!important
}

.m-400 {
    margin: 4em!important
}

.mt-400,.mtb-400 {
    margin-top: 4em!important
}

.mr-400,.mrl-400 {
    margin-right: 4em!important
}

.mb-400,.mtb-400 {
    margin-bottom: 4em!important
}

.ml-400,.mrl-400 {
    margin-left: 4em!important
}

.m-300 {
    margin: 3em!important
}

.mt-300,.mtb-300 {
    margin-top: 3em!important
}

.mr-300,.mrl-300 {
    margin-right: 3em!important
}

.mb-300,.mtb-300 {
    margin-bottom: 3em!important
}

.ml-300,.mrl-300 {
    margin-left: 3em!important
}

.m-200 {
    margin: 2em!important
}

.mt-200,.mtb-200 {
    margin-top: 2em!important
}

.mr-200,.mrl-200 {
    margin-right: 2em!important
}

.mb-200,.mtb-200 {
    margin-bottom: 2em!important
}

.ml-200,.mrl-200 {
    margin-left: 2em!important
}

.m-150 {
    margin: 1.5em!important
}

.mt-150,.mtb-150 {
    margin-top: 1.5em!important
}

.mr-150,.mrl-150 {
    margin-right: 1.5em!important
}

.mb-150,.mtb-150 {
    margin-bottom: 1.5em!important
}

.ml-150,.mrl-150 {
    margin-left: 1.5em!important
}

.m-100 {
    margin: 1em!important
}

.mt-100,.mtb-100 {
    margin-top: 1em!important
}

.mr-100,.mrl-100 {
    margin-right: 1em!important
}

.mb-100,.mtb-100 {
    margin-bottom: 1em!important
}

.ml-100,.mrl-100 {
    margin-left: 1em!important
}

.m-50 {
    margin: .5em!important
}

.mt-50,.mtb-50 {
    margin-top: .5em!important
}

.mr-50,.mrl-50 {
    margin-right: .5em!important
}

.mb-50,.mtb-50 {
    margin-bottom: .5em!important
}

.ml-50,.mrl-50 {
    margin-left: .5em!important
}

.m-0 {
    margin: 0
}

.mt-0,.mtb-0 {
    margin-top: 0!important
}

.mr-0,.mrl-0 {
    margin-right: 0
}

.mb-0,.mtb-0 {
    margin-bottom: 0
}

.ml-0,.mrl-0 {
    margin-left: 0
}

.p-500 {
    padding: 5em!important
}

.pt-500,.ptb-500 {
    padding-top: 5em!important
}

.pr-500,.prl-500 {
    padding-right: 5em!important
}

.pb-500,.ptb-500 {
    padding-bottom: 5em!important
}

.pl-500,.prl-500 {
    padding-left: 5em!important
}

.p-400 {
    padding: 4em!important
}

.pt-400,.ptb-400 {
    padding-top: 4em!important
}

.pr-400,.prl-400 {
    padding-right: 4em!important
}

.pb-400,.ptb-400 {
    padding-bottom: 4em!important
}

.pl-400,.prl-400 {
    padding-left: 4em!important
}

.p-300 {
    padding: 3em!important
}

.pt-300,.ptb-300 {
    padding-top: 3em!important
}

.pr-300,.prl-300 {
    padding-right: 3em!important
}

.pb-300,.ptb-300 {
    padding-bottom: 3em!important
}

.pl-300,.prl-300 {
    padding-left: 3em!important
}

.p-200 {
    padding: 2em!important
}

.pt-200,.ptb-200 {
    padding-top: 2em!important
}

.pr-200,.prl-200 {
    padding-right: 2em!important
}

.pb-200,.ptb-200 {
    padding-bottom: 2em!important
}

.pl-200,.prl-200 {
    padding-left: 2em!important
}

.p-150 {
    padding: 1.5em!important
}

.pt-150,.ptb-150 {
    padding-top: 1.5em!important
}

.pr-150,.prl-150 {
    padding-right: 1.5em!important
}

.pb-150,.ptb-150 {
    padding-bottom: 1.5em!important
}

.pl-150,.prl-150 {
    padding-left: 1.5em!important
}

.p-100 {
    padding: 1em!important
}

.pt-100,.ptb-100 {
    padding-top: 1em!important
}

.pr-100,.prl-100 {
    padding-right: 1em!important
}

.pb-100,.ptb-100 {
    padding-bottom: 1em!important
}

.pl-100,.prl-100 {
    padding-left: 1em!important
}

.p-50 {
    padding: .5em!important
}

.pt-50,.ptb-50 {
    padding-top: .5em!important
}

.pr-50,.prl-50 {
    padding-right: .5em!important
}

.pb-50,.ptb-50 {
    padding-bottom: .5em!important
}

.pl-50,.prl-50 {
    padding-left: .5em!important
}

.p-0 {
    padding: 0!important
}

.pt-0,.ptb-0 {
    padding-top: 0
}

.pr-0,.prl-0 {
    padding-right: 0
}

.pb-0,.ptb-0 {
    padding-bottom: 0
}

.pl-0,.prl-0 {
    padding-left: 0!important
}

.hide {
    display: none
}

.red {
    color: #bc0004
}

.bg_white {
    background: #fff
}

.border_gray {
    border-bottom: 1px solid #d1d1d1
}

.under {
    text-decoration: underline
}

[class*=js-].is-fadein {
    visibility: visible;
    opacity: 1
}

.sp {
    display: none
}

.sfont {
    font-weight: 400;
    font-family: 'Noto Sans JP',"游ゴシック Medium","Yu Gothic Medium","游ゴシック体",YuGothic,"ヒラギノ角ゴ Pro","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,sans-serif
}

.l-main {
    overflow: hidden
}

.l-header {
    display: flex;
    z-index: 100;
    position: sticky;
    top: 0;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    height: 100px;
    padding-right: 4%;
    padding-left: 4%;
    background: #fff
}

.l-header .l-header__toggle {
    display: none
}

.l-header .l-header__logo {
    position: relative;
    width: 20%;
    max-width: 200px;
    margin: 0
}

.l-header__nav {
    width: 78%
}

.l-header .l-header__list {
    display: flex;
    justify-content: flex-end;
    margin: 0
}

.l-header .l-header__list li {
    width: 80px;
    margin: 0 .5rem
}

.l-header .l-header__list li a {
    position: relative;
    top: 0
}

.l-header .l-header__list li a:hover {
    top: -5px
}

.l-header .l-header__list li a:hover img {
    opacity: 1
}

.c-footer-sticky-button {
    z-index: 99;
    position: fixed;
    bottom: 2%;
    left: 0;
    width: 100%;
    width: 250px;
    height: 225px;
    background: url(../images/top/store.png) center center no-repeat;
    transition: .3s opacity,.3s visibility
}

.c-footer-sticky-button__list {
    position: absolute;
    right: 0;
    bottom: 10px;
    left: 0;
    width: -moz-fit-content;
    width: fit-content;
    margin: auto
}

.c-footer-sticky-button__list .c-button {
    margin-bottom: 1em;
    font-weight: 700
}

.c-to-top {
    visibility: hidden;
    z-index: 101;
    position: fixed;
    right: 1%;
    bottom: 10px;
    left: auto;
    width: auto;
    height: auto;
    opacity: 0;
    transition: .3s opacity,.3s visibility
}

.c-to-top .c-to-top__button {
    display: block;
    position: relative;
    top: 0;
    width: 120px
}

.c-to-top .c-to-top__button:hover {
    top: -10px
}

.c-to-top .c-to-top__button:hover img {
    opacity: 1
}

.l-footer {
    background: #fbe8a2
}

.l-footer .c-copyright {
    font-size: 1.3em;
    text-align: center
}

.bg_naminami {
    position: relative
}

.bg_naminami:after {
    display: block;
    position: absolute;
    right: 0;
    bottom: -67px;
    left: 0;
    width: 100%;
    height: 134px;
    content: '';
    -webkit-mask-image: url(../images/common/bg_line01.png);
    mask-image: url(../images/common/bg_line01.png);
    -webkit-mask-repeat: repeat-x;
    mask-repeat: repeat-x;
    -webkit-mask-position: center center;
    mask-position: center center;
    -webkit-mask-size: auto 134px;
    z-index: 0;
    background-color: #c1e099;
    mask-size: auto 134px
}

.c-chara {
    position: relative;
    padding-bottom: 100px
}

.c-chara:after,.c-chara:before {
    display: block;
    z-index: 0;
    position: absolute;
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    content: ''
}

.c-hover-rotate:hover img {
    transform: rotateZ(20deg);
    opacity: 1
}

section .c-heading:has(>img) {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 466px;
    height: 105px;
    margin: 0 auto 1.5em;
    background: url(../images/common/titlebg_h2.png) center center no-repeat;
    text-align: center
}

section .c-heading img {
    height: 37px
}

.l-main section {
    padding-top: 5em;
    padding-bottom: 5em
}

.top .c-lead {
    font-size: 1.55em;
    text-align: center
}

.p-index-mv {
    aspect-ratio: 1200/982;
    background: #6eb346 url(../images/top/main_bg2.png) center top no-repeat;
    background-size: cover
}

.p-index-mv .container {
    position: relative;
    aspect-ratio: 1200/982
}

.p-index-mv.bg_naminami:after {
    background-color: #6eb346
}

.p-index-mv__sns {
    display: flex;
    z-index: 1;
    position: absolute;
    right: 0;
    bottom: 1em;
    left: 0;
    align-items: center;
    width: 56%;
    max-width: 760px;
    margin: auto;
    padding: 1.25rem 2%;
    border: 2px solid #000000;
    border-radius: 20px;
    color: #000000;
    font-size: 1.4em
}

.p-index-mv__sns .c-text {
    margin-bottom: 0;
    font-size: 1.6em;
    font-size: min(2.2vw ,32px)
}

.p-index-mv__sns ul {
    display: flex;
    flex: 1;
    justify-content: flex-end;
    margin-bottom: 0;
    gap: 1.5em
}

.p-index-mv__sns ul li {
    width: 20%;
    max-width: 70px
}

.p-index-mv__nowonair {
    z-index: 1;
    position: absolute;
    right: 0;
    bottom: -10px;
    width: 20%;
    max-width: 330px
}

.bg_anime {
    padding-top: 5em;
    background: #c0df99 url(../images/top/anime_bg.png) center 0 repeat-y;
    background-size: cover
}

.p-index-anime .c-chara:after {
    bottom: -130px;
    left: 4%;
    width: 260px;
    height: 260px;
    background-image: url(../images/top/anime_chara01.png)
}

.p-index-anime__list {
    max-width: 1140px;
    margin-top: 3em;
    margin-right: auto;
    margin-bottom: 4em;
    margin-left: auto
}

.p-index-anime__list {
    justify-content: center
}

.p-index-anime__list .columns.four {
    padding: 30px;
    background: url(../images/top/anime_bg02.png) center center no-repeat;
    background-size: 100% 100%
}

.p-index-anime__list .columns.four figure {
    position: relative;
    margin-bottom: 0
}

.p-index-anime__list .columns.four.comingsoon figure img {
    opacity: .7
}

.p-index-anime__list .columns.four.comingsoon figure:after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: -moz-fit-content;
    width: fit-content;
    height: -moz-fit-content;
    height: fit-content;
    margin: auto;
    padding: .25em 1.5em;
    border-radius: 5px;
    background: #000;
    content: "準備中";
    color: #fff;
    font-weight: 800;
    font-size: 1.2em;
    letter-spacing: .1em
}

.p-index-anime__list .columns.four figcaption {
    margin-top: .5em;
    font-weight: 600;
    font-size: 1.3em;
    line-height: 1.4;
    text-align: center
}

.top section .c-center .c-button {
    font-weight: 800;
    font-size: 1.4em
}

.c-index-news__dl {
    display: flex;
    flex-wrap: wrap;
    max-width: 800px;
    margin: 0 auto 3em
}

.c-index-news__dl dt {
    width: 19rem;
    margin-bottom: 1rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid #000;
    color: #00a084;
    font-weight: 700;
    font-size: 1.4em
}

.c-index-news__dl dd {
    position: relative;
    width: calc(100% - 19rem);
    margin-bottom: 1rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid #000;
    font-weight: 700;
    font-size: 1.7em
}

.c-index-news__dl dd a {
    display: block;
    position: relative;
    text-decoration: none
}

.c-index-news__dl dd:after {
    position: absolute;
    bottom: 4px;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #000;
    content: '';
    opacity: 0
}

.c-index-news__dl dd:hover:after {
    bottom: 0;
    opacity: 1
}

.c-index-news__dl dd a:hover {
    color: unset
}

.p-index-news .c-chara:after {
    right: 4%;
    bottom: -120px;
    width: 300px;
    height: 180px;
    background-image: url(../images/top/anime_chara02.png)
}

.p-index-introduction .c-lead {
    margin-bottom: 1em;
    font-size: 2.8em
}

.p-index-introduction .c-text {
    font-size: 2em;
    line-height: 2;
    text-align: center
}

.p-index-introduction .c-chara:after {
    bottom: -140px;
    left: 2%;
    width: 220px;
    height: 240px;
    background-image: url(../images/top/anime_chara03.png)
}

.p-index-character__tab-panel {
    margin-top: 7em;
    margin-bottom: 2em
}

.c-episode__contents,.p-index-character__tab-panel-item {
    display: none;
    z-index: 1;
    position: relative;
    margin: 0 auto;
    padding: 3em 120px 3em 80px;
    border-radius: 50px;
    background: #fff0d7
}

.p-index-character__tab-panel-item.is_active {
    display: block
}

.c-episode__contents:after,.c-episode__contents:before,.p-index-character__tab-panel-item:after,.p-index-character__tab-panel-item:before {
    display: block;
    content: "";
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: left top;
    background-color: #2da084;
    mask-position: left top;
    -webkit-mask-size: 100% 100%;
    z-index: 0;
    position: absolute;
    top: -2px;
    left: -2px;
    width: calc(100% + 4px);
    height: calc(100% + 4px);
    mask-size: 100% 100%
}

.c-episode__contents:before,.p-index-character__tab-panel-item:before {
    -webkit-mask-image: url(../images/common/bg_waku01.png);
    mask-image: url(../images/common/bg_waku01.png)
}

.c-episode__contents:after,.p-index-character__tab-panel-item:after {
    -webkit-mask-image: url(../images/common/bg_waku02.png);
    z-index: -1;
    top: 4px;
    left: 4px;
    background-color: #000;
    mask-image: url(../images/common/bg_waku02.png);
    opacity: .2
}

.p-index-character__tab-panel-item.chara01:before {
    background-color: var(--chara01)
}

.p-index-character__tab-panel-item.chara02:before {
    background-color: var(--chara02)
}

.p-index-character__tab-panel-item.chara03:before {
    background-color: var(--chara03)
}

.p-index-character__tab-panel-item.chara04:before {
    background-color: var(--chara04)
}

.p-index-character__tab-panel-item.chara05:before {
    background-color: var(--chara05)
}

.p-index-character__tab-panel-item.chara06:before {
    background-color: var(--chara06)
}

.p-index-character__tab-panel-item.chara07:before {
    background-color: var(--chara07)
}

.p-index-character__tab-panel-item.chara08:before {
    background-color: var(--chara08)
}

.p-index-character__tab-panel-item.chara09:before {
    background-color: var(--chara09)
}

.p-index-character__tab-panel-item.chara10:before {
    background-color: var(--chara10)
}

.p-index-character__tab-panel-item.chara11:before {
    background-color: var(--chara11)
}

.p-index-character__tab-panel-item.chara12:before {
    background-color: var(--chara12)
}

.p-index-character__tab-panel-item.chara13:before {
    background-color: var(--chara13)
}

.p-index-character__tab-panel-item h3.name {
    z-index: 0;
    position: relative;
    margin-left: -45%;
    padding-left: 45%;
    border-bottom: 2px solid #000;
    font-weight: 800;
    font-size: 4.4em;
    letter-spacing: .3rem
}

.p-index-character__tab-panel-item.chara01 h3.name {
    border-bottom-color: var(--chara01);
    color: var(--chara01)
}

.p-index-character__tab-panel-item.chara02 h3.name {
    border-bottom-color: var(--chara02);
    color: var(--chara02)
}

.p-index-character__tab-panel-item.chara03 h3.name {
    border-bottom-color: var(--chara03);
    color: var(--chara03)
}

.p-index-character__tab-panel-item.chara04 h3.name {
    border-bottom-color: var(--chara04);
    color: var(--chara04)
}

.p-index-character__tab-panel-item.chara05 h3.name {
    border-bottom-color: var(--chara05);
    color: var(--chara05)
}

.p-index-character__tab-panel-item.chara06 h3.name {
    border-bottom-color: var(--chara06);
    color: var(--chara06)
}

.p-index-character__tab-panel-item.chara07 h3.name {
    border-bottom-color: var(--chara07);
    color: var(--chara07)
}

.p-index-character__tab-panel-item.chara08 h3.name {
    border-bottom-color: var(--chara08);
    color: var(--chara08)
}

.p-index-character__tab-panel-item.chara09 h3.name {
    border-bottom-color: var(--chara09);
    color: var(--chara09)
}

.p-index-character__tab-panel-item.chara10 h3.name {
    border-bottom-color: var(--chara10);
    color: var(--chara10)
}

.p-index-character__tab-panel-item.chara11 h3.name {
    border-bottom-color: var(--chara11);
    color: var(--chara11)
}

.p-index-character__tab-panel-item.chara12 h3.name {
    border-bottom-color: var(--chara12);
    color: var(--chara12)
}

.p-index-character__tab-panel-item.chara13 h3.name {
    border-bottom-color: var(--chara13);
    color: var(--chara13)
}

.p-index-character__tab-panel-chara {
    z-index: 1;
    position: relative;
    flex-shrink: 0;
    width: 45%;
    margin-top: -150px;
    text-align: center
}

.p-index-character__tab-panel-chara img {
    margin: 0 auto
}

.p-index-character__tab-panel-wrap {
    display: flex;
    z-index: 2;
    position: relative;
    justify-content: space-between;
    margin: 0 auto
}

.p-index-character__tab-panel-wrap.is_reverse {
    flex-direction: row-reverse
}

.p-index-character__tab-panel-wrap.actor>p {
    flex-shrink: 0;
    max-width: 330px
}

.p-index-character__tab-panel-wrap.actor .c-text .text {
    padding-right: 2%
}

.p-index-character__tab-panel-wrap .c-text .text.comingsoon img {
    max-width: 60%;
    margin: 1.5em auto 1.5em 20%
}

.p-index-character__tab-panel-wrap .c-text {
    flex-shrink: 0;
    width: 50%
}

.p-index-character__tab-panel-wrap .c-text .text {
    font-size: 1.6em
}

.p-index-character__tab-panel-wrap h4.name {
    border-bottom: 1px solid #000;
    font-weight: 700;
    font-size: 3.4em;
    line-height: 2
}

.p-index-character__tab-panel-wrap.is_reverse .c-text .text,.p-index-character__tab-panel-wrap.is_reverse h4.name {
    padding-right: 0;
    padding-left: 6%
}

.p-index-character__tab-panel-wrap.actor {
    max-width: 90%;
    margin-top: 1em;
    margin-right: 0
}

.p-index-character__tab-panel-wrap.actor .c-text {
    width: calc(100% - 330px);
    min-width: inherit;
    padding-left: inherit
}

.p-index-character__tab-chara {
    display: flex;
    z-index: 5;
    position: relative;
    flex-wrap: wrap;
    padding: 2em 5%;
    gap: 1em 2em
}

.p-index-character__tab-chara-item {
    position: relative;
    width: calc((100% - 12em)/ 7);
    cursor: pointer
}

.p-index-character__tab-chara-item.c-new:before {
    display: block;
    z-index: 1;
    position: absolute;
    top: -10px;
    left: -13px;
    width: 60px;
    max-width: 42%;
    height: 60px;
    background: url(../images/top/character_new.png) center top no-repeat;
    background-size: contain;
    content: ''
}

.p-index-character__tab-chara-item figcaption {
    margin-top: -10px;
    padding: 2px 5px;
    border-radius: 30px;
    background-color: #00a084;
    color: #fff;
    font-weight: 800;
    text-align: center
}

.bg_episode {
    background-image: url(../images/top/episode_bg02.png),url(../images/top/episode_bg01.png);
    background-position: center 10em,center top;
    background-repeat: no-repeat,repeat;
    background-color: #c1888a
}

section.p-index-episode {
    padding-top: 16em
}

.p-index-episode.bg_naminami:before {
    display: block;
    position: absolute;
    top: 0;
    width: 100%;
    height: 67px;
    background: #c1e099;
    content: ''
}

.p-index-episode.bg_naminami:after {
    top: 0;
    bottom: inherit
}

.p-index-episode .container {
    max-width: 1100px
}

.p-index-episode__list {
    margin-bottom: 3em
}

.p-episode__list-item,.p-index-episode__list li {
    position: relative;
    padding: 2rem 1.5em 1rem;
    border-radius: 15px;
    background-color: #fff;
    text-align: center
}

.p-episode__list-item img,.p-index-episode__list li img {
    margin-right: auto;
    margin-left: auto
}

.c-episode__contents .c-heading .c-tag,.p-episode__list-item h3,.p-index-episode__list h3 {
    width: 120px;
    height: 50px;
    margin: -3.5rem auto .5em -2em;
    background: url(../images/common/titllebg_h3.png) center center no-repeat;
    background-size: contain;
    color: #fff;
    font-weight: 700;
    font-size: 1.2em;
    line-height: 50px;
    text-align: center
}

.p-episode__list-item figcaption,.p-index-episode__list figcaption {
    margin-top: .5em;
    font-weight: 700;
    font-size: 1.4em
}

.p-index-episode .c-chara:after {
    right: -5%;
    bottom: -150px;
    width: 420px;
    height: 318px;
    background-image: url(../images/top/episode_chara01.png)
}

.p-index-tv__box {
    position: relative;
    max-width: 1010px;
    margin: 0 auto 240px;
    padding: 43px 0 0!important;
    background: url(../images/top/tv_bg01.png) center top no-repeat;
    background-size: 199px 43px
}

.p-index-tv__box:after {
    display: block;
    position: absolute;
    right: 0;
    bottom: -152px;
    left: 0;
    width: 411px;
    height: 152px;
    margin: auto;
    background: url(../images/top/tv_bg02.png) center bottom no-repeat;
    background-size: 411px 152px;
    content: ""
}

.p-index-tv__box-wrap {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    width: 100%;
    padding: 3em 6em;
    gap: 0 3em;
    border: 3px solid #000;
    background: #eee3c8;
    box-shadow: inset 0 0 0 10px #d4be81
}

.p-index-tv__box-wrap h3 {
    width: 171px;
    height: 167px;
    margin-bottom: 0;
    overflow: hidden;
    background-image: url(../images/top/tv_title01.png);
    background-position: center center;
    background-size: 171px auto;
    background-repeat: no-repeat;
    text-indent: 200%;
    white-space: nowrap
}

#youtube .p-index-tv__box-wrap h3 {
    background-image: url(../images/top/tv_title02.png)
}

#stream .p-index-tv__box-wrap h3 {
    background-image: url(../images/top/tv_title03.png)
}

.p-index-tv__box-wrap p {
    margin-bottom: 0;
    font-weight: 700;
    font-size: 1.8em
}

.p-index-tv__box-wrap p.c-center {
    width: 100%;
    padding-top: 0
}

.p-index-tv__box-wrap p strong {
    color: #5ab35a;
    font-size: 1.2em;
    letter-spacing: .2rem
}

#youtube .p-index-tv__box-wrap p strong {
    color: #c3000d
}

#stream .p-index-tv__box-wrap p strong {
    color: #64a4eb
}

.top .p-index-tv__box-wrap .c-center .c-button {
    font-size: 2rem;
    line-height: initial
}

.c-accordion__wrap {
    display: block;
    position: relative;
    width: 100%
}

.c-accordion__wrap p.c-center {
    margin-top: 0
}

.c-accordion-contents {
    display: none;
    opacity: 0;
    transition: opaticy .5s
}

.c-accordion-contents h4 {
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto 1em;
    padding: .5rem 4em;
    border-radius: 99px;
    background-color: #64a4eb;
    color: #fff;
    font-size: 2.4em;
    text-align: center
}

.c-accordion-contents h4.bg-blue {
    background-color: #4773a4
}

.c-accordion-contents .c-list {
    margin-bottom: 7em;
    text-align: center
}

.c-accordion-contents .c-list li {
    margin-bottom: .25em;
    font-weight: 700;
    font-size: 2.2em
}

.c-accordion__wrap .c-accordion__button.is_open {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    width: -moz-fit-content;
    width: fit-content;
    margin: auto
}

.p-index-tv .c-chara:after {
    right: -2%;
    bottom: 0;
    width: 297px;
    height: 242px;
    background-image: url(../images/top/episode_chara02.png)
}

.l-main .p-index-collaboration {
    position: relative;
    padding-top: 0;
    padding-bottom: 400px
}

.p-index-collaboration:after {
    display: block;
    z-index: 1;
    position: absolute;
    bottom: -23px;
    width: 100%;
    /* height: 576px; */
    height: 400px;
    width: 100%;
    margin: auto;
    background: url(../images/top/episode_bg03.png) center bottom no-repeat;
    background-size: contain;
    content: ""
}

.p-index-collaboration__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    max-width: 1100px;
    margin: 0 auto;
    gap: 1em 2%
}

.p-index-collaboration__item {
    width: 49%
}

.bg_book {
    padding-top: 5em;
    background: #fde9a4 url(../images/top/book_bg01.png) center top no-repeat
}

.bg_book .container {
    max-width: calc(1100px + 4%)
}

.p-index-book.c-chara:after {
    bottom: -205px;
    left: -4%;
    width: 360px;
    height: 300px;
    background-image: url(../images/top/book_chara01.png)
}

.p-index-book__bg-white {
    padding: 3em 2em;
    border-radius: 30px;
    background-color: #fff
}

.p-index-book__book h3 {
    font-weight: 800;
    font-size: 2.2em
}

.p-index-book__book .row.flex {
    position: relative;
    align-items: baseline;
    justify-content: space-between;
    margin-bottom: 1em;
    padding-bottom: .5em
}

.p-index-book__book .row.flex>* {
    margin-bottom: 0
}

.p-index-book .sfont {
    font-size: 1.4em;
    line-height: 1.4
}

.p-index-book hr {
    border-top: 4px dotted #00a084
}

.p-index-book__authors h3 {
    color: #00a084;
    font-weight: 800;
    font-size: 2.2em
}

.top section .p-index-book__bg-white .c-button {
    margin-top: 1em;
    margin-bottom: 0
}

.l-main .p-index-sns {
    padding-top: 15em;
    padding-bottom: 10em
}

.p-index-book__x {
    max-width: 800px;
    margin: 0 auto;
    padding-bottom: 4em;
    border-radius: 30px;
    background-color: #ffcd00
}

.p-index-book__x h2 img {
    position: relative;
    top: -1.5em;
    margin: 0 auto -1em
}

.p-index-book__x-wrap {
    max-width: 620px;
    height: 570px;
    margin: 0 auto;
    padding: 10px;
    background: #fff
}

.p-index-sns.c-chara:after {
    top: 50px;
    right: -5%;
    width: 230px;
    height: 160px;
    background-image: url(../images/top/book_chara02.png)
}

.l-main .p-index-cast {
    padding-top: 10em;
    padding-bottom: 30em
}

.p-index-cast h3 {
    font-size: 2.5em
}

.p-index-cast .row.flex {
    align-items: flex-start
}

.p-index-cast__list .p-index-cast__item {
    margin-bottom: 1em;
    font-weight: 800;
    font-size: 1.5em
}

.p-index-cast .columns.six:first-child {
    border-left: 3px dotted #000
}

.p-index-cast .columns.six {
    width: 50%;
    margin-left: 0;
    padding: 0 5%;
    border-right: 3px dotted #000
}

.p-index-cast.c-chara:after {
    right: 2%;
    bottom: 24em;
    width: 293px;
    height: 158px;
    background-image: url(../images/top/book_chara03.png)
}

/* 20250106 ステラ */

.p-collaboration__list {
    display: flex;
    position: relative;
    flex-wrap: wrap;
    max-width: 1100px;
    margin: 0 auto;
    gap: 3em 2%
}



.p-collaboration-archive {
    position: relative;
    /* min-height: 1500px; */
    /* padding-right: 5%;
    padding-left: 5%; */
    background: #866ea7 url(../images/top/episode_bg01.png) center bottom no-repeat
}

.p-collaboration-detail {
    position: relative;
    min-height: 1500px;
    padding-right: 5%;
    padding-left: 5%;
    background: #866ea7 url(../images/collaboration/bg.png) center bottom no-repeat
}

.c-collaboration__contents {
    width: 100%;
    margin: 0 auto 3em
}

.c-collaboration__contents .c-heading {
    margin-bottom: 3em
}

.c-collaboration__contents .container.c-chara:after {
    bottom: 0;
    left: -330px;
    width: 304px;
    height: 266px;
    background-image: url(../images/collaboration/chara_01.png)
}

.c-episode__contents {
    display: block;
    position: relative;
    width: 1200px;
    max-width: 100%;
    padding: 3em 5% 3em;
    border-radius: 40px
}

.c-episode__contents .c-heading .c-tag {
    position: absolute;
    top: -1.5em;
    left: 1em;
    width: 200px;
    height: 83px;
    font-size: 1.6em;
    line-height: 83px
}

.c-episode__contents .c-heading .c-title {
    display: block;
    color: #00a084;
    font-weight: 800;
    font-size: 3em;
    text-align: center
}

.c-episode__contents .c-text {
    margin: 1em 0;
    font-weight: 500;
    font-size: 1.5em;
    line-height: 2
}

.c-episode__contents .columns.six img {
    margin-right: auto;
    margin-left: auto
}

.episode.detail {
    padding-top: 50px
}

.p-episode-archive__wrap.c-chara:before {
    top: -200px;
    right: 2%;
    width: 292px;
    height: 293px;
    background-image: url(../images/episode/chara_01.png)
}

.p-episode-archive__wrap.c-chara:after {
    right: calc(100% - 410px);
    bottom: -30px;
    width: 353px;
    height: 329px;
    background-image: url(../images/episode/chara_02.png)
}

.p-episode__list {
    display: flex;
    position: relative;
    flex-wrap: wrap;
    max-width: 1100px;
    margin: 0 auto;
    gap: 3em 2%
}

.p-episode__list-item {
    width: 30.6666666667%;
    width: calc(96% / 3)
}

.pages section .mfp-close {
    z-index: 99
}

.p-news-archive {
    position: relative;
    height: 100%;
    min-height: 1500px;
    background: #b4f0ff url(../images/news/bg_01.png) center top no-repeat
}

.p-news-archive .c-heading:has(>img) {
    margin-bottom: 60px
}

.p-news-archive__wrap {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    width: 1245px;
    height: 845px;
    margin: 0 auto;
    padding: 100px 0
}

.p-news-archive__wrap .c-index-news__dl {
    align-self: flex-start;
    width: 990px;
    max-width: 90%
}

.p-news-archive__wrap .c-index-news__dl dt {
    border-bottom-color: #fff;
    color: #ffcd00;
    font-size: 1.6em
}

.p-news-archive__wrap .c-index-news__dl dd {
    border-bottom-color: #fff;
    font-size: 2em
}

.p-news-archive__wrap .c-index-news__dl dd a {
    overflow: hidden;
    color: #fff;
    text-overflow: ellipsis;
    white-space: nowrap
}

.p-news-archive__wrap .c-index-news__dl dd:after {
    background-color: #fff
}

.p-episode-archive,.p-news-detail {
    position: relative;
    min-height: calc(100vh - 100px);
    padding-right: 5%;
    padding-left: 5%;
    background: #c1e782 url(../images/news/bg_02.png) center bottom no-repeat
}

.c-news__contents {
    width: 100%;
    margin: 5em auto 3em
}

.c-collaboration__contents .container.bg_white,.c-news__contents .container.bg_white {
    position: relative;
    max-width: 1200px;
    padding: 2rem 11rem 3em;
    border-radius: 30px
}

.c-news__contents .container.c-chara:after {
    bottom: -210px;
    left: -4%;
    width: 230px;
    height: 260px;
    background-image: url(../images/news/chara_01.png)
}

.c-collaboration__contents .c-date,.c-news__contents .c-date {
    position: relative;
    top: -3.5rem;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
    padding: 0 3em;
    border-radius: 99px;
    background: #ffcd00;
    font-weight: 700;
    font-size: 1.4em
}

.c-collaboration__contents .c-lead,.c-news__contents .c-heading {
    margin-bottom: 1em;
    font-weight: 700;
    font-size: 2.2em;
    line-height: 1.4;
    text-align: center
}

.c-collaboration__contents .img-box,.c-news__contents .img-box {
    margin-bottom: 2.5em;
    text-align: center
}

.c-collaboration__contents .img-box img,.c-news__contents .img-box img {
    margin-right: auto;
    margin-left: auto
}

.c-collaboration__contents .img-box .youtube,.c-news__contents .img-box .youtube {
    aspect-ratio: 16/9;
    width: 100%
}

.c-collaboration__contents .img-box .youtube iframe,.c-news__contents .img-box .youtube iframe {
    width: 100%;
    height: 100%
}

.c-collaboration__contents .c-text,.c-collaboration__contents p,.c-news__contents .c-text,.c-news__contents p {
    font-weight: 500;
    font-size: 1.4em
}

.p-collaboration-detail .c-center .c-button,.p-news-detail .c-center .c-button {
    font-weight: 800;
    font-size: 1.4em
}

.c-pagination {
    display: flex;
    position: absolute;
    right: 0;
    bottom: 50px;
    left: 0;
    justify-content: center;
    width: 90%;
    max-width: 1400px;
    margin: auto;
    gap: 0 2.5em
}

.c-pagination-item {
    display: inline-block;
    position: relative;
    font-weight: 800;
    font-size: 2.2em;
    line-height: 1;
    vertical-align: middle
}

.c-pagination-item.next a,.c-pagination-item.prev a {
    overflow: hidden;
    text-indent: 200%
}

.c-pagination-item.next a:before,.c-pagination-item.prev a:before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 26px;
    height: 26px;
    margin: auto;
    margin-left: 12px;
    transform: rotate(45deg);
    border-top: 6px solid #000;
    border-right: 6px solid #000;
    border-radius: 6px;
    content: "";
    vertical-align: middle
}

.c-pagination-item.prev a:before {
    margin-right: 12px;
    margin-left: auto;
    transform: rotate(223deg)
}

.c-pagination-link {
    display: inline-block;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: 0 0;
    line-height: 60px;
    text-align: center
}

.c-pagination-link.is_current,.c-pagination-link:hover {
    background-color: #c3000d;
    color: #fff;
    text-decoration: none
}

.next .c-pagination-link:hover:before,.prev .c-pagination-link:hover:before {
    border-top-color: #fff;
    border-right-color: #fff
}

.mfp-bg {
    z-index: 1042;
    position: fixed;
    top: 0;
    top: 100px;
    left: 0;
    width: 100%;
    height: 100%;
    height: calc(100% - 100px);
    overflow: hidden;
    background: #0b0b0b;
    opacity: .8
}

.mfp-wrap {
    z-index: 1043;
    position: fixed;
    top: 100px;
    left: 0;
    width: 100%;
    height: calc(100% - 100px)!important;
    height: 100%;
    outline: 0!important;
    -webkit-backface-visibility: hidden
}

.mfp-container {
    box-sizing: border-box;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    text-align: center
}

.mfp-container:before {
    display: inline-block;
    height: 100%;
    content: '';
    vertical-align: middle
}

.mfp-align-top .mfp-container:before {
    display: none
}

.mfp-content {
    display: inline-block;
    z-index: 1045;
    position: relative;
    margin: 0 auto;
    text-align: left;
    vertical-align: middle
}

.mfp-ajax-holder .mfp-content,.mfp-inline-holder .mfp-content {
    width: 100%;
    cursor: auto
}

.mfp-ajax-cur {
    cursor: progress
}

.mfp-zoom-out-cur,.mfp-zoom-out-cur .mfp-image-holder .mfp-close {
    cursor: zoom-out
}

.mfp-zoom {
    cursor: pointer;
    cursor: zoom-in
}

.mfp-auto-cursor .mfp-content {
    cursor: auto
}

.mfp-arrow,.mfp-close,.mfp-counter,.mfp-preloader {
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none
}

.mfp-loading.mfp-figure {
    display: none
}

.mfp-hide {
    display: none!important
}

.mfp-preloader {
    z-index: 1044;
    position: absolute;
    top: 50%;
    right: 8px;
    left: 8px;
    width: auto;
    margin-top: -.8em;
    color: #fff;
    text-align: center
}

.mfp-preloader a {
    color: #ccc
}

.mfp-preloader a:hover {
    color: #fff
}

.mfp-s-ready .mfp-preloader {
    display: none
}

.mfp-s-error .mfp-content {
    display: none
}

button.mfp-arrow,button.mfp-close {
    overflow: visible;
    border: 0;
    background: 0 0;
    cursor: pointer;
    -webkit-appearance: none;
    display: block;
    z-index: 1046;
    margin: 0;
    padding: 0;
    outline: 0;
    box-shadow: none;
    touch-action: manipulation
}

button::-moz-focus-inner {
    padding: 0;
    border: 0
}

.mfp-close {
    position: absolute;
    top: 20px;
    right: 20px;
    width: 80px;
    height: 80px;
    padding: 0 0 18px 10px;
    border-radius: 50%;
    background: #fff url(../images/common/button_close.png) center center no-repeat!important;
    background-size: 45px 45px!important;
    color: #000;
    font-size: 0;
    line-height: 1;
    text-decoration: none
}

.mfp-close:after {
    display: inline-block;
    position: absolute;
    right: 0;
    bottom: -.5em;
    left: 0;
    width: -moz-fit-content;
    width: fit-content;
    margin: auto;
    padding: 2px 5px;
    transform: rotate(.03deg);
    border-radius: 99px;
    background: #fff;
    content: 'もどる';
    font-weight: 700;
    font-size: 1.6rem;
    text-indent: 0
}

.mfp-close:focus,.mfp-close:hover,.mfp-close:hover:after {
    background-color: #fabd00!important
}

.mfp-close-btn-in .mfp-close {
    color: #000
}

.mfp-iframe-holder .mfp-close,.mfp-image-holder .mfp-close {
    right: -6px
}

.mfp-counter {
    position: absolute;
    top: 0;
    right: 0;
    color: #ccc;
    font-size: 12px;
    line-height: 18px;
    white-space: nowrap
}

.mfp-arrow {
    position: absolute;
    top: 50%;
    width: 90px;
    height: 110px;
    margin: 0;
    margin-top: -55px;
    padding: 0;
    opacity: .65;
    -webkit-tap-highlight-color: transparent
}

.mfp-arrow:active {
    margin-top: -54px
}

.mfp-arrow:focus,.mfp-arrow:hover {
    opacity: 1
}

.mfp-arrow:after,.mfp-arrow:before {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    margin-top: 35px;
    margin-left: 35px;
    border: medium inset transparent;
    content: ''
}

.mfp-arrow:after {
    top: 8px;
    border-top-width: 13px;
    border-bottom-width: 13px
}

.mfp-arrow:before {
    border-top-width: 21px;
    border-bottom-width: 21px;
    opacity: .7
}

.mfp-arrow-left {
    left: 0
}

.mfp-arrow-left:after {
    margin-left: 31px;
    border-right: 17px solid #fff
}

.mfp-arrow-left:before {
    margin-left: 25px;
    border-right: 27px solid #3f3f3f
}

.mfp-arrow-right {
    right: 0
}

.mfp-arrow-right:after {
    margin-left: 39px;
    border-left: 17px solid #fff
}

.mfp-arrow-right:before {
    border-left: 27px solid #3f3f3f
}

.mfp-iframe-holder {
    padding-top: 40px;
    padding-right: 2%;
    padding-bottom: 40px;
    padding-left: 2%
}

.mfp-iframe-holder .mfp-content {
    width: 100%;
    max-width: 1200px;
    line-height: 0
}

.mfp-iframe-holder .mfp-close {
    top: -40px
}

.mfp-iframe-scaler {
    width: 100%;
    height: 0;
    padding-top: 56.25%;
    overflow: hidden
}

.mfp-iframe-scaler iframe {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000;
    box-shadow: 0 0 8px rgba(0,0,0,.6)
}

img.mfp-img {
    box-sizing: border-box;
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
    padding: 40px 0 40px;
    line-height: 0
}

.mfp-figure {
    line-height: 0
}

.mfp-figure:after {
    display: block;
    z-index: -1;
    position: absolute;
    top: 40px;
    right: 0;
    bottom: 40px;
    left: 0;
    width: auto;
    height: auto;
    background: #444;
    box-shadow: 0 0 8px rgba(0,0,0,.6);
    content: ''
}

.mfp-figure small {
    display: block;
    color: #bdbdbd;
    font-size: 12px;
    line-height: 14px
}

.mfp-figure figure {
    margin: 0
}

.mfp-bottom-bar {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    margin-top: -36px;
    cursor: auto
}

.mfp-title {
    color: #f3f3f3;
    line-height: 18px;
    text-align: left;
    word-wrap: break-word;
    padding-right: 36px
}

.mfp-image-holder .mfp-content {
    max-width: 100%
}

.mfp-gallery .mfp-image-holder .mfp-figure {
    cursor: pointer
}

.mfp-bg {
    opacity: 0;
    transition: all .15s ease-out
}

.mfp-bg.mfp-ready {
    opacity: .6
}

.mfp-bg.mfp-removing {
    opacity: 0
}

.mfp-wrap .mfp-content {
    opacity: 0;
    transition: all .15s ease-out
}

.mfp-wrap.mfp-ready .mfp-content {
    opacity: 1
}

.mfp-wrap.mfp-removing .mfp-content {
    opacity: 0
}

.c-popup-page {
    top: 100px;
    height: calc(100% - 100px)
}

.c-popup-page+.mfp-container {
    top: 100px
}

@media not screen and (min-width: 769px) {
    h1 {
        font-size:5rem
    }

    h2 {
        font-size: 2.2rem
    }

    h3 {
        font-size: 2rem
    }

    h4 {
        font-size: 3rem
    }

    h5 {
        font-size: 2.4rem
    }

    h6 {
        font-size: 1.5rem
    }

    .pc {
        display: none
    }

    .sp {
        display: inline-block
    }

    .l-header {
        height: 60px
    }

    .l-header .l-header__toggle {
        display: block;
        z-index: 101;
        position: absolute;
        top: 5px;
        right: 4%;
        bottom: 0;
        width: 36px;
        height: 36px;
        margin: auto;
        padding: 0;
        overflow: hidden;
        border: none;
        border-radius: inherit;
        background: #fff;
        background: url(../images/common/header-toggle_menu.png) center center no-repeat;
        background-size: contain;
        text-indent: 200%;
        white-space: nowrap;
        cursor: pointer
    }

    .l-header.is-open .l-header__toggle {
        background-image: url(../images/common/header-toggle_close.png)
    }

    .l-header .l-header__nav {
        display: grid;
        position: absolute;
        top: 60px;
        left: 0;
        grid-template-rows: 0fr;
        grid-template-columns: auto;
        width: 100%;
        background: #fff;
        transition: 250ms grid-template-rows ease
    }

    .l-header .l-header__inner {
        overflow: hidden
    }

    .l-header.is-open .l-header__nav {
        grid-template-rows: 1fr;
        grid-template-columns: auto
    }

    .l-header .l-header__logo {
        position: relative;
        width: 40%
    }

    .l-header .l-header__logo img {
        max-height: 56px
    }

    .l-header .l-header__logo:hover {
        text-decoration: none;
        opacity: .7
    }

    .l-header .l-header__list {
        flex-wrap: wrap;
        justify-content: center;
        margin: 1em 10% 5em;
        gap: 2em 10%
    }

    .l-header .l-header__list li {
        width: 25%;
        margin: 0
    }

    .l-header .l-header__list li img {
        max-height: 85px;
        margin-right: auto;
        margin-left: auto
    }

    .c-to-top .c-to-top__button {
        width: 70px
    }

    .bg_naminami:after {
        -webkit-mask-size: auto 50px;
        height: 50px;
        mask-size: auto 50px
    }

    .p-index-mv {
        aspect-ratio: auto;
        background: #d4f5b3 url(../images/top/main_bg2_sp.png) center top no-repeat;
        background-size: 100% auto
    }

    .p-index-mv.bg_naminami:after {
        display: none
    }

    .p-index-mv .container {
        aspect-ratio: 375/862;
        min-height: auto;
        padding: 30% 4% 0
    }

    .p-index-mv__sns {
        display: block;
        position: absolute;
        top: auto;
        bottom: 14%;
        left: 0;
        width: 100vw;
        max-width: unset;
        padding: 0;
        border: none;
        border-radius: inherit;
        font-size: inherit
    }

    .p-index-mv__sns:before {
        display: none
    }

    .p-index-mv__sns .c-text {
        display: flex;
        position: relative;
        align-items: center;
        margin-bottom: 1em;
        font-weight: 500;
        font-size: 1.3em;
        letter-spacing: .1em
    }

    .p-index-mv__sns .c-text:after,.p-index-mv__sns .c-text:before {
        flex-grow: 1;
        height: 1px;
        background-color: #000000;
        content: ""
    }

    .p-index-mv__sns .c-text:before {
        margin-right: .5em
    }

    .p-index-mv__sns .c-text:after {
        margin-left: .5em
    }

    .p-index-mv__sns ul {
        justify-content: center;
        gap: 0 6%
    }

    .p-index-mv__sns ul li {
        width: 45px
    }

    .p-index-mv__nowonair {
        right: 8%;
        bottom: 26%;
        width: auto;
        max-width: 48%
    }

    .c-footer-sticky-button {
        bottom: 2%;
        width: 125px;
        height: 112px;
        background-size: contain
    }

    .c-footer-sticky-button__list {
        bottom: 0
    }

    .c-footer-sticky-button__list .c-button {
        margin-bottom: .75em;
        padding: 0 2em;
        font-weight: 400;
        font-size: 10px
    }

    section .c-heading:has(>img) {
        width: 233px;
        height: 53px;
        margin-bottom: 1em;
        background-size: contain
    }

    section .c-heading img {
        height: 20px
    }

    .c-chara {
        padding-bottom: 20px
    }

    .l-main section {
        padding-top: 2em;
        padding-bottom: 2em
    }

    .top .c-lead {
        font-size: inherit
    }

    .top section .c-center .c-button {
        font-weight: 600;
        font-size: 1.1em;
        letter-spacing: .1em
    }

    .bg_anime {
        background: url(../images/top/anime_bg_sp1.png) center 0 no-repeat;
        background-size: contain;
        background-color: #c0df99
    }

    .p-index-anime__list.row.flex {
        width: 80%;
        margin-bottom: 1em
    }

    .p-index-anime__list .columns.four {
        margin-bottom: 1em;
        padding: 1.3em
    }

    .p-index-anime__list .columns.four figcaption {
        font-size: 1.2em
    }

    .p-index-anime .c-chara:after {
        bottom: -40px;
        width: 81px;
        height: 74px
    }

    .c-index-news__dl {
        display: block;
        width: 80%
    }

    .c-index-news__dl dt {
        width: 100%;
        margin-bottom: 0;
        padding-bottom: 0;
        font-size: inherit
    }

    .c-index-news__dl dd {
        width: 100%;
        margin-bottom: 1em;
        padding-bottom: 0;
        border-bottom: none;
        font-size: inherit
    }

    .c-index-news__dl dd a {
        line-height: 1.6
    }

    .p-index-news .c-chara:after {
        bottom: -30px;
        width: 87px;
        height: 56px
    }

    .l-main .p-index-introduction {
        padding-bottom: 5em
    }

    .p-index-introduction .c-lead {
        font-size: 1.4em
    }

    .p-index-introduction .c-text {
        font-size: 1.2em;
        line-height: 1.6
    }

    .p-index-introduction .c-chara:after {
        right: 0;
        bottom: -50px;
        left: 0;
        width: 84px;
        height: 69px;
        margin: auto
    }

    .p-index-character__tab-panel {
        margin-top: 3em
    }

    .c-episode__contents,.p-index-character__tab-panel-item {
        width: 86%;
        padding: 1em 5%;
        border-radius: 30px
    }

    .p-index-character__tab-panel-wrap {
        display: block
    }

    .p-index-character__tab-panel-chara {
        width: 54%;
        max-width: 200px;
        margin: -35px auto 1em
    }

    .p-index-character__tab-panel-wrap .c-text {
        width: auto
    }

    .p-index-character__tab-panel-wrap .c-text .text {
        font-size: inherit;
        line-height: 1.5
    }

    .p-index-character__tab-panel-item h3.name {
        left: -4.8vw;
        width: 81.6vw;
        margin-left: inherit;
        padding-left: 0;
        font-size: 2em;
        text-align: center
    }

    .p-index-character__tab-panel-wrap.actor {
        max-width: unset;
        margin-top: 2em
    }

    .p-index-character__tab-panel-wrap.actor .c-text {
        width: auto;
        padding-top: 30%
    }

    .p-index-character__tab-panel-wrap.actor>p {
        position: absolute;
        top: 0;
        max-width: 40%
    }

    .p-index-character__tab-panel-wrap h4.name {
        margin-top: 0;
        margin-bottom: .5em;
        padding-left: 45%!important;
        font-size: 1.4em;
        line-height: 1.4
    }

    .p-index-character__tab-panel-item.chara06 .p-index-character__tab-panel-wrap h4.name {
        padding-left: 0!important
    }

    .p-index-character__tab-panel-wrap.actor .c-text .text {
        margin-top: 13%;
        padding: 0
    }

    .p-index-character__tab-panel-item.chara01 .p-index-character__tab-panel-wrap.actor .c-text {
        padding-top: 45%
    }

    .c-episode__contents:before,.p-index-character__tab-panel-item:before {
        -webkit-mask-image: url(../images/common/bg_waku01_sp.png);
        mask-image: url(../images/common/bg_waku01_sp.png)
    }

    .c-episode__contents:after,.p-index-character__tab-panel-item:after {
        -webkit-mask-image: url(../images/common/bg_waku02_sp.png);
        top: 5px;
        left: 4px;
        width: calc(100% + 2px);
        height: calc(100% + 2px);
        mask-image: url(../images/common/bg_waku02_sp.png)
    }

    .p-index-character__tab-chara {
        justify-content: center;
        padding: 0 5%;
        gap: 0 4%
    }

    .p-index-character__tab-chara-item {
        display: flex;
        width: 30%
    }

    .p-index-character__tab-chara .sp {
        height: 0
    }

    .p-index-character__tab-chara-item figure {
        display: flex;
        flex-grow: 1;
        flex-direction: column
    }

    .p-index-character__tab-chara-item figcaption {
        display: flex;
        flex-grow: 1;
        align-items: center;
        justify-content: center;
        width: 100%;
        font-weight: 600;
        font-size: inherit;
        line-height: 1.4
    }

    .p-index-character__tab-panel-item.chara06 .p-index-character__tab-panel-wrap .c-text {
        width: 100%
    }

    section.p-index-episode {
        padding-top: 7em
    }

    .p-index-episode.bg_naminami:before {
        height: 25px
    }

    .p-index-episode__list {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        width: 80%;
        margin: 3em auto 0;
        gap: 2em
    }

    .p-episode__list-item,.p-index-episode__list li {
        padding: 1rem 5% 0;
        border-radius: 10px
    }

    .p-episode__list-item h3,.p-index-episode__list h3 {
        width: 65px;
        height: 28px;
        margin-top: -2.5rem;
        font-weight: 500;
        font-size: inherit;
        line-height: 28px
    }

    .p-episode__list-item figcaption,.p-index-episode__list figcaption {
        font-size: inherit;
        line-height: 1.3
    }

    .p-index-episode .c-chara:after {
        right: 4%;
        bottom: -30px;
        width: 105px;
        height: 80px
    }

    .bg_episode {
        background-image: url(../images/top/episode_bg02_sp.png),url(../images/top/episode_bg01.png);
        background-position: center 23%,top center;
        background-size: 100% auto,1400px auto;
        background-repeat: repeat-y
    }

    .p-index-tv__box {
        margin-bottom: 8em;
        padding-top: 22px!important;
        background-size: 100px 22px
    }

    .p-index-tv__box:after {
        bottom: -76px;
        width: 205px;
        height: 76px;
        background-size: contain
    }

    .p-index-tv__box-wrap {
        display: block;
        width: 80%;
        margin: 0 auto 3em;
        padding: 6px;
        border-width: 2px;
        box-shadow: inset 0 0 0 6px #d4be81
    }

    .p-index-tv__box-wrap h3 {
        width: 100%;
        height: auto;
        padding: .5em;
        overflow: unset;
        background-image: none;
        background-color: #5ab35a;
        color: #fff;
        text-align: center;
        text-indent: unset
    }

    #youtube .p-index-tv__box-wrap h3 {
        background-image: none;
        background-color: #c3000d
    }

    #stream .p-index-tv__box-wrap h3 {
        background-image: none;
        background-color: #64a4eb
    }

    .p-index-tv__box-wrap p {
        padding: .5em .5em 1em;
        font-size: inherit;
        line-height: 1.4;
        text-align: center
    }

    .p-index-tv__box-wrap p strong {
        font-size: 1.4em;
        letter-spacing: normal
    }

    .top .p-index-tv__box-wrap .c-center .c-button {
        margin-bottom: 0;
        font-size: inherit
    }

    .p-index-tv .c-chara:after {
        right: 6%;
        bottom: -10px;
        width: 74px;
        height: 59px
    }

    .p-index-collaboration__list {
        width: 80%;
        gap: 1em 2%
    }

    .p-index-collaboration__item {
        width: 48%
    }

    .p-index-collaboration:after {
        bottom: -3%;
        height: auto;
        padding-top: 37.2%;
        background: url(../images/top/episode_bg03_sp.png) center bottom no-repeat;
        background-size: 100% auto
    }

    .l-main .p-index-collaboration {
        padding-bottom: 37.2%
    }

    .c-accordion__wrap {
        padding-bottom: 1em
    }

    .c-accordion-contents h4 {
        width: 76%;
        padding: .5rem;
        font-size: 1.3em
    }

    .c-accordion-contents .c-list {
        margin-bottom: 3em
    }

    .c-accordion-contents .c-list li {
        font-size: inherit
    }

    .c-accordion__wrap .c-accordion__button.is_open {
        bottom: 1em
    }

    .bg_book {
        padding-top: 2em;
        background: #fde9a4 url(../images/top/book_bg01_sp.png) center top repeat-x;
        background-size: 100% auto
    }

    .p-index-book__bg-white {
        width: 90%;
        margin: 0 auto;
        padding: 2em 5% .1em;
        border-radius: 20px
    }

    .p-index-book .columns.three img {
        max-width: 120px;
        margin: 0 auto
    }

    .p-index-book__book .row.flex {
        display: block;
        text-align: center
    }

    .p-index-book__book .row.flex h3 {
        font-size: 1.5em
    }

    .p-index-book__book .row.flex .sfont {
        font-size: 1.2em
    }

    .p-index-book .sfont {
        font-size: 1.3rem
    }

    .top section .p-index-book__bg-white .c-center:has(>.c-button) {
        margin-bottom: 0
    }

    .p-index-book__authors .sp.float-left {
        max-width: 120px;
        margin-right: 1em;
        margin-bottom: 1em;
        clear: left
    }

    .p-index-book hr {
        margin-top: 2rem;
        border-top-width: 2px
    }

    .p-index-book__authors h3 {
        margin-bottom: .5em;
        font-size: 1.4em
    }

    .p-index-book.c-chara:after {
        display: none
    }

    .l-main .p-index-sns {
        padding-top: 2em;
        padding-bottom: 2em
    }

    .p-index-book__x {
        width: 90%;
        margin: 5em auto;
        padding: 0 5% 1.5em
    }

    .p-index-book__x h2 img {
        top: -.5em;
        width: 287px;
        height: 86px
    }

    .p-index-book__x-wrap {
        height: 300px;
        padding: 0
    }

    .p-index-book__x-wrap iframe {
        position: absolute;
        width: 100%;
        height: 300px!important;
        margin: 0;
        padding: 0
    }

    .p-index-sns.c-chara:after {
        top: auto;
        bottom: 10px;
        left: 0;
        width: 109px;
        height: 91px;
        background-image: url(../images/top/book_chara01.png)
    }

    .l-main .p-index-cast {
        padding-top: 0;
        padding-bottom: 10em
    }

    .p-index-cast .row.flex {
        display: block
    }

    .p-index-cast .row.flex .columns.six {
        width: 80%;
        margin-right: auto;
        margin-left: auto;
        border-right: none
    }

    .p-index-cast .columns.six:first-child {
        position: relative;
        margin-bottom: 2em;
        border-left: none
    }

    .p-index-cast .columns.six:first-child:after {
        display: block;
        z-index: 0;
        position: absolute;
        right: -4%;
        bottom: -50px;
        width: 58px;
        height: 52px;
        background-image: url(../images/top/book_chara02.png);
        background-position: center;
        background-size: contain;
        background-repeat: no-repeat;
        content: ''
    }

    .p-index-cast h3 {
        margin-bottom: .5em;
        font-size: 1.5em
    }

    .p-index-cast__list .p-index-cast__item {
        margin-bottom: .5em;
        font-size: inherit;
        text-shadow: 0 0 10px #fdeaa5,0 0 6px #fdeaa5,0 0 6px #fdeaa5,0 0 6px #fdeaa5
    }

    .p-index-cast.c-chara:after {
        right: 15%;
        bottom: 6em;
        width: 73px;
        height: 39px
    }

    .l-footer .c-copyright {
        font-size: inherit
    }

    .c-episode__contents {
        margin-top: 30px;
        margin-bottom: 30px;
        padding-top: 3em
    }

    .c-episode__contents .c-heading .c-tag {
        top: -1.5em;
        left: 2em;
        width: 100px;
        height: 41px;
        font-size: 1.2em;
        line-height: 41px
    }

    .c-episode__contents .c-heading .c-title {
        font-size: 1.6em
    }

    .c-episode__contents .c-text {
        margin: 0 0 2em;
        font-size: inherit;
        line-height: 1.4
    }

    .c-episode__contents .mfp-close {
        top: -1em;
        right: 0
    }

    .c-popup-page.news-detail,.l-main .p-episode-archive,.p-news-detail {
        min-height: calc(100vh - 60px);
        padding-right: 0;
        padding-bottom: 10em;
        padding-left: 0;
        background-image: url(../images/news/bg_02_sp.png);
        background-size: contain
    }

    .l-main .p-episode-archive .c-pagination {
        bottom: 10em
    }

    .p-episode-archive__wrap.c-chara:before {
        top: -48px;
        right: 1%;
        width: 73px;
        height: 74px
    }

    .p-episode-archive__wrap.c-chara:after {
        bottom: -8em;
        left: 26%;
        width: 88px;
        height: 82px
    }

    .p-episode__list {
        width: 92%;
        gap: 2em 6%
    }

    .p-episode__list-item {
        width: 47%
    }

    .pages>section:first-child {
        padding-top: 5em
    }

    .c-news__contents {
        margin-top: 1em
    }

    .pages .p-news-archive {
        min-height: unset;
        padding-bottom: 0;
        background: #b4eeff
    }

    .p-news-archive .c-heading:has(>img) {
        margin-bottom: 2em
    }

    .p-news-archive__wrap {
        position: relative;
        width: auto;
        height: auto;
        margin-top: 10vw;
        padding-top: 0;
        padding-bottom: 68%;
        background: url(../images/news/bg_sp03.png) center bottom no-repeat,url(../images/news/bg_sp02.png) center 12.5% repeat-y;
        background-size: contain
    }

    .p-news-archive__wrap:before {
        position: absolute;
        top: -5%;
        right: 0;
        left: 0;
        width: 100%;
        height: 6%;
        margin: auto;
        background: url(../images/news/bg_sp01.png) center bottom no-repeat;
        background-size: 100% auto;
        content: ''
    }

    .p-news-archive__wrap .c-index-news__dl {
        width: auto;
        max-width: 70%;
        margin: 1em auto 0
    }

    .p-news-archive__wrap .c-index-news__dl dt {
        border-bottom: none;
        font-size: inherit
    }

    .p-news-archive__wrap .c-index-news__dl dd {
        padding-bottom: .25em;
        border-bottom: 1px solid #fff;
        font-size: inherit
    }

    .c-news__contents .container.c-chara:after {
        bottom: -60px;
        left: 0;
        width: 82px;
        height: 91px
    }

    .p-collaboration-detail {
        min-height: auto;
        padding-right: 0;
        padding-left: 0;
        background: #866ea7 url(../images/top/episode_bg01.png);
        background-size: 1400px auto
    }

    .c-collaboration__contents,.c-news__contents {
        width: 90%
    }

    .c-collaboration__contents .container.bg_white,.c-news__contents .container.bg_white {
        max-width: unset;
        padding: 2rem 5% 2em;
        border-radius: 20px
    }

    .c-collaboration__contents .c-date,.c-news__contents .c-date {
        font-size: inherit
    }

    .c-collaboration__contents .c-lead,.c-news__contents .c-heading {
        font-size: 1.4em
    }

    .c-collaboration__contents .c-text,.c-collaboration__contents p,.c-news__contents .c-text,.c-news__contents p {
        font-size: inherit;
        line-height: 1.6
    }

    .p-collaboration-detail .c-center .c-button,.p-news-detail .c-center .c-button {
        font-size: 1.2em
    }

    .c-collaboration__contents .container.c-chara:after {
        bottom: -60px;
        left: 0;
        width: 110px;
        height: 100px
    }

    .c-pagination {
        bottom: 2em;
        width: 70%;
        gap: 0 4%
    }

    .c-pagination-item {
        font-size: 1.3em
    }

    .c-pagination-item.next a:before,.c-pagination-item.prev a:before {
        width: 12px;
        height: 12px;
        margin-left: 6px;
        border-top-width: 3px;
        border-right-width: 3px;
        border-radius: 3px
    }

    .c-pagination-item.prev a:before {
        margin-right: 6px;
        margin-left: auto
    }

    .c-pagination-link {
        width: 30px;
        height: 30px;
        line-height: 30px
    }

    .mfp-bg {
        top: 60px;
        height: calc(100% - 60px)
    }

    .mfp-wrap {
        top: 60px;
        height: calc(100% - 60px)!important
    }

    .mfp-arrow {
        transform: scale(.75)
    }

    .mfp-arrow-left {
        transform-origin: 0
    }

    .mfp-arrow-right {
        transform-origin: 100%
    }

    .mfp-close {
        width: 40px;
        height: 40px;
        background-size: 24px auto!important
    }

    .mfp-iframe-holder .mfp-close {
        top: -20px
    }

    .mfp-close:after {
        font-weight: 800;
        font-size: 10px;
        letter-spacing: normal
    }

    .c-popup-page {
        top: 60px;
        height: calc(100% - 60px)
    }

    .c-popup-page+.mfp-container {
        top: 60px
    }
}

@media (prefers-reduced-motion:no-preference) {
    html:focus-within {
        scroll-behavior: smooth
    }

    :focus-visible {
        transition: outline-offset 145ms cubic-bezier(.25,0,.4,1)
    }

    :where(:not(:active)):focus-visible {
        transition-duration: .25s
    }
}

@media screen and (min-width: 769px) {
    .column,.columns {
        margin-left:4%
    }

    .column:first-child,.columns:first-child {
        margin-left: 0
    }

    .one.column,.one.columns {
        width: 4.66666666667%
    }

    .two.columns {
        width: 13.3333333333%
    }

    .three.columns {
        width: 22%
    }

    .four.columns {
        width: 30.6666666667%
    }

    .five.columns {
        width: 39.3333333333%
    }

    .six.columns {
        width: 48%
    }

    .seven.columns {
        width: 56.6666666667%
    }

    .eight.columns {
        width: 65.3333333333%
    }

    .nine.columns {
        width: 74%
    }

    .ten.columns {
        width: 82.6666666667%
    }

    .eleven.columns {
        width: 91.3333333333%
    }

    .twelve.columns {
        width: 100%;
        margin-left: 0
    }

    .one-third.column {
        width: 30.6666666667%
    }

    .two-thirds.column {
        width: 65.3333333333%
    }

    .one-half.column {
        width: 48%
    }

    .offset-by-one.column,.offset-by-one.columns {
        margin-left: 8.66666666667%
    }

    .offset-by-two.column,.offset-by-two.columns {
        margin-left: 17.3333333333%
    }

    .offset-by-three.column,.offset-by-three.columns {
        margin-left: 26%
    }

    .offset-by-four.column,.offset-by-four.columns {
        margin-left: 34.6666666667%
    }

    .offset-by-five.column,.offset-by-five.columns {
        margin-left: 43.3333333333%
    }

    .offset-by-six.column,.offset-by-six.columns {
        margin-left: 52%
    }

    .offset-by-seven.column,.offset-by-seven.columns {
        margin-left: 60.6666666667%
    }

    .offset-by-eight.column,.offset-by-eight.columns {
        margin-left: 69.3333333333%
    }

    .offset-by-nine.column,.offset-by-nine.columns {
        margin-left: 78%
    }

    .offset-by-ten.column,.offset-by-ten.columns {
        margin-left: 86.6666666667%
    }

    .offset-by-eleven.column,.offset-by-eleven.columns {
        margin-left: 95.3333333333%
    }

    .offset-by-one-third.column,.offset-by-one-third.columns {
        margin-left: 34.6666666667%
    }

    .offset-by-two-thirds.column,.offset-by-two-thirds.columns {
        margin-left: 69.3333333333%
    }

    .offset-by-one-half.column,.offset-by-one-half.columns {
        margin-left: 52%
    }

    .p-index-character__tab-panel-item.chara06 .p-index-character__tab-panel-wrap .c-text {
        margin: 0 0 0 auto
    }

    .p-index-book .columns.three {
        z-index: 1;
        position: relative;
        width: 23.5%
    }

    .p-index-book .columns.nine {
        width: 72.5%
    }

    .p-index-book__book .row.flex:before {
        display: inline-block;
        z-index: 0;
        position: absolute;
        bottom: 0;
        left: -100px;
        width: calc(100% + 100px);
        height: 1px;
        background-color: #000;
        content: ''
    }

    .l-main .p-index-sns:before {
        bottom: -170px;
        left: 0;
        left: -350px;
        width: 845px;
        height: 335px;
        transform: translateX(-25%);
        background-image: url(../images/top/book_bg01_2.png)
    }
}

@media (hover: hover) {
    .c-button {
        transition:.2s background-color,.2s border-color
    }

    a img {
        transition: .3s opacity
    }

    a img:hover {
        opacity: .8
    }

    .l-header .l-header__list li a {
        transition: top .2s cubic-bezier(.26,.02,.3,1.02)
    }

    .c-to-top .c-to-top__button {
        transition: top .2s ease-in-out
    }

    .c-hover-rotate img {
        transition: transform .2s ease-in
    }

    .c-index-news__dl dd,.c-index-news__dl dd:after {
        transition: .3s
    }

    .c-pagination-link {
        transition: background-color .3s,color .3s
    }
}

@media screen and (min-width: 1200px) {
    .p-index-mv {
        aspect-ratio:auto;
        background-size: cover
    }

    .p-index-mv .container {
        aspect-ratio: auto;
        height: 982px
    }
}

@media screen and (min-width: 500px) and (max-width:768px) {
    .c-episode__contents {
        max-width:400px
    }

    .c-episode__contents .columns.six img {
        max-width: 300px
    }

    .p-index-character__tab-panel-item h3.name {
        max-width: 500px
    }

    .c-episode__contents,.p-index-character__tab-chara,.p-index-character__tab-panel-item,.p-index-episode__list {
        max-width: 500px;
        margin-right: auto;
        margin-left: auto
    }

    .c-episode__contents:before,.p-index-character__tab-panel-item:before {
        top: -2px;
        left: -2px;
        width: calc(100% + 4px);
        height: calc(100% + 4px)
    }
}

@media screen and (max-width: 800px) and (orientation:landscape),screen and (max-height:300px) {
    .mfp-img-mobile .mfp-image-holder {
        padding-right:0;
        padding-left: 0
    }

    .mfp-img-mobile img.mfp-img {
        padding: 0
    }

    .mfp-img-mobile .mfp-figure:after {
        top: 0;
        bottom: 0
    }

    .mfp-img-mobile .mfp-figure small {
        display: inline;
        margin-left: 5px
    }

    .mfp-img-mobile .mfp-bottom-bar {
        box-sizing: border-box;
        position: fixed;
        top: auto;
        bottom: 0;
        margin: 0;
        padding: 3px 5px;
        background: rgba(0,0,0,.6)
    }

    .mfp-img-mobile .mfp-bottom-bar:empty {
        padding: 0
    }

    .mfp-img-mobile .mfp-counter {
        top: 3px;
        right: 5px
    }

    .mfp-img-mobile .mfp-close {
        position: fixed;
        top: 0;
        right: 0;
        width: 35px;
        height: 35px;
        padding: 0;
        background: rgba(0,0,0,.6);
        line-height: 35px;
        text-align: center
    }
}
