@charset "UTF-8";
h2{font-size: var(--big-size); color: var(--color-bk);margin-bottom: 20px; border-bottom: 1px solid var(--color-light-gray); padding-bottom: 10px; 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(--basics-size); color: var(--color-grey); line-height: 1.75; padding: 0 2%; font-weight: 500;}

.action_wrap{width: 100%; display: inline-block; margin-bottom: 10px;}
.action_td{width: 1280px; padding: 0 30px; margin: 0 auto;}
.se_td{margin: 20px 0 0; float: left; width: 100%;}
.se_td img{width: 96%; margin: 10px 2% 20px;}
.introduce{font-weight: 700; margin-bottom: 5px; color: var(--color-k);}

.rg-container{margin: 0 10%; width: 80%; float: left;}
.tit{width: 100%; display: inline-block; margin: 20px 0 0; background: var(--color-link); border-radius: 10px 10px 0 0;
background: linear-gradient(to right, #3a7bd5, var(--color-link)); text-align: center;}
.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;}

.button-wrap{width: 100%; text-align: center; float: left;}
.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; margin: 40px 0;}
.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%;}

/* table */
table{width: 100%; border-collapse: collapse; border-spacing: 0; background: var(--color-w);}
table.rg-table tr{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:#fffaf6;}
table.rg-table th{font-weight: 700; padding: 10px 1em; background: #e4f6ff; font-size: var(--basics-size); border: 1px solid var(--color-line); 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); font-weight: 500;}
table.rg-table td h2{padding: 0; font-size: var(--third-size); border-bottom: none; margin-bottom: 0;}
table.rg-table td p{padding: 0;}
table.rg-table td p span{margin-top: 0;}
.thing, .price-td{ width: 25%; text-align: center;}

/* hotel */
.hotel-wrap{width: 100%; display: flex; flex-wrap: wrap; background: var(--color-w); 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 0.6em; border-bottom: 1px solid var(--color-line); border-right: 1px solid var(--color-line); border-radius: 0;}
.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;}
.card_td img{width: 100%; margin: 0 0 10px;}
.card_td h2{font-size: var(--third-size); line-height: 1.75; color: var(--color-g); border: none; margin: 5px 0; padding: 0;}
.card_td p{padding: 0; margin-bottom: 10px;}
.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-o); font-weight: 700; margin: auto 0 0;}
.hotel-price-wrap span{font-size: var(--smallest-size); color: var(--color-grey); font-weight: 500; margin: 0 5px;}

.trip{background: #eee; color: var(--color-k); width: 100%; display: inline-block; margin-bottom: 20px; padding: 8px 8px 8px 20px;}
.schedule{display: flex; width: 100%; float: left; margin: 20px 0 40px;}
.schedule ul{width: 100%; display: flex; justify-content: center;}
.schedule ul li{margin: 0 8px;}
.schedule ul li img{width: 100%; margin: 0;}

.price{color: var(--color-o); font-weight: 700;}
.sp{color: var(--color-g); font-weight: 700;}
.att{font-size: var(--smallest-size); display: block; color: var(--color-light-gray); font-weight: normal; line-height: 2; margin-top: 20px; font-weight: 500;}
.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));}
.del{text-decoration: line-through;}
.ps{display: inline-block; font-size: var(--smallest-size); color: var(--color-light-gray); line-height: 2; padding: 0 20px 0 58px; font-weight: 500;}
.ps li{list-style-type: decimal;}
.ps li a{color: var(--color-link); cursor: pointer;}
.ps li a:hover{color: #43c9cb; text-decoration: underline; transition: .5s;}

/* 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: 24px; 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{width: 100%;}
}

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

@media screen and (max-width: 1023px) {
.ps{padding: 0 20px 0 52px;}
.rg-container{width: 100%; margin: 0;}
.action_td{padding: 0 5%;}
.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);}

table.rg-table thead{display: none;}
table.rg-table tbody{width: 100%; border: 1px solid var(--color-line);}
table.rg-table tr,
table.rg-table th,
table.rg-table td{display: block; padding: 0; border: none;}
table.rg-table td{padding: 10px 1em 0;}
table.rg-table tr{border-bottom: 1px solid var(--color-line); padding-bottom: 10px;}
table.rg-table td[data-title]:before {
content: attr(data-title);
display: inline-block; content: attr(data-title); float: left; margin-right: 0;}
.thing{width: 100%; text-align: left;}
.price-td{text-align: right; width: 100%;}
.m-br{display: none;}
}

@media screen and (max-width: 900px) {
.schedule{flex-wrap: wrap;}
.schedule ul li{width: 49%;}
}

@media screen and (max-width: 768px) {
.hotel-price-wrap{font-size: var(--third-size);}
h3{ padding: 0 10px;}
.schedule ul{flex-wrap: wrap;}
.schedule ul li{margin: 1% 0.5%;}
.schedule ul li img{width: 98%;}
}

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

@media screen and (max-width: 500px) {
h2{font-size: 1.75rem;}
h3{padding: 0 5px;}
p{font-size: var(--basics-size);}
.button{margin: 20px 0 40px;}
table.rg-table td h2, .card_td h2, .button, .tit h4{ font-size: var(--fourth-size);}
}

@media screen and (max-width: 376px) {
.ps{padding: 0 20px 0 42px;}
}