@import url('all.css');
/*normalize.css V8.0.1*/
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

body {
  margin: 0;
}

main {
  display: block;
}

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}


hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

a {
  background-color: transparent;
}

abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

b,
strong {
  font-weight: bolder;
}

code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

small {
  font-size: 80%;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

img {
  border-style: none;
}

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

button,
input { /* 1 */
  overflow: visible;
}

button,
select { /* 1 */
  text-transform: none;
}



button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

progress {
  vertical-align: baseline;
}

textarea {
  overflow: auto;
}

[type="checkbox"],
[type="radio"] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

details {
  display: block;
}

summary {
  display: list-item;
}


template {
  display: none;
}

[hidden] {
  display: none;
}

/*-----------------------------------------*/

:root{
  --col-gap:15px;
  --topmt:50px;
}

img {
  display: block;
}



.img-responsive{
  max-width: 100%;
  margin-right: auto;
  margin-left: auto;
}

.row{
  box-sizing: border-box;
  /*border: 1px solid #f00;*/
  display: flex;
  flex-wrap: wrap;
  margin-left: calc(var(--col-gap) * -1);
  margin-right: calc(var(--col-gap) * -1);
}

[class*='col-']{
  box-sizing:border-box;
  padding: 0 var(--col-gap);
  margin-bottom: 20px;
}

.container{
  box-sizing: border-box;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}

.col-1{width:8.333333%;}
.col-2{width:16.66666%;}
.col-3{width:25%;}
.col-4{width:33.333333%;}
.col-5{width:41.666666%;}
.col-6{width:50%;}
.col-7{width:58.333333%;}
.col-8{width:66.666666%;}
.col-9{width:75%;}
.col-10{width:83.33333%;}
.col-11{width:91.66666%;}
.col-12{width:100%;}

@media screen and (min-width: 768px){
  .col-sm-1{width:8.333333%;}
  .col-sm-2{width:16.66666%;}
  .col-sm-3{width:25%;}
  .col-sm-4{width:33.333333%;}
  .col-sm-5{width:41.666666%;}
  .col-sm-6{width:50%;}
  .col-sm-7{width:58.333333%;}
  .col-sm-8{width:66.666666%;}
  .col-sm-9{width:75%;}
  .col-sm-10{width:83.33333%;}
  .col-sm-11{width:91.66666%;}
  .col-sm-12{width:100%;} 
}

@media screen and (min-width: 1024px){ 
  .col-md-1{width:8.333333%;}
  .col-md-2{width:16.66666%;}
  .col-md-3{width:25%;}
  .col-md-4{width:33.333333%;}
  .col-md-5{width:41.666666%;}
  .col-md-6{width:50%;}
  .col-md-7{width:58.333333%;}
  .col-md-8{width:66.666666%;}
  .col-md-9{width:75%;}
  .col-md-10{width:83.33333%;}
  .col-md-11{width:91.66666%;}
  .col-md-12{width:100%;} 
}

@media screen and (min-width: 1280px){
  .col-lg-1{width:8.333333%;}
  .col-lg-2{width:16.66666%;}
  .col-lg-3{width:25%;}
  .col-lg-4{width:33.333333%;}
  .col-lg-5{width:41.666666%;}
  .col-lg-6{width:50%;}
  .col-lg-7{width:58.333333%;}
  .col-lg-8{width:66.666666%;}
  .col-lg-9{width:75%;}
  .col-lg-10{width:83.33333%;}
  .col-lg-11{width:91.66666%;}
  .col-lg-12{width:100%;} 
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip-path: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}


body{
	font-family: '微軟正黑體', 'Microsoft JhengHei', sans-serif;
	font-size:18px;
  line-height: 2rem;  
  /*background: url(../image/backage.jpg) repeat;*/
}

a{
  text-decoration: none;
  color: #4a2e0a;
}
/*表頭選項*/
header{
  padding-top: 0px;
  background: #90d5f9 ;
  position: fixed;  
  z-index: 100;
  right: 0;
  left: 0; 
  top: 0;
}
@media screen and (min-width: 1024px){
  header{
    background:rgb(255,255,255,.8);
    margin-top: 25px;
  }
}

.main-menu{   
  display: flex;  
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  height: 60px; 
}
.logo{
  /*border: 1px solid #000;*/
  width: auto;
  height: 100px;
  z-index: 2;
  display: flex;
  align-items: center;  
  justify-content: center; 
}
.head-logotxt-box{
  padding-top: 15px; 
  /*border: 1px solid #000;*/  
}
.head-logoimg-box{
  align-items: center;
  height: 90px;
  /*border: 1px solid #fe0;*/
}

.head-logoimg-box img{
  height: 100%;
  margin:20px 10px 0 10px;
  z-index: 5;
  filter: drop-shadow(5px 5px 5px rgba(0, 0, 0, 0.5));
}
 
@media screen and (min-width: 1024px) {
  .logo {
    display: none;
  }
  .head-logoimg-box{
    align-items: center;
    height: 95px;
  }
  .head-logoimg-box img{
    margin-top:10px; 
  }
  .head-logotxt-box{
    display: none;
  }
  .head-logoimg-box{
   margin-top: -5px; 
  }
}


.main-menu h1{
  margin: 0;
  padding: 0;   
}
.main-nav{
  position: absolute;
  background: #90d5f9 url(../image/nav-backage.jpg);
  background-repeat: no-repeat,repeat;
  background-position: bottom left;
  background-size: 100%;
  top:100%;
  left: -100%;
  width: 100%;
  height: calc(100vh - 125px);
  padding-top: 60px;
  opacity: 0;
  transition: opacity 1s, left 0s 1s;
}
.main-nav.active{
  left: 0;
  opacity: 1;
  transition: opacity 1s;
}
.nav-box{    
    display: flex;
    flex-wrap: wrap;
    justify-content:center;     
    padding: 0 80px;  
    /*margin: -40px auto 0;*/
}

.navlogo{
  display: none;
}
a.hm{  
  /*border:1px solid #ff0;*/
  display: flex;
  justify-content: center;  
  align-content: center;
  align-items: center;
  color: #259bc7;
  background: rgba(255,255,255,.2);
  width: 100%;
  padding:5px;
  margin-bottom: 20px;  
  text-decoration: none;
  position: relative;
  font-weight: bolder;
}
a.hm::before{
  content: "";  
  width: 33px;
  height: 33px; 
  margin-right: 10px;
  /*background-image: url(../image/menu-icon-1-1.png) ; 插入圖片 */ 
  top:0px;
}
a.hm.active,
a.hm:hover{  
  content: "";
  background: rgba(255,255,255,.7);
}
a.hm:hover::before,
a.hm.active::before{
  content: "";  
  width: 33px;
  height: 33px; 
  margin-right: 10px;
  margin-top: -5px;
  background-image: url(../image/menu-icon-1-1.png) ; /*插入圖片*/ 
  
}
a.hm.active::after{  
  position: absolute;
  content: "";  
  width: 100%;
  height: 3px; 
  background-color:#fff; 
  bottom: 0;
  left: 0; 
}

@media screen and (min-width: 1024px){
  .main-nav{
    position: relative;
    left:0;
    top: 0px;
    margin: 0;
    width: auto;
    height: auto;
    padding-top: 0;
    background:none; 
    opacity: 1;   
  }  
  .nav-box{
    align-items: center;       
    padding: 0 15px; 
    
  }
  a.hm{
    width: auto;
    height: 60px;
    background: rgba(255,255,255,.0);
    padding:0px 8px;
    margin:0px 10px;
    line-height: 60px;
    text-decoration: none;
    text-align: center;
  }
  a.hm::before{
    content: "";
    display: block;
    width: 33px;
    height: 52px;
    margin-right: 0px;
    margin-top: 0px;
    background-image: none; /*插入圖片*/
    top:0px;
  } 
  a.hm:hover{
    color: #259bc7;
    font-weight: bold;
    background: rgba(255,255,255,.8);
  }
  a.hm:hover::before,
  a.hm.active::before{
    content: ""; 
    display: block;
    width: 33px;
    height: 52px;        
    margin-right: 0; 
    margin-top: 0px; 
    background: url(../image/menu-icon-1-1.png) no-repeat;    
  }
  
  .navlogo{
    display: block;
    margin-top: 0;
  }
  
  .fl-order{
    order:-1;
  }
  .fr-order{
    order:1;
  }
  
  
  .main-nav>.nav-address,
  .main-nav>.fo-social{
    display: none;
  }
   .hb{
    display: none;
  } 
  
}

.hb{
  width: 32px;
  height: 32px;
  margin-right: 10px;
  background: #a18661;
  border-radius: 16px;  
  position: relative;   
  /*top:15px;*/
  margin-left: 50px;
  align-self: center; 
}
@media screen and (max-width: 390px){
  .hb{ 
    margin-left: 10px;
  }
}

.hb:before,
.hb:after{
  content: '';
  width: 60%;
  height: 3px;
  background: #fff;
  position: absolute;
  left: 0;
  right: 0;     
  margin: auto;
}
.hb:before{
  top:8px;
  transform: ;
  transition: top .3s .3s,
        transform .3s;
}
.hb:after{
  bottom:8px;      
  box-shadow: 0px -6px 0 #fff; 
  transition: box-shadow .3s .6s, 
        bottom .3s .3s, 
        transform .3s;
}


.hb.active:before{
  top: 14px;
  transform: rotate(45deg);
  transition: top .3s .3s,transform .3s .6s;
}
.hb.active:after{
  bottom: 15px;
  transform: rotate(-45deg);
  box-shadow: 0px -8px 0px #f000;
  transition: box-shadow .3s, bottom .3s .3s, transform .3s .6s; 
}
.border-1{
  border: 1px solid #000;
}
.clear{
  clear: both;
}

.mb50{
  margin-bottom: 50px;
}
.mt50{
  margin-top: 50px;
}
.mt80{
  margin-top: 80px;
}
.clear-fix{
  clear:both;
}
.nav-mt{
  margin-top: 64px;
}
.text-center{
  text-align: center;
}
.type-red{
  color:#f00;
}
.line-w{
  width: 100%;
  height: 1px;
  background: rgba(255,255,255,.3);
  margin-top: 20px;
  margin-bottom: 20px;
}
.bwline{
  border-bottom: 1px solid #fff;
}
.color-red{
  color: #fd0101;
}
.color-lblue{
  color: #52acdb;
}

/*-------------*/
.body-welcome {
  background: #4198df;
}
.web-body{
  background: url(../image/web-bg.jpg) no-repeat #4198df;
  background-size: 100% auto;
  background-position: top 0 left;
  padding-top: 0;
  position: relative;
}
.wd-con{  
  margin-right: 20px;
  margin-left: 20px;
}
.h2web{
  text-align: center;
  font-size: 38px;
  font-weight: bolder;
  color:#fff;
  padding-bottom: 0;
  margin-bottom: -25px;
}
.wd-con{
  margin: 20px;  
  background: #fff;
  padding: 20px;
} 
.wdc-box{
  padding: 20px;    
}
.wdc-img{
  width: 100%;
  height: auto;
}
.wdc-img img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.wdc-txt h3{
  color:#4198df;
  padding: 0;
  margin: 0 0 15px 0;
}
.wdc-link{  
  display: block;
  margin-top: 20px;
  width: 100%; 
  background: #ffd647;
  text-align: center;
  font-weight: bolder;
}
.wdc-link:hover{
  background: #ff9947;
  color:#fff;
}
@media (min-width: 768px) {
  .h2web{
    font-size: 50px;
    margin-bottom: -15px;
  }
  .wd-con{
    max-width: 1280px;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 80px;
    background: #fff;
    padding: 20px;
    display: flex;
    flex-wrap: nowrap;
  } 
 .wdc-box{
    box-sizing: border-box;
    display: flex;
    flex-wrap: wrap;
  }
  .wdc-box:first-child{
    border-right:1px solid #4198df;
  }
  .wdc-img{
    width:calc(40% - 15px);
    margin-right: 15px;
  }
  .wdc-txt{
    width: 60%;
  }
}

.web-footer{
  color:#fff;
  text-align: center;
  background:#035ba3;
  margin-bottom: 0;
}

/*----------------*/
h2.h2sea {
  text-align: center;     
  font-size: 40px;
  color: #333;
  line-height: 1.8;
  margin: 20px 0;
  color:#b97f46;
}

h2.h2sea span {
  /*border:1px solid #f00;*/
  position: relative;
  display: block;   /* 讓 span 獨佔一行（換行） */
  width: fit-content;  /* 僅撐開文字寬度 */
  margin: 0 auto 10px;/*水平置中並與下方文字間距*/
  font-size: 18px;
  color: #147bb0;
  padding: 24px 42px 0 0; 
  background: url(../image/h2-bg.png) no-repeat top right;  
}

h2.h2sea span::before,
h2.h2sea span::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 85px;
  height: 2px;
  background-color: #147bb0;
}

h2.h2sea span::before {
  left: -95px;
}

h2.h2sea span::after {
  right: -95px;
}

@media screen and (max-width: 480px) {
  h2.h2sea span::before,
  h2.h2sea span::after {
    width: 40px;
  }
  h2.h2sea span::before {
  left: -55px;
  }

  h2.h2sea span::after {
    right: -55px;
  }
}


/*首頁主視覺*/

.vi-imgbox{
  display: block;
  position: relative;
  margin-top: 60px;  
  /*border: 1px solid #000;*/
}
.vi-imgbox-bg{
  position: absolute;
  width: 100%;  
  height: auto;
  left: 0;
  right: 0;
  bottom:0;
  z-index: 2;   
}
.ind-img-carousel .item img{
  width: 100%;
  height: 350px;
  object-fit: cover;
}
@media screen and (min-width: 1024px){
  .vi-imgbox{
    margin-top: 0px;
  }
  .vi-imgbox-bg img{
    width: 100%;
  }
  .ind-img-carousel .item img {
    height: auto;          
    object-fit: contain;   
  }
}

/*----------------------------------*/
.ind-room-box{  
  background: url(../image/ind/beach-bg-1.jpg),url(../image/ind/beach-bg-2.jpg);
  background-repeat: repeat-x, repeat;
  background-position: top left, top left;
  padding-top: 1px;
  padding-bottom: 20px;   
}

.ind-room-list{  
  max-width: 1200px;
  margin-right: auto;
  margin-left: auto;
}


.irl-img-box{ 
  margin: 0 auto;
  padding: 8px; 
  width: calc(100% - 46px);   
  box-sizing: border-box; 
  position: relative; 
  background-color: #fff;  
}
.irl-img-tit{
  position: absolute;
  right: 0;  
  bottom: 30px;
  padding:0 15px;  
  background: linear-gradient(to right, rgba(255, 255,255, 0), rgba(255, 255, 255, 1));
  transition: transform 0.3s ease, background 0.3s ease;
  z-index: 2;
}
.irl-img-tit h3{
  padding: 5px 15px;
  margin: 0;color:#106895;
} 
.irl-img-box>.pic{
  position: relative;
  width: 100%;      
  padding-bottom: 75%;
  overflow: hidden;
}
.irl-img-box>.pic img{
  position: absolute;
  vertical-align: middle;
  width: 100%;
  height: 100%; 
  object-fit: cover;  
  transition: transform 0.3s ease;    
}
@media screen and (min-width: 768px){
  .img-box{
    float: left;
    width: 50%; 
  }
}

.irl-img-box:hover .irl-img-tit{
  transform: translateX(-75%);
  background: linear-gradient(to right, rgba(255, 255,255, 1), rgba(255, 255, 255, 1));
}  

.irl-img-box:hover>.pic img{
  transform: scale(1.5);
}

   
.ind-room-carousel .owl-nav button.owl-next, 
.ind-room-carousel .owl-nav button.owl-prev{  
  position: absolute;
  top: 0;
  bottom: 0;   
}
.ind-room-carousel .owl-nav button.owl-next:hover, 
.ind-room-carousel .owl-nav button.owl-prev:hover{
  background:none;
}
.ind-room-carousel .owl-nav button.owl-next{
  right: 10px;
}
.ind-room-carousel .owl-nav button.owl-prev{
  left: 10px;
}

.ind-room-carousel .owl-nav button.owl-next span, 
.ind-room-carousel .owl-nav button.owl-prev span{
  display: block;
  color: #fff;   
  border-radius: 15px;
  background:#b99988; 
  width: 30px;
  height: 30px;
  font-size: 30px;  
  line-height: 20px; 
  text-align: center;
  margin: auto 0; 
}

.ind-room-carousel .owl-nav button.owl-next span:hover, 
.ind-room-carousel .owl-nav button.owl-prev span:hover{
  background: #865f4a; 
}
.ind-room-carousel .owl-nav button.owl-dot.active span,
.ind-room-carousel .owl-nav button.owl-dot:hover span {
  background: #865f4a;   
}
.ind-room-carousel .owl-dots button.owl-dot span {
  background: #b99988;    
}
.ind-room-carousel .owl-dots button.owl-dot.active span {
  background: #865f4a;;    
}
/*--------------------*/

.ind-news-box{
  display: block;
  background: url(../image/ind-news-bg.jpg) #e5e4d2 no-repeat right bottom;
  background-size: 100%;
  padding: 20px 20px 110px 20px;
}

.nnew-img,
.nlb-img{
  box-sizing: border-box; 
  /*border: 3px solid #f00;*/
  width: 100%;   
  background: #fff;
  margin-bottom: 25px;
}
.nnew-img .pic,
.nlb-img .pic{
  position: relative;
  padding: 10px;  
  width: calc(100% - 20px);
  padding-bottom: 70%; 
}
.nnew-img .pic img,
.nlb-img .pic img{
  position: absolute;
  width: calc(100% - 20px);
  height: calc(100% - 20px);
  object-fit: cover;
}
.nlb-info{
  box-sizing: border-box;
  padding: 10px;
}
.nlb-info h3{
  padding: 10px 0px;
  margin-block-start:0px;
  margin-block-end:0px;
}
.nlb-summary{
  margin-bottom: 20px;
}
.nlb-link{
  background: #a875ac;
  text-align: center;
}
.nlb-link:hover{
  background: #fbbbb1; 
}
.nlb-link a{
  color:#fff;
}
.nlb-link:hover a,
.nlb-link a:hover{
  color:#c71403;
}

@media screen and (min-width: 768px){
  .h2-new{
    display: inline-block;
    margin-left: 25%;   
  }
  .ind-news-box{
    padding-bottom: 80px;
  }
  .new-list-box{
    display: flex;
    flex-wrap: wrap;
    justify-content:center;
    /*align-items: center;*/         
    max-width: 1200px;
  }  
  
  .nlb-img{
    width: calc(40% - 75px); 
    margin-bottom: 0;   
  }
  .nlb-img:nth-child(odd){
    margin-left: 50px;
    margin-right: 25px;
  }
  .nlb-img:nth-child(even){
    margin-left: 25px;
    margin-right: 50px;
  }
  .nnew-img {
    display: flex; 
    flex-wrap: wrap;  
    width: calc(33.333% - 70px);
    margin-left: 24px;
    margin-right: 24px;     
  }
  .nnew-img .pic {
    width: 100%;
    height: 225px;
    padding-bottom: 0;
  }
  .nnew-img .pic img{
    position: relative;
    width: 100%;  
    height: 100%;
  }
  .nlb-info{
    width: 100%;
    display: flex;
    flex-wrap: wrap; 
    flex-grow: 1;
   /* border: 1px solid #000;*/
  }   
  
  .nlb-info h3,
  .nlb-summary,
  .nlb-link{ 
    width: 100%;
    /*border: 1px solid #f00;*/
  }
  .nlb-info h3{
    align-items: flex-start;    
  }
  .nlb-link{
    align-items: flex-end;
  }
}
@media screen and (min-width: 1921px){
  .ind-news-box{
    padding-left: 15%;
  }
}
@media screen and (min-width: 1200px){
  .buy-info-box{
      /*width: calc(25% - 10px);*/
      height: auto;
  }  
}

/*-------關於我們-----------*/
.about-con{
  box-sizing: border-box;
  max-width: 1980px;
  margin: 80px auto;
}
.gallery {
  display: flex;
  flex-wrap: wrap;
  width: 90%; 
  margin-right: auto;
  margin-left: auto; 
  gap: 20px;
}

.main-image {
  width: 100%;
  opacity: 0;
  transform: translateX(30px);
  transition: all 0.6s ease;
}

.main-image .pic {
  width: 100%;
  padding-bottom: 75%;
  position: relative;
}

.main-image .pic img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  opacity: 1;
  transition: opacity 0.3s ease;
}

.thumbnails {
  display: flex;
  flex-wrap: wrap;
  align-content: center;
  justify-content: space-between;
  width: 100%;
  margin-top: 10px;
  opacity: 0;
  transform: translateX(-30px); 
  transition: all 0.6s ease;
}
.thu-head{
  width: 100%;
  margin-bottom: 10px;
}

.thumb-box {
  width: calc(25% - 10px); 
  margin-bottom: 10px;
}
.thumb-box img {
  width: 100%;
  height: 100px;
  object-fit: cover;
  border: 2px solid #ccc;
  cursor: pointer;
}
.thumb-box img.active {
  border-color: #0ee0ff;
}
.abo-mobile{
  display: show;
}
.abo-desktop{
  display: none;
 }


@media (min-width: 990px) {
  .main-image {
    width: 60%;
  }
  .thumbnails {
    width: 38%;
    margin-top: 0;
  }
  .gallery {
    flex-wrap: nowrap;
  }
  .gal-img-order{
    order: 1;
  }
  .gal-thu-order{
    order: 100;
  }
  .abo-mobile{
    display: none;
  }
  .abo-desktop{
    display: block;
  }

}

.show-ani {
  opacity: 1;
  transform: translateY(0);
}

.abo-summary{
  width: 100%;
  margin-bottom: 20px;
  color: #8e8f90;
}
.abo-title,
.abo-title-1{
  font-size: 30px;
  line-height: 30px;
  font-weight: bolder;
}
.abo-title{
  color: #0076b3;  
}
.abo-title-1{
  color: #059cf4;
}
.abo-title span,
.abo-title-1 span{
  display: block;
  margin-top: 15px;
  font-size:22px;
  line-height: 22px;
  font-weight: normal;
}
.abo-summary h3{
  font-size:18px;
  line-height: 18px;
  margin-bottom: 10px;
  /*border: 1px solid #000;*/
}
.abo-summary p{
  margin-top: 10px;
  line-height: 1.2em;
  /*border: 1px solid #000;*/
}


footer{
  background:#369cd1;
  color:#fff;
  padding-top: 20px;
}
footer a{
  color: #fff;
}
.footer-container{ 
  display: flex; 
  flex-wrap: wrap;
  padding: 15px;
  max-width: 1200px;
  margin: 0 auto;  
}
.fc-logo{
  width: 100%;
  text-align: center;
}
.fc-logo h3 {
  margin: 10px;
}
.fc-logo h3 span{
  font-size: 13px;
  display: block;
  font-family:  'Georgia', sans-serif;
}
.fc-info{
  display: flex;
  flex-wrap: wrap;
}
.fci-contact,
.fci-qrcode{ 
  box-sizing: border-box;  
}
.fci-contact a{
  box-sizing: border-box;
  display: block;
  padding: 5px;
  padding-left: 15px;
  margin: 0 0 5px 0;
  border: 1px solid #fff;
}
.fci-contact a:hover{
  background: #fff;
  color:#2a7eaa;
}
.fci-contact h4,
.qr-box h4{
  margin-top: 10px;
  margin-bottom: 10px;
}
.fci-contact{
  width: calc(50% - 10px);
  margin-right: 10px;
}
.fci-qrcode{
  width: 50%; 
  display: flex; 
  flex-wrap: wrap; 
  align-content: flex-start;
  justify-content: center;
}
.qr-box{
  width: calc(50% - 20px);
  padding: 5px;  
  margin-right: 10px;
}
.qr-box h4{
  text-align: center;
}
.qr-box img{
  box-sizing: border-box;
  padding: 5px;
  width: 100%;
  height: auto;
  background: #fff;
}
.fci-introduction,
.fci-introduction h4{
  font-size: 13px;
  line-height: 16px;
  width: 100%;
}
.fci-introduction em{  
  font-style: normal;
}
.copyright{
  background: #2a7eaa;
  text-align: center;
  font-size: 13px;
  margin-bottom: 0;
}


@media (min-width: 990px) {
  .footer-container{
    display: flex;
    }
  .fc-logo{
    width: 300px;
    margin-right: 20px;
  }
  .fc-info{
    width: calc(100% - 320px);    
  } 
  .fci-contact{
    width: calc(40% - 10px);
  }
  .fci-qrcode{
    width: 60%; 
  }   
  .qr-box{
    width: calc(25% - 20px);
  }
  
}

/*breadcrumb*/
.breadcrumb{
  text-align: center;
  padding-top: 90px;
  background: url(../image/breadcrumb-bg.jpg),url(../image/r-area-bg.jpg);
  background-position:center,center;
  background-repeat:repeat-x,repeat;
  background-size: cover;
}
.bre-con{
  box-sizing: border-box;
  max-width: 1280px;
  height: 130px; 
  margin-right: auto;
  margin-left: auto;   
  /*padding-top: 30px;*/
}
.bre-con h2{
  font-size: 38px;
  font-weight: bolder;
  color:#fff;  
  margin-bottom: 10px;
  text-align: center;
}
.bre-con ul{  
  list-style-type: none;
  text-align: center;
}
.bre-con ul li{
  display: inline-block;
}
.bre-con ul li::before{
  content: '/';
  margin-right: 5px;
}
.bre-con ul li:first-child::before{
  content: '';
  margin-right: 0px;
}

@media (min-width: 1024px){
  .breadcrumb{
    background-size: contain;
  }
  .bre-con{
    padding-top: 10px;
    height: 180px;
  }
}

/*房間*/
.section-room{
  background:url(../image/r-area-bg.jpg) center repeat;
  margin: 0;
} 
.room-area{  
  padding: 10px;
}
.ra-contact{ 
  position: relative; 
  max-width: 1380px;
  margin-right: auto;
  margin-left: auto;
  /*border: 1px solid #f00;*/
  margin-bottom: 60px;
  opacity: 1;
  transform: translateY(50px);
  transition: all 0.2s ease;
}
.ra-contact.animated{
  opacity: 1;
  transform: translateY(0);
}
.room-item{
  background: #4dbaf3;
  color:#fff;
  margin: 15px;
  margin-bottom: 30px;
  max-width: 100%;
  opacity: 0;
  transform: translateY(50px);
  transition: all 0.6s ease;
}
.room-item.animated {
  opacity: 1;
  transform: translateY(0);
}
.room-item a{
  color: inherit;
  text-decoration: none;
  display: block;
}
.ri-img{
  position: relative;
  width: 100%;
  padding-bottom: 75%;  
  overflow: hidden;  
}
.ri-img img{
  position: absolute;
  width: 100%;
  height: 100%; 
  object-fit: cover;
  transition: transform 0.4s ease;   
}
.room-item:hover .ri-img img {
  transform: scale(1.05);
}
.ri-txt{
  padding: 10px;
}

.ri-price{ 
  display: flex;
  flex-wrap: wrap; 
  margin-left: 10px;
  margin-top: 10px;
}
.month-w,
.month-g{
  width: 60px;
  padding: 3px 10px;
  margin: 10px 0;
}
.month-w{
  background: #fff;
  color: #4dbaf3;
}
.month-g{
  background: #cfcfa4;
  color: #fff;
}

.month-price{
  display: inline-block;
  margin-left: 20px;
}
.ri-notice{  
  color:#fff;  
  padding-top: 20px;
  margin: 15px;
  margin-bottom: 30px;
  max-width: 100%;
  opacity: 0;
  transform: translateY(30px);
  transition: all 0.6s ease;
  background:url(../image/room/ri-not-bg.jpg) no-repeat #5e575d;
  background-position: left 0 bottom 0;
  background-size: cover;
  height: 700px;
}
.ri-notice.animated {
  opacity: 1;
  transform: translateY(0);
}
.ri-notice h3{
  color:#fff;
  background: rgba(255,255,255,.3);
  text-align: center;
  padding: 8px;
}
.ri-notice p{
  margin: 30px;
}
.ri-notice span{
  display: inline-block;
  margin-bottom: 5px;
  color:#fbd005;
  font-weight: bolder;
}
.ri-notice a{
  color: #5e575d;
  display: inline-block;
  font-weight: bold;
  padding: 5px 15px;
  background: rgba(255,255,255,.7);
  margin-bottom: 20px;
  border-radius: 20px;
}
.ri-notice a:hover{
  color: #fff;
  background: #5e575d;  
}
.more{
  margin: 20px 10px;
  padding: 5px;
  text-align: center;
  background: #bae1f6;
  color: #0c6a9c !important;
  border-radius: 20px;
}
.more:hover{
  background: #0c6a9c;
  color: #bae1f6 !important;;
}
@media (min-width: 768px){
  .ra-box{
    width: 100%;
  }
  .ra-contact{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }
  .room-item,
  .ri-notice{
    width: calc(50% - 30px);
  }  
  .ri-notice{
    height: auto;
    background-size: contain;
  }
}
@media (min-width: 1280px){
  .room-item,
  .ri-notice{
    width: calc(33.3333% - 30px);
  }
}


/*單一房間*/
.room-single-img{
  width: 100%;
  box-sizing: border-box;
  /*border: 5px solid #f025;*/
  background: #fff;
  margin-top: auto;
  margin-bottom: auto;
}
.room-single-txt{
  box-sizing: border-box;
  padding: 20px;  
  color:#fff;
  background: #4dbaf3;
}

.room-single-carousel .item img{
  width: 100%;
  object-fit: cover;
}
.room-single-carousel .owl-dots {
    position: absolute;
    bottom:0px;
    right: 0;
    left: 0;  
    text-align: center;
    -webkit-tap-highlight-color: transparent;
}
@media screen and (min-width: 1024px){
  .room-single-carousel .item img {            
    object-fit: contain;   
  }
  .room-single-img{
    width: 60%;
  }
  .room-single-txt{
    width: 40%;
  }
}

.room-notice{
  margin-top: -180px;
  padding-top: 200px;
  padding-bottom: 60px;
  background: #efefef;
}

.rn-container{
  /*border: 1px solid #f00;*/
  max-width: 1380px;
  margin-right: auto;
  margin-left: auto;
}


.tab-wrapper {
  margin-left: 20px;
  margin-right: 20px;
  display: flex;
  flex-direction: column;
}

select.tab-select {
  width: calc(100% - 40px);
  margin-bottom: 0px;
  margin-left: 20px;
  padding: 10px;
  border-radius: 6px;
  background-color: #4dbaf3;
  border: none;
  font-size: 18px;
}
.tab-menu {  
  display: none;
  flex-direction: column;
  margin-right: 20px;
}
.tab-item-img{
  text-align: center;
  color:#1a96d7;
}
.tab-item-img b{
  display: inline-block;
  margin-top: 10px;
  margin-bottom: 10px;
}
.tab-item {
  background-color: #ccc;
  padding: 8px;
  margin-bottom: 8px;  
  cursor: pointer;
  text-align: center;
}
.tab-item.active {
  background-color: #4dbaf3;
  color: #fff;
}
.tab-content-box {
  position: relative;
  flex-grow: 1;
  min-height: 200px; 
 /* border: 1px solid #af0;*/
}
.tab-content {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #fff;
  padding: 20px;
  opacity: 0;
  transform: translateX(-15px);
  transition: all 0.4s ease;
  z-index: 0;
  pointer-events: none;
}
.tab-content.active {
  bottom: 0;
  opacity: 1;
  transform: translateX(0);
  z-index: 1;
  pointer-events: auto;
  position: relative; 
}
/* 桌機樣式 */
@media screen and (min-width: 768px) {
  .tab-wrapper {
    flex-direction: row;
  }
  .tab-content-box {
    top:0;
    bottom: 0;
  }
  select.tab-select {
    display: none;
  }
  .tab-menu {    
    width: 30%;
    display: flex;
  }
  .tab-content-box{
    width: 70%;
  }
}


.flytable{
  width: 100%;
  background: #fff;
  padding:5px;
  border: 1px solid #4dbaf3;
  border-collapse: collapse;
}
.flytable th,
.flytable td{
  border: 1px solid #4dbaf3;
  text-align: center;
}
.flytable th{  
  color:#2a7eaa;
  font-weight: bolder;
}
.price-month-1{
  margin-bottom: 30px;
}
@media screen and (min-width: 990px) {
  .room-price{
    display: flex;
    flex-wrap: nowrap;
  }
  .room-price h2{
    width: 100%;
}
  .price-month-1{
    width: 72%;
  }
  .price-month{
    width: 28%;
  }
  .tdnoshow{
    display: none;
  }
}
ul.room-info-ul{  
  /*border: 1px solid #f00;*/
  margin-top: -15px;
  padding-top: 0;
  padding-left: 20px;
}
ul.room-info-ul li::before{
  content: "";  
  background-image: url('../image/li-arrow.png');
  background-size: contain;/* 調整圖片大小 */
  background-position: center; /* 調整圖片位置 */
  display: inline-block; /* 確保伪元素是區塊級 */
  width: 13px; /* 設定寬度 */
  height: 13px;
  margin-right: 5px;
}
ul.room-info-ul li{  
  display: inline-block;
  width: 100%; 
}
ul.room-info-ul li.half{
  width: 45%;
}

/*訂房須知*/
.notice-mustknow,
.notice-process,
.notice-unsubscribe{
  opacity: 0;
  transform: translateY(30px);
  transition: all 0.6s ease;
}
.notice-mustknow.animated,
.notice-process.animated,
.notice-unsubscribe.animated {
  opacity: 1;
  transform: translateY(0);
}
.notice-mustknow{
  margin:0 20px 50px;  
  padding: 20px;
  padding-bottom: 140px;  
  background:url(../image/not-must-bg.jpg) #f1f7fb no-repeat; 
  background-size: contain;
  background-position: left bottom;
  font-size: 18px;
}
.notice-process{
  margin:0 20px 50px;  
  padding: 20px;
  padding-bottom: 140px;  
  background:url(../image/not-proc-bg.jpg) #f1f7fb no-repeat; 
  background-size: contain;
  background-position: right bottom;
  font-size: 18px;
}
.notice-unsubscribe{
  margin:0 20px 50px;  
  padding: 20px;
  padding-bottom: 140px;  
  background:url(../image/not-unsu-bg.jpg) #ebb75c no-repeat; 
  background-size: contain;
  background-position: left bottom;
  font-size: 18px;
  color:#fff;
}

.notice-mustknow h2 span,
.notice-process h2 span,
.notice-unsubscribe h2 span{
  display: inline-block;
  margin-right: 10px;    
  padding: 15px;
  background: rgba(53,200,255,0.36);
}

.not-mus-con>ul>li.color-lblue{
  color:#f00;
}
.not-pro-con>ul>li.color-lblue,
.not-pro-con>ul>li>.color-lblue{
  color:#006d7f;
  font-weight: bold;
}
@media screen and (min-width: 600px) {
  .notice-mustknow{ 
    box-sizing: border-box;
    width: 100%;  
    padding-top: 60px;
    padding-right: 30px; 
    padding-bottom: 80px;
  }
  .notice-process,
  .notice-unsubscribe{
    padding-bottom: 80px; 
  }
  .notice-mustknow h2,
  .notice-unsubscribe h2{
    margin-left: 21%;    
    color:#fff;
    font-weight: bolder;
  }  
  .not-mus-con,
  .not-uns-con{
    margin-left: 21%;
    background: rgba(255,255,255,.5);
    padding: 20px;
  }
  .not-pro-con{
    margin-left: 5%;
    margin-right: 5%;
    background: rgba(255,255,255,.5);
    padding: 20px;
  }
  .notice-process h2{
    margin-left: 5%;    
    color:#fff;
    font-weight: bolder;
  }
  .not-uns-con{
    background: rgba(131,87,11,0.5);
    margin-right:50px;
  }
}

/*///////////////*/
.news-container{  
  background: #fff; 
  margin: 0 20px 60px;
  padding: 20px;
}
.news-container h3{
  color:#035ba3;
  border-bottom: 1px solid #e6e6e6;
  padding-bottom: 15px;
}
.newsdate{  
  text-align: right;
  font-size: 13px;
}
.news-01-img img{
  max-width: 100%;
}
.afly-news-2 img{
  max-width: 100%;  
}
@media screen and (min-width: 769px) {
  .news-container{ 
    padding: 80px;
  }
}

.page{
  text-align: center;
}
.pagination {
    display: inline-block;
    padding-left: 0;
    margin: 20px 0;
    border-radius: 4px;
}

.pagination>li {
    display: inline-block;
    margin-right: 20px;
}

.pagination>li>a,
.pagination>li>span {
    position: relative;
    font-size: 12px;
    font-family: Arilal,serif;
    float: left;
    padding: 6px 10px;
    margin-left: -1px;
    line-height: 1.42857143;
    color: #337ab7;
    text-decoration: none;
    background-color: #fff;
    border: 1px solid #ddd;
}

.pagination>li>a:focus,
.pagination>li>a:hover,
.pagination>li>span:focus,
.pagination>li>span:hover {
    z-index: 2;
    color: #23527c;
    background-color: #eee;
    border-color: #ddd;
}

.pagination>li:first-child>a,
.pagination>li:first-child>span {
    margin-left: 0;
    border-top-left-radius: 4px;
    border-bottom-left-radius: 4px;
}

.pagination>li:last-child>a,
.pagination>li:last-child>span {
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px;
}

.pagination>.active>a,
.pagination>.active>a:focus,
.pagination>.active>a:hover,
.pagination>.active>span,
.pagination>.active>span:focus,
.pagination>.active>span:hover {
    z-index: 3;
    color: #fff;
    cursor: default;
    background-color: #337ab7;
    border-color: #337ab7;
}

.pagination>.disabled>a,
.pagination>.disabled>a:focus,
.pagination>.disabled>a:hover,
.pagination>.disabled>span,
.pagination>.disabled>span:focus,
.pagination>.disabled>span:hover {
    color: #777;
    cursor: not-allowed;
    background-color: #fff;
    border-color: #ddd;
}

/*交通資訊*/
.howtogo,
.ship-con{ 
  width: 100%;
}
.ship-col{
  padding: 0 10px;
  margin-bottom: 50px;
}
.htg-map{
  position: relative;
  width: 100%;
  padding-bottom: 300px;
  border:2px solid #fdcead;
}
.htg-map iframe{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border:0;
}
.tra-h3{
  color:#d35204;
}
.go-south,
.go-north{
  margin-bottom: 30px;
}
.go-south-tit,
.go-north-tit{  
  background: #fab954;
  padding: 5px 10px;
  font-weight: bolder; 
}
.car-info ul{
  margin: 0;
}
.car-info h4{
  margin-bottom: 10px;
}

/*表格*/
.table-ferry{
  width: 100%;  
  border-collapse: collapse;
}
.table-ferry caption{
  font-size: 22px;
  font-weight: bold;
  margin-bottom: 15px;
}
.table-ferry th,
.table-ferry td{
  text-align:center;
}
.table-ferry img{
  display: block;
  width: 100%;
}

/*東琉*/
.dlship caption{
  color:#095879; 
}

.dlship thead th{
  background: #6ba6bf;
  color:#095879;
  text-align: center;
}

.dlship th,
.dlship td{
  border: 1px solid #095879;
  border-collapse: collapse;
}

/*藍白*/
.lbship caption{
  color:#0161e2; 
}
.lbship thead th{
  background: #b8deff;
  color:#0161e2;
}
.lbship th,
.lbship td{ 
  border: 1px solid #0161e2;
}

/*泰富*/
.tfship caption{
  color:#f05500;
}
.tfship thead th{
  background: #f5d733;
}
.tfship th,
.tfship td{
  border: 1px solid #bd8f02;
  border-collapse: collapse;
}

/*大福*/
.dfship caption{
  color:#5f8f7f;
}
.dfship thead th{
  background: #5f8f7f;
  color:#ffed99;
}
.dfship th,
.dfship td{
  border: 1px solid #5f8f7f;
  border-collapse: collapse;
}
.weekdays{
  background: #00c617 !important;
  color:#fff !important;
}
.weekends{
  background: #ae2020 !important;
  color:#fff !important;
  border: 1px solid #ae2020 !important;
}

/* ===== Scoped Tabs (no conflicts) ===== */
.stabs { 
  --tab-h: 40px; 
  --gap: 10px; 
  --bd: 0px solid #ffe2af; 
  --bg: #ffe2af; 
  --tab-bg: #ffe2af; 
  --tab-active: #ffe2af; 
  --tab-inactive: #ffe2af; 
  --ink: #222; 
  width: 100%;
  /*border:1px solid #000;*/
}

.stabs-nav {
  display: flex;
  gap: var(--gap);
  padding-left: calc(var(--gap) + 6px);
  /* 讓卡籤看起來「探出」外框上方 */
  translate: 0 12px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  justify-content: center;
  margin-bottom: 12px;
}

.stabs-tab {
  appearance: none;
  border: var(--bd);  
  border-bottom: none; 
  /* 與面板無縫 */
  background: var(--tab-inactive);
  background-image:linear-gradient(to bottom,#c6eaef,#71979d);
  color: var(--ink);
  height: var(--tab-h);
  padding: 0 18px;
  line-height: calc(var(--tab-h) - 2px);
  border-radius: 0;
  white-space: nowrap;
  cursor: pointer;
  font: inherit;
}
.stabs-tab:is(:hover,:focus-visible){ 
  outline: none;
  background-image:linear-gradient(to bottom,#c6eaef,#71979d); 
  color:#fff;
}
.stabs-tab.is-active{
  background: var(--tab-active);
  border: 2px solid #dedbdb;
  border-bottom: 0;
  position: relative;
  z-index: 2; /* 蓋住外框上緣 */
  color:#000;
  font-weight: bolder;
}

.stabs-panels{
  border: var(--bd);
  background: var(--bg);
  padding: 28px 20px;
  border-radius: 0;
  border-top: 2px solid #dedbdb;
  /* 讓卡籤能壓在外框上方 */
  margin-top: -2px;
}
.stabs-panel{ min-height: 220px; }
.stabs-panel[hidden]{ display: none; }

@media screen and (min-width: 990px){
  .howtogo,
  .ship-con{  
    display: flex; 
    max-width: 1380px;
    margin-right: auto;
    margin-left: auto;
    /*border: 1px solid #f00;*/
    margin-bottom: 60px;
  }

  .htg-map{
    position: relative;    
    width: calc(35% - 20px);
    margin-right: 20px;
    padding-bottom: 50%;
    border:2px solid #fdcead;
    }
  .htg-map iframe{
    position: absolute;
    height: 100%;
    border:0;
  }
  .htg-txt{
    width: 65%;
  }
}

@media screen and (min-width: 1380px){
  .ship-col{
    width: 33.3333%;
  }  
}