@charset "UTF-8";

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
* {
    box-sizing: border-box
}

html {
    -webkit-text-size-adjust: 100%
}

body {
    margin: 0
}

main {
    display: block
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
    margin: 0;
    padding: 0
}

ul {
    list-style-type: none;
    margin: 0;
    padding: 0
}

hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible
}

pre {
    font-family: monospace, monospace;
    font-size: 1em
}

a {
    background-color: transparent;
    text-decoration: none;
    -webkit-user-drag: none;
    -webkit-user-select: none;
    user-select: none
}

abbr[title] {
    border-bottom: none;
    text-decoration: underline;
    text-decoration: underline dotted
}

b,
strong {
    font-weight: bolder
}

code,
kbd,
samp {
    font-family: monospace, monospace;
    font-size: 1em
}

small {
    font-size: smaller
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

img {
    border-style: none;
    vertical-align: middle;
    width: 100%;
    height: auto
}

button,
input,
optgroup,
select,
textarea {
    font-family: inherit;
    font-size: 100%;
    line-height: 1.15;
    margin: 0
}

button,
input {
    overflow: visible
}

button,
select {
    text-transform: none
}

button,
[type=button],
[type=reset],
[type=submit] {
    -webkit-appearance: button
}

button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
    border-style: none;
    padding: 0
}

button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
    outline: 1px dotted ButtonText
}

fieldset {
    padding: .35em .75em .625em
}

legend {
    box-sizing: border-box;
    color: inherit;
    display: table;
    max-width: 100%;
    padding: 0;
    white-space: normal
}

progress {
    vertical-align: baseline
}

textarea {
    overflow: auto
}

[type=checkbox],
[type=radio] {
    box-sizing: border-box;
    padding: 0
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
    height: auto
}

[type=search] {
    -webkit-appearance: textfield;
    outline-offset: -2px
}

[type=search]::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

details {
    display: block
}

summary {
    display: list-item
}

template,
[hidden] {
    display: none
}

[hidden] {
    display: none
}

.col-1 {
    flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%;
    padding: 0
}

.col-2 {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
    padding: 0
}

.col-3 {
    flex: 0 0 25%;
    max-width: 25%;
    padding: 0
}

.col-4 {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
    padding: 0
}

.col-5 {
    flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%;
    padding: 0
}

.col-6 {
    flex: 0 0 50%;
    max-width: 50%;
    padding: 0
}

.col-7 {
    flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%;
    padding: 0
}

.col-8 {
    flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
    padding: 0
}

.col-9 {
    flex: 0 0 75%;
    max-width: 75%;
    padding: 0
}

.col-10 {
    flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
    padding: 0
}

.col-11 {
    flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%;
    padding: 0
}

.col-12 {
    flex: 0 0 100%;
    max-width: 100%;
    padding: 0
}

@media (min-width: 576px) {
    .col-sm-1 {
        flex: 0 0 8.3333333333%;
        max-width: 8.3333333333%;
        padding: 0
    }

    .col-sm-2 {
        flex: 0 0 16.6666666667%;
        max-width: 16.6666666667%;
        padding: 0
    }

    .col-sm-3 {
        flex: 0 0 25%;
        max-width: 25%;
        padding: 0
    }

    .col-sm-4 {
        flex: 0 0 33.3333333333%;
        max-width: 33.3333333333%;
        padding: 0
    }

    .col-sm-5 {
        flex: 0 0 41.6666666667%;
        max-width: 41.6666666667%;
        padding: 0
    }

    .col-sm-6 {
        flex: 0 0 50%;
        max-width: 50%;
        padding: 0
    }

    .col-sm-7 {
        flex: 0 0 58.3333333333%;
        max-width: 58.3333333333%;
        padding: 0
    }

    .col-sm-8 {
        flex: 0 0 66.6666666667%;
        max-width: 66.6666666667%;
        padding: 0
    }

    .col-sm-9 {
        flex: 0 0 75%;
        max-width: 75%;
        padding: 0
    }

    .col-sm-10 {
        flex: 0 0 83.3333333333%;
        max-width: 83.3333333333%;
        padding: 0
    }

    .col-sm-11 {
        flex: 0 0 91.6666666667%;
        max-width: 91.6666666667%;
        padding: 0
    }

    .col-sm-12 {
        flex: 0 0 100%;
        max-width: 100%;
        padding: 0
    }
}

@media (min-width: 768px) {
    .col-md-1 {
        flex: 0 0 8.3333333333%;
        max-width: 8.3333333333%;
        padding: 0
    }

    .col-md-2 {
        flex: 0 0 16.6666666667%;
        max-width: 16.6666666667%;
        padding: 0
    }

    .col-md-3 {
        flex: 0 0 25%;
        max-width: 25%;
        padding: 0
    }

    .col-md-4 {
        flex: 0 0 33.3333333333%;
        max-width: 33.3333333333%;
        padding: 0
    }

    .col-md-5 {
        flex: 0 0 41.6666666667%;
        max-width: 41.6666666667%;
        padding: 0
    }

    .col-md-6 {
        flex: 0 0 50%;
        max-width: 50%;
        padding: 0
    }

    .col-md-7 {
        flex: 0 0 58.3333333333%;
        max-width: 58.3333333333%;
        padding: 0
    }

    .col-md-8 {
        flex: 0 0 66.6666666667%;
        max-width: 66.6666666667%;
        padding: 0
    }

    .col-md-9 {
        flex: 0 0 75%;
        max-width: 75%;
        padding: 0
    }

    .col-md-10 {
        flex: 0 0 83.3333333333%;
        max-width: 83.3333333333%;
        padding: 0
    }

    .col-md-11 {
        flex: 0 0 91.6666666667%;
        max-width: 91.6666666667%;
        padding: 0
    }

    .col-md-12 {
        flex: 0 0 100%;
        max-width: 100%;
        padding: 0
    }
}

@media (min-width: 992px) {
    .col-lg-1 {
        flex: 0 0 8.3333333333%;
        max-width: 8.3333333333%;
        padding: 0
    }

    .col-lg-2 {
        flex: 0 0 16.6666666667%;
        max-width: 16.6666666667%;
        padding: 0
    }

    .col-lg-3 {
        flex: 0 0 25%;
        max-width: 25%;
        padding: 0
    }

    .col-lg-4 {
        flex: 0 0 33.3333333333%;
        max-width: 33.3333333333%;
        padding: 0
    }

    .col-lg-5 {
        flex: 0 0 41.6666666667%;
        max-width: 41.6666666667%;
        padding: 0
    }

    .col-lg-6 {
        flex: 0 0 50%;
        max-width: 50%;
        padding: 0
    }

    .col-lg-7 {
        flex: 0 0 58.3333333333%;
        max-width: 58.3333333333%;
        padding: 0
    }

    .col-lg-8 {
        flex: 0 0 66.6666666667%;
        max-width: 66.6666666667%;
        padding: 0
    }

    .col-lg-9 {
        flex: 0 0 75%;
        max-width: 75%;
        padding: 0
    }

    .col-lg-10 {
        flex: 0 0 83.3333333333%;
        max-width: 83.3333333333%;
        padding: 0
    }

    .col-lg-11 {
        flex: 0 0 91.6666666667%;
        max-width: 91.6666666667%;
        padding: 0
    }

    .col-lg-12 {
        flex: 0 0 100%;
        max-width: 100%;
        padding: 0
    }
}

@media (min-width: 1200px) {
    .col-xl-1 {
        flex: 0 0 8.3333333333%;
        max-width: 8.3333333333%;
        padding: 0
    }

    .col-xl-2 {
        flex: 0 0 16.6666666667%;
        max-width: 16.6666666667%;
        padding: 0
    }

    .col-xl-3 {
        flex: 0 0 25%;
        max-width: 25%;
        padding: 0
    }

    .col-xl-4 {
        flex: 0 0 33.3333333333%;
        max-width: 33.3333333333%;
        padding: 0
    }

    .col-xl-5 {
        flex: 0 0 41.6666666667%;
        max-width: 41.6666666667%;
        padding: 0
    }

    .col-xl-6 {
        flex: 0 0 50%;
        max-width: 50%;
        padding: 0
    }

    .col-xl-7 {
        flex: 0 0 58.3333333333%;
        max-width: 58.3333333333%;
        padding: 0
    }

    .col-xl-8 {
        flex: 0 0 66.6666666667%;
        max-width: 66.6666666667%;
        padding: 0
    }

    .col-xl-9 {
        flex: 0 0 75%;
        max-width: 75%;
        padding: 0
    }

    .col-xl-10 {
        flex: 0 0 83.3333333333%;
        max-width: 83.3333333333%;
        padding: 0
    }

    .col-xl-11 {
        flex: 0 0 91.6666666667%;
        max-width: 91.6666666667%;
        padding: 0
    }

    .col-xl-12 {
        flex: 0 0 100%;
        max-width: 100%;
        padding: 0
    }
}

.hr_dashed--5 {
    opacity: 1;
    height: auto !important;
    border-top: .5208333333vw dashed;
    background: transparent;
    margin: .25em 0
}

@media only screen and (min-width: 992px) {
    .hr_dashed--5 {
        border-top: .2604166667vw dashed
    }
}

.hr_dashed--6 {
    opacity: 1;
    height: auto !important;
    border-top: .625vw dashed;
    background: transparent;
    margin: .25em 0
}

@media only screen and (min-width: 992px) {
    .hr_dashed--6 {
        border-top: .3125vw dashed
    }
}

.hr_dashed--7 {
    opacity: 1;
    height: auto !important;
    border-top: .7291666667vw dashed;
    background: transparent;
    margin: .25em 0
}

@media only screen and (min-width: 992px) {
    .hr_dashed--7 {
        border-top: .3645833333vw dashed
    }
}

.hr_dashed--8 {
    opacity: 1;
    height: auto !important;
    border-top: .8333333333vw dashed;
    background: transparent;
    margin: .25em 0
}

@media only screen and (min-width: 992px) {
    .hr_dashed--8 {
        border-top: .4166666667vw dashed
    }
}

.hr_dashed--9 {
    opacity: 1;
    height: auto !important;
    border-top: .9375vw dashed;
    background: transparent;
    margin: .25em 0
}

@media only screen and (min-width: 992px) {
    .hr_dashed--9 {
        border-top: .46875vw dashed
    }
}

.hr_dashed--10 {
    opacity: 1;
    height: auto !important;
    border-top: 1.0416666667vw dashed;
    background: transparent;
    margin: .25em 0
}

@media only screen and (min-width: 992px) {
    .hr_dashed--10 {
        border-top: .5208333333vw dashed
    }
}

.hr_solid--5 {
    opacity: 1;
    height: auto !important;
    border-top: .5208333333vw solid;
    background: transparent;
    margin: .25em 0
}

@media only screen and (min-width: 992px) {
    .hr_solid--5 {
        border-top: .2604166667vw solid
    }
}

.hr_solid--6 {
    opacity: 1;
    height: auto !important;
    border-top: .625vw solid;
    background: transparent;
    margin: .25em 0
}

@media only screen and (min-width: 992px) {
    .hr_solid--6 {
        border-top: .3125vw solid
    }
}

.hr_solid--7 {
    opacity: 1;
    height: auto !important;
    border-top: .7291666667vw solid;
    background: transparent;
    margin: .25em 0
}

@media only screen and (min-width: 992px) {
    .hr_solid--7 {
        border-top: .3645833333vw solid
    }
}

.hr_solid--8 {
    opacity: 1;
    height: auto !important;
    border-top: .8333333333vw solid;
    background: transparent;
    margin: .25em 0
}

@media only screen and (min-width: 992px) {
    .hr_solid--8 {
        border-top: .4166666667vw solid
    }
}

.hr_solid--9 {
    opacity: 1;
    height: auto !important;
    border-top: .9375vw solid;
    background: transparent;
    margin: .25em 0
}

@media only screen and (min-width: 992px) {
    .hr_solid--9 {
        border-top: .46875vw solid
    }
}

.hr_solid--10 {
    opacity: 1;
    height: auto !important;
    border-top: 1.0416666667vw solid;
    background: transparent;
    margin: .25em 0
}

@media only screen and (min-width: 992px) {
    .hr_solid--10 {
        border-top: .5208333333vw solid
    }
}

.hr_dotted--5 {
    opacity: 1;
    height: auto !important;
    border-top: .5208333333vw dotted;
    background: transparent;
    margin: .25em 0
}

@media only screen and (min-width: 992px) {
    .hr_dotted--5 {
        border-top: .2604166667vw dotted
    }
}

.hr_dotted--6 {
    opacity: 1;
    height: auto !important;
    border-top: .625vw dotted;
    background: transparent;
    margin: .25em 0
}

@media only screen and (min-width: 992px) {
    .hr_dotted--6 {
        border-top: .3125vw dotted
    }
}

.hr_dotted--7 {
    opacity: 1;
    height: auto !important;
    border-top: .7291666667vw dotted;
    background: transparent;
    margin: .25em 0
}

@media only screen and (min-width: 992px) {
    .hr_dotted--7 {
        border-top: .3645833333vw dotted
    }
}

.hr_dotted--8 {
    opacity: 1;
    height: auto !important;
    border-top: .8333333333vw dotted;
    background: transparent;
    margin: .25em 0
}

@media only screen and (min-width: 992px) {
    .hr_dotted--8 {
        border-top: .4166666667vw dotted
    }
}

.hr_dotted--9 {
    opacity: 1;
    height: auto !important;
    border-top: .9375vw dotted;
    background: transparent;
    margin: .25em 0
}

@media only screen and (min-width: 992px) {
    .hr_dotted--9 {
        border-top: .46875vw dotted
    }
}

.hr_dotted--10 {
    opacity: 1;
    height: auto !important;
    border-top: 1.0416666667vw dotted;
    background: transparent;
    margin: .25em 0
}

@media only screen and (min-width: 992px) {
    .hr_dotted--10 {
        border-top: .5208333333vw dotted
    }
}

[data-ani] {
    opacity: 0
}

.ANI-active {
    opacity: 1
}

.ANI-fadeIn {
    animation: ANI-fadeIn 1s both
}

@keyframes ANI-fadeIn {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

.ANI-fadeOut {
    animation: ANI-fadeOut 1s both
}

@keyframes ANI-fadeOut {
    0% {
        opacity: 1
    }

    to {
        opacity: 0
    }
}

.ANI-fadeInLeft {
    animation: ANI-fadeInLeft 1s both
}

@keyframes ANI-fadeInLeft {
    0% {
        opacity: 0;
        transform: translate3d(-50%, 0, 0)
    }

    to {
        opacity: 1;
        transform: none
    }
}

.ANI-fadeInRight {
    animation: ANI-fadeInRight 1s both
}

@keyframes ANI-fadeInRight {
    0% {
        opacity: 0;
        transform: translate3d(50%, 0, 0)
    }

    to {
        opacity: 1;
        transform: none
    }
}

.ANI-fadeInRightCenter {
    animation: ANI-fadeInRightCenter 1s both
}

@keyframes ANI-fadeInRightCenter {
    0% {
        opacity: 0;
        transform: translate3d(0, -50%, 0)
    }

    to {
        opacity: 1;
        transform: translate3d(-50%, -50%, 0)
    }
}

.ANI-fadeInUp {
    animation: ANI-fadeInUp 1s both
}

@keyframes ANI-fadeInUp {
    0% {
        opacity: 0;
        transform: translate3d(0, 50%, 0)
    }

    to {
        opacity: 1;
        transform: none
    }
}

.ANI-fadeOutDown {
    animation: ANI-fadeOutDown 1s both
}

@keyframes ANI-fadeOutDown {
    0% {
        opacity: 1;
        transform: none
    }

    to {
        opacity: 0;
        transform: translate3d(0, 50%, 0)
    }
}

.ANI-fadeInUpCenter {
    animation: ANI-fadeInUpCenter 1s both
}

@keyframes ANI-fadeInUpCenter {
    0% {
        opacity: 0;
        transform: translate3d(-50%, 0, 0)
    }

    to {
        opacity: 1;
        transform: translate3d(-50%, -50%, 0)
    }
}

.ANI-fadeInDown {
    animation: ANI-fadeInDown 1s both
}

@keyframes ANI-fadeInDown {
    0% {
        opacity: 0;
        transform: translate3d(0, -50%, 0)
    }

    to {
        opacity: 1;
        transform: none
    }
}

.ANI-fadeZoomIn {
    animation: ANI-fadeZoomIn 1s both
}

@keyframes ANI-fadeZoomIn {
    0% {
        opacity: 0;
        transform: scale(1.5)
    }

    to {
        opacity: 1;
        transform: scale(1)
    }
}

.ANI-fadeScaleIn {
    animation: ANI-fadeScaleIn 1s both
}

@keyframes ANI-fadeScaleIn {
    0% {
        opacity: 0;
        transform: scale(.5)
    }

    to {
        opacity: 1;
        transform: scale(1)
    }
}

.ANI-fadeScaleInLight {
    animation: ANI-fadeScaleInLight 1s both
}

@keyframes ANI-fadeScaleInLight {
    0% {
        opacity: 0;
        transform: scale(.5)
    }

    50% {
        filter: brightness(2)
    }

    to {
        opacity: 1;
        transform: scale(1);
        filter: brightness(1)
    }
}

.ANI-fadeScaleInRotate {
    animation: ANI-fadeScaleInRotate 1s both
}

@keyframes ANI-fadeScaleInRotate {
    0% {
        opacity: 0;
        transform: scale(.5) rotate(90deg)
    }

    to {
        opacity: 1;
        transform: scale(1) rotate(0)
    }
}

.ANI-fadeScaleInRotateCenter {
    animation: ANI-fadeScaleInRotateCenter 1s both
}

@keyframes ANI-fadeScaleInRotateCenter {
    0% {
        opacity: 0;
        transform: translate(-50%, -50%) scale(.5) rotate(90deg)
    }

    to {
        opacity: 1;
        transform: translate(-50%, -50%) scale(1) rotate(0)
    }
}

.ANI-fadeScaleInCenter {
    animation: ANI-fadeScaleInCenter 1s both
}

@keyframes ANI-fadeScaleInCenter {
    0% {
        opacity: 0;
        transform: translate(-50%, -50%) scale(.5)
    }

    to {
        opacity: 1;
        transform: translate(-50%, -50%) scale(1)
    }
}

.ANI-bounceIn {
    animation: ANI-bounceIn 1s both
}

@keyframes ANI-bounceIn {

    0%,
    to,
    20%,
    40%,
    60%,
    80% {
        transition-timing-function: cubic-bezier(.215, .61, .355, 1)
    }

    0% {
        opacity: 0;
        transform: scale3d(.3, .3, .3)
    }

    20% {
        transform: scale3d(1.1, 1.1, 1.1)
    }

    40% {
        transform: scale3d(.9, .9, .9)
    }

    60% {
        opacity: 1;
        transform: scale3d(1.03, 1.03, 1.03)
    }

    80% {
        transform: scale3d(.97, .97, .97)
    }

    to {
        opacity: 1;
        transform: scaleZ(1)
    }
}

.ANI-rotate360 {
    animation: ANI-rotate360 1s both
}

@keyframes ANI-rotate360 {
    0% {
        transform: translate(-50%, -50%) rotate(0)
    }

    to {
        transform: translate(-50%, -50%) rotate(360deg)
    }
}

.ANI-fadeInLeftLight {
    animation: ANI-fadeInLeftLight 1s both
}

@keyframes ANI-fadeInLeftLight {
    0% {
        opacity: 0;
        transform: translate3d(-50%, 0, 0)
    }

    50% {
        filter: brightness(2)
    }

    to {
        opacity: 1;
        filter: brightness(1);
        transform: none
    }
}

.ANI-fadeInRightLight {
    animation: ANI-fadeInRightLight 1s both
}

@keyframes ANI-fadeInRightLight {
    0% {
        opacity: 0;
        transform: translate3d(50%, 0, 0)
    }

    50% {
        filter: brightness(2)
    }

    to {
        opacity: 1;
        filter: brightness(1);
        transform: none
    }
}

.ANI-fadeInUpLight {
    animation: ANI-fadeInUpLight 1s both
}

@keyframes ANI-fadeInUpLight {
    0% {
        opacity: 0;
        transform: translate3d(0, 50%, 0)
    }

    50% {
        filter: brightness(2)
    }

    to {
        opacity: 1;
        filter: brightness(1);
        transform: none
    }
}

.ANI-fadeInLight {
    animation: ANI-fadeInLight 1s both
}

@keyframes ANI-fadeInLight {
    0% {
        opacity: 0
    }

    50% {
        filter: brightness(2)
    }

    to {
        opacity: 1;
        filter: brightness(1)
    }
}

.ANI-shakeY {
    animation: ANI-shakeY 1s both
}

@keyframes ANI-shakeY {

    0%,
    to {
        opacity: 1;
        transform: translate3d(0, -65%, 0)
    }

    50% {
        opacity: 1;
        transform: translate3d(0, -20%, 0)
    }
}

.ANI-shakeY {
    animation: ANI-shakeY infinite 1.5s ease-in-out
}

.ANI-flopY {
    animation: ANI-flopY 1s both
}

@keyframes ANI-flopY {
    0% {
        opacity: 1;
        transform: rotateY(90deg)
    }

    to {
        opacity: 1;
        transform: rotateY(0)
    }
}

.ANI-wave {
    animation: ANI-wave 1s both
}

@keyframes ANI-wave {

    0%,
    to {
        opacity: 1;
        transform: scaleX(1) scaleY(1) scale(1);
        filter: hue-rotate(0deg)
    }

    24% {
        opacity: 1;
        transform: scaleX(1) scaleY(0) scale(1);
        filter: hue-rotate(0deg)
    }

    26% {
        opacity: 1;
        transform: scaleX(-1) scaleY(0) scale(1);
        filter: hue-rotate(0deg)
    }

    50% {
        opacity: 1;
        transform: scaleX(-1) scaleY(1) scale(1.5);
        filter: hue-rotate(180deg)
    }

    74% {
        opacity: 1;
        transform: scaleX(-1) scaleY(0) scale(1);
        filter: hue-rotate(0deg)
    }

    76% {
        opacity: 1;
        transform: scaleX(1) scaleY(0) scale(1.5);
        filter: hue-rotate(-180deg)
    }
}

.ANI-touched {
    animation: ANI-touched 1s both
}

@keyframes ANI-touched {
    0% {
        opacity: 1
    }

    to {
        opacity: 1
    }
}

@keyframes shine {
    0% {
        opacity: .5;
        transform: translate(50%, 52%) scaleY(0)
    }

    to {
        opacity: 1;
        transform: translateY(52%) scaleY(1)
    }
}

@keyframes bright {

    4%,
    6%,
    20%,
    to {
        filter: brightness(1)
    }

    0%,
    10%,
    16% {
        filter: brightness(.5)
    }
}

@keyframes hue-rotate {

    0%,
    to {
        filter: hue-rotate(0)
    }

    50% {
        filter: hue-rotate(45deg)
    }
}

@keyframes shark {

    0%,
    to {
        transform: rotate(0)
    }

    50% {
        transform: rotate(10deg)
    }
}

@keyframes gradient {
    0% {
        background-position: 100% 100%
    }

    10%,
    to {
        background-position: 0% 0%
    }
}

@keyframes frameLightFadeInRight {
    0% {
        opacity: 0;
        transform: translateY(-50%) translate(200%)
    }

    to {
        opacity: 1;
        transform: translateY(-50%) translate(0)
    }
}

@keyframes frameLightFadeInLeft {
    0% {
        opacity: 0;
        transform: translateY(-50%) translate(-200%)
    }

    to {
        opacity: 1;
        transform: translateY(-50%) translate(0)
    }
}

@keyframes starFadeInLeft {
    0% {
        transform: scale(0) rotate(-360deg);
        opacity: 0
    }

    to {
        transform: scale(1) rotate(0);
        opacity: 1
    }
}

@keyframes floatUpDown {
    0% {
        transform: translateY(0);
        opacity: 1
    }

    50% {
        transform: translateY(10px);
        opacity: 1
    }

    to {
        transform: translateY(0);
        opacity: 1
    }
}

@keyframes floatDownUp {
    0% {
        transform: translateY(0);
        opacity: 1
    }

    50% {
        transform: translateY(-10px);
        opacity: 1
    }

    to {
        transform: translateY(0);
        opacity: 1
    }
}

.dg.ac {
    z-index: 999 !important
}

.fla-body {
    background-color: #2a87da;
    color: #fff;
    position: relative;
    width: 100%;
    overflow: hidden;
    letter-spacing: .05em
}

.fla-body * {
    font-family: Noto Sans TC, 微軟正黑體, Microsoft JhengHei, PingFang T, Arial, sans-serif;
    transition: none;
    color: inherit;
    letter-spacing: inherit
}

.fla-wrapper {
    background-color: #2a87da;
    box-shadow: 0 0 10px #357fd3;
    overflow: hidden;
    position: relative;
    margin: auto;
    padding-top: 6.7708333333vw;
    width: 100vw;
    max-width: 960px
}

@media (min-width: 992px) {
    .fla-wrapper {
        padding-top: min(3.3854166667vw, 65px)
    }
}

@media only screen and (min-width: 992px) {
    .fla-wrapper {
        width: 50vw
    }
}

#fla-nav-top {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%);
    width: 100%;
    z-index: 9;
    background: #fff
}

#fla-nav-top.fixed {
    position: fixed;
    background: transparent
}

#fla-nav-bot {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%);
    z-index: 9;
    width: 100vw
}

@media only screen and (min-width: 992px) {
    #fla-nav-bot {
        width: 50vw
    }
}

#fla-nav-bot.fixed {
    position: fixed
}

nav>ul>li.h_search #search_input {
    width: 130px;
}

.nav-wrapper {
    display: flex;
    margin: auto;
    /* border: 1px solid rgb(178.5, 178.5, 178.5); */
    width: 100vw
}

@media only screen and (min-width: 992px) {
    .nav-wrapper {
        width: 50vw
    }
}

.nav-wrapper>a {
    padding: .65em 0;
    position: relative;
    width: 100%;
    letter-spacing: .05em;
    text-align: center;
    background-color: #fff;
    color: #b3b3b3;
    line-height: 1.2;
    font-size: 2.6041666667vw
}

@media only screen and (min-width: 992px) {
    .nav-wrapper>a {
        font-size: 1.3020833333vw
    }
}

.nav-wrapper>a:not(:last-child) {
    border-right: 1px solid rgb(178.5, 178.5, 178.5)
}

.nav-wrapper .btn-block {
    position: relative;
    width: 100%;
    background-color: #fff
}

.nav-wrapper .btn-block:not(:last-child) {
    border-right: 1px solid rgb(178.5, 178.5, 178.5)
}

.nav-wrapper .btn-block a {
    display: block;
    text-align: center
}

.purchase-block {
    background: linear-gradient(0deg, #d3c1ec, #fff 80%);
    display: flex;
    overflow: hidden;
    max-height: 0;
    transition: max-height ease-in-out .3s
}

.purchase-block a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    color: #7e4195;
    font-weight: 700;
    font-size: 3.9583333333vw;
    border-bottom: 2px solid #fff
}

@media (min-width: 992px) {
    .purchase-block a {
        font-size: 24px
    }
}

.purchase-block a+a {
    position: relative
}

.purchase-block a+a:before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 50%;
    border-left: 1px solid #7e4195 !important
}

.purchase-block img {
    height: 3em;
    width: auto
}

.purchase-block.js-show {
    max-height: 200px
}

.purchase-footer {
    font-weight: 700;
    padding: 2%;
    text-align: center;
    color: #fff;
    background-image: url(../images/purchase-footer-bg.jpg);
    cursor: pointer;
    font-size: 5.2083333333vw
}

@media (min-width: 992px) {
    .purchase-footer {
        font-size: 26px;
        padding: 1.5%
    }
}

.d-none {
    display: none
}

@media (min-width: 992px) {
    .d-lg-none {
        display: none
    }
}

@media (min-width: 992px) {
    .d-lg-inline {
        display: inline
    }
}

.d-word-break {
    word-break: break-all
}

.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0
}

[class^=sec] {
    padding-top: .1px;
    padding-bottom: .1px;
    position: relative;
    z-index: 0;
    margin: -1px
}

.content {
    padding-left: 4.1666666667vw;
    padding-right: 4.1666666667vw
}

@media only screen and (min-width: 992px) {
    .content {
        padding-left: 2.0833333333vw;
        padding-right: 2.0833333333vw
    }
}

.sec01,
.sec02,
.sec03,
.sec04 {
    background-position: top;
    background-repeat: no-repeat;
    background-color: #4AA2E6;
    background-size: cover;
    background-size: contain
}

.dfz-12 {
    font-size: 1.25vw
}

@media only screen and (min-width: 992px) {
    .dfz-12 {
        font-size: .625vw
    }
}

.dfz-15 {
    font-size: 1.5625vw
}

@media only screen and (min-width: 992px) {
    .dfz-15 {
        font-size: .78125vw
    }
}

.dfz-18 {
    font-size: 1.875vw
}

@media only screen and (min-width: 992px) {
    .dfz-18 {
        font-size: .9375vw
    }
}

.dfz-22 {
    font-size: 2.2916666667vw
}

@media only screen and (min-width: 992px) {
    .dfz-22 {
        font-size: 1.1458333333vw
    }
}

.dfz-25 {
    font-size: 2.6041666667vw
}

@media only screen and (min-width: 992px) {
    .dfz-25 {
        font-size: 1.3020833333vw
    }
}

.dfz-26 {
    font-size: 2.7083333333vw
}

@media only screen and (min-width: 992px) {
    .dfz-26 {
        font-size: 1.3541666667vw
    }
}

.dfz-30 {
    font-size: 3.125vw
}

@media only screen and (min-width: 992px) {
    .dfz-30 {
        font-size: 1.5625vw
    }
}

.dfz-34 {
    font-size: 3.5416666667vw
}

@media only screen and (min-width: 992px) {
    .dfz-34 {
        font-size: 1.7708333333vw
    }
}

.dfz-36 {
    font-size: 3.75vw
}

@media only screen and (min-width: 992px) {
    .dfz-36 {
        font-size: 1.875vw
    }
}

.dfz-38 {
    font-size: 3.9583333333vw
}

@media only screen and (min-width: 992px) {
    .dfz-38 {
        font-size: 1.9791666667vw
    }
}

.dfz-40 {
    font-size: 4.1666666667vw
}

@media only screen and (min-width: 992px) {
    .dfz-40 {
        font-size: 2.0833333333vw
    }
}

.dfz-42 {
    font-size: 4.375vw
}

@media only screen and (min-width: 992px) {
    .dfz-42 {
        font-size: 2.1875vw
    }
}

.dfz-50 {
    font-size: 5.2083333333vw
}

@media only screen and (min-width: 992px) {
    .dfz-50 {
        font-size: 2.6041666667vw
    }
}

.dfz-52 {
    font-size: 5.4166666667vw
}

@media only screen and (min-width: 992px) {
    .dfz-52 {
        font-size: 2.7083333333vw
    }
}

.dfz-60 {
    font-size: 6.25vw
}

@media only screen and (min-width: 992px) {
    .dfz-60 {
        font-size: 3.125vw
    }
}

.dfz-66 {
    font-size: 6.875vw
}

@media only screen and (min-width: 992px) {
    .dfz-66 {
        font-size: 3.4375vw
    }
}

.dfz-72 {
    font-size: 7.5vw
}

@media only screen and (min-width: 992px) {
    .dfz-72 {
        font-size: 3.75vw
    }
}

.dfz-84 {
    font-size: 8.75vw
}

@media only screen and (min-width: 992px) {
    .dfz-84 {
        font-size: 4.375vw
    }
}

.dfz-90 {
    font-size: 9.375vw
}

@media only screen and (min-width: 992px) {
    .dfz-90 {
        font-size: 4.6875vw
    }
}

.dfz-106 {
    font-size: 11.0416666667vw
}

@media only screen and (min-width: 992px) {
    .dfz-106 {
        font-size: 5.5208333333vw
    }
}

.text-color {
    color: #333 !important
}

.text-white {
    color: #fff !important
}

.text-400 {
    color: #00b0f0 !important
}

.i-arrow {
    background-image: url(../images/icon-arrow--white.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    height: 0px;
    display: block;
    padding-top: 4%;
    margin-left: auto;
    margin-right: auto;
    transform-origin: bottom center;
    width: 5.4166666667vw;
    margin-bottom: 6.7708333333vw;
    animation: scrollDown .5s ease-in-out infinite alternate
}

@media (min-width: 992px) {
    .i-arrow {
        width: 2.7083333333vw;
        margin-bottom: 3.3854166667vw
    }
}

@keyframes scrollDown {
    0% {
        transform: translateY(0) scale(1)
    }

    to {
        transform: translateY(10px) scale(.9)
    }
}

.num_icon--1 {
    display: inline-block;
    position: relative;
    width: 1em;
    height: 1em
}

.num_icon--1:before {
    content: "";
    position: absolute;
    background: url(../images/sec08/1.png) 50% 50% no-repeat;
    background-size: contain;
    width: 100%;
    height: 100%
}

.num_icon--2 {
    display: inline-block;
    position: relative;
    width: 1em;
    height: 1em
}

.num_icon--2:before {
    content: "";
    position: absolute;
    background: url(../images/sec08/2.png) 50% 50% no-repeat;
    background-size: contain;
    width: 100%;
    height: 100%
}

.num_icon--3 {
    display: inline-block;
    position: relative;
    width: 1em;
    height: 1em
}

.num_icon--3:before {
    content: "";
    position: absolute;
    background: url(../images/sec08/3.png) 50% 50% no-repeat;
    background-size: contain;
    width: 100%;
    height: 100%
}

.num_icon--4 {
    display: inline-block;
    position: relative;
    width: 1em;
    height: 1em
}

.num_icon--4:before {
    content: "";
    position: absolute;
    background: url(../images/sec08/4.png) 50% 50% no-repeat;
    background-size: contain;
    width: 100%;
    height: 100%
}

.c-title-tag {
    width: 41.4583333333vw;
    text-align: center;
    margin: 3% auto;
    filter: drop-shadow(0 2px 2px #2a87da)
}

@media (min-width: 992px) {
    .c-title-tag {
        width: min(20.7291666667vw, 398px)
    }
}

.c-title-txt {
    text-align: center;
    font-weight: 500;
    color: #fff;
    line-height: 1.5;
    margin-top: 2.5%;
    margin-bottom: 2%;
    letter-spacing: .12em
}

.c-title-txt>* {
    color: inherit;
    font-size: inherit;
    line-height: inherit;
    letter-spacing: inherit
}

.c-title-txt-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: .5em
}

.c-title-txt-big {
    letter-spacing: .08em;
    font-size: 8.3333333333vw;
    filter: drop-shadow(-1px -1px 0 #338bdd) drop-shadow(1px -1px 0 #338bdd) drop-shadow(-1px 1px 0 #338bdd) drop-shadow(1px 1px 0 #338bdd) drop-shadow(0 .04em .4em rgba(42, 135, 218, .8))
}

@media (min-width: 992px) {
    .c-title-txt-big {
        font-size: min(4.1666666667vw, 80px)
    }
}

.c-title-txt-normal {
    font-weight: 300;
    font-size: 5.7291666667vw;
    filter: drop-shadow(-1px -1px 0 #338bdd) drop-shadow(1px -1px 0 #338bdd) drop-shadow(-1px 1px 0 #338bdd) drop-shadow(1px 1px 0 #338bdd) drop-shadow(0 .04em .4em rgba(42, 135, 218, .8))
}

@media (min-width: 992px) {
    .c-title-txt-normal {
        font-size: min(2.8645833333vw, 55px)
    }
}

.c-title-txt-normal b {
    font-weight: 500
}

.c-title-txt-small {
    font-weight: 300;
    font-size: 4.375vw;
    filter: drop-shadow(-1px -1px 0 #338bdd) drop-shadow(1px -1px 0 #338bdd) drop-shadow(-1px 1px 0 #338bdd) drop-shadow(1px 1px 0 #338bdd) drop-shadow(0 .04em .4em rgba(42, 135, 218, .8))
}

@media (min-width: 992px) {
    .c-title-txt-small {
        font-size: min(2.1875vw, 42px)
    }
}

.c-title-txt-line {
    display: inline-block
}

.c-title-txt-price {
    text-align: left;
    font-weight: 600;
    margin-left: 64%;
    font-size: 2.9166666667vw;
    filter: drop-shadow(-1px -1px 0 #338bdd) drop-shadow(1px -1px 0 #338bdd) drop-shadow(-1px 1px 0 #338bdd) drop-shadow(1px 1px 0 #338bdd) drop-shadow(0 .04em .4em rgba(42, 135, 218, .8))
}

@media (min-width: 992px) {
    .c-title-txt-price {
        font-size: min(1.4583333333vw, 28px)
    }
}

.c-title-strong {
    margin-bottom: 2%;
    position: relative;
    text-align: center;
    line-height: 1;
    letter-spacing: .1em;
    font-weight: 600;
    font-size: 6.25vw
}

.c-title-strong>* {
    background-image: linear-gradient(0deg, #009fe8 20%, #34c4ff);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    position: relative;
    z-index: 1
}

.c-title-strong:before {
    content: attr(attr-title);
    position: absolute;
    color: #fff;
    width: 100%;
    top: 0;
    left: 0;
    text-shadow: .1rem 0 0 #fff, 0 .1rem 0 #fff, -.1rem 0 0 #fff, 0 -.1rem 0 #fff;
    filter: drop-shadow(.3rem .3rem .3rem rgba(0, 0, 0, .2))
}

@media (min-width: 992px) {
    .c-title-strong:before {
        text-shadow: .2rem 0 0 #fff, 0 .2rem 0 #fff, -.2rem 0 0 #fff, 0 -.2rem 0 #fff
    }
}

@media (min-width: 992px) {
    .c-title-strong {
        font-size: 3.125vw
    }
}

.c-title-strong--underline {
    position: relative;
    margin-bottom: 2%
}

.c-title-strong--underline:after {
    content: "";
    display: block;
    width: 10%;
    height: 1px;
    background-color: #009fe8;
    margin-top: 4%;
    margin-left: 50%;
    transform: translate(-50%)
}

@media (min-width: 768px) {
    .c-title-strong--underline:after {
        height: 2px
    }
}

.c-title-strong--underline img {
    width: 14.5833333333vw;
    position: absolute;
    right: 24%;
    bottom: 42%
}

@media (min-width: 992px) {
    .c-title-strong--underline img {
        width: min(7.2916666667vw, 140px)
    }
}

.c-title-divider {
    text-align: center
}

.c-title-divider>* {
    position: relative;
    display: inline-block;
    font-weight: 700;
    letter-spacing: .1em;
    font-size: 5.7291666667vw;
    padding: 2.6041666667vw
}

@media (min-width: 992px) {
    .c-title-divider>* {
        font-size: min(2.8645833333vw, 55px)
    }
}

@media (min-width: 992px) {
    .c-title-divider>* {
        padding: min(1.3020833333vw, 25px)
    }
}

/* .c-title-divider>*:before,
.c-title-divider>*:after {
    content: "";
    background-image: linear-gradient(to left, #fff 0%, transparent 80%);
    position: absolute;
    translate: 0 -50%;
    top: 50%;
    height: .5208333333vw;
    width: 19.7916666667vw
}

@media (min-width: 992px) {

    .c-title-divider>*:before,
    .c-title-divider>*:after {
        height: min(.2604166667vw, 5px)
    }
} */

@media (min-width: 992px) {

    .c-title-divider>*:before,
    .c-title-divider>*:after {
        width: min(9.8958333333vw, 190px)
    }
}

.c-title-divider>*:before {
    right: 100%
}

.c-title-divider>*:after {
    left: 100%;
    scale: -1 1
}

.c-title-info {
    margin-bottom: 2%
}

.c-title-info span {
    line-height: 1;
    display: inline-block
}

.c-title-info-flex {
    display: flex
}

.c-title-info-flex-aic {
    align-items: center
}

.c-title-info-flex-ais {
    align-items: flex-start
}

.c-title-info-title {
    font-size: 3.8541666667vw;
    font-weight: 700 !important
}

@media (min-width: 992px) {
    .c-title-info-title {
        font-size: min(1.9270833333vw, 37px)
    }
}

.c-title-info-title * {
    font-weight: 700 !important
}

.c-title-info-title-wrapper {
    text-align: center;
    margin-bottom: 8% !important;
    margin-top: 3%
}

.c-title-info-subtitle {
    font-size: 3.6458333333vw;
    font-weight: 700 !important
}

@media (min-width: 992px) {
    .c-title-info-subtitle {
        font-size: min(1.8229166667vw, 35px)
    }
}

.c-title-info-subtitle span {
    font-weight: 700 !important
}

.c-title-info-num {
    font-size: 3.6458333333vw;
    border: 2px solid #fff;
    padding: .5208333333vw 1.875vw .9375vw 2.0833333333vw;
    line-height: 1;
    display: inline-block;
    font-weight: 700 !important;
    margin-right: .5em
}

@media (min-width: 992px) {
    .c-title-info-num {
        font-size: min(1.8229166667vw, 35px)
    }
}

@media (min-width: 992px) {
    .c-title-info-num {
        padding-left: min(1.0416666667vw, 20px)
    }
}

@media (min-width: 992px) {
    .c-title-info-num {
        padding-right: min(.9375vw, 18px)
    }
}

@media (min-width: 992px) {
    .c-title-info-num {
        padding-bottom: min(.46875vw, 9px)
    }
}

@media (min-width: 992px) {
    .c-title-info-num {
        padding-top: min(.2604166667vw, 5px)
    }
}

.c-title-info-ps {
    font-size: 1.875vw;
    text-align: right;
    font-weight: 500 !important
}

@media (min-width: 992px) {
    .c-title-info-ps {
        font-size: min(.9375vw, 18px)
    }
}

.c-button {
    cursor: pointer;
    position: relative;
    overflow: hidden;
    border: 2px solid #fff;
    color: #fff;
    text-align: center;
    line-height: 1;
    letter-spacing: .1em;
    background-image: linear-gradient(0deg, #3eb0ff 68%, #85ccff);
    transition: filter .3s ease-in-out
}

.c-button span:nth-child(1) {
    position: relative;
    top: -.08em
}

.c-button:before {
    content: "";
    position: absolute;
    transition: left .3s ease-in-out
}

.c-button-square {
    display: block;
    padding: 2%;
    box-shadow: inset 0 0 2px #fff, 0 0 10px #fff;
    flex: 1 0 auto;
    font-size: 3.125vw
}

@media (min-width: 992px) {
    .c-button-square {
        font-size: 1.5625vw
    }
}

.c-button-square span {
    font-weight: 700;
    font-size: 4.6875vw
}

@media (min-width: 992px) {
    .c-button-square span {
        font-size: 2.34375vw
    }
}

.c-button-square:before {
    content: "";
    background-image: linear-gradient(0deg, transparent 0%, rgba(255, 255, 255, .3) 12%, rgba(255, 255, 255, .3) 20%, transparent 32%, transparent 40%, rgba(255, 255, 255, .3) 55%, rgba(255, 255, 255, .3) 85%, transparent 100%);
    background-repeat: repeat;
    height: 100%;
    width: 100%;
    transform: rotate(-45deg);
    left: 20%
}

.c-button-square:hover {
    filter: brightness(1.1)
}

.c-button-square:hover:before {
    left: -10%
}

.c-button-slash {
    display: block;
    padding: 2%;
    box-shadow: inset 0 0 2px #fff, 0 0 10px #fff;
    flex: 1 0 auto;
    font-size: 3.125vw
}

@media (min-width: 992px) {
    .c-button-slash {
        font-size: 1.5625vw
    }
}

.c-button-slash span {
    font-weight: 700;
    font-size: 4.6875vw
}

@media (min-width: 992px) {
    .c-button-slash span {
        font-size: min(2.34375vw, 45px)
    }
}

.c-button-slash:before {
    /* content: "";
    background-image: linear-gradient(0deg, transparent 0%, rgba(255, 255, 255, .5) 100%);
    background-repeat: repeat;
    height: 100%;
    width: 100%;
    transform: rotate(-45deg);
    left: 50% */
}

.c-button-slash:hover {
    filter: brightness(1.1)
}

.c-button-slash:hover:before {
    left: -10%
}

.c-button-login {
    display: block;
    box-shadow: 0 0 10px #fff, 0 0 20px #fff;
    padding: 3%;
    margin: 0 auto;
    font-weight: 500;
    font-size: 5.2083333333vw;
    width: 83.3333333333vw
}

@media (min-width: 992px) {
    .c-button-login {
        font-size: min(2.6041666667vw, 50px)
    }
}

@media (min-width: 992px) {
    .c-button-login {
        width: min(41.6666666667vw, 800px)
    }
}

.c-button-login:hover {
    filter: brightness(1.1)
}

.c-button-login:hover:before {
    left: -10%
}

.c-button-arrow {
    display: flex;
    justify-content: center;
    align-items: center
}

.c-button-arrow-wrapper {
    display: block;
    transform: rotate(-90deg) scale(.8);
    width: 5.4166666667vw;
    height: 4.0625vw
}

@media (min-width: 992px) {
    .c-button-arrow-wrapper {
        width: min(2.7083333333vw, 52px)
    }
}

@media (min-width: 992px) {
    .c-button-arrow-wrapper {
        height: min(2.03125vw, 39px)
    }
}

.c-button-arrow-wrapper .i-arrow {
    margin: 0;
    height: 100%;
    width: 100%
}

.c-list li {
    position: relative;
    padding-left: 1.5em;
    margin-bottom: 2%;
    text-align: justify
}

.c-list li:before {
    position: absolute
}

.c-list-bigDic li:before {
    content: "●";
    top: .25em;
    left: .25em;
    font-size: 80%
}

.c-list-no li:before {
    content: "";
    top: .25em;
    left: .25em;
    font-size: 80%
}

.c-list-num li {
    counter-increment: my-counter
}

.c-list-num li:before {
    content: counter(my-counter) ".";
    top: 0;
    left: 0;
    font-family: Commissioner, sans-serif;
    font-weight: 500
}

.c-list-parenthesesnNum li {
    counter-increment: my-counter
}

.c-list-parenthesesnNum li:before {
    content: "(" counter(my-counter) ")";
    top: 0;
    left: 0;
    font-family: Commissioner, sans-serif;
    font-weight: 500;
    width: 1.25em
}

.c-content-event-info {
    text-align: justify;
    color: #fff;
    margin: 0 auto 6%;
    width: 79.1666666667vw;
    font-size: 3.5416666667vw;
    filter: drop-shadow(-1px -1px 0 #338bdd) drop-shadow(1px -1px 0 #338bdd) drop-shadow(-1px 1px 0 #338bdd) drop-shadow(1px 1px 0 #338bdd) drop-shadow(0 .04em .4em rgba(42, 135, 218, .8))
}

@media (min-width: 992px) {
    .c-content-event-info {
        width: min(39.5833333333vw, 760px)
    }
}

@media (min-width: 992px) {
    .c-content-event-info {
        font-size: min(1.7708333333vw, 34px)
    }
}

.c-content-event-info-title {
    display: flex;
    align-items: center;
    white-space: nowrap;
    line-height: 1;
    margin-bottom: 2%;
    color: inherit;
    position: relative;
    font-size: 4.5833333333vw
}

@media (min-width: 992px) {
    .c-content-event-info-title {
        font-size: min(2.2916666667vw, 44px)
    }
}

/* .c-content-event-info-title:after {
    content: "";
    display: inline-block;
    width: 100%;
    background-color: #fff;
    margin-left: 4%;
    height: 2px
} */

.c-content-event-info-txt {
    font-weight: inherit;
    margin-bottom: 5%
}

.c-content-event-info-txt b {
    font-weight: 600
}

.c-content-event-info span {
    font-weight: 500;
    color: #f6d4a9
}

.c-content-event-info-ps {
    line-height: 1;
    text-indent: -.5rem;
    margin-left: .5rem;
    font-size: 2.0833333333vw
}

@media (min-width: 992px) {
    .c-content-event-info-ps {
        font-size: min(1.0416666667vw, 20px)
    }
}

@media (min-width: 414px) {
    .c-content-event-info-ps {
        text-indent: -1rem;
        margin-left: 1rem
    }
}

.c-content-event-info-ps+.v-content-event-info-ps {
    margin-top: 2%
}

.c-content-event-prize {
    text-align: center;
    position: relative;
    margin-top: 5%;
    margin-bottom: 10%
}

.c-content-event-prize img {
    width: 33.125vw
}

@media (min-width: 992px) {
    .c-content-event-prize img {
        width: 16.5625vw
    }
}

.c-content-btngroup {
    display: flex;
    margin-bottom: 6%
}

.c-content-deco {
    position: absolute;
    background-repeat: no-repeat;
    background-size: contain;
    z-index: -1
}

.c-content-deco-ribbon-01 {
    background-image: url(../images/deco/deco-ribbon-01.png);
    width: 15.5208333333vw;
    height: 5.2083333333vw
}

@media (min-width: 992px) {
    .c-content-deco-ribbon-01 {
        width: min(7.7604166667vw, 149px)
    }
}

@media (min-width: 992px) {
    .c-content-deco-ribbon-01 {
        height: min(2.6041666667vw, 50px)
    }
}

.c-content-deco-ribbon-02 {
    background-image: url(../images/deco/deco-ribbon-02.png);
    width: 19.0625vw;
    height: 8.0208333333vw
}

@media (min-width: 992px) {
    .c-content-deco-ribbon-02 {
        width: min(9.53125vw, 183px)
    }
}

@media (min-width: 992px) {
    .c-content-deco-ribbon-02 {
        height: min(4.0104166667vw, 77px)
    }
}

.c-content-deco-ribbon-03 {
    background-image: url(../images/deco/deco-ribbon-03.png);
    width: 16.875vw;
    height: 6.7708333333vw
}

@media (min-width: 992px) {
    .c-content-deco-ribbon-03 {
        width: min(8.4375vw, 162px)
    }
}

@media (min-width: 992px) {
    .c-content-deco-ribbon-03 {
        height: min(3.3854166667vw, 65px)
    }
}

.c-content-deco-ribbon-blur-01 {
    background-image: url(../images/deco/deco-ribbon-blur-01.png);
    width: 38.6458333333vw;
    height: 35.2083333333vw
}

@media (min-width: 992px) {
    .c-content-deco-ribbon-blur-01 {
        width: min(19.3229166667vw, 371px)
    }
}

@media (min-width: 992px) {
    .c-content-deco-ribbon-blur-01 {
        height: min(17.6041666667vw, 338px)
    }
}

.c-content-deco-ribbon-blur-02 {
    background-image: url(../images/deco/deco-ribbon-blur-02.png);
    width: 56.4583333333vw;
    height: 39.5833333333vw
}

@media (min-width: 992px) {
    .c-content-deco-ribbon-blur-02 {
        width: min(28.2291666667vw, 542px)
    }
}

@media (min-width: 992px) {
    .c-content-deco-ribbon-blur-02 {
        height: min(19.7916666667vw, 380px)
    }
}

.c-content-deco-ribbon-blur-03 {
    background-image: url(../images/deco/deco-ribbon-blur-03.png);
    width: 44.6875vw;
    height: 39.375vw
}

@media (min-width: 992px) {
    .c-content-deco-ribbon-blur-03 {
        width: min(22.34375vw, 429px)
    }
}

@media (min-width: 992px) {
    .c-content-deco-ribbon-blur-03 {
        height: min(19.6875vw, 378px)
    }
}

.c-content-deco-ribbon-group {
    background-image: url(../images/deco/deco-ribbon-group.png);
    width: 54.6875vw;
    height: 25.1041666667vw
}

@media (min-width: 992px) {
    .c-content-deco-ribbon-group {
        width: min(27.34375vw, 525px)
    }
}

@media (min-width: 992px) {
    .c-content-deco-ribbon-group {
        height: min(12.5520833333vw, 241px)
    }
}

.c-content-deco-ribbon-L {
    background-image: url(../images/deco/deco-ribbon-L.png);
    width: 41.6666666667vw;
    height: 15.3125vw
}

@media (min-width: 992px) {
    .c-content-deco-ribbon-L {
        width: min(20.8333333333vw, 400px)
    }
}

@media (min-width: 992px) {
    .c-content-deco-ribbon-L {
        height: min(7.65625vw, 147px)
    }
}

.c-content-deco-ripple {
    background-image: url(../images/deco/deco-ripple.png);
    width: 42.0833333333vw;
    height: 21.3541666667vw
}

@media (min-width: 992px) {
    .c-content-deco-ripple {
        width: min(21.0416666667vw, 404px)
    }
}

@media (min-width: 992px) {
    .c-content-deco-ripple {
        height: min(10.6770833333vw, 205px)
    }
}

#cursor-mouse {
    position: fixed;
    top: 0;
    left: 0;
    transform: translate(-50%, -50%);
    width: 50vw;
    height: 50vw;
    border-radius: 50%;
    pointer-events: none;
    background-color: #a8e0fe80;
    z-index: 999999999999;
    opacity: 0;
    transition: width .5s, height .5s, opacity .5s, background-color .5s !important
}

#cursor-mouse.init {
    width: 30px;
    height: 30px;
    opacity: 1
}

#cursor-mouse.active {
    width: 60px;
    height: 60px
}

body.active {
    overflow: hidden
}

#fla-lightbox {
    display: flex;
    justify-content: center;
    align-items: center;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    pointer-events: none;
    background-color: #000c;
    transition: all .5s
}

#fla-lightbox.active {
    opacity: 1;
    pointer-events: initial
}

#fla-lightbox.active .lightbox-frame {
    transform: none
}

#fla-lightbox .lightbox-frame {
    position: relative;
    background-color: #fff;
    transition: 1s;
    transform: translateY(100%)
}

#fla-lightbox .lightbox-block {
    display: none;
    opacity: 0;
    pointer-events: none;
    transition: all 1s
}

#fla-lightbox .lightbox-block.active {
    display: block;
    opacity: 1;
    pointer-events: initial
}

#lightbox-close {
    position: absolute;
    cursor: pointer;
    top: 2.0833333333vw;
    right: 2.0833333333vw;
    width: 6.25vw;
    height: 6.25vw
}

@media only screen and (min-width: 992px) {
    #lightbox-close {
        top: 1.0416666667vw;
        right: 1.0416666667vw;
        width: 3.125vw;
        height: 3.125vw
    }
}

#lightbox-close span {
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: .4166666667vw;
    background-color: #656565
}

@media only screen and (min-width: 992px) {
    #lightbox-close span {
        height: .2083333333vw
    }
}

#lightbox-close span:nth-of-type(1) {
    transform: translate(-50%, -50%) rotate(45deg)
}

#lightbox-close span:nth-of-type(2) {
    transform: translate(-50%, -50%) rotate(-45deg)
}

*[class*=swiper-button] {
    cursor: pointer;
    transition: all .3s ease-in-out
}

*[class*=swiper-button]:after {
    content: "";
    background-image: url(../images/sec05/sec05-arrow-carousel.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    width: 2.2916666667vw;
    height: 5vw
}

@media (min-width: 992px) {
    *[class*=swiper-button]:after {
        width: min(1.1458333333vw, 22px)
    }
}

@media (min-width: 992px) {
    *[class*=swiper-button]:after {
        height: min(2.5vw, 48px)
    }
}

*[class*=swiper-button]:hover {
    opacity: .5
}

.swiper {
    margin: 5.2083333333vw
}

@media (min-width: 992px) {
    .swiper {
        margin: min(2.6041666667vw, 50px)
    }
}

.swiper-wrapper {
    transition-property: transform;
    transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial)
}

.swiper-slide {
    transition-property: transform
}

.swiper-button-prev:after {
    scale: -1 1
}

.swiper {
    min-height: 15.625vw
}

@media (min-width: 992px) {
    .swiper {
        min-height: min(7.8125vw, 150px)
    }
}

.kv {
    position: relative;
    width: 100%;
    background-position: center;
    background-repeat: no-repeat;
    background-color: #2a87da;
    background-size: cover;
    height: 62.7083333333vw;
    background-image: url(../images/kv/kv-bg--mb.png)
}

@media (min-width: 992px) {
    .kv {
        height: 38.0208333333vw;
        background-image: url(../images/kv/kv-bg--pc.png)
    }
}

.kv>div {
    position: absolute;
    z-index: 0
}

.kv-logo {
    width: 26.0416666667vw;
    top: 10.9375vw;
    right: 26.0416666667vw
}

@media (min-width: 992px) {
    .kv-logo {
        width: 18.75vw;
        top: 3.90625vw;
        right: 20.7291666667vw
    }
}

.kv-title {
    letter-spacing: .1em;
    filter: drop-shadow(-1px -1px 0 #338bdd) drop-shadow(1px -1px 0 #338bdd) drop-shadow(-1px 1px 0 #338bdd) drop-shadow(1px 1px 0 #338bdd) drop-shadow(0 .04em .4em rgba(42, 135, 218, .8));
    font-size: 7.2916666667vw;
    right: 6.9791666667vw;
    top: 28.125vw
}

@media (min-width: 992px) {
    .kv-title {
        font-size: 5.4166666667vw;
        right: 5.625vw;
        top: 14.0625vw
    }
}

.kv-title * {
    font-size: inherit
}

.kv-date {
    padding: 0 .25em;
    font-weight: lighter;
    letter-spacing: .08em;
    filter: drop-shadow(-1px -1px 0 #338bdd) drop-shadow(1px -1px 0 #338bdd) drop-shadow(-1px 1px 0 #338bdd) drop-shadow(1px 1px 0 #338bdd) drop-shadow(0 .04em .4em rgba(42, 135, 218, .8));
    font-size: 3.75vw;
    right: 16.9791666667vw;
    top: 38.5416666667vw
}

@media (min-width: 992px) {
    .kv-date {
        font-size: 2.7083333333vw;
        right: 13.0208333333vw;
        top: 21.6145833333vw
    }
}

/* .kv-date:before,
.kv-date:after {
    content: "";
    width: 12.5vw;
    height: 2px;
    background-image: linear-gradient(to left, #fff 0%, transparent 80%);
    position: absolute;
    translate: 0 -50%;
    top: 50%
} */

@media (min-width: 992px) {

    .kv-date:before,
    .kv-date:after {
        width: 8.8541666667vw;
        height: 3px
    }
}

.kv-date:before {
    right: 100%
}

.kv-date:after {
    left: 100%;
    scale: -1 1
}

.kv-date>* {
    font-size: inherit
}

.kv-date>*:before {
    content: attr(data-text);
    position: absolute;
    -webkit-text-stroke: .04em #338bdd;
    z-index: -1;
    text-shadow: 0 .04em .12em rgba(10, 140, 191, .8)
}

.kv-cooperate {
    font-weight: lighter;
    display: flex;
    justify-content: center;
    align-items: center;
    white-space: nowrap;
    letter-spacing: .08em;
    line-height: 1;
    font-size: 3.125vw;
    top: 50vw;
    right: 9.6875vw
}

@media (min-width: 992px) {
    .kv-cooperate {
        font-size: 2.3958333333vw;
        right: 10.2083333333vw;
        top: 30.2083333333vw
    }
}

.kv-cooperate>* {
    margin: 0 1%;
    line-height: inherit;
    font-size: inherit;
    font-weight: inherit;
    flex: 0 0
}

.kv-cooperate img {
    height: 4.1666666667vw
}

@media (min-width: 992px) {
    .kv-cooperate img {
        height: 2.7083333333vw
    }
}

.kv-cooperate p {
    filter: drop-shadow(-1px -1px 0 #338bdd) drop-shadow(1px -1px 0 #338bdd) drop-shadow(-1px 1px 0 #338bdd) drop-shadow(1px 1px 0 #338bdd) drop-shadow(0 .04em .4em rgba(42, 135, 218, .8))
}

.sec01 .sec-arrow {
    font-size: 3.5416666667vw;
    text-align: center;
    letter-spacing: .15em
}

@media (min-width: 992px) {
    .sec01 .sec-arrow {
        font-size: min(1.7708333333vw, 34px)
    }
}

.sec01 .c-button-slash {
    width: 50%
}

.sec01 .c-title-txt-line {
    width: 41.4583333333vw;
    filter: drop-shadow(0 0 5px #fff) drop-shadow(0 0 5px #fff);
    margin: 0 .25em;
    position: relative;
    top: .25em
}

@media (min-width: 992px) {
    .sec01 .c-title-txt-line {
        width: min(20.7291666667vw, 398px)
    }
}

.sec02-prize-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 5%
}

.sec02-prize-495 {
    width: 33.75vw
}

@media (min-width: 992px) {
    .sec02-prize-495 {
        width: min(16.875vw, 324px)
    }
}

.sec02-prize-arrow {
    width: 16.6666666667vw;
    margin-left: -6%
}

@media (min-width: 992px) {
    .sec02-prize-arrow {
        width: min(8.3333333333vw, 160px)
    }
}

.sec02-prize-product {
    width: 31.3541666667vw
}

@media (min-width: 992px) {
    .sec02-prize-product {
        width: min(15.6770833333vw, 301px)
    }
}

.sec03 .c-content-btngroup {
    margin-top: 2%
}

.sec03 .c-content-btngroup a {
    margin-bottom: 0
}

.sec03 .c-button-slash {
    width: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-weight: 500;
    font-size: 4.375vw;
    height: 13.5416666667vw
}

@media (min-width: 992px) {
    .sec03 .c-button-slash {
        font-size: min(2.1875vw, 42px)
    }
}

@media (min-width: 992px) {
    .sec03 .c-button-slash {
        height: min(6.7708333333vw, 130px)
    }
}

.sec03 .c-button-slash img {
    height: 4.1666666667vw;
    margin-bottom: 3%;
    display: block
}

@media (min-width: 992px) {
    .sec03 .c-button-slash img {
        height: min(2.0833333333vw, 40px)
    }
}

.sec04 .sec-arrow>* {
    margin-bottom: 2%
}

.sec04-content {
    margin-bottom: 5%
}

.sec04-content-product {
    position: relative
}

.sec04-content-product img {
    width: 100vw
}

@media (min-width: 992px) {
    .sec04-content-product img {
        width: 100%
    }
}

.sec04-content-price {
    position: absolute;
    translate: -50% 0;
    left: 50%;
    bottom: 0;
    width: 71.25vw
}

@media (min-width: 992px) {
    .sec04-content {
        margin-bottom: 20px;
    }

    .sec04-content-price {
        width: min(35.625vw, 684px)
    }
}

.sec04-content-ps {
    text-align: center;
    font-size: 2.9166666667vw;
    padding: 2.2916666667vw
}

@media (min-width: 992px) {
    .sec04-content-ps {
        font-size: min(1.4583333333vw, 28px)
    }
}

@media (min-width: 992px) {
    .sec04-content-ps {
        padding: min(1.1458333333vw, 22px)
    }
}

.sec05 .c-title-txt-wrapper .c-title-txt-big {
    position: relative;
    padding-right: 7.2916666667vw
}

@media (min-width: 992px) {
    .sec05 .c-title-txt-wrapper .c-title-txt-big {
        padding-right: min(3.6458333333vw, 70px)
    }
}

.sec05 .c-title-txt-wrapper .c-title-txt-big:before {
    content: "";
    background-image: url(../images/sec05/sec05-arrow-step.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    position: absolute;
    top: calc(50% + .05em);
    translate: 0 -50%;
    right: 1.5625vw;
    width: 2.6041666667vw;
    height: 6.7708333333vw
}

@media (min-width: 992px) {
    .sec05 .c-title-txt-wrapper .c-title-txt-big:before {
        right: min(.78125vw, 15px)
    }
}

@media (min-width: 992px) {
    .sec05 .c-title-txt-wrapper .c-title-txt-big:before {
        width: min(1.3020833333vw, 25px)
    }
}

@media (min-width: 992px) {
    .sec05 .c-title-txt-wrapper .c-title-txt-big:before {
        height: min(3.3854166667vw, 65px)
    }
}

.sec05 .c-title-txt-wrapper .c-title-txt-big:last-child {
    padding-right: 0
}

.sec05 .c-title-txt-wrapper .c-title-txt-big:last-child:before {
    display: none
}

.sec05-line-30sec {
    position: relative
}

.sec05-line-btn {
    position: absolute;
    translate: -50% 0;
    left: 50%;
    width: 75vw;
    bottom: 5.2083333333vw;
    transition: scale .3s ease-in-out, filter .3s ease-in-out
}

.sec05-line-btn {
    width: 100%;
    padding: 0 9vw;
    bottom: 6vw;
}

@media (min-width: 992px) {
    .sec05-line-btn {
        width: min(37.5vw, 720px)
    }
}

@media (min-width: 992px) {
    .sec05-line-btn {
        bottom: min(2.6041666667vw, 50px)
    }
}

.sec05-line-btn:hover {
    scale: 1.1;
    filter: brightness(1.1)
}

.sec05-line-btn .c-button-arrow-wrapper {
    position: absolute;
    width: 6.7708333333vw;
    height: 9.5833333333vw;
    right: 8.3333333333vw;
    bottom: .8333333333vw
}

@media (min-width: 992px) {
    .sec05-line-btn .c-button-arrow-wrapper {
        width: min(3.3854166667vw, 65px)
    }
}

@media (min-width: 992px) {
    .sec05-line-btn .c-button-arrow-wrapper {
        height: min(4.7916666667vw, 92px)
    }
}

@media (min-width: 992px) {
    .sec05-line-btn .c-button-arrow-wrapper {
        right: min(4.1666666667vw, 80px)
    }
}

@media (min-width: 992px) {
    .sec05-line-btn .c-button-arrow-wrapper {
        bottom: min(.4166666667vw, 8px)
    }
}

.sec05-line-btn .c-button-arrow-wrapper .i-arrow {
    background-image: url(../images/icon-arrow--triple.png)
}

.sec05-stamp {
    background-image: url(../images/sec05/sec05-product-bg.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    height: 106vw;
}

@media (min-width: 992px) {
    .sec05-stamp {
        height: min(49.7916666667vw, 956px)
    }
}

.sec05-stamp-ps {
    font-size: 2.0833333333vw;
    width: 80%;
    margin: 0 auto;
    filter: drop-shadow(-1px -1px 0 #338bdd) drop-shadow(1px -1px 0 #338bdd) drop-shadow(-1px 1px 0 #338bdd) drop-shadow(1px 1px 0 #338bdd) drop-shadow(0 .04em .4em rgba(42, 135, 218, .8))
}

@media (min-width: 992px) {
    .sec05-stamp-ps {
        font-size: min(1.0416666667vw, 20px)
    }
}

@media (min-width: 992px) {
    .sec05-stamp-ps {
        width: min(41.6666666667vw, 800px)
    }
}

.sec05-carousel {
    margin-left: 2vw;
    margin-right: 2vw;
    margin-bottom: 0vw
}

@media (min-width: 992px) {
    .sec05-carousel {
        margin-left: min(3.6458333333vw, 70px)
    }
}

@media (min-width: 992px) {
    .sec05-carousel {
        margin-right: min(3.6458333333vw, 70px)
    }
}

@media (min-width: 992px) {
    .sec05-carousel {
        margin-bottom: min(2.0833333333vw, 40px)
    }
}

.sec05-carousel-item {
    padding: 2.0833333333vw
}

@media (min-width: 992px) {
    .sec05-carousel-item {
        padding: min(1.0416666667vw, 20px)
    }
}

.sec06-content {
    position: relative;
    padding: 5%;
    margin: 8% 8% 10%;
    border: 2px solid #fff;
    box-shadow: 0 0 10px #fff, 0 0 20px #fff;
    background-color: #fff3;
    font-size: 2.9166666667vw
}

@media (min-width: 992px) {
    .sec06-content {
        font-size: min(1.4583333333vw, 28px)
    }
}

.sec06-content-group {
    margin-bottom: 3%
}

.sec06-content-group li,
.sec06-content-group p,
.sec06-content-group span {
    font-weight: 300
}

.sec06-content-group h3,
.sec06-content-group h4,
.sec06-content-group h5 {
    color: inherit;
    font-size: inherit;
    font-weight: 700;
    margin-bottom: 2%
}

.sec06-content-group .c-title-info-flex {
    white-space: nowrap
}

.sec06-content-group .c-title-info {
    font-size: 3.75vw
}

@media (min-width: 992px) {
    .sec06-content-group .c-title-info {
        font-size: 1.875vw
    }
}

.sec06-content-group .c-title-subinfo {
    margin-top: -2%;
    white-space: nowrap
}

.sec06-content-date {
    display: inline-block;
    font-weight: 400;
    padding: 0 2%;
    margin-left: -1%
}

.sec06 .c-title-txt-line {
    width: 22.9166666667vw;
    position: relative;
    top: -.08em;
    padding: 0 .25em
}

@media (min-width: 992px) {
    .sec06 .c-title-txt-line {
        width: min(11.4583333333vw, 220px)
    }
}

.kv-date {
    background-color: #009fe8;
    filter: none;
    padding: 4px 10px;
    border-radius: 40px;
    top: 13.5vw;
    right: 5vw;
    box-shadow: 1px 1px 4px #a0e1ff,
        -1px -1px 4px #a0e1ff;
    font-weight: 500;
}

.kv-logo {
    width: 24vw;
    right: 1vw;
    top: 1vw;
}

@media (min-width: 992px) {
    .kv-logo {
        width: 12vw;
        right: 1vw;
        top: .5vw;
    }
}

.kv {
    background-image: url(../images/kv/kv-bg--mb.jpg)
}

.kv-title {
    width: 38%;
    top: 22.8vw;
}

.kv-cooperate {
    flex-wrap: wrap;
    gap: 2vw 0;
    width: 50vw;
    top: 45vw;
    right: 4vw;
}

@media (min-width: 992px) {
    .kv {
        height: 38.0208333333vw;
        background-image: url(../images/kv/kv-bg--pc.jpg)
    }

    .kv-title {
        width: auto;
        top: 18vw;
    }

    .kv-date {
        top: 11vw;
        padding: 0 4vw .5vw;
        font-size: 2.7083333333vw;
        right: 11vw;

    }

    .kv-cooperate {
        top: 28vw;
        right: 8vw;
        flex-wrap: nowrap;
        gap: 0;
        width: auto;
    }
}

.sec02 .c-title-tag {
    margin-top: 6vw;
}

.sec02 .c-title-txt {
    width: 88%;
    margin: 0 auto;
}

.sec02 .c-content-event-info-txt {
    font-size: 4.2vw;
    line-height: 1.6;
}

.sec02 .c-content-event-info {
    margin-top: 76vw;
    padding-bottom: 4vw;
}

.sec02 .c-content-event-info-txt b {
    line-height: 1.5;
}

.c-content-event-info-title {
    filter: drop-shadow(-1px -1px 0 #338bdd) drop-shadow(1px -1px 0 #338bdd) drop-shadow(-1px 1px 0 #338bdd) drop-shadow(1px 1px 0 #338bdd) drop-shadow(0 .04em .4em rgba(42, 135, 218, .8));
}

.sec02 .c-content-event-info-title {
    font-size: 6.2vw;
}

.c-content-event-info-txt {
    filter: drop-shadow(-1px -1px 0 #338bdd) drop-shadow(1px -1px 0 #338bdd) drop-shadow(-1px 1px 0 #338bdd) drop-shadow(1px 1px 0 #338bdd) drop-shadow(0 .04em .4em rgba(42, 135, 218, .8));
}

.sec02 .c-content-event-info-ps {
    line-height: 1.5;
    font-size: 3vw;
}

.sec02 .c-content-sm-txt {
    font-size: 3.7vw;
}

.sec01 .c-title-txt {
    width: 416px;
    margin: 20px auto 16px;
}

.c-content-event-info {
    margin-top: 64.5vw;
    width: 82vw;
    margin-bottom: 9vw;
}

.c-content-event-info-title {
    margin: 0 auto 4%;
    width: auto;
    display: block;
    text-align: center;
}

.c-content-event-info-txt {
    font-size: 4.3vw;
}

.sec01 .c-content-event-info-ps {
    font-size: 3vw;
    line-height: 1.5;
}

.sec01 .c-content-event-info-title {
    font-size: 6.2vw;
}

.sec05-line-30sec {
    padding: 0 3vw;
}

.sec05-title {

    background-color: #ffec18;
    color: #2f86c8;
    font-weight: 500;
    padding: .2vw 4vw;
    border-radius: 40px;
}

@media (min-width: 992px) {
    .sec02 .c-content-event-info-title {
        font-size: 40px;

    }

    .sec02 .c-content-event-info-ps {
        font-size: min(1.0416666667vw, 20px);
    }

    .sec01 .c-content-event-info-title {
        font-size: 40px;
    }

    .sec01 .c-content-event-info-ps {
        font-size: 20px;
    }

    .sec02 .c-content-event-info-txt {
        font-size: 26px;
        text-align: center;
        line-height: 1.67;
    }

    .sec02 .c-content-event-info {
        padding-bottom: 100px;
    }

    .sec05-title {

        background-color: #ffec18;
        color: #2f86c8;
        font-weight: 500;
        padding: 0 20px;
        border-radius: 40px;
        font-size: 40px;
    }

    .sec05-line-30sec {
        padding: 0 60px;
    }

    .sec01 .c-title-txt {
        width: 52%;
        margin: 2% auto 2%;
    }

    .sec02 .c-title-txt {
        width: 71%;
        margin: 2% auto 2%;
    }

    .sec02 .c-content-event-info {
        margin-top: 420px;
    }

    .sec02 .c-content-sm-txt {
        font-size: 26px;
    }

    .c-content-event-info {
        width: 800px;
        /* background: url(../images/sec01/sec01-text-box.png); */
        margin-top: 334px;
        margin-bottom: 0;
        padding: 50px 60px 60px;
        background-size: 100% 100%;
        background-repeat: no-repeat;
        filter: none;
    }
}

.c-content-event-info-txt {
    text-align: center;
    line-height: 1.7;
}

.fla-wrapper {
    background-color: #4AA2E6
}

/* ffec18 */

@media (min-width: 992px) {
    .fla-wrapper {
        width: 800px;
    }

    .c-content-event-info-title {
        margin: 0 auto 20px;
        /* width: 145px; */
    }

    .c-content-event-info-txt {
        font-size: 26px;
        text-align: center;
        line-height: 1.8;
        margin-bottom: 20px;
    }

    .c-content-event-info-ps {
        line-height: 1.5;
    }
}

.mt-0 {
    margin-bottom: 0;
}

.text-font-inherit {
    font-size: inherit;
}

.c-content-event-info-ps {
    text-align: center;
}

.c-content-event-blod {
    font-style: italic;
    font-weight: 700;
    color: #ffec18;
    font-size: 6vw;
}

.sec05-line-btn:hover {
    scale: 1.05;
}

.sec-arrow {
    padding-top: 6vw;

}

.kv-title {
    filter: none;
    text-shadow: 1px 1px 4px #0d7eb1;
}

.sec01 .c-button-slash {
    box-shadow: none;
}

.sec01 .c-button {
    background-image: url(../images/sec01/sec01-btn-box_05.png);
    border: none;
    background-size: 100% 100%;
    padding: 3vw 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1vw;
    height: 17.4vw;
    flex-direction: column;

}

.c-button-slash::after {
    position: absolute;
    content: "";
    display: block;
    left: 50%;
    height: calc(100% - 2px);
    transform: translateX(-50%);
    width: 100%;
    bottom: 0;
    background-color: #009fe8;
    border-radius: 20px;
    background: radial-gradient(circle at center bottom,
            /* 光源定位在顶部中心 → 形成上半圆 */
            rgba(157, 252, 255, 0.5) 0%,
            rgba(255, 255, 255, 0.1) 50%,
            transparent 85%);
    opacity: 0;
    transition: opacity 0.15s ease, top 0.15s ease;
    pointer-events: none;
}



.sec01 .c-content-btngroup {
    padding: 2vw 4vw;
    gap: 1.4vw;
    margin-bottom: 2%;

}



.sec03 .c-content-btngroup .c-button-slash {
    box-shadow: none;
}



.sec03 {
    background: url(../images/sec03/sec03-bg.jpg);
    background-repeat: no-repeat;
    background-size: 100% 100%;
    padding-bottom: 3vw;

}

.fla-wrapper {
    padding-top: 0;

}

.c-title-tag {
    width: 33vw;
}

.sec03 .c-title-divider h3 img {
    width: 60%;
}


.sec03 .c-content-btngroup .c-button {
    border: none;
    background-image: url(../images//sec01/sec01-btn-box_05.png);
    background-size: 100% 100%;
    padding: 3.8vw 0;
    height: 17.7vw;

}

.sec03 .c-title-divider h3 {
    padding: 0;
}

.sec03 .c-content-btngroup .c-button img {
    height: 6vw;
}

.sec03 .c-content-btngroup .c-button.--4 {
    background-image: url(../images/sec02/sec02-big-btn.png);
    height: 16.7vw;

    background-size: 100% 100%;
    font-size: 5vw;
}

.sec03 .c-title-divider h3 .sec03-title02 {
    margin-top: 4vw;
    width: 50%;
}

.sec03 .c-content-btngroup {
    padding: 0vw 4vw;
    gap: 1.4vw;
    margin-bottom: 0%;
}

.sec01 .i-arrow {
    margin-bottom: 4%;
}

.sec04-content-product .c-title-tag {
    width: 62vw;
    position: absolute;
    left: calc(50% - 62vw/2);
    top: 8vw;
}

.sec04-content-product .sec04-content-ps {
    position: absolute;
    bottom: 1.5vw;
    font-size: 1.25vw;
    width: 100%;
    left: 50%;
    transform: translateX(-50%);
    padding: .5vw 0;
    font-size: 3vw;
}

.sec05 {
    background: url(../images/sec05/sec05-bg-sp.jpg);
    background-size: 100% 100%;
    padding: 4vw 0 3vw;
}

.pc_show {
    display: none;
}

.sp_show {
    display: block;
}

.sec05-stamp>.c-title-txt h3 img {
    width: 54%;
}

.sec05-stamp>.c-title-txt {
    margin-top: 7vw;
    margin-bottom: 0;

}

.sec06 .c-title-txt h2 img {
    width: 38vw;
}

.sec05-stamp .c-button.--10 {
    box-shadow: none;
    border: none;
    filter: none;
    background: url(../images/sec05/sec05-login-btn.png);
    background-size: cover;
    background-repeat: no-repeat;
    width: 78%;
    font-size: 5vw;
    padding: 8% 3% 7%;
}

.sec05-stamp-ps {
    text-align: center;
    width: 100%;
    padding: 0 8vw;
    font-size: 3vw;
}

.sec06-content {
    box-shadow: none;
    border: none;
    color: #302e2d;
    background: url(../images/sec06/sec06-bg-pc.png);
    background-size: 100% 100%;
    background-repeat: no-repeat;
    margin: 8% 3% 10%;
    margin-top: 0;
    padding: 7vw 10vw;
}

.sec06-content-group {
    margin-bottom: 0;
}

.sec06-content-group .sec06-content-date,
.sec06-content-group .sec-text-inlineblock,
.sec06-content-group .sec-text-inline {
    font-size: 3.2vw;
    text-align: left;
}

.sec06-content-group .sec-text-inlineblock {
    margin-bottom: 0;
}

.sec06-content .c-title-info-title.--1 {
    padding: 1vw 2.4vw 1.2vw;
    background-color: #0d70b8;
    color: white;
    border-radius: 40px;
    font-size: 4vw;
    font-weight: 500 !important;
}

.sec06 .c-title-info-item {
    width: 100%;
    text-align: center;
    color: #0d70b8;
    line-height: 1.5;
    font-weight: 500 !important;
    font-size: 3.3vw;
}

.sec06 .c-title-info-item.--1 {
    margin-bottom: 3%;
    margin-top: 1%;
}

.sec06 .c-big-txt.--6 {
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-color: #ffec18;
    text-decoration-thickness: 8px;
    text-underline-offset: -4px;
    text-decoration-skip-ink: none;
}

.sec06 .c-title-info-item.--2 {
    margin-bottom: 3%;
    margin-top: 3%;
}

.c-title-info-title-wrapper {
    margin-bottom: 4% !important;
    margin-top: 6%;
}

.sec06-content .c-title-info-subtitle.--1 {
    padding: 1vw 2.4vw 1.2vw;
    background-color: #0d70b8;
    color: white;
    border-radius: 40px;
    font-size: 4vw;
    font-weight: 500 !important;

}

.sec06-content-group h3.--6 {
    text-align: center;
    margin-top: 7% !important;
    margin-bottom: 5% !important;
}

.sec06-content-group h5.c-item-h5 {
    font-size: 3.2vw;

}

.sec03-title01 {
    margin-top: 6vw;
}

.c-item-h5 {
    position: relative;
    margin-left: 2.4vw;
}

.sec06 .c-list li {
    font-size: 3.2vw;

}

.c-item-h5::before {
    position: absolute;
    background: url(../images//sec06/sec06-arrow-icon.png);
    background-repeat: no-repeat;
    width: 2vw;
    height: 2.4vw;
    content: "";
    left: -2.4vw;
    top: 50%;
    transform: translateY(-50%);
    background-size: 100% 100%;
}

.swiper {
    margin: 7vw;
}

.sec05-carousel .swiper {
    margin-top: 0;
    margin-bottom: 1%;

}

.sec05 .c-content-btngroup {
    margin-bottom: 0%
}

.sec06>.c-title-txt {
    margin-bottom: 0;
}

.c-button-slash {
    font-size: 3.8vw;
}

.c-button-slash span {
    font-size: 5vw;
}

.c-content-event-info-ps {
    filter: drop-shadow(-1px -1px 0 #338bdd) drop-shadow(1px -1px 0 #338bdd) drop-shadow(-1px 1px 0 #338bdd) drop-shadow(1px 1px 0 #338bdd) drop-shadow(0 .04em .4em rgba(42, 135, 218, .8));
}

@media (min-width: 992px) {
    .sec05 {

        padding: 0;
    }

    .sec01 .i-arrow {
        margin-bottom: 10px;
    }

    .c-button-slash {
        font-size: 20px;
        position: relative;
        overflow: hidden;
        border-radius: 20px;
    }

    .pc_show {
        display: block;
    }

    .sp_show {
        display: none;
    }

    .c-title-info-title-wrapper {
        margin-bottom: 8% !important;
        margin-top: 3%;
    }

    .sec01 .c-button-slash {
        box-shadow: none;
    }

    .sec01 .c-button {
        background-image: url(../images/sec01/sec01-btn-box.png);
        border: none;
        background-size: cover;
        padding: 2vw 0;

    }

    .sec03 .c-content-btngroup .c-button-slash {
        box-shadow: none;
    }

    .sec03 .c-content-btngroup .c-button {
        background-image: url(../images/sec01/sec01-btn-box.png);
        border: none;
        background-size: cover;
        padding: 2.4vw 4vw;

    }

    .sec01 .c-button-slash {
        box-shadow: none;
    }

    .c-content-event-blod {
        font-style: italic;
        font-weight: 700;
        color: #ffec18;
        font-size: 40px;
    }

    .sec01 .c-content-btngroup {
        gap: .4vw;
        padding: 0 2vw;
    }

    .sec01 .c-button {
        background-image: url(../images/sec01/sec01-btn-box_05.png);
        border: none;
        background-size: cover;
        padding: 0;
        height: 107px;
        width: 50%;
        display: flex;
        align-items: center;
        flex-direction: column;
        justify-content: center;
    }

    .sec03 {
        background: url(../images/sec03/sec03-bg-pc2.png);
        background-repeat: no-repeat;
        padding-bottom: 10px;
        background-size: 100% 100%;
    }

    .sec03 .c-content-btngroup .c-button-slash {
        box-shadow: none;
    }

    .sec03 .c-content-btngroup {
        gap: 8px;
    }

    .sec03 .c-title-divider h3 .sec03-title02 {
        margin-top: 6px;
        width: 56%;
    }

    .sec03 .c-title-divider h3 {
        padding: 0;
    }

    .sec03 .c-title-divider h3 img {
        width: 60%;
    }

    .sec03-title01 {
        margin-top: 20px;
    }

    .sec03-title02 {
        margin-top: 1vw;
    }

    .sec03 .c-content-btngroup .c-button {
        background-image: url(../images/sec01/sec01-btn-box_05.png);
        border: none;
        background-size: cover;
        width: 50%;
        height: 107px;
        padding: 0;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 6px;
        justify-content: center;
    }

    .sec03 .c-content-btngroup {
        padding: 0 102px;
        justify-content: space-between;
        margin-bottom: 0;
    }

    .sec03 .c-content-btngroup .c-button img {
        height: 32px;
        object-fit: cover;
    }

    .sec-arrow {
        padding-top: 50px;
        height: 174px;

    }

    .sec03 .c-content-btngroup .c-button.--3 {
        font-size: 23.5px;
        width: 50%;
        height: 107px;
        line-height: 6.5vw;
    }

    .sec03 .c-content-btngroup .c-button.--4 {
        font-size: 28px;
        width: calc(100% + 8px);
        background-image: url(../images/sec02/sec02-big-btn.png);
        background-size: 100% 100%;
        height: 107px;
        line-height: 6.5vw;
    }

    .sec05-stamp-ps {
        text-align: center;
        padding: 0;
        width: 100%;
        font-size: min(1.0416666667vw, 20px);
    }

    .sec05 .c-content-btngroup .c-button {
        font-size: 23.5px;
        width: 100%;
        background-image: url(../images/sec02/sec02-big-btn.png);
        background-size: 100% 100%;
        height: 107px;
        line-height: 6.5vw;
        border: none;
        box-shadow: none;
    }

    .c-title-tag {
        width: 190px;
    }

    .sec01 .c-title-tag {
        margin-top: 0;
        margin-bottom: 0;
    }

    .sec02 .c-title-tag {
        margin-top: 90px;
    }

    .fla-wrapper {
        padding-top: 0;
        transform: translateY(-min(3.3854166667vw, 65px));

    }

    .sec05-line-btn {
        width: 100%;
        padding: 0 100px;
        bottom: 40px;
    }

    .sec05-line-btn a {
        width: 100%;
    }

    .sec05 .c-content-btngroup {
        padding: 0;
        margin-bottom: 0%
    }

    .sec04-content-product .c-title-tag {
        width: min(20.7291666667vw, 398px);
        position: absolute;
        left: calc(50% - min(20.7291666667vw, 398px)/2);
        top: 4%;
    }

    .sec04-content-product .sec04-content-ps {
        position: absolute;
        bottom: 2.6%;
        font-size: 20px;
        width: 100%;
        left: 50%;
        transform: translateX(-50%);
        padding: 8px 0;
    }

    .sec04-content-ps>p {
        filter: drop-shadow(-1px -1px 0 #338bdd) drop-shadow(1px -1px 0 #338bdd) drop-shadow(-1px 1px 0 #338bdd) drop-shadow(1px 1px 0 #338bdd) drop-shadow(0 .04em .4em rgba(42, 135, 218, .8));

    }

    .sec04-content-product .sec04-content-ps.--2 {
        bottom: 4%;

    }

    .sec03 .c-button.--5 {
        font-size: 23.5px;
    }

    .sec04-content-product .sec04-content-ps.--2>p {
        filter: drop-shadow(-1px -1px 0 #338bdd) drop-shadow(1px -1px 0 #338bdd) drop-shadow(-1px 1px 0 #338bdd) drop-shadow(1px 1px 0 #338bdd) drop-shadow(0 .04em .4em rgba(42, 135, 218, .8));
    }

    .sec01 .c-content-btngroup {
        padding: 0 102px;
        margin-bottom: 0;
    }

    .sec05-stamp>.c-title-txt h3 img {
        width: 54%;
    }

    .sec05-stamp>.c-title-txt {
        margin-top: 50px;
        margin-bottom: 0;

    }

    .sec05-stamp .c-button.--10 {
        background: url(../images/sec05/sec05-login-btn.png);
        background-size: cover;
        background-repeat: no-repeat;
        width: 370px;
        padding: 20px;
    }

    .sec05-carousel .swiper {
        margin-top: 0;
        margin-bottom: 1%;
        margin-left: 30px;
        margin-right: 30px;
    }

    .sec05-carousel {
        margin-bottom: 0;

    }

    .sec06-content {
        padding: 6% 8%;
        margin: 8% 8% 10%;
    }

    .sec06 .c-title-txt h2 img {
        width: 250px;
    }

    .sec06>.c-title-txt {
        margin-bottom: 0;
    }

    .sec06-content {
        box-shadow: none;
        border: none;
        color: #302e2d;
        background: url(../images/sec06/sec06-bg-pc.png);
        background-size: 100% 100%;
        background-repeat: no-repeat;
        margin-top: 0;

    }

    .sec06-content-group {
        margin-bottom: 0%;
    }

    .sec06-content-group.c-mb-3 {
        margin-bottom: 3%;
    }

    .sec06-content .c-title-info-title.--1 {
        padding: 5px 22px;
        background-color: #0d70b8;
        color: white;
        border-radius: 40px;
        font-size: 24px;
        font-weight: 500 !important;

    }

    .sec06-content .c-title-info-subtitle.--1 {
        padding: 5px 22px;
        background-color: #0d70b8;
        color: white;
        border-radius: 40px;
        font-size: 24px;
        font-weight: 500 !important;

    }


    .sec06 .c-title-info-item {
        width: 100%;
        text-align: center;
        color: #0d70b8;
        line-height: 1.5;
        font-weight: 500 !important;
        font-size: 1.3vw;

    }

    .sec06 .c-title-info-item.--1 {
        margin-bottom: 10px;
        margin-top: 5px;
        font-size: 20px;

    }

    .sec06 .c-title-info-item.--3 {
        margin-bottom: 10px;
        margin-top: 5px;
        font-size: 20px;

    }

    .sec06 .c-title-info-item.--2 {
        margin-bottom: 10px;
        margin-top: 10px;
        font-size: 20px;
    }

    .sec06 .c-title-info-title-wrapper {
        margin-bottom: 5% !important;

    }

    .sec06-content-group h3.--6 {
        text-align: center;
        margin-top: 7% !important;

        margin-bottom: 4.4% !important;
    }

    .sec06-content-group .sec06-content-date,
    .sec06-content-group .sec-text-inlineblock,
    .sec06-content-group .sec-text-inline {
        line-height: 1.5;
        font-size: 17.7px;
        text-align: left;
    }

    .swiper {
        margin: 5.2083333333vw
    }

    .sec06-content-group .sec-text-inlineblock {
        margin-bottom: 0;
    }

    .sec06 .c-big-txt.--6 {
        text-decoration-line: underline;
        text-decoration-style: solid;
        text-decoration-color: #ffec18;
        text-decoration-thickness: 8px;
        text-underline-offset: -4px;
        text-decoration-skip-ink: none;
    }



    .c-title-info-item.--2 {
        font-size: 1.6vw;
    }

    .sec06-content-group h5.c-item-h5 {
        font-size: 20px;

    }

    .c-item-h5 {
        position: relative;
        margin-left: 1.6vw;
    }

    .sec01 .c-button-slash {
        gap: 6px;
    }

    .sec01 .c-button-slash span {
        font-weight: 500;
        transition: .3s;
        font-size: 36px;
    }

    .sec01 .c-button-slash:hover {
        text-shadow:
            0 0 1px #ffffffd0,
            0 0 2px #ffffffd0;


    }

    .c-button-slash:hover::after {
        opacity: 1;
    }

    .sec05-stamp {
        height: 726px;
    }

    .c-item-h5::before {
        position: absolute;
        background: url(../images//sec06/sec06-arrow-icon.png);
        background-repeat: no-repeat;
        width: 16px;
        height: 18px;
        content: "";
        left: -20px;
        top: 50%;
        transform: translateY(-50%);
        background-size: 100% 100%;
    }

    .sec06 .c-list li {
        font-size: 18px;
        text-align: left;
    }
}

.sec-text-inline {
    display: inline;
}

.sec-text-inlineblock {
    display: inline-block;
}

.fla-body {
    background-color: #4AA2E6;
}

.sec04-content-product {
    position: relative;
}

.sec01 {
    background: url(../images/sec01/sec01-bg.jpg);
    background-size: 100% 100%;
    background-repeat: no-repeat;
}

.sec02 {
    background: url(../images/sec02/sec02-bg.jpg);
    background-size: 100%;
    background-repeat: no-repeat;
}

@media (min-width: 992px) {
    .sec01 {
        background: url(../images/sec01/sec01-bg-pc.jpg);
        background-size: 100%;
        background-repeat: no-repeat;
    }

    .sec02 {
        background: url(../images/sec02/sec02-bg-pc.jpg);
        background-size: 100%;
        background-repeat: no-repeat;
    }
}