<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">@charset "UTF-8";
@import url(https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,700,900&amp;display=swap&amp;subset=japanese);

html{
    font-size:16px;
}
body,figure,h1,h2,h3,h4,h5,h6,li,ol,p,ul{
    margin:0;
    padding:0;
}
h1,h2,h3,h4,h5,h6,p{
    font-weight:400;
}
li,ol,ul{
    list-style-type:none;
}
img{
    border:0;
    vertical-align:bottom;
}

#page * {
    box-sizing: border-box;
}
#page {
    font-family: "Noto Sans CJK JP", Lato, "Noto Sans JP", "游ゴシック Medium", 游ゴシック体, "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    line-height: 1.4;
}
#page img {
    width: 100%;
}

.al_r {
    text-align: right;
}
.flex {
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
}

.movie_wrap {
    width: 100%;
    max-width: 1040px;
    margin: 50px auto 0;
    border: #fff 1px solid;
    padding: 15px;
}
#movie {
    position: relative;
    width: 100%;
    padding-top: calc(9 / 16 * 100%);
    margin: 0 auto;
    overflow: hidden;
}
.tvo-video {
	position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    right: 0;
}
@media screen and (max-width:479px) {
    .movie_wrap {
        margin: 20px auto 0;
    }
}


.main_visual {
    font-size: 0;
    line-height: 0;
    background: url(../images/bg_main.jpg) no-repeat center center;
    background-size: cover;
    height: 900px;
    position: relative;
    z-index: 1;
}
.main_visual .logo_wrap {
    max-width: 940px;
    margin: 0 auto;
    position: absolute;
    z-index: 50;
    top: 36%;
    left: 50%;
    width: 85%;
    transform: translate(-50%, -50%);
}
.main_visual h1 {
    background: url(../images/logo.png) no-repeat top center/contain;
    padding-top: calc(527 / 973 * 100%);
    height: auto;
}
.navi_btn .flex {
    position: absolute;
    bottom: 8%;
    left: 50%;
    transform: translateX(-50%);
    width: 75%;
    margin: 0 auto;
    max-width: 750px;
    justify-content: space-between;
}
.navi_btn .flex .img_wrap {
    flex: 0 0 40%;
    text-align: center;
}
.navi_btn .flex .img_wrap img {
    max-width: 270px;
    animation: fuwafuwa 2s infinite;
}
@keyframes fuwafuwa {
    0% {
    transform: translateY(0px);
   }
    50% {
    transform: translateY(-20px);
   }
    100% {
    transform: translateY(0px);
   }
}
@media screen and (max-width:991px) {
    .main_visual {
        height: 85vw;
    }
}
@media screen and (max-width:767px) {
}

.sec_inner {
    margin: 0 auto;
    padding: 0 40px;
    max-width: 1200px;
}
.block_title {
    font-weight: bold;
}
.read_txt {
    font-size: 20px;
    line-height: 1.6;
}
@media screen and (max-width:479px) {
    .sec_inner {
        padding: 0 20px;
    }
}

/* ====================================================================
    .sec-outline
================================================================= */
.sec-outline {
    background: url(../images/ptn_blk.jpg) repeat top left;
    padding: 60px 0;
}
.sec-outline .sec_title_wrap {
    max-width: 900px;
    margin: 0 auto;
    font-size: 0;
}
.sec-outline .sec_title {
    background: url(../images/outline_head.png) no-repeat top center/contain;
    padding-top: calc(48 / 928 * 100%);
    height: auto;
}
.sec-outline .sec_read {
    color: #fff;
    font-size: 22px;
    text-align: center;
    line-height: 2;
    letter-spacing: 1px;
    margin-top: 30px;
}
@media screen and (max-width:767px) {
    .sec-outline .sec_title {
        background: url(../images/outline_head_sp.png) no-repeat top center/contain;
        padding-top: calc(139 / 536 * 80%);
        height: auto;
    }
    .sec-outline .sec_read {
        text-align: justify;
    }
    .sec-outline .sec_read br {
        display: none;
    }
}
@media screen and (max-width:479px) {
    .sec-outline {
        padding: 30px 0;
    }
    .sec-outline .sec_read {
        font-size: 18px;
        line-height: 1.6;
    }
}

/* ====================================================================
    .sec-performer
================================================================= */
.sec-performer {
    background: url(../images/bg_pf_topR.png) no-repeat right top,
    url(../images/bg_pf_topL.png) no-repeat left 10%,
    url(../images/bg_pf_btmR.png) no-repeat right bottom,
    url(../images/bg_pf_btmL.png) no-repeat 10% bottom,
    url(../images/ptn_pf.jpg) repeat top left;
    padding: 100px 0 10px;
}
.sec-performer .sec_inner {
    max-width: 100%;
}
.sec-performer .sec_title_wrap {
    width: 50vw;
    max-width: 373px;
    margin: 0 auto;
    font-size: 0;
}
.sec-performer .sec_title {
    background: url(../images/title_performer.png) no-repeat top center/contain;
    padding-top: calc(130 / 373 * 100%);
    height: auto;
}
.sec-performer .note_title {
    text-align: center;
    margin-bottom: 10px;
}
.sec-performer .note_text {
    font-size: 16px;
    text-align: center;
    max-width: 800px;
    margin: 60px auto 0;
    line-height: 1.6;
}
.pf_group01,
.pf_group02 {
    margin: 100px auto;
}
.pf_group01 .img_wrap {
    margin: 0 auto;
    width: 50vw;
    max-width: 650px;
}
.pf_group02 .img_wrap {
    margin: 0 auto 80px;
    flex: 0 0 31%;
    max-width: 480px;
}
@media screen and (max-width:1039px) {
    .pf_group02 .img_wrap {
        flex: 0 0 46%;
    }
    .pf_group01 .img_wrap {
        width: 55vw;
    }    
}
@media screen and (max-width:479px) {
    .sec-performer {
        background: url(../images/bg_pf_topR.png) no-repeat right top/90%, url(../images/bg_pf_topL.png) no-repeat left 55%/30%, url(../images/bg_pf_btmR.png) no-repeat right bottom/40%, url(../images/bg_pf_btmL.png) no-repeat 10% bottom/150%, url(../images/ptn_pf.jpg) repeat top left;
    }
    .pf_group01, .pf_group02 {
        margin: 50px auto;
    }
    .pf_group01 .img_wrap {
        width: 100%;
    }
    .pf_group02 .img_wrap {
        flex: 0 0 86%;
        margin: 0 auto 40px;
    }
}

#page-top {
    position: fixed;
    font-size: 77%;
    z-index: 50;
}
@media screen and (min-width: 768px) {
    #page-top {
        bottom: 20px;
        right: 20px;
    }
}
@media screen and (max-width: 767px) {
    #page-top {
        bottom: 5px;
        right: 5px;
    }
    #page-top a img {
        width: 50px;
        height: auto;
    }
}





.brXS, .brS, .brM, .brL { display: none; }
.brPC { display: none; }
@media (max-width: 479px) { .brXS { display: inline; } }
@media (max-width: 575px) { .brS { display: inline; } }
@media (max-width: 767px) { .brM { display: inline; } }
@media (max-width: 991px) { .brL { display: inline; } }
@media (min-width: 992px) { .brPC { display: inline; } }</pre></body></html>