@charset "utf-8";
/*-----------------------------------------------
 * COMMON
 * FV
 * NEWS
 * MOVIE
 * INTRODUCTION
 * EPISODES
 * CHARACTER
 * DIAGRAM
 * MUSIC
 * EVENT
-------------------------------------------------*/
/*-----------------------------------------------
 * COMMON
-------------------------------------------------*/
/**
* bg
**/
.intro__bg,
.movie__bg,
.ep__bg {
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	width: 100%;
	height: 100%;
	pointer-events: none;
	/* overflow: hidden; */
}
.intro__bg-clip,
.movie__bg-clip,
.ep__bg-clip  {
	width: 100%;
	height: 100%;
	position: relative;
	overflow: hidden;
	clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}
.intro__bg-clip-in,
.movie__bg-clip-in,
.ep__bg-clip-in {
	width: 100%;
	height: 100vh;
	position: fixed;
	top: 0;
	left: 0;
}
.intro__bg-clip-in {
	background: url(../img/common/bg/bg_intro.jpg)no-repeat top/cover;
}
@supports (background-image: url(../img/common/bg/bg_intro.webp)){
    .intro__bg-clip-in{
        background-image: url(../img/common/bg/bg_intro.webp);
    }
}
.movie__bg-clip-in {
	background: url(../img/common/bg/bg_movie.jpg)no-repeat center/cover;
}
@supports (background-image: url(../img/common/bg/bg_movie.webp)){
    .movie__bg-clip-in{
        background-image: url(../img/common/bg/bg_movie.webp);
    }
}
.ep__bg-clip-in {
	background: url(../img/common/bg/bg_episodes.jpg)no-repeat center/cover;
}
@supports (background-image: url(../img/common/bg/bg_episodes.webp)){
    .movie__bg-clip-in{
        background-image: url(../img/common/bg/bg_episodes.webp);
    }
}

.section {
    position: relative;
}
.officialArea {
    position: relative;
    padding: calc(40 / var(--vw-min) * 100vw) 0;
}
@media screen and (max-width:768px){
    .officialArea {
        padding: calc(52 / var(--vw-min) * 100vw) 0;
        margin-top: calc(-52 / var(--vw-min) * 100vw);
    }
}
.officialAreaBox {
    position: relative;
    z-index: 1;
}
.officialAreaSns {
    margin-top: -2px;
}
.officialArea__head {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: calc(5 / var(--vw-min) * 100vw) 0;
}
@media screen and (max-width:768px){
    .officialArea__head {
        padding: calc(7 / var(--vw-min) * 100vw) 0;
    }
}
.officialAreaX .officialArea__head {
    background-color: var(--color-redD01);
}
.officialAreaSns .officialArea__head {
    background-color: var(--color-blue009);
}
.officialArea__txt {
    font-size: calc(20 / var(--vw-min) * 100vw);
    line-height: 0.75;
    transition: .3s ease;
}
@media screen and (max-width:768px){
    .officialArea__txt {
        font-size: calc(24 / var(--vw-min) * 100vw);
    }
}
.officialAreaX .officialArea__head {
    height: calc(60 / var(--vw-min) * 100vw);
}
@media screen and (max-width:768px){
    .officialAreaX .officialArea__head {
        height: calc(80 / var(--vw-min) * 100vw);
    }
}
.officialAreaX .officialArea__headLink {
    color: #fff;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}
.officialAreaX .officialArea__head .officialArea__arrow {
    background-color: #fff;
}
.officialArea__icon {
    display: block;
    background-color: #fff;
    margin-left: calc(8 / var(--vw-min) * 100vw);
}
@media screen and (max-width:768px){
    .officialArea__icon {
        margin-left: calc(10 / var(--vw-min) * 100vw);
    }
}
.officialAreaX .--officialArea__x {
    width: calc(20 / var(--vw-min) * 100vw);
    height: calc(20 / var(--vw-min) * 100vw);
    -webkit-mask: url(../img/common/sns/icon_tw.svg)no-repeat center/contain;
    mask: url(../img/common/sns/icon_tw.svg)no-repeat center/contain;
}
.officialAreaSns .--officialArea__yt {
    width: calc(24 / var(--vw-min) * 100vw);
    height: calc(16 / var(--vw-min) * 100vw);
    -webkit-mask: url(../img/common/sns/icon_youtube.svg)no-repeat center/contain;
    mask: url(../img/common/sns/icon_youtube.svg)no-repeat center/contain;
}
.officialAreaSns .--officialArea__tiktok {
    width: calc(17 / var(--vw-min) * 100vw);
    height: calc(20 / var(--vw-min) * 100vw);
    -webkit-mask: url(../img/common/sns/icon_tiktok.svg)no-repeat center/contain;
    mask: url(../img/common/sns/icon_tiktok.svg)no-repeat center/contain;
}
@media screen and (max-width:768px){
    .officialAreaX .--officialArea__x {
        width: calc(26 / var(--vw-min) * 100vw);
        height: calc(26 / var(--vw-min) * 100vw);
    }
    .officialAreaSns .--officialArea__yt {
        width: calc(30 / var(--vw-min) * 100vw);
        height: calc(20 / var(--vw-min) * 100vw);
    }
    .officialAreaSns .--officialArea__tiktok {
        width: calc(21 / var(--vw-min) * 100vw);
        height: calc(24 / var(--vw-min) * 100vw);
    }
}
.officialArea__lists {
    display: flex;
}
.officialAreaX .officialArea__lists {
    border-right: min(calc(1 / var(--vw-min) * 100vw),1px) solid var(--color-redD01);
}
.officialAreaSns .officialArea__lists {
    border-right: min(calc(1 / var(--vw-min) * 100vw),1px) solid var(--color-blue009);
}
@media screen and (max-width:768px){
    .officialAreaX .officialArea__lists,
    .officialAreaSns .officialArea__lists {
        border-width: calc(1 / var(--vw-min) * 100vw);
    }
}
.officialAreaX .officialArea__item {
    width: calc(100% / 3);
    border-left: min(calc(1 / var(--vw-min) * 100vw),1px) solid var(--color-redD01);
}
.officialAreaSns .officialArea__item {
    width: calc(100% / 2);
    border-bottom: min(calc(1 / var(--vw-min) * 100vw),1px) solid var(--color-blue009);
    border-left: min(calc(1 / var(--vw-min) * 100vw),1px) solid var(--color-blue009);
}
@media screen and (max-width:768px){
    .officialAreaX .officialArea__item,
    .officialAreaSns .officialArea__item {
        border-width: calc(1 / var(--vw-min) * 100vw);
    }
}
.officialArea__link {
    width: 100%;
    min-height: calc(60 / var(--vw-min) * 100vw);
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: right;
    position: relative;
    padding: calc(17 / var(--vw-min) * 100vw) 0;
    text-decoration: none;
    transition: .3s ease;
}
@media screen and (max-width:768px){
    .officialArea__link {
        min-height: calc(80 / var(--vw-min) * 100vw);
        padding: calc(12 / var(--vw-min) * 100vw) 0;
    }
}
.officialArea__img {
    width: 100%;
    position: absolute;
    inset: 0;
    margin: auto;
    pointer-events: none;
    overflow: hidden;
}
.officialArea__img img {
    width: 100%;
    pointer-events: none;
    transition: .3s ease;
}
.officialArea__name {
    height: calc(27 / var(--vw-min) * 100vw);
    position: relative;
    z-index: 1;
    margin-right: calc(40 / var(--vw-min) * 100vw);
    transition: .3s ease;
}
@media screen and (max-width:768px){
    .officialArea__name {
        height: calc(25 / var(--vw-min) * 100vw);
        margin-right: calc(30 / var(--vw-min) * 100vw);
    }
}
.officialArea__arrow {
    width: calc(25 / var(--vw-min) * 100vw);
    height: calc(25 / var(--vw-min) * 100vw);
    position: absolute;
    right: calc(6 / var(--vw-min) * 100vw);
    bottom: calc(6 / var(--vw-min) * 100vw);
    -webkit-mask: url(../img/common/deco/deco_arrow.svg)no-repeat center/contain;
    mask: url(../img/common/deco/deco_arrow.svg)no-repeat center/contain;
    transition: .3s ease;
}
@media screen and (max-width:768px){
    .officialArea__arrow {
        width: calc(20 / var(--vw-min) * 100vw);
        height: calc(20 / var(--vw-min) * 100vw);
        top: 0;
        right: calc(4 / var(--vw-min) * 100vw);
        bottom: 0;
        margin: auto;
    }
}
@media (hover: hover) and (pointer: fine){
    .officialArea__link:hover .officialArea__img img {
        transform: scale(1.1);
    }
    .officialArea__headLink:hover .officialArea__arrow,
    .officialArea__link:hover .officialArea__arrow {
        transform: translateX(3px);
    }
    .officialArea__headLink:hover .officialArea__txt,
    .officialArea__link:hover .officialArea__name {
        opacity: .7;
    }
}
/**
* 各キャラ
**/
/* kagechiyo */
.officialArea__item.--kagechiyo .officialArea__link {
    background-image: linear-gradient(90deg, #821b12, #4f100b);
}
.officialArea__item.--kagechiyo .officialArea__name {
    width: calc(191 / var(--vw-min) * 100vw);
    background: url(../img/common/official/txt_kagechiyo.png)no-repeat center/contain;
}
.officialArea__item.--kagechiyo .officialArea__arrow {
    background-color: var(--color-redD01);
}
@media screen and (max-width:768px){
    .officialArea__item.--kagechiyo .officialArea__name  {
        width: calc(97 / var(--vw-min) * 100vw);
        height: calc(57 / var(--vw-min) * 100vw);
        background: url(../img/common/official/txt_kagechiyo-s.png)no-repeat center/contain;
    }
}
/* hisame */
.officialArea__item.--hisame .officialArea__link {
    background-image: linear-gradient(90deg, #7a9b94, #4a5e5a);
}
.officialArea__item.--hisame .officialArea__name {
    width: calc(126 / var(--vw-min) * 100vw);
    background: url(../img/common/official/txt_hisame.png)no-repeat center/contain;
}
.officialArea__item.--hisame .officialArea__arrow {
    background-color: var(--color-hisame);
}
@media screen and (max-width:768px){
    .officialArea__item.--hisame .officialArea__name {
        width: calc(117 / var(--vw-min) * 100vw);
    }
}
/* sidi */
.officialArea__item.--sidi .officialArea__link {
    background-image: linear-gradient(90deg, #7f6521, #4d3d14);
}
.officialArea__item.--sidi .officialArea__name {
    width: calc(63 / var(--vw-min) * 100vw);
    background: url(../img/common/official/txt_sidi.png)no-repeat center/contain;
}
.officialArea__item.--sidi .officialArea__arrow {
    background-color: var(--color-sidi);
}
@media screen and (max-width:768px){
    .officialArea__item.--sidi .officialArea__name {
        width: calc(59 / var(--vw-min) * 100vw);
    }
}
/* yt */
.officialArea__item.--yt .officialArea__link {
    justify-content: center;
    background-image: linear-gradient(90deg, #fd0000, #670000);
}
.officialArea__item.--yt .officialArea__name {
    width: calc(141 / var(--vw-min) * 100vw);
    height: calc(28 / var(--vw-min) * 100vw);
    background: url(../img/common/official/txt_yt.png)no-repeat center/contain;
}
.officialArea__item.--yt .officialArea__arrow {
    background-color: var(--color-redFF);
}
@media screen and (max-width:768px){
    .officialArea__item.--yt .officialArea__name {
        width: calc(141 / var(--vw-min) * 100vw);
        height: calc(28 / var(--vw-min) * 100vw);
    }
}
/* tiktok */
.officialArea__item.--tiktok .officialArea__link {
    justify-content: center;
    background-image: linear-gradient(90deg, #03f5ee, #fd0250);
}
.officialArea__item.--tiktok .officialArea__name {
    width: calc(109 / var(--vw-min) * 100vw);
    height: calc(30 / var(--vw-min) * 100vw);
    background: url(../img/common/official/txt_tiktok.png)no-repeat center/contain;
}
.officialArea__item.--tiktok .officialArea__arrow {
    background-color: #03f5ee;
}
@media screen and (max-width:768px){
    .officialArea__item.--tiktok .officialArea__name {
        width: calc(109 / var(--vw-min) * 100vw);
        height: calc(30 / var(--vw-min) * 100vw);
    }
}
/**
* slider
**/
.official__txtSlider {
    width: 100%;
    height: calc(107 / var(--vw-min) * 100vw);
    position: absolute;
    bottom: 0;
    overflow: hidden;
}
.official__txtSlider::before {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
	-webkit-mask: url(../img/common/official/official_slider.svg)repeat-x top left/ calc(1860 / var(--vw-min) * 100vw) calc(108 / var(--vw-min) * 100vw);
	mask: url(../img/common/official/official_slider.svg)repeat-x top left/ calc(1860 / var(--vw-min) * 100vw) calc(108 / var(--vw-min) * 100vw);
}
.official__txtSlider.--top {
    top: 0;
}
.official__txtSlider.--top::before {
    position: absolute;
    animation: officialSlider 30s linear reverse infinite;
    background-color: var(--color-redD01);
}
.official__txtSlider.--bottom {
    bottom: 0;
}
.official__txtSlider.--bottom::before {
    position: absolute;
    bottom: 0;
    animation: officialSlider 30s linear infinite;
    background-color: var(--color-blue009);
}
@keyframes officialSlider{
	0%{
		-webkit-mask-position: 0 center;
		mask-position: 0 center;
	}
	100%{
		-webkit-mask-position:calc(1860 / var(--vw-min) * 100vw) center;
		mask-position:calc(1860 / var(--vw-min) * 100vw) center;
	}
}
/*-----------------------------------------------
 * FV
-------------------------------------------------*/
.fv {
    margin-bottom: calc(54 / var(--vw-min) * 100vw);
}
.fv::after {
    content: "";
    width: 100%;
    position: absolute;
    bottom: -1px;
    padding-top: 28.75%;
    background: linear-gradient(0deg, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0) 100%);
    pointer-events: none;
}
@media screen and (max-width:768px){
    .fv {
        margin-bottom: 0;
        padding-bottom: calc(135 / var(--vw-min) * 100vw);
    }
    .fv::after {
        background: linear-gradient(0deg, rgba(0, 0, 0, .8) 0%, rgba(0, 0, 0, 0) 100%);
    }
    .fv__spLogo {
        width: calc(463 / var(--vw-min) * 100vw);
        height: calc(189 / var(--vw-min) * 100vw);
        position: relative;
        z-index: 2;
        margin: calc(25 / var(--vw-min) * 100vw) auto calc(20 / var(--vw-min) * 100vw);
        background: url(../img/common/logo.png)no-repeat center/contain;
    }
}
.fv__bg {
    width: 100%;
    padding-top: 63%;/*756*/
    position: absolute;
    bottom: 0;
    z-index: -2;
    clip-path: polygon(0 19.4167%, 100% 0, 100% 100%, 0% 100%);
    overflow: hidden;
}
@media screen and (max-width:768px){
    .fv__bg {
        padding-top: 101.333%;/*760*/
    }
}
.fv__bg::before,
.fv__bg::after {
    content: "";
    width: 50%;
    height: 100%;
    position: absolute;
    bottom: 0;
}
.fv__bg::before {
    left: 0;
    background-image: linear-gradient(var(--color-redD01), var(--color-redD01));
}
.fv__bg::after {
    right: 0;
    background-image: linear-gradient(var(--color-blue009), var(--color-blue009));
}
.fv__bgIn {
    width: 100%;
    height: 100%;
    position: absolute;
    inset: 0;
    z-index: 1;
    opacity: .5;
    mix-blend-mode: multiply;
}
.fv__bgIn::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: url(../img/common/deco/deco_noise.png);
    animation: ani_noise .2s linear infinite;
}
.fv__deco {
    width: min(calc(400 / var(--vw-min) * 100vw),400px);
    height: min(calc(320 / var(--vw-min) * 100vw),320px);
    position: absolute;
    top: 0;
    left: 0;
}
@media screen and (max-width:768px){
    .fv__deco {
        width: calc(445 / var(--vw-min) * 100vw);
        height: calc(400 / var(--vw-min) * 100vw);
    }
}
.fv__deco::before {
    content: "";
    width: min(calc(500 / var(--vw-min) * 100vw),500px);
    height: min(calc(500 / var(--vw-min) * 100vw),500px);
    position: absolute;
    right: 0;
    bottom: 0;
    display: block;
    background: url(../img/common/karekoreya.png)no-repeat center/contain;
}
@media screen and (max-width:768px){
    .fv__deco::before {
        width: calc(550 / var(--vw-min) * 100vw);
        height: calc(550 / var(--vw-min) * 100vw);
    }
}
/**
* visual
**/
.fv__visualWrap {
    width: 56.6667%;/*680*/
    position: relative;
    z-index: 1;
    margin-left: 35%;/*420*/
}
@media screen and (max-width:768px){
    .fv__visualWrap {
        width: calc(670 / var(--vw-min) * 100vw);
        margin: 0 auto;
    }
}
.fv__visual img {
    width: 100%;
    pointer-events: none;
}
.fv__visualNum {
    font-size: min(calc(16 / var(--vw-min) * 100vw),16px);
    line-height: 0.75;
    display: inline-block;
    position: absolute;
    right: 0;
    bottom: 0;
    padding: min(calc(5 / var(--vw-min) * 100vw),5px);
    background-image: linear-gradient(-90deg, var(--color-blue009), var(--color-redD01));
}
.fv__visualNum {
    display: inline-block;
}
@media screen and (min-width:769px){
    .fv__stickyWrap {
        width: 100%;
        position: absolute;
        top: 0;
        bottom: 0;
        margin: auto;
        pointer-events: none;
        z-index: 1;
        pointer-events: none;
    }
    .fv__sticky {
        position: sticky;
        top: 0;
        height: min(100%, 100vh);
        min-height: min(calc(800 / var(--vw-min) * 100vw),800px);
    }
    /* left */
    .fv__l {
        width: 35%;/*420*/
        padding-top: min(calc(77 / var(--vh-min) * 100vh),calc(77 / var(--vw-min) * 100vw));
        pointer-events: auto;
    }
    .fv__logo {
        width: min(calc(470 / var(--vh-min) * 100vh),calc(470 / var(--vw-min) * 100vw));
        height: min(calc(180 / var(--vh-min) * 100vh),calc(180 / var(--vw-min) * 100vw));
        margin-left: min(calc(40 / var(--vh-min) * 100vh),calc(40 / var(--vw-min) * 100vw));
        background: url(../img/common/logo.png)no-repeat center/contain;
    }
    .fv__navWrap {
        display: flex;
        padding-top: min(calc(106 / var(--vh-min) * 100vh),calc(106 / var(--vw-min) * 100vw));
    }
    .fv__navTit {
        font-size: min(calc(16 / var(--vh-min) * 100vh),calc(16 / var(--vw-min) * 100vw));
        line-height: 0.75;
        display: inline-block;
        writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
    }
    .fv__navTit span {
        display: inline-block;
        position: relative;
        background-image: var(--main-gradient);
        padding: min(calc(6 / var(--vh-min) * 100vh),calc(6 / var(--vw-min) * 100vw));
    }
    .fv__navTit span::after {
        content: "";
        width: min(calc(24 / var(--vw-min) * 100vw), 24px);
        height: min(calc(23 / var(--vw-min) * 100vw), 23px);
        display: block;
        position: absolute;
        bottom: max(calc(-20 / var(--vw-min) * 100vw), -20px);
        right: max(calc(-10 / var(--vw-min) * 100vw), -10px);
        -webkit-mask: url(../img/common/deco/deco_wing.svg) no-repeat center / contain;
        mask: url(../img/common/deco/deco_wing.svg) no-repeat center / contain;
        background-color: var(--color-blue009);
        transform: rotate(90deg);
    }
    .fv__navLists {
        display: flex;
        flex-direction: column;
        padding-left: min(calc(40 / var(--vh-min) * 100vh), calc(40 / var(--vw-min) * 100vw));
    }
    .fv__navItem {
        display: flex;
    }
    .fv__navItem:not(:last-child) {
        margin-bottom: min(calc(20 / var(--vh-min) * 100vh), calc(20 / var(--vw-min) * 100vw));
    }
    .fv__navLink {
        font-size: min(calc(20 / var(--vh-min) * 100vh), calc(20 / var(--vw-min) * 100vw));
        color: #fff;
        line-height: 0.75;
        text-decoration: none;
        position: relative;
    }
    .fv__navLink::before {
        content: '';
        width: 100%;
        height: min(calc(1 / var(--vw-min) * 100vw),1px);
        position: absolute;
        left: 0;
        bottom: max(calc(-6 / var(--vw-min) * 100vw),-6px);
        background: #fff;
        transform: scale(0, 1);
        transform-origin: right top; 
        transition: transform .3s ease;  
    } 
    @media (hover: hover) and (pointer: fine){
        .fv__navLink:hover::before {
            transform: scale(1, 1);    
            transform-origin: left top;
        }
    }
    .fv__scrollDown {
        font-size: min(calc(16 / var(--vh-min) * 100vh),calc(16 / var(--vw-min) * 100vw));
        line-height: 0.75;
        writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
        display: flex;
        justify-content: flex-end;
        align-items: center;
        margin: 0 min(calc(18 / var(--vh-min) * 100vh),calc(18 / var(--vw-min) * 100vw)) 0 auto;
    }
    .fv__scrollDown::after {
        content: "";
        width: min(calc(16 / var(--vh-min) * 100vh), calc(16 / var(--vw-min) * 100vw));
        height: min(calc(16 / var(--vh-min) * 100vh), calc(16 / var(--vw-min) * 100vw));
        -webkit-mask: url(../img/common/deco/deco_arrow.svg)no-repeat center/contain;
        mask: url(../img/common/deco/deco_arrow.svg)no-repeat center/contain;
        background-color: #fff;
        margin-top: min(calc(10 / var(--vh-min) * 100vh),calc(10 / var(--vw-min) * 100vw));
        transform: rotate(90deg);
        animation: arrow__down 1.5s infinite;
    }
    .fv__scrollDownLink {
        color: #fff;
        width: 100%;
        height: 100%;
        display: flex;
        flex-direction: row;
        justify-content: flex-end;
        align-items: center;
        text-decoration: none;
    }
    /* right */
    .fv__r {
        width: calc(100% - (35% + 56.6667%));
        position: absolute;
        top: 0;
        right: 0;
        display: flex;
        flex-direction: column;
        align-items: center;
        padding-top: min(calc(58 / var(--vh-min) * 100vh),calc(58 / var(--vw-min) * 100vw));
        pointer-events: auto;
    }
    .official__tit {
        font-size: min(calc(16 / var(--vh-min) * 100vh),calc(16 / var(--vw-min) * 100vw));
        line-height: 1;
        writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl; 
        display: flex;
        justify-content: flex-end;
        align-items: center; 
    }
    .official__tit::after {
        content: "";
        width: min(calc(16 / var(--vh-min) * 100vh), calc(16 / var(--vw-min) * 100vw));
        height: min(calc(16 / var(--vh-min) * 100vh), calc(16 / var(--vw-min) * 100vw));
        -webkit-mask: url(../img/common/deco/deco_arrow.svg)no-repeat center/contain;
        mask: url(../img/common/deco/deco_arrow.svg)no-repeat center/contain;
        background-color: #fff;
        margin-top: min(calc(10 / var(--vh-min) * 100vh),calc(10 / var(--vw-min) * 100vw));
        transform: rotate(90deg);
    }
    .officialX__lists,
    .officialSns__lists {
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    .officialX__item {
        width: min(calc(46 / var(--vh-min) * 100vh), calc(46 / var(--vw-min) * 100vw));
        height: min(calc(46 / var(--vh-min) * 100vh), calc(46 / var(--vw-min) * 100vw));
        margin-top: min(calc(10 / var(--vh-min) * 100vh), calc(10 / var(--vw-min) * 100vw));
    }
    .officialX__item.--x {
        width: min(calc(18 / var(--vh-min) * 100vh), calc(18 / var(--vw-min) * 100vw));
        height: min(calc(18 / var(--vh-min) * 100vh), calc(18 / var(--vw-min) * 100vw));
        display: inline-block;
        -webkit-mask: url(../img/common/sns/icon_tw.svg)no-repeat center/contain;
        mask: url(../img/common/sns/icon_tw.svg)no-repeat center/contain;
        background-color: #fff;
        margin-top: min(calc(20 / var(--vh-min) * 100vh), calc(20 / var(--vw-min) * 100vw));
    }
    .officialX__link {
        width: 100%;
        height: 100%;
        display: block;
    }
    .officialX__item.--kagechiyo .officialX__link {
        background: url(../img/common/deco/official_kagechiyo.png)no-repeat center/contain;
    }
    .officialX__item.--hisame .officialX__link {
        background: url(../img/common/deco/official_hisame.png)no-repeat center/contain;
    }
    .officialX__item.--sidi .officialX__link {
        background: url(../img/common/deco/official_sidi.png)no-repeat center/contain;
    }
    .officialSns__item {
        margin-top: min(calc(30 / var(--vh-min) * 100vh), calc(30 / var(--vw-min) * 100vw));
    }
    .officialSns__link {
        width: 100%;
        height: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        text-decoration: none;
    }
    .officialSns__item .officialSns__link::before {
        content: "";
        display: inline-block;
        background-color: #fff;
        margin-bottom: min(calc(5 / var(--vh-min) * 100vh), calc(5 / var(--vw-min) * 100vw));
    }
    .officialSns__item.--yt .officialSns__link::before {
        width: min(calc(24 / var(--vh-min) * 100vh), calc(24 / var(--vw-min) * 100vw));
        height: min(calc(16 / var(--vh-min) * 100vh), calc(16 / var(--vw-min) * 100vw));
        -webkit-mask: url(../img/common/sns/icon_youtube.svg)no-repeat center/contain;
        mask: url(../img/common/sns/icon_youtube.svg)no-repeat center/contain;
    }
    .officialSns__item.--tiktok .officialSns__link::before {
        width: min(calc(21 / var(--vh-min) * 100vh), calc(21 / var(--vw-min) * 100vw));
        height: min(calc(24 / var(--vh-min) * 100vh), calc(24 / var(--vw-min) * 100vw));
        -webkit-mask: url(../img/common/sns/icon_tiktok.svg)no-repeat center/contain;
        mask: url(../img/common/sns/icon_tiktok.svg)no-repeat center/contain;
    }
    .officialSns__txt {
        font-size: min(calc(16 / var(--vh-min) * 100vh),calc(16 / var(--vw-min) * 100vw));
        color: #fff;
        line-height: 1;
        writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl; 
    }
}
/*-----------------------------------------------
 * NEWS
-------------------------------------------------*/
.news {
    padding-top: min(calc(200 / var(--vw-min) * 100vw),200px);
}
@media screen and (max-width:768px){
    .news {
        padding-top: calc(220 / var(--vw-min) * 100vw);
    }
}
.newsCont {
    width: min(calc(1000 / var(--vw-min) * 100vw),1000px);
    margin: 0 auto;
    padding-top: min(calc(50 / var(--vw-min) * 100vw),50px);
}
@media screen and (max-width:768px){
    .newsCont {
        width: 100%;
        padding: calc(60 / var(--vw-min) * 100vw) calc(40 / var(--vw-min) * 100vw) 0;
    }
}
.news__lists {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: min(calc(50 / var(--vw-min) * 100vw),50px);
}
@media screen and (max-width:768px){
    .news__lists {
        gap: calc(40 / var(--vw-min) * 100vw);
    }
}
.news__item {
    width: min(calc(300 / var(--vw-min) * 100vw),300px);
}
@media screen and (max-width:768px){
    .news__item {
        width: calc(315 / var(--vw-min) * 100vw);
    }
}
@media screen and (min-width:769px){
    .news__item:nth-child(4) {
        display: none;
    }
}
.news__link {
    color: #fff;
    width: 100%;
    height: 100%;
    display: block;
    padding: min(calc(24 / var(--vw-min) * 100vw),24px);
    background: var(--main-gradient);
    text-decoration: none;
    position: relative;
}
.news__link::before {
    content: "";
    position: absolute;
    z-index: 0;
    inset: 0;
    opacity: 0;
    background: linear-gradient(0deg, var(--color-blue009), var(--color-redD01) 50%);
    transition: opacity .3s ease;
}
@media screen and (max-width:768px){
    .news__link {
        padding: calc(24 / var(--vw-min) * 100vw);
    }
}
.news__img {
    width: 100%;
    padding-top: 56.3492%;/*142*/
    position: relative;
    background-color: #000;
    overflow: hidden;
}
@media screen and (max-width:768px){
    .news__img {
        padding-top: 56.1798%;/*150*/
    }
}
.news__img img {
    width: 100%;
    height: 100%;
    position: absolute;
    inset: 0;
    margin: auto;
    object-fit: cover;
    transition: .3s ease;
    pointer-events: none;
}
.news__titWrap {
    position: relative;
    z-index: 1;
    margin-top: min(calc(20 / var(--vw-min) * 100vw),20px);
}
@media screen and (max-width:768px){
    .news__titWrap {
        margin-top: calc(24 / var(--vw-min) * 100vw);
    }
}
.news__time {
    font-size: min(calc(18 / var(--vw-min) * 100vw),18px);
    line-height: 1;
    display: inline-block;
    margin-bottom: min(calc(20 / var(--vw-min) * 100vw),20px);
}
@media screen and (max-width:768px){
    .news__time  {
        font-size: calc(20 / var(--vw-min) * 100vw);
    }
}
.news__tit {
    font-size: min(calc(16 / var(--vw-min) * 100vw),16px);
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}
@media screen and (max-width:768px){
    .news__tit {
        font-size: calc(20 / var(--vw-min) * 100vw);
    }
}
@media (hover: hover) and (pointer: fine){
    .news__link:not(.--noLink):hover .news__img img {
        transform: scale(1.1);
    }
    .news__link:not(.--noLink):hover::before {
        opacity: 1;
    }
}
.--noLink {
	cursor: default;
	pointer-events: none;
}
/**
* deco
**/
.deco__chara1 {
    width: min(calc(247 / var(--vw-min) * 100vw),247px);
    height: min(calc(265 / var(--vw-min) * 100vw),265px);
    position: absolute;
    top: max(calc(-50 / var(--vw-min) * 100vw),-50px);
    right: 0;
    overflow: hidden;
}
@media screen and (max-width:768px){
    .deco__chara1 {
        width: calc(247 / var(--vw-min) * 100vw);
        height: calc(262 / var(--vw-min) * 100vw);
        top: calc(-50 / var(--vw-min) * 100vw);
    }
}
.deco__chara1::before {
    content: "";
    width: min(calc(480 / var(--vw-min) * 100vw),480px);
    height: min(calc(263 / var(--vw-min) * 100vw),263px);
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    background: url(../img/common/deco/deco_chara1.png)no-repeat center/contain;
}
@media screen and (max-width:768px){
    .deco__chara1::before {
        width: calc(480 / var(--vw-min) * 100vw);
        height: calc(263 / var(--vw-min) * 100vw);
    }
}
/*-----------------------------------------------
 * MOVIE
-------------------------------------------------*/
.movie {
    padding: min(calc(100 / var(--vw-min) * 100vw),100px) 0 min(calc(100 / var(--vw-min) * 100vw),100px);
}
@media screen and (max-width:768px){
    .movie {
        padding: calc(140 / var(--vw-min) * 100vw) 0 calc(88 / var(--vw-min) * 100vw);
    }
}
.movieCont {
    position: relative;
    padding-top: min(calc(100 / var(--vw-min) * 100vw),100px);
}
@media screen and (max-width:768px){
    .movieCont {
        padding-top: calc(75 / var(--vw-min) * 100vw);
    }
}
.movieCont::after {
    content: "";
    width: 100%;
    position: absolute;
    bottom: -1px;
    padding-top: 20.8333%;
    background: linear-gradient(0deg, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0) 100%);
    pointer-events: none;
}
.movieSwiperWrap {
    width: min(calc(1080 / var(--vw-min) * 100vw),1080px);
    position: relative;
    z-index: 1;
    margin: 0 auto;
    padding-bottom: min(calc(60 / var(--vw-min) * 100vw),60px);
    overflow: hidden;
}
@media screen and (max-width:768px){
    .movieSwiperWrap {
        width: 100%;
        padding-bottom: calc(60 / var(--vw-min) * 100vw);
    }
}
.movieSwiper {
    width: min(calc(808 / var(--vw-min) * 100vw),808px);
    overflow: unset;
}
@media screen and (max-width:768px){
    .movieSwiper {
        width: calc(670 / var(--vw-min) * 100vw);
    }
}
.movie__item {
    margin: 0 min(calc(100 / var(--vw-min) * 100vw),100px);
}
@media screen and (max-width:768px){
    .movie__item {
        margin: 0 calc(100 / var(--vw-min) * 100vw);
    }
}
.movie__itemIn {
    background: var(--main-gradient);
}
.movie__catch {
    font-family: var(--font-notoSerif);
    font-style: italic;
    font-size: min(calc(38 / var(--vw-min) * 100vw),38px);
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.2em;
    text-align: center;
    text-shadow: 0px 0px 5px var(--color-redD01),0px 0px 5px var(--color-redD01);
    position: relative;
    margin-bottom: min(calc(30 / var(--vw-min) * 100vw),30px);
}
@media screen and (max-width:768px){
    .movie__catch {
        font-size: calc(38 / var(--vw-min) * 100vw);
        margin-bottom: calc(30 / var(--vw-min) * 100vw);
    }
}
.movie.slideNone .movie__lists {
    justify-content: center;
}
.movie.slideNone .movie__arrowWrap {
    display: none;
}
/**
* deco
**/
.deco__chara2 {
    width: min(calc(282 / var(--vw-min) * 100vw),282px);
    height: min(calc(222 / var(--vw-min) * 100vw),222px);
    position: absolute;
    top: min(calc(52 / var(--vw-min) * 100vw),52px);
    left: 0;
    overflow: hidden;
}
@media screen and (max-width:768px){
    .deco__chara2 {
        width: calc(235 / var(--vw-min) * 100vw);
        height: calc(219 / var(--vw-min) * 100vw);
        top: calc(-34 / var(--vw-min) * 100vw);
    }
}
.deco__chara2::before {
    content: "";
    width: min(calc(337 / var(--vw-min) * 100vw),337px);
    height: min(calc(218 / var(--vw-min) * 100vw),218px);
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    background: url(../img/common/deco/deco_chara2.png)no-repeat center/contain;
}
@media screen and (max-width:768px){
    .deco__chara2::before {
        width: calc(337 / var(--vw-min) * 100vw);
        height: calc(218 / var(--vw-min) * 100vw);
    }
}
/*-----------------------------------------------
 * INTRODUCTION
-------------------------------------------------*/
.introduction {
    padding-top: min(calc(90 / var(--vw-min) * 100vw),90px);
}
@media screen and (max-width:768px){
    .introduction {
        padding-top: calc(90 / var(--vw-min) * 100vw);
    }
}
.introduction::after {
    content: "";
    width: 100%;
    position: absolute;
    bottom: -1px;
    padding-top: 20.8333%;
    background: linear-gradient(0deg, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0) 100%);
    pointer-events: none;
}
.introCont {
    width: min(calc(1000 / var(--vw-min) * 100vw),1000px);
    margin: 0 auto;
    padding-top: min(calc(90 / var(--vw-min) * 100vw),90px);
}
@media screen and (max-width:768px){
    .introCont {
        width: 100%;
        padding: calc(80 / var(--vw-min) * 100vw) calc(40 / var(--vw-min) * 100vw) 0;
    }
}
.intro__txt {
    font-family: var(--font-notoSerif);
    font-size: min(calc(20 / var(--vw-min) * 100vw),20px);
    line-height: 2.4;
    font-weight: 700;
    letter-spacing: 0.2em;
    text-align: center;
    position: relative;
    z-index: 1;
}
@media screen and (max-width:768px){
    .intro__txt {
        font-size: calc(24 / var(--vw-min) * 100vw);
    }
}
.intro__txt span {
    line-height: 1;
    display: inline-block;
}
.--in-kagechiyo {
    background-color: #821b12;
}
.--in-hisame {
    background-color: var(--color-hisame);
}
.--in-sidi {
    background-color: #7f6521;
}
.--mb {
    margin-bottom: min(calc(50 / var(--vw-min) * 100vw),50px);
}
@media screen and (max-width:768px){
    .--mb {
        margin-bottom: calc(50 / var(--vw-min) * 100vw);
    }
}
/*-----------------------------------------------
 * EPISODES
-------------------------------------------------*/
.episodes {
    padding-top: min(calc(100 / var(--vw-min) * 100vw),100px);
}
@media screen and (max-width:768px){
    .episodes {
        padding-top: calc(140 / var(--vw-min) * 100vw);
    }
}
.episodes::after {
    content: "";
    width: 100%;
    position: absolute;
    bottom: -1px;
    padding-top: 20.8333%;
    background: linear-gradient(0deg, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0) 100%);
    pointer-events: none;
}
.epCont {
    width: 100%;
    position: relative;
}
.epContIn {
    width: min(calc(1000 / var(--vw-min) * 100vw),1000px);
    position: relative;
    z-index: 1;
    margin: 0 auto;
    padding: min(calc(80 / var(--vw-min) * 100vw),80px) 0 min(calc(100 / var(--vw-min) * 100vw),100px);
}
@media screen and (max-width:768px){
    .epContIn {
        width: 100%;
        padding: calc(88 / var(--vw-min) * 100vw) calc(40 / var(--vw-min) * 100vw) calc(140 / var(--vw-min) * 100vw);
    }
    .episodes::after {
        z-index: 1;
    }
}
.epCont__line {
    width: min(calc(1 / var(--vw-min) * 100vw),1px);
    height: calc(100% + min(calc(45 / var(--vw-min) * 100vw),45px));
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    margin: auto;
    background-color: #fff;
    pointer-events: none;
}
@media screen and (max-width:768px){
    .epCont__line {
        width: calc(1 / var(--vw-min) * 100vw);
        height: 100%;
    }
}
.epBox {
    padding-top: min(calc(50 / var(--vw-min) * 100vw),50px);
}
@media screen and (max-width:768px){
    .epBox {
        padding-top: calc(50 / var(--vw-min) * 100vw);
    }
}
.epBox__seasonWrap {
    font-size: min(calc(70 / var(--vw-min) * 100vw),70px);
    line-height: 0.75;
    display: inline-block;
    color: #fff;
    -webkit-text-fill-color: rgba(255, 255, 255, 0);
    -webkit-text-stroke: 1px #fff;
    text-decoration: none;
    width: min(calc(1000 / var(--vw-min) * 100vw),1000px);
    display: flex;
    margin: 0 auto min(calc(60 / var(--vw-min) * 100vw),60px);
}
@media screen and (max-width:768px){
    .epBox__seasonWrap {
        font-size: calc(70 / var(--vw-min) * 100vw);
        width: 100%;
        margin: 0 auto calc(60 / var(--vw-min) * 100vw);
    }
}
.epBox__seasonWrap span {
    width: 50%;
}
.epBox__seasonYear {
    text-align: right;
    padding-right: min(calc(20 / var(--vw-min) * 100vw),20px);
    margin-right: auto;
}
@media screen and (max-width:768px){
    .epBox__seasonYear {
        padding-right: calc(30 / var(--vw-min) * 100vw);
    }
}
.epBox__season {
    padding-left: min(calc(20 / var(--vw-min) * 100vw),20px);
    margin-left: auto;
}
@media screen and (max-width:768px){
    .epBox__season {
        padding-left: calc(30 / var(--vw-min) * 100vw);
    }
}
.ep__itemIn {
    width: 50%;
}
.ep__itemBox {
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
}
/* left */
.ep__item.--left .ep__itemIn {
    margin-right: auto;
}
/* right */
.ep__item.--right .ep__itemIn {
    margin-left: auto;
}
.ep__item.--right .ep__itemBox {
    flex-direction: unset;
}
/**
* year
**/
.ep__yearWrap {
    width: min(calc(200 / var(--vw-min) * 100vw),200px);
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-end;
}
@media screen and (max-width:768px){
    .ep__yearWrap {
        width: calc(76 / var(--vw-min) * 100vw);
    }
}
.ep__year {
    font-size: min(calc(20 / var(--vw-min) * 100vw),20px);
    line-height: 0.75;
    position: absolute;
    top: max(calc(-28 / var(--vw-min) * 100vw),-28px);
}
@media screen and (max-width:768px){
    .ep__year {
        font-size: calc(20 / var(--vw-min) * 100vw);
        top: calc(-26 / var(--vw-min) * 100vw);
    }
}
.ep__decoLine {
    width: 100%;
    height: min(calc(1 / var(--vw-min) * 100vw),1px);
    position: relative;
    background-color: #fff;
}
@media screen and (max-width:768px){
    .ep__decoLine {
        height: calc(1 / var(--vw-min) * 100vw);
    }
}
.ep__decoLine::before {
    content: "";
    width: min(calc(20 / var(--vw-min) * 100vw),20px);
    height: min(calc(20 / var(--vw-min) * 100vw),20px);
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    border-radius: 50%;
    border: min(calc(1 / var(--vw-min) * 100vw),1px) solid #fff;
}
@media screen and (max-width:768px){
    .ep__decoLine::before {
        width: calc(19 / var(--vw-min) * 100vw);
        height: calc(19 / var(--vw-min) * 100vw);
        border-width: calc(1 / var(--vw-min) * 100vw);
    }
}
.ep__decoLine::after {
    content: "";
    width: min(calc(10 / var(--vw-min) * 100vw),10px);
    height: min(calc(10 / var(--vw-min) * 100vw),10px);
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: 1;
    margin: auto;
    border-radius: 50%;
    background-color: #fff;
}
@media screen and (max-width:768px){
    .ep__decoLine::after {
        width: calc(9 / var(--vw-min) * 100vw);
        height: calc(9 / var(--vw-min) * 100vw);
    }
}
/* side */
.ep__item.--side .ep__decoLine {
    background-color: var(--color-blue009);
}
.ep__item.--side .ep__decoLine::after {
    background-color: var(--color-blue009);
}
/* main */
.ep__item.--main .ep__decoLine {
    background-color: var(--color-redD01);
}
.ep__item.--main .ep__decoLine::after {
    background-color: var(--color-redD01);
}
/* left */
.ep__item.--left .ep__decoLine::before {
    right: max(calc(-11 / var(--vw-min) * 100vw),-11px);
}
.ep__item.--left .ep__decoLine::after {
    right: max(calc(-5 / var(--vw-min) * 100vw),-5px);
}
.ep__item.--left .ep__year {
    padding-right: min(calc(30 / var(--vw-min) * 100vw),30px);
    right: 0;
}
@media screen and (max-width:768px){
    .ep__item.--left .ep__decoLine::before {
        right: calc(-11 / var(--vw-min) * 100vw);
    }
    .ep__item.--left .ep__decoLine::after {
        right: calc(-5 / var(--vw-min) * 100vw);
    }
    .ep__item.--left .ep__year {
        padding-right: calc(16 / var(--vw-min) * 100vw);
    }
}
/* right */
.ep__item.--right .ep__decoLine::before {
    left: max(calc(-11 / var(--vw-min) * 100vw),-11px);
}
.ep__item.--right .ep__decoLine::after {
    left: max(calc(-5 / var(--vw-min) * 100vw),-5px);
}
.ep__item.--right .ep__year {
    padding-left: min(calc(30 / var(--vw-min) * 100vw),30px);
    left: 0;
}
@media screen and (max-width:768px){
    .ep__item.--right .ep__decoLine::before {
        left: calc(-11 / var(--vw-min) * 100vw);
    }
    .ep__item.--right .ep__decoLine::after {
        left: calc(-5 / var(--vw-min) * 100vw);
    }
    .ep__item.--right .ep__year {
        padding-left: calc(16 / var(--vw-min) * 100vw);
    }
}
.ep__txtWrap {
    width: calc(100% - min(calc(200 / var(--vw-min) * 100vw),200px));
    position: relative;
}
@media screen and (max-width:768px){
    .ep__txtWrap {
        width: calc(100% - calc(76 / var(--vw-min) * 100vw));
    }
}
.ep__txt {
    font-size:min(calc(20 / var(--vw-min) * 100vw),20px);
    font-weight: 700;
}
@media screen and (max-width:768px){
    .ep__txt {
        font-size: calc(24 / var(--vw-min) * 100vw);
    }
}
/* left */
.ep__item.--left .ep__txtWrap {
    display: flex;
    justify-content: flex-end;
    padding-right: min(calc(15 / var(--vw-min) * 100vw),15px);
}
@media screen and (max-width:768px){
    .ep__item.--left .ep__txtWrap {
        padding-right: calc(17 / var(--vw-min) * 100vw);
    }
}
/* right */
.ep__item.ep__item.--right .ep__txtWrap {
    padding-left: min(calc(15 / var(--vw-min) * 100vw),15px);
}
@media screen and (max-width:768px){
    .ep__item.ep__item.--right .ep__txtWrap {
        padding-left: calc(17 / var(--vw-min) * 100vw);
    }
}
/**
* movie
**/
.ep__movieWrap {
    width: calc(100% - min(calc(200 / var(--vw-min) * 100vw),200px));
    position: relative;
}
@media screen and (max-width:768px){
    .ep__movieWrap {
        width: calc(100% - calc(76 / var(--vw-min) * 100vw));
    }
}
.ep__movieDetail {
    position: relative;
    padding-top: 56.25%;
    overflow: hidden;
}
.ep__movieDetail .movieBtn {
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    cursor: pointer;
}
/* side */
.ep__item.--side .ep__movieDetail {
    border: min(calc(1 / var(--vw-min) * 100vw),1px) solid var(--color-blue009);
}
/* main */
.ep__item.--main .ep__movieDetail {
    border: min(calc(1 / var(--vw-min) * 100vw),1px) solid var(--color-redD01);
}
@media screen and (max-width:768px){
    .ep__item.--side .ep__movieDetail,
    .ep__item.--main .ep__movieDetail {
        border-width: calc(1 / var(--vw-min) * 100vw);
    }
}
/**
* tit
**/
.ep__detailTitWrap {
    font-size: min(calc(18 / var(--vw-min) * 100vw),18px);
    line-height: 1;
    font-weight: 700;
    width: calc(100% - min(calc(200 / var(--vw-min) * 100vw),200px));
    display: flex;
    flex-direction: column;
    margin-top: min(calc(15 / var(--vw-min) * 100vw),15px);
}
@media screen and (max-width:768px){
    .ep__detailTitWrap {
        font-size: calc(20 / var(--vw-min) * 100vw);
        width: calc(100% - calc(76 / var(--vw-min) * 100vw));
        margin-top: calc(15 / var(--vw-min) * 100vw);
    }
}
.ep__detailNum {
    margin-bottom: min(calc(15 / var(--vw-min) * 100vw),15px);
}
@media screen and (max-width:768px){
    .ep__detailNum {
        margin-bottom: calc(15 / var(--vw-min) * 100vw);
    }
}
.ep__detailTit span {
    display: inline-block;
    padding: min(calc(5 / var(--vw-min) * 100vw),5px) min(calc(8 / var(--vw-min) * 100vw),8px);
}
@media screen and (max-width:768px){
    .ep__detailTit span {
        padding: calc(5 / var(--vw-min) * 100vw) calc(10 / var(--vw-min) * 100vw);
    }
}
.ep__cate {
    font-size: min(calc(40 / var(--vw-min) * 100vw),40px);
    line-height: 0.75;
    display: inline-block;
    color: #fff;
    -webkit-text-fill-color: rgba(255, 255, 255, 0);
    text-decoration: none;
    position: absolute;
    z-index: 1;
    top: max(calc(-20 / var(--vw-min) * 100vw),-20px);
    left: max(calc(-52 / var(--vw-min) * 100vw),-52px);
}
@media screen and (max-width:768px){
    .ep__cate {
        font-size: calc(40 / var(--vw-min) * 100vw);
        top: calc(-20 / var(--vw-min) * 100vw);
        left: calc(-20 / var(--vw-min) * 100vw);
    }
}
.ep__decoPlay {
    width: min(calc(48 / var(--vw-min) * 100vw),48px);
    height: min(calc(48 / var(--vw-min) * 100vw),48px);
    position: absolute;
    top: max(calc(-15 / var(--vw-min) * 100vw),-15px);
    right: max(calc(-13 / var(--vw-min) * 100vw),-13px);
    z-index: 3;
    border-radius: 50%;
    background-image: var(--main-gradient);
}
@media screen and (max-width:768px){
    .ep__decoPlay {
        width: calc(48 / var(--vw-min) * 100vw);
        height: calc(48 / var(--vw-min) * 100vw);
        top: calc(-20 / var(--vw-min) * 100vw);
        right: calc(-20 / var(--vw-min) * 100vw);
    }
}
.ep__decoPlay::after {
    content: "";
    width: min(calc(13 / var(--vw-min) * 100vw),13px);
    height: min(calc(15 / var(--vw-min) * 100vw),15px);
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: min(calc(5 / var(--vw-min) * 100vw),5px);
    margin: auto;
    -webkit-mask: url(../img/common/deco/deco_playArrow.svg)no-repeat center/contain;
    mask: url(../img/common/deco/deco_playArrow.svg)no-repeat center/contain;
    background-color: #fff;
    transition: .3s ease;
}
@media screen and (max-width:768px){
    .ep__decoPlay::after {
        width: calc(14 / var(--vw-min) * 100vw);
        height: calc(16 / var(--vw-min) * 100vw);
        left: calc(5 / var(--vw-min) * 100vw);
    }
}
@media (hover: hover) and (pointer: fine){
    .ep__movieWrap:hover .ep__decoPlay::after {
        transform: translateX(2px);
    }
}
/* side */
.ep__item.--side .ep__detailNum {
    color: var(--color-blue009);
} 
.ep__item.--side .ep__detailTit span {
    background-color: var(--color-blue009);
}
.ep__item.--side .ep__cate {
    -webkit-text-stroke: min(calc(2 / var(--vw-min) * 100vw),2px) var(--color-blue009);
}
/* main */
.ep__item.--main .ep__detailNum {
    color: var(--color-redD01);
} 
.ep__item.--main .ep__detailTit span {
    background-color: var(--color-redD01);
}
.ep__item.--main .ep__cate {
    -webkit-text-stroke: min(calc(2 / var(--vw-min) * 100vw),2px) var(--color-redD01);
}
/* left */
.ep__item.--left .ep__detailTitWrap {
    margin-right: auto;
}
/* right */
.ep__item.--right .ep__detailTitWrap {
    margin-left: auto;
}
@media screen and (max-width:768px){
    .ep__item .ep__cate {
        -webkit-text-stroke-width: calc(2 / var(--vw-min) * 100vw);
    }
}
/**
* 余白
**/
.ep__item.--mb {
    margin-bottom: min(calc(35 / var(--vw-min) * 100vw),35px);
}
@media screen and (max-width:768px){
    .ep__item.--mb {
        margin-bottom: calc(35 / var(--vw-min) * 100vw);
    }
}
.ep__item.--subBlank {
    margin-top: max(calc(-174 / var(--vw-min) * 100vw),-174px);
}
@media screen and (max-width:768px){
    .ep__item.--subBlank {
        margin-top: calc(-174 / var(--vw-min) * 100vw);
    }
}
.ep__item.--mainBlank {
    margin-top: max(calc(-90 / var(--vw-min) * 100vw),-90px);
}
@media screen and (max-width:768px){
    .ep__item.--mainBlank {
        margin-top: calc(-90 / var(--vw-min) * 100vw);
    }
}
/*-----------------------------------------------
 * CHARACTER
-------------------------------------------------*/
.charaModal .oneModalIn {
    overflow: hidden;
}
.charaCont {
    padding-top: min(calc(45 / var(--vw-min) * 100vw),45px);
}
@media screen and (max-width:768px){
    .character {
        padding-top: calc(65 / var(--vw-min) * 100vw);
    }
    .charaCont {
        padding-top: calc(50 / var(--vw-min) * 100vw);
    }
}
.chara__lists {
    display: flex;
    flex-wrap: wrap;
}
.chara__item {
    width: calc(100% / 4);
    min-height: min(calc(380 / var(--vw-min) * 100vw),380px);
    height: 100%;
    position: relative;
}
@media screen and (max-width:768px){
    .chara__item {
        min-height:auto;
        height: calc(238 / var(--vw-min) * 100vw);
    }
}
.charaBtn {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    inset: 0;
    margin: auto;
    overflow: hidden;
}
.chara__name {
    color: #fff;
    writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    position: absolute;
    top: 0;
    left: 0;
}
.chara__name-ja {
    font-size:min(calc(12 / var(--vw-min) * 100vw),12px);
    line-height: 1;
    font-weight: 700;
    text-orientation: upright;
    font-feature-settings: initial;
    margin-left: min(calc(5 / var(--vw-min) * 100vw),5px);
}
@media screen and (max-width:768px){
    .chara__name-ja {
        font-size: calc(12 / var(--vw-min) * 100vw);
        margin-left: calc(5 / var(--vw-min) * 100vw);
    }
}
.chara__name-en {
    font-size: min(calc(40 / var(--vw-min) * 100vw),40px);
    line-height: 0.75;
}
@media screen and (max-width:768px){
    .chara__name-en {
        font-size: calc(40 / var(--vw-min) * 100vw);
    }
}
.chara__thumb {
    width: 100%;
    height: 100%;
    position: relative;
}
.chara__thumb img {
    width: 100%;
    height: 100%;
    position: absolute;
    inset: 0;
    margin: auto;
    object-fit: cover;
    pointer-events: none;
    transition: .3s ease;
}
@media (hover: hover) and (pointer: fine){
    .charaBtn:hover .chara__thumb img {
        transform: scale(1.1);
    }
}
/*-----------------------------------------------
 * DIAGRAM
-------------------------------------------------*/
.diagram {
    padding-top: min(calc(50 / var(--vw-min) * 100vw),50px);
}
@media screen and (max-width:768px){
    .diagram {
        padding-top: calc(100 / var(--vw-min) * 100vw);
    }
}
.diagram .cont-titWrap::before,
.diagram .cont-titWrap::after {
    content: unset;
}
.diagram .cont-titIn {
    position: relative;
    justify-content: center;
    padding: 0;
}
.diagram .cont-tit-en {
    color: var(--color-blue003);
}
@media screen and (max-width:768px){
    .diagram .cont-tit-en {
        padding: 0;
        font-size: calc(60 / var(--vw-min) * 100vw);
        text-align: center;
    }
    .diagram .cont-tit-en::before {
        content: unset;
    }
}
.diagramCont {
    padding: min(calc(50 / var(--vw-min) * 100vw),50px) 0 min(calc(28 / var(--vw-min) * 100vw),28px);
    margin-top: max(calc(-22 / var(--vw-min) * 100vw),-22px);
    border-right: min(calc(3 / var(--vw-min) * 100vw),3px) solid var(--color-blue003);
    border-bottom: min(calc(3 / var(--vw-min) * 100vw),3px) solid var(--color-blue003);
    border-left: min(calc(3 / var(--vw-min) * 100vw),3px) solid var(--color-blue003);
}
@media screen and (max-width:768px){
    .diagramCont {
        padding: calc(24 / var(--vw-min) * 100vw) 0 calc(80 / var(--vw-min) * 100vw);
        margin-top: 0;
        border-right: unset;
        border-left: unset;
        border-left: calc(2 / var(--vw-min) * 100vw);
    }
}
.diagram__img {
    width: min(calc(1150 / var(--vw-min) * 100vw),1150px);
    margin: 0 auto;
}
@media screen and (max-width:768px){
    .diagram__img {
        width: 100%;
    }
}
.diagram__img img {
    width: 100%;
    pointer-events: none;
}
@media screen and (max-width:768px){
    .diagram__cauWrap {
        display: flex;
        position: absolute;
        right: calc(40 / var(--vw-min) * 100vw);
        bottom: calc(-73 / var(--vw-min) * 100vw);
    }
    .diagram__cau {
        font-size: calc(20 / var(--vw-min) * 100vw);
        font-weight: 700;
        line-height: 1;
        margin: calc(32 / var(--vw-min) * 100vw) calc(3 / var(--vw-min) * 100vw) 0 0;
    }
    .diagram__decoZoom {
        width: calc(140 / var(--vw-min) * 100vw);
        height: calc(140 / var(--vw-min) * 100vw);
        background: url(../img/common/deco/deco_zoom.png)no-repeat center/contain;
    }
}
/*-----------------------------------------------
 * MUSIC
-------------------------------------------------*/
.music {
    padding-top: min(calc(100 / var(--vw-min) * 100vw),100px);
}
@media screen and (max-width:768px){
    .music {
        padding-top: calc(140 / var(--vw-min) * 100vw);
    }
}
.musicCont {
    padding-top: min(calc(45 / var(--vw-min) * 100vw),45px);
}
@media screen and (max-width:768px){
    .musicCont {
        padding-top: calc(60 / var(--vw-min) * 100vw);
    }
}
.music__lists {
    display: flex;
    flex-wrap: wrap;
}
.music__item {
    width: calc(100% / 3);
}
@media screen and (max-width:768px){
    .music__item {
        width: calc(100% / 2);
    }
}
.musicBtn {
    width: 100%;
    height: 100%;
    display: flex;
    text-decoration: none;
}
.music__name-en {
    font-size: calc(45 / var(--vw-min) * 100vw);
    line-height: 0.7;
    writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    width: calc(50 / var(--vw-min) * 100vw);
    display: flex;
    align-items: flex-end;
    overflow: hidden;
}
@media screen and (max-width:768px){
    .music__name-en {
        font-size: calc(42 / var(--vw-min) * 100vw);
        width: calc(45 / var(--vw-min) * 100vw);
    }
}
.music__name-en span {
    margin-top: calc(-3 / var(--vw-min) * 100vw);
}
.music__detail {
    width: calc(100% - calc(50 / var(--vw-min) * 100vw));
    padding: calc(20 / var(--vw-min) * 100vw) calc(20 / var(--vw-min) * 100vw) calc(20 / var(--vw-min) * 100vw) 0;
}
@media screen and (max-width:768px){
    .music__detail {
        width: calc(100% - calc(45 / var(--vw-min) * 100vw));
    }
}
.music__img {
    width: 100%;
    padding-top: 60.6061%;
    position: relative;
    overflow: hidden;
}
.music__img img {
    width: 100%;
    height: 100%;
    position: absolute;
    inset: 0;
    margin: auto;
    object-fit: cover;
    pointer-events: none;
    transition: .3s ease;
}
.music__detailIn {
    display: flex;
    margin-top: calc(20 / var(--vw-min) * 100vw);
    padding-right: calc(12 / var(--vw-min) * 100vw);
}
@media screen and (max-width:768px){
    .music__detailIn {
        margin-top: calc(15 / var(--vw-min) * 100vw);
        padding-right: 0;
    }
}
.music__titWrap {
    font-size: calc(18 / var(--vw-min) * 100vw);
    color: #fff;
    line-height: 1.5;
    text-align: left;
    width: calc(100% - calc(80 / var(--vw-min) * 100vw));
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    align-items: flex-start;
}
.music__cau {
    font-size: calc(16 / var(--vw-min) * 100vw);
    margin-top: calc(2 / var(--vw-min) * 100vw);
}
.music .movie__yt-play {
    width: calc(80 / var(--vw-min) * 100vw);
    height: calc(80 / var(--vw-min) * 100vw);
    position: relative;
    right:unset;
    bottom: unset;
    box-shadow: 6px 6px 20px 6px rgba(0, 0, 0, 0.3);
}
.music .movie__yt-play::before {
    width: calc(69 / var(--vw-min) * 100vw);
    height: calc(69 / var(--vw-min) * 100vw);
}
@media screen and (max-width:768px){
    .music .movie__yt-play::before {
        content: unset;
    }
}
.music .movie__yt-play::after {
    width: calc(15 / var(--vw-min) * 100vw);
    height: calc(17 / var(--vw-min) * 100vw);
    left: calc(5 / var(--vw-min) * 100vw);
}
@media screen and (max-width:768px){
    .music .movie__yt-play::after {
        width: calc(20 / var(--vw-min) * 100vw);
        height: calc(21 / var(--vw-min) * 100vw);
    }
}
.music__item.--ytNo .musicBtn {
    cursor: default;
    pointer-events: none;
}
@media (hover: hover) and (pointer: fine){
    .musicBtn:hover .music__img img {
        transform: scale(1.1);
    }
    .musicBtn:hover .movie__yt-play::after {
        transform: translateX(2px);
    }
    .musicBtn:hover .movie__yt-play::before {
        animation-play-state: paused;
    }
}
/*-----------------------------------------------
 * EVENT
-------------------------------------------------*/
.event {
    padding: min(calc(170 / var(--vw-min) * 100vw),170px) 0 min(calc(210 / var(--vw-min) * 100vw),210px);
}
@media screen and (max-width:768px){
    .event {
        padding: calc(140 / var(--vw-min) * 100vw) 0 calc(132 / var(--vw-min) * 100vw);
    }
}
.comingSoon {
    width: min(calc(235 / var(--vw-min) * 100vw),235px);
    height: min(calc(235 / var(--vw-min) * 100vw),235px);
    position: absolute;
    top: min(calc(90 / var(--vw-min) * 100vw),90px);
    right: 0;
    left: 0;
    margin: auto;
    border-radius: 50%;
    border: min(calc(1 / var(--vw-min) * 100vw),1px) solid #fff;
}
@media screen and (max-width:768px){
    .comingSoon {
        width: calc(235 / var(--vw-min) * 100vw);
        height: calc(235 / var(--vw-min) * 100vw);
        position: relative;
        top: unset;
        right: unset;
        left: unset;
        border-width: calc(1 / var(--vw-min) * 100vw);
        margin-top: calc(60 / var(--vw-min) * 100vw);
    }
}
.comingSoonIn {
    width: min(calc(217 / var(--vw-min) * 100vw),217px);
    height: min(calc(217 / var(--vw-min) * 100vw),217px);
    border-radius: 50%;
    position: absolute;
    inset: 0;
    margin: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    background-image: linear-gradient(-90deg, var(--color-blue009), var(--color-redD01));;
}
@media screen and (max-width:768px){
    .comingSoonIn {
        width: calc(217 / var(--vw-min) * 100vw);
        height: calc(217 / var(--vw-min) * 100vw);
    }
}
.comingSoonIn span {
    font-size: min(calc(36 / var(--vw-min) * 100vw),36px);
    line-height: 1;
    text-align: center;
    transform: rotate(-13deg);
}
@media screen and (max-width:768px){
    .comingSoonIn span {
        font-size: calc(36 / var(--vw-min) * 100vw);
    }
}
/*-----------------------------------------------
 * アニメーション
-------------------------------------------------*/
.section .--rx {
    opacity: 0;
    transform: translateX(-30%);
    transition: .3s ease;
}
.section .--lx {
    opacity: 0;
    transform: translateX(30%);
    transition: .3s ease;
}
.section .--by {
    opacity: 0;
    transform: translateY(30%);
    transition: .3s ease;
}
.section .--ty {
    opacity: 0;
    transform: translateY(-30%);
    transition: .3s ease;
}
.section .--in {
    opacity: 0;
    transition: .3s ease;
}
.section.is-ani .--rx,
.section.is-ani .--lx{
    opacity: 1;
    transform: translateX(0);
}
.section.is-ani .--by,
.section.is-ani .--ty {
    opacity: 1;
    transform: translateY(0);
}
.section.is-ani .--in {
    opacity: 1;
}
.section .cont-tit-en span,
.section .cont-tit-catch span,
.officialArea {
    opacity: 0;
    transform: translateY(30%);
    transition: .3s ease;
}
.section.is-ani .cont-tit-en span,
.section.is-ani .cont-tit-catch span{
    opacity: 1;
    transform: translateY(0);
    transition-delay: .3s;
}
.officialArea.is-ani {
    opacity: 1;
    transform: translateY(0);
}
@media screen and (min-width:769px){
    .cont-titWrap::before, 
    .cont-titWrap::after {
        background-size: 0% 100%;
    }
    .section.is-ani .cont-titWrap::before, 
    .section.is-ani .cont-titWrap::after {
        background-size: 100% 100%;
    }
}
@media screen and (max-width:768px){
    .cont-tit-en::before,
    .cont-tit-catch::before {
        transform: scale(0, 1);
        transform-origin: left top;
        transition: .3s ease;
    }
    .cont-tit-catch::before {
        transform-origin: right top;
    }
    .section.is-ani .cont-tit-en::before,
    .section.is-ani .cont-tit-catch::before {
	    transform: scale(1,1);
    }
}
.cont-tit-deco {
    background-size: 0% 100%;
}
.section.is-ani .cont-tit-deco {
    background-size: 100% 100%;
}
.cont-tit-deco::after {
    opacity: 0;
    transition: .3s ease;
}
.section.is-ani .cont-tit-deco::after {
    opacity: 1;
    transition-delay: .3s;
}
.intro__txt {
    opacity: 0;
    -webkit-filter: blur(10px);
    filter: blur(10px);
    transition: opacity .2s, filter .3s, -webkit-filter .3s ease;
}
.intro__txt.is-ani {
    opacity: 1;
    -webkit-filter: blur(0);
    filter: blur(0);
}
.deco__chara1::before {
    opacity: 0;
    transform: translateX(100%);
    transition: .3s ease;
}
.section.is-ani .deco__chara1::before {
    opacity: 1;
    transform: translateX(0);
    transition-delay: .3s;
}
.deco__chara1.--animate::before {
   animation: tsuntsun-soft 1s ease-in-out;
}
.deco__chara2::before {
    transform: scale(0);
    transition: .3s ease;
}
.section.is-ani .deco__chara2::before {
    transform: scale(1);
    transition-delay: .3s;
}
.deco__chara2 {
    animation: fuwafuwa 3s ease-in-out infinite;
}

/*-----------------------------------------------
 * Loading
-------------------------------------------------*/
.loading {
	background-color: #000;
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 100000;
    min-height: 100vh;
	min-height: 100dvh;
}
.loading__logo {
    width: calc(351 / var(--vw-min) * 100vw);
    height: calc(135 / var(--vw-min) * 100vw);
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    opacity: 0;
    background: url(../img/common/logo.png)no-repeat center/contain;
    animation: fadeIn .8s .5s forwards;
}
@media screen and (max-width: 768px) {
    .loading__logo {
        width: calc(519 / var(--vw-min) * 100vw);
        height: calc(200 / var(--vw-min) * 100vw);
    }
}
.loading__logo.is-out {
    animation: fadeOut 0.6s ease forwards;
}
@keyframes fadeIn {
    0% {
        opacity: 0;
        transform: scale(0.9);
    }
    50% {
        transform: scale(1.1);
    }
    100% {
        opacity: 1;
        transform: scale(1);
    }
}
@keyframes fadeOut {
    0% {
        opacity: 1;
        transform: scale(1);
    }
    100% {
        opacity: 0;
        transform: scale(0.7);
    }
}
@media screen and (min-width:769px){
    .fv__logo {
        opacity: 0;
    }
    .fv__logo.is-ani {
        animation: fadeIn .8s 1s forwards;
    }
    .fv__navWrap {
        opacity: 0;
        transform: translateY(30%);
        transition: .3s ease;
    }
    .fv__navWrap.is-ani {
        opacity: 1;
        transform: translateY(0);
        transition-delay: 1.5s;
    }
    .fv__r {
        opacity: 0;
        transition: .3s ease;
    }
    .fv__r.is-ani {
        opacity: 1;
        transition-delay: 1.5s;
    }
}