@charset "UTF-8";

.h2_wrap{margin-bottom: 20px; border-bottom: 3px solid #ddd; text-align: left;}
h2{position: relative; display: inline-block; font-size: var(--big-size); color: var(--color-p); font-weight: 700; padding: 0 4px 10px; letter-spacing: 1px;}
h2::after{content: ''; position: absolute; left: 0; bottom: -3px; width: 100%; height: 3px; background: linear-gradient(to right, #ff1976, #ffc11c, #1fc2ff);}
h3{font-size: var(--third-size); color: var(--color-p); padding: 0 15px; font-weight: 700; line-height: 1.75; margin-bottom: 5px;}
p{font-size: var(--basics-size); color: var(--color-grey); line-height: 2; padding: 0 2%; font-weight: normal;}
p, span{font-weight: 500;}

.action_wrap{width: 100%; display: inline-block;}
.action_td{width: 1280px; padding: 0 30px 40px; display: flex; justify-content: center; flex-wrap: wrap; margin: 0 auto;}
.se_td{margin: 40px 0; width: 100%;}
.se_td img{width: 96%; margin: 10px 2% 20px;}
.ps{display: inline-block; padding: 0 20px;}
.ps li{list-style-type: decimal; font-size: var(--smallest-size); color: var(--color-grey); line-height: 1.75; text-align: left; font-weight: 500; margin-bottom: 5px;}
.ps li span{color: var(--color-o); font-size: var(--smallest-size);}
.ps li a{color: var(--color-link); cursor: pointer; text-decoration: underline; font-weight: 700; padding: 0 3px;}
.ps_kv{padding: 0 20px 0 62px;}

.button{padding: 1rem 4rem; border-radius: 20px; text-align: center; background: var(--color-link); color: var(--color-w); font-size: var(--first-size); transition: all 0.3s; font-weight: 700; margin: 40px 0;}
.button a{display: block; width: 100%; height: 100%; text-decoration: none; cursor: pointer;}
.hvr-wobble-horizontal{display: flex; vertical-align: middle; transform: perspective(1px) translateZ(0); box-shadow: 0 0 1px rgba(0, 0, 0, 0);width: 100%; justify-content: center;}
.hvr-wobble-horizontal a:hover, .hvr-wobble-horizontal:focus, .hvr-wobble-horizontal a:active, a.menulink:hover .card_btn{ animation: hvr-wobble-horizontal 1s ease-in-out; animation-iteration-count: 1;}
@keyframes hvr-wobble-horizontal {
  16.65% { transform: translateX(8px);}
  33.3% { transform: translateX(-6px);}
  49.95% { transform: translateX(4px);}
  66.6% { transform: translateX(-2px);}
  83.25% { transform: translateX(1px);}
  100% { transform: translateX(0);}
}

/* table */
.rg_container{width: 90%; margin: 0 5%; float: left;}
.tit{width: 100%; display: inline-block; border-radius: 20px 20px 0 0; text-align: center; background: linear-gradient(to right, var(--color-p), var(--color-link)); letter-spacing: 1px;}
.tit h4{padding: 10px 20px 12px; color: var(--color-w); font-size: var(--second-size); font-weight: 700;}
.tit h4 span{font-size: var(--basics-size); color: #fff6e8; font-weight: 500;}
.Sub-label{width: 100%; text-align: center; background: #f6f4f9; padding: 10px 1em; border-right: 1px solid var(--color-line); border-left: 1px solid var(--color-line); display: flex; align-items: center; justify-content: center;}
.Sub-label h4{color: var(--color-bk); font-size: var(--fourth-size); padding-left: 5px;}
table{width: 100%; border-collapse: collapse; border-spacing: 0; background: var(--color-w);}
table.rg_table tr{text-align: left; color: var(--color-k); border: 1px solid var(--color-line);}
table.rg_table tr:last-child{border-bottom: none;}
table.rg_table.zebra tr:nth-child(even) {background:#f6f4f9;}
table.rg_table th{font-weight: 700; padding: 10px 1em; background: #f6f4f9; font-size: var(--fourth-size); border: 1px solid var(--color-line); color: var(--color-bk); text-align: center;}
table.rg_table th:first-child{border-right: 1px solid var(--color-line);}
table.rg_table td{padding: 1em; border: 1px solid var(--color-line); vertical-align: middle; width: 25%; text-align: center;}
table.rg_table2 td{width: 100%; text-align: left;}
table.rg_table td:nth-child(4){text-align: left;}
table.rg_table td h3{padding: 0; margin-bottom: 0;}
table.rg_table td p{padding: 0; color: var(--color-k);}
table.rg_table td p.sp{color: var(--color-g); font-weight: 700;}
table.rg_table td p span{margin-top: 0;}
table.rg_table td a{color: #3365c1; text-decoration: underline;}
.pic{display: flex; width: 100%; justify-content: space-between; position: relative; margin-bottom: 20px;}
.pic img{width: 31.3%; margin: 0 1%; object-fit: cover;}

/* hotel */
.hotel-wrap{width: 100%; display: flex; flex-wrap: wrap; justify-content: space-between; border: 1px solid var(--color-line); border-bottom: none;}
.hotel-wrap li{display: inline-flex; border-radius: 15px; width: 33.33%; padding: 1em 1.2em; border-bottom: 1px solid var(--color-line); border-right: 1px solid var(--color-line); border-radius: 0; background: var(--color-w);}
.hotel-wrap li:nth-child(3), .hotel-wrap li:nth-child(6), .hotel-wrap li:nth-child(9){border-right: none;}
.card{flex-grow: 1; display: flex; flex-direction: column; text-align: left;}
.card_td img{width: 100%; transition: .5s; margin: 0;}
.block{ background: var(--color-bk); transition: .5s;}
.card_td h2{font-size: var(--third-size); line-height: 1.75; color: var(--color-p); border: none; margin: 10px 0 5px; padding: 0; letter-spacing: 0;}
.card_td h2::after{content: ''; position: static; left: 0; bottom: 0; height: 0; background: none;}
.card_td h2 img{width: 20px; vertical-align: middle; margin: 0 5px;}
.card_td h2 span{margin: 0 5px; vertical-align: sub;}
.card_td p{padding: 0; margin-bottom: 10px;}
.feature{margin: 0 0 10px 20px;}
.card_td ul.feature li{list-style-type: disc; padding: 0 10px 0 0; color: var(--color-grey); display: list-item; border: none; width: 100%;}
.card_td ul.feature li p{padding: 0; line-height: 1.5;}
.hotel-price-wrap{padding: 0; font-size: var(--first-size); line-height: 1.5; color: var(--color-r); font-weight: 700; margin: auto 0 0; text-align: right;}
.hotel-price-wrap span{font-size: var(--smallest-size); color: var(--color-grey); font-weight: 500; margin: 0 5px;}
.hotel-price-wrap span.card_btn{font-size: var(--basics-size); color: var(--color-w); background: var(--color-link); border-radius: 20px; text-align: center; padding: 5px 25px; margin-top: 8px; float: right; transition: .5s; font-weight: 700;}
a.menulink{transition: .5s; flex-grow: 1; display: flex; flex-direction: column;}
/* a.menulink:hover h2{ color: var(--color-link); transition: .5s;} */
a.menulink:hover .block{transition: .5s;}
a.menulink:hover img{opacity: 70%; transition: .5s;}

/* highlight */
.introduce{font-weight: 700; color: var(--color-bk); text-align: left;}
.price{color: var(--color-r); font-weight: 700;}
.special{color: var(--color-p); font-weight: 700;}
.att{font-size: var(--smallest-size); display: block; color: var(--color-grey); font-weight: normal; line-height: 2; margin: 20px 0 5px; font-weight: 500;}
.mark{background: var(--color-p); color: var(--color-w); display: inline-block; padding: 8px 16px; margin: 0 2% 10px;}
.equally{width: 330px;}
.equally div{display: flex; align-items: center;}
.equally div span{margin-right: 5px; color: var(--color-p);}
.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));}
.inward{margin-left: 20px;}

/* back to top*/
#back-top{position: fixed; bottom: 200px; right: 0; z-index: 999; text-align: center; width: 50px; height: 50px; display: block; border-radius: 3px;
background: rgba(85,85,85,0.5); line-height: 50px; font-size: 40px; color: var(--color-w); font-weight: normal; transition: 1s;}
#back-top a{display: block; width: 100%; height: 100%; transition: 1s; color: var(--color-w);}
#back-top:hover{background-color: rgba(85,85,85,0.3);}

@media screen and (max-width: 1360px) {
.action_td, .tit h4{width: 100%;}
}

@media screen and (max-width: 1280px) {
.button{font-size: var(--third-size);}
}

@media screen and (max-width: 1023px) {
.rg_container{width: 95%; margin: 0 2.5%;}
.ps_kv{padding: 0 20px 0 52px;}
.hotel-wrap{border-right: none;}
.hotel-wrap li{width: 50%;}
.hotel-wrap li:nth-child(3), .hotel-wrap li:nth-child(6), .hotel-wrap li:nth-child(9){border-right: 1px solid var(--color-line);}
}

@media screen and (max-width: 768px) {
h3{padding: 0 10px;}
table.rg_table thead{display: none;}
table.rg_table td{display: block; width: auto; text-align: left;}
table.rg_table td{border: none; padding: 0;}
table.rg_table tr{display: block; padding: 1em; border-bottom: none;}
table.rg_table tr:last-child{border-bottom: 1px solid var(--color-line);}
.equally{width: 100%; text-align: left;}
.equally div{justify-content: flex-start; margin-bottom: 10px;}
table.rg_table td[data-title]:before{content: attr(data-title); display: inline-block; float: left; line-height: 2; font-weight: 500;}
.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; margin: 0;}
.pic img.active{opacity: 1;}
}

@media screen and (max-width: 640px) {
.ps_kv{padding: 0 20px 0 46px;}
.hotel-wrap li{width: 100%; padding: 1em;}
}

@media screen and (max-width: 500px) {
h2{font-size: 1.75rem;}
h3{padding: 0 5px;}
p{font-size: var(--basics-size);}
.att, .ps{font-size: var(--smallest-size);}
.se_td{margin: 20px 0;}
.button{width: 80%; padding: 1rem; margin: 20px 0 40px; font-size: var(--fourth-size);}
.action_td{padding: 0 20px 20px;}
.hotel-price-wrap{padding: 0; font-size: var(--third-size);}
.tit h4{font-size: var(--third-size);}
.card_td h2, table.rg_table td h3{font-size: var(--fourth-size);}
}

@media screen and (max-width: 376px) {
.ps_kv{padding: 0 20px 0 42px;}
.button{padding: 1rem 2rem;}
}