@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(--basics-size); color: var(--color-w); background: var(--color-p); padding: 4px 16px; font-weight: 700; line-height: 1.75; margin: 0 0 20px; display: inline-block; position: relative; left: -2em;}
h4{font-size: var(--third-size); color: var(--color-p);}
p{font-size: var(--basics-size); color: var(--color-grey); line-height: 2; padding: 0 2%;}
p, span{font-weight: 500;}

.action_wrap{ width: 100%; float: left; text-align: center;}
.action_td{ width: 1280px; padding: 0 30px 40px; display: inline-flex; justify-content: center; flex-wrap: wrap;}
.se_td{margin: 40px 0; float: left; width: 100%;}
.se_td img{width: 96%; margin: 10px 2% 20px;}
.ps{display: inline-block; padding: 0 20px;}
.ps li{list-style-type: lower-alpha; font-size: var(--smallest-size); color: var(--color-o); line-height: 1.75; text-align: left;font-weight: normal; font-weight: 500; margin-bottom: 3px;}
.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;}

.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: 96%; margin: 0 2%; float: left;}
  .tabs{font-size: 0; list-style: none; padding-left: 0; display: flex; justify-content: space-between; position: relative; top: 2px;}
  .tabs li{width: 100%; text-align: center; border: 2px solid #aaa1b9; border-bottom: 2px solid #847a94; border-radius: 12px 12px 0 0; background: #af9dcb;}
  .tabs li.active{border: 2px solid var(--color-p); background: var(--color-w); border-bottom: none;}
  .tabs li a{text-decoration: none; display: block; padding: 10px; position: relative;}
  .tabs li a h2, .tabs li a p{position: relative; z-index: 1; color: var(--color-w);}
  .tabs li a h2::after{bottom: 0; height: 0; background: none;}
  .tabs li.active a h2, .tabs li.active a p{ color: var(--color-p);}
  .tabs li h2{font-size: var(--first-size); line-height: 1.25; font-weight: 700; display: flex; align-items: center; justify-content: center; padding: 0; flex-wrap: wrap;}
  /* .tabs li p{font-size: var(--basics-size); display: block; letter-spacing: 0; font-weight: 700; margin-top: 5px; width: 100%; line-height: 1.5;} */
  .tabs li span.caption{font-size: var(--basics-size); display: block; letter-spacing: 0; font-weight: 700; margin-top: 5px; width: 100%; line-height: 1.5;}
  .tabs li span{padding-right: 5px; margin-top: 3px;}
  .entry-content{width: 100%; float: left; border-radius: 0 0 12px 12px; border: 2px solid var(--color-p); border-top: none; padding: 2em; text-align: left; background: var(--color-w);}

/* video */
  .video-container{width: 100%; position: relative; padding-bottom: 56.25%; height: 0; margin: 0 auto;}
  .video-container iframe{position: absolute; top: 0; left: 0; height: 100%; width: 100%; border: 1px solid var(--color-w);}

  .step{width: 100%; display: flex; flex-wrap: wrap; margin-bottom: 40px;}
  .step li{display: flex; width: 21%; margin: 10px 0 20px;}
  .card{flex-grow: 1; display: flex; flex-direction: column;}
  .step li p{font-size: var(--basics-size); color: var(--color-p); line-height: 1.5; text-align: center; margin-top: 5px; font-weight: 700;}
  .step li.arrow{font-size: 3rem; color: var(--color-p); padding-top: 70px; width: 50px; margin: 0; text-align: center; display: block;}
  .step li.arrow:nth-child(8){display: none;}

  /* .circle{width: 180px; height: 180px; background: var(--color-w); margin-bottom: 5px; position: relative; left: 50%; margin-left: -90px; border: solid 4px transparent; border-radius: 50%; background-image: linear-gradient(#fff, #fff), linear-gradient(to right, #ff3183, #ffc11c, #1fc2ff); background-origin: border-box; background-clip: content-box, border-box; transition: .5s;} */
  .circle{width: 180px; height: 180px; background: var(--color-w); margin-bottom: 5px; position: relative; left: 50%; margin-left: -90px; border: solid 4px #e2ebf3; border-radius: 50%; transition: .5s;}
  .icon{position: absolute; width: 140px; left: 50%; top: 50%; margin-left: -70px; margin-top: -70px;}
  .number{position: absolute; width: 40px; height: 40px; text-align: center; color: var(--color-w); font-size: var(--third-size); font-weight: 700; border-radius: 50%; line-height: 38px; padding: 0; background: var(--color-r); z-index: 9;}

  a.menulink{transition: .5s; flex-grow: 1; display: flex; flex-direction: column;}
  a.menulink:hover .number{transition: .5s; background: var(--color-link);}
  a.menulink:hover .circle{transition: .5s; border: solid 4px var(--color-link);}

/* 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-o); font-weight: normal; line-height: 2; margin: 20px 0 0; font-weight: 500;}
  .notice{padding: 0; color: var(--color-bk);}
  .sp{ margin-left: 1.2em;}
  .sp li{ width: 100%; border: none; list-style-type: lower-alpha;}
  .hr{border: 0; height: 1px; margin: 20px 0; background-color: var(--color-line);}

@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: 1125px) {
  .step li{width: 20%;}
  .circle{width: 150px; height: 150px; margin-left: -75px;}
  .icon{width: 120px; margin-left: -60px; margin-top: -60px;}  
  .number{width: 30px; height: 30px; font-size: var(--fourth-size); line-height: 26px; top: 5px; left: 5px;}
}

@media screen and (max-width: 1023px) {
  .rg_container{width: 100%; margin: 0;}
}

@media screen and (max-width: 900px) {
  .step li{width: 28%;}
  .step li.arrow:nth-child(6), .step li.arrow:nth-child(12){display: none;}
  .step li.arrow:nth-child(8){display: block;}
}

@media screen and (max-width: 735px) {
  .step li{width: 27%;}
}

@media screen and (max-width: 800px) {
  .step li.arrow{padding-top: 60px;}
}

@media screen and (max-width: 768px) {
  .tabs li h2{display: inline-flex; flex-wrap: wrap; justify-content: center;}
  .entry-content{padding: 1em;}
  h3{left: -1em;}
}

@media screen and (max-width: 640px) {
  .tabs li span.caption{display: none;}
}

@media screen and (max-width: 639px) {
  .step li{width: 45%;}
  .step li.arrow{width: 10%;}
  .step li.arrow:nth-child(6){display: block;}
  .step li.arrow:nth-child(4), .step li.arrow:nth-child(8){display: none;}
}

@media screen and (max-width: 500px) {
  h2{font-size: 1.75rem;}
  p{font-size: var(--basics-size);}
  .att, .ps{font-size: var(--smallest-size);}
  .se_td{margin: 20px 0;}
  .button{padding: 1rem 3rem; margin: 20px 0 40px; font-size: var(--fourth-size);}
  .ps{padding: 0 10px 0 24px;}
  .action_td{padding: 0 20px 20px;}
  .tabs li a{padding: 12px 10px;}
  .tabs li h2{font-size: var(--fourth-size);}
  .tabs li span.caption{font-size: var(--smallest-size);}
  .tabs li span{margin-top: 0;}
  .icon{width: 80%; margin-left: 0; margin-top: 0; left: 10%; top: 10%;}
}

@media screen and (max-width: 450px) {
  .circle{width: 100px; height: 100px; margin-left: -50px;}
  .number{width: 24px; height: 24px; font-size: var(--smallest-size); line-height: 20px; top: 0; left: 0;}
  .step li.arrow{padding-top: 45px; font-size: var(--big-size);}
  .step{margin-bottom: 20px;}
}

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