@charset "UTF-8";
.share_include {
    pointer-events: none;
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    z-index: 10005;
}

#wrapper__preload {
    pointer-events: none;
    width: 0;
    height: 0;
    visibility: hidden;
    z-index: -1;
}

#wrapper-hint span.box__space {
    position: relative;
    display: block;
    height: 0.75em;
}

#wrapper-form,
#wrapper-hint,
#wrapper-msg {
    /* root 有設定 */
    /* --input-h: 36px; */

    pointer-events: auto;
    /* pointer-events: none; */
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0, 0.5);
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
}

#wrapper-success {
    pointer-events: auto;
    /* pointer-events: none; */
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0, 0);
    z-index: 1;
}

#wrapper-form .box__container,
#wrapper-success .box__container,
#wrapper-hint .box__container,
#wrapper-msg .box__container {
    position: relative;
    width: 100%;
    height: 100%;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);

    display: flex;
    
    justify-content: center;
    align-items: center;
}

/* #wrapper-form .box__container .box__body, */
#wrapper-success .box__container .box__body,
#wrapper-hint .box__container .box__body,
#wrapper-msg .box__container .box__body {
    --side: 20px;
    --con-h: calc(var(--fsize) * 1.5 * 8);

    pointer-events: auto;
    position: relative;
    width: 90%;
    max-width: calc(var(--fsize) * 25);
    height: initial;

    padding: calc(var(--side) * 1.5) 0 calc(var(--side) * 1.5) 0;
    background-color: #fff;
    border-radius: var(--border-radius-sl);
    box-shadow: 0px 3px 8px rgba(0, 0, 0, 0.2);

    display: flex;
    flex-direction: column;

    /* overflow: hidden; */
}

#wrapper-success .box__container .box__body {
    width: 95%;
}

#wrapper-form .box__container .box__body {
    position: relative;
    width: 100%;
    height: 100%;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);

    display: flex;
    justify-content: center;
    align-items: center;
    /* overflow-x: clip; */
}

/* #wrapper-hint .box__container .box__body {
    max-width: calc(var(--fsize) * 25);
} */

#wrapper-hint .box__container .box__body {
    background-color: var(--color-blue);
    border-radius: var(--border-radius-ss);
    color: #fff;
    border: 7px solid var(--color-green);
    box-sizing: border-box;

    max-width: calc(var(--fsize) * 22);
}

#wrapper-success .box__container .box__body {
    background-color: #fff;
    border-radius: var(--border-radius-ss);
    color: var(--color-blue);
    border: 7px solid var(--color-green);
    box-sizing: border-box;

    max-width: calc(var(--fsize) * 22);

    display: flex;
    flex-direction: column;
    align-items: center;

    padding: calc(var(--side) * 4) calc(var(--side) * 3);
    text-align: center;
}

#wrapper-success .box__container .box__body .body__title {
    position: relative;
    width: 50%;
    margin-bottom: calc(var(--fsize));
}

#wrapper-success .box__container .box__body .body__btn  {
    margin-top: calc(var(--fsize));
}

#wrapper-hint .box__container .box__body .body__icon {
    position: relative;
    width: 31%;
    align-self: center;
    margin-top: -25%
}

#wrapper-msg.is-main .box__container .box__body {
    width: max(min(85%, 600px), calc(var(--fsize) * 25));
}

#wrapper-msg .box__container .box__body .body__title {
    /* padding: 0 calc(var(--fsize) * 1.5); */
    padding: 0 calc(var(--fsize) * 2);
    display: flex;
    justify-content: center;
    align-items: center;
}

#wrapper-msg .box__container .box__body .body__title > p {
    font-size: calc(var(--fsize) * 1.2);
    font-weight: 500;
}

#wrapper-msg .box__container .box__body .body__cross {
    position: relative;
    width: 100%;
    display: flex;
    justify-content: flex-end;
    padding: 0 calc(var(--fsize) * 1.5);
}

#wrapper-msg .box__container .box__body .body__cross .btn__cross {
    position: relative;
}

#wrapper-msg .box__container .box__body .body__cross .btn__cross > img {
    margin: 0;
}

#wrapper-hint .box__container .box__body .body__btn,
#wrapper-msg .box__container .box__body .body__btn {
    margin-top: var(--side);
    display: flex;
    justify-content: center;
    align-items: center;
}

#wrapper-hint .box__container .box__body .body__btn .btn__close,
#wrapper-msg .box__container .box__body .body__btn .btn__cancel,
#wrapper-msg .box__container .box__body .body__btn .btn__ok {
    width: min(36%, 115px);
}

#wrapper-hint .box__container .box__body .body__btn .btn__close:hover {
    background-color: var(--color-green);
    color: var(--color-blue);
}

#wrapper-hint .box__container .box__body .body__btn .btn__close {
    --fsize2: calc(var(--fsize) * 0.9);
    font-size: var(--fsize2);
    line-height: calc(var(--fsize2) * 1.5);
}

#wrapper-msg .box__container .box__body .body__btn .btn__cancel {
    margin-right: calc(var(--fsize));
}

#wrapper-hint .box__container .box__body .body__btn {
    margin-top: calc(var(--fsize) * 1.5);
}

#wrapper-msg .box__container .box__body .body__btn {
    margin-top: calc(var(--fsize) * 2);
}

#wrapper-hint .box__container .box__body .body__msg,
#wrapper-msg .box__container .box__body .body__msg {
    /* padding: 0 calc(var(--fsize) * 1.5); */
    padding: 0 calc(var(--fsize) * 2);
    position: relative;
    display: flex;
    justify-content: center;
    margin-top: calc(var(--fsize) * 1);
}


#wrapper-msg .box__container .box__body .body__msg.is-empty {
    margin-top: 0;
}

#wrapper-hint .box__container .box__body .body__msg .msg__con,
#wrapper-msg .box__container .box__body .body__msg .msg__con {
    position: relative;
    /* width: 85%; */
    width: 88%;
    text-align: center;
}

#wrapper-msg .box__container .box__body .body__msg .msg__con {
    --fsize2: calc(var(--fsize) * 1.1);
    font-size: var(--fsize2);
    line-height: calc(var(--fsize2) * 1.5);
}

#wrapper-msg.is-processing .box__container .box__body,
#wrapper-msg.is-min .box__container .box__body {
    width: calc(var(--fsize) * 16.5);
}


#wrapper-msg.is-left .box__container .box__body .body__msg .msg__con {
    text-align: left;
}

#wrapper-msg.is-processing .box__container .box__body .body__btn,
#wrapper-msg.is-min .box__container .box__body .body__btn {
    display: none;
}

/* form */
/* is-form */
#wrapper-form .body__con {
    position: relative;
    width: 100%;
    animation: slide-Y2 2s ease-in-out infinite alternate both;

    display: flex;
    justify-content: center;
}

#wrapper-form .body__con .con__panel .panel__bg {
    -webkit-transition: all .2s ease-out 0s;
    -o-transition: all .2s ease-out 0s;
    -moz-transition: all .2s ease-out 0s;
    transition: all .2s ease-out 0s;
}

#wrapper-form .body__con .con__panel .panel__bg,
#wrapper-form .body__con .con__panel .panel__bg2 {
    pointer-events: none;
}

#wrapper-form .body__con .con__panel .panel__bg.is-left {
    position: absolute;
    width: 31.25%;
    aspect-ratio: 180 / 300;
    /* left: -26%;
    top: 1%; */
    left: 0;
    top: 0;
    z-index: -1;
}

#wrapper-form .body__con .con__panel .panel__bg.is-right {
    position: absolute;
    width: 52.1%;
    aspect-ratio: 300 / 180;
    /* right: -20%;
    bottom: -37%; */
    right: 0;
    bottom: 0;
    z-index: -1;
}

#wrapper-form .body__con .con__panel .panel__bg.is-box {
    position: absolute;
    width: 25.5%;
    aspect-ratio: 132 / 217;
    right: -15%;
    bottom: 9%;
    z-index: 1;
}

#wrapper-form .body__con .con__panel .panel__bg.is-box .box__laba {
    position: absolute;
    width: 36%;
    opacity: 1;
}

#wrapper-form .body__con .con__panel .panel__bg.is-box .laba-1 {
    top: 1%;
    left: 38%;
	animation: heartbeat 0.8s ease-in-out infinite alternate-reverse both;
}

#wrapper-form .body__con .con__panel .panel__bg.is-box .laba-2 {
    top: 22%;
    left: 20%;
    animation: heartbeat 0.6s ease-in-out infinite alternate both;
}

#wrapper-form .body__con .con__panel .panel__bg.is-box .laba-3 {
    width: 40%;
    top: 38%;
    left: 60%;
    animation: heartbeat 0.6s ease-in-out infinite alternate-reverse both;
}

#wrapper-form .body__con .con__panel .panel__bg.is-box .laba-4 {
    top: 60%;
    left: 40%;
    animation: heartbeat 0.5s ease-in-out infinite alternate both;
}

#wrapper-form .body__con .con__panel .panel__bg.is-box .laba-5 {
    top: 47%;
    left: 13%;
    animation: heartbeat 0.6s ease-in-out infinite alternate-reverse both;
}

#wrapper-form .body__con .con__panel .panel__bg.is-box .laba-6 {
    top: 63%;
    left: 2%;
    animation: heartbeat 0.5s ease-in-out infinite alternate both;
}

#wrapper-form .body__con .con__panel .panel__bg2.is-tennis {
    position: absolute;
    width: 15%;
    aspect-ratio: 1 / 1;
    right: -4%;
    bottom: -6%;
    z-index: 1;
}

#wrapper-form .body__con .con__panel .panel__bg2.is-racket > img {
    animation: slide-Y2 2s ease-in-out infinite alternate both;
}

#wrapper-form .body__con .con__panel .panel__bg2.is-tennis > img {
    animation: slide-Y 2s ease-in-out infinite alternate-reverse both;
}

#wrapper-form .body__con .con__panel .panel__bg2.is-racket {
    position: absolute;
    width: 37.4%;
    aspect-ratio: 194 / 109;
    left: -9%;
    bottom: -14%;
    z-index: 1;
}

/* ------------------------------ */
#wrapper-form .body__con .con__panel {
    --track-right: -18%;
    --track-bottom: -28%;
    --track-size: 71%;
    --title-margin-bottom: -6%;

    position: relative;
    /* width: 36%;
    max-width: 520px; */
    width: 40%;
    max-width: 600px;
    display: flex;
    flex-direction: column;
    align-items: center;
    /* background-color: #fff;
    border-radius: var(--border-radius-ss); */
}

#wrapper-form .body__con .con__panel.is-track-in .panel__bg.is-left {
    left: -26%;
    top: 1%;
}

#wrapper-form .body__con .con__panel.is-track-in .panel__bg.is-right {
    right: -20%;
    bottom: -37%;
}

#wrapper-form .body__con .con__panel.is-track-in::before,
#wrapper-form .body__con .con__panel.is-track-in::after {
    right: var(--track-right);
    bottom: var(--track-bottom);
    opacity: 1;
}

#wrapper-form .body__con .con__panel::before {
    pointer-events: none;
    content: "";
    position: absolute;
    width: var(--track-size);
    aspect-ratio: 408 / 288;
    right: 0;
    bottom: 0;
    background: url(../images/game/game-quiz-track.png) no-repeat;
    background-position: center;
    background-size: 100%;
    z-index: -1;
    opacity: 0;

    -webkit-transition: all .2s ease-in-out 0s;
    -o-transition: all .2s ease-in-out 0s;
    -moz-transition: all .2s ease-in-out 0s;
    transition: all .2s ease-in-out 0s;
}

#wrapper-form .body__con .con__panel::after {
    pointer-events: none;
    content: "";
    position: absolute;
    width: var(--track-size);
    aspect-ratio: 408 / 288;
    right: 0;
    bottom: 0;
    background: url(../images/game/game-quiz-track-cover.png) no-repeat;
    background-position: center;
    background-size: 100%;
    opacity: 0;

    -webkit-transition: all .2s ease-in-out 0s;
    -o-transition: all .2s ease-in-out 0s;
    -moz-transition: all .2s ease-in-out 0s;
    transition: all .2s ease-in-out 0s;
}

#wrapper-form .body__con .con__panel .panel__title {
    align-self: flex-start;
    position: relative;
    width: 90%;
    margin-bottom: var(--title-margin-bottom);
    left: -5%;
    padding: calc(var(--fsize) * 1) calc(var(--fsize) * 2.5);
    background-color: var(--color-blue);
    z-index: 1;
}

#wrapper-form .body__con .con__panel .panel__title::before {
    content: "";
    position: absolute;
    width: 81%;
    height: 100%;
    left: 4%;
    top: -22%;
    background-color: var(--color-blue);
    z-index: 0;
}

#gameForm {
    position: relative;
    width: 100%;
    display: flex;
    flex-direction: column;
    padding: calc(var(--fsize) * 2 + var(--title-margin-bottom) * -1) calc(var(--fsize) * 3) calc(var(--fsize) * 2) calc(var(--fsize) * 3);
    background-color: #fff;
    border-radius: var(--border-radius-ss);
}

#gameForm .form__item {
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: center;
}

#gameForm .form__item .item__label {
    position: relative;
    width: calc(var(--fsize) * 3);
    text-align: right;
    margin-right: calc(var(--fsize) * 0.75);

    align-self: flex-start;
    line-height: 2em;
}

#gameForm .form__item .item__input {
    flex: 1;
}

#gameForm .form__item:not(:first-child) {
    margin-top: calc(var(--fsize) * 0.5);
}

#gameForm .form__item.is-allow {
    margin-top: calc(var(--fsize) * 1);
}

#gameForm .form__item.is-allow .item__input {
    display: flex;
    flex-direction: row;
    align-items: stretch;
}

#gameForm .form__item.is-allow .item__input input[type='checkbox'] {
    --size: calc(var(--fsize) * 1.1);
    position: relative;
    top: 2px;
    display: block;
    align-self: flex-start;
    width: var(--size);
    height: var(--size);
    flex-shrink: 0;
    cursor: pointer;

    margin-right: calc(var(--fsize) * 0.5);
}

#gameForm .form__item.is-allow .item__input > label {
    position: relative;
    display: flex;
    flex-direction: column;
}

#gameForm .form__item.is-allow .item__input > label > span > a {
    text-decoration: underline;
    color: #717171;
    text-underline-offset: 2px
}

#gameForm .form__action {
    margin-top: calc(var(--fsize) * 1.5);
    position: relative;
    width: 100%;
    display: flex;
    justify-content: center;
}

#gameForm .form__action .action__btn {
    position: relative;
    padding: calc(var(--fsize) * 0.25) calc(var(--fsize) * 3);
    background-color: var(--color-green);
    border-radius: var(--border-radius-ss);
    color: var(--color-blue);

    -webkit-transition: all .15s ease-out 0s;
    -o-transition: all .15s ease-out 0s;
    -moz-transition: all .15s ease-out 0s;
    transition: all .15s ease-out 0s;

    margin: 0 calc(var(--fsize) * 0.25);
}

#gameForm .form__action .action__btn.is-submit {
    background-color: var(--color-blue);
    color: var(--color-green);
}

#gameForm .form__action .action__btn:hover {
    background-color: var(--color-blue);
    color: var(--color-green);
}

#gameForm .form__action .action__btn.is-submit:hover {
    background-color: var(--color-green);
    color: var(--color-blue);
}
/* ----------------------------------------------------------------- */
/* ----------------------------------------------------------------- */
@media screen and (min-width:320px) {
    /* is-form */
    #wrapper-form .body__con .con__panel {
        --track-right: -26%;
        --track-bottom: -14%;
        --track-size: 80%;
        --title-margin-bottom: -8%;
        width: 95%;
    }

    #wrapper-form .body__con .con__panel .panel__bg {
        display: none;
    }

    #wrapper-form .body__con .con__panel .panel__bg2.is-tennis {
        width: 14%;
        right: -8%;
        bottom: 12%;
    }

    #wrapper-form .body__con .con__panel .panel__bg2.is-racket {
        width: 40%;
        left: -18%;
        bottom: -12%;
        transform: rotate(15deg);
    }

    #wrapper-form .body__con .con__panel .panel__title {
        align-self: center;
        width: 90%;
        /* margin-bottom: -8%; */
        left: 0%;
        /* padding: calc(var(--fsize) * 1) calc(var(--fsize) * 1); */
        padding: calc(var(--fsize) * 1) calc(var(--fsize) * 1.5);
    }

    #gameForm {
        padding: calc(var(--fsize) * 2 + var(--title-margin-bottom) * -1) calc(var(--fsize) * 1.5) calc(var(--fsize) * 2) calc(var(--fsize) * 1.5);
    }

    #wrapper-success .box__container .box__body {
        padding: calc(var(--side) * 4) calc(var(--side) * 1);
    }

    /* #wrapper-success .box__container .box__body .body__title {
        width: 75%;
    } */

}
@media screen and (min-width:360px) {}
@media screen and (min-width:390px) {}
@media screen and (min-width:414px) {}
@media screen and (min-width:500px) {}
@media screen and (min-width:600px) {
    /* is-form */
    #wrapper-form .body__con .con__panel {
        --track-right: -16%;
        --track-bottom: -25%;
        --track-size: 71%;
        width: 60%;
    }

    #wrapper-success .box__container .box__body {
        padding: calc(var(--side) * 4) calc(var(--side) * 3);
    }

    /* #wrapper-success .box__container .box__body .body__title {
        width: 50%;
    } */

}
@media screen and (min-width:1024px) {
    /* is-form */
    #wrapper-form .body__con .con__panel {
        --track-right: -18%;
        --track-bottom: -28%;
        --track-size: 71%;
        --title-margin-bottom: -8%;
        width: 47%;
    }

    #wrapper-form .body__con .con__panel .panel__bg {
        display: block;
    }

    #wrapper-form .body__con .con__panel .panel__bg2.is-tennis {
        width: 15%;
        right: -4%;
        bottom: -6%;
    }

    #wrapper-form .body__con .con__panel .panel__bg2.is-racket {
        width: 37.4%;
        left: -9%;
        bottom: -14%;
        transform: rotate(0deg);
    }

    #wrapper-form .body__con .con__panel .panel__title {
        align-self: flex-start;
        /* width: 90%; */
        width: 100%;
        /* margin-bottom: -6%; */
        left: -5%;
        padding: calc(var(--fsize) * 1) calc(var(--fsize) * 2.5);
    }

    #gameForm {
        padding: calc(var(--fsize) * 2 + var(--title-margin-bottom) * -1) calc(var(--fsize) * 3) calc(var(--fsize) * 2) calc(var(--fsize) * 3);
    }
}
@media screen and (min-width:1200px) {
    /* is-form */
    #wrapper-form .body__con .con__panel {
        width: 40%;
        max-width: 520px;
    }
}
@media screen and (min-width:1300px) {}
@media screen and (min-width: 1400px) {}
@media screen and (min-width: 1900px) {
    #wrapper-form .body__con .con__panel {
        max-width: 600px;
    }
}
/* ================================================== */
@media screen and (min-width: 768px) and (min-height: 880px) {}
@media screen and (min-width: 1400px) and (min-height: 980px) {}