@charset "UTF-8";
:root{
  --color-sp: #e4ffea;
  --color-default: #efefef;
}
h2{font-size: var(--big-size); color: var(--color-bk);border-bottom: 1px solid var(--color-light-gray); font-weight: 700;}
h3{font-size: var(--third-size); color: var(--color-g); padding: 0 15px; font-weight: 700; line-height: 1.75; margin-bottom: 5px;}
p{font-size: var(--fourth-size); color: var(--color-k); line-height: 1.75; padding: 0 2%; font-weight: 500;}
p a{color: var(--color-link); text-decoration: underline;}

.action-bg{width: 100%; background: var(--color-default); padding: 20px 0 80px; display: inline-block; margin-bottom: 40px;}
.action-td{width: 1280px; padding: 0 30px; margin: 0 auto;}
.hr{border: 0; height: 1px; margin: 20px 0; background-image: linear-gradient(to right, rgba(0,0,0,0), rgba(0,0,0,0.75), rgba(0,0,0,0));}
.kv-tit{float: left; margin: 20px 0; padding-bottom: 10px; width: 100%;}
.kv-pic{width: 96%; margin: 10px 2% 20px;}
.introduce{font-weight: 700; margin-bottom: 5px; color: var(--color-k);}
.directions{text-align: center; margin-bottom: 20px; display: block;}
.date-wrap{display: flex; justify-content: space-evenly; width: 70%; margin: 40px auto;}
.date-td{flex: 1; text-align: center; margin: 0 20px; padding: 20px; border-radius: 40px; border-left: 10px solid var(--color-default); border-right: 10px solid var(--color-default);}
.date-td p{font-weight: 700; color: var(--color-k); font-size: var(--second-size);}
.date-td p span{display: block;}
.ps{display: table; font-size: var(--basics-size); color: var(--color-grey); line-height: 2; font-weight: 500; margin: 20px auto; text-align: left;}
.ps li{list-style-type: disc;}
.ps2{margin: 10px 40px;}
.ps2 li{list-style-type: disc; margin-bottom: 5px; font-size: var(--fourth-size); color: var(--color-g); line-height: 1.875; font-weight: 700;}
.ps2 li:last-child{margin-bottom: 0;}
.ps2 li span{color: var(--color-k); font-size: var(--fourth-size);}
.ps-btn{display: inline-block; padding: 2px 20px 3px; background-color: #fdaa2c; color: var(--color-w); text-decoration: none; border-radius: 30px; font-weight: 700; margin: 5px; transition: .3s;}
.ps-btn:hover{background-color: #fac505; transition: .3s;}

/* nav */
.nav_wrap{width: 100%; background: var(--color-g); float: left;}
.menu{text-align: center; display: flex; justify-content: center; align-items: center;}
.menu li{font-size: var(--third-size); font-weight: 700; display: inline; cursor: pointer; margin: 12px 0; border-right: 1px solid var(--color-w);}
.menu li:last-child{border-right: none;}
.menu li a{display: inline-block; color: var(--color-w); padding: 6px 60px; transition: 0.5s;}
.menu li a:hover{color:var(--color-line); transition: 0.5s;}
.mobile{display: none;}
.m_tit{display: none;}
#stickyHeader.fixed{position: fixed; top: 0; left: 0; width: 100%; z-index: 9;}

.button-wrap{text-align: center; margin-bottom: 60px;}
.button{display: inline-block; padding: 0.75rem 5rem; border-radius: 10rem; color: var(--color-w); font-size: var(--first-size); transition: all 0.3s; position: relative; overflow: hidden; z-index: 1; font-weight: 700;}
.button:after{content: ""; position: absolute; bottom: 0; left: 0; width: 100%;height: 100%; background-color: #fdaa2c; border-radius: 10rem; z-index: -2;}
.button:before{content: ""; position: absolute; bottom: 0; left: 0; width: 0%; height: 100%; background: #fac505; transition: all 0.3s; border-radius: 10rem; z-index: -1;}
.button:hover{color: var(--color-w);}
.button:hover:before {width: 100%;}
.button2:after{background-color: var(--color-g);}
.button2:before{background: #17bf58;}

.tit-wrap{display: flex; justify-content: center; margin: 30px 0 20px; flex-wrap: wrap;}
.tit-wrap h2{color: var(--color-bk); font-weight: 900; font-size: 2.5rem; line-height: 1.375; letter-spacing: 1px; border-bottom: none;}
.tit-wrap h2 span{color: var(--color-g); letter-spacing: 1px;}
.tit-wrap p{width: 100%; text-align: center; margin-top: 10px; font-size: var(--basics-size);}

/* ticket */
.ticket-bg{margin: 0 auto; width: 90%; box-shadow: rgba(0, 0, 0, 0.45) 0px 25px 20px -20px;}
.ticket{padding: 20px; width: 100%; border-radius: 12px; background: var(--color-w);
-webkit-mask: radial-gradient(circle 20px at 0 50%, transparent 98%, black 100%),radial-gradient(circle 20px at 100% 50%, transparent 98%, black 100%);
-webkit-mask-composite: destination-in;
mask: radial-gradient(circle 20px at 0 50%, transparent 98%, black 100%),radial-gradient(circle 20px at 100% 50%, transparent 98%, black 100%);
mask-composite: intersect;
}
.ticket-tit{background: var(--color-g); border-radius: 10px 10px 0 0; padding: 7px 0 5px; text-align: center; margin-bottom: 20px; border: 1px solid var(--color-g);}
.ticket-tit h3{padding: 0; color: var(--color-w);}
.ticket p{margin: 5px 0;}
.ticket p span{color: var(--color-o); font-weight: 700;}

/* 左右排版 */
.division-map{display: flex; justify-content: space-between; align-items: center;}
.content-intro{width: 50%; text-align: left; padding: 0 40px;}
.content-intro h2{font-size: var(--second-size); color: var(--color-g); margin-bottom: 20px; padding-bottom: 5px;}
.content-intro-pic{width: 50%; overflow: hidden; position: relative;}
.content-intro-pic img{width: 100%; display: block; transition: transform 0.4s ease;}
.first{flex-direction: row;}
.first:last-child{margin-bottom: 80px;}
.second{flex-direction: row-reverse;}

.link{background-color: var(--color-g); display: inline-block; border-radius: 20px; line-height: 1.875; padding: 0; margin-top: 20px;}
.link a{display: block; width: 100%; height: 100%; cursor: pointer; color: var(--color-w); font-weight: 700; transition: .3s; border-radius: 20px; padding: 2px 20px 3px;}
.link a:hover{text-decoration: none; background-color: #fac505; transition: .3s;}

.s-tit{width: 100%; display: inline-block; background: var(--color-link); line-height: 1.5; border-radius: 10px 10px 0 0; background: linear-gradient(to right, #3a7bd5, var(--color-link)); text-align: center;}
.s-tit h4{padding: 12px 20px; color: var(--color-w); font-size: var(--second-size); font-weight: 700;}
.s-tit h4 span{font-size: var(--basics-size); color: #fff6e8; font-weight: 500;}

/* pic */
.pic{display: flex; width: 100%; justify-content: space-between; position: relative; padding-bottom: 20px;}
.pic img{width: 25%; object-fit: cover; padding: 0 0.5%;}

/* table */
table{width: 100%; margin: 0 auto 60px; border-collapse: collapse; border-spacing: 0; background: var(--color-w); border: 2px solid var(--color-light-gray); line-height: 1.875;}
table tr{text-align: left; color: var(--color-k); border-top: 2px solid var(--color-light-gray);}
table tr:first-child{border-top: none;}
table tr:nth-child(even){background: #f5fffa;}
table th{font-weight: 700; padding: 5px; text-align: center; background: var(--color-sp); color: var(--color-bk); font-size: var(--basics-size); border-right: 2px solid var(--color-light-gray); border-bottom: 2px solid var(--color-light-gray);}
table th:last-child{border-right: none;}
table td{padding: 15px 20px; border-right: 2px solid var(--color-light-gray);}
table td:last-child, .table th:last-child{border-right: none;}
table td h2{font-size: var(--second-size); color: var(--color-g); font-weight: 700; border-bottom: none; text-align: center; line-height: 1.5; display: block;}
table td p{padding: 0; display: inline;}
table td p span{font-size: var(--basics-size); color: var(--color-g); font-weight: 700;}
table ul.ps2{margin: 10px 0 10px 20px;}
table.table-three th{width: 33%;}
table.table-two th{width: 50%;}
table.table-two-price tr{display: flex; flex-wrap: wrap;}
table.table-two-price td{width: 50%; display: flex; align-items: stretch; flex-wrap: wrap; justify-content: space-between;}
.txt{display: block; width: 100%; margin-bottom: 20px;}
.txt h2{text-align: left;}
.txt p{font-size: var(--basics-size); color: #00a7aa; padding: 0;}

/* tab */
.tabs{font-size: 0; list-style: none; padding-left: 0; display: flex; justify-content: space-between;}
.tabs li{width: 33%; text-align: center;}
.tabs li a{text-decoration: none; display: block; padding: 6px 20px; position: relative; color: var(--color-w);}
.tabs li a h2, .tabs li a p{position: relative; z-index: 1; color: var(--color-grey); border-bottom: none;}
.tabs li a::before,.tabs li a::after{
content: ''; position: absolute; backface-visibility: hidden; z-index: 0; bottom: 0; width: 50%; height: 100%; transition: .5s;}
.tabs li a::before{left: 0; border-radius: 10px 0 0 0; transform-origin: left bottom;}
.tabs li a::after{border-radius: 0px 10px 0 0; right: 0; transform-origin: right bottom;}
.tabs li a::before, .tabs li a::after{background: #e3e4de;}
.tabs li.active a h2, .tabs li.active a p, .tabs li a:hover h2, .tabs li a:hover p{color: var(--color-w);}
.tabs li.active a::before, .tabs li.active a::after,
.tabs li a:hover::before, .tabs li a:hover::after{background: var(--color-g); transition: .5s;}
.tabs li h2{font-size: var(--first-size); display: inline; font-weight: 700;}
.tabs li p{font-size: var(--basics-size); display: inline; font-weight: 700; padding: 0 10px;}

.tab-content{width: 100%; display: inline-block;}

/* hotel */
.product_list{width: 100%; background: var(--color-w); border-bottom-right-radius: 5px; border-bottom-left-radius: 5px; display: flex; text-align: left; flex-wrap: wrap; margin-bottom: 40px; justify-content: center;}
.product_list li{border: 2px solid var(--color-light-gray); border-top: none; width: 33.33%; display: inline-flex; align-items: stretch;}
.product_list li:nth-child(1), .product_list li:nth-child(2), .product_list li:nth-child(3){border-top: 2px solid var(--color-light-gray);}
.product_list li:nth-child(2), .product_list li:nth-child(5), .product_list li:nth-child(8){border-right: none; border-left: none;}

.card{padding: 15px; flex-grow: 1; display: flex; flex-direction: column;}
.card-td img{width: 100%; margin-bottom: 10px; transition: .5s;}
.card-td{display: block; margin-bottom: 20px;}
.card-td h2{font-size: var(--second-size); color: var(--color-g); font-weight: 700; transition: .5s; border-bottom: none;}
.card-td p{line-height: 1.75; color: #00a7aa; margin-bottom: 20px; padding: 0; font-size: var(--basics-size);}
.card-price{font-size: var(--smallest-size); color: #555; text-align: right; margin-top: auto; font-weight: 500; width: 100%;}
.big{color: var(--color-o); font-size: var(--first-size); text-decoration: none; font-weight: 700; padding: 0 5px; line-height: 1.5;}
.card-td ul.sp{ margin-bottom: 20px;}
.card-td ul.sp li{ width: 100%; border: none; font-weight: 500; padding: 0; margin-bottom: 5px; color: var(--color-g);}
.card-td ul.sp li::before{ content: '•'; margin-right: 5px;}

.price{color: var(--color-o); font-weight: 700;}
span.price{font-size: var(--third-size);}
.sp{color: var(--color-g); font-weight: 700;}
.del{text-decoration: line-through;}

@media screen and (max-width: 1360px) {
  .action-td{width: 100%;}
}

@media screen and (max-width: 1280px) {
  table td h2, .card-td h2, .button, .s-tit h4{font-size: var(--third-size);}
}

@media screen and (max-width: 1100px) {
  .date-wrap{width: 90%;}
}

@media screen and (max-width: 1023px) {
  .action-td{padding: 0 5%;}
  .ticket-bg, table{width: 100%;}
  .ticket{padding: 15px 15px 20px 25px;}
  .date-wrap{width: 100%;}
  .tabs li a{padding: 6px 20px 8px;}
  .tabs li p{display: block; line-height: 1.5;}
  .menu li a{padding: 8px 40px;}
}

@media screen and (max-width: 800px) {
  h3{padding: 0 10px;}
  .product_list li{width: 50%;}
  .product_list li:nth-child(2), .product_list li:nth-child(8){border-right: 2px solid var(--color-light-gray);}
  .product_list li:nth-child(4), .product_list li:nth-child(6){border-left: none;}
  .product_list li:nth-child(5){border-left: 2px solid var(--color-light-gray); border-right: 2px solid var(--color-light-gray);}
  .product_list li:nth-child(3){border-top: none;}
  .big{font-size: var(--third-size);}
  table th{display: none;}
  table td{display: block; border-right: none; padding: 5px 12px;}
  table td:first-child{margin-top: 15px;}
  table td:last-child{margin-bottom: 15px;}
  table td h2{text-align: left;}
  table td p{padding: 0 2%; display: block;}
  table.table-two th{display: table-cell;}
  table.table-two td{display: table-cell; border-right: 2px solid var(--color-light-gray); padding: 10px;}
  table.table-two-price tr, table.table-two-price td{display: flex;}
  table.table-two-price td{border-right: 2px solid var(--color-light-gray); padding: 20px;}
  table.table-two-price td:first-child{margin-top: 0;}
  table.table-two-price td:last-child{margin-bottom: 0;}
  table.table-two-price td:nth-child(2), table.table-two-price td:nth-child(4){border-right: none;}
  table ul.ps2{margin: 10px 10px 10px 30px;}
  .tabs li h2{font-size: var(--fourth-size);}
  .tabs li p{font-size: var(--basics-size);}
  .tabs li a{padding: 6px 10px 8px;}
  .menu li{font-size: var(--fourth-size);}
  .menu li a{padding: 8px 25px;}
  .pic{position: relative; width: 100%; padding-top: 56.25%; overflow: hidden; margin-bottom: 20px;}
  .pic img{position: absolute; width: 100%; height: 100%; top: 0; left: 0; transition: opacity 1s ease; padding: 0;}
  .pic img.active{opacity: 1;}
  .division-map{flex-wrap: wrap; margin-bottom: 20px;}
  .content-intro{width: 100%; padding: 0 10px;}
  .content-intro-pic{width: 100%;}
  .content-intro h2, .card-td h2{font-size: var(--third-size);}
  .content-intro h2{margin-bottom: 10px;}
  .content ul{margin-left: 20px;}
  .link a{padding: 4px 20px 5px;}
  .content-intro .link, .ps-btn{display: block; width: 50%; text-align: center;}
  .content-intro .link{margin: 20px 25% 0;}
  .ps-btn{margin: 10px 25%; padding: 4px 20px 5px;}
}

@media screen and (max-width: 600px) {
  h4{ font-size: var(--third-size);}
  .tit-wrap h2{font-size: var(--big-size);}
  .date-wrap{flex-direction: column; margin: 0 auto;}
  .date-td{flex: none; margin: 20px auto; width: 400px;}
  .tabs{justify-content: left; flex-wrap: wrap; margin-bottom: 10px; border-bottom: none; justify-content: center;}
  .tabs li{width: auto; margin: 8px 5px;}
  .tabs li a{padding: 6px 15px 8px 25px;}
  .tabs li a::before{border-radius: 20px 0 0 20px;}
  .tabs li a::after{border-radius: 0 20px 20px 0;}
  .tabs li p{display: inline;}
  .nav-wrap{position: relative; z-index: 999;}
  .mobile{display: block;}
  .nav-wrap ul{padding: 0; opacity: 0;}
  .nav{height: 0; color: var(--color-w);}
  .menu{margin-top: 60px; width: 100%; padding: 0; pointer-events: none; flex-wrap: wrap; justify-content: left; max-height: 0; opacity: 0; overflow: hidden; transition: max-height 0.5s ease-out, opacity 0.2s ease-out;}
  .menu.open{background: #2a7dd0; pointer-events: auto; max-height: 100vh; opacity: 1; transition: max-height 1.5s ease-out, opacity 1s ease-out;}
  .menu li{font-size: var(--basics-size); font-weight: normal;  margin: 0; border-bottom: 1px dotted #006d49; width: 100%;}
  .menu li a{display: block; width: 100%; font-weight: 700; padding: 15px 20px; color: var(--color-w);}
  .menu li a:hover{color: var(--color-line);}
  .menu li:last-child{border-bottom: none;}
  .menu li:after{content: none;}
  .hamburger{font-size: 50px; display: inline-block; width: 38px; height: 38px; margin: 0 auto; padding: 0; cursor: pointer; transition: transform .2s ease-in-out; margin: 15px 12px 0 12px; vertical-align: middle; border: 0 none; background: transparent;}
  .hamburger:focus{outline: 0;}
  .hamburger:before, .hamburger:after{content: ""; box-sizing: border-box;}
  .hamburger:before, .hamburger .icon, .hamburger:after{display: block; width: 40px; height: 2px; margin: 0 0 6px; transition: transform .5s ease-in-out; background: var(--color-w);}
  .hamburger.active .icon{transform: scale(0);}
  .hamburger.active:before{transform: translateY(7px) rotate(135deg);}
  .hamburger.active:after{transform: translateY(-9px) rotate(-135deg);}
  .m_tit{display: block; position: absolute; line-height: 60px; left: 70px;}
  .m_tit h2{color: var(--color-w); font-size: var(--fourth-size); font-weight: 700; border-bottom: none;}
}

@media screen and (max-width: 500px) {
  .action-bg{margin-bottom: 20px;}
  h2{font-size: 1.75rem;}
  h3{padding: 0 5px;}
  p, .content-intro p, table td p{font-size: var(--basics-size);}
  .tit-wrap{margin: 20px 0;}
  .product_list li{width: 100%;}
  .product_list li:nth-child(2), .product_list li:nth-child(4), .product_list li:nth-child(6), .product_list li:nth-child(7),  .product_list li:nth-child(8){border-left: 2px solid var(--color-light-gray);}
  .product_list li:nth-child(3),.product_list li:nth-child(5), .product_list li:nth-child(7){border-right: 2px solid var(--color-light-gray);}
  .product_list li:nth-child(2){border-top: none;}
  .date-td{width: 90%;}
  .first:last-child{margin-bottom: 60px;}
}

@media screen and (max-width: 400px) {
  .button{padding: 0.75rem 3rem;}
  .ps{margin: 20px 0 20px 20px;}
  .content-intro .link, .ps-btn{width: 80%;}
  .content-intro .link{margin: 20px 10% 0;}
  .ps-btn{margin: 10px 10%;}
}
