@charset "UTF-8";

/*font start
----------------------------------------*/

body.son .ui-tabs.traintab .ui-tabs-anchor {
    font-size: 135%;
    /*16*/
}

.traintab.ui-widget {
    font-size: 100%;
} 

.flex_table .flex_table_list {
    line-height: 2.22em; 
    /*40*/
}

.box_body .item_list .location {   
    font-size: 125%;
    /*15*/
    line-height: 1.6em;
} 

.ticket_wrapper .ticket_img span {
    font-size: 120%;
   /*14*/
}

.ticket_wrapper .ticket_img5 span {
    font-size: 120%;
   /*14*/
}

.box_body .font-14 {
    font-size: 120%;
    /*14*/
}

.box_rule .font-14 {
    font-size: 120%;
    /*14*/
}

.box_rule_body div,
.box_rule_body ul {
    line-height: 1.65em;
}

.link-area2 a {
    font-size: 120%;
    /*14*/
}

.link-area a {
    font-size: 135%;
    /*16*/
}

.btn_back_wapper .btn_back {
    font-size: 120%;
    /*14*/
}


/*station*/

form.station-form {
    margin: 20px 0 60px;
}
.station-form select,
.station-group  select{
    font-size: 125%;
}
form select {
    min-width: 150px;
    font-size: 125%;
    padding: 3px 0 3px 3px;
}

.station-form label {
    font-size: 135%;
    
    margin-left: 10px;
    font-weight: 500;
}

.station-form input {
    color: #fff;
     background: #9860b3;
    border: 2px solid #f4e5ef;
    border-radius: 5px;
    padding: 5px 10px;
    margin-bottom: 0;
    margin-right: 5px;
}



.station-form input:hover,
.station-form input:focus {
    background: #f06258;
}

.station-form input.chgodate {
    background: transparent;font-size: 120%;
    color: #666;
     border-radius: 0;
    border: 1px solid #aaa;
}


.station-form input.chgodate:hover,.station-form input.chgodate:focus{
    background: transparent;
}

.depart_table {
    margin-top: 30px;
    margin-bottom: 30px;
}

.depart_item_head {
    position: relative;
    background: #f9e4ff;
    -webkit-transition: all ease .3s;
    transition: all ease .3s;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 5px 12px;
    margin-bottom: 2px;
}

.depart_item_head:after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 50%;
    background: hsla(0, 0%, 0%, .04);
}

.depart_item_body {
    background: #eee;
    position: relative;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0 15px 18px;
}


/*
.depart_item_body .flex_table{
    margin-top: 0; 
}
.depart_flex_table{
    margin-top: 30px;
}
*/

.depart_item_body .flex_table {
    margin-top: 0;
}

body.son .flex_table .d_table_list {
    padding-top: 30px;
}

.d_table_list ul {
    padding-left: 5px;
}

.d_table_list ul li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    line-height: 35px;
}

.d_table_list ul li .ticket_category {
    -webkit-box-flex: 1;
    -ms-flex: 1 0 100px;
    flex: 1 0 100px;
}

.d_table_list .d_table {
    color: #8445ad;
    padding: 5px;
    margin-bottom: 5px;
    border-bottom: 1px solid #bf93d7;
}

@media (max-width:768px) {
    .flex_table {
        font-size: 135%;
        /*16*/
    }
    .flex_table .flex_table_list {
        line-height: 1.777em;
        /*32*/
    }
    
    .station-form label {
        display: block;
        margin-left: 0;
    }
    .station-form input,
    .station-form select {
        width: 100% !important;
    }
    .station-form select {
        margin-bottom: 15px;
    }
}

/*font  end
----------------------------------------*/

body.son a {
    text-decoration: none;
}
body.son a.aline {
    border-bottom: 1px solid;
    line-height: 20px;
    color: #006dc4;
}
a.color-red,
.color-red {
    color: #DB0000;
}

a.color-blue,
.color-blue {
    color: #0071B3;
}

body.son a.color-blue:hover,
body.son a.color-red:hover {
    text-decoration: underline;
}

body.son img {
    width: 100%;
    max-width: 100%;
}
a {
    -webkit-transition: all ease .3s;
    transition: all ease .3s;
}

a.link_arrow {
    position: relative;
}

a.link_arrow:before {
    content: "";
    position: absolute;
    left: -8px;
    top: 16px;
    width: 12px;
    height: 12px;
    border-radius: 100%;
    background: #8445ad;
}

a.link_arrow:after {
    content: "";
    position: absolute;
    left: -5px;
    top: 20px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 5px 3px 0 3px;
    border-color: #f9e3ff transparent transparent transparent;
}

a.link_arrow:hover:before {
    background: #0097ed;
}

a.link_arrow:hover:after {
    border-color: #fff transparent transparent transparent;
}

.link-area {
    background: #f2f2f2;
    margin: -20px 0 30px;
}

.link-area2 {
    position: relative;
    height: 1px;
    width: 100%;
}

.link-area a {
    color: #666;
    padding: 12px;
    margin-left: 47px;
}

.link-area2 a {
    position: absolute;
    right: 0;
    top: -43px;
    color: #666;
    font-weight: 300;
}

.bg_white {
    background: #fff !important;
}

.pd-l-5 {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding-left: 5px;
}

.pd-l-12 {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding-left: 12px;
}

.m-b-30 {
    margin-bottom: 30px;
}

body.son h5 {
    margin-top: 0;
}

.box_wrapper img {
    width: 100%;
    max-width: 100%;
}

.box_sort_wrapper a,
.box_wrapper a {
    display: inline-block;
}

.box_wrapper {
    margin-bottom: 50px;
}

.box_wrapper_shadow,
.box_wrapper_shadow02 {
    border: 1px solid #e5e5e5;
    -webkit-box-shadow: 0 0 5px rgba(5, 5, 5, .2);
    box-shadow: 0 0 5px rgba(5, 5, 5, .2);
}

.box_wrapper .box_head h3 {
    color: #000;
    font-weight: 400;
    position: relative;
    background: -webkit-gradient(linear, left bottom, left top, from(#f3f3f3), to(#fff));
    background: linear-gradient(to top, #f3f3f3 0%, #fff 100%);
    margin: 0;
    padding: 15px 40px;
    border: 1px solid #e5e5e5;
}

.box_wrapper .box_head h3:before {
    content: "";
    top: 0;
    bottom: 0;
    width: 8px;
    position: absolute;
    left: 0;
    background: #c7a3db;
}

.box_wrapper .box_body {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.box_wrapper_shadow .box_body {
    padding: 50px 0 10px;
}

.box_wrapper_shadow02 .box_body {
    padding: 0;
}

.note_box {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 10px 16px;
}

.flex_table {
    margin-top: 15px;
    margin-bottom: 15px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0 15px 0;
}

.flex_table.pd_30 {
    margin-top: 30px;
    margin-bottom: 30px;
}

.flex_table .flex_table_list {
    padding: 5px 17px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.flex_table .flex_table_list.flex-column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}

.flex_table .flex_table_list:nth-child(2n+1) {
    background: #eee;
}

.flex_table .flex_table_list .ticket_category {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 240px;
    flex: 0 0 240px;
}

.flex_table .flex_table_list ul {
    padding-left: 20px;
}

.flex_table .flex_table_list ul li {
    list-style-type: decimal;
}

.flex_table .flex_table_list ul.disc > li {
    list-style-type: disc;
}
.flex_table .flex_table_list ul.none > li {
    list-style-type: none;
}

.flex_table .flex_table_list ul.flex-note{
    margin-left: -40px;
    margin-top: 10px;
}
.flex_table .flex_table_list ul.cjk li {
    list-style-type: cjk-ideographic;
}

.flex_table .flex_table_list ul.deci li {
    list-style-type: decimal;
}

.ticket_wrapper {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 25px 15px 15px;
}

.ticket_wrapper .ticket_img {
    width: 155px;
    display: inline-block;
    text-align: center;
    margin: 15px;
}

.ticket_wrapper .ticket_img2 {
    width: 300px;
}

.ticket_wrapper .ticket_img3 {
    width: 450px;
}

.ticket_wrapper .ticket_img4 {
    width: 75%;
}

.ticket_wrapper .ticket_img5 {
    width: 230px;
	display: inline-block;
    text-align: center;
    margin: 15px;
}

.ticket_wrapper .ticket_img span {
    display: inline-block;
}

.ticket_wrapper .ticket_img5 span {
    display: inline-block;
}

.ticket_wrapper .ticket_img .img {
    margin-bottom: 10px;
}

.ticket_wrapper .ticket_img5 .img {
    margin-bottom: 10px;
}

.train_info_wrapper {
    margin-bottom: 50px;
}

.train_info_wrapper p {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0 8px;
    margin: 20px 0;
}

.train_info_wrapper .train-img {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.box_sort {
    margin-bottom: 50px;
    vertical-align: top;
}

.box_sort h3 {
    font-weight: 400;
    margin-top: 0;
    margin-bottom: 0;
}

.box_sort h3 a {
    position: relative;
    z-index: 5;
    color: #000;
}

.box_sort h5 {
    margin-top: 0;
    margin-bottom: 0;
    font-weight: 400;
   /* height: 3.3em;
    overflow: hidden;*/
}

.box_sort h5.m-top-22 {
    margin-top: 20px;
}

.box_sort .box_sort_head {
    position: relative;
    background: #f9e4ff;
    -webkit-transition: all ease .3s;
    transition: all ease .3s;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 12px;
    margin-bottom: 2px;
}

.box_sort .box_sort_head:after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 50%;
    background: hsla(0, 0%, 0%, .04);
}

.box_sort:hover .box_sort_head {
    background: #c7a3db;
}

.box_sort:hover .box_sort_head a {
    color: #fff;
    display: block;
}

.box_sort .box_sort_body {
    background: #eee;
    position: relative;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0 15px 18px;
    min-height: 420px;
}

.box_sort .box_sort_body a {
    font-size: 135%;
    margin-top: 12px;
    color: #666;
    padding-left: 30px;
}

.box_sort .box_sort_body:after {
    content: "";
    position: absolute;
    width: 30px;
    height: 30px;
    right: 7px;
    bottom: 7px;
    background-image: url(../_images/travel-guide/coner_tri.png);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center top;
}

.box_sort:hover .box_sort_body:after {
    background-position: center -30px;
}

.box_sort a.link_arrow:before {
    left: 0px;
    top: 5px;
    width: 16px;
    height: 16px;
}

.box_sort a.link_arrow:after {
    left: 6px;
    top: 9px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 4px 0 4px 6px;
    border-color: transparent transparent transparent #f9e3ff;
}

.box_sort .box_sort_img {
    max-width: 410px;
    width: 100%;
    margin: 0 auto;
    padding: 15px 0 5px;
}

.box_sort .box_sort_img a {
    padding-left: 0;
}

.box_sort .box_sort_img a:hover {
    opacity: .7;
}

.box_rule_wrapper {
    margin-bottom: 50px;
}

.box_rule_wrapper {
    background: #eee;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 13px 8px 4px;
    border-top: 6px solid #c59fda;
}

.future_roadintro {
    margin-top: 26px;
}

.box_rule_head,
.box_rule_body,
.box_rule_foot {
    margin-bottom: 8px;
}

.box_rule_head h3 {
    margin-bottom: 0;
    margin-top: 0;
    padding: 12px;
    background: #fff;
    border: 1px solid #e5e5e5;
}

.box_rule_body {
    color: #666;
    height: 450px;
    overflow-y: scroll;
    padding-top: 12px;
    background: #fff;
    border: 1px solid #e5e5e5;
}

.box_rule_body h5 {
    position: relative;
    padding-left: 34px;
    color: #555;
}

.box_rule_body h5:before {
    position: absolute;
    content: "";
    left: 16px;
    top: 11px;
    width: 4px;
    height: 4px;
    background: #8445ad;
    border-radius: 100%;
}

.box_rule_body div.div_set,
.box_rule_body ul {
    padding-left: 35px;
    padding-right: 18px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin-bottom: 30px;
    color: #666;
}

.box_rule_body ul li {
    list-style-type: decimal;
    margin-bottom: 7px;
}

.box_rule_body ul.nonstyle li {
    list-style-type: none;
}

.box_rule_body ul.disc li {
    list-style-type: disc;
}

.box_rule_body ul.cjk li {
    list-style-type: cjk-ideographic;
}

.box_rule_body ul.deci li {
    list-style-type: decimal;
}

.box_rule_body ul ul {
    padding-left: 20px;
    margin-bottom: 0;
}

.box_rule_foot {
    padding: 7px 12px;
    background: #fff;
    border: 1px solid #e5e5e5;
    margin-top: 14px;
}

.ticket_title {
    position: relative;
}

.ticket_btn_wrapper {
    position: absolute;
    top: 29px;
    right: 0;
}

.ticket_btn_wrapper a {
    font-size: 135%;
    color: #fff;
    border-radius: 5px;
    margin-left: 3px;
    padding: 6px 29px;
}

.ticket_btn_wrapper .ticket_btn01:hover,
.ticket_btn_wrapper .ticket_btn01:focus,
.ticket_btn_wrapper .ticket_btn02:hover,
.ticket_btn_wrapper .ticket_btn02:focus {
    background: #f06258;
    -webkit-box-shadow: inset 0 -1px 6px rgba(29, 29, 29, 0.2);
    box-shadow: inset 0 -1px 6px rgba(29, 29, 29, 0.2);
}

.ticket_btn_wrapper .ticket_btn01 {
    background: #9860b3;
    
}

.ticket_btn_wrapper .ticket_btn02 {
    background: #299cd7;
}

.ticket_btn_wrapper .ticket_btn02 i {
    position: relative;
    left: -6px;
}

.box_body .item_list {
    margin-bottom: 40px;
/*
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
*/
    float: left;
    width: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0 5px;
}
.box_body .item_list.mb-0 {
    margin-bottom: 0;
}

.box_body .item_list.bg-color {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0px 10px 8px;
    background: #ffeae9;
    color: #252525;
        margin-top: 10px;
}

.box_body .item_list_img {
  /*  -webkit-box-flex: 0;
    -ms-flex: 0 0 269px;
    flex: 0 0 269px;*/
    float: left;
    width: 269px;
    border: 1px solid #f4f4f4;
    margin-right: 12px;
}

.box_body .item_list_limg {
 /*   -webkit-box-flex: 0;
    -ms-flex: 0 0 190px;
    flex: 0 0 190px;*/
    float: left;
    width: 190px;
    border: 1px solid #f4f4f4;
    margin-right: 12px;
}

.box_body .item_list_simg {
   /* -webkit-box-flex: 0;
    -ms-flex: 0 0 196px;
    flex: 0 0 196px;*/
    float: left;
    width: 196px;
    border: 1px solid #f4f4f4;
    margin-right: 12px;
}

.box_body .item_list h4 {
    margin-top: 0;
    margin-bottom: 0;
}

.box_body .item_list .location {
    background: #f4e5ef;
    color: #8445ad;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 5px 6px;
    margin-bottom: 0;
    margin-top: 10px;
}

.box_body .item_list .location span {
    vertical-align: middle;
}

.box_body .item_list .location span.fir-child {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 48px;
    flex: 0 0 48px;
}

.box_body .item_list p {
    margin-top: 7px;
    margin-bottom: 0;
    color: #666;
}

.box_body .item_list .ticket_use_text {
    margin-top: 212px;
}
body.son.Publication a.pic {
    height: 320px;
    overflow: hidden;
}
body.son.video a.pic {
    height: 165px;
    overflow: hidden;
}

@media (max-width:1199px) {
    .box_body .item_list_img {
       /* -webkit-box-flex: 0;
        -ms-flex: 0 0 200px;
        flex: 0 0 200px;*/
        width: 200px;
    }
    .box_body .item_list_simg {
      /*  -webkit-box-flex: 0;
        -ms-flex: 0 0 141px;
        flex: 0 0 141px;*/
        
        width: 141px;
    }
    .box_body .item_list .ticket_use_text {
        margin-top: 162px;
    }
    body.son.video a.pic {
        height: 190px;
    }
}

@media (max-width:991px) {
    .box_body .item_list_simg {
       /* -webkit-box-flex: 0;
        -ms-flex: 0 0 200px;
        flex: 0 0 200px;*/
        width: 200px;
    }
    .box_body .item_list .ticket_use_text {
        margin-top: -10px;
    }
    .box_wrapper_shadow .box_body {
        padding: 35px 0 5px;
    }
    .flex_table .flex_table_list .ticket_category {
       /* -webkit-box-flex: 0;
        -ms-flex: 0 0 180px;
        flex: 0 0 180px;*/
        width: 180px;
    }
    .box_wrapper .box_head h3{
        margin-bottom: 10px;
    }
     body.son.video a.pic {
        height: 210px;
    }
    
    /*.box_sort h5 {
    height: 5em;
}*/


    
}

@media (max-width:768px) {
    .flex_table .flex_table_list .ticket_category {
       /* -webkit-box-flex: 0;
        -ms-flex: 0 0 150px;
        flex: 0 0 150px;*/
        width: 150px;
    }
}

@media (max-width:767px) {
    .box_wrapper {
        margin: 0 0 50px;
    }
    .depart_item {
        margin-bottom: 30px;
    }
    .box_sort h5 {
        overflow: inherit;
        height: auto;
    }
    .ticket_btn_wrapper a.ticket_btn02 {
        display: none;
    }
    .box_wrapper .box_head h3 {
        margin-bottom: 0;
        padding: 5px 15px;
    }
    body.son.video a.pic {
        height: 160px;
    }
    .ticket_btn_wrapper {
        position: relative;
        top: inherit;
        right: inherit;
        margin-bottom: 30px;
    }
}


/*iphone5  */

@media (max-width:568px) {
    .train_info_wrapper {
        margin-bottom: 20px;
    }
    .train_info_wrapper .train-img {
        display: block;
    }
    .train_info_wrapper .train-img span {
        float: left;
        margin: 0 5px 10px;
        width: calc(50% - 10px);
    }
    .box_body .item_list_simg,.box_body .item_list_img, .box_body .item_list_limg {
        width: 100%;
        margin-bottom: 5px;
    }
}

@media (max-width:480px) {
    .ticket_wrapper {
        text-align: center;
    }
    .link-area {
        padding: 5px 0;
    }
    .station-form label {
        display: inline-block;
    }
    .box_body .item_list {
        display: block;
    }
    .link-area a {
        line-height: 1em;
        margin-left: 30px;
    }
    a.link_arrow:before {
        top: 15px;
    }
    a.link_arrow:after {
        top: 19px;
    }
    .ticket_wrapper .ticket_img {
        width: 180px;
    }
    .ticket_wrapper .ticket_img2 {
        width: 350px;
    }
    .box_sort .col-xxs-6 {
        width: 100%;
    }
    .box_body .item_list {
        display: block;
        padding: 0;
    }
    .box_body .item_list_limg,
    .box_body .item_list_simg,
    .box_body .item_list_img {
        margin-bottom: 10px;
        margin-right: 0;
    }
    .box_wrapper .box_head h2 {
        padding: 15px 22px;
    }
    .flex_table {
        padding: 0 10px;
    }
    .flex_table .flex_table_list {
        display: block;
        padding: 5px 10px;
    }
    .flex_table .flex_table_list .ticket_category {
        color: #981b7f;
    }
    .station-form input {
        width: 100%;
        margin-top: 15px;
        padding: 10px;
        font-size: 135%;
    }
    form.station-form select {
        width: calc(100% - 103px) !important;
        min-width: 160px;
    }
    
     body.son.video a.pic {
        height: 160px;
    }
    
}

@media (max-width: 425px) {
    .ticket_wrapper .ticket_img {
        width: 204px;
    }
    .ticket_wrapper .ticket_img2 {
        width: 240px;
    }
    body.son.video a.pic {
        height: 120px;
    }
}

@media (max-width:375px) {
    body.son.Publication a.pic {
        height: 250px;
    }
    .train_info_wrapper .train-img span {
        margin: 0 0 10px;
        width: 100%;
    }
    form select {
        min-width: 190px;
    }
    body.son.video a.pic {
        height: 110px;
    }
}

@media (max-width:320px) {
    body.son.Publication a.pic {
        height: 200px;
    }
    body.son.video a.pic {
        height: 90px;
    }
}