@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; 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; float: left; width: 100%;}
.se_td img{width: 96%; margin: 10px 2% 20px;}
.ps{display: inline-block; font-size: var(--smallest-size);}
.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; margin-bottom: 5px;}
.ps li span{color: var(--color-o);}
.ps li a{color: var(--color-link); cursor: pointer; text-decoration: underline; font-weight: 700; padding: 0 3px;}
.ps_kv{padding: 0 20px 0 42px;}
.att{display: inline-block; font-size: var(--smallest-size); margin: 10px 0 5px 25px;}

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

/* table */
.rg_container{width: 95%; margin: 0 2.5%; float: left;}

.tabs{font-size: 0; list-style: none; padding-left: 0; display: block; margin: 10px 0 20px; overflow: hidden;}
.tabs li{display: inline-block; text-align: center; margin: 8px; transition: 0.5s; border-radius: 10px; background: #e2ebf3; position: relative;}
.tabs li a{text-decoration: none; display: block; padding: 8px 24px; position: relative; color: var(--color-w);}
.tabs li:hover{background: #cde8ff; transition: 0.5s;}
.tabs li h2{font-size: var(--third-size);}
.tabs li a h2{color: var(--color-k); display: inline; font-weight: 500;}
.tabs li a::after{content: ''; position: absolute; bottom: -8px; left: 50%; transform: translateX(-50%); width: 0; height: 0; border-left: 8px solid transparent; border-right: 8px solid transparent; border-top: 8px solid #cde8ff; opacity: 0; transition: opacity 0.5s;}
.tabs li.active a::after, .tabs li:hover a::after{opacity: 1;}
.tabs li.active a::after{border-top-color: var(--color-link); transition: 0.5s;}
.tabs li.active{background: var(--color-link); transition: 0.5s; pointer-events: none;}
.tabs li a:hover h2{color: var(--color-link);}
.tabs li.active a h2{color: var(--color-w);}
.tabs li h2::after, .card h2::after{display: none;}

.product-content{width: 100%; border: 2px solid var(--color-k); border-right: none; border-bottom: none; float: left;}
.product-list{width: 100%; display: flex; text-align: left; flex-wrap: wrap;}
.product-list li{width: 50%; border-right: 2px solid var(--color-k); border-bottom: 2px solid var(--color-k); background: var(--color-w); display: flex; align-items: stretch;}

.card{display: flex; align-items: center; justify-content: space-between; width: 100%;}
.card h2{font-size: var(--third-size); color: var(--color-k); font-weight: 500; padding: 20px; display: block; width: 50%;}
.card p{font-size: var(--basics-size); line-height: 1.5; color: var(--color-k); margin-bottom: 10px;}
.card-price{font-size: var(--smallest-size); color: var(--color-grey); font-weight: normal; text-align: right; padding: 20px;}
.big{color: var(--color-r); font-size: var(--first-size); text-decoration: none; font-weight: 700; padding: 0 3px; line-height: 1.5;}
.addup{border: 1px solid var(--color-k); border-radius: 15px; padding: 2px 10px; font-size: var(--smallest-size); margin-right: 6px; letter-spacing: 1px;}

.card-btn{font-size: var(--basics-size); color: var(--color-w); background: var(--color-g); border-radius: 20px; text-align: center; width: 100px; padding: 3px 10px 5px; margin-top: 8px; display: block; float: right; transition: .5s; font-weight: 700;}

/* 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;}

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

/* 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{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%;}
}

@media screen and (max-width: 900px){
.product-list li{width: 100%;}
}

@media screen and (max-width: 768px) {
h3{padding: 0 10px;}
}

@media screen and (max-width: 640px) {
.ps_kv{padding: 0 20px 0 36px;}
.card{display: block;}
.card h2{padding: 10px 15px; padding-bottom: 0; width: 100%;}
.card-price{padding: 15px;}
.att{margin: 10px 0 5px 18px;}
}

@media screen and (max-width: 500px) {
h2{font-size: 1.75rem;}
h3{padding: 0 5px;}
p{font-size: var(--basics-size);}
.se_td{margin: 20px 0;}
.button{padding: 1rem 3rem; margin: 20px 0 40px; font-size: var(--fourth-size);}
.action_td{padding: 0 20px 20px;}
.big{font-size: var(--third-size);}
.tabs li a{padding: 8px 16px;}
.tabs li h2, .card h2{font-size: var(--fourth-size);}
}

@media screen and (max-width: 376px) {
.ps_kv{padding: 0 20px 0 32px;}
.att{margin: 10px 0 5px 15px;}
.button{padding: 1rem 2rem;}
}