/* CSS Document */
@font-face {
    font-family: "hannari";
    src: url("fonts/hannari.woff") format("woff");
}

@font-face {
    font-family: "minamoto_l";
    src: url("fonts/minamoto_l.woff") format("woff");
}

#htlSide-A {
    top: 900px;
    padding-top: 0;
    left: 50%;
    margin-left: -600px;
    position: absolute;
}

div#RthCustomizeW{
    width: 100%;
}

/*  ブロックサイズ等    */
body {
    min-width: 100%;
}

body #htlContents,
#htlMainContent,
div#RthCustomize {
    margin: 0 0;
    max-width: none;
}

div#RthCustomize,
#htlMainContent {
    width: auto;
}

#htlBrdCrmbs,
#htlHeader {
    margin-left: 20px;
    width: auto;
}

/*#htlSide-A { display: none; }*/
#htlMainContent {
    float: none;
    display: block;
}

ul#RthExcursionArea li,
p#RthPagetop {
    padding: 20px;
}

#htlHeader ul li {
    box-shadow: none;
}

div#htlContents div#htlMainContent div div#trvlHtlSubNav ul {
    margin-bottom: 0;
}

div#htlContents div#htlMainContent div div#trvlHtlTabNav ul li div {
    z-index: 999 !important;
}

/*  楽天ヘッダー部背景色  */
#rtSiteHeader {
    background-color: #fff;
}

/*  上部施設名などの部分背景色   */
#htlHeader {
    background-color: transparent;
}

/* 予約検索ボックス */
body #dateInptBox {
    border: none;
}

a:hover {
    text-decoration: none;
    color: #1A1B21;
}


/*楽天用*/
.rt-header,
#htlBrdCrmbs,
#htlHeader {
    box-sizing: content-box;
}

.rt-header a,
#htlBrdCrmbs a,
#htlHeader a {
    box-sizing: content-box;
    -webkit-transition: none;
    -moz-transition: none;
    -o-transition: none;
    transition: none;
}

a:link {
    color: #fff;
}



html,
body {
    width: 100%;
}

body {
    color: #1A1B21;
    margin: 0 auto;
    font-family: "minamoto_l", "游明朝", "YuMincho", serif;
    background: url("../images/bg.jpg") repeat #f1f1f1;
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    -o-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

div#top {
    width: 100%;
}

div#top {
    color: #26190a;
    margin: 0 auto;
    font-family: "minamoto_l", "YuMincho", serif;
    background: url("../images/bg_main.jpg") repeat #ffffff;
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    -o-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

#RthCustomize .bn_coupon a.pagetop {
    text-align: center;
    display: block;
    width: 60px;
    height: 60px;
    position: relative;
    margin-top: 10px;
}

.mb0 {
    margin-bottom: 0px !important;
}

.mb5 {
    margin-bottom: 5px !important;
}

.mb10 {
    margin-bottom: 10px !important;
}

.mb15 {
    margin-bottom: 15px !important;
}

.pb0 {
    padding-bottom: 0px !important;
}

.pb10 {
    padding-bottom: 10px !important;
}

.p15 {
    padding: 0 15px !important;
}

.pt10 {
    padding-top: 10px !important;
}

.pt15 {
    padding-top: 15px !important;
}

.pt20 {
    padding-top: 20px !important;
}

.pt30 {
    padding-top: 30px !important;
}

.pt40 {
    padding-top: 40px !important;
}

.mb05em {
    margin-bottom: 0.5em !important;
}

.mb1em {
    margin-bottom: 1em !important;
}

.mb2em {
    margin-bottom: 2em !important;
}

.mb3em {
    margin-bottom: 3em !important;
}

.mb4em {
    margin-bottom: 4em !important;
}

.pb05em {
    padding-bottom: 0.5em !important;
}

.mr0 {
    margin-right: 0 !important;
}

li {
    list-style: none;
}

p {
    text-align: justify;
    -ms-text-justify: auto;
    text-justify: auto;
    text-justify: inter-ideograph;
}

img {
    vertical-align: bottom;
    max-width: 100%;
}

.noborder {
    border: none !important;
}

.nomargin {
    margin: 0 0 !important;
}

.ta_r {
    text-align: right;
}

.ta_c {
    text-align: center;
}

.cf:before,
.cf:after {
    content: "";
    display: table;
}

.cf:after {
    clear: both;
}

.cf {
    zoom: 1;
}

a {
    color: #1A1B21;
    text-decoration: none;
}



@media (min-width:751px) {

    .mb20 {
        margin-bottom: 20px !important;
    }

    .mb25 {
        margin-bottom: 25px !important;
    }

    .mb30 {
        margin-bottom: 30px !important;
    }

    .mb40 {
        margin-bottom: 40px !important;
    }

    .mb50 {
        margin-bottom: 50px !important;
    }

    .mb60 {
        margin-bottom: 60px !important;
    }

    .mb70 {
        margin-bottom: 70px !important;
    }

    .mb80 {
        margin-bottom: 80px !important;
    }

    .mb100 {
        margin-bottom: 100px !important;
    }

    .mb120 {
        margin-bottom: 120px !important;
    }

    .pt50 {
        padding-top: 50px !important;
    }

    .ls-1 {
        letter-spacing: -1px;
    }

    .ls-2 {
        letter-spacing: -2px;
    }

    .ls-3 {
        letter-spacing: -3px;
    }

    .ls-4 {
        letter-spacing: -4px;
    }

    a {
        -webkit-transition: 0.3s ease-in-out;
        -moz-transition: 0.3s ease-in-out;
        -o-transition: 0.3s ease-in-out;
        transition: 0.3s ease-in-out;
    }

    a img {
        -webkit-transition: 0.3s ease-in-out;
        -moz-transition: 0.3s ease-in-out;
        -o-transition: 0.3s ease-in-out;
        transition: 0.3s ease-in-out;
    }

    a:active,
    a:hover,
    a:hover img {
        opacity: 0.7;
    }

    .img_open {
        -moz-animation: imgfade 1s linear 0s 1 normal forwards;
        -webkit-animation: imgfade 1s linear 0s 1 normal forwards;
        -o-animation: imgfade 1s linear 0s 1 normal forwards;
        -ms-animation: imgfade 1s linear 0s 1 normal forwards;
    }

    .img_open.ih2 {
        -moz-animation: imgfade 1s linear 0.3s 1 normal forwards;
        -webkit-animation: imgfade 1s linear 0.3s 1 normal forwards;
        -o-animation: imgfade 1s linear 0.3s 1 normal forwards;
        -ms-animation: imgfade 1s linear 0.3s 1 normal forwards;
    }

    .img_open.ih3 {
        -moz-animation: imgfade 1s linear 0.6s 1 normal forwards;
        -webkit-animation: imgfade 1s linear 0.6s 1 normal forwards;
        -o-animation: imgfade 1s linear 0.6s 1 normal forwards;
        -ms-animation: imgfade 1s linear 0.6s 1 normal forwards;
    }

    .img_open.ih4 {
        -moz-animation: imgfade 1s linear 0.9s 1 normal forwards;
        -webkit-animation: imgfade 1s linear 0.9s 1 normal forwards;
        -o-animation: imgfade 1s linear 0.9s 1 normal forwards;
        -ms-animation: imgfade 1s linear 0.9s 1 normal forwards;
    }

    .img_open.ih5 {
        -moz-animation: imgfade 1s linear 1.2s 1 normal forwards;
        -webkit-animation: imgfade 1s linear 1.2s 1 normal forwards;
        -o-animation: imgfade 1s linear 1.2s 1 normal forwards;
        -ms-animation: imgfade 1s linear 1.2s 1 normal forwards;
    }

    .tel {
        position: absolute;
        bottom: 10px;
        left: 50%;
        margin-left: -600px;
    }


    body {
        font-size: 14px;
        line-height: 16px;
    }

    .wrap {
        position: relative;
    }

    #fnav {
        height: 60px;
        width: 100%;
        position: fixed;
        top: -60px;
        background: #000000;
        z-index: 10000;
        color: #ffffff;
        transition: 0.3s;
        top: 0;
        display: none;
    }

    #fnav #fnav_in {
        width: 1200px;
        margin: 0 auto;
    }

    #fnav .f_gnav {
        text-align: left;
    }

    #fnav .f_gnav li {
        display: inline-block;
        line-height: 60px;
    }

    #fnav .f_gnav li a {
        display: block;
        line-height: 60px;
        width: 110px;
        font-size: 13px;
        color: #ffffff;
        position: relative;
        text-align: center;
    }

    #fnav .f_gnav li a.gm0,
    #fnav .f_gnav li a.gm1,
    #fnav .f_gnav li a.gm2,
    #fnav .f_gnav li a.gm3,
    #fnav .f_gnav li a.gm4,
    #fnav .f_gnav li a.gm7,
    #fnav .f_gnav li a.gm8 {
        width: 80px;
    }

    #fnav .f_gnav li a:after {
        content: "";
        width: 0;
        height: 1px;
        background: #ffffff;
        position: absolute;
        bottom: 15px;
        left: 50%;
        margin-left: -50px;
        transition: 0.3s;
    }

    #fnav .f_gnav li a:hover:after,
    #fnav .f_gnav li a.active:after {
        width: 100px;
    }

    #fnav .f_gnav li a:hover {
        opacity: 1;
    }

    #fnav .f_gnav .pop_rsv a {
        display: block;
        text-align: center;
        border-bottom: #6d2c67 1px solid;
        width: 100px;
        height: 30px;
        line-height: 30px;
        text-align: center;
        padding: 0;
        margin-top: 15px;
    }

    #fnav .f_gnav .pop_rsv a:after {
        bottom: 0;
    }

    /*#fnav .f_sns li:nth-child(3) a { padding: 5px; }
    #fnav .f_sns li:nth-child(3) a img { width: 20px; }*/



    header {
        width: 100%;
        position: absolute;
        z-index: 10;
    }

    header .mainw {
        position: relative;
    }

    header h1 {
        position: absolute;
        left: -200px;
        width: 300px;
        top: 25px;
    }

    header h1 img {
        width: 100%;
    }



    #gnav {
        position: absolute;
        right: 50px;
        top: 30px;
        height: 150px;
    }

    .gnav {
        display: block;
        height: 150px;
        position: relative;
    }

    .gnav li {
        float: left;
        width: 28px;
        height: 150px;
        position: relative;
        margin-left: 35px;
    }

    /*.gnav li:after { content: ""; background: #333333; width: 1px; height: 26px; position: absolute; right: 0; top:0; }*/
    .gnav li a {
        display: block;
        width: 28px;
        height: 150px;
        font-size: 15px;
        font-weight: bold;
        text-decoration: none;
        padding-top: 30px;
        line-height: 28px;
        position: relative;
        overflow: hidden;
        text-indent: -200px;
    }

    .gnav li a:after {
        content: "";
        width: 1px;
        height: 0;
        position: absolute;
        right: 0;
        top: 0;
        background: #ffffff;
        transition: 0.3s;
    }

    .gnav li a:hover,
    .gnav li a:hover img {
        opacity: 1;
    }

    .gnav li a:hover:after,
    .gnav li a.active:after {
        height: 47px;
    }

    .gnav li a.gm0 {
        background: url("../images/gm00.png") center top no-repeat;
    }

    .gnav li a.gm1 {
        background: url("../images/gm01.png") center top no-repeat;
    }

    .gnav li a.gm2 {
        background: url("../images/gm02.png") center top no-repeat;
    }

    .gnav li a.gm3 {
        background: url("../images/gm03.png") center top no-repeat;
    }

    .gnav li a.gm4 {
        background: url("../images/gm04.png") center top no-repeat;
    }

    .gnav li a.gm5 {
        background: url("../images/gm05.png") center top no-repeat;
    }

    .gnav li a.gm6 {
        background: url("../images/gm06.png") center top no-repeat;
    }

    .gnav li a.gm7 {
        background: url("../images/gm07.png") center top no-repeat;
    }

    .gnav li a.gm8 {
        background: url("../images/gm08.png") center top no-repeat;
    }

    .gnav li a.gm9 {
        background: url("../images/gm09.png") center top no-repeat;
    }

    .gnav li a.gm10 {
        background: url("../images/gm10.png") center top no-repeat;
    }

    .gnav li a.gm11 { background: url(../images/gm11.svg) center top no-repeat; }

    .gnav li a.gm3:hover:after,
    .gnav li a.gm3.active:after {
        height: 68px;
    }

    .gnav li a.gm4:hover:after,
    .gnav li a.gm4.active:after {
        height: 115px;
    }

    .gnav li a.gm5:hover:after,
    .gnav li a.gm5.active:after {
        height: 98px;
    }

    .gnav li a.gm6:hover:after,
    .gnav li a.gm6.active:after {
        height: 68px;
    }

    .gnav li a.gm7:hover:after,
    .gnav li a.gm7.active:after {
        height: 68px;
    }

    .gnav li a.gm8:hover:after,
    .gnav li a.gm8.active:after {
        height: 84px;
    }

    .gnav li a.gm9:hover:after,
    .gnav li a.gm9.active:after {
        height: 120px;
    }

    .gnav li a.gm10:hover:after,
    .gnav li a.gm10.active:after {
        height: 92px;
    }

    .gnav li a.gm11:hover:after,
    .gnav li a.gm11.active:after {
        height: 150px;
    }

    .gnav li a.active:after {
        opacity: 1;
    }

    .gnav li a:hover {
        opacity: 1;
    }

    /*bn_coupon*/
    .bn_coupon {
        position: fixed;
        right: 0;
        top: 150px;
        z-index: 5000;
        display: none;
    }

    /*rsv*/
    #rsv {
        width: 100%;
        height: 100vh;
        position: fixed;
        display: none;
        z-index: 9000;
        top: 0;
    }

    /*.rsv { color: #101415; }*/
    .rsv .mainw {
        height: 140px;
        /*padding: 35px 25px;*/
        position: relative;
    }

    #rsv .mainw {
        top: 40vh;
        top: -webkit-calc(50vh - 93px);
        top: calc(50vh - 93px);
        height: 140px;
        background: rgba(0, 0, 0, 0.9);
        padding-top: 30px;
    }

    .rsv form {
        position: relative;
        width: 100%;
        height: 75px;
    }

    .rsv h3 {
        width: 135px;
        height: 60px;
        float: left;
        border-right: #2a2c33 1px solid;
        color: #ffffff;
        text-align: center;
        line-height: 60px;
        font-size: 20px;
    }

    .rsv .rsv_ul {
        position: absolute;
        top: 0;
        right: 30px;
        width: 925px;
        height: 40px;
        color: #ffffff;
    }

    .rsv .rsv_ul li {
        display: inline-block;
        margin-right: 15px;
        font-size: 14px;
        line-height: 40px;
        vertical-align: bottom;
    }

    .rsv .rsv_ul li:last-child {
        margin-right: 0;
        position: absolute;
        right: 0;
        bottom: 0;
    }

    .rsv .rsv_ul li select {
        width: 100px;
        border: #2a2c33 1px solid;
        height: 40px;
        line-height: 40px;
        padding-left: 5px;
        background: none;
        color: #ffffff;
    }

    .rsv .rsv_ul li select option {
        color: #000000;
    }

    .rsv .rsv_ul li input[type="text"] {
        width: 200px;
        height: 40px;
        padding-left: 18px;
        background: url("../images/icon_cal.png") right 10px center no-repeat;
        color: #ffffff;
        border: #2a2c33 1px solid;
    }

    .rsv .rsv_ul li.btn_search {
        position: absolute;
        right: 0;
        margin-right: 0;
        bottom: 0;
    }

    .rsv .btn_search input {
        cursor: pointer;
        font-family: "minamoto_l", "游明朝", "YuMincho", serif;
        width: 220px;
        margin-left: 7px;
        -webkit-transition: 0.3s ease-in-out;
        -moz-transition: 0.3s ease-in-out;
        -o-transition: 0.3s ease-in-out;
        transition: 0.3s ease-in-out;
    }

    .rsv .btn_search input:hover {
        color: #ffffff;
        background-image: url("../images/icon_arrow.png");
        border: #ffffff 1px solid;
    }

    /*.rsv .rsv_ul li a { width: 180px; height: 40px; line-height: 40px; font-size: 14px;
        display: block; background: url("../images/icon_arrow_b.png") 160px center no-repeat;
        color: #101415; text-align: center; border: #bfb29c 1px solid; }
    .rsv .rsv_ul li a:hover { opacity: 1; 
        background: url("../images/icon_arrow_b.png") 165px center no-repeat; }*/

    .member {
        position: absolute;
        bottom: 0;
        right: 30px;
        width: 925px;
        text-align: right;
    }

    .member li {
        display: inline-block;
        font-size: 13px;
        margin-left: 20px;
        height: 22px;
        line-height: 22px;
        color: #ffffff;
    }

    /*.member li:last-child { margin-right: 0; position: absolute; right: 0; }*/
    .member li a {
        color: #ffffff;
    }

    .member li a:before {
        content: "\f105";
        font-family: FontAwesome;
        display: inline-block;
        padding-right: 3px;
    }

    .member li.tel {
        background: url("../images/icon_tel.png") left center no-repeat;
        font-size: 18px;
        padding-left: 20px;
    }

    .member li.tel a {
        cursor: default;
    }

    .member li.tel a:hover {
        opacity: 1;
    }

    .member li.tel a:before {
        content: "";
    }

    #rsv .cl_btn {
        background: #000000;
        border-radius: 20px;
        position: absolute;
        top: -20px;
        right: -20px;
        text-align: left;
        width: 40px;
        height: 40px;
        border: #ffffff 1px solid;
        display: block;
    }

    #rsv .cl_btn:hover {
        opacity: 1;
        background-color: #6d2c67;
    }



    /*footer*/
    footer {
        width: 100%;
        background: url("../images/bg_foot.jpg") bottom center #000000;
        color: #ffffff;
        /*height: 340px;*/
        padding-top: 40px;
        position: relative;
    }
    #RthCustomizeW footer {
        padding-top: 40px 10px 0;
    }
    footer .mainw {
        position: relative;
    }

    footer .mainw>.left>.left {
        width: 360px;
        height: 73px;
        border-right: #ffffff 3px double;
        padding-right: 10px;
    }

    footer .footmain {
        overflow: hidden;
    }

    footer h2 {
        margin-right: 5px;
        float: left;
        width: 246px;
    }

    footer h2 img {
        width: 100%;
    }

    footer .sns li {
        display: inline-block;
        margin-right: 5px;
    }

    footer .sns li a {
        display: block;
        width: 40px;
        height: 40px;
        border-radius: 20px;
        float: right;
        text-align: center;
        padding-top: 5px;
        margin-top: 12px;
        border: #ffffff 1px solid;
    }

    footer .sns li:last-child a {
        padding-top: 10px;
    }

    footer .sns li:last-child a img {
        width: 18px;
    }

    footer .sns li a:hover {
        opacity: 1;
        background: #6d2c67;
        border: #6d2c67 1px solid;
    }

    footer .sns li a:hover img {
        opacity: 1;
    }

    footer .mainw>.left>.right {
        padding-left: 15px;
        width: 340px;
    }

    footer address {
        font-style: normal;
        float: left;
        margin-left: 10px;
    }

    footer address p {
        font-size: 14px;
        line-height: 24px;
        text-align: left;
    }

    footer .right {
        width: 390px;
        position: relative;
    }

    footer #footnav {
        overflow: hidden;
        margin: 30px 0;
    }

    footer #footnav ul {
        float: left;
        width: 150px;
    }


    footer #footnav li {
        line-height: 30px;
    }

    footer #footnav li a {
        color: #ffffff;
        font-size: 14px;
        display: block;
        letter-spacing: -0.5px;
    }

    footer #footnav li a:before {
        content: "\f105";
        font-family: FontAwesome;
        padding-right: 5px;
        font-size: 10px;
        vertical-align: middle;
    }


    footer .foo_copy {
        text-align: center;
        font-size: 14px;
        width: 100%;
        margin: 0 auto 20px;
        line-height: 40px;
        border-top: rgba(255, 255, 255, 0.2) 1px solid;
    }

    /*pagetop*/
    #page-top {
        position: fixed;
        bottom: 15px;
        right:15px; 
        z-index: 3000;
        display:block;
    }

    @media (max-width:1470px) {
        #page-top {
            right: 20px;
            left: auto;
            margin-left: 0;
        }
    }

    #page-top a {
        text-align: center;
        display: block;
        width: 80px;
        height: 173px;
        position: relative;
    }

    #page-top.stop {
        position: absolute;
        bottom: 220px;
    }


    /*common*/
    .mainw {
        width: 950px;
        /*left: 50%;
        margin-left: -360px;*/
        position: relative;
        margin: auto;
    }

    .ww {
        width: 1200px;
        margin: 0 auto;
    }

    p {
        font-size: 15px;
        line-height: 28px;
    }

    h2.mainh2 {
        background: url("../images/bg_ttl.jpg") center center no-repeat;
        height: 90px;
        text-align: center;
        font-size: 36px;
        line-height: 22px;
        padding-top: 23px;
        border-bottom: #0c0c0c 1px solid;
    }

    h2.mainh2 span {
        font-size: 11px;
        color: #e2b065;
    }

    #mv {
        width: 100%;
        height: 400px;
        text-align: center;
        position: relative;
    }

    #mv h2 {
        width: 28vw;
        width: -webkit-calc(50% - 350px);
        width: calc(50% - 350px);
        position: absolute;
        right: 0;
        bottom: -230px;
        background: #6d2c67;
        height: 400px;
        text-align: left;
        padding: 45px 0 0 35px;
    }

    /*#mv img { position: absolute; top:50%; left: 50%; }*/
    .left {
        float: left;
    }

    .right {
        float: right;
    }

    p.lead {
        font-size: 16px;
        line-height: 25px;
        text-align: center;
        margin-bottom: 35px;
    }

    .lead {
        text-align: center;
        margin-bottom: 30px;
    }

    .lead h4 {
        font-size: 20px;
        text-align: center;
        margin-bottom: 5px;
        line-height: 34px;
        color: #2C3280;
    }

    .lead p {
        font-size: 15px;
        line-height: 28px;
        text-align: center;
    }

    h3.ch3 {
        text-align: center;
        margin-bottom: 20px;
        padding-top: 65px;
        font-size: 24px;
        font-weight: normal;
        background: url("../images/icon_ttl.png") center top no-repeat;
        line-height: 36px;
    }

    h3.ch3 span {
        font-size: 12px;
        color: #6d2c67;
    }

    h3.ch3 strong {
        font-size: 40px;
        color: #6d2c67;
        font-weight: normal;
    }

    h3.ch3 strong span {
        font-size: 36px;
        color: #1a1b21;
    }

    /*.cb h3.ch3 { color: #ffffff; background: url("../images/icon_ttl_w.png") center top no-repeat; }
    .cb h3.ch3 span { color: #ffffff; }
    h3.ch3_2 { text-align: center; margin-bottom: 35px; font-size: 22px; line-height: 24px; }
    h3.ch3_2 span { font-size: 12px; color: #2C3280; }*/
    /*h4.ch4 { background: url("../images/icon_ttl.png") left top no-repeat,
        url("../images/cb_line.jpg") left bottom repeat-x; font-size: 22px; margin-bottom: 30px;
        height: 42px; padding-left: 38px; line-height: 34px; }
    h4.ch4_2 { font-size: 18px; padding-left: 15px; border-left: #dbab4d 3px solid;
        line-height: 18px; margin-bottom: 15px; }*/

    .cmenu {
        width: 100%;
        height: 110px;
        position: relative;
        text-align: center;
        background: url(../images/shadow.jpg) center bottom no-repeat;
    }

    .cmenu ul {
        text-align: center;
        height: 60px;
        width: 1100px;
        margin: 0 auto;
    }

    .cmenu li {
        float: left;
        margin-right: 10px;
    }

    .cmenu li:last-child {
        margin-right: 0;
    }

    .cmenu li a {
        display: block;
        height: 60px;
        position: relative;
        font-size: 16px;
        line-height: 40px;
        min-width: 120px;
        border-top: rgba(44, 50, 128, 0) 1px solid;
        padding: 0 25px;
    }

    .cmenu li a.l2 {
        padding-top: 0;
        line-height: 18px;
        font-size: 14px;
    }

    .cmenu li a:after {
        content: "\f107";
        font-family: FontAwesome;
        position: absolute;
        color: #2C3280;
        bottom: 7px;
        left: 50%;
        margin-left: -5px;
        line-height: 18px;
        border-top: rgba(44, 50, 128, 0);
        -webkit-transition: 0.3s ease-in-out;
        -moz-transition: 0.3s ease-in-out;
        -o-transition: 0.3s ease-in-out;
        transition: 0.3s ease-in-out;
    }

    .cmenu li a:hover,
    .cmenu li:first-child a {
        opacity: 1;
        border-top: #2C3280 1px solid;
    }

    .cmenu li a:hover:after {
        bottom: 2px;
    }

    /*section .bx-wrapper .bx-viewport { left:0; }*/
    /*cb...color box*/
    .cb {
        background: #1a1b21;
    }

    /*.cb2 { background: #F4F1E9; border-top: #E8E3D3 10px solid; margin: 80px 0 0; }*/
    /*bb...border bottom*/
    /*.bb { width: 100%; box-shadow: 2px 2px 5px #cccccc; padding-bottom: 15px; margin-bottom: 70px; }*/
    /*cbd...common border*/
    .cbd {
        height: 12px;
        width: 100%;
        background: url("../images/border.jpg") repeat-x;
    }

    a.cbtn:link {
        font-size: 14px;
        display: block;
        text-align: left;
        line-height: 38px;
        color: #ffffff;
        width: 280px;
        height: 40px;
        position: relative;
        border: #6d2c67 1px solid;
        background: url("../images/icon_arrow.png") right 17px center no-repeat #6d2c67;
        background-size: 20px auto;
        padding-left: 15px;
    }

    a.cbtn:link:hover {
        opacity: 1;
        color: #4c4948;
        border: #b5b5b5 1px solid;
        background-image: url("../images/icon_arrow_p.png");
        background-color: rgba(109, 44, 103, 0);
    }

    a.cbtn2:link {
        font-size: 14px;
        display: block;
        text-align: left;
        line-height: 38px;
        width: 280px;
        height: 40px;
        color: #4c4948;
        border: #b5b5b5 1px solid;
        padding-left: 15px;
        background: url("../images/icon_arrow_p.png") right 17px center no-repeat rgba(109, 44, 103, 0);
        background-size: 20px auto;
    }

    a.cbtn2:link:hover {
        opacity: 1;
        color: #ffffff;
        background: url("../images/icon_arrow.png") right 17px center no-repeat #6d2c67;
        background-size: 20px auto;
        border: #6d2c67 1px solid;
    }


    table.ctable {
        border-collapse: collapse;
        width: 100%;
        font-size: 14px;
    }

    table.ctable td {
        padding: 6px 20px;
        text-align: left;
    }

    table.ctable th {
        width: 110px;
        text-align: left;
        padding: 6px 20px 6px 0;
        border-right: #c4c0b7 1px solid;
        color: #6d2c67;
    }

    table.ctable th:before {
        content: "●";
        font-size: 8px;
        display: inline-block;
        padding-right: 5px;
    }

    table.ctable2 {
        border-collapse: collapse;
        width: 100%;
        font-size: 14px;
        border-top: #c4c0b7 1px solid;
    }

    table.ctable2 th,
    table.ctable2 td {
        border-bottom: #c4c0b7 1px solid;
    }

    table.ctable2 td {
        padding: 6px 20px;
        text-align: left;
    }

    table.ctable2 th {
        width: 110px;
        text-align: center;
        padding: 6px 20px 6px 0;
        color: #6d2c67;
    }

    table.ctable2 th:before {
        content: "●";
        font-size: 8px;
        display: inline-block;
        padding-right: 5px;
    }

    /*cul...common ul*/
    .cul li {
        font-size: 14px;
        line-height: 26px;
    }

    .cul li:before {
        content: "●";
        color: #6d2c67;
        font-size: 8px;
        display: inline-block;
        padding-right: 5px;
    }

}

@-moz-keyframes imgfade {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@-webkit-keyframes imgfade {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@-o-keyframes imgfade {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@-ms-keyframes imgfade {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}