@charset "utf-8";

/* CSS Document */
/************************************************************************************
RESET
*************************************************************************************/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,figure,article,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
}
body {
    line-height: 1;	
	-webkit-text-size-adjust: none;/*防止allpe的safari瀏覽器字體變大*/
}
ol, ul {
    list-style: none;
}
blockquote, q {
    quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
    content: none;
}

/* remember to define focus styles! */
:focus {
    outline: 0;
}

/* remember to highlight inserts somehow! */
ins {
    text-decoration: none;
}
del {
    text-decoration: line-through;
}

/* tables still need 'cellspacing="0"' in the markup */
table {
   /* border-collapse: collapse;*/
    border-spacing: 0;
}

a img {
	border: none;
}

.clean { clear:both;}

.clearfix {
  overflow: auto;
}

img { max-width:100%;}

.left { float: left;}
.right { float: right;}

*{
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}


/************************************************************************************
STRUCTURE 主要區塊
*************************************************************************************/

#backtop {
    z-index: 9999;
    position: relative;
}

body {
    font-family: "Noto Serif TC", "Newsreader", serif;
    font-optical-sizing: auto;
    font-style: normal;
    background: url("../images/bg.jpg") left top repeat-y;

}

#web-outer {
    max-width: 2000px;
    overflow: hidden;
    _overflow: none;
    background: url("../images/bg-top.jpg") left top no-repeat;
}


/*======================
====Main CSS=====
=======================*/

.menu-line {
    padding: 55px 0 5px 0;
    text-align: center;
}

.menu {
    position: relative;
    z-index: 999;
}

/*======================
==== Slider CSS=====
=======================*/

.mainpic {
    display: block;
    max-width: 2000px;
    margin: 0 auto;
    margin-top: 40px;
    margin-bottom: 20px;
}

.maintitle-outer {
    position: relative;
    display: inline-block;
    max-width: 22%;
    z-index: 300;
    vertical-align: top;
    margin-top: 15%;
}

header h1 {
    text-indent: 101%;
    overflow: hidden;
    white-space: nowrap;
    position: absolute;
    width: 100%;
}

.pic-outer {
    position: relative;
    display: inline-block;
    max-width: 77%;
    z-index: 100;
}

.swiper {
    max-width: 100%;
    height: 100%;
    border-radius: 150px 0 0 0;
}

.swiper-slide {
    text-align: center;
    font-size: 18px;
    background: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
}

.swiper-slide img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}


/*======================
====nav CSS=====
=======================*/


.first {
    padding-top: 120px;
    margin-top: -120px;
}

.second {
    padding-top: 90px;
    margin-top: -90px;
}

.resort-box {
    margin: 0 auto;
    padding-bottom: 100px;
}

.feature-outer {
    max-width: 1360px;
    margin: 0 auto;
}

.news-outer {
    max-width: 1600px;
    margin: 0 auto;
}

/*---------*/
.feature-title {
    display: flex;
    flex-wrap: nowrap;
    margin: 0 auto;
    max-width: 100%;
}

.title-box {
    flex: 0 0 50%;
    justify-content: space-between;
    align-items: flex-start;
    align-content: stretch;
}

.feature-title .title-black {
    color: #2c2c2c;
    font-size: 26px;
    text-align: right;
    padding: 8px 0px 8px 8px;
    font-family: "Noto Serif TC", "Newsreader", serif;
    font-weight: 700;
}
.feature-title .title-black span { 
    padding-left: 6px;
}

.feature-title h2.title-black img {
    margin-right: 16px;
}

.feature-title .title-blue {
    color: #ffffff;
    background: #26abb3;
    font-size: 18px;
    padding: 8px;
    font-family: "Noto Serif TC", "Newsreader", serif;
    font-weight: 700;
    border-radius: 18px;
    margin-right: 80px;
    margin-left: 16px;
    text-align: left;
}

.feature-titl h2.title-blue img {
    margin-left: 16px;
}


.news-title {
    display: flex;
    flex-wrap: nowrap;
    margin: 0 auto;
    max-width: 100%;
}

.title-box {
    justify-content: space-between;
    align-items: flex-start;
    align-content: stretch;
}

.news-title .title-black {
    color: #2c2c2c;
    font-size: 26px;
    padding: 8px 8px 8px 0px;
    font-family: "Noto Serif TC", "Newsreader", serif;
    font-weight: 700;
    text-align: left;
}

.news-title h2.title-black img {
    margin-left: 16px;
}

.news-title .title-blue {
    color: #ffffff;
    background: #26abb3;
    font-size: 18px;
    padding: 8px;
    font-family: "Noto Serif TC", "Newsreader", serif;
    font-weight: 700;
    text-align: right;
    border-radius: 18px;
    margin-left: 0px;
    margin-right: 16px;
}

.news-title h2.title-blue img {
    margin-right: 16px;
}

.news-outer {
    margin: 0 auto;
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: stretch;
    padding-bottom: 60px;
}

.grid {
    flex: 0 1 23%;
    margin: 20px 1%;
    padding-bottom: 10px;
    background: #ffffff;
    border-radius: 50px 0 30px 0;
}

.grid figure img {
    border-radius: 50px 0 0 0;
}

.new-txt h3 {
    color: #423f3d;
    font-size: 20px;
    padding: 6px 8px;
    margin: 0 2px;
    border-radius: 0 0 20px 20px;
    background: #eaefb2;
    /*border-bottom: 2px solid #d9bcac;*/
    font-family: "Noto Serif TC", "Newsreader", serif;
    font-weight: 700;
    line-height: 1.6em;
}

.new-txt p {
    color: #505050;
    font-size: 16px;
    padding: 16px 16px;
    font-family: "Noto Serif TC", "Newsreader", serif;
    font-weight: 500;
    line-height: 1.8em;
}

.phuket-box,
.kiroro-grand-box,
.finolhu-box,
.albion-box,
.seychelles-box,
.sahoro-box,
.cherating-box,
.beidahu-box,
.kiroro-peak-box,
.bintan-box,
.yabuli-box,
.bali-box,
.tomamu-box,
.kani-box,
.okinawa-box,
.cannoniers-box,
.changbain-box,
.lijiang-box,
.guilin-box,
.larosiere-box,
.samoens-box,
.borneo-box
{
    padding: 5px 0;
    margin-top: -36px;
    margin-left: 0;
}

.phuket-box {
    background: rgba(126, 141, 204, 0.2);
}

.kiroro-grand-box {
    background: rgba(126, 141, 204, 0.2);
}

.finolhu-box {
    background: rgba(126, 141, 204, 0.2);
}

.albion-box {
    background: rgba(126, 141, 204, 0.2);
}

.seychelles-box {
    background: rgba(126, 141, 204, 0.2);
}

.samoens-box {
    background: rgba(126, 141, 204, 0.2);
}

.sahoro-box {
    background: rgba(36, 159, 128, 0.2);
}

.cherating-box {
    background: rgba(36, 159, 128, 0.2);
}

.beidahu-box {
    background: rgba(36, 159, 128, 0.2);
}

.kiroro-peak-box {
    background: rgba(191, 152, 142, 0.2);
}

.bintan-box {
    background: rgba(191, 152, 142, 0.2);
}

.yabuli-box {
    background: rgba(191, 152, 142, 0.2);
}

.bali-box {
    background: rgba(253, 186, 0, 0.2);
}

.tomamu-box {
    background: rgba(253, 186, 0, 0.2);
}

.larosiere-box {
    background: rgba(253, 186, 0, 0.2);
}


.kani-box {
    background: rgba(234, 152, 55, 0.2);
}

.okinawa-box {
    background: rgba(234, 152, 55, 0.2);
}

.cannoniers-box {
    background: rgba(234, 152, 55, 0.2);
}

.changbain-box {
    background: rgba(234, 152, 55, 0.2);
}

.lijiang-box {
    background: rgba(234, 152, 55, 0.2);
}

.guilin-box {
    background: rgba(116, 206, 207, 0.2);
}

.borneo-box {
    background: rgba(253, 186, 0, 0.2);
}

.resort-title {
    color: #2c2c2c;
    font-family: "Noto Serif TC", "Newsreader", serif;
    font-weight: 700;
    display: flex;
    margin: 0 auto;
    align-items: center;
    justify-content: center;
}

/*.item {
    justify-content: space-between;
}*/

.icon img {
    vertical-align: middle;
}

.resort-title-short {
    font-size: 40px;
    padding: 0 4px;
    line-height: 42px;
    text-align: left;
}
.resort-title-short span {
    padding:0 4px;
}

.resort-title-long  {
    font-size: 40px;
    padding: 0 4px;
    line-height: 42px;
    text-align: left;
}
.resort-title-long span {
    padding:0 4px;

}

.resort-title-short em {
    font-size: 22px;
    writing-mode: vertical-lr;
    font-style: normal;
}

.resort-title-long em {
    font-size: 22px;
    writing-mode: vertical-lr;
    font-style: normal;
}

.resort-title-short em.long {
    height: 46px;
    line-height: 26px;
    padding:0 4px;
}

/*----slick 自訂-----*/

.slick-box {
    position: relative;
}

.slick-box .txt {
    position: absolute;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    padding: 20px 30px;
    text-align: left;
    font-family: "Noto Serif TC", "Newsreader", serif;
    line-height: 26px;
}

.slick-box .txt span {
    color: #ffffff;
}

* {
    box-sizing: border-box;
}

.slider {
    width: 60%;
    margin: 80px auto;
}

.slick-slide {
    margin: 0px 20px;
}

.slick-slide img {
    width: 100%;
}

.slick-prev:before,
.slick-next:before {
    color: #ffffff;
}


.slick-slide {
    transition: all ease-in-out .3s;
    opacity: .2;
}

.slick-active {
    opacity: .6;
}

.slick-current {
    opacity: 1;
}

@media only screen and (max-width:1400px) {
    .slider {
        width: 80%;
    }
}

@media only screen and (max-width:1200px) {
    .slider {
        width: 100%;
    }
}

@media only screen and (max-width:768px) {
    .slick-box .txt {
        position: relative;
        background: rgba(0, 0, 0, 0.6);
        font-size: 15px;
    }
}


.tour-line {
    text-align: center;
    padding: 20px 0 50px 0;
}

/*----sp-tour-box----*/

.tour-box {
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto;
    max-width: 1024px;
    margin-bottom: 40px;
    padding-top: 50px;
    padding-left: 1%;
    justify-content: center;
    align-items: stretch;
    align-content: stretch;
}

.sp-tour {
    flex: 0 0 48%;
    margin: 20px 1%;
}

.sp-tour a {
    text-decoration: none;
    width: 100%;
    height: 100%;
    display: block;
    position: relative;
    background-color: #fffcf4;
    border-radius: 30px 0;
    margin-bottom: 26px;
}

.sp-tour-name {
    color: #303030;
    font-family: "Noto Serif TC", "Newsreader", serif;
    line-height: 1.6em;
    text-align: left;
    padding: 14px 20px;
    font-size: 20px;
    font-weight: 700;
    border-radius: 30px 0;
}

.yellow a {
    border: 1px solid #fdbe00;
}

.yellow .sp-tour-name {
    background: #ffda69;
}

.green a {
    border: 1px solid #3da57d;
}

.green .sp-tour-name {
    background: #79e7bc;
}

.purple a {
    border: 1px solid #9988d1;
}

.purple .sp-tour-name {
    background: #c0c9f1;
}

.blue a {
    border: 1px solid #4eafb0;
}

.blue .sp-tour-name {
    background: #7fdadb;
}

.brown a {
    border: 1px solid #da9d8e;
}

.brown .sp-tour-name {
    background: #ebc3b8;
}

.orange a {
    border: 1px solid #eaa048;
}

.orange .sp-tour-name {
    background: #fdbf76;
}


.sp-tour-date {
    margin: 15px 0;
    text-align: left;
}

.sp-tour-date span {
    background: #ebe6d9;
    color: #262524;
    padding: 5px;
    font-weight: 700;
    line-height: 1.6em;
}

.sp-tour-date span:empty {
    display: none;
}

.tour-info-list {
    margin: 0px 0px 60px 0px;
    padding: 8px 10px;
    box-sizing: border-box;
}

.tour-info-list li {
    font-family: "Noto Serif TC", "Newsreader", serif;
    color: #353535;
    line-height: 1.6em;
    font-weight: 700;
    font-size: 15px;
    padding-left: 20px;
    text-indent: -20px;
    text-align: left;
    letter-spacing: 1px;
}

.tour-info-list li::before {
    content: url("../images/icon03.png");
    font-size: 14px;
    padding-right: 6px;
    padding-top: 6px;
}

.tour-price {
    color: #303030;
    font: 600 14px "Noto Serif TC", "Newsreader", serif;
    text-align: center;
    line-height: 40px;
    margin-top: 20px;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
}

.tour-price span {
    color: #ff0600;
    font: 600 32px "Newsreader", serif;
}

.tour-price em {
    color: #303030;
    font: 600 14px "Noto Serif TC", "Newsreader", serif;
    font-style: normal;
}

.note span {
    color: #2c2c2c;
    background: rgba(38, 171, 179, 0.2);
    font-size: 15px;
    padding: 8px 20px;
    font-family: "Noto Serif TC", "Newsreader", serif;
    font-weight: 700;
    border-radius: 18px;
    display: inline-block;
    line-height: 20px;
}

/*-----Q&A-----*/

.toggle_wraper { padding-bottom: 100px;}
/*.bg-qa { 
  background: #000000 url("../images/bg-qa.webp") center top no-repeat; 
  padding-top:50px;
 }
.bg-qa-green { 
  background: url("../images/bg-qa.webp") center top no-repeat; 
  padding-top:50px;
 }*/
.qa-outer {  
  max-width: 1100px;
  margin:0 auto;
  padding:0 30px;
 }

.qa-subtitle { 
	font-size: 36px; 
    text-align: center;
    line-height: 40px;
    margin: 0px 0 50px 0;
  	color:#2c2c2c;
    font-family: "Noto Serif TC", "Newsreader", serif;
    font-weight: 700;

}

.qa-topic { 
    color: #2c2c2c;
    font-family: "Noto Serif TC", "Newsreader", serif;
    font-size: 24px;
    font-weight: bold;
    letter-spacing: 1px;
    line-height: 50px;
    margin: 20px 0 20px 0;
}
.qa_wraper{ border-bottom: 1px solid #8d8d8d;}

h3.qa_title > a {
    display: flex;
    padding: 20px 50px;
    color: #2c2c2c;
    font-size: 22px;
    font-weight: 700;
    position: relative;
    text-decoration: none;
    line-height: 1.6em;
    outline: none;
}
h3.qa_title > a::before{
	content: '';
	display: block;
	width: 25px;
	height: 21px;
	background: url('../images/icon-q.webp') center left;
	background-repeat: no-repeat;
	left: 16px;
	position: absolute;
} 
h3.qa_title>a.qa_active::before{
	background: url('../images/icon-q.webp') center left;
}
h3.qa_title>a::after {
    content: '';
    display: block;
    width: 15px;
    height: 10px;
    background: url("../images/icon-down.webp") center right;
	  background-repeat: no-repeat;
    position: absolute;
	  background-size: contain;
    right: 16px;
	  top:40%;
	  transition: all .3s linear;
	  transform: rotate(0deg);
}
h3.qa_title > a.qa_active::after{
  background: url("../images/icon-up.webp") center right;
	background-size: contain;
	background-repeat: no-repeat;
	transform: rotate(360deg);
}
.qa_container {
    padding: 18px 0 24px 0;
}

.qa_container > p {
    color: #575757;
    line-height: 1.7em;
    padding-left: 50px;
    text-align: left;
    font-family: "Noto Serif TC", "Newsreader", serif;
    font-size: 17px;
    font-weight: 600;
}

#BOX {display:none;}

/*------media query----------*/

@media only screen and (max-width:1024px) {

    .swiper {  border-radius: 80px 0 0 0; }
    .feature-title .title-black { flex: 0 0 70%; }
    .news-title .title-blue { flex: 0 0 30%; }
}

@media only screen and (max-width:960px) {

    .menu_content { margin-left: 10px; }
    .news-outer { flex-wrap: wrap; }
    .grid { flex: 0 0 48%; }
}
@media only screen and (max-width:900px) {

.resort-title-long span { display: block;  padding:6px 6px 0 0 ; }
}

@media only screen and (max-width:812px) {

    .maintitle-outer { max-width: 27%; }
    .pic-outer { max-width: 72%; }
}

/*---平板-----*/

@media only screen and (max-width:768px) {

    .first { padding-top: 60px;  margin-top: -60px;  }
    .second { padding-top: 0px;  margin-top: 0px; }
    .menu { display: none; }
    .menu-line { display: none; }
    .mainpic { margin-top: 50px; }
    .maintitle-outer {
        display: block;
        max-width: 40%;
        margin-top: 0;
        margin-bottom: 15px;
        padding-left: 30px;
    }
    .pic-outer {
        display: block;
        max-width: 96%;
        margin: 0 2%;
    }
    .sp-tour {
        flex: 0 0 96%;
        margin: 0 auto;
        justify-content: center;
        margin-bottom: 30px;
    }
     .feature-title .title-black {
        flex: 0 0 88%;
        font-size: 24px;
    }   
     .news-title .title-blue { flex: 0 0 26%; }
     .news-title .title-black { flex: 0 0 84%; }

    .resort-title-long {
        font-size: 33px;
        line-height: 38px;
    }
    .resort-title-short {
       font-size: 36px;
       line-height: 38px;
    }    
    .resort-title-short span {
       display: block;
       padding:6px 6px 0 0 ;
    }
}

@media only screen and (max-width:540px) {

    .resort-title-long { font-size: 30px; }
    .grid { flex: 0 0 98%; }
    .feature-title { flex-wrap: wrap; }
    .news-title { flex-wrap: wrap; }
    .feature-title .title-black {
        text-align: center;
        border-bottom: 4px solid #26abb3;
        flex: 0 0 98%;
    }

    .feature-title .title-blue { display: none; }
    .news-title .title-black {
        text-align: center;
        border-bottom: 4px solid #26abb3;
        flex: 0 0 98%;
}
    .news-title .title-blue {  display: none; }
    .title-box { flex: 0 0 98%;}
}

/*---手機版-----*/

@media only screen and (max-width:480px) {

    .maintitle-outer { max-width: 60%; }
    .feature-title  { line-height: 2.2em; }
    .feature-title span  { display: block; font-size: 26px; }
    .news-title .title-black { font-size: 23px; }
    .swiper { border-radius: 40px 0 0 0; }
    .icon { flex:0 0 20%; }

    .resort-title-long span { display: inline; }
    .resort-title-long { font-size: 28px;}
    .resort-title-short { font-size: 32px;}

}