@charset "UTF-8";

body.modal-opened {
    overflow: hidden;
}

.modal {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0,0,0,.7);
    z-index: -1;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: all 650ms cubic-bezier(0.215, 0.610, 0.355, 1.000);
    -moz-transition: all 650ms cubic-bezier(0.215, 0.610, 0.355, 1.000);
    -o-transition: all 650ms cubic-bezier(0.215, 0.610, 0.355, 1.000);
    transition: all 650ms cubic-bezier(0.215, 0.610, 0.355, 1.000); /* easeOutCubic */
    /*-webkit-transform: scale(1.05);*/
    /*-moz-transform: scale(1.05);*/
    /*-ms-transform: scale(1.05);*/
    /*-o-transform: scale(1.05);*/
    /*transform: scale(1.05);*/

}


.modal.active {
    opacity: 1;
    visibility: visible;
    z-index: 999;
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
}


.modal-inner {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

.modal-box {
    position: absolute;
    top: 50%;
    left: 50%;
    max-width: 1440px;
    width: calc(100vw - 4rem );
    max-height: 860px;
    height: calc(100vh - 4rem );
    -webkit-transform: translate(-50%,-50%);
    -moz-transform: translate(-50%,-50%);
    -ms-transform: translate(-50%,-50%);
    -o-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
    background: #ffffff;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    overflow: hidden; /* IE11 & Firefox fix */
}

.modal-type02 {
    max-width: 952px;
    max-height: 670px;
}

.modal-box.modal-box-lg {
    max-height: 860px;
}

.modal-box-body {
    padding: 8.125rem 6.875rem 6.25rem;
    flex: 1;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.modal-box-body.modal-box-body-type-2 {
    padding: 8rem 6.875rem 6.25rem;
}

.modal-box-body.modal-box-body-type-3 {
    padding: 3.75rem 6.875rem 6.25rem;
}

.modal .btn-close {
    position: absolute;
    top: 0;
    right: 0;
    width: 7.5rem;
    height: 7.5rem;
    display: block;
    text-indent: -999em;
    overflow: hidden;
    background: url(../img/svg/icon-x.svg) 50% 50% no-repeat;
    -webkit-background-size: 2.5rem 2.5rem;
    background-size: 2.5rem 2.5rem;
}

.modal .plyr {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

.modal .plyr .plyr__video-wrapper,
.modal .plyr .plyr__video-wrapper video {
    height: 100%;
}

.modal .plyr+.btn-close {
    background: url(../img/svg/icon-x-white.svg) 50% 50% no-repeat;
}

.modal .plyr video {
    opacity: 0;
}

.modal .plyr video.playing {
    opacity: 1;
}

.modal-content {

}

.modal-content .modal-content-header {
    /*height: 8rem;*/
    position: relative;
}

.modal-content .modal-content-header .modal-content-title {
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 2.8125rem;
    position: relative;
    color: #000;
}

.modal-content .modal-content-header .modal-content-header-util {
    position: absolute;
    right: 0;
    top: 0;
    font-size: 1.125rem;
}

.modal-content .modal-content-header .modal-content-title small {
    font-weight: 400;
    font-size: 1rem;
    position: absolute;
    left: 0;
    top: 1.8rem;
}


.modal-content .modal-content-body {

}




.modal-box-body.modal-box-body-noscroll {

}

.modal-box-body.modal-box-body-noscroll .modal-content {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    overflow: hidden; /* IE11 & Firefox fix */
    height: 100%;
}


.modal-box-body.modal-box-body-noscroll .modal-content .modal-content-body {
    flex: 1;
}


.modal-content .modal-content-footer {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 6.25rem;
    text-align: center;
}



.modal-scroll-area {
    background: #fafafa;
    border: 1px solid #ddd;
    height: 100%;
    position: relative;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}


.modal-scroll-area.modal-scroll-area-transparent {
    border: 0;
    background: transparent;
}

.modal-scroll-area .modal-scroll-area-inner {
    height: 100%;
    overflow: auto;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}


.modal-scroll-area-content {
    /*overflow: hidden;*/
    /*width: calc( 100% - .5px);*/
    /*min-height: calc( 100% - .5px);*/
    height: 100%;
}

.modal-box-lg .nicescroll-rails-vr {
    margin-left: 1rem;
}


/*videoplayer*/
.modal.video-player .modal-box {
    height: auto;
    /*min-height: 200px;*/
    background: #000;
    overflow: visible;
    width: calc(100vw - 10rem );
}

.modal.video-player .modal-box .btn-close {
    position: absolute;
    top: 0;
    left: 100%;
    width: 3rem;
    height: 3rem;
    display: block;
    text-indent: -999em;
    overflow: hidden;
    background: #000 url(../img/svg/icon-x-white.svg) 50% 50% no-repeat;
    -webkit-background-size: 1.25rem 1.25rem;
    background-size: 1.25rem 1.25rem;
}


.modal.video-player .youtube-video-player {
    position: relative;
    padding-top: 56.25%;

}


.modal.video-player .youtube-video-player iframe {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
}

.page-back {
    background:#000;
    color:#fff;
    padding:0.9rem 3rem 0.9rem 2.75rem;
    display:inline-block; font-size:1rem;
    margin-bottom:2rem;
    cursor: pointer;
}

.tit-txt {
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 2.8125rem;
    position: relative;
    color: #000;
}
