@charset "utf-8";
/*-----------------------------------------------
 * FV
 * CATCH
 * POPUP
-------------------------------------------------*/
/*-----------------------------------------------
 * FV
-------------------------------------------------*/
.fv {
    width: 100%;
    position: relative;
}
.fvWrap {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2;
    overflow: hidden;
    pointer-events: none;
}
.fv__bg {
    width: 100%;
    height: auto;
}
.fv__bg img {
    width: 100%;
    height: auto;
    display: block;
    pointer-events: none;
}
.fv__part {
    position: absolute;
    z-index: 2;
}
.fv__logo {
    width: 52.0315%;/*666*/
    padding-top: 69.4531%;/*889*/
    top: 0;
    left: 0;
    background: url(../img/common/logo.svg)no-repeat top/contain;
}
@media screen and (max-width:768px){
    .fv__logo {
        width: calc(440 / var(--vw-min) * 100vw);
        height: calc(589 / var(--vw-min) * 100vw);
        padding-top: 0;
    }
}
.fv__tit {
    width: 84.375%;/*1080*/
    padding-top: 7.8125%;/*100*/
    top: 0;
    right: 0;
    background: url(../img/common/tit.svg)no-repeat center/contain;
}
@media screen and (max-width:768px){
    .fv__tit {
        width: calc(628 / var(--vw-min) * 100vw);
        height: calc(58 / var(--vw-min) * 100vw);
        padding-top: 0;
    }
}
.fv__catch {
    width: 10.5468%;/*135*/
    padding-top: 59.0625%;/*756*/
    right: 0;
    bottom: 0;
    z-index: 3;
    background: url(../img/common/catch.svg)no-repeat center/contain;
}
@media screen and (max-width:768px){
    .fv__catch {
        width: calc(110 / var(--vw-min) * 100vw);
        height: calc(699 / var(--vw-min) * 100vw);
        padding-top: 0;
        background: url(../img/common/catch-s.svg)no-repeat center/contain;
    }
}
.fv__onair {
    width: 15.625%;/*200*/
    padding-top: 17.6563%;/*226*/
    right: 13.8281%;/*177*/
    bottom: -1px;
    z-index: 4;
    background: url(../img/common/onair.svg)no-repeat center/contain;
}
@media screen and (max-width:768px){
    .fv__onair {
        width: calc(145 / var(--vw-min) * 100vw);
        height: calc(163 / var(--vw-min) * 100vw);
        right: unset;
        left: 0;
        padding-top: 0;
    }
}
.fv__bgChara {
    width: 69.1406%;/*885*/
    padding-top: 58.9062%;/*754*/
    bottom: 0;
    right: 13.8281%;/*177*/
    z-index: 1;
    background: url(../img/common/bg_hanabi.png)no-repeat center/contain;
}
@supports (background-image: url( ../img/common/bg_hanabi.webp)){
    .fv__bgChara {
        background-image: url(../img/common/bg_hanabi.webp);
    }
}
@media screen and (max-width:768px){
    .fv__bgChara {
        width: calc(616 / var(--vw-min) * 100vw);
        height: calc(698 / var(--vw-min) * 100vw);
        right: 0;
        padding-top: 0;
    }
}
.fv__chara {
    width: 55.1562%;/*706*/
    padding-top: 74.1406%;/*949*/
    top: 0;
    right: 26.0156%;/*333*/
    z-index: 2;
    background: url(../img/common/fv_chara.png)no-repeat top/contain;
}
@supports (background-image: url( ../img/common/fv_chara.webp)){
    .fv__chara{
        background-image: url(../img/common/fv_chara.webp);
    }
}
@media screen and (max-width:768px){
    .fv__chara {
        width: calc(630 / var(--vw-min) * 100vw);
        height: calc(847 / var(--vw-min) * 100vw);
        top: calc(-20 / var(--vw-min) * 100vw);
        right: calc(94 / var(--vw-min) * 100vw);
        padding-top: 0;
    }
}
.fv__paras {
    width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}
.fv__para {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}
.fv__para.--chara {
    z-index: 3;
}
/*-----------------------------------------------
 * CATCH
-------------------------------------------------*/
.catch {
    padding: min(calc(90 / var(--vw-min) * 100vw),90px) 0 0;
}
@media screen and (max-width:768px){
    .catch {
        padding-top: calc(84 / var(--vw-min) * 100vw);
    }
}
.catchWrap {
    width: min(calc(1110 / var(--vw-min) * 100vw),1110px);
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 0 auto;
}
@media screen and (max-width:768px){
    .catchWrap {
        width: 100%;
        padding: 0 calc(20 / var(--vw-min) * 100vw);
    }
}
.catch__tit {
    font-size: min(calc(44 / var(--vw-min) * 100vw),44px);
    color: var(--color-yellow);
    display: inline-block;
    line-height: 1;
    background: linear-gradient(#000,#000);
}
@media screen and (max-width:768px){
    .catch__tit {
        font-size: calc(44 / var(--vw-min) * 100vw);
        line-height: 1.2;
        text-align: center;
    }
}
.catch__data {
    font-size: min(calc(34 / var(--vw-min) * 100vw),34px);
    color: var(--color-red);
    line-height: 1;
    display: inline-block;
    background: linear-gradient(#000,#000);
    margin: min(calc(15 / var(--vw-min) * 100vw),15px) 0 min(calc(20 / var(--vw-min) * 100vw),20px);
}
@media screen and (max-width:768px){
    .catch__data {
        font-size: calc(34 / var(--vw-min) * 100vw);
        margin: calc(20 / var(--vw-min) * 100vw) 0 calc(30 / var(--vw-min) * 100vw);
    }
}
.catch__data span {
    color: var(--color-green);
}
.catch__txt {
    font-size: min(calc(20 / var(--vw-min) * 100vw),20px);
    color: #fff;
    line-height: 2;
}
@media screen and (max-width:768px){
    .catch__txt {
        font-size: calc(20 / var(--vw-min) * 100vw);
    }
}
.catch__txt span {
    display: inline;
    background: linear-gradient(#000,#000);
}
/*-----------------------------------------------
 * POPUP
-------------------------------------------------*/
.popup {
    padding: min(calc(50 / var(--vw-min) * 100vw),50px) 0 min(calc(92 / var(--vw-min) * 100vw),92px);
}
@media screen and (max-width:768px){
    .popup {
        padding: calc(40 / var(--vw-min) * 100vw) 0 calc(260 / var(--vw-min) * 100vw);
    }
}
.popupWrap {
    width: min(calc(1100 / var(--vw-min) * 100vw),1100px);
    margin: 0 auto;
}
@media screen and (max-width:768px){
    .popupWrap {
        width: 100%;
    }
}
/**
* nav
**/
.popup__navLists {
    width: calc(100% + min(calc(6 / var(--vw-min) * 100vw),6px));
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
@media screen and (max-width:768px){
    .popup__navLists {
        width: 100%;
        padding: 0 calc(7 / var(--vw-min) * 100vw);
    }
}
.popup__navItem {
    width: calc(100% / 4);
    padding: min(calc(3 / var(--vw-min) * 100vw),3px);
}
@media screen and (max-width:768px){
    .popup__navItem {
        width: calc(100% / 2);
        padding: calc(3 / var(--vw-min) * 100vw);
    }
}
.popup__navLink {
    font-size: min(calc(20 / var(--vw-min) * 100vw),20px);
    color: #fff;
    line-height: 1.5;
    width: 100%;
    height: 100%;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background-color: #000;
    padding: min(calc(20 / var(--vw-min) * 100vw),20px);
    text-decoration: none;
    transition: .3s ease;
}
@media screen and (max-width:768px){
    .popup__navLink {
        font-size: calc(28 / var(--vw-min) * 100vw);
        padding: calc(20 / var(--vw-min) * 100vw);
    }
}
.popup__navLink::before {
    content: "";
    width: calc(100% - min(calc(10 / var(--vw-min) * 100vw),10px));
    height: calc(100% - min(calc(10 / var(--vw-min) * 100vw),10px));
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    border: min(calc(2 / var(--vw-min) * 100vw),2px) solid #fff;
    margin: auto;
    pointer-events: none;
    transition: .3s ease;
}
@media screen and (max-width:768px){
    .popup__navLink::before {
        width: calc(100% - calc(10 / var(--vw-min) * 100vw));
        height: calc(100% - calc(10 / var(--vw-min) * 100vw));
        border-width: calc(2 / var(--vw-min) * 100vw);
    }
}
.popup__navArrow {
    content: "";
    width: min(calc(30 / var(--vw-min) * 100vw),30px);
    height: min(calc(30 / var(--vw-min) * 100vw),30px);
    display: block;
    -webkit-mask: url(../img/common/deco_arrow.svg)no-repeat center/contain;
    mask: url(../img/common/deco_arrow.svg)no-repeat center/contain;
    background-color: #fff;
    margin-top: min(calc(10 / var(--vw-min) * 100vw),10px);
    transition: .3s ease;
}
@media screen and (max-width:768px){
    .popup__navArrow {
        width: calc(30 / var(--vw-min) * 100vw);
        height: calc(30 / var(--vw-min) * 100vw);
        margin-top: calc(10 / var(--vw-min) * 100vw);
    }
}
.popupCont {
    padding-top: min(calc(50 / var(--vw-min) * 100vw),50px);
}
@media screen and (max-width:768px){
    .popupCont {
        padding: calc(50 / var(--vw-min) * 100vw) calc(10 / var(--vw-min) * 100vw) 0;
    }
}
.popup__item:not(:first-child) {
    padding-top: min(calc(100 / var(--vw-min) * 100vw),100px);
}
@media screen and (max-width:768px){
    .popup__item:not(:first-child) {
        padding-top: calc(50 / var(--vw-min) * 100vw);
    }
}
.popup__tit {
    font-size: min(calc(44 / var(--vw-min) * 100vw),44px); 
    text-align: center;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: min(calc(22 / var(--vw-min) * 100vw),22px);
}
@media screen and (max-width:768px){
    .popup__tit {
        font-size: calc(44 / var(--vw-min) * 100vw);
        margin-bottom: calc(22 / var(--vw-min) * 100vw);
    }
}
.popup__tit span {
    display: inline;
    background: linear-gradient(#000,#000);
}
.popup__contLists {
    position: relative;
    background-color: rgba(0,0,0,.95);
}
.popup__contLists::before {
    content: "";
    width: calc(100% - min(calc(20 / var(--vw-min) * 100vw),20px));
    height: calc(100% - min(calc(20 / var(--vw-min) * 100vw),20px));
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    border-width: min(calc(5 / var(--vw-min) * 100vw),5px);
    border-style: solid;
    margin: auto;
    pointer-events: none;
}
@media screen and (max-width:768px){
    .popup__contLists::before {
        width: calc(100% - calc(20 / var(--vw-min) * 100vw));
        height: calc(100% - calc(20 / var(--vw-min) * 100vw));
        border-width: calc(5 / var(--vw-min) * 100vw);
    }
}
.popup__contItem {
    width: calc(100% - min(calc(20 / var(--vw-min) * 100vw),20px));
    padding: 0 0 min(calc(50 / var(--vw-min) * 100vw),50px);
    margin: 0 auto;
}
@media screen and (max-width:768px){
    .popup__contItem {
        width: calc(100% - calc(20 / var(--vw-min) * 100vw));
        padding: 0 0 calc(50 / var(--vw-min) * 100vw);
    }
}
.popup__contItem:not(:last-child) {
    border-bottom-width: min(calc(1 / var(--vw-min) * 100vw),1px);
    border-bottom-style: solid;
}
@media screen and (max-width:768px){
    .popup__contItem:not(:last-child)  {
        border-bottom-width: calc(1 / var(--vw-min) * 100vw);
    }
}
.popup__subTit {
    font-size: min(calc(44 / var(--vw-min) * 100vw),44px);
    text-align: center;
    line-height: 1.5;
    border-bottom-width: min(calc(1 / var(--vw-min) * 100vw),1px);
    border-bottom-style: solid;
    padding: min(calc(64 / var(--vw-min) * 100vw),64px) min(calc(20 / var(--vw-min) * 100vw),20px) min(calc(50 / var(--vw-min) * 100vw),50px);
}
@media screen and (max-width:768px){
    .popup__subTit {
        font-size: calc(44 / var(--vw-min) * 100vw);
        border-bottom-width: calc(1 / var(--vw-min) * 100vw);
        padding: calc(64 / var(--vw-min) * 100vw) calc(20 / var(--vw-min) * 100vw) calc(50 / var(--vw-min) * 100vw);
    }
}
.popup__detail {
    font-size: min(calc(20 / var(--vw-min) * 100vw),20px);
    color: #fff;
    line-height: 1.95;
    padding: min(calc(15 / var(--vw-min) * 100vw),15px) min(calc(70 / var(--vw-min) * 100vw),70px);
}
@media screen and (max-width:768px){
    .popup__detail {
        font-size: calc(20 / var(--vw-min) * 100vw);
        padding: calc(15 / var(--vw-min) * 100vw) calc(70 / var(--vw-min) * 100vw);
    }
}
.popup__txtItem-dt {
    line-height: 1;
    display: inline-block;
    border-width: min(calc(1 / var(--vw-min) * 100vw),1px);
    border-style: solid;
    border-color: #fff;
    padding: min(calc(10 / var(--vw-min) * 100vw),10px) min(calc(30 / var(--vw-min) * 100vw),30px);
    margin: min(calc(35 / var(--vw-min) * 100vw),35px) 0 min(calc(10 / var(--vw-min) * 100vw),10px);
}
@media screen and (max-width:768px){
    .popup__txtItem-dt {
        padding: calc(10 / var(--vw-min) * 100vw) calc(30 / var(--vw-min) * 100vw);
        margin: calc(35 / var(--vw-min) * 100vw) 0 calc(10 / var(--vw-min) * 100vw);
    }
}
/* .popup__txtItem-dt::after {
    content: ":";
    display: inline-block;
    margin-left: min(calc(5 / var(--vw-min) * 100vw),5px);
} */
@media screen and (max-width:768px){
    .popup__txtItem-dt::after {
        margin-left: calc(5 / var(--vw-min) * 100vw);
    }
}
.popup__txtItem-img {
    width: 100%;
}
.popup__txtItem-img img {
    width: 100%;
    pointer-events: none;
}
.--mt {
    margin-top: min(calc(40 / var(--vw-min) * 100vw),40px);
}
@media screen and (max-width:768px){
    .--mt {
        margin-top: calc(40 / var(--vw-min) * 100vw);
    }
}
.linkBtn {
    display: flex;
    justify-content: center;
    margin-top: min(calc(30 / var(--vw-min) * 100vw),30px);
}
@media screen and (max-width:768px){
    .linkBtn {
        margin-top: calc(30 / var(--vw-min) * 100vw);
    }
}
.linkA {
    font-size: min(calc(30 / var(--vw-min) * 100vw),30px);
    color: var(--color-green);
    line-height: 1;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    border-width: min(calc(2 / var(--vw-min) * 100vw),2px);
    border-style: solid;
    padding: min(calc(24 / var(--vw-min) * 100vw),24px) min(calc(175 / var(--vw-min) * 100vw),175px);
    text-decoration: none;
    overflow: hidden;
    transition: .3s ease;
}
.linkA span:not(.linkBtn__arrow) {
    position: relative;
    z-index: 1;
}
.linkA::after {
    content: "";
    width: 110%;
    height: 110%;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
   	background-repeat: no-repeat;
	background-position: right bottom;
	background-size: 0% 100%; 
	transition: background-size .3s ease;
}
@media screen and (max-width:768px){
    .linkA {
        font-size: calc(30 / var(--vw-min) * 100vw);
        border-width: calc(2 / var(--vw-min) * 100vw);
        padding: calc(24 / var(--vw-min) * 100vw) calc(175 / var(--vw-min) * 100vw);
    }
}
.linkBtn__arrow {
    width: min(calc(30 / var(--vw-min) * 100vw),30px);
    height: min(calc(30 / var(--vw-min) * 100vw),30px);
    display: block;
    position: absolute;
    top: 0;
    right: min(calc(30 / var(--vw-min) * 100vw),30px);
    bottom: 0;
    z-index: 1;
    margin: auto;
    -webkit-mask: url(../img/common/deco_arrow.svg)no-repeat center/contain;
    mask: url(../img/common/deco_arrow.svg)no-repeat center/contain;
    transform: rotate(-90deg);
    transition: .3s ease;
}
@media screen and (max-width:768px){
    .linkBtn__arrow {
        width: calc(30 / var(--vw-min) * 100vw);
        height: calc(30 / var(--vw-min) * 100vw);
        right: calc(30 / var(--vw-min) * 100vw);
    }
}
/**
* カラー交互
**/
.popup__item:nth-child(odd) .popup__tit,
.popup__item:nth-child(odd) .popup__contLists::before,
.popup__item:nth-child(odd) .popup__contItem:not(:last-child),
.popup__item:nth-child(odd) .popup__subTit,
.popup__item:nth-child(odd) .linkA {
    color: var(--color-green);
    border-color: var(--color-green);
}
.popup__item:nth-child(odd) .linkBtn__arrow {
    background-color: var(--color-green);
}
.popup__item:nth-child(odd) .linkA:after {
	background-image: linear-gradient(var(--color-green), var(--color-green));
}
.popup__item:nth-child(even) .popup__tit,
.popup__item:nth-child(even) .popup__contLists::before,
.popup__item:nth-child(even) .popup__contItem:not(:last-child),
.popup__item:nth-child(even) .popup__subTit,
.popup__item:nth-child(even) .linkA {
    color: var(--color-red);
    border-color: var(--color-red);
}
.popup__item:nth-child(even) .linkBtn__arrow {
    background-color: var(--color-red);
}
.popup__item:nth-child(even) .linkA:after {
	background-image: linear-gradient(var(--color-red), var(--color-red));
}
/**
* hover
**/
@media (hover: hover) and (pointer: fine){
    .popup__navLink:hover .popup__navArrow {
        transform: translateY(5px);
    }
    .popup__navItem:nth-child(odd) .popup__navLink:hover {
        color: var(--color-green);
    }
    .popup__navItem:nth-child(odd) .popup__navLink:hover::before {
        border-color: var(--color-green);
    }
    .popup__navItem:nth-child(odd) .popup__navLink:hover .popup__navArrow {
        background-color: var(--color-green);
    }
     .popup__navItem:nth-child(even) .popup__navLink:hover {
        color: var(--color-red);
    }
    .popup__navItem:nth-child(even) .popup__navLink:hover::before {
        border-color: var(--color-red);
    }
    .popup__navItem:nth-child(even) .popup__navLink:hover .popup__navArrow {
        background-color: var(--color-red);
    }
    .popup__item:nth-child(odd) .linkA:hover,
    .popup__item:nth-child(even) .linkA:hover {
        color: #000;
    }
     .popup__item:nth-child(odd) .linkA:hover .linkBtn__arrow,
    .popup__item:nth-child(even) .linkA:hover .linkBtn__arrow {
        background-color: #000;
        transform: rotate(-90deg) translateY(5px);
    }
    .linkA:hover::after {
        background-position: left bottom;
		background-size: 100% 100%;
    }
}
.section .catch__tit,
.section .catch__data {
    transform: scale(0);
    transition: .3s ease;
}
.section.is-ani .catch__tit,
.section.is-ani .catch__data {
    transform: scale(1);
}
.section .catch__txt {
    opacity: 0;
    transform: translateY(30%);
    transition: .3s ease;
}
.section.is-ani .catch__txt {
    opacity: 1;
    transform: translateY(0);
    transition-delay: .3s;
}
.section .popup__navLists {
    transform: scale(0);
    transition: .3s ease;
}
.section.is-ani .popup__navLists {
    transform: scale(1);
    transition-delay: .3s;
}
.popup__item {
    opacity: 0;
    transition: .5s ease;
}
.popup__item.is-ani {
    opacity: 1;
    transition-delay: .3s;
}
/*-----------------------------------------------
 * ロード
-------------------------------------------------*/
.loading {
    position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 10000;
	min-height: 100vh;
	min-height: 100dvh;
	background-color: #000;
}
.fv__chara {
    transform: scale(0);
    transition: .3s ease;
}
.fv__chara.is-ani {
    transform: scale(1);
}
.fv__logo {
    opacity: 0;
    transform: translateX(-100%);
    transition: .3s ease;
}
.fv__catch,
.fv__tit {
     opacity: 0;
    transform: translateX(100%);
    transition: .3s ease;
}
.fv__onair {
    opacity: 0;
    transform: translateY(100%);
    transition: .3s ease;
}
.fv__logo.is-ani,
.fv__catch.is-ani,
.fv__tit.is-ani,
.fv__onair.is-ani {
    opacity: 1;
    transform: translate(0%);
    transition-delay: .2s;
}