#key:before {
    background: url(../img/party/key.png) no-repeat center bottom / cover
}

#point {
    padding: 27px 0 0;
    font-size: 15px;
    line-height: 36px;
    color: #000
}

#point .poa {
    position: absolute!important
}

#point .g1 {
    margin-bottom: 33px
}

#point .g1 h2 {
    margin-left: 37px;
    margin-bottom: 59px;
    position: relative
}

#point .g1 h2:before {
    content: "";
    position: absolute;
    background: url(../img/party/ph2deco.png) no-repeat;
    width: 284px;
    height: 297px;
    top: 119px;
    right: -70px;
    z-index: 2
}

#point .g1 h2:after {
    content: "";
    position: absolute;
    background: url(../img/party/p01deco.png) no-repeat;
    width: 384px;
    height: 250px;
    top: 47px;
    left: -155px
}

#point .g1 h2 img {
    position: relative;
    z-index: 1
}

#point .g1 .t1 {
    width: 457px;
    margin-left: 278px;
    position: relative;
    z-index: 1
}

#point .g1 .p1 {
    top: 286px;
    left: -71px
}

#point .g1 .p2 {
    top: 540px;
    left: 62px
}

#point .g2 {
    margin-bottom: 50px
}

#point .g2 .info {
    width: 618px;
    margin-bottom: 76px;
    margin-right: -69px;
    position: relative
}

#point .g2 .info:before {
    content: "";
    position: absolute;
    background: url(../img/party/pbox01bg.png) no-repeat;
    left: 0;
    right: 0;
    top: -163px;
    bottom: -120px
}

#point .g2 .info>* {
    position: relative;
    z-index: 1
}

#point .g2 .info h3 {
    text-align: center;
    margin-bottom: 38px
}

#point .g2 .info .t {
    width: 372px;
    margin: 0 auto 29px
}

#point .g2 .info .btr {
    margin-left: 49px
}

#point .g2 .info .l {
    top: -201px;
    right: -29px
}

#point .g2 .i1 {
    margin: 227px -100px 0 -133px
}

#point .g2 .i2 {
    position: relative
}

#point .g2 .i2:before {
    content: "";
    position: absolute;
    background: url(../img/party/p02deco.png) no-repeat;
    width: 507px;
    height: 316px;
    top: 153px;
    right: -256px
}

#point .g3 {
    margin-bottom: -76px
}

#point .g3 .info {
    width: 391px;
    margin-left: 322px;
    min-height: 361px;
    position: relative;
    z-index: 3
}

#point .g3 .info:before {
    content: "";
    position: absolute;
    background: url(../img/party/pbox02bg.png) no-repeat;
    left: 0;
    right: 0;
    bottom: 0;
    top: -85px
}

#point .g3 .info>* {
    position: relative;
    z-index: 1
}

#point .g3 .l {
    top: -173px;
    left: -44px
}

#point .g3 h3 {
    text-align: center;
    margin-bottom: 23px
}

#point .g3 .t {
    width: 255px;
    margin: 0 auto
}

#point .g3 .i1 {
    top: -175px;
    left: 3px
}

#point .g3 .i2 {
    top: 33px;
    left: calc(50% - 200px);
    z-index: 2
}

#point .g4 {
    margin-bottom: 43px
}

#point .g4 .info {
    width: 425px;
    min-height: 390px;
    margin-left: -50px;
    position: relative
}

#point .g4 .info:before {
    content: "";
    position: absolute;
    background: url(../img/party/pbox03bg.png) no-repeat;
    left: 0;
    right: 0;
    bottom: 0;
    top: -97px
}

#point .g4 .info h3 {
    text-align: center;
    margin-bottom: 22px
}

#point .g4 .info .t {
    width: 317px;
    margin: 0 auto;
    color: #fff
}

#point .g4 .info>* {
    position: relative;
    z-index: 1
}

#point .g5 {
    padding-bottom: 115px
}

#point .g5 .info {
    width: 598px;
    margin-right: -84px;
    min-height: 413px;
    position: relative
}

#point .g5 .info:before {
    content: "";
    position: absolute;
    background: url(../img/party/pbox04bg.png) no-repeat;
    left: 0;
    right: 0;
    bottom: -135px;
    top: -137px
}

#point .g5 .info h3 {
    text-align: center;
    margin-bottom: 20px
}

#point .g5 .info .t {
    width: 324px;
    margin: 0 auto 30px
}

#point .g5 .info .btr {
    margin-left: 79px
}

#point .g5 .info>* {
    position: relative;
    z-index: 1
}

#point .g5 .info .l {
    bottom: -52px;
    left: -129px
}

#point .g5 .i {
    top: -103px;
    left: -169px
}

#course {
    background: url(../img/shared/line3.jpg) repeat-x center top, url(../img/party/cpattern.jpg) repeat center top;
    padding: 96px 0 62px;
    font-size: 15px;
    line-height: 36px;
    position: relative;
    color: #000
}

#course:before {
    content: "";
    position: absolute;
    background: url(../img/party/cimg.jpg) no-repeat center / cover;
    top: 319px;
    left: 0;
    height: 598px;
    width: calc(50% + 126px)
}

#course:after {
    content: "";
    position: absolute;
    background: url(../img/party/cdeco.png) no-repeat;
    width: 471px;
    height: 258px;
    top: 245px;
    left: calc(50% + 197px)
}

#course .wrap {
    z-index: 1;
}

#course .row {
    margin: 0 -20px
}

#course .row .col-6 {
    padding: 0 20px
}

#course .h {
    text-align: center;
    margin-bottom: 132px;
    position: relative
}

#course .h:before {
    content: "";
    position: absolute;
    background: url(../img/party/cdecos.png) no-repeat;
    width: 297px;
    height: 252px;
    left: 79px;
    top: -51px
}

#course .h h2 {
    margin-bottom: 10px
}

#course .h * {
    position: relative;
    z-index: 1
}

#course .mb {
    margin-bottom: 40px
}

#course .pt {
    padding-top: 577px!important
}

#course .box {
    background: url(../img/party/cboxpattern.jpg) repeat center top;
    padding: 70px 35px 63px;
    position: relative;
    color: #000
}

#course .box .ts {
    font-size: 14px;
    line-height: 30px;
    margin-bottom: 25px
}

#course .box li {
    font-size: 17px;
    line-height: 36px;
    margin-left: 70px;
    font-weight: bold;
}

#course .box .label {
    position: absolute;
    top: -178px;
    right: -13px
}

#course .box.s {
    position: relative
}

#course .box.s:after {
    content: "";
    position: absolute;
    background: url(../img/party/cdeco2.png) no-repeat;
    width: 367px;
    height: 360px;
    bottom: -286px;
    left: 234px;
    z-index: 1
}

#course .g:before {
    content: "";
    position: absolute;
    background: url(../img/party/cdeco1.png) no-repeat;
    width: 509px;
    height: 277px;
    left: -150px;
    bottom: 32px
}

#course .price {
    font-size: 38px;
    line-height: 38px;
    font-weight: bold;
    text-align: center;
    margin: 0 auto 50px;
    color: #552814;
    position: relative
}

#course .price:before {
    content: "";
    position: absolute;
    background: #ada69b;
    left: 0;
    right: 0;
    height: 6px;
    bottom: -28px
}

#course .price:after {
    content: "";
    position: absolute;
    background: url(../img/party/deco.jpg) no-repeat;
    width: 17px;
    height: 18px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    left: 10px
}

#course .price span {
    font-size: 24px
}

#course .l {
    font-size: 20px;
    line-height: 20px;
    color: #552814;
    text-align: center;
    margin-bottom: 23px;
    font-weight: bold
}

#free {
    background: url(../img/shared/line3.jpg) repeat-x center top, url(../img/party/fpatternx.jpg) repeat-x center bottom, url(../img/party/fpattern.jpg) repeat center bottom;
    padding: 64px 0 87px;
    position: relative
}

#free:before {
    content: "";
    position: absolute;
    background: #381e17;
    bottom: 0;
    left: 0;
    right: 0;
    height: 8px
}

#free h2 {
    margin: 0 -150px 12px
}

#free h3 {
    background: #563428;
    color: #e7d9d0;
    font-size: 18px;
    line-height: 34px;
    padding: 3px 0;
    text-align: center;
    margin-bottom: 19px;
    font-weight: bold
}

#free .h {
    font-size: 14px;
    line-height: 36px;
    font-weight: bold;
    margin-bottom: 53px;
    text-align: center
}

#free .h .t {
    text-align: center;
    margin-bottom: 14px
}

#free .row {
    margin: 0 - 17px;
}

#free .row .col-8,
#free .row .col-4 {
    padding: 0 17px;
}

#free .box+.box {
    margin-top: 30px
}

#free .row+.row {
    margin-top: 30px
}

#free .list li {
    padding-left: 20px;
    font-size: 14px;
    line-height: 34px;
    font-weight: normal
}

#free .list li:first-child {
    position: relative
}

#free .list li:first-child:before {
    content: "";
    position: absolute;
    background: #c9a35e;
    border-radius: 50%;
    width: 10px;
    height: 10px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    left: 0
}

#free .i {
    margin-left: 20px
}

#floor {
    padding: 92px 0 0;
    min-height: 800px;
    color: #000;
    position: relative
}

#floor:before {
    content: "";
    position: absolute;
    background: url(../img/access/fdeco.png) no-repeat;
    width: 1171px;
    height: 371px;
    top: 0;
    left: calc(50% - 443px)
}

#floor h2 {
    text-align: center;
    margin-bottom: 38px
}

#floor .g h3 {
    position: absolute;
    z-index: 3
}

#floor .g .t {
    font-size: 15px;
    line-height: 30px;
    padding-top: 12px
}

#floor .g .b {
    position: relative;
    z-index: 2
}

#floor .g1 .b1 {
    float: right;
    margin-right: 6px;
    margin-bottom: 27px
}

#floor .g1 .b2 {
    float: left;
    margin: 82px 0 0 -190px
}

#floor .g1 .b2 h3 {
    top: -27px;
    right: -251px
}

#floor .g1 .b2 .t {
    width: 202px;
    position: absolute;
    top: 123px;
    right: -235px
}

#floor .g1 .b3 {
    float: right;
    margin-right: -71px
}

#floor .g1 .b3 h3 {
    bottom: -24px;
    left: -35px
}

#floor .g2 {
    padding-top: 153px;
    position: relative
}

#floor .g2:before {
    content: "";
    position: absolute;
    background: url(../img/access/floor.png) no-repeat;
    width: 1191px;
    height: 1033px;
    top: -226px;
    left: -190px
}

#floor .g2 .b4 {
    margin-left: -129px;
    margin-bottom: 6px
}

#floor .g2 .b4 h3 {
    position: absolute;
    top: -282px;
    left: 129px
}

#floor .g2 .b4 .i {
    position: relative
}

#floor .g2 .b4 .i:before {
    content: "";
    position: absolute;
    background: url(../img/access/fdeco2.png) no-repeat;
    width: 483px;
    height: 245px;
    bottom: -132px;
    left: -114px
}

#floor .g2 .b5 {
    float: right;
    margin-right: -148px
}

#floor .g2 .b5 h3 {
    top: -34px;
    left: 0
}

#floor .g2 .b6 {
    float: left;
    margin: 83px 0 0 21px
}

#floor .g2 .b6 h3 {
    top: -38px;
    left: 0
}

.other {
    padding: 38px 0 78px;
}

.other .box {
    width: 1200px;
    margin: 0 -100px;
    text-align: center;
    padding-top: 60px;
    min-height: 340px;
    background: url(../img/party/btnbg.png) repeat center top
}

.other .btr {
    display: table;
    margin: 0 auto;
    position: relative
}

.other .btr:before {
    content: "";
    position: absolute;
    background: url(../img/party/btn_on.png) no-repeat;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    opacity: 0;
    -webkit-transition: all 0.4s ease;
    -o-transition: all 0.4s ease;
    transition: all 0.4s ease;
    z-index: 1
}

.other .btr:hover:before {
    opacity: 1
}

.other .btr:hover img {
    opacity: 0
}
