/* CSS Document */

@media screen and (max-width: 1480px) {

    .l-header-nav li {
        font-size: 1.6rem;
        padding-right: 21px;
    }

    .l-header-nav li::after {
        right: 8px;
        top: 6px;
    }
}

@media screen and (max-width: 1420px) {

    .l-cbt-section-chara-01 {
        left: -12vw;
    }

    .l-cbt-section-chara-01 img {
        width: 50vw;
    }

    .l-cbt-section-chara-02 {
        right: -8vw;
    }

    .l-cbt-section-chara-02 img {
        width: 44vw;
    }

    .l-key-visual-banner li {
        width: 32.25vw;
    }

    .l-key-visual-banner li:nth-child(3) {
        width: 24vw;
    }

.l-key-visual-banner li.l-key-visual-banner__award_p,
    .l-key-visual-banner li.l-key-visual-banner__scode {
        width: 32.25vw;
        /* margin-left: -1.8vw; */
        max-width: 430px;
    }



    .l-header-nav {
        margin: 31px 0 0px 190px;
        display: inline-block;
    }

    .l-header-nav li {
        font-size: 1.45rem;
        padding-right: 21px;
    }

    .l-header-nav li::after {
        top: 5px;
    }

}

@media screen and (max-width: 1340px) {

    .l-header-nav li {
        font-size: 1.4rem;
        padding-right: 18px;
    }

    .l-header-nav li::after {
        right: 6px;
        top: 5px;
        height: 14px;
    }

}


@media screen and (max-width: 1280px) {

    .l-header-nav { 
        margin: 32px 0 0px 180px;
        display: inline-block;
    }

    .l-header-nav li { 
        font-size: 1.4rem;
        padding-right: 17px;
        display: inline-block;
        color: #472105;
        font-weight: bold;
        text-shadow: 3px 3px 5px #FFF;
    }

}

@media screen and (max-width: 1240px) {

    .l-section-inner_l {
        width: 88%;
        max-width: 1024px;
        height: auto;
        margin: 0 auto;
        position: relative;
    }

    .l-movie-section-slider li iframe {
        width: 670px!important;
        height: 376px!important;
        box-shadow: 14px 0px 10px rgb(0 0 0 / 10%);
    }

    .l-key-visual-banner {
       /* top: 472px; */
    }

    .l-chara-section-slider .js-slider-chara-btn .slick-slide img {
        width: 150px;
    }

    .js-slider-chara-btn::after {
        left: 50%;  
        margin-left: -76px;
        width: 156px;
        height: 156px;
        background-size: cover;
        content: " ";
        transition: 0.3s;
    }

    .l-cam-section-goods-item {
        top: 170px;
    }

    .l-chara-section-slider-info {
        margin-top: 7.5vw;
    }

    .l-chara-section-slider-info-cap {
        margin-top: 28px;
    }

}


@media screen and (max-width: 1280px) {

    .l-header-nav li { 
        font-size: 1.35rem;
        padding-right: 14px;
    }

    .l-header-nav li::after {
        right: 5px;
        top: 4px;
    }

}


@media screen and (max-width: 1200px) {

    .l-header-nav {
        margin: 18px 0 0px 214px;
        display: inline-block;
        width: 660px;
    }

    .l-header-nav li {
        font-size: 1.5rem;
        padding-right: 16px;
        display: inline-block;
        color: #472105;
        font-weight: bold;
        letter-spacing: 0;
        margin-bottom: 2px;
        text-shadow: 3px 3px 5px #FFF;
    }

}

@media screen and (max-width: 1100px) {


    .l-chara-section-slider-info {
           margin-top: 3.5vw;
    }

    .l-chara-section-slider-info-cap {
        font-size: 1.6rem;
    }

}

@media screen and (max-width: 1080px) {

    .l-section-inner_m {
        width: 960px;
        margin: 0 auto;
    }

    .l-chara-section-slider-info-name {
        font-size: 4.2rem;
    }
	
}

@media screen and (max-width: 1023px) {



/* ==========================================================================
	common
	========================================================================== */
    
	.pc-none {
		display: block!important;
	}
    
    .sp-none {
        display: none!important;
    }
    
    .l-section-inner_sss {
        width: 100%;
        margin: 0 auto;;
        padding-left: 24px!important;
        padding-right: 24px!important;
        box-sizing: border-box;
    }
	
    .l-section-inner_ss {
        width: 100%;
        margin: 0 auto;;
        padding-left: 24px!important;
        padding-right: 24px!important;
        box-sizing: border-box;
    }

    .l-section-inner_s {
        width: 100%;
        margin: 0 auto;;
        padding-left: 24px!important;
        padding-right: 24px!important;
        box-sizing: border-box;
    }

    .l-section-inner_m {
        width: 100%;
        margin: 0 auto;
        padding-left: 24px!important;
        padding-right: 24px!important;
        box-sizing: border-box;
    }

    .l-section-inner_l {
        width: 100%;
        margin: 0 auto;
        padding-left: 24px!important;
        padding-right: 24px!important;
        box-sizing: border-box;
    }
    
    .l-section-inner_xl {
        width: 100%;
        margin: 0 auto;
        padding-left: 24px!important;
        padding-right: 24px!important;
        box-sizing: border-box;
    }


    .section-title {
        margin-bottom: 32px;
    }

    .section-title img {
        margin: 0 auto;
    }

    .l-col-2 {
        width: 100%;
        display: block;
    }


    .btn-default {
        width: 64vw;
        max-width: 320px;
        margin: 32px auto 0 auto;
    }

    .btn-default img {
        width: 100%; 
    }
	
    
/* ==========================================================================
    header
    ========================================================================== */

    .l-header {
        position: absolute;
        overflow: hidden;
        height: 80px;
        z-index: 3;
        transition-delay: 0.3s;
        transition: 3s;
    }

    .l-header-inner {
        transition-delay: 0.3s;
        transition: 0.5s;
        position: absolute;
        right: -105vw;
        left: initial;
        border-bottom: 0;
        background: url(../img/bg-header-sp.jpg) no-repeat;
        background-size: cover;
    }

    .l-header-logo {
        display: none;
    }

    .menu_open .l-header {
        height: 100%;
        transition: 0s;
        position: fixed;
        z-index: 5;
    }

    .l-header-nav {
        margin: 12vw auto 0px auto;
        display: block;
        width: auto;
    }

    .l-header-nav li {
        display: block;
        text-align:  center;
        font-size: 1.7rem;
        padding: 1.9vw 0;
    }

    .l-header-nav li::after {
        content: none;
    }

    .l-header-sns {
        position: relative;
        right: 0;
        top: 0;
        margin: 40px auto 0 auto;
        left: 0;
        text-align: center;
    }

    .l-header-sns li {
        padding: 0 6px;
    }

    .l-header-sns li img {
        height: 28px;
    }

    .menu_open .l-header-inner {
        right: 0vw;
        transition-delay: 0.3s;
        transition: 0.6s;
    }


    .js-sp-menu-btn {
        position: fixed;
        right: 24px;
        top: 24px;
        width: 34px;
        height: 20px;
        display: block;
        z-index: 25;
        mix-blend-mode: exclusion;
    }

    .js-sp-menu-btn span:nth-child(1) {
        position: absolute;
        right: 0px;
        top: 0px;
        width: 34px;
        height: 3px;
        background: #FFF;
        display: block;
        transition: 0.3s;
        box-shadow: 0px 0px 8px #162775;
    }

    .js-sp-menu-btn span:nth-child(2) {
        position: absolute;
        right: 0px;
        top: 12px;
        width: 34px;
        height: 3px;
        background: #FFF;
        display: block;
        transition: 0.3s;
        box-shadow: 0px 0px 8px #162775;
    }

    .js-sp-menu-btn span:nth-child(3) {
        position: absolute;
        right: 0px;
        top: 24px;
        width: 34px;
        height: 3px;
        background: #FFF;
        display: block;
        transition: 0.3s;
        box-shadow: 0px 0px 8px #162775;
    }

    .menu_open .js-sp-menu-btn span:nth-child(1) {
        position: absolute;
        right: 0px;
        top: 8px;
        transform: rotate(-45deg);
        transition: 0.3s;
    }

    .menu_open .js-sp-menu-btn span:nth-child(2) {
        opacity: 0;
        transition: 0.3s;
    }

    .menu_open .js-sp-menu-btn span:nth-child(3) {
        position: absolute;
        right: 0px;
        top: 8px;
        transform: rotate(45deg);
        transition: 0.3s;
    }

    .menu_open aside nav {
        transition: 0.3s;
        width: 55%;
    }


    
/* ==========================================================================
    main
    ========================================================================== */

    .l-main {
        overflow: hidden;
        margin-top: 0;
    }


/* ==========================================================================
    key-visual
    ========================================================================== */


    .l-key-visual {
        width: 100%;
        height: 205vw;
        position: relative;
        /* margin-bottom: 40vw;  bannerあり
        margin-bottom: 30vw; */
    }

    .l-key-visual-img {
        background: url(../img/key-visual-sp.png?t=250121) no-repeat;
        background-position: 0px -20px;
        background-size: 100%;
    }

    .l-key-visual-item {
        background: url(../img/key-visual-item-sp.png?t=250121) no-repeat;
        background-position: center;
        background-size: cover;
        width: 100vw;
        height: 125vw;
        z-index: 1;
        position: absolute;
        top: 0vw;
        left: 0vw;
    }

    .l-key-visual-logo-sub {
        left: 2vw;
        top: 3vw;
        width: 30vw;
    }

    .l-key-visual-title {
        position: absolute;
        left: 1vw;
        top: 1vw;
    }

    .l-key-visual-title img {
        width: 20vw;
        max-width: initial;
    }




    .l-key-visual-logo {
        position: absolute;
        left: 50%;
        top: 110vw;
        margin-left: -35vw;
    }

    .l-key-visual-logo img {
        width: 70vw;
        max-width: initial; 
    }

    .vl-1st_logo            { top: 70vw; }

    .vl-1st_logo img           {  }


    .l-sp-movie-btn .btn-movie {
        position: absolute;
        width: 21vw;
        height: 26vw;
        background: url(../img/btn-movie.png?t=241201);
        background-size: cover;
        top: 56vw;
        left: 50%;
        margin-left: -11.5vw;
        margin-top: -11.5vw;
        z-index: 4;
    }

    .l-key-visual-banner {
        position: relative;
        top: 150vw;
        width: 100%;
        margin-left: 0;
        z-index: 2;
    }

    .l-key-visual-banner li {
        margin: 8px 0;
    }

.l-key-visual-banner li.l-key-visual-banner__award_p,
    .l-key-visual-banner li.l-key-visual-banner__scode,
    .l-key-visual-banner li {
        width: 100%;
        max-width: initial;
        box-shadow: 20px 40px 100px rgb(0 0 0 / 20%);
    }

.l-key-visual-banner li.l-key-visual-banner__award_p        { margin-bottom: 2em; }
    .l-key-visual-banner li:nth-child(2) {
        max-width: initial;
        margin-left: 0;
        width: 100%;
    }

/* ==========================================================================
    cam-section
    ========================================================================== */

    .l-cam-section {
        margin-bottom: 50px;
    }

    .l-cam-section-clm-2 { 
        margin-bottom: 28px;
    }

    .l-cam-section-clm-2 li {
        width: 100%;
        margin-right: 0;
        margin-bottom: 24px;
        box-shadow: 10px 20px 50px rgb(0 0 0 / 30%);
    }

    .l-cam-section-clm-2 li img {
        width: 100%;
    }

    .l-cam-section-goods {
        margin-top: -44px;
    }

    .l-cam-section-goods > img {
        box-shadow: none;
        width: 100%;
    }

    .l-cam-section-goods-item {
        top: 36vw;
        width: 100%;
        left: 0;
        box-sizing: border-box;
        padding: 10%;
    }


    .l-cam-section-goods-item li {
        width: 100%;
        margin-right: 0;
        margin-bottom: 5vw;
    }

    .l-cam-section-goods-item li img {
        width: 100%;
    }

    .l-cam-section-goods-tw img {
        width: 100%;
    }

/* ==========================================================================
    cam-section
    ========================================================================== */

    .l-reg-section {
        padding: 64px 0 60px 0;
    }

        .l-reg-section .section-title {
        width: 76%;
        margin: 0 auto;
        margin-bottom: 20px;
        margin-top: 0;
    }

    .l-reg-section .section-txt {
        text-align: center;
        font-size: 1.4rem;
        margin-top: 0;
        margin-bottom: 32px;
    }

    .l-reg-section-list-title { 
        margin: 0 0 8px 0;
    }

    .l-reg-section-list-title li {
        padding: 4px 0;
        line-height: 2;
        font-size: 1.2rem;
        width: 100%!important;
        max-width: 610px;
    }

    .l-reg-section-list-01 {
        margin-bottom: 24px;
    }

    .l-reg-section-list-01 li {
        width: 100%!important;
        margin: 10px 0!important;
    }

    .l-reg-section-list-01 li img {
        width: 100%;
        max-width: 610px;
        margin: 0 auto;
    }

    .l-reg-section-list-01 .l-reg-section-list-title {
        margin-top: 8px;
        margin-bottom: 0;
    }

    .l-reg-section-list-02 li {
        width: 48%;
        margin-right: 2.8%;
        margin-bottom: 16px;
    }

    .l-reg-section-list-02 li img {
        width: 100%;
    }

    .l-reg-section-list-02 li:nth-child(2n) {
        margin-right: 0;
    }

    .l-reg-section-cap {
        margin-top: 4px;
        font-size: 1.3rem;
        line-height: 1.6;
    }


/* ==========================================================================
    chara-section
    ========================================================================== */

    .l-chara-section {
        padding: 70px 0 60px 0;
        background-position: 15% 50%;
        height: 88vw;
        overflow: hidden;
    }

    .l-chara-section-slider {
        margin-top: -34px;
        width: 114%;
        margin-left: -7%;
    }

    .l-chara-section-slider .slick-prev {
        left: 10%;
    }

    .l-chara-section-slider .slick-prev:hover {
        left: 10%;
    }

    .l-chara-section-slider .slick-next {
        right: 10%;
    }

    .l-chara-section-slider .slick-next:hover {
        right: 10%;
    }

    .l-chara-section:after {
        content: none;
    }

    .l-chara-section-slider .slick-arrow {
        width: 39px;
        height: 56px;
        margin-top: -27px;
    }

    .l-chara-section-slider-img {
        width: 80%;
        margin-left: 30%;
        display: block;
    }

    .l-chara-section-slider-info {
        width: 100%;
        margin-top: 0px;
        position: absolute;
        left: 20px;
        top: 14vw;
    }

    .l-chara-section-slider-info-cap {
        width: 40%;
    }

    .l-end-bg {
        padding: 0px 0 20px 0;
    }

    .l-media-section {
        padding: 0px 0 0px 0;
    }

    .l-media-section-list li {
        width: 100%;
        margin-right: 0;
        margin-bottom: 32px;
        padding-bottom: 0;
    }

    .l-media-section-list li img {
        width: 100%;
    }

    .l-media-section-list-title {
        margin-top: 24px;
        font-size: 1.4rem;
    }

    .l-media-section-list-more {
        display: none;
    }


    .js-slider-chara-btn {
        width: 106%;
        margin-left: -3%;
    }





    .l-ex-camp-section      {  } /* margin-top: 76vw; */

/* ==========================================================================
    news-section
    ========================================================================== */



    .l-news-section {
        padding: 18vw 0 48px 0; /* 48px */
    }

    .l-news-section-list {
        margin: 60px auto 80px auto;
    }

    .l-news-section-list li {
        padding: 21px;
        border: 6px solid #c21500;
        border-image: linear-gradient(to right, #ffffff 0%, #d1d1d1 100%);
        border-image-slice: 1;
        margin-bottom: 28px;
    }

    .l-news-section-list li .section-title {
        font-size: 1.8rem;
        margin: 26px 0 20px 0;
    }

    .l-news-section-list li .section-cap {
        font-size: 1.45rem;
        line-height: 1.7;
    }

    .l-news-section-list .btn-default {
        margin-top: 48px;
    }


.btn-list_type2{display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; flex-wrap: wrap; margin-top: 4%;}
.btn-list_type2 li{width: 48%; padding:1%;
    margin-bottom: auto;
    background: none;
    padding: auto;
    border: none;
    border-image: none;
    border-image-slice: 1;
    box-shadow: none;
}

.news-center-text-title{font-size: 150%; padding-top:3%; text-align: center;}




/* ==========================================================================
    about-section
    ========================================================================== */


    .l-about-section {
        padding: 0px 0 40px 0;
    }

    .l-about-section::before {
        height: 300px;
    }

    .l-about-section .section-title {
        margin: 0 auto 20px auto;
        text-align: center;
    }

    .l-about-section .section-cap {
        line-height: 1.8;
        font-size: 1.6rem;
        text-align: left;
    }

    .l-about-section .section-cap br {
        display: none;
    }

    .section-movie-embed {
        margin: 0px auto 38px auto;
        padding-top: 40px;
    }


/* ==========================================================================
    point-section
    ========================================================================== */

    .l-point-bg {
        background: url(../img/bg-img-02.webp);
        background-size: 100%;
        background-position: initial;
    }

    .l-point-section {
        padding: 58px 0 4px 0;
    }

    .l-point-section-list > li {
        padding: 10px 0 54px 0;
    }

    .l-point-section-list li.l-point-section-list-4 .l-col-2:nth-child(1), .l-point-section-list li.l-point-section-list-2 .l-col-2:nth-child(1) {
        padding-right: 0;
    }

    .l-point-section-list li.l-point-section-list-1 .l-col-2:nth-child(2), .l-point-section-list li.l-point-section-list-3 .l-col-2:nth-child(2) {
        padding-left: 0;
    }

    .l-point-section-list-1 {
        margin-top: 0;
    }

    .l-point-section-list .section-title {
        margin: 64px 0 10px -20px;
        width: 320px;
    }

    .l-point-section-list .section-cap {
        width: 100%;
        font-size: 1.6rem;
        line-height: 1.8;
    }

    .l-point-section-list-sm .slick-dots {
        position: absolute;
        bottom: -42px;
        left: 0;
        right: 0;
        text-align: center;
    }

    .l-point-section-list-sm .slick-dots li {
        width: 28px;
        height: 4px;
        margin: 0 6px 0 0;
    }

    .js-more-point {
        height: 0;
        overflow: hidden;
        transition: 0.4s;
    }

    .l-section-inner_l.js-open .js-more-point {
        height: 100%;
        overflow: initial;
        transition: 0.4s;
    }

    .l-section-inner_l.js-open .js-more-point-btn {
        display: none!important;
    }

    .js-more-point-btn {
        cursor: pointer;
        margin: 40px auto 68px;
        position: relative;
    }

    .js-more-point-btn::before {
        position: absolute;
        margin-left: -34px;
        top: -68px;
        left: 50%;
        width: 58px;
        height: 38px;
        background: url(../img/btn-more-sp2-arrow.png);
        background-size: cover;
        content: " ";
    } 


    .more-mask::after {
        content: " ";
        display: block;
        position: absolute;
        width: calc(100% - 48px);
        height: 80px;
        bottom: 154px;
        left: 24px;
        background: linear-gradient(to top,rgb(231,215,198,0.25) 40%, transparent 100%);
    }

    .l-section-inner_l.js-open .more-mask::after {
         content: none;
    }

    .js-more-news-point img {
        box-shadow: 10px 20px 50px rgb(0 0 0 / 60%);
    }

    .l-point-section-list-sm::after {
        width: calc(100% + 16px);
        height: calc(100% + 16px);
        content: " ";
        top: -8px;
        left: -8px;
    }


/* ==========================================================================
    movie-section
    ========================================================================== */


    .l-movie-section {
        padding: 60px 0 80px 0;
    }

    .section-movie-embed {
        width: 100%;
    }

    .section-movie-embed iframe {
        width: 100%!important;
        height: 49vw!important;
    }

    .l-under-page .section-movie-embed iframe {
        width: 100%!important;
        height: 49vw!important;
    }

    .l-under-page .section-movie-embed {
        margin: 48px auto;
        padding-top: 0px;
    }

    .l-movie-section-slider {
        width: calc(100% + 48px);
        margin-left: -24px;
    }

    .l-movie-section-slider li iframe {
        width: 100%!important;
        height: 37vw!important;
    }

    .l-movie-section .slick-slide {
        padding: 0 8px;
    }

    .l-movie-section-slider .slick-arrow {
        width: 39px;
        height: 56px;
        margin-top: -48px;
    }

    .l-movie-section-slider .slick-prev {
        left: 10.5%;
    }

    .l-movie-section-slider .slick-prev:hover {
        left: 10.5%;
    }

    .l-movie-section-slider .slick-next {
        right: 10.5%;
    }

    .l-movie-section-slider .slick-next:hover {
        right: 10.5%;
    }

    .l-movie-section-slider .slick-dots li {
        width: 8px;
        height: 8px;
        margin: 0 10px 0 0;
        transition: 0.4s;
    }

    .l-movie-section-slider .slick-dots li.slick-active {
        width: 11px;
        height: 11px;
        transition: 0.4s;
    }


/* ==========================================================================
    cbt-section
    ========================================================================== */


    .l-cbt-section {
        padding: 64px 0 68px 0;
        background-position: 5% 50%;
    }

    .l-cbt-section .section-title {
        width: 61vw;
        margin-left: 10vw;
    }

    .l-cbt-section .btn-cv {
        margin: 28px auto 40px auto;
    }

    .l-cbt-section-termbox {
        width: 88%;
        margin: 0px auto 0 auto;
    }

    .l-cbt-section-termbox-inner {
        padding: 18px 18px;
    }

    .l-cbt-section-termbox-inner h3 {
        font-size: 1.55rem;
    }

    .l-cbt-section-termbox-inner h4 {
        font-size: 1.4rem;
        margin: 32px 0 12px 0;
    }

    .l-cbt-section-termbox-inner p {
        font-size: 1.3rem;
        letter-spacing: -1px;
        line-height: 2;
    }

    .l-cbt-section-chara-02 {
        position: absolute;
        right: 3vw;
        bottom: initial;
        top: 20px;
    }

    .l-cbt-section-chara-02 img {
        width: 50vw;
    }



/* ==========================================================================
    tw-section
    ========================================================================== */


    .l-tw-section {    
        padding: 60px 0 80px 0;
    }

    .l-tw-section-embed {
        width: 88%;
        margin: 34px auto;
    }

    .l-tw-section-embed iframe {
        height: 60vw!important;        
    }


/* ==========================================================================
    under-page-title
    ========================================================================== */

.l-under-page2,
.l-under-page {
    padding: 0 0 80px 0;
}

.l-under-page-title {
    width: 100%;
    height: 300px;
    text-align: center;
    padding: 88px 0 0 0;
    margin-bottom: -110px;
    box-sizing: border-box;
    font-size: 2.6rem;
    color: #FFF;
    font-weight: bold;
    text-shadow: 2px 2px 20px #000;
}


.l-under-page h4.section-title {
    font-size: 1.8rem;
    color: #000;
    font-weight: bold;
    letter-spacing: 0px;
    text-shadow: 2px 2px 10px #FFF;
}

.l-under-page .section-cap {
    text-align: left;
    font-size: 1.4rem;
    font-weight: bold;
    margin-bottom: 20px;
}

.l-under-page .section-cap a {
    text-decoration: underline;
    color: #783500;
    font-weight: bold;
}

.l-under-page .js-modal-video-open {
    margin: 48px 0;
    cursor: pointer;
    transition: 0.3s;
}

.l-under-page .js-modal-video-open:hover {
    opacity: 0.8;
    transition: 0.3s;
} 

.l-under-page .btn-default {
    margin-top: 60px;
}

.l-under-page .btn-movie {
    width: 70px;
    height: 88px;
    margin-left: -35px;
    margin-top: -44px;
}



/* ==========================================================================
    footer
    ========================================================================== */

    .l-footer {
        padding: 40px 0 0 0;
        overflow: hidden;
    }

    .l-footer-notes {
        margin-bottom: 42px;
        color: #FFF;
        font-size: 1.35rem;
    }

    .l-footer-sns {
        margin-bottom: 40px;
    }

    .l-footer-sns li img {
        height: 28px;
    }

    .l-footer-info {
        max-width: 600px;
        margin: 0 auto;
    }

    .l-footer-info-ico {
        width: 112px;
        margin-bottom: 48px;
    }

    .l-footer-info-txt {
        font-size: 1.5rem;
    }

    .l-footer-info-txt span {
        font-size: 1.25rem;
        letter-spacing: -1.5px;
    }


    .l-footer-info .l-col-2:nth-child(1) .l-footer-info-txt {
        margin-left: 0;
        width: 100%;
        margin-right: 0;
    }

    .l-footer-info .l-col-2:nth-child(1) .l-footer-info-txt dt, .l-footer-info .l-col-2:nth-child(2) .l-footer-info-txt dt {
        width: 24%;
    }

    .l-footer-info .l-col-2:nth-child(1) .l-footer-info-txt dd, .l-footer-info .l-col-2:nth-child(2) .l-footer-info-txt dd {
        width: 73%;
    }

    .l-footer-info .l-col-2:nth-child(2) .l-footer-info-txt dt {
        margin-left: 0;
    }

    .l-footer-logo {
        width: 200px;
        margin: 48px auto 48px auto;
    }

    .l-footer-end {
        padding: 1em 0;
    }

    .l-footer-end-cap {
        font-size: 1.2rem;
        letter-spacing: -1px;
    }

    .l-footer-end-copyright {
        margin-top: 14px;
        font-size: 1.3rem;
        letter-spacing: 0;
    }



/* ==========================================================================
    etc
    ========================================================================== */


    #modal-video iframe {
        width: 92vw;
        height: 51vw;
    }

    .all-wrapper-mask-logo {
        width: 180px;
        position: absolute;
        top: 40vh;
        left: 50%;
        margin-left: -87px;
        margin-top: -30px;
        text-align: center;
        display: inline;
    }

    .loader {
        top: calc(40vh + 100px);
        margin-left: -3em;
    }



/* ==========================================================================
    flexbox
    ========================================================================== */


    .sp-flexbox-wrapper {
        display:-webkit-box;
        display: -webkit-flex;
        display:-ms-flexbox;
        display: flex;
        -webkit-flex-wrap:wrap;
        -ms-flex-wrap:wrap;
        flex-wrap:wrap;
    }

    .sp-flexbox-1 {
        -webkit-box-ordinal-group:1;
        -ms-flex-order:1;
        -webkit-order:1;
        order:1;
    }

    .sp-flexbox-2 {
        -webkit-box-ordinal-group:2;
        -ms-flex-order:2;
        -webkit-order:2;
        order:2;
    }

    .sp-flexbox-3 {
        -webkit-box-ordinal-group:3;
        -ms-flex-order:3;
        -webkit-order:3;
        order:3;
    }

    .sp-flexbox-4 {
        -webkit-box-ordinal-group:4;
        -ms-flex-order:4;
        -webkit-order:4;
        order:4;
    }

	
}

@media screen and (max-width: 960px) {


    .l-chara-section-slider .js-slider-chara-btn .slick-slide img {
        width: 180px;
    }

    .js-slider-chara-btn::after {
        margin-left: -89px;
        width: 180px;
        height: 180px;
    }

}

@media screen and (max-width: 800px) {

    .l-cbt-section .section-title {
        width: 61vw;
        margin-left: -2vw;
    }

}

@media screen and (max-width: 700px) {
    

    .l-chara-section-slider .js-slider-chara-btn .slick-slide img {
        width: 140px;
    }

    .js-slider-chara-btn::after {
        margin-left: -70px;
        width: 140px;
        height: 140px;
    }


    .js-slider-chara-btn {
        margin-top: -25vw;
    }

    .l-chara-section-slider-info {
        top: 12vw;
    }

    .l-chara-section-slider-info-name {
        font-size: 2.4rem;
        margin-bottom: 0px;
    }

    .l-chara-section-slider-info-cv {
        font-size: 1.3rem;
        margin-top: 6px;
    }

    .l-chara-section-slider-info-cap {       
        font-size: 1rem;
        margin-top: 12px;
        width: 40%;
    }

    .l-chara-section-slider-info-name-sub {
        font-size: 1rem;
    }


    .l-fix-item {
        bottom: -110%;
        right: 0;
        width: 100%;
        height: auto;
        padding: 0;
        background: url(../img/fix-item-03-back-sp.png);
        background-position: top;
        background-size: cover;
        box-shadow: 0 -1px 10px 5px hsla(245, 75%, 15%, 0.5);
        transform: unset;
        -webkit-mask-box-image:none
    }

    .l-fix-item img {
        width: 100%;
    }

    .l-fix-item > img {
        width: 80%;
    }

    .l-fix-item.js-move {
        right: 0;
        bottom: 0%;
    }

    .l-fix-item .l-fix-item--catch         { width: 95%; }

    .l-fix-item-list li img {
        width: 90%;
        height: auto;
    }

    .l-fix-item-list li.for_pc             { display: none; }

    .l-fix-item-list li {
        height: auto;
        width: 40%; /* 30.5%; */
        margin: 0px 0.5px;
        vertical-align: middle;
    }

    .l-fix-item-list li:nth-child(2) {
        width: 49.4%;  /* 37.5% */
    }

    .l-fix-item-list li:nth-child(3) {
        width: 26%;
    }

    .l-fix-item-wiki {
        margin-left: 6px;
        margin-right: 6px;
        margin-top: 0px;
        margin-bottom: 2px;
    }

    .l-fix-item-wiki img {
        height: auto;
    }

}


@media screen and (max-width: 580px) {

    .l-fix-item {
        width: 100%;
    }

    .l-chara-section-slider .js-slider-chara-btn .slick-slide img {
        width: 120px;
    }

    .js-slider-chara-btn::after {
        margin-left: -60px;
        width: 120px;
        height: 120px;
    }
    

}

@media screen and (max-width: 520px) {


    .l-chara-section-slider .js-slider-chara-btn .slick-slide img {
        width: 90px;
    }

    .js-slider-chara-btn::after {
        margin-left: -45px;
        width: 90px;
        height: 90px;
    }

    .js-slider-chara-btn {
        margin-top: -25vw;
        width: 120%;
        margin-left: -10%;
    }

}

@media screen and (max-width: 450px) {
    .js-slider-chara-btn {
        margin-top: -15vw;
    }

}


@media screen and (max-width: 355px) {

    .js-slider-chara-btn {
        width: 140%;
        margin-left: -20%;
    }

    .l-chara-section-slider .slick-prev {
        left: 12%;
    }

    .l-chara-section-slider .slick-next {
        right: 12%;
    }

    .js-slider-chara-btn {
        margin-top: 0vw;
    }

    .l-chara-section {
        height: 100vw;
    }

}
