@charset "UTF-8";

.tit-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(--fourth-size); color: var(--color-k); line-height: 1.875; padding: 0 2%; font-weight: normal;}
p, span{font-weight: 500;}

.action-wrap{width: 100%; display: inline-block;}
.action-td{width: 1280px; padding: 40px 30px 20px; margin: 0 auto;}
.kv-pic{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: normal; font-weight: 500;}
.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;}
.ps2 li, .ps2 li p, .ps2 li span{font-size: var(--fourth-size);}
.ps2{display: flex; flex-wrap: wrap;}
.ps2 li{list-style-type: disc; width: 50%;}
.ps2 li span{color: var(--color-r);}
.ps_kv{padding-left: 60px; margin-bottom: 40px;}

.button{padding: 1rem 4rem; border-radius: 20px; 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);}
}

.division-map{display: flex; justify-content: space-between; align-items: center; margin: 20px 0 60px;}
.content-intro{width: 52%; text-align: left;}
.content-intro h2{font-size: var(--second-size); line-height: 1.75; letter-spacing: 0;}
.content-intro-pic{width: 48%; display: flex; justify-content: center; padding: 0 2% 0 0;}
.content-intro-pic img{width: 100%; display: block; transition: transform 0.4s ease; border-radius: 30px 0 30px 0;}
.first{flex-direction: row;}
.second{flex-direction: row-reverse;}

.pg-tit{display: flex; justify-content: center; margin: 40px 0 0; flex-wrap: wrap;}
.pg-tit h2{color: var(--color-p); font-weight: 900; font-size: 2.5rem; line-height: 1.375; letter-spacing: 1px; border-bottom: none; margin: 0; padding: 0;}
.pg-tit h2 span{color: var(--color-o); font-weight: 900;}
.pg-tit p{width: 100%; text-align: center; margin-top: 5px; font-weight: 500;}

.pic{display: flex; justify-content: space-between; margin: 20px 0;}
.pic img{width: 32%; object-fit: cover; border-radius: 30px 0 30px 0;}

.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));}
.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;}

/* table */
table{width: 100%; border-collapse: collapse; border-spacing: 0; background: var(--color-w); margin-bottom: 60px;}
table.rg_table tr, .table2 tr{text-align: left; color: var(--color-k); border: 1px solid var(--color-line);}
table.rg_table tr:last-child, .table2 tr:last-child{border-bottom: none;}
table.rg_table tr:nth-child(even), .table2 tr:nth-child(even){background:#f6f4f9;}
table.rg_table th, .table2 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, .table2 th:first-child{border-right: 1px solid var(--color-line);}
table.rg_table td, .table2 td{padding: 1em; border: 1px solid var(--color-line); text-align: center; width: 33%;}
table.rg_table td h2, .table2 td h2{padding: 0; margin: 0; display: flex; align-items: center; justify-content: center; font-size: var(--second-size); line-height: 1.75; color: var(--color-p); letter-spacing: 0;}
table.rg_table td h2::after, .table2 td h2::after, .pg-tit h2::after, .content-intro h2::after{content: ''; left: 0; bottom: 0; height: 0; background: none;}
table.rg_table td p, .table2 td p{padding: 0; margin: 0;}

/* table2 */
.table2{width: 100%; border-collapse: collapse; border-spacing: 0; background: var(--color-w);}
.table2 td{text-align: left; width: 50%;}

/* 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;}
.block{ background: var(--color-bk); transition: .5s;}
.card_td h2{font-size: var(--second-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; color: var(--color-g);}
.feature{ margin-bottom: 10px;}
.card_td ul.feature li{list-style-type: disc; padding: 0 10px 0 0; margin: 0 0 0 1.2em; color: var(--color-grey); width: 100%; display: list-item; border: none;}
.card_td ul.feature li p{padding: 0;}
.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: 12px; text-align: center; padding: 5px 25px 7px; 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;}
span.price{font-size: var(--second-size);}
.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;}
.hr{border: 0; height: 1px; margin: 20px 0; width: 100%; background-image: linear-gradient(to right, rgba(0,0,0,0), rgba(0,0,0,0.75), rgba(0,0,0,0));}

@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: 1024px) {
.content-intro{width: 50%; padding: 0 2%;}
.content-intro-pic{width: 50%;}
}

@media screen and (max-width: 1023px) {
.ps_kv{padding-left: 50px;}
.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: 800px) {
h3{ padding: 0 10px;}
table.rg_table thead, .table2 thead{display: none;}
table.rg_table th{font-size: var(--basics-size);}
table.rg_table tr:last-child, .table2 tr:last-child{border: 1px solid var(--color-line);}
table.rg_table td, .table2 td{display: inline-block; padding: 0 1em; border: none; text-align: left; width: 50%;}
table.rg_table td:nth-child(1),table.rg_table td:nth-child(2){padding-top: 1em; padding-bottom: 10px;}
table.rg_table td:nth-child(3), table.rg_table td:nth-child(4){padding-bottom: 1em;}
table.rg_table td h2, .table2 td h2{justify-content: flex-start;}
table.rg_table td p{display: inline-block; color: var(--color-g); font-size: var(--basics-size);}
table.rg_table td[data-title]::before{content: attr(data-title); display: inline-block; margin-right: 2px; font-weight: 500; color: var(--color-k); font-size: var(--basics-size);}
.table2 tr{display: block; padding: 1em 0; border-bottom: none;}
.table2 td{width: 100%;}
.table2 td h2{margin-bottom: 10px;}
.table2 td p{font-size: var(--basics-size);}
.ps{padding: 0 10px;}
.ps2{padding: 0 20px;}
.ps2 li, .ps2 li p, .ps2 li span{font-size: var(--basics-size);}
.division-map{flex-wrap: wrap; justify-content: center; margin: 20px 0 60px;}
.content-intro{display: flex; justify-content: center; flex-wrap: wrap; width: 100%;}
.content-intro p{text-align: center;}
.content-intro p.introduce{margin-top: 10px;}
.content-intro-pic{width: 70%; padding: 0; margin-bottom: 20px;}
}

@media screen and (max-width: 640px) {
.ps_kv{padding-left: 46px;}
.hotel-price-wrap{padding: 0; font-size: var(--third-size);}
}

@media screen and (max-width: 600px) {
.hotel-wrap li{width: 100%; padding: 1em;}
.content-intro-pic{width: 80%;}
}

@media screen and (max-width: 500px) {
h2{font-size: 1.75rem;}
h3{padding: 0 5px;}
p{font-size: var(--basics-size);}
.tit h4{font-size: var(--third-size);}
.att, .ps{font-size: var(--smallest-size);}
.button{padding: 1rem 3rem; margin: 20px 0 40px; font-size: var(--fourth-size);}
.action-td{padding: 20px;}
table{margin-bottom: 40px;}
table.rg_table td{width: 100%;}
table.rg_table td:nth-child(2){padding-top: 0;}
.pic{position: relative; width: 100%; padding-top: 56.25%; overflow: hidden; margin: 10px 0;}
.pic img{position: absolute; width: 95%; height: 95%; top: 2.5%; left: 2.5%; transition: opacity 1s ease; margin: 0;}
.pic img.active{opacity: 1;}
.pg-tit h2{font-size: var(--big-size);}
.division-map{margin: 20px 0 40px;}
.content-intro-pic{width: 95%;}
}

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