body {
    font-family:"ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
}
img {
    max-width: 100%;
}
label img {
    cursor: pointer;
}
label:hover img {
    opacity: .9;
}

.page-wrapper {
    max-width: 960px;
    margin: 0 auto;
    padding: 20px;
}
.page-wrapper h1 {
    padding-bottom: 10px;
    border-bottom: 5px solid #000;
}
.page-wrapper h1 img {
    vertical-align: top;
}
.page-footer {
    margin-top: 60px;
    padding: 5px;
}
.footer-logo {
    width: 80px;
    margin: 0 auto;
}


.movie-preview {
    display: none;
}
body.__step2 .movie-preview {
    display: block;
}
body.__step2.__step3 .movie-preview {
    display: none;
}
.movie-preview h2 {
    text-align: center;
}
#previewPlayer {
    position: relative;
    text-align: center;
}
#previewPlayer video {
    max-width: 100%;
    outline: none;
}
#previewPlayer .btn-wrapper {
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    margin: 0;
}
#previewPlayer .btn-wrapper img {
    width: 152px;
    cursor: pointer;
}
#previewPlayer .btn-wrapper img:hover {
    opacity: .9;
}

.upload-step1, .upload-step2, .upload-step3 {
    color: #575959;
}
.upload-step1 {
    padding-top: 50px;
    text-align: center;
}
body.__step2 .upload-step1 {
    display: none;
}
.upload-step1__first {
    margin-top: 20px;
}
.upload-step1__first p {
    text-align: center;
    margin-top: 50px;
    font-size: 18px;
}
.upload-step1__first p span {
    display: inline-block;
    font-family: serif;
    letter-spacing: -2px;
    font-size: 24px;
    line-height: 36px;
    width: 36px;
    height: 36px;
    text-align: center;
    border-radius: 50%;
    border: 1px solid #575959;
    margin-right: 2px;
}
.upload-step1__retry {
    display: none;
}
.upload-step1__retry p:first-child {
    width: 80%;
    max-width: 250px;
    margin: 0 auto;
}
.upload-step1__retry p.timeover-alert:first-child {
    width: 90%;
    max-width: 360px;
    color: #e60020;
    margin: 1em auto;
}
.upload-step1__retry p.timeover-alert::before {
    content: "\26A0";
    font-size: 200%;
    margin-right: 2px;
    position: relative;
    bottom: -5px;
}
.upload-step1__retry p.timeover-alert span {
    font-size: 150%;
}
body.__step1_retry .upload-step1__first {
    display: none;
}
body.__step1_retry .upload-step1__retry {
    display: block;
}


.upload-step2 {
    display: none;
}
body.__step2 .upload-step2 {
    display: block;
}
body.__step2.__step3 .upload-step2 {
    display: none;
}
.upload-step2 > div {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    max-width: 320px;
    margin: 30px auto;
}
.upload-step2 > div > label:first-child {
    max-width: 122px;
}
.upload-step2 > div > label:last-child {
    max-width: 166px;
}
.upload-step2 > p {
    text-align: center;
    margin-top: 30px;
    font-size: 18px;
}
#btnUpload.__disabled {
    pointer-events: none;
    filter: grayscale(60%);
}
#btnUpload.__disabled img {
    opacity: 1 !important;
}
.upload-step3 {
    display: none;
    text-align: center;
}
body.__step3 .upload-step3 {
    display: block;
}
.upload-step3 p {
    font-size: 18px;
}
.upload-step3 p:first-child {
    margin: 60px auto 40px;
}
.upload-step3 p span {
    display: inline-block;
    border: 1px solid #e60020;
    font-size: larger;
    padding: 3px 8px;
    margin-bottom: 10px;
}
.upload-step3 p span strong {
    font-size: larger;
    font-family: serif;
}
.upload-step3 p i {
    font-size: x-large;
    font-family: "Bodoni 72", "Courier", serif;
    font-style: normal;
    padding-left: 2px;
    padding-right: 2px;
}

#formUpload {
    display: none;
}
.js-progress-target progress {
    max-width: 80%;
}

/* view ページ */
.qmsg-wrapper {
    margin-top: 60px;
}
.iframe-wrapper {
    position: fixed;
    display: none;
    align-items: center;
    justify-content: center;
    width: 100vw;
    height: 100vh;
    left: 0;
    top: 0;
    z-index: 10;
    background-color: rgba(0, 0, 0, .3);
}
.iframe-wrapper.__inplay {
    display: flex;
}
.iframe-wrapper iframe {
    width: 100%;
    height: 100%;
    max-width: 960px;
    max-height: 1024px;
}
.video-wrapper {
    position: fixed;
    display: none;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    z-index: 10;
    background-color: rgba(0, 0, 0, .3);
}
.video-wrapper.__inplay {
    display: flex;
}
.video-wrapper.__unload {
    opacity: 0;
}
.video-wrapper video {
    width: 100%;
    height: 100%;
}
.qmsg-play-content {
    text-align: center;
    padding-top: 15px;
}
.qmsg-play-message p {
    font-size: 18px;
}
.qmsg-play-btn {
    margin: 20px auto;
}
.qmsg-play-content.__step1 .qmsg-play-message > p:last-child,
.qmsg-play-content.__step1 .qmsg-play-btn > a:last-child,
.qmsg-play-content.__step1 .qmsg-play-txt-btn > a:last-child {
    display: none;
}
.qmsg-play-content.__step2 .qmsg-play-message > p:first-child,
.qmsg-play-content.__step2 .qmsg-play-btn > a:first-child,
.qmsg-play-content.__step2 .qmsg-play-txt-btn > a:first-child {
    display: none;
}
html.no-adownload a[download] {
    display: none;
}

/* expiredページ */
.qmsg-expired {
    max-width: 240px;
    margin: 80px auto 0;
}

@media screen and (max-width: 767px) {
    .page-wrapper h1 {
        margin: 0;
        padding-bottom: 5px;
        line-height: 40px;
    }
    .page-wrapper h1 img {
        height: 40px;
    }
    .qmsg-wrapper {
        margin-top: 40px;
    }
}
@media screen and (max-width: 600px) and (orientation: portrait) {
    .page-wrapper {
        padding-bottom: 10px;
    }
    .movie-preview {
        position: relative;
    }
    .movie-preview h2 {
        position: absolute;
        margin: 0;
        right: 0;
        top: 0;
        transform: translateY(-100%);
    }
    #previewPlayer video {
        margin-top: 1em;
        max-height: calc(100vh - 250px);
    }
    .upload-step2 > div {
        margin: 15px auto 0;
        justify-content: space-evenly;
    }
    .upload-step2 label img {
        height: 50px;
    }
}
