@charset "UTF-8";.ovf_hidden {
    overflow: hidden
}

a {
    color: #111;
    text-decoration: none;
    -webkit-transition: .5s ease-out;
    transition: .5s ease-out
}

a.imgLink {
    display: block;
    width: 100%;
    height: 100%;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden
}

a.blocklink {
    display: block
}

a.blocklink:hover {
    opacity: .6
}

.hover {
    -webkit-transition: all .3s;
    transition: all .3s
}

.hover:hover {
    opacity: .9
}

.hover_scale {
    display: block;
    -webkit-transition: all .3s;
    transition: all .3s
}

.hover_scale:hover {
    transform: scale(1.05);
    -webkit-transform: scale(1.05)
}

img {
    max-width: 100%;
    height: auto;
    vertical-align: bottom
}

ul {
    list-style-type: none
}

.pc_only {
    display: inherit
}

.sp_only {
    display: none
}

.small {
    font-size: .85em
}

.big {
    font-size: 1.1em
}

.bold {
    font-weight: 700
}

.txt_vt {
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    -webkit-text-orientation: upright;
    text-orientation: upright
}

.white {
    color: #fff
}

.red {
    color: #ce2e2e
}


.bg_black {
    background: #000;
    -webkit-box-shadow: 0 0 45vmax 45vmax #000;
    box-shadow: 0 0 45vmax 45vmax #000
}

.bg_black::after {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: .01px;
    height: .01px;
    border-radius: 50%;
    -webkit-box-shadow: 0 0 80vw 80vw #9a9492;
    box-shadow: 0 0 80vw 80vw #9a9492;
    -webkit-animation: bg_black_hue 18s 0s linear infinite,bg_black_move 10s 0s linear infinite;
    animation: bg_black_hue 18s 0s linear infinite,bg_black_move 10s 0s linear infinite;
    opacity: .1;
    z-index: 1
}

@-webkit-keyframes bg_black_hue {
    0% {
        -webkit-filter: hue-rotate(-5deg);
        filter: hue-rotate(-5deg)
    }

    100% {
        -webkit-filter: hue-rotate(8deg);
        filter: hue-rotate(8deg)
    }
}

@keyframes bg_black_hue {
    0% {
        -webkit-filter: hue-rotate(-5deg);
        filter: hue-rotate(-5deg)
    }

    100% {
        -webkit-filter: hue-rotate(8deg);
        filter: hue-rotate(8deg)
    }
}

@-webkit-keyframes bg_black_move {
    0% {
        top: 220vh;
        left: 40vw;
        opacity: .3
    }

    25% {
        left: 80vw;
        opacity: .2
    }

    50% {
        top: -20vh;
        opacity: 0
    }

    75% {
        left: -30vw;
        opacity: .2
    }

    100% {
        top: 220vh;
        left: 40vw;
        opacity: .3
    }
}

@keyframes bg_black_move {
    0% {
        top: 220vh;
        left: 40vw;
        opacity: .3
    }

    25% {
        left: 80vw;
        opacity: .2
    }

    50% {
        top: -20vh;
        opacity: 0
    }

    75% {
        left: -30vw;
        opacity: .2
    }

    100% {
        top: 220vh;
        left: 40vw;
        opacity: .3
    }
}

input,select,textarea {
    max-width: 100%;
    border: 2px solid #676767;
    padding: .5rem 2rem;
    font-size: 16px
}

::-webkit-input-placeholder {
    color: #aaa;
    font-size: .8em
}

::-moz-placeholder {
    color: #aaa;
    font-size: .8em
}

:-ms-input-placeholder {
    color: #aaa;
    font-size: .8em
}

::-ms-input-placeholder {
    color: #aaa;
    font-size: .8em
}

::placeholder {
    color: #aaa;
    font-size: .8em
}

input,select {
    height: 6.2rem
}

.input-small {
    width: 23.5rem
}

.input-small02 {
    width: 19rem
}

.selectWrap {
    position: relative;
    display: inline-block
}

.selectWrap::before {
    content: '';
    position: absolute;
    right: 1.8rem;
    top: 50%;
    width: 1.3rem;
    height: .7rem;
  /*  background: url(../../Images/magia_lp_gp120x/img/common/select_arrow.png) center center no-repeat; */
    background-size: contain;
    transform: translate(0,-50%);
    -webkit-transform: translate(0,-50%)
}

textarea {
    width: 100%;
    height: 24rem;
    padding-top: 1rem;
    padding-bottom: 1rem;
    line-height: 1.6
}

.separate {
    display: inline-block;
    width: 1rem;
    height: 2px;
    background: #6f6f6f
}

.error_message {
    width: 100%;
    margin-top: .4rem;
    color: #ce2e2e;
    font-size: .82em;
    line-height: 1.8
}

.page_link {
    display: block;
    margin-top: -7rem;
    padding-top: 7rem
}

@media screen and (max-width: 768px) {
    .pc_only {
        display:none
    }

    .sp_only {
        display: inherit
    }

    .bg_black {
        -webkit-box-shadow: 0 0 60vmax 60vmax #000;
        box-shadow: 0 0 60vmax 60vmax #000
    }

    .bg_black::after {
        border-radius: 50%;
        -webkit-box-shadow: 0 0 1000vw 1000vw #9a9492;
        box-shadow: 0 0 1000vw 1000vw #9a9492
    }

    input,select {
        padding-top: .1rem;
        padding-bottom: .1rem
    }

    .input-small {
        width: 18.5rem
    }

    .input-small02 {
        width: 11rem
    }

    select {
        width: auto!important;
        padding-right: 4rem
    }
}

.common_tit {
    position: relative;
    max-width: 81.7rem;
    display: table;
    margin: 0 auto 6rem;
    color: #ffffb0;
    font-size: 3.9rem;
    text-align: center;
    font-weight: 300;
    white-space: nowrap
}

.common_tit.sc_animation span:first-child {
    opacity: 0;
    transform: translate(100%,0);
    -webkit-transform: translate(100%,0)
}

.common_tit.sc_animation span:last-child {
    opacity: 0;
    transform: translate(-100%,0) scale(-1,1);
    -webkit-transform: translate(-100%,0) scale(-1,1)
}

.common_tit.sc_animation.is-animated span:first-child {
    opacity: 1;
    transform: translate(0,0);
    -webkit-transform: translate(0,0)
}

.common_tit.sc_animation.is-animated span:last-child {
    opacity: 1;
    transform: translate(0,0) scale(-1,1);
    -webkit-transform: translate(0,0) scale(-1,1)
}

.common_tit span {
    display: table-cell;
    vertical-align: middle;
    letter-spacing: .15em
}

.common_tit span:first-child,.common_tit span:last-child {
    width: 50%;
    height: 5.2rem;
  /*  background: url(../../Images/magia_lp_gp120x/img/common/deco_arrow.svg) left center no-repeat;*/
    background-size: 30.6rem;
    -webkit-transition: all 1.3s;
    transition: all 1.3s
}

.common_tit span:nth-child(2) {
    padding: 0 .5em
}

.common_tit span:last-child {
    transform: scale(-1,1);
    -webkit-transform: scale(-1,1)
}

.common_tit.type02 span:first-child,.common_tit.type02 span:last-child {
/*    background-image: url(../../Images/magia_lp_gp120x/img/common/deco_arrow02.svg)*/
}

.common_deco_border {
    position: absolute;
    left: 50%;
    top: 0;
    width: 102.1rem;
    height: 2.5rem;
 /*   background: url(../../Images/magia_lp_gp120x/img/common/deco_border.svg) center center no-repeat;*/
    background-size: contain;
    transform: translate(-50%,-50%);
    -webkit-transform: translate(-50%,-50%)
}

.common_deco_border02 {
    position: absolute;
    left: 50%;
    top: 2.4rem;
    width: 102.1rem;
    height: 2.5rem;
 /*   background: url(../../Images/magia_lp_gp120x/img/common/deco_border02_reverse.svg) center center no-repeat;*/
    background-size: contain;
    transform: translate(-50%,-50%);
    -webkit-transform: translate(-50%,-50%);
    -webkit-transition: all .8s;
    transition: all .8s
}

.common_deco_border02.sc_animation:not(.is-animated) {
    width: 0
}

.common_deco_border02.reverse {
    /*-image: url(../../Images/magia_lp_gp120x/img/common/deco_border02.svg)*/
}

.common_deco_circle {
    position: absolute;
    right: -10rem;
    top: 3rem;
    width: 26rem;
    height: 26rem;
   /* background: url(../../Images/magia_lp_gp120x/img/common/deco_circle.svg) center center no-repeat;*/
    background-size: contain;
    z-index: -1
}

@media screen and (max-width: 768px) {
    .common_tit {
        max-width:60rem;
        margin: 0 auto 2.5rem;
        font-size: 3.5rem
    }

    .common_tit span {
        letter-spacing: .1em
    }

    .common_tit span:first-child,.common_tit span:last-child {
        height: 3rem;
        background-size: 13.5rem
    }

    .common_deco_border {
        width: 90%;
        background-size: 74rem
    }

    .common_deco_border02 {
        width: 90%;
        height: 2rem;
        background-size: 55rem
    }
}

.body_overlay {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    display: none;
    background: #fff;
    opacity: .6;
    z-index: 2
}

.body_overlay.open {
    display: block
}

.modal_btn {
    cursor: pointer
}

.modal {
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    display: none;
    padding: 5rem 3rem 3rem;
    z-index: 20;
    overflow-y: auto
}

.modal.open {
    display: -webkit-box!important;
    display: -ms-flexbox!important;
    display: -webkit-flex!important;
    display: flex!important;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center
}

.modal .modal_inner {
    position: relative;
    padding: 3rem
}

.modal .modal_close {
    position: absolute;
    right: 2rem;
    top: 2rem;
    display: block;
    width: 3.6rem;
    height: 3.6rem;
  /*  background: rgba(255,255,255,.8);*/
    border: 1px solid #010101;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    z-index: 1;
    transform: translate(50%,-50%);
    -webkit-transform: translate(50%,-50%);
    cursor: pointer
}

.modal .modal_close:hover {
    background: #ccc
}

.modal .modal_close::after,.modal .modal_close::before {
    content: '';
    position: absolute;
    left: 50%;
    top: 50%;
    width: 50%;
    height: 1px;
    background: #ffffff;
    transform: translate(-50%,-50%) rotate(45deg);
    -webkit-transform: translate(-50%,-50%) rotate(45deg)
}

.modal .modal_close::after {
    transform: translate(-50%,-50%) rotate(-45deg);
    -webkit-transform: translate(-50%,-50%) rotate(-45deg)
}

.deco_wrap {
    position: relative;
    z-index: 1
}
