@charset "utf-8";
/* CSS Document */

/*內頁清單*/
.ap .page_list{
    font-size: 110%;
    padding: 30px 0 75px 0;
}
.ap .page_list ul {
  padding: 0;
  margin: 0;
  list-style-type: none;
}
.ap .page_list ul li {
  padding: 5px;
}

.ap .page_list ul li li {padding: 0;}
.ap .page_list ul li a{
    text-decoration: none;
}
.ap .page_list > ul > li > a {
  display: block;
  padding: 7px 5px 7px 43px;
  position: relative;
  background-color: #fffce3;
  color: #000;
  text-decoration: none;
  border-radius: 7px;
  -webkit-box-shadow: 2px 2px 3px 1px rgb(183 171 90 / 17%);
  box-shadow: 2px 2px 3px 1px rgb(183 171 90 / 17%);
  background-image: url(../images/home/card_arrow_y.svg);
  background-repeat: no-repeat;
  background-size: 25px;
  background-position: 10px 50%;
  font-weight: bold;
}
.ap .page_list ul li a:hover {
  background-color: rgba(255, 235, 59, 0.5);
}
.ap .page_list ul ul li a {
  background-color: transparent;
  border-right: none;
  padding: 9px 5px 9px 2.56em;
  border-bottom: 1px #dadada solid;
  display: block;
  color: #555;
  position: relative;
}

.ap .page_list ul ul li a::before {
    content: "";
}
.ap .page_list ul ul ul li a {
  padding: 9px 5px 9px 2rem;
  color: #6b6b6b;
  font-size: 95%;
}

.ap .page_list ul ul ul ul li a {
    padding: 9px 5px 9px 2.8rem;
}
.ap .page_list ul ul li a:hover {
  background-color: transparent;
  border-bottom: 1px #000000 solid;
  color: #000;
}
.ap .page_list ul ul li a::before {
  width: 0;
  height: 0;
  border-top: solid 5px transparent;
  border-right: solid 5px transparent;
  border-bottom: solid 5px transparent;
  border-left: solid 6px #292929;
  background-color: transparent;
  top: 35%;
  bottom: inherit;
  left: 2rem;
  position: absolute;
}
.ap .page_list ul ul ul li a::before {
  content: "_";
  border: none;
  position: relative;
  margin-right: 25px;
  left: 15px;
}
/*訂票*/
/*步驟*/

.step ul {
    padding: 0;
    margin: 0;
    list-style-type: none;
    text-align: center;
}
.step .circle {
    border: 1px #707070 dashed;
    border-radius: 50px;
    width: 50px;
    height: 50px;
    line-height: 50px;
    font-size: 120%;
    margin: auto;
}

.step .on .circle {
    background-color: #ffffff;
    border: 1px #bf0000 solid;
    position: relative;
    z-index: 9;
}

.step .on .circle::before {
    content: "";
    width: 40px;
    height: 40px;
    position: absolute;
    background-color: #F4CB57;
    display: block;
    border-radius: 50px;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: -1;
}

.step .finish .circle {
    border: none;
    background-color: #127475;
    color: #fff;
}

.step p {
    padding: 5px 5px 0 5px;
}

.en .step p {max-width: 220px;text-align: center;white-space: normal;line-height: 125%;}
.step .slick-slide {
    position: relative;
}
.step .slick-slide:first-child::before,.step .slick-slide:last-child::after {
    display: none;
}
.step .slick-slide::after {
    content: "";
    position: absolute;
    height: 1px;
    display: block;
    left: calc(50% + 30px);
    right: 0;
    top: 27px;
    background: linear-gradient(to left,transparent 0%,transparent 50%, #ccc 50%,#707070 100% );
    background-size: 7px 1px;
    background-repeat: repeat-x;
}

.step .slick-slide.finish::after {
    background: #127475;
}

.step .slick-slide::before {
    content: "";
    position: absolute;
    height: 1px;
    display: block;
    right: calc(50% + 30px);
    left: 0;
    top: 27px;
    background: linear-gradient(to left,transparent 0%,transparent 50%, #ccc 50%,#707070 100% );
    background-size: 7px 1px;
    background-repeat: repeat-x;
}

.step .slick-slide.on::before,.step .slick-slide.finish::before {
    background: #127475;
}
@media screen and (min-width: 768px) {
.step{
    padding: 0 0 20px 0;
}
}
@media screen and (max-width: 768px) {
  .step p{
    /* display: none; */
}

.step .on p {
    display: block;
}

.step .circle {
    -moz-transform: scale(0.8);
    -webkit-transform:scale(0.8);
    -o-transform:scale(0.8);
    -ms-transform:scale(0.8);
    transform:scale(0.8);
}
}
/*上方資訊*/
.booking .booking_topinfo .info img {
    height: 18px;
    margin: 0 2px 0 0;
}
.booking .booking_topinfo .info .arrive {
    margin: -5px 5px 0 5px;
    height: 10px;
}
.booking .ic_date {
    position: absolute;
    opacity: 0.7;
}

.booking  .ic_date:hover {
    opacity: 1;
}

.booking .ic_date img {
    height: 30px;
}
@media (min-width: 768px) {
    .booking .ic_date {
    right: 10px;
    top: 8px;
}
}
@media (max-width: 768px) {
    .booking .ic_date {
    right: 10px;
    top: 32px;
}
}
/*訂位*/
.booking_box {
    border-radius: 5px;
    -webkit-box-shadow: 1px 1px 7px 0 rgba(0,0,0,0.3);
    box-shadow: 1px 1px 7px 0 rgba(0,0,0,0.3);
    background-color: #fff;
    padding: 20px;
}

.booking_box .nav-pills .nav-link.active,.booking_box .nav-pills .show>.nav-link {
    background-color: #127475;
    position: relative;
    font-weight: bold;
}

.booking_box .nav-link {
    font-size: 120%;
    padding: 0.5rem 1.5rem;
    background-color: #F2F2F2;
    color: #686868;
}

.booking_box .nav-item {
    padding: 0 10px 10px 0;
}

.booking_box .nav-pills .nav-link.active::after, .booking_box .nav-pills .show>.nav-link::after {
    content: "";
    border-right: solid 7px transparent;
    border-left: solid 7px transparent;
    border-bottom: solid 7px transparent;
    border-top: solid 10px #127475;
    position: absolute;
    bottom: -15px;
    transform: translate(-50%,0);
    left: 50%;
}
.booking_box .search_box > label{
    color: #686868;
    margin: 0;
}
.booking_box .search_box >legend> label{
     font-size: initial;
    color: #686868;
    margin: 0;
}
.booking_box .search_box .form-select,.booking_box .search_box .form-control {
    border-radius: 0;
    border-bottom: 1px #707070 solid;
    border-top: 0;
    border-left: 0;
    border-right: 0;
    background-image: none;
    position: relative;
    font-weight: bold;
    color: #127475;
    font-size: 130%;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}

.booking_box .search_box .form-control {
    font-weight: normal;
    font-size: 120%;
    padding-top: 0.55rem;
    padding-bottom: 0.56rem;
}

.booking_box .search_box .select_box::after {
    content: "";
    border-right: solid 5px transparent;
    border-left: solid 5px transparent;
    border-bottom: solid 5px transparent;
    border-top: solid 7px #127475;
    position: absolute;
    transform: translate(0, -26%);
    right: 5px;
    top: 50%;
}
.booking_box .change{
    padding: 0 20px;
}

.booking_box .change a {
    display: block;
    border-radius: 50px;
    padding: 15px;
    width: 50px;
    height: 50px;
    position: relative;
}

.booking_box .change a:hover {
    background-color: #e5e5e5;
}

.booking_box .change a img {
    max-width: 25px;
    min-width: 25px;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}
.booking_box .search_box.date .ic_date {
    position: absolute;
    right: 10px;
    top: 8px;
    opacity: 0.7;
}

.booking_box .search_box.date .ic_date:hover {
    opacity: 1;
}

.booking_box .search_box.date .ic_date img {
    height: 30px;
}
.booking_box .select_box .dropdown-menu.show {
    width: 100%;
}

.booking_box .select_box .dropdown-menu .numspin {
    padding: 0 15px 15px 15px;
}

.booking_box .select_box .dropdown-menu label {
    white-space: nowrap;
    font-size: 110%;
    margin: 0 15px 5px 3px;
    letter-spacing: 0.1rem;
}

.booking_box .select_box .dropdown-menu .input-numspin-element input {
    text-align: center;
    border: 0;
}
.booking_box .select_box .dropdown-menu .input-numspin-element button {
    background-color: #127475;
    width: 45px;
    border: none;
    font-size: 150%;
    font-family: unset;
}
.booking_box .search_box .search_bt {
    background-color: #F4CB57;
    border-radius: 5px;
    font-size: 115%;
    display: block;
    padding: 10px 30px;
    display: -webkit-flex;
    display:flex;
    -webkit-justify-content:center;
    justify-content:center;
    -webkit-align-items:center;
    align-items:center;
    white-space: nowrap;
    color: #000;
    text-decoration: none;
}
.booking_box .search_box .search_bt img{
    height: 25px;
    margin: 0 5px 0 0;
}
.booking_box .search_box .search_bt:hover {
    background-color: #FFC107;
}

@media (max-width: 768px) {
  .booking_box {
    margin: -15px 0 0 0;
}
}@media (min-width: 576px) {
  .booking_box .search_box .search_bt {margin: 0 0 0 10px;}
}

/*一週日期*/
.select_date {
    background-color: #fff;
    -webkit-box-shadow: 5px 5px 7px -4px rgba(0,0,0,0.3);
    box-shadow: 5px 5px 7px -4px rgba(0,0,0,0.3);
    border-radius: 10px;
    text-align: center;
    padding: 10px 15px;
    font-size: 90%;
    margin-bottom: 20px;
}

.select_date .daylist {
    border-right: 1px #e1e1e1 solid;
    padding: 0 10px;
}

.select_date .box {
    padding: 5px;
    transition: all 200ms ease-out 0s;
}

.select_date .box.none {
    opacity: 0.4;
}

.select_date a {
    display: block;
    border-radius: 10px;
    text-decoration: none;
    opacity: 0.7;
}

.select_date a:hover {
    background-color: #e7e7e7;
}

.select_date a:hover .box {
    opacity: 1;
}

.select_date .on a {
    opacity: 1;
    background-color: #f4cb57;
}

.select_date p {
    margin: 0;
    color: #000;
}

.en .select_date {
    font-size: 100%;
}

.select_date .day {
    font-size: 140%;
    font-weight: bold;
}
.select_date .slick-prev,.select_date .slick-next {
    border-radius: 50px;
    width: 30px;
    height: 30px;
    z-index: 9;
}

.select_date .slick-prev{
    left: 10px;
}
.select_date .slick-next{
    right: 5px;
}
.select_date .slick-next:before,
.select_date .slick-prev:before {
  content: "";
  display: block;
  width: 15px;
  height: 15px;
  -webkit-transform: rotate(45deg) translate(0, -50%);
  transform: rotate(45deg) translate(-50%, -50%);
  position: absolute;
  opacity: 1;
  top: 53%;
}
.select_date .slick-next:before {
  border-top: solid 3px #9b9b9b;
  border-right: solid 3px #9b9b9b;
  left: 28%;
}

.select_date .slick-prev:before {
  border-left: solid 3px #9b9b9b;
  border-bottom: solid 3px #9b9b9b;
  right: 30%;
}
.booking_topinfo .sorry{
    color: #c70000;
    padding: 10px;
    margin: -15px 0 10px 0;
    font-size: 110%;
    font-weight: bold;
}

.en .booking_topinfo .sorry {
    font-size: 100%;
    font-weight: normal;
}

.booking_topinfo .sorry img {
    width: 20px;
    margin: -5px 5px 0 0;
}
@media screen and (max-width: 768px) {
  .bt_calendar{
    width: 100%;
}


  .select_date{
    /* display: none !important; */
}
}
/*航班路線卡*/

.route_card .box {
    background-color: #fff;
    -webkit-box-shadow: 5px 5px 7px -4px rgba(0,0,0,0.3);
    box-shadow: 5px 5px 7px -4px rgba(0,0,0,0.3);
    border-radius: 10px;
    border: 1px #127475 solid;
    overflow: hidden;
    margin: 0 0 30px 0;
}

.route_card .box .title_bar {
    background-color: #127475;
    color: #fff;
    padding: 10px 17px;
    font-weight: bold;
    font-size: 105%;
}
.route_card .box .port_info {
    font-weight: bold;
}


.route_card .box .port_info img{
    height: 16px;
    margin: -3px 3px 0 0;
}
.route_card .box .port .s_txt {
    /* margin: 0 0 2px 0; */
    /* font-size: 90%; */
    /* color: #686868; */
}
.route_card .box .total {
    position: relative;
    padding: 15px 20px;
}

.route_card .box .total::before {
    content: "";
    height: 1px;
    position: absolute;
    left: 15px;
    right: 15px;
    top: 0;
    background-color: #bdbdbd;
}
.route_card .box .title_bar .right{
    font-weight: normal;
    font-size: 0.95rem;
}
.route_card .box .date_time{
    text-align: center;
}
@media screen and (min-width: 768px) {
.route_card .box .port_info .site {
    margin-right: 2rem;
}
.route_card .box .date_time{
    padding: 5px 35px;
    margin: 0 25px;
}
.route_card .box .title_bar .right{
    text-align: right;
}
}
@media screen and (max-width: 768px) {

  .route_card .booking_bt {
    width: 100%;
}
.route_card .box .port_info .site {
    /* margin-right: 1rem; */
}
}
@media screen and (min-width: 640px) {

  .route_card .route_line {
      margin: 0 0 10px 0;
      padding-left: 0.8rem;
}
.route_card .box .port_info {
  font-size: 130%;
}
    .route_card .box .date_time{
      background-image: url(../images/icon/arrow_long.svg);
      background-repeat: no-repeat;
      background-position: bottom center;
      background-size: 100%;
      padding: 5px 10px;
      margin: 0 10px;
      font-size: 90%;
}

.route_card .box .date_time.port {
    background-position: center 47%;
    position: relative;
    top: 12px;
}
}
@media screen and (max-width: 640px) {
.route_card .route_line {
    width: 100%;
   margin: 0 0 20px 0;
}
    .route_card .box .date_time{
      background-image: url(../images/icon/arrow01.svg);
      background-repeat: no-repeat;
      background-position: top center;
      background-size: 20%;
      font-size: 80%;
      position: absolute;
      bottom: -20px;
      padding: 20px 5px 0 5px;
      left: 50%;
      transform: translate(-50%, 0);
}

.route_card .box .date_time.port {
    background-image: url(../images/icon/arrow_long.svg);
    background-size: contain;
    background-position: center 61%;
}
.route_card .route_line {
    position: relative;
}
.route_card .route_line .goto img {
    width: 100%;
}
}

@media screen and (min-width: 480px) {
.route_card .route_line .goto {
    margin: 15px 25px 0 25px;
}
}

@media screen and (max-width: 480px) {
.route_card .route_line .goto {
    position: absolute;
    left: 45%;
    right: 45%;
}

.en .route_card .route_line .goto {
    top: 45px;
}
.route_card .box .date_time.port{
    position: absolute;
    transform: none;
    left: 0;
    right: 0;
    background-size: 10%;
    background-position: center 0;
    bottom: -25px;
    background-image: url(../images/icon/arrow01.svg);
}

.route_card .box .date_time.port > p {
    display: inline-block;
    padding: 5px 5px 0 5px;
    margin: 0;
}
}
@media screen and (max-width: 320px) {
    .route_card .box .date_time.port {
    padding: 35px 5px 0 5px;
    bottom: -35px;
}

.route_card .box .date_time.port > p {
    padding: 2px 5px 0 5px;
}

.route_card .route_line {
    margin: 0 0 30px 0;
}
}
/*票別說明*/
.manual {
    padding: 15px 0;
}
.manual .box {
    -webkit-box-shadow: 1px 1px 7px 0 rgba(0,0,0,0.3);
    box-shadow: 1px 1px 7px 0 rgba(0,0,0,0.3);
    border-radius: 5px;
    overflow: hidden;
}
.manual .accordion-button {
    background-color: #f4cb57;
    padding: 10px 15px;
    font-weight: bold;
    font-size: 105%;
    color: #000;
    box-shadow: none;
}

.jp .manual .accordion-button {
    letter-spacing: 0.2rem;
}

.manual .accordion-button.collapsed {
    border-radius: 5px;
}

.manual .accordion-button img {
    margin: 0 5px 0 0;
}

.manual .accordion-button::after {
    background-image: url(../images/icon/ic_open.svg);
    background-size: 12px;
    background-position: center;
}

.manual .accordion-button:not(.collapsed)::after {
    background-image: url(../images/icon/ic_close.svg);
}
.manual .accordion-body {
    background-color: #fff;
    border-right: 1px #dbdbdb solid;
    border-bottom: 1px #dbdbdb solid;
    border-left: 1px #dbdbdb solid;
    border-radius: 0 0 5px 5px;
}
/*選擇票種*/
.select_ticket {
    border-bottom: 1px #A4A4A4 solid;
    padding: 0 0 25px 0;
}

.select_ticket .ticket_title {
    border-radius: 5px;
    padding: 12px 15px 12px 20px;
    font-weight: bold;
    color: #fff;
    font-size: 110%;
}

.select_ticket .box01 .ticket_title {
    background-color: #127475;
}

.select_ticket .box02 .ticket_title {
    background-color: #7B5322;
}
.select_ticket .box03 .ticket_title {
    background-color: #C6100F;
}
.select_ticket .ticket_list {
    padding: 10px 15px;
}

.select_ticket .ticket_list .ticket_type {
    border-radius: 5px;
    background-color: #fff;
}

.select_ticket .ticket_list .ticket_type.disabled {
    opacity: 0.5;
}

.select_ticket .ticket_list .ticket_type .select_box {
    white-space: nowrap;
}
.select_ticket .ticket_list .ticket_type label{
    position: relative;
    padding: 0 0 0 12px;
}
.select_ticket .ticket_list .ticket_type label::before {
    content: "";
    position: absolute;
    display: block;
    width: 7px;
    height: 7px;
    border-radius: 50px;
    top: 8px;
    left: 0;
}

.select_ticket .box01 .ticket_list .ticket_type label::before {
    background-color: #00ADA7;
}
.select_ticket .box02 .ticket_list .ticket_type label::before {
    background-color: #F4CB57;
}
.select_ticket .box03 .ticket_list .ticket_type label::before {
    background-color: #E97473;
}

.select_ticket .box01 .ticket_list .ticket_type {
    border: 1px #00ADA7 solid;
}
.select_ticket .box02 .ticket_list .ticket_type {
    border: 1px #F4CB57 solid;
}
.select_ticket .box03 .ticket_list .ticket_type {
    border: 1px #E97473 solid;
}
.select_ticket .ticket_list .ticket_type .price {
    font-size: 160%;
    font-family: sans-serif;
}

.select_ticket .ticket_list .ticket_type .twd {
    font-size: 60%;
    color: #636363;
    margin: 0 5px 0 0;
}
@media screen and (min-width: 768px) {
  .select_ticket .ticket_list .item {
    padding: 10px;
}
  .select_ticket .ticket_list .ticket_type {
    padding: 15px;
}
  .select_ticket .ticket_list .ticket_type label{
    margin: 0 0 10px 0;
}
}
@media screen and (max-width: 768px) {
  .select_ticket .ticket_list .item {
    padding: 5px 10px;
}
  .select_ticket .ticket_list .ticket_type {
    padding: 5px 10px 10px 10px;
}
    .select_ticket .ticket_list .ticket_type label{
    margin: 0 0 5px 0;
}
}
/*使用規定*/
.use {
    padding: 0 10px 20px 10px;
    border-bottom: 1px #c1c1c1 solid;
}

.use .box {
    padding: 0 30px;
}
.use .member {
    padding: 0 0 0 0;
}
.use .member .panel {
    padding: 0 0 0 20px;
}
.booking .member > div label {
    font-size: 100%;
    max-width: none;
}

.booking .member > div label .note {
    position: relative;
    top: -3px;
    font-size: 80%;
    font-weight: normal;
}
.use .member .join_box {
    padding: 0 !important;
    border-top: none;
}
@media screen and (min-width:576px) {
.booking .member > div label {
    position: absolute;
    left: 15px;
}
.booking .member > div input {
    padding: 0.7rem 1rem 0.7rem 6rem;
}

.en .booking .member > div input {
    padding: 0.7rem 1rem 0.7rem 10rem;
}
}
/*資料輸入*/
legend{
    width: auto;
    font-size: inherit;
    margin: 0;
}
.keyin {
    padding: 0 10px;
}
.keyin .form-control {
    position: relative;
}


.keyin02 {
    border-top: 1px dashed #c1c1c1;
    padding: 20px 0 0 0;
    margin: 20px 0 0 0;
}
.keyin .form-control label {
    white-space: nowrap;
    color: #000000;
    margin: 0 5px 0 0;
}

.en .keyin .form-control label {
    white-space: normal;
}


.keyin .field {
    padding: 2px 0;
    position: relative;
}

.keyin .bt_r{
    position: relative;
}
.keyin02 .refresh img {
    height: 40px;
}

.keyin02 .refresh a {
    display: block;
    margin: 0 5px;
}
.keyin02 .refresh a:hover {
    -moz-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}
.keyin02 audio {
    height: 40px;
    max-width: 100%;
}
.keyin select {
    padding: .375rem 2.5rem .375rem .75rem;
    position: relative;
    background-size: calc(3em + .375rem) calc(.75em + .375rem) !important;
}

.keyin .select_box {
    position: relative;
}

.keyin .select_box::after {
    content: "";
    border-right: solid 5px transparent;
    border-left: solid 5px transparent;
    border-bottom: solid 5px transparent;
    border-top: solid 7px #000000;
    position: absolute;
    transform: translate(0, -26%);
    right: 10px;
    top: 19px;
}

.keyin select::after {
    /* content: ""; */
    border-right: solid 5px transparent;
    border-left: solid 5px transparent;
    border-bottom: solid 5px transparent;
    border-top: solid 7px #127475;
    position: absolute;
}
@media (min-width: 768px) {
.keyin .form-control #birthdate {
    width: calc(100% - 74px);
}
}
@media (max-width: 768px) {
    .keyin .form-control #birthdate {
    width: calc(100% - 50px);
}
}
/*眼睛*/
.keyin .eye {
  right: 15px;
  bottom: 13px;
}
.eye {
  position: absolute;
}
.eye.show a .off {
  display: none;
}
.eye.off a .show {
  display: none;
}
.eye a {
  display: block;
}
@media screen and (min-width:768px) {
  .keyin  .form-control.enter {
    border: none;
    background-color: #f7f7f7;
}
  .keyin  .form-control .note {
    position: relative;
    top: -5px;
}
  .keyin .row > div {margin-bottom: 10px;}
  .keyin .bt_r {margin: 0 0 0 10px;padding: 17px 30px;}
    .keyin .select_box{
    margin: 0 5px 0 0;
    min-width: 190px;
}
}
@media screen and (max-width:768px) {
  .keyin label {margin: 0 0 2px 2px;}
    .keyin .form-control{
    border: none;
    background-color: transparent;
    padding: 0.375rem 0;
    position: relative;
}

.keyin .form-control.enter {
    border: 1px solid #ced4da;
    background-color: #fff;
    padding: 0.375rem 0.75rem;
}
  .keyin .select_box{
    margin: 5px 0 10px 0;
}
}
@media (max-width: 768px) and (min-width: 576px){
  .keyin .bt_r {margin: 0 0 0 10px;top: 14px;padding: 8px 20px;}  
}
@media screen and (max-width:576px) {
  .keyin .bt_r {width: 100%;display: block;text-align: center;}
}
/*詢問加入會員*/
.ask_member {
    padding-bottom: 20px;
}
.keyin .ask_member .box {
    padding: 15px 20px;
    border-radius: 5px;
    background-color: #FBDA57;
}
.ask_member .member {
    padding: 5px 0;
}
.keyin .ask_member label {
    color: #000;
}

.keyin .ask_member .radio_label:before {
    border: 2px solid #ab953f;
}
.keyin .ask_txt {
    color: #432F24;
    letter-spacing: 0.05rem;
    line-height: 160%;
}

@media screen and (min-width:768px) {
  .keyin .set_pw .note {
    margin-top: -10px;
}
  
}
.warn_box .modal-body {
    padding: 1.5rem;
}

.warn_box .warn_txt {
    line-height: 180%;
    font-size: 105%;
}
.modal-footer ul {
    list-style-type: none;
    margin: 1rem auto;
    padding: 0;
}

.modal-footer ul li {
    padding: 0 5px;
    margin: 0;
    display: inline-block;
}
/*訂單頁面*/
.share ul {
    padding: 0;
    margin: 0;
    list-style-type: none;
}

.share .dropdown-menu li {
    /* display: block; */
    padding: 5px;
}

.share ul li {
    display: inline-block;
    padding: 0 5px;
    position: relative;
}

.share ul li a {
    color: #000;
    text-decoration: none;
    display: flex;
    align-items: center;
}

.share ul li a:hover {
    text-decoration: underline;
}

.share ul li a img {
    width: 25px;
    margin: 0 2px 0 0;
}

.share .dropdown-item img {width: 35px;transition: all 200ms ease-out 0s;}

.share .dropdown-item:hover img {
    -moz-transform: scale(1.1);
    -webkit-transform: scale(1.1);
    -o-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1);
}

.share .dropdown-item {
    width: auto;
    padding: 0;
}

.share .dropdown-menu {
    border: none;
    padding: 5px;
    -webkit-box-shadow: 1px 1px 7px 0 rgba(0,0,0,0.3);
    box-shadow: 1px 1px 7px 0 rgba(0,0,0,0.3);
    background-color: #efefef;
    min-width: fit-content;
}
/*乘客資料*/

.passenger {
    border-bottom: 1px #a3a3a3 solid;
    padding: 20px 10px;
    position: relative;
}

.passenger:first-child {
    /* border-top: none; */
}


.passenger:nth-child(2n+2) {
    background-color: #f5f5f5;
}
.personal_info {
    border-bottom: 1px #d5d5d5 dashed;
    padding: 0 0.25rem 5px 0.25rem;
    margin: 0 0 10px 0;
}

.personal_info p, .ticket_info  p {
    margin-bottom: 0.5rem;
}
.ticket_info {
    padding: 0 0.25rem;
}

.ticket_info .arrive {
    height: 25px;
    width: 30px;
}
.price_total {
    /* border-top: 1px #a3a3a3 solid; */
    padding: 0.5rem;
}
.method {
    padding: 15px 20px;
    border-radius: 5px;
    background-color: #FBDA57;
}

.method > img {
    margin: 0 15px 0 0;
}
.notice {
    border-top: 1px #b3b3b3 solid;
    padding: 10px 5px 0 5px;
    font-size: 90%;
    border-bottom: 1px #b3b3b3 solid;
}
@media screen and (min-width:576px) {
  .method > img {
    width: 50px;
}
}
@media screen and (max-width:576px) {
    .method > img {
    width: 20px;
}
}
/*退票面板*/
.refund .modal-content {
    border-radius: 5px;
    overflow: hidden;
}
.refund .modal-body {
    padding: 0;
}

.refund .refund_title {
    background-color: #F4CB57;
    padding: 0.7rem;
    font-size: 120%;
    color: #000;
    font-weight: bold;
    text-align: center;
}
.refund .refund_info {
    padding: 1rem;
}
.refund .check_list{
    border-bottom: 1px #dfdfdf dashed;
    padding: 0 0 15px 0;
    margin: 0 0 15px 0;
}
.refund .check_list ul {
    padding: 0 0 0 1.7rem;
    margin: 0;
    list-style-type: none;
}

.refund .check_list ul li {
    padding: 5px 10px 0 0;
    display: inline-block;
}
/*支付面板*/
.pay_box .title {
    margin: -1rem;
    padding: 1rem;
    background-color: #F4CB57;
    font-weight: bold;
    font-size: 120%;
    border-radius: 0.3rem 0.3rem 0 0;
}
.pay_box .pay_list{margin: 30px 0 0 0;}
.pay_box .pay_list ul {
    padding: 0;
    margin: 0;
    list-style-type: none;
}

.pay_box .pay_list ul li {
    padding: 10px;
    text-align: center;
}

.pay_box .pay_list ul li a:hover {
    -moz-transform: scale(0.95);
    -webkit-transform: scale(0.95);
    -o-transform: scale(0.9);
    -ms-transform: scale(0.95);
    transform: scale(0.95);
}

.pay_box .pay_list ul li a {
    display: block;
}
/*船票icon*/
.ticket_group ul {
    padding: initial;
    list-style-type: none;
}

  .ticket_group ul li {
    display: inline-block;
    padding: 5px;
    font-size: 90%;
    text-align: center;
}

.ticket_group ul li.split > div {
    background-color: #e7e7e7;
    -webkit-box-shadow: 1px 1px 7px 0 rgba(0,0,0,0.3);
    box-shadow: 1px 1px 3px 1px rgba(0,0,0,0.3);
    border-radius: 5px;
}

.ticket_group ul li a {
    display: block;
    background-color: #fffefa;
    -webkit-box-shadow: 1px 1px 7px 0 rgba(0,0,0,0.3);
    box-shadow: 1px 1px 3px 1px rgba(0,0,0,0.3);
    border-radius: 5px;
    text-decoration: none;
}
.ticket_group ul li p {
    margin: 0;
    color: #000;
    padding: 5px 0 0 0;
}
.ticket_group ul li.disabled a {
    opacity: 0.5;
}

.ticket_group ul li.disabled a:hover {
    background-color: #fff;
    -moz-transform: scale(1);
    -webkit-transform: scale(1);
    -o-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
}

.ticket_group ul li a:hover {
    background-color: #fbda57;
    -moz-transform: scale(0.95);
    -webkit-transform: scale(0.95);
    -o-transform: scale(0.9);
    -ms-transform: scale(0.95);
    transform: scale(0.95);
}
@media screen and (min-width:992px) {
    .en .ticket_group,.jp .ticket_group {
    top: 10px;
    position: absolute;
    right: 1rem;
}
}
@media screen and (max-width:992px) {
        .en .ticket_group,.jp .ticket_group {
    top: -9px;
    position: relative;
    right: 0;
    left: -15px;
}
}
@media screen and (min-width:768px) {  
.ticket_group {
    top: 10px;
    position: absolute;
    right: 1rem;
}
.ticket_group ul li.split > div {
    padding: 15px 20px 10px 20px;
}
.ticket_group ul li a {
    padding: 15px 20px 10px 20px;
}

.ticket_group ul li img {
    height: 35px;
}

}
@media screen and (max-width:768px) {
.ticket_group {
    top: 10px;
}
.ticket_group ul li.split > div {
    padding: 10px 10px 7px 10px;
}
.ticket_group ul li a {
    padding: 10px 10px 7px 10px;
    letter-spacing: 0;
}

.ticket_group ul li img {
    height: 25px;
    width: 35px;
}
  .ticket_group ul li a p{
}
}
/*訂票end*/
/*我的訂單*/
.ticket_box .order_state ul {
    padding: 0;
    margin: 0;
    list-style-type: none;
    background-color: #F0F0F0;
    border-radius: 5px;
    display: -webkit-flex;
    display:flex;
}

.ticket_box .order_state ul li {
    padding: 10px 20px;
    position: relative;
    display: block;
}

.ticket_box .order_state ul li > p {
    font-size: 90%;
    margin: 0;
}

.ticket_box .order_state ul li::after {
    content: "";
    width: 1px;
    top: 10px;
    bottom: 10px;
    right: -1px;
    display: block;
    background-color: #c7c7c7;
    position: absolute;
}

.ticket_box .order_state ul li:last-child::after {
    width: 0;
}
.order_open .accordion-button {
    background-color: #E9E9E9;
    padding: 10px 15px;
    font-weight: bold;
    font-size: 105%;
    color: #000;
    box-shadow: none;
}
.order_open .accordion-button.collapsed {
    border-radius: 5px;
}

.order_open .accordion-button.collapsed span::before {
    content: "展開";
}
.order_open .accordion-button span::before {
    content: "收合";
}
.order_open .accordion-button::after {
    background-image: url(../images/icon/ic_open.svg);
    background-size: 12px;
    background-position: center;
}

.order_open .accordion-button:not(.collapsed)::after {
    background-image: url(../images/icon/ic_close.svg);
}
.en .route_card .pier{
}
.route_card .pier ul{
    padding: 0;
    margin: 0;
    list-style-type: none;
}
.route_card .pier ul li{
    display: inline-block;
}
@media screen and (min-width:992px) {
.ticket_box .ticket_img img {
    width: 120px;
}
.ticket_box .order_state{
    position: absolute;
    right: 0;
    top: 0;
}
.ticket_box .ticket_info {
    max-width: 50%;
}
  .ticket_box .bt_detail {
    position: absolute;
    right: 0;
    top: 85px;
}
  .route_card .pier {
    position: absolute;
    right: 0;
    top: 15px;
}

.en .route_card .pier {
    position: relative;
    text-align: right;
    padding: 0 20px;
    margin: -5px 0 0 0;
    top: 0;
}
}
@media screen and (max-width:992px) {
  .ticket_box .order_state{
    margin: 5px 0 0 0;
    width: 100%;
}
  .ticket_box .ticket_img img {
    display: none;
}
  .bt_detail{
    margin: 10px 0 0 0;
    width: 100%;
}
.bt_detail a {    
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
}
    .en .route_card .pier {
    position: relative;
    margin: -5px 0 0 0;
}
  .route_card .pier a{
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    margin: 15px 0 0 0;
  }
  
}
@media (max-width: 992px) and (min-width: 530px){
  .ticket_box .order_state ul {
    width: 100%;
    -webkit-justify-content: space-between;
    justify-content:space-between;
    -webkit-align-items:center;
    align-items:center;
}
  .ticket_box .order_state ul li {
    width: 100%;
}
}
@media screen and (max-width:530px) {
.ticket_box .order_state ul {
  -webkit-flex-wrap:wrap;
flex-wrap:wrap;
}
.ticket_box .order_state ul li{
    width: 50%;
}

.ticket_box .order_state ul li:nth-child(1)::before,.ticket_box .order_state ul li:nth-child(2)::before {
    content: "";
    left: 10px;
    right: 10px;
    height: 1px;
    display: block;
    position: absolute;
    background-color: #c7c7c7;
    bottom: 0;
}

.ticket_box .order_state ul li:nth-child(2)::after {
    display: none;
}
}
/*購票證明*/
.modal-dialog.prove_box .slogo img {
    height: 40px;
}
.prove_box .prove_title {
    font-weight: bold;
    font-size: 120%;
    border-bottom: 1px #dbdbdb solid;
    padding: 0 0 15px 0;
    margin: 0 0 15px 0;
}
.passenger .route_line  {
    padding: 5px 0 10px 4px;
    border-bottom: 1px #d5d5d5 dashed;
    margin: 0 0 15px 0;
}
.route_line .port .s_txt {
    font-size: 90%;
    color: #6d6d6d;
    margin: 0;
}

.en .route_line .port .s_txt {
    font-size: 95%;
    line-height: 120%;
}

.route_line  .port .port_info {
    font-size: 130%;
    font-weight: bold;
}
.route_line .arrow{
    margin: 0 10px;
    font-size: 150%;
}
.modal-dialog .route_line .port .port_info .time {
    font-size: 75%;
    font-weight: normal;
}

.modal-dialog .route_line .port .port_info .time img {
    width: 15px;
    margin: 0 3px 0 7px;
}
@media screen and (min-width:992px) {
.prove_box .order_info .stamp {
    right: 30px;
    top: 30px;
}
.prove_box .order_info .stamp img {
    max-width: 185px;
}
}
@media screen and (max-width:992px) {
.prove_box .order_info .stamp {
    right: 0;
    top: 60px;
}
.prove_box .order_info .stamp img {
    max-width: 150px;
}
}
@media screen and (min-width:480px) {
  .prove_box .prove_title {
     display: flex;    
}
.prove_box .prove_title .slogo {
    margin-right: 5px;
}
}
@media screen and (max-width:480px) {
  .prove_box .prove_title{
}
}
/*數位船票*/
.qrticket_box .title {
    background-color: #127475;
    position: relative;
    color: #fff;
    text-align: center;
    padding: 5px;
    font-size: 120%;
    font-weight: bold;
}

.qrticket_box .modal-body {
    padding: 0;
}
.qrticket_info .refresh a {
    color: #555;
    text-decoration: none;
    font-size: 105%;
}

.qrticket_info .refresh a img {
    margin: 0 5px 0 0;
}

.qrticket_info .refresh a span {
    margin: 0 0 0 5px;
}
.qrticket_box .carousel-control-next, .qrticket_box .carousel-control-prev {
    align-items: flex-start;
}

.qrticket_box .carousel-control-next img, .qrticket_box .carousel-control-prev img {
    transform: translateY(225px);
}

.qrticket_box .carousel-control-next img {
    -moz-transform: translateY(225px) scale(-1);
    -webkit-transform: translateY(225px) scale(-1);
    -o-transform: translateY(225px) scale(-1);
    -ms-transform: translateY(225px) scale(-1);
    transform: translateY(225px) scale(-1);
}
.qrticket_box .qrticket_qr img {
    max-width: 180px;
    width: 100%;
}
.qrticket_box .sales_date {
    padding: 0 0 10px 27px;
    margin-top: -15px;
}
@media screen and (max-width:400px) {
.qrticket_box .carousel-control-next img {
    -moz-transform: translateY(225px) scale(-0.5);
    -webkit-transform: translateY(225px) scale(-0.5);
    -o-transform: translateY(225px) scale(-0.5);
    -ms-transform: translateY(225px) scale(-0.5);
    transform: translateY(225px) scale(-0.5);
}
.qrticket_box .carousel-control-prev img {
    -moz-transform:translateY(225px) scale(0.5);
    -webkit-transform:translateY(225px) scale(0.5);
    -o-transform:translateY(225px) scale(0.5);
    -ms-transform:translateY(225px) scale(0.5);
    transform:translateY(225px) scale(0.5);
}
}
/*分票*/
.refund .share_bt{
    padding: 0 0 15px 0;
    border-bottom: 1px dashed #c9c9c9;
    margin: 0 0 15px 0;
}
.refund .share_bt ul {
    margin: 0;
    padding: 0;
    list-style-type: none;
}

.refund .share_bt ul li {
    display: inline-block;
    padding: 5px 10px 5px 0;
}

.refund .share_bt ul li img {max-width: 50px;}
/*個資宣告*/
.statement .box {
    background-color: #fff;
    border: 1px #e9e9e9 solid;
    border-radius: 5px;
    overflow-y: scroll;
    padding: 25px 30px;
    height: 600px;
    box-shadow: 1px 1px 7px 0 rgba(0,0,0,0.3);
    border-radius: 5px;
}
/*訂單查詢*/
.order_login {
    max-width: 610px;
    margin: auto;
    border: 1px #127475 solid;
    border-radius: 7px;
    overflow: hidden;
}

.order_login .stitle {
    background-color: #127475;
    color: #fff;
    padding: 15px;
    font-weight: bold;
    font-size: 110%;
}

.order_login .keyin_box {
    padding: 15px 30px;
    background-color: #fff;
}

.order_login .keyin_box .verify img {
    height: 50px;
    max-width: none;
}

.order_login .keyin_box .refresh img {
    height: 30px;
    max-width: none;
    margin: 0 10px;
}

.order_login .keyin_box .audio audio {
    max-width: 100%;
}

.order_login .keyin_box input {
    padding: 0.7rem 1rem;
}
/*分頁*/
.ap .page {
  padding: 15px 0 60px 0;
}

.route_card .box .page {
    padding: 0 0.7rem 15px 0;
}
.ap .page .button {
  text-align: center;
  width: 100%;
  display: inline-block;
}
.ap .page .fast_page .go a {
  display: inline-block;
  background-color: #127475;
  padding: 5px 15px;
  border-radius: 5px;
  color: #fff;
  text-decoration: none;
  margin: 10px;
}
.ap .page .fast_page .go a:hover {
  background-color: #065253;
}
.ap .page ul {
  padding: 0;
  margin: 0;
  list-style-type: none;
  text-align: center;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  -webkit-align-content: center;
  align-content: center;
}

.route_card .box .page ul {
    display: -webkit-flex;
    display:flex;
    -webkit-justify-content:flex-end;
    justify-content:flex-end;
}
.ap .page ul li {
  padding: 5px;
}
.ap .page ul li a {
  display: flex;
  background-color: #127475;
  color: #fff;
  text-decoration: none;
  border-radius: 5px;
  font-size: 105%;
  background-repeat: no-repeat;
  position: relative;
  padding: 10px 20px;
  align-items: center!important;
  justify-content: center!important;
}

.ap .page ul li a.bt_y {
    background-color: #f4cb57;
    color: #000;
}

.ap .page ul li a.bt_y:hover {
    background-color: #f4d957;
}

.ap .page ul li a img {
    width: 25px;
    margin: 0 10px 0 0;
    height: 25px;
}
.ap .page ul li a:hover {
  background-color: #065253;
}
.ap .page ul li.first a {
  background-image: url(../images/icon/page_first.svg);
}
.ap .page ul li.pre a {
  background-image: url(../images/icon/page_pre.svg);
  background-size: 7px;
}
.ap .page ul li.next a {
  background-image: url(../images/icon/page_next.svg);
}
.ap .page ul li.end a {
  background-image: url(../images/icon/page_end.svg);
}
.ap .page ul li.back a {
  background-image: url(../images/icon/ic_back.svg);
  padding: 10px 20px 10px 50px;
  background-position: left 20px top 50%;
}
.ap .page ul li.first a, .ap .page ul li.pre a {
  padding: 10px 20px 10px 50px;
  background-position: left 20px top 50%;
}
.ap .page ul li.end a, .ap .page ul li.next a {
  background-position: right 20px top 50%;
  padding: 10px 50px 10px 20px;
}
.ap .page ul li a.gray {
    background-color: #767676;
}

.ap .page ul li a.gray:hover {
    background-color: #454545;
}
.ap .fast_page {
  padding: 10px 0 0 0;
}

/*search*/
.search_box {
  letter-spacing: 0;
}
.plug_box .open_search a {
  text-indent: -9999px;
  border-radius: 50px;
  text-align: center;
  padding: 5px 25px 5px 10px;
  border: 1px #555 solid;
  color: #000;
  text-decoration: none;
  position: relative;
  display: inline-block;
  background-color: #fff;
  width: 110px;
}
.plug_box .open_search a:hover {
  background-color: #efefef;
}
.plug_box .open_search a::before {
  text-indent: 0;
  color: #000000;
  white-space: nowrap;
  display: block;
  position: absolute;
  left: 15px;
  letter-spacing: 0;
}
.plug_box .open_search a::after {
  content: "";
  position: absolute;
  border-top: solid 1px #000000;
  border-left: solid 1px #000000;
  width: 7px;
  height: 7px;
}
.search_list .search_box input {
  display: block;
  border-radius: 5px;
  width: 100%;
  text-align: center;
  background-color: #127475;
  color: #fff;
  text-decoration: none;
  padding: 10px 15px;
  border: none;
}
.search_list .search_box select {
  padding: 7px 30px 7px 15px;
  position: relative;
  background-image: url(../images/home/ic_arrow.svg);
  background-repeat: no-repeat;
  background-position: center right 10px;
  background-size: 10px;
}
.search_list .search_box .search_bt {
  border-radius: 50px;
  border: none;
  background-color: #595757;
  padding: 7px 25px;
  transition: all 200ms ease-out 0s;
  color: #fff;
}
.search_list .search_box .search_bt:hover {
  background-color: #000000;
}
.search_list .search_box .search_bt img {
  height: 15px;
  margin: 0 5px 0 0;
}
.search_list .search_box input::placeholder {
  color: #5d5d5d;
}
@media screen and (max-width: 400px) {
.searchbt {
    width: 100%;
}
}
/*radio*/
.radio_box {
    padding: 5px 0;
    position:relative;
}

.radio-inline {
  display: inline-block;
  margin-left: 10px;
}
.radio {
  display: inline;
  opacity: 0;
  width: 0;
  margin: 0;
  overflow: hidden;
  -webkit-appearance: none;
  padding: 0 !important;
}
.radio_label {
  display: inline-block;
  position: relative;
  padding: 4px 10px 4px 23px;
  cursor: pointer;
  vertical-align: bottom;
  color: #000;
  transition: color 200ms ease;
}
.radio_label:before,.radio_label:after {
  position: absolute;
  content: "";
  border-radius: 50%;
  transition: transform 200ms ease, border-color 200ms ease;
}
.radio_label:before {
  left: 0;
  top: 6px;
  width: 20px;
  height: 20px;
  background-color: #e9e9e9;
  border: 2px solid #dbdbdb;
}
.radio_label:after {
  top: 11px;
  left: 5px;
  width: 10px;
  height: 10px;
  transform: scale(0);
  background-color: #127475;
}
.radio_label:hover {
  color: #127475;
}
.radio_label:hover:before {
  border-color: #e9cb15;
}
.radio:checked + .radio_label:before {
  border-color: #127475;
}
.radio:checked + .radio_label:after {
  transform: scale(1);
}
.radio:focus {
    opacity: 1;
}

.radio {
    width: 20px;
    height: 20px;
    position: absolute;
    top: 9px;
    display: block;
}
/*checkbox*/
.styled-checkbox {
  position: absolute;
  opacity: 0;
}
.styled-checkbox + label {
  position: relative;
  cursor: pointer;
  padding: 0;
}
.styled-checkbox + label:before {
  content: "";
  margin-right: 5px;
  display: inline-block;
  vertical-align: text-top;
  width: 20px;
  height: 20px;
  background: #fff;
  border: 1px #d1d1d1 solid;
}
.styled-checkbox:hover + label:before {
  background: #fae773;
}
.styled-checkbox:focus + label:before {
  box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.12);
}
.styled-checkbox:checked + label:before {
  background: #127475;
}
.styled-checkbox:disabled + label {
  color: #b8b8b8;
  cursor: auto;
}
.styled-checkbox:disabled + label:before {
  box-shadow: none;
  background: #ddd;
}
.styled-checkbox:checked + label:after {
  content: "";
  position: absolute;
  left: 5px;
  top: 9px;
  background: white;
  width: 2px;
  height: 2px;
  box-shadow: 2px 0 0 white, 4px 0 0 white, 4px -2px 0 white, 4px -4px 0 white, 4px -6px 0 white, 4px -8px 0 white;
  transform: rotate(45deg);
}
/*tag*/
.search_list .tag {
  list-style-type: none;
  padding: 0;
  margin: 4px 0 0 0;
}
.search_list .tag li {
  display: inline-block;
  padding: 5px;
}
.search_list .tag li a {
  border-radius: 50px;
  padding: 7px 20px;
  color: #585858;
  text-decoration: none;
  display: block;
  background-color: #EEEEEE;
  letter-spacing: 0;
}
.search_list .tag li a:hover, .search_list .tag li.active a {
  background-color: #fdd35c;
}
.search_list .search_box .note {
  letter-spacing: 0;
  font-size: 90%;
  padding: 0 0 0 15px;
  color: #bd0000;
}
.search_list .search_box .day img {
  width: 30px;
  height: 30px;
}
.search_list .search_box .day a {
  display: block;
  width: 35px;
  height: 35px;
}
.search_list .search_box .day a:hover {
  background-color: #fae773;
  border-radius: 50px;
}
@media screen and (min-width: 768px) {
  .plug_box .open_search a::before {
    content: "收合搜尋";
  }
  .plug_box .open_search a.collapsed::before {
    content: "展開搜尋";
  }
  .plug_box .open_search a::after {
    top: 50%;
    -webkit-transform: rotate(45deg) translate(-50%, 0);
    transform: rotate(45deg) translate(-50%, 0);
    right: 10px;
  }
  .plug_box .open_search a.collapsed::after {
    -webkit-transform: rotate(225deg) translate(0, 0);
    transform: rotate(225deg) translate(0, 0);
    top: 35%;
    right: 12px;
  }
}
@media screen and (max-width: 768px) {
  .plug_box .open_search a::before {
    content: "展開搜尋";
  }
  .plug_box .open_search a.collapsed::before {
    content: "收合搜尋";
  }
  .plug_box .open_search a.collapsed::after {
    top: 50%;
    -webkit-transform: rotate(45deg) translate(-50%, 0);
    transform: rotate(45deg) translate(-50%, 0);
    right: 10px;
  }
  .plug_box .open_search a::after {
    -webkit-transform: rotate(225deg) translate(-50%, 0);
    transform: rotate(225deg) translate(-50%, 0);
    top: 30%;
    right: 12px;
  }
  .search_box.show {
    display: none;
  }
  .search_box.collapse:not(.show) {
    display: block;
  }
  .search_box.collapsing {
    transition: none;
  }
}
.list {
  padding: 20px 0;
}

/*文字列表*/
.ap .list .article {
  font-size: 120%;
  font-weight: 600;
  font-family: "Microsoft JhengHei";
  position: relative;
  padding: 5px;
}
.ap .list .article a {
  color: #313131;
  text-decoration: none;
  display: block;
  padding: 12px 15px;
  /* border: 1px #81b9b9 solid; */
  border-radius: 5px;
  background-color: #fff;
  position: relative;
  letter-spacing: 0;
  -webkit-box-shadow: 2px 2px 5px 0px rgba(0, 0, 0, 0.2);
  box-shadow: 2px 2px 5px 0px rgba(0, 0, 0, 0.2);
}

.ap .list .article a::before,.ap .list .article a::after {
    content: "";
    position: absolute;
}

.ap .list .article a::before {
    border-radius: 50px;
    width: 20px;
    height: 20px;
    background-color: #1b9091;
    right: 10px;
    top: 50%;
    transform: translate(0, -50%);
}

.ap .list .article a::after {
    display: block;
    width: 7px;
    height: 7px;
    border-top: solid 2px #ffffff;
    border-right: solid 2px #ffffff;
    -webkit-transform: rotate(45deg) translate(0, -50%);
    transform: rotate(45deg) translate(-1px, -50%);
    top: 50%;
    right: 20px;
}
.ap .list .article a:hover {
  background-color: #fffde7;
}
.ap .list .article .info_top, .ap .list .article .ac_date {
  font-weight: initial;
  font-size: 75%;
  letter-spacing: 0;
}
.ap .list .article .info_top .date {
  color: #747474;
  padding: 0 5px 0 0;
}
.ap .list .article .info_top .unit {
  color: #3376cd;
}
.ap .list .article .ac_date {
  bottom: 5px;
  margin: 0;
  color: #a36a00;
  line-height: 120%;
  text-align: right;
}
/*album*/
.album_list {
  position: relative;
}
.album_list .album_card {
  height: 100%;
}
.album_list .album_card a {
  border-radius: 10px;
  overflow: hidden;
  -webkit-box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.3);
  box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.3);
  background-color: #fff;
  display: block;
  color: #000;
  text-decoration: none;
  height: 100%;
}

.album_list .album_card .info_box {
  padding: 10px;
  position: relative;
}
    .album_list .album_card .pic {
  overflow: hidden;
}
.album_list .album_card .pic img {
  transition: all 250ms ease-out 0s;
  width: 100%;
}
.album_list .album_card .info_box .album_txt {
  margin: 0 0 5px 0;
  font-weight: bold;
  font-size: 105%;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

.album_list .album_card .info_box .album_portname {
    font-size: 125%;
    font-weight: bold;
    margin: 0 0 5px 0;
}

.album_list .album_card .info_box .album_map img {
    margin: -2px 4px 0 0;
}

.album_list .album_card .info_box .album_map {
    letter-spacing: 0;
}
.album_list .album_card .info_box .info_top {
  font-size: 90%;
  padding: 0 0 5px 0;
}
.album_list .album_card .info_box .in_txt {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  padding: 5px;
  line-height: 1.7rem;
}
.album_list .album_card .info_box .in_txt a {
  color: #000;
  text-decoration: none;
}
.album_list .album_card .info_box .in_txt a:hover {
  text-decoration: underline;
}
.album_list .album_card .info_box .date {
  color: #595757;
  padding: 0 10px 0 0;
}
.album_list .album_card .info_box .tag {
  border-radius: 50px;
  background-color: #EEEEEE;
  padding: 5px 10px;
  display: inline-block;
}
.album_list .album_card .info_box .unit {
  color: #3376cd;
}
.albumlist .album_card .info_box .date {
  font-size: 90%;
  color: #333333;
}
@media screen and (min-width:575px) {
    .album_list .album_card .pic {
  position: relative;
  padding-top: 67%;
  background-color: #f1f1f1;
}
.album_list .album_card .pic img {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  height: 100%;
  object-fit: cover;
}
.album_list .album_card a:hover .pic img {
  -moz-transform: scale(1.1) translate(-45%, -45%);
  -webkit-transform: scale(1.1) translate(-45%, -45%);
  -o-transform: scale(1.1) translate(-45%, -45%);
  -ms-transform: scale(1.1) translate(-45%, -45%);
  transform: scale(1.1) translate(-45%, -45%);
}
}
@media screen and (max-width:575px) {
    .album_list .album_card a:hover .pic img {
  -moz-transform: scale(1.1);
  -webkit-transform: scale(1.1);
  -o-transform: scale(1.1);
  -ms-transform: scale(1.1);
  transform: scale(1.1);
}
}
/*詳細內頁*/
.ap .detail {
  padding: 15px 0 0 0;
}
.ap .detail .top_note {
  background-color: #fae773;
}
.ap .detail .top_note ul {
  padding: 0;
  margin: 0;
  list-style-type: none;
}
.ap .detail .top_note ul li {
  padding: 0 20px 0 0;
  font-size: 95%;
  color: #555;
}
.ap .detail .d_title {
  padding: 15px 20px;
  font-size: 135%;
  font-weight: bolder;
  color: #000;
}
.ap .detail .item_list {
  padding: 0 20px;
}
.ap .detail .item_list .item {
  padding: 0 0 10px 0;
  font-size: 105%;
}
.ap .detail .item_list .i_title {
  position: relative;
  white-space: nowrap;
  padding: 0 15px 0 27px;
  color: #094593;
  font-weight: bold;
}
.ap .detail .item_list .i_title::before {
  position: absolute;
  content: "";
  width: 22px;
  height: 22px;
  border-radius: 50%;
  top: 2px;
  left: 0;
  background-image: url(../images/home/ic_info.svg);
  background-position: center;
  background-repeat: no-repeat;
}
.ap .detail .item_list .item_box {
  position: relative;
  line-height: 170%;
}
.ap .detail .item_list .item_box .item_frame {
  position: relative;
  padding-bottom: 75%;
  overflow: hidden;
  margin-top: 10px;
}
.ap .detail .item_list .item_box .item_frame iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}
.ap .detail .edit {
  padding: 20px;
}
.ap .detail .bottom_note {
  background-color: #e5e5e5;
}
.ap .detail .bottom_note ul {
  padding: 0;
  margin: 0;
}
.ap .detail .bottom_note ul li {
  list-style-type: none;
  padding: 0 10px 0 0;
  font-size: 95%;
  color: #555;
}
@media screen and (min-width:768px) {
  .ap .detail .top_note, .ap .detail .bottom_note {
    border-radius: 50px;
    padding: 15px 20px;
  }
  .ap .detail .item_list .d-md-flex .item_box::before {
    content: "：";
    color: #2d6b7a;
    position: absolute;
    left: -15px;
    top: -1px;
    font-weight: bold;
  }
}
@media screen and (max-width:768px) {
  .ap .detail .top_note, .ap .detail .bottom_note {
    border-radius: 10px;
  }
}
/*相關*/
.re_title {
  margin: 25px 20px 10px 0;
  padding: 10px 30px;
  color: #fff;
  background-color: #094593;
  display: inline-block;
  border-radius: 50px;
}
/*相關圖片*/
.re_album .lightbox_item a {
  border-radius: 10px;
  overflow: hidden;
  -webkit-box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.3);
  box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.3);
  background-color: #fff;
  display: block;
  color: #000;
  text-decoration: none;
  height: 100%;
}
.re_album .lightbox_item .pic {
  position: relative;
  padding-top: 67%;
  background-color: #e5e5e5;
  overflow: hidden;
}
.re_album .lightbox_item p {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  margin: 10px;
}
.re_album .lightbox_item .pic img {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  max-height: 100%;
  transition: all 250ms ease-out 0s;
}
.re_album.video .lightbox_item .pic {
  padding-top: 55%;
  background-color: #000;
}
.re_album .lightbox_item a:hover .pic img {
  -moz-transform: scale(1.1) translate(-45%, -45%);
  -webkit-transform: scale(1.1) translate(-45%, -45%);
  -o-transform: scale(1.1) translate(-45%, -45%);
  -ms-transform: scale(1.1) translate(-45%, -45%);
  transform: scale(1.1) translate(-45%, -45%);
}
.modal.show.lightbox .modal-dialog {
  max-width: 900px;
}
.modal.show.lightbox .lightbox-caption {
  background-color: #000;
}
.lightbox .carousel-control-next-icon, .carousel-control-prev-icon {
  background-image: url(../images/home/card_arrow_b.svg);
  width: 3rem;
  height: 3rem;
}
.carousel-control-prev-icon {
  -moz-transform: scaleX(-1);
  -webkit-transform: scaleX(-1);
  -o-transform: scaleX(-1);
  -ms-transform: scaleX(-1);
  transform: scaleX(-1);
}
/*相關連結*/
.ap .re_link {
  margin-bottom: 15px;
}
.ap .re_link ul, .ap .re_annex ul {
  list-style-type: none;
  padding: 0 10px;
  margin: 0;
}
.ap .re_link ul li {
  border-bottom: 1px #d0d0d0 solid;
  padding: 15px 0 15px 10px;
}
.ap .re_link ul li a {
  display: block;
  position: relative;
  color: #000;
  font-size: 105%;
  padding: 5px 5px 0 32px;
  text-decoration: none;
}
.ap .re_link ul li a:hover {
  color: #3376cd;
  text-decoration: underline;
}
.ap .re_link ul li a::before {
  content: "";
  background-image: url(../images/home/ic_rlink.svg);
  width: 25px;
  height: 25px;
  display: inline-block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  position: absolute;
  top: 3px;
  left: 0;
}
/*相關附件*/
.ap .re_annex ul li {
  border-bottom: 1px #d0d0d0 solid;
  padding: 15px 0 15px 36px;
}
.ap .re_annex ul li a.download {
  display: inline-block;
  padding: 6px;
}
.ap .re_annex ul li p {
  display: initial;
  position: relative;
}
.ap .re_annex ul li p::before {
  content: "";
  background-image: url(../images/home/ic_down.svg);
  width: 20px;
  height: 23px;
  display: inline-block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  position: absolute;
  top: 0;
  left: -27px;
}
/*相關語音*/
.re_audio ul {
  list-style-type: none;
  padding: 0 20px;
  margin: 0;
}
.re_audio ul li {
  border-bottom: 1px #d0d0d0 solid;
  padding: 10px;
}
@media screen and (min-width: 768px) {
  .re_audio ul li p {
    margin: 0;
  }
  .re_audio ul li audio {
    min-width: 300px;
  }
}
@media screen and (max-width: 768px) {
  .ap .re_audio audio {
    width: 100%;
  }
  }

/*網站導覽*/
.sitemap{
    padding: 0 0 70px 0;
}
.sitemap .sitemap_note {
    padding: 13px;
    line-height: 160%;
    letter-spacing: 2px;
}
.sitemap ul {
    padding: 0 5px;
    margin: 10px 0;
    list-style-type: none;
}

.sitemap ul ul {
    padding: 0 15px;
    margin: 0;
}
.sitemap ul li{letter-spacing: 1px;}

.sitemap ul li.site_title a {
    background-color: #127475;
    color: #fff;
    border-radius: 5px;
    padding: 10px;
}

.sitemap ul li.site_title a:hover {
    background-color: #148385;
    color: #fff;
}

.sitemap ul li.site_title a::before {
    display: none;
}

.sitemap ul li a {
    padding: 5px 15px 5px 25px;
    color: #000;
    position: relative;
    font-size: 105%;
    text-decoration: none;
    display: block;
}

.sitemap ul li a:hover {
    color: #127475;
}

.sitemap ul ul li a {
    font-size: 100%;
    padding: 5px 0 5px 25px;
    color: #383838;
}

.sitemap ul ul ul li a {
    font-size: 95%;
    padding: 5px 0 5px 28px;
    color: #555;
}

.sitemap ul li a::before {
    width: 0;
    height: 0;
    border-top: solid 5px transparent;
    border-right: solid 5px transparent;
    border-bottom: solid 5px transparent;
    border-left: solid 6px #292929;
    background-color: transparent;
    top: 35%;
    bottom: inherit;
    left: 10px;
    content: "";
    position: absolute;
}

.sitemap ul li a:hover::before {
    border-left: solid 6px #009688;
}

.sitemap ul ul li a:hover::before {
    border-top: solid 1px #009688;
    border-right: solid 1px #009688;
    border-left: solid 0px transparent;
}

.sitemap ul ul li a::before {
    border-top: solid 1px #2f2f2f;
    border-right: solid 1px #2f2f2f;
    -webkit-transform: rotate(45deg);
    border-left: solid 0px transparent;
    border-bottom: solid 0px transparent;
    transform: rotate(45deg);
    width: 7px;
    height: 7px;
    top: 41%;
    margin-right: 5px;
}

.sitemap ul ul ul li a::before {
    content: "_";
    border: none;
    left: 13px;
    transform: none;
    transform: none;
    top: inherit;
    margin-right: 0;
}

.sitemap ul li.level01 a {
    background-color: #d5d5d5;
    padding: 10px 15px;
    color: #000;
    text-align: center;
    font-weight: 400;
    font-size: 110%;
    margin: 5px 0;
    letter-spacing: 2px;
    border-radius: 5px;
}

.sitemap ul li.level01 a:hover {
    background-color: #fae773;
    color: #000;
}

.sitemap ul li.level01 a::before {
    display: none;
}
/*港口介紹*/
.port_album .slider-nav .slick-slide {
    padding: 5px;
}

.port_album .slider-nav .slick-slide:focus {
    outline: 3px #f44336 dotted !important;
    outline-offset: -3px;
}

.port_album .slick-slide .box {
    border-radius: 8px;
    overflow: hidden;
    position: relative;
    padding-top: 75%;
    background-color: #e5e5e5;
}

.port_album .slider-nav .slick-slide .box {cursor: pointer;}
.port_album .slick-slide .box img{position: absolute;position: absolute;left: 50%;top: 50%;transform: translate(-50%, -50%);transition: all 250ms ease-out 0s;width: 100%;height: 100%;object-fit: cover;}


.port_album .slider-for .slick-slide p {
    position: absolute;
    bottom: 0;
    background-color: rgba(0,0,0,0.7);
    width: 100%;
    color: #fff;
    margin: 0;
    padding: 10px;
}
.port_album .slider-for {
    margin: 0 0 15px 0;
}
.port_album .slider-nav {
    padding: 0 25px;
}
.port_album .slick-prev,.port_album .slick-next {
    width: 20px;
    height: 35px;
}

.port_album .slick-next {
    right: 0;
    -moz-transform: scaleX(-1) translate(0, -50%);
    -webkit-transform: scaleX(-1) translate(0, -50%);
    -o-transform: scaleX(-1) translate(0, -50%);
    -ms-transform: scaleX(-1) translate(0, -50%);
    transform: scaleX(-1) translate(0, -50%);
}

.port_album .slick-prev {
    left: 0;
}

.port_album .slick-next:before, .port_album .slick-prev:before {
    content: "";
    background-image: url(../images/icon/icon_pre.svg);
    display: block;
    width: 20px;
    height: 35px;
    position: absolute;
    background-size: cover;
    left: 0;
    top: 0;
}
.port_info{
    /* padding: 5px; */
}
.port_info .contact ul {
    padding: 10px 5px;
    margin: 0;
    list-style-type: none;
}

.port_info .contact ul li {
    display: inline-block;
    margin: 0 10px 0 0;
}

.port_info ul li img {
    margin: -5px 3px 0 0;
}
.port_info .map iframe {
    width: 100%;
    height: 600px;
}
/*港口服務位置說明*/
.editor .service_item .item {
    padding: 10px 0;
    border-bottom: 1px #cfcfcf solid;
}

.editor .service_item .item:last-child {
    border-bottom: none;
}

.editor .service_item .icon img {
    width: 50px;
    max-width: none;
}
/*船隻介紹*/
.boat_info ul {
    list-style-type: square;
    font-size: 110%;
}

.boat_info ul li {
    padding: 0 0 7px 0;
}

/*會員註冊*/
.booking .success {
    text-align: center;
    padding: 10px;
}

.booking .success img {
    max-width: 110px;
}
/*社群帳號綁定*/
.bind .rwd-table caption {
    caption-side: top;
    background-color: #127475;
    color: #fff;
    padding: 10px;
    border-radius: 7px;
    font-size: 110%;
}
.bind td a {
    display: -webkit-flex;
    display: inline-flex;
    -webkit-justify-content:center;
    justify-content:center;
    -webkit-align-items:center;
    align-items:center;
    white-space: nowrap;
    border-radius: 50px;
    padding: 10px 20px;
    text-decoration: none;
}

.bind td a img {
    height: 20px;
    margin: 0 5px 0 0;
}

.bind td .bind_bt {
    background-color: #127475;
    color: #fff;
}

.bind td .bind_bt:hover {
    background-color: #085859;
}
.bind td .log_bt {
    background-color: #ffffff;
    color: #000;
    border: 1px #dddddd solid;
}

.bind td .log_bt:hover {
    background-color: #dfdfdf;
}
/*rwd-table*/
.bind table {
  border-collapse: collapse;
  margin: 0;
  padding: 0;
  width: 100%;
  table-layout: fixed;
}

.bind table caption {
  font-size: 1.5em;
  margin: .5em 0 .75em;
}

.bind table tr {
  padding: .35em;
}

.bind table th,
.bind table td {
  padding: .7em;
  position: relative;
  text-align: center;
}

.bind table th {
  letter-spacing: .1em;
  text-transform: uppercase;
  background-color: #f4cb57;
  font-size: 105%;
}



@media screen and (min-width: 768px) {
.bind table tr {
  border-bottom: 1px solid #bdbdbd;
  padding: .35em;
}
.bind table th::after,table td::after {
    content: "";
    width: 1px;
    top: 5px;
    bottom: 5px;
    display: block;
    position: absolute;
    right: 0;
}

.bind table th::after {
    background-color: #a79152;
}

.bind table td::after {
    background-color: #c5c5c5;
}

.bind table th:last-child::after,table td:last-child::after {
    display: none;
}
}
@media screen and (max-width: 768px) {
.bind table {
    border: 0;
  }

.bind table caption {
    font-size: 1.3em;
  }
  
.bind table thead {
    border: none;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
  }
  
.bind table tr {
    display: block;
    margin-bottom: .625em;
    background-color: #fff;
    border-radius: 7px;
    box-shadow: 2px 2px 5px 0px rgba(0,0,0,0.3);
    -webkit-box-shadow: 2px 2px 5px 0px rgba(0,0,0,0.3);
    -moz-box-shadow: 2px 2px 5px 0px rgba(0,0,0,0.3);
  }
  
.bind table td {
    border-bottom: 1px solid #ddd;
    display: block;
    text-align: right;
  }
  
.bind table td::before {
    content: attr(data-label);
    float: left;
    font-weight: bold;
    text-transform: uppercase;
  }
  
.bind table td:last-child {
    border-bottom: 0;
  }
}

/*人數統計*/
.chart .downloadbt {
    text-align: right;
}

.chart .downloadbt a {
    display: -webkit-inline-flex;
    display:inline-flex;
    -webkit-align-items:center;
    align-items:center;
    background-color: #f4cb57;
    border-radius: 5px;
    padding: 8px 10px;
    margin: 0 0 10px 0;
    color: #000;
    text-decoration: none;
    font-size: 95%;
}

.chart .downloadbt a:hover {
    background-color: #f9da80;
}

.chart .downloadbt a img {
    width: 18px;
    margin: 0 4px 0 0;
}




/*相關連結*/
.ap .link {
  position:relative;
  margin: 30px 0 0 0;
}
.ap .link ul {
  display:block;
  padding:0;
}
.ap .link li {
  display:block;
  margin: 0;
  padding: 10px 10px 10px 30px;
  position: relative;
  border-bottom: 1px #bcc5c4 solid;
}
.ap .link li a {
  color:#333;
  text-decoration:none;
  display:block;
}
.ap .link li a:hover {
  color: #127475;
  text-decoration: underline;
}
.ap .link li:before {
  content: "";
  width: 9px;
  height: 9px;
  top: 41%;
  left: 10px;
  margin-right: 5px;
  position:absolute;
  background-color: #FFC107;
  border-radius: 50px;
}
/* general styling */
body {
  line-height: 1.25;
}
/*新增輪椅座位*/
.seat{
    font-weight: normal;
    font-size: 90%;
}
.seat .ic_seat img {height: 20px;margin: 0 3px 0 0;}
/*新增座位輪椅*/
.ticket_info p .ic_seat{
    background-color: #127475;
    padding: 1px 7px 5px 7px;
    border-radius: 3px;
    margin: 0 0 0 4px;
}

.ticket_info p .ic_seat img {
    height: 15px;
}