@charset "UTF-8";
@media screen and (min-width: 769px) {
  html.modal-inner {
    font-size: 0.8333333333vw;
  }
}

@media screen and (max-width: 768px) {
  header.fitness.lower .utility {
    position: static;
  }
}

@media screen and (min-width: 769px) {
  .sp_only {
    display: none !important;
  }
}

@media screen and (max-width: 768px) {
  .sp_noac.ac-parent_all {
    pointer-events: none;
  }
  .sp_noac.ac-parent_all + .ac-child_all {
    display: block !important;
  }
}

@media screen and (max-width: 768px) {
  .pc_only {
    display: none !important;
  }
}

@media screen and (min-width: 769px) {
  .pc_noac.ac-parent_all {
    pointer-events: none;
  }
  .pc_noac.ac-parent_all + .ac-child_all {
    display: block !important;
  }
}

#tab01:checked ~ #tab01_content,
#tab02:checked ~ #tab02_content {
  display: block;
}

.checkbox01-row {
  position: relative;
  text-align: center;
}
.checkbox01-row.left {
  text-align: left;
}
@media screen and (min-width: 769px) {
  .table02-dl-item .checkbox01-row {
    margin: 0.7rem 3rem 0.7rem 0;
  }
}
@media screen and (max-width: 768px) {
  .table02-dl-item .checkbox01-row {
    margin-right: 8rem;
  }
}
.checkbox01-label {
  display: inline-block;
  position: relative;
  padding-left: 1.5em;
  text-align: left;
  font-weight: 400;
}
@media screen and (min-width: 769px) {
  .checkbox01-label {
    line-height: 1.2em;
    font-size: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .checkbox01-label {
    line-height: 1.412em;
    font-size: 3.4rem;
  }
}
.checkbox01-label::before {
  content: "";
  position: absolute;
  background: #f9f9f9;
  border: 1px solid #999;
  border-radius: 0.2em;
  width: 1.2em;
  height: 1.2em;
  left: 0;
  top: 0.05em;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  .checkbox01-label::before {
    top: 0.125em;
  }
}
.checkbox01-input {
  position: absolute;
  width: 0;
  height: 0;
  opacity: 0;
}
.checkbox01-input + .checkbox01-label {
  cursor: pointer;
}
.checkbox01-input:checked + .checkbox01-label::before {
  background: #0d5faf;
  border-color: #0d5faf;
}
.checkbox01-input:checked + .checkbox01-label::after {
  content: "";
  position: absolute;
  border-right: 0.175em solid #fff;
  border-bottom: 0.175em solid #fff;
  width: 0.5em;
  height: 0.675em;
  left: 0.35em;
  top: 0.3em;
  transform: rotateZ(45deg);
  box-sizing: border-box;
}
.checkbox01-input.error + .checkbox01-label {
  color: #fc4042;
}

.checkbox02-label {
  position: relative;
  line-height: 1;
  font-weight: 400;
}
@media screen and (min-width: 769px) {
  .checkbox02-label {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 768px) {
  .checkbox02-label {
    font-size: 2.8rem;
  }
}
.checkbox02-label::before {
  content: "";
  display: block;
  background: #f9f9f9;
  border: 1px solid #999;
  border-radius: 0.286em;
  width: 1.715em;
  height: 1.715em;
  margin: 0 auto 0.5em;
  box-sizing: border-box;
}
.checkbox02-label.closed::before {
  visibility: hidden;
}
.checkbox02-input {
  position: absolute;
  width: 0;
  height: 0;
  opacity: 0;
}
.checkbox02-input + .checkbox02-label {
  cursor: pointer;
}
.checkbox02-input:checked + .checkbox02-label::before {
  background: #0d5faf;
  border-color: #0d5faf;
}
.checkbox02-input:checked + .checkbox02-label::after {
  content: "";
  position: absolute;
  border-right: 0.25em solid #fff;
  border-bottom: 0.25em solid #fff;
  width: 0.715em;
  height: 0.965em;
  left: -0.357em;
  top: 0.25em;
  transform: rotateZ(45deg);
  box-sizing: border-box;
}

.checkbox03-row {
  position: relative;
  text-align: center;
}
.checkbox03-label {
  display: block;
  position: relative;
  padding-left: 1.5em;
  font-weight: 400;
}
@media screen and (min-width: 769px) {
  .checkbox03-label {
    line-height: 1.5em;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 768px) {
  .checkbox03-label {
    line-height: 1.688em;
    font-size: 2.8rem;
  }
}
.checkbox03-label::before {
  content: "";
  position: absolute;
  background: #f9f9f9;
  border: 1px solid #999;
  border-radius: 0.2em;
  width: 1.2em;
  height: 1.2em;
  margin-right: 0.3em;
  left: 0;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .checkbox03-label::before {
    top: 0.188em;
  }
}
@media screen and (max-width: 768px) {
  .checkbox03-label::before {
    top: 0.25em;
  }
}
.checkbox03-input {
  position: absolute;
  width: 0;
  height: 0;
  opacity: 0;
}
.checkbox03-input + .checkbox03-label {
  cursor: pointer;
}
.checkbox03-input:checked + .checkbox03-label::before {
  background: #0d5faf;
  border-color: #0d5faf;
}
.checkbox03-input:checked + .checkbox03-label::after {
  content: "";
  position: absolute;
  border-right: 0.175em solid #fff;
  border-bottom: 0.175em solid #fff;
  width: 0.5em;
  height: 0.675em;
  left: 0.35em;
  top: 0.3em;
  transform: rotateZ(45deg);
  box-sizing: border-box;
}

.radio01-row {
  position: relative;
  text-align: center;
  cursor: pointer;
}
@media screen and (min-width: 769px) {
  .radio01-row {
    margin: 0.7rem 3rem 0.7rem 0;
  }
}
@media screen and (max-width: 768px) {
  .radio01-row {
    margin-right: 8rem;
  }
}
.radio01-row.left {
  text-align: left;
}
.error > .radio01-row {
  color: #fc4042;
}
.radio01-frame {
  position: relative;
  border: 2px solid transparent;
  cursor: pointer;
}
@media screen and (min-width: 769px) {
  .radio01-frame {
    padding: 1.8rem;
  }
}
@media screen and (max-width: 768px) {
  .radio01-frame {
    padding: 3.6rem;
  }
}
.radio01-frame.col01 {
  background: #f9f9f9;
}
.radio01-frame.error {
  background: #fff3f3;
  border: 2px solid #fc4042;
  border-radius: 4px;
  color: #fc4042;
}
.radio01-label {
  display: inline-block;
  position: relative;
  padding-left: 1.5em;
  text-align: left;
  font-weight: 400;
}
@media screen and (min-width: 769px) {
  .radio01-label {
    line-height: 1.2em;
    font-size: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .radio01-label {
    line-height: 1.2em;
    font-size: 4rem;
  }
}
.radio01-label::before {
  content: "";
  position: absolute;
  background: #f9f9f9;
  border: 1px solid #999;
  border-radius: 50%;
  width: 1.2em;
  height: 1.2em;
  left: 0;
  top: 0.05em;
  box-sizing: border-box;
}
.radio01-input {
  position: absolute;
  width: 0;
  height: 0;
  opacity: 0;
}
.radio01-input + .radio01-label {
  cursor: pointer;
}
.radio01-input:checked + .radio01-label::before {
  background: #0d5faf;
}
@media screen and (min-width: 769px) {
  .radio01-input:checked + .radio01-label::before {
    border: 2px solid #0d5faf;
    box-shadow: 0 0 0 0.2em #fff inset;
  }
}
@media screen and (max-width: 768px) {
  .radio01-input:checked + .radio01-label::before {
    border: 0.4rem solid #0d5faf;
    box-shadow: 0 0 0 0.8rem #fff inset;
  }
}

.radio02-label {
  display: block;
}
@media screen and (min-width: 769px) {
  .radio02-label {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 768px) {
  .radio02-label {
    font-size: 2.8rem;
  }
}
.radio02-label::before {
  content: "";
  display: block;
  background: #f9f9f9;
  border: 1px solid #999;
  border-radius: 50%;
  width: 1.715em;
  height: 1.715em;
  margin: 0 auto 0.5em;
  box-sizing: border-box;
}
.radio02-label.closed::before {
  visibility: hidden;
}
.radio02-input {
  position: absolute;
  opacity: 0;
}
.radio02-input + .radio02-label {
  cursor: pointer;
}
.radio02-input:checked + .radio02-label::before {
  background: #0d5faf;
}
@media screen and (min-width: 769px) {
  .radio02-input:checked + .radio02-label::before {
    border: 2px solid #0d5faf;
    box-shadow: 0 0 0 0.286em #fff inset;
  }
}
@media screen and (max-width: 768px) {
  .radio02-input:checked + .radio02-label::before {
    border: 0.4rem solid #0d5faf;
    box-shadow: 0 0 0 0.8rem #fff inset;
  }
}

.button01-input {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #0d5faf;
  border: none;
  color: #fff;
  appearance: none;
  cursor: pointer;
}
@media screen and (min-width: 769px) {
  .button01-input {
    width: 12.5rem;
    height: 5rem;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 768px) {
  .button01-input {
    width: 21.4rem;
    height: 8.8rem;
    font-size: 3.2rem;
  }
}

.select01-items {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
@media screen and (min-width: 769px) {
  .select01-items .select01-item {
    margin-bottom: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .select01-items .select01-item {
    margin-bottom: 3rem;
  }
}
.select01-item {
  display: block;
}
@media screen and (min-width: 769px) {
  .select01-item {
    width: 31.939%;
  }
  .select01-item.pc_full {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .select01-item {
    width: 47.541%;
  }
  .select01-item.sp_full {
    width: 100%;
  }
}
.select01-item.wide {
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 769px) {
  .select01-item.wide {
    width: 66.327%;
    max-width: 650px;
  }
}
.select01-item.full {
  width: 100%;
}
.select01-item .select01-wrap {
  width: 100%;
}
.select01-frame {
  display: flex;
  column-gap: 2rem;
  row-gap: 2rem;
}
@media screen and (min-width: 769px) {
  .select01-frame {
    flex-wrap: wrap;
    align-items: center;
  }
  .select01-frame.pc_center {
    justify-content: center;
  }
}
@media screen and (max-width: 768px) {
  .select01-frame {
    flex-direction: column;
    justify-content: center;
  }
}
.select01-frame.nowrap {
  flex-wrap: nowrap;
}
.select01-frame.nowrap .select01-label {
  flex-shrink: 0;
}
.select01-wrap {
  display: block;
  position: relative;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .select01-wrap {
    width: 40rem;
    height: 5rem;
  }
}
@media screen and (max-width: 768px) {
  .select01-wrap {
    width: 100%;
    height: 10rem;
  }
}
.select01-wrap.full {
  width: 100%;
}
@media screen and (min-width: 769px) {
  .select01-wrap.number {
    width: 11rem;
  }
}
@media screen and (max-width: 768px) {
  .select01-wrap.number {
    width: 22rem;
  }
}
@media screen and (min-width: 769px) {
  .select01-wrap.number2 {
    width: 11rem;
  }
}
@media screen and (max-width: 768px) {
  .select01-wrap.number2 {
    width: 18rem;
  }
}
@media screen and (min-width: 769px) {
  .select01-wrap.area {
    width: 30rem;
  }
  .select01-wrap.area + .select01-wrap.area {
    margin-left: 3rem;
  }
}
.select01-wrap::after {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  top: 0;
  bottom: 0;
  margin: auto 0;
  pointer-events: none;
}
@media screen and (min-width: 769px) {
  .select01-wrap::after {
    border-top: 9px solid;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    right: 1.1rem;
  }
}
@media screen and (max-width: 768px) {
  .select01-wrap::after {
    border-top: 1.8rem solid;
    border-left: 1rem solid transparent;
    border-right: 1rem solid transparent;
    right: 2.2rem;
  }
}
@media screen and (min-width: 769px) {
  .select01-wrap.error::after {
    border-top: 9px solid #fc4042;
  }
}
@media screen and (max-width: 768px) {
  .select01-wrap.error::after {
    border-top: 1.8rem solid #fc4042;
  }
}
@media screen and (min-width: 769px) {
  .select01-wrap.error + .text02-p {
    padding-top: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .select01-wrap.error + .text02-p {
    padding-top: 4rem;
  }
}
@media screen and (min-width: 769px) {
  .select01-wrap + .select01-label {
    margin-left: 0.5em;
  }
}
@media screen and (max-width: 768px) {
  .select01-wrap + .select01-label {
    margin-left: 2rem;
  }
}
@media screen and (min-width: 769px) {
  .select01-wrap + .text01-p {
    margin-left: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .select01-wrap + .text01-p {
    order: 10;
    padding-top: 4rem;
  }
}
.select01-input {
  background: #f9f9f9;
  border: 1px solid #999;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
}
@media screen and (min-width: 769px) {
  .select01-input {
    border-radius: 0.4rem;
    padding: 0.5em 0.75em;
    line-height: 1.5em;
    font-size: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .select01-input {
    border-radius: 0.8rem;
    padding: 0.639em 0.778em;
    line-height: 1.5em;
    font-size: 3.6rem;
  }
}
.select01-input::-ms-expand {
  display: none;
}
.select01-input:focus {
  border: 1px solid #0d5faf;
  outline: none;
}
.select01-input.error {
  background: #fff3f3;
  border: 2px solid #fc4042;
  color: #fc4042;
}
.select01-label {
  line-height: 1;
  font-weight: 400;
}
@media screen and (min-width: 769px) {
  .select01-label {
    font-size: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .select01-label {
    font-size: 4rem;
  }
}

.textline01-items {
  display: flex;
  align-items: center;
}
.textline01-items .textline01-label + .textline01-input {
  margin-top: 0;
}
.textline01-row .textline01-label {
  display: block;
}
.textline01-row .textline01-label + .textline01-input {
  margin-left: 0;
  margin-top: 1rem;
}
.textline01-row + .textline01-row {
  margin-top: 4rem;
}
.textline01-row + .passline01-row {
  margin-top: 4rem;
}
.textline01-input {
  background: #f9f9f9;
  border: 1px solid #999;
  font-weight: 400;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .textline01-input {
    border-radius: 0.4rem;
    width: 30rem;
    height: 5rem;
    padding: 0.5em 0.75em;
    line-height: 1.5em;
    font-size: 2rem;
  }
  .textline01-input.pc_half {
    width: 50%;
  }
  .textline01-input.pc_full {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .textline01-input {
    border-radius: 0.8rem;
    width: 100%;
    height: 10rem;
    padding: 0.639em 0.778em;
    line-height: 1.5em;
    font-size: 3.6rem;
  }
  .textline01-input.sp_half {
    width: 50%;
  }
  .textline01-input.sp_full {
    width: 100%;
  }
}
.textline01-input::placeholder {
  color: #aaa;
}
.textline01-input:focus {
  border: 1px solid #0d5faf;
  outline: none;
}
@media screen and (min-width: 769px) {
  .textline01-input.number {
    width: 11rem;
  }
}
@media screen and (max-width: 768px) {
  .textline01-input.number {
    width: 16rem;
  }
}
@media screen and (min-width: 769px) {
  .textline01-input.number2 {
    width: 11rem;
  }
}
@media screen and (max-width: 768px) {
  .textline01-input.number2 {
    width: 3.5em;
    padding-left: 0.445em;
    padding-right: 0.445em;
  }
  .textline01-input.number2 + .textline01-label {
    margin-left: 1rem;
    margin-right: 1rem;
  }
}
@media screen and (min-width: 769px) {
  .textline01-input.code {
    width: 11rem;
  }
}
@media screen and (max-width: 768px) {
  .textline01-input.code {
    width: 27rem;
  }
}
@media screen and (min-width: 769px) {
  .textline01-input.code2 {
    width: 11rem;
  }
}
@media screen and (max-width: 768px) {
  .textline01-input.code2 {
    width: 27rem;
  }
}
@media screen and (min-width: 769px) {
  .textline01-input.code2 + .text01-p {
    margin-left: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .textline01-input.code2 + .text01-p {
    order: 10;
    padding-top: 4rem;
  }
}
@media screen and (min-width: 769px) {
  .textline01-input.dep2 {
    width: 60rem;
  }
}
@media screen and (max-width: 768px) {
  .textline01-input.dep2 {
    width: 100%;
  }
}
.textline01-input.full {
  width: 100%;
}
.textline01-input.error {
  background: #fff3f3;
  border: 2px solid #fc4042;
}
@media screen and (min-width: 769px) {
  .textline01-input + .textline01-label {
    margin-left: 0.5em;
  }
}
@media screen and (max-width: 768px) {
  .textline01-input + .textline01-label {
    margin-left: 2rem;
  }
}
@media screen and (min-width: 769px) {
  .textline01-input + .button01-input {
    margin-left: 3rem;
  }
}
@media screen and (max-width: 768px) {
  .textline01-input + .button01-input {
    margin-top: 4rem;
  }
}
.textline01-label {
  line-height: 1;
  font-weight: 400;
}
@media screen and (min-width: 769px) {
  .textline01-label {
    font-size: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .textline01-label {
    margin-right: 2rem;
    font-size: 4rem;
  }
}
.textline01-label small {
  font-size: 0.7em;
}
@media screen and (min-width: 769px) {
  .textline01-label small.pc_right {
    float: right;
    transform: translate(0, 40%);
  }
}
@media screen and (min-width: 769px) {
  .textline01-label + .textline01-input {
    margin-left: 0.4em;
  }
}
@media screen and (max-width: 768px) {
  .textline01-label + .textline01-input {
    margin-top: 2rem;
  }
  .textline01-label + .textline01-input.number, .textline01-label + .textline01-input.number2, .textline01-label + .textline01-input.code {
    margin-top: 0;
  }
}

.passline01-row .passline01-label {
  display: block;
}
.passline01-row .passline01-label + .passline01-wrap {
  margin-left: 0;
  margin-top: 1rem;
}
.passline01-row + .passline01-row {
  margin-top: 4rem;
}
.passline01-wrap {
  position: relative;
}
@media screen and (min-width: 769px) {
  .passline01-wrap {
    width: 40rem;
  }
  .passline01-wrap.pc_half {
    width: 50%;
  }
  .passline01-wrap.pc_full {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .passline01-wrap {
    width: 100%;
  }
  .passline01-wrap.sp_half {
    width: 50%;
  }
  .passline01-wrap.sp_full {
    width: 100%;
  }
}
.passline01-input {
  background: #f9f9f9;
  border: 1px solid #999;
  width: 100%;
  font-weight: 400;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .passline01-input {
    border-radius: 0.4rem;
    height: 5rem;
    padding: 0.5em 0.75em;
    line-height: 1.5em;
    font-size: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .passline01-input {
    border-radius: 0.8rem;
    height: 10rem;
    padding: 0.639em 0.778em;
    line-height: 1.5em;
    font-size: 3.6rem;
  }
}
.passline01-input::placeholder {
  color: #aaa;
}
.passline01-input:focus {
  border: 1px solid #0d5faf;
  outline: none;
}
.passline01-input.error {
  background: #fff3f3;
  border: 2px solid #fc4042;
}
.passline01-input[type=password] + .passline01-switch::before {
  background-image: url(../img/icon_view_off.svg);
}
.passline01-input[type=text] + .passline01-switch::before {
  background-image: url(../img/icon_view_on.svg);
}
.passline01-switch {
  display: block;
  position: absolute;
  background-color: transparent;
  border: none;
  right: 0;
  top: 0;
  bottom: 0;
  appearance: none;
  cursor: pointer;
}
@media screen and (min-width: 769px) {
  .passline01-switch {
    width: 4.2rem;
  }
}
@media screen and (max-width: 768px) {
  .passline01-switch {
    width: 9.2rem;
  }
}
.passline01-switch::before {
  content: "";
  position: absolute;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
}
@media screen and (min-width: 769px) {
  .passline01-switch::before {
    width: 2.6rem;
    height: 2.6rem;
  }
}
@media screen and (max-width: 768px) {
  .passline01-switch::before {
    width: 5.4rem;
    height: 5.4rem;
  }
}
.passline01-switch:focus {
  outline: none;
}
.passline01-label {
  line-height: 1;
  font-weight: 400;
}
@media screen and (min-width: 769px) {
  .passline01-label {
    font-size: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .passline01-label {
    margin-right: 2rem;
    font-size: 4rem;
  }
  .passline01-label.sp_small {
    font-size: 3.2rem;
  }
}
.passline01-label small {
  font-size: 0.7em;
}
@media screen and (min-width: 769px) {
  .passline01-label small.pc_right {
    float: right;
    transform: translate(0, 40%);
  }
}
@media screen and (min-width: 769px) {
  .passline01-label + .passline01-wrap {
    margin-left: 0.4em;
  }
}
@media screen and (max-width: 768px) {
  .passline01-label + .passline01-wrap {
    margin-top: 2rem;
  }
  .passline01-label + .passline01-wrap.number, .passline01-label + .passline01-wrap.code {
    margin-top: 0;
  }
}

.textarea01-input {
  display: block;
  background: #f9f9f9;
  max-width: 100%;
  font-weight: 400;
  resize: vertical;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .textarea01-input {
    border-radius: 0.4rem;
    width: 30rem;
    height: 12rem;
    padding: 0.5em 0.75em;
    line-height: 1.5em;
    font-size: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .textarea01-input {
    border-radius: 0.8rem;
    width: 100%;
    height: 21.6rem;
    padding: 0.639em 0.778em;
    line-height: 1.5em;
    font-size: 3.6rem;
  }
}
.textarea01-input::placeholder {
  color: #aaa;
}
.textarea01-input:focus {
  border: 1px solid #0d5faf;
  outline: none;
}
.textarea01-input.full {
  width: 100%;
}
.textarea01-input.error {
  background: #fff3f3;
  border: 2px solid #fc4042;
}
.textarea01-box {
  display: block;
  background: #eee;
  border: 1px solid #ccc;
  max-width: 100%;
  font-weight: 400;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .textarea01-box {
    border-radius: 0.4rem;
    width: 30rem;
    padding: 0.5em 0.75em;
    line-height: 1.5em;
    font-size: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .textarea01-box {
    border-radius: 0.8rem;
    width: 100%;
    padding: 0.639em 0.778em;
    line-height: 1.5em;
    font-size: 3.6rem;
  }
}
.textarea01-box.full {
  width: 100%;
}

.lnk-inline {
  text-decoration: underline;
  color: #0d5faf;
  cursor: pointer;
}
.lnk-inline::after {
  content: "";
  display: inline-block;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
}
.lnk-inline[target=_blank]:not(.noblank)::after, .lnk-inline.blank::after {
  background-image: url(/giftcard/public/assets/common/img/icon_blank.svg);
  width: 0.938em;
  height: 0.938em;
  margin-left: 0.313em;
  transform: translate(0, 0.125em);
}
.lnk-inline[href$=".pdf"]:not(.nopdf)::after, .lnk-inline.pdf::after {
  background-image: url(/giftcard/public/assets/common/img/icon_pdf.svg);
  width: 1.5em;
  height: 1.125em;
  margin-left: 0.313em;
  transform: translate(0, 0.125em);
}

.lnk-default {
  display: flex;
  align-items: center;
  text-decoration: underline;
  color: #0d5faf;
  cursor: pointer;
}
@media screen and (min-width: 769px) {
  .lnk-default {
    line-height: 1.5em;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 768px) {
  .lnk-default {
    line-height: 1.688em;
    font-size: 3.2rem;
  }
}
.lnk-default::after {
  content: "";
  display: block;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
}
.lnk-default[target=_blank]::after, .lnk-default.blank::after {
  position: static;
  background-image: url(/giftcard/public/assets/common/img/icon_blank.svg);
}
@media screen and (min-width: 769px) {
  .lnk-default[target=_blank]::after, .lnk-default.blank::after {
    width: 1em;
    height: 1em;
    margin-left: 0.313em;
    transform: none;
  }
}
@media screen and (max-width: 768px) {
  .lnk-default[target=_blank]::after, .lnk-default.blank::after {
    width: 1.063em;
    height: 1.063em;
    margin-left: 0.313em;
    transform: translate(0, 0.063em);
  }
}
.lnk-default[href$=".pdf"]::after {
  background-image: url(/giftcard/public/assets/common/img/icon_pdf.svg);
}
@media screen and (min-width: 769px) {
  .lnk-default[href$=".pdf"]::after {
    width: 1.625em;
    height: 1.188em;
  }
}
@media screen and (max-width: 768px) {
  .lnk-default[href$=".pdf"]::after {
    width: 1.625em;
    height: 1.188em;
  }
}
@media screen and (min-width: 769px) {
  .lnk-default + .lnk-default {
    margin-top: 3rem;
  }
}

.lnk-arrow01 {
  display: block;
  position: relative;
  padding-left: 1.85em;
  font-weight: 400;
}
@media screen and (min-width: 769px) {
  .lnk-arrow01 {
    line-height: 1.4em;
    font-size: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .lnk-arrow01 {
    line-height: 1.5em;
    font-size: 3.2rem;
  }
}
.lnk-arrow01::before {
  content: "";
  display: block;
  position: absolute;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  left: 0;
}
.lnk-arrow01[target=_blank]:not(.noblank)::after {
  content: "";
  display: inline-block;
  background-image: url(/giftcard/public/assets/common/img/icon_blank.svg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
}
.lnk-arrow01[href$=".pdf"]::before {
  background-image: url(/giftcard/public/assets/common/img/icon_pdf.svg);
  width: 1.3em;
  height: 0.9em;
  transform: translate(0, -50%);
}
@media screen and (min-width: 769px) {
  .lnk-arrow01[href$=".pdf"]::before {
    top: 0.7em;
  }
}
@media screen and (max-width: 768px) {
  .lnk-arrow01[href$=".pdf"]::before {
    top: 0.75em;
  }
}

.lnk-carrow01 {
  position: relative;
}
.lnk-carrow01::before {
  content: "";
  display: inline-block;
  background: #000;
  border-radius: 50%;
  width: 1.438em;
  height: 1.438em;
  margin-right: 0.35em;
  vertical-align: text-bottom;
  transform: translate(0, 0.063em);
}
.lnk-carrow01::after {
  content: "";
  position: absolute;
  width: 0.563em;
  height: 0.563em;
  left: 0.35em;
  top: 0.1em;
  bottom: 0;
  margin: auto 0;
  color: #fff;
  transform: rotateZ(45deg);
}
@media screen and (min-width: 769px) {
  .lnk-carrow01::after {
    border-right: 0.188em solid;
    border-top: 0.188em solid;
  }
}
@media screen and (max-width: 768px) {
  .lnk-carrow01::after {
    border-right: 0.172em solid;
    border-top: 0.172em solid;
  }
}

.lnks-wrapper {
  display: flex;
}
@media screen and (min-width: 769px) {
  .lnks-wrapper {
    align-items: center;
  }
}
@media screen and (max-width: 768px) {
  .lnks-wrapper {
    flex-direction: column;
  }
}
@media screen and (min-width: 769px) {
  .lnks-wrapper a + a {
    margin-top: 0 !important;
    margin-left: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .lnks-wrapper a + a {
    margin-top: 6rem;
  }
}
@media screen and (min-width: 769px) {
  .lnks-wrapper + .kome-ul {
    padding-top: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .lnks-wrapper + .kome-ul {
    padding-top: 6rem;
  }
}

.anc-larrow01 {
  position: relative;
  cursor: pointer;
  font-weight: 700;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .anc-larrow01 {
    padding-right: 1.25em;
    line-height: 1.125em;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 768px) {
  .anc-larrow01 {
    padding-left: 1.25em;
    line-height: 1.25em;
    font-size: 3.2rem;
  }
}
.anc-larrow01::after {
  content: "";
  position: absolute;
  border-right: 0.157em solid;
  border-bottom: 0.157em solid;
  width: 0.532em;
  height: 0.532em;
  transform: rotateZ(45deg);
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .anc-larrow01::after {
    right: 0;
    top: 0.188em;
  }
}
@media screen and (max-width: 768px) {
  .anc-larrow01::after {
    left: 0;
    top: 0.313em;
  }
}

.ancs-sub {
  letter-spacing: 0.02em;
  line-height: 1;
  font-weight: 700;
  color: var(--title-key-color);
}
@media screen and (min-width: 769px) {
  .ancs-sub {
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 768px) {
  .ancs-sub {
    font-size: 4rem;
  }
}
@media screen and (min-width: 769px) {
  .ancs-sub + .ancs-wrapper {
    margin-top: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .ancs-sub + .ancs-wrapper {
    margin-top: 3rem;
  }
}

.ancs-wrapper {
  display: flex;
  border: 1px solid var(--title-key-color);
}
@media screen and (min-width: 769px) {
  .ancs-wrapper {
    flex-wrap: wrap;
    align-items: center;
    border-radius: 1rem;
    padding: 3rem 6rem 1rem;
  }
}
@media screen and (max-width: 768px) {
  .ancs-wrapper {
    flex-direction: column;
    border-radius: 2rem;
    padding: 3.6rem 4rem;
  }
}
@media screen and (min-width: 769px) {
  .ancs-wrapper a {
    margin-right: 6rem;
    margin-bottom: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .ancs-wrapper a + a {
    margin-top: 5rem;
  }
}

.btn-arrow01 {
  background: #fff;
  text-indent: -0.935em;
  color: #013b6b;
  box-sizing: border-box;
}
.btn-arrow01::before {
  content: "";
  display: inline-block;
  border-right: 0.188em solid;
  border-top: 0.188em solid;
  width: 0.532em;
  height: 0.532em;
  margin: 0.55em 0.4em 0 0;
  transform: rotateZ(45deg);
  box-sizing: border-box;
}
.btn-arrow01[href$=".pdf"]::after {
  content: "";
  display: inline-block;
  background-image: url(/giftcard/public/assets/common/img/icon_pdf.svg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 1.563em;
  height: 1.125em;
  margin: 0 0 0 0.4em;
  vertical-align: baseline;
  transform: translate(0, 15%);
  box-sizing: border-box;
}

.btn-arrow02 {
  display: block;
  position: relative;
}
@media screen and (min-width: 769px) {
  .btn-arrow02 {
    padding-right: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .btn-arrow02 {
    padding-right: 4rem;
  }
}
.btn-arrow02::after {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto 0;
  color: var(--title-key-color);
  transform: rotateZ(45deg);
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .btn-arrow02::after {
    border-right: 0.3rem solid;
    border-top: 0.3rem solid;
    width: 0.85rem;
    height: 0.85rem;
  }
}
@media screen and (max-width: 768px) {
  .btn-arrow02::after {
    border-right: 0.55rem solid;
    border-top: 0.55rem solid;
    width: 1.6rem;
    height: 1.6rem;
  }
}

.btn-carrow01 {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: relative;
  font-weight: 700;
  font-family: inherit;
  letter-spacing: 0.02em;
  color: #fff;
  box-sizing: border-box;
  text-decoration: none !important;
  cursor: pointer;
}
@media screen and (min-width: 769px) {
  .btn-carrow01 {
    border-radius: 3.75em;
    min-width: 21.25em;
    min-height: 3.75em;
    padding: 0.5em 0;
    line-height: 1.25em;
    font-size: 1.6rem;
    box-shadow: 0 5px 7px rgba(0, 0, 0, 0.1);
  }
  .btn-carrow01.pc_thick {
    width: 25em;
  }
  .btn-carrow01.pc_full {
    width: 100%;
    min-width: auto;
  }
}
@media screen and (max-width: 768px) {
  .btn-carrow01 {
    border-radius: 3.75em;
    width: 18.438em;
    height: 3.75em;
    line-height: 1.25em;
    font-size: 3.2rem;
    text-align: center;
    box-shadow: 0 0.4rem 0.4rem rgba(0, 0, 0, 0.1);
  }
  .btn-carrow01.sp_small {
    height: 2.75em;
  }
  .btn-carrow01.sp_small small {
    font-size: 2.8rem;
  }
}
.btn-carrow01::before {
  content: "";
  position: absolute;
  background: #fff;
  border-radius: 50%;
  top: 0;
  bottom: 0;
  margin: auto 0;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .btn-carrow01::before {
    width: 1.5em;
    height: 1.5em;
    right: 1.25em;
  }
}
@media screen and (max-width: 768px) {
  .btn-carrow01::before {
    width: 1.063em;
    height: 1.063em;
    right: 0.875em;
  }
}
.btn-carrow01::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto 0;
  transform: rotateZ(45deg);
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .btn-carrow01::after {
    border-right: 0.188em solid;
    border-top: 0.188em solid;
    width: 0.532em;
    height: 0.532em;
    right: 1.782em;
  }
}
@media screen and (max-width: 768px) {
  .btn-carrow01::after {
    border-right: 0.125em solid;
    border-top: 0.125em solid;
    width: 0.413em;
    height: 0.413em;
    right: 1.25em;
  }
}
.btn-carrow01[href$=".pdf"]::before {
  content: none;
}
.btn-carrow01[href$=".pdf"]::after {
  border: none;
  background-image: url(/giftcard/public/assets/common/img/icon_pdf.svg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  transform: none;
}
@media screen and (min-width: 769px) {
  .btn-carrow01[href$=".pdf"]::after {
    width: 1.75em;
    height: 1.25em;
    right: 1.875em;
  }
}
@media screen and (max-width: 768px) {
  .btn-carrow01[href$=".pdf"]::after {
    width: 1.786em;
    height: 1.322em;
    right: 1.429em;
  }
}
.btn-carrow01.login > em {
  position: relative;
}
.btn-carrow01.login > em::before {
  content: "";
  position: absolute;
  background-image: url(/giftcard/public/assets/common/img/icon_login01_w.svg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 0.767em;
  height: 0.934em;
  top: 0;
  bottom: 0;
  margin: auto 0;
  transform: translate(-0.2em, 0);
}
.btn-carrow01.blue01 {
  background: #0d5faf;
}
.btn-carrow01.blue01::after {
  color: #0d5faf;
}
.btn-carrow01.blue02 {
  background: #fff;
  color: #0d5faf;
  box-shadow: none;
}
@media screen and (min-width: 769px) {
  .btn-carrow01.blue02 {
    border: 2px solid #0d5faf;
  }
}
@media screen and (max-width: 768px) {
  .btn-carrow01.blue02 {
    border: 0.4rem solid #0d5faf;
  }
}
.btn-carrow01.blue02::before {
  content: none;
}
.btn-carrow01.blue02::after {
  color: #0d5faf;
}
.btn-carrow01.blue03 {
  background: #0d5faf;
}
.btn-carrow01.blue03::before {
  display: none;
}
.btn-carrow01.blue03::after {
  color: #fff;
}
.btn-carrow01.orange01 {
  background: #ff9b0b;
}
.btn-carrow01.orange01::after {
  color: #ff9b0b;
}
.btn-carrow01.orange02 {
  background: #fff;
  color: #ff9b0b;
}
@media screen and (min-width: 769px) {
  .btn-carrow01.orange02 {
    border: 2px solid #ff9b0b;
  }
}
@media screen and (max-width: 768px) {
  .btn-carrow01.orange02 {
    border: 0.4rem solid #ff9b0b;
  }
}
.btn-carrow01.orange02::before {
  background: #ff9b0b;
}
.btn-carrow01.orange02::after {
  color: #fff;
}
.btn-carrow01.red01 {
  background: #ff5100;
}
.btn-carrow01.red01::after {
  color: #ff5100;
}
.btn-carrow01.green01 {
  background: #8dc21f;
}
.btn-carrow01.green01::before {
  display: none;
}
.btn-carrow01.green01::after {
  color: #fff;
}
.btn-carrow01.green02 {
  background: #30c6b7;
}
.btn-carrow01.green02::before {
  background: #fff;
}
.btn-carrow01.green02::after {
  color: #30c6b7;
}
.btn-carrow01.pink01 {
  background: #f03264;
}
.btn-carrow01.pink01::after {
  color: #f03264;
}
.btn-carrow01.gray01 {
  background: #5a5a5a;
}
.btn-carrow01.gray01::after {
  color: #5a5a5a;
}
.btn-carrow01.white01 {
  background: #fff;
  color: var(--title-key-color);
}
.btn-carrow01.white02 {
  background: #fff;
  color: #0d5faf;
}
.btn-carrow01.fitness01 {
  background: #0d5faf;
}
.btn-carrow01.fitness01::before {
  content: none;
}
.btn-carrow01.fitness02 {
  background: #fff;
  border: 2px solid;
  color: #0d5faf;
  box-shadow: none;
}
.btn-carrow01.kids01 {
  background: #00a1e9;
}
.btn-carrow01.kids01::before {
  content: none;
}
.btn-carrow01.kids02 {
  background: #fff;
  border: 2px solid;
  color: #00a1e9;
  box-shadow: none;
}
@media screen and (min-width: 769px) {
  .btn-carrow01.btn_wide {
    font-size: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .btn-carrow01.btn_wide {
    font-size: 3.4rem;
  }
}
.btn-carrow01.btn_middle > span {
  transform: translate(0, -0.25em);
}
@media screen and (min-width: 769px) {
  .btn-carrow01.btn_middle > em {
    transform: translate(0, -0.1em);
  }
}
@media screen and (max-width: 768px) {
  .btn-carrow01.btn_middle > em {
    transform: translate(0, -0.05em);
  }
}
.btn-carrow01.btn_small {
  height: auto;
}
@media screen and (min-width: 769px) {
  .btn-carrow01.btn_small {
    border-radius: 3.75em;
    min-width: 20.625em;
    min-height: 3.75em;
    padding: 0.5em 2.5em 0.625em 2.25em;
    line-height: 1.25em;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 768px) {
  .btn-carrow01.btn_small {
    border-radius: 3.143em;
    min-width: 18.215em;
    min-height: 3.143em;
    padding: 0.143em 1.429em 0.143em 1.286em;
    line-height: 1.5em;
    font-size: 2.8rem;
  }
}
@media screen and (min-width: 769px) {
  .btn-carrow01.btn_minimum {
    line-height: 1.25em;
    font-size: 1.6rem;
  }
}
.btn-carrow01.btn_minimum.login > em {
  font-size: 0.8em;
}
.btn-carrow01.btn_minimum.login > em::before {
  translate: -1em 0;
}
.btn-carrow01.btn_minimum.login > em + * {
  margin-top: 0.3em;
}
.btn-carrow01.nshdw {
  box-shadow: none;
}
@media screen and (min-width: 769px) {
  .btn-carrow01 strong {
    font-size: 2.125em;
  }
}
@media screen and (max-width: 768px) {
  .btn-carrow01 strong {
    font-size: 1.875em;
  }
}
.btn-carrow01 em {
  line-height: 1.25em;
  font-style: normal;
}
@media screen and (min-width: 769px) {
  .btn-carrow01 em {
    font-size: 1.5em;
  }
}
@media screen and (max-width: 768px) {
  .btn-carrow01 em {
    font-size: 1.412em;
  }
}
.btn-carrow01 span.ex::before {
  content: "";
  width: 1em;
  height: 1.5em;
  left: 4em;
  display: inline-block;
  position: absolute;
  top: 53%;
  transform: translate(-50%, -50%);
  background-image: url(../img/icon_ex.png);
  background-size: contain;
  background-repeat: no-repeat;
}

.btn-carrow02 {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  border: none;
  font-weight: 700;
  font-family: inherit;
  letter-spacing: 0.02em;
  text-align: center;
  text-decoration: none !important;
  color: #fff;
  appearance: none;
  cursor: pointer;
}
@media screen and (min-width: 769px) {
  .btn-carrow02 {
    border-radius: 3.75em;
    width: 20em;
    height: 3.75em;
    line-height: 1.5em;
    font-size: 1.6rem;
    box-shadow: 0 5px 7px rgba(0, 0, 0, 0.1);
  }
}
@media screen and (max-width: 768px) {
  .btn-carrow02 {
    border-radius: 3.75em;
    width: 18.438em;
    height: 3.75em;
    line-height: 1.25em;
    font-size: 3.2rem;
    box-shadow: 0 0.4rem 0.4rem rgba(0, 0, 0, 0.1);
  }
}
.btn-carrow02::before {
  position: absolute;
  background: #fff;
  border-radius: 50%;
  top: 0;
  bottom: 0;
  margin: auto 0;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .btn-carrow02::before {
    width: 1.5em;
    height: 1.5em;
    right: 1.25em;
  }
}
@media screen and (max-width: 768px) {
  .btn-carrow02::before {
    width: 1.063em;
    height: 1.063em;
    right: 0.875em;
  }
}
.btn-carrow02::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto 0;
  transform: rotateZ(45deg);
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .btn-carrow02::after {
    border-right: 0.219em solid;
    border-top: 0.219em solid;
    width: 0.625em;
    height: 0.625em;
    right: 1.782em;
  }
}
@media screen and (max-width: 768px) {
  .btn-carrow02::after {
    border-right: 0.188em solid;
    border-top: 0.188em solid;
    width: 0.625em;
    height: 0.625em;
    right: 1.313em;
  }
}
.btn-carrow02.blue01 {
  background: #0d5faf;
}
.btn-carrow02.orange01 {
  background: #ff9b0b;
}
.btn-carrow02.orange02 {
  background: #fff;
  border: 2px solid;
  color: #f99b09;
}
.btn-carrow02.orange02::before {
  content: "";
  background: #f99b09;
}
.btn-carrow02.orange02::after {
  color: #fff;
}
.btn-carrow02.orange02 .mrk-default {
  background: #fef0da;
  color: #f99b09;
}
@media screen and (min-width: 769px) {
  .btn-carrow02.btn_wide {
    font-size: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .btn-carrow02.btn_wide {
    font-size: 3.4rem;
  }
}
.btn-carrow02.nshdw {
  box-shadow: none;
}
.btn-carrow02.wid01 {
  padding-right: 2em;
}
@media screen and (min-width: 769px) {
  .btn-carrow02.wid01 {
    width: 22.5em;
  }
}
@media screen and (max-width: 768px) {
  .btn-carrow02.wid01 {
    border-radius: 3.125em;
    width: 100%;
    height: 3.572em;
    font-size: 2.8rem;
  }
  .btn-carrow02.wid01::before {
    width: 1.143em;
    height: 1.143em;
  }
  .btn-carrow02.wid01::after {
    right: 1.213em;
    scale: 0.8;
  }
}
.btn-carrow02.wid01 .mrk-default {
  margin-right: 1em;
}
@media screen and (max-width: 768px) {
  .btn-carrow02.wid01 .mrk-default {
    font-size: 2.4rem;
  }
}
.btn-carrow02.wid01 > span {
  text-align: left;
}
@media screen and (min-width: 769px) {
  .btn-carrow02 strong {
    font-size: 2.125em;
  }
}
@media screen and (max-width: 768px) {
  .btn-carrow02 strong {
    font-size: 1.875em;
  }
}
.btn-carrow02 em {
  font-style: normal;
}
@media screen and (min-width: 769px) {
  .btn-carrow02 em {
    font-size: 1.5em;
  }
}
@media screen and (max-width: 768px) {
  .btn-carrow02 em {
    font-size: 1.412em;
  }
}

.btn-larrow01 {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  background: #fff;
  font-weight: 700;
  font-family: inherit;
  letter-spacing: 0.02em;
  text-align: center;
  text-decoration: none !important;
  color: var(--title-key-color);
  cursor: pointer;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .btn-larrow01 {
    border: 2px solid;
    border-radius: 3.75em;
    min-width: 20.625em;
    min-height: 3.75em;
    padding: 0.5em 2.5em 0.625em 2.25em;
    line-height: 1.25em;
    font-size: 1.6rem;
  }
  .btn-larrow01.pc_tiny {
    padding-top: 0.5em;
    padding-bottom: 0.5em;
  }
}
@media screen and (max-width: 768px) {
  .btn-larrow01 {
    border: 0.143em solid;
    border-radius: 3.143em;
    min-width: 18.215em;
    min-height: 3.143em;
    padding: 0.143em 1.429em 0.143em 1.286em;
    line-height: 1.5em;
    font-size: 2.8rem;
  }
  .btn-larrow01.sp_full {
    width: 100% !important;
  }
}
.btn-larrow01::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto 0;
  transform: rotateZ(45deg);
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .btn-larrow01::after {
    border-right: 0.188em solid;
    border-top: 0.188em solid;
    width: 0.625em;
    height: 0.625em;
    right: 1.5em;
  }
}
@media screen and (max-width: 768px) {
  .btn-larrow01::after {
    position: absolute;
    border-right: 0.143em solid;
    border-top: 0.143em solid;
    width: 0.5em;
    height: 0.5em;
    right: 1.072em;
  }
}
.btn-larrow01[target=_blank]:not(.noblank)::after {
  border: none;
  background-image: url(/giftcard/public/assets/common/img/icon_blank.svg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  transform: none;
}
@media screen and (min-width: 769px) {
  .btn-larrow01[target=_blank]:not(.noblank)::after {
    width: 1.125em;
    height: 1.125em;
  }
}
@media screen and (max-width: 768px) {
  .btn-larrow01[target=_blank]:not(.noblank)::after {
    width: 1.072em;
    height: 1.072em;
  }
}
@media screen and (min-width: 769px) {
  .btn-larrow01[href$=".pdf"] {
    min-width: 21.875em;
    padding-right: 3.125em;
  }
}
@media screen and (max-width: 768px) {
  .btn-larrow01[href$=".pdf"] {
    width: 21.429em;
  }
}
.btn-larrow01[href$=".pdf"]::after {
  border: none;
  background-image: url(/giftcard/public/assets/common/img/icon_pdf.svg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  transform: none;
}
@media screen and (min-width: 769px) {
  .btn-larrow01[href$=".pdf"]::after {
    width: 1.75em;
    height: 1.25em;
    right: 1.125em;
  }
}
@media screen and (max-width: 768px) {
  .btn-larrow01[href$=".pdf"]::after {
    width: 1.786em;
    height: 1.322em;
    right: 1.072em;
  }
}
.btn-larrow01.thin {
  border: 1px solid;
  font-weight: 400;
}
.btn-larrow01.black01 {
  color: #333;
}
.btn-larrow01.black02 {
  color: #000;
}
.btn-larrow01.gray01 {
  border-color: #ccc;
  color: #333;
}
.btn-larrow01.back_page {
  border: 1px solid;
  font-weight: 400;
  color: #333;
}
@media screen and (min-width: 769px) {
  .btn-larrow01.back_page {
    width: 17.5em;
  }
}
.btn-larrow01.back_page::after {
  transform: rotateZ(45deg) scale(-1, -1);
}
@media screen and (min-width: 769px) {
  .btn-larrow01.back_page::after {
    left: 1.5em;
  }
}
@media screen and (max-width: 768px) {
  .btn-larrow01.back_page::after {
    left: 0.938em;
  }
}
.btn-larrow01.blue01 {
  color: #0d5faf;
}
.btn-larrow01.blue02 {
  color: #00baea;
}
.btn-larrow01.blue03 {
  background: #0d5faf;
  border-color: #0d5faf;
  color: #fff;
}
.btn-larrow01.fitness {
  color: #0d5faf;
}
.btn-larrow01.kids {
  color: #00a1e9;
}
.btn-larrow01.clear::after {
  display: none;
}
.btn-larrow01 small {
  font-weight: inherit;
}

.btn-larrow02 {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  background: #fff;
  font-weight: 400;
  font-family: inherit;
  letter-spacing: 0.02em;
  text-align: center;
  text-decoration: none !important;
  color: var(--title-key-color);
  cursor: pointer;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .btn-larrow02 {
    border: 1px solid;
    border-radius: 2.25em;
    height: 2.25em;
    padding: 0 1.25em 0 1.875em;
    line-height: 1.5em;
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 768px) {
  .btn-larrow02 {
    border: 0.072em solid;
    border-radius: 2.572em;
    height: 2.572em;
    padding: 0 2.143em 0 1.715em;
    line-height: 1.5em;
    font-size: 2.8rem;
  }
}
.btn-larrow02::after {
  content: "";
  display: block;
  transform: rotateZ(45deg);
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .btn-larrow02::after {
    border-right: 0.179em solid;
    border-top: 0.179em solid;
    width: 0.5em;
    height: 0.5em;
    margin-left: 0.393em;
  }
}
@media screen and (max-width: 768px) {
  .btn-larrow02::after {
    position: absolute;
    border-right: 0.129em solid;
    border-top: 0.129em solid;
    width: 0.479em;
    height: 0.479em;
    right: 1.286em;
  }
}
@media screen and (min-width: 769px) {
  .btn-larrow02.back {
    padding: 0 1.563em;
  }
}
@media screen and (max-width: 768px) {
  .btn-larrow02.back {
    padding: 0 1.715em 0 2.143em;
  }
}
.btn-larrow02.back::after {
  order: -5;
  transform: rotateZ(45deg) scale(-1, -1);
}
@media screen and (min-width: 769px) {
  .btn-larrow02.back::after {
    margin-left: 0;
    margin-right: 0.393em;
  }
}
@media screen and (max-width: 768px) {
  .btn-larrow02.back::after {
    left: 1.286em;
    right: auto;
  }
}
.btn-larrow02.anchor::after {
  transform: rotateZ(135deg);
}
@media screen and (max-width: 768px) {
  .btn-larrow02[target=_blank] {
    padding-right: 2.643em;
  }
}
.btn-larrow02[target=_blank]::after {
  border: none;
  background-image: url(/giftcard/public/assets/common/img/icon_blank.svg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 1em;
  height: 1em;
  transform: none;
}
@media screen and (max-width: 768px) {
  .btn-larrow02[href$=".pdf"] {
    padding-right: 3.429em;
  }
}
.btn-larrow02[href$=".pdf"]::after {
  border: none;
  background-image: url(/giftcard/public/assets/common/img/icon_pdf.svg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  transform: none;
}
@media screen and (min-width: 769px) {
  .btn-larrow02[href$=".pdf"]::after {
    width: 1.858em;
    height: 1.358em;
    margin-left: 0.286em;
  }
}
@media screen and (max-width: 768px) {
  .btn-larrow02[href$=".pdf"]::after {
    width: 1.786em;
    height: 1.322em;
    right: 1.143em;
  }
}
@media screen and (max-width: 768px) {
  .btn-larrow02.copy {
    display: none;
  }
}
.btn-larrow02.copy::after {
  border: none;
  background-image: url(/giftcard/public/assets/common/img/icon_copy01_b.svg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  transform: none;
}
@media screen and (min-width: 769px) {
  .btn-larrow02.copy::after {
    width: 0.858em;
    height: 1em;
    margin-left: 0.286em;
  }
}
.btn-larrow02.black01 {
  color: #333;
}
.btn-larrow02.gray01 {
  border-color: #ccc;
  color: #333;
}
.btn-larrow02.fitness {
  color: #0d5faf;
}
.btn-larrow02.kids {
  color: #00a1e9;
}

.btn-cround01 {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  border-radius: 1rem;
  font-weight: 700;
  box-sizing: border-box;
  cursor: pointer;
}
@media screen and (min-width: 769px) {
  .btn-cround01 {
    line-height: 1.3em;
    font-size: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .btn-cround01 {
    line-height: 1.375em;
    font-size: 3.2rem;
  }
}
.btn-cround01::before {
  content: "";
  display: block;
  position: absolute;
  border-radius: 50%;
  width: 1.5em;
  height: 1.5em;
  right: 1.5em;
  top: 0;
  bottom: 0;
  margin: auto 0;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  .btn-cround01::before {
    width: 1.25em;
    height: 1.25em;
    right: 0.938em;
  }
}
.btn-cround01::after {
  content: "";
  display: block;
  position: absolute;
  border-right: 0.2em solid;
  border-bottom: 0.2em solid;
  width: 0.6em;
  height: 0.6em;
  right: 2em;
  top: 0;
  bottom: 0;
  transform: rotateZ(-45deg);
  margin: auto 0;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  .btn-cround01::after {
    border-right: 0.157em solid;
    border-bottom: 0.157em solid;
    width: 0.5em;
    height: 0.5em;
    right: 1.375em;
  }
}
.btn-cround01 em {
  font-style: normal;
}
.btn-cround01.orange01 {
  background: #ff9b0b;
  color: #fff;
}
.btn-cround01.orange01::before {
  background: #fff;
}
.btn-cround01.orange01::after {
  color: #ff9b0b;
}
.btn-cround01.blue01 {
  background: #2ea1e9;
  color: #fff;
}
.btn-cround01.blue01::before {
  background: #fff;
}
.btn-cround01.blue01::after {
  color: #2ea1e9;
}
.btn-cround01.blue02 {
  background: #fff;
  border: 2px solid #cfdfef;
  color: #0d5faf;
}
.btn-cround01.blue02::before {
  background: #0d5faf;
}
.btn-cround01.blue02::after {
  color: #fff;
}
.btn-cround01.blue03 {
  background: #0d5faf;
  color: #fff;
}
.btn-cround01.blue03::before {
  background: #fff;
}
.btn-cround01.blue03::after {
  color: #0d5faf;
}
.btn-cround01.wid01 {
  flex-direction: column;
}
@media screen and (min-width: 769px) {
  .btn-cround01.wid01 {
    min-width: 22em;
    min-height: 7em;
  }
}
@media screen and (max-width: 768px) {
  .btn-cround01.wid01 {
    min-width: 18.438em;
    min-height: 5.938em;
  }
}
.btn-cround01.wid01 em {
  padding-top: 0.5em;
  font-size: 1.5em;
}
.btn-cround01.wid02 {
  justify-content: left;
  border-radius: 0.5rem;
}
@media screen and (min-width: 769px) {
  .btn-cround01.wid02 {
    column-gap: 4rem;
    min-width: 40em;
    min-height: 5em;
    padding: 0.75em 3.5em 0.75em 1.5em;
  }
}
@media screen and (max-width: 768px) {
  .btn-cround01.wid02 {
    column-gap: 3rem;
    width: 100%;
    min-height: 3.938em;
    padding: 0.313em 2.813em 0.313em 0.625em;
  }
}
.btn-cround01.wid02 em {
  font-size: 1.5em;
}
.btn-cround01.wid02 .mrk-default {
  width: 5.572em;
  line-height: 2em;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .btn-cround01.wid02 .mrk-default {
    font-size: 2rem;
  }
}

.btn-image01 {
  display: block;
  line-height: 0;
  cursor: pointer;
}
.btn-image01.ac-parent_all > img.close, .btn-image01.js-imagemodal > img.close {
  display: none;
}
.btn-image01.ac-parent_all.active > img.open, .btn-image01.js-imagemodal.active > img.open {
  display: none;
}
.btn-image01.ac-parent_all.active > img.close, .btn-image01.js-imagemodal.active > img.close {
  display: block;
}

.btn-icon01 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #fff;
  border: 1px solid #d9e0e2;
  color: #013b6b;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .btn-icon01 {
    border-radius: 0.358em;
    width: 19.286em;
    min-height: 5em;
    padding: 0.608em 1.429em 0.608em 1.072em;
    line-height: 1.215em;
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 768px) {
  .btn-icon01 {
    border-radius: 0.371em;
    width: 21.852em;
    min-height: 5.186em;
    padding: 0.297em 1.112em 0.297em 1.482em;
    line-height: 1.482em;
    font-size: 2.7rem;
  }
}
.btn-icon01::after {
  content: "";
  flex-shrink: 0;
  display: block;
  transform: rotateZ(45deg);
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .btn-icon01::after {
    border-right: 0.179em solid;
    border-top: 0.179em solid;
    width: 0.572em;
    height: 0.572em;
  }
}
@media screen and (max-width: 768px) {
  .btn-icon01::after {
    border-right: 0.149em solid;
    border-top: 0.149em solid;
    width: 0.519em;
    height: 0.519em;
  }
}
.btn-icon01 > figure {
  flex-shrink: 0;
  line-height: 0;
}
@media screen and (min-width: 769px) {
  .btn-icon01 > figure {
    width: 2.706em;
  }
}
@media screen and (max-width: 768px) {
  .btn-icon01 > figure {
    width: 3.334em;
  }
}
@media screen and (min-width: 769px) {
  .btn-icon01 > figure + p {
    padding-left: 0.715em;
  }
}
@media screen and (max-width: 768px) {
  .btn-icon01 > figure + p {
    padding-left: 1.112em;
  }
}
.btn-icon01 > p {
  width: 100%;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .btn-icon01 > p {
    padding: 0 0.358em 0 0;
  }
}
@media screen and (max-width: 768px) {
  .btn-icon01 > p {
    padding: 0 0.741em 0 0;
  }
}
.btn-icon01 > p em {
  font-size: 1.143em;
  font-style: normal;
}

.btn-video01 {
  display: block;
  position: relative;
  line-height: 0;
  cursor: pointer;
}
.btn-video01::after {
  content: "";
  position: absolute;
  background-color: #000;
  background-image: url(/giftcard/public/assets/common/img/icon_play01.png);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  border-radius: 50%;
  width: 8rem;
  height: 8rem;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  opacity: 0.5;
  pointer-events: none;
}

.btn-circle01 {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  border-radius: 50%;
  font-weight: 900;
  text-align: center;
  box-sizing: border-box;
  cursor: pointer;
}
@media screen and (min-width: 769px) {
  .btn-circle01 {
    width: 10em;
    height: 10em;
    padding-bottom: 1.5rem;
    line-height: 1.5em;
    font-size: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .btn-circle01 {
    width: 8.077em;
    height: 8.077em;
    padding-bottom: 2.4rem;
    letter-spacing: -0.025em;
    line-height: 1.231em;
    font-size: 2.6rem;
  }
}
.btn-circle01::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  margin: 0 auto;
  transform: rotateZ(45deg);
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .btn-circle01::after {
    border-right: 0.35rem solid;
    border-bottom: 0.35rem solid;
    width: 1.15rem;
    height: 1.15rem;
    bottom: 4.5rem;
  }
}
@media screen and (max-width: 768px) {
  .btn-circle01::after {
    border-right: 0.5rem solid;
    border-bottom: 0.5rem solid;
    width: 1.6rem;
    height: 1.6rem;
    bottom: 3.2rem;
  }
}
.btn-circle01.orange01 {
  background: #f29600;
  color: #fff;
}
.btn-circle01.green01 {
  background: #8dc21f;
  color: #fff;
}
.btn-circle01.blue01 {
  background: #009fe8;
  color: #fff;
}

.btn-square01 {
  display: flex;
  justify-content: center;
  align-items: center;
  border: none;
  text-align: center;
  cursor: pointer;
  box-sizing: border-box;
  appearance: none;
}
@media screen and (min-width: 769px) {
  .btn-square01 {
    border-radius: 0.2em;
    min-height: 3em;
    padding: 0.2em 0;
    line-height: 1.3em;
    font-size: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .btn-square01 {
    border-radius: 0.223em;
    min-height: 2.778em;
    padding: 0.223em 0;
    line-height: 1.167em;
    font-size: 3.6rem;
  }
}
@media screen and (min-width: 769px) {
  .btn-square01.wid01 {
    width: 28em;
  }
}
@media screen and (max-width: 768px) {
  .btn-square01.wid01 {
    width: 18.5em;
  }
}
.btn-square01.full {
  width: 100%;
}
.btn-square01.blue01 {
  background: #0d5faf;
  color: #fff;
}
.btn-square01:disabled {
  filter: grayscale(1);
  opacity: 0.5;
  pointer-events: none;
}

.btns-wrapper {
  display: flex;
  align-items: center;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .btns-wrapper {
    flex-wrap: wrap;
    justify-content: center;
  }
  .btns-wrapper.pc_abs {
    position: absolute;
  }
  .btns-wrapper.pc_abs.rt {
    justify-content: flex-end;
    right: 0;
    top: 0;
  }
  .btns-wrapper.pc_abs.rc {
    justify-content: flex-start;
    right: 0;
    top: 0;
    bottom: 0;
    margin-top: auto;
    margin-bottom: auto;
  }
  .btns-wrapper.pc_right {
    justify-content: flex-end;
  }
  .btns-wrapper.pc_left {
    justify-content: flex-start;
  }
  .btns-wrapper.pc_horz {
    flex-direction: column;
  }
  .btns-wrapper.pc_horz a + a {
    margin-left: 0;
    margin-top: 4rem;
  }
  .btns-wrapper.pc_thick a + a {
    margin-left: 6rem;
  }
  .btns-wrapper.pc_mt0 {
    margin-top: 0 !important;
  }
  .btns-wrapper > .full {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .btns-wrapper {
    flex-direction: column;
  }
  .btns-wrapper.sp_end {
    align-items: flex-end;
  }
  .btns-wrapper.sp_fix a {
    min-width: 51rem;
  }
  .btns-wrapper.sp_horz {
    flex-direction: row;
    justify-content: center;
  }
  .btns-wrapper.sp_horz a + a {
    margin-top: 0;
    margin-left: 2rem;
  }
}
.btns-wrapper.bg01 {
  background: #f7f6f5;
  padding: 6rem 0;
}
.btns-wrapper.fitness {
  background: #e6f1fc;
  padding: 6rem 0;
}
.btns-wrapper.fitness02.arrow01::before, .btns-wrapper.fitness02.arrow01::after {
  border-right-color: #0d5faf;
  border-bottom-color: #0d5faf;
}
.btns-wrapper.kids {
  background: #e4f5fd;
  padding: 6rem 0;
}
.btns-wrapper.kids02.arrow01::before, .btns-wrapper.kids02.arrow01::after {
  border-right-color: #00a1e9;
  border-bottom-color: #00a1e9;
}
.btns-wrapper.left {
  justify-content: flex-start;
}
.btns-wrapper.arrow01 {
  position: relative;
}
@media screen and (min-width: 769px) {
  .btns-wrapper.arrow01 {
    padding-top: 9rem;
  }
}
@media screen and (max-width: 768px) {
  .btns-wrapper.arrow01 {
    padding-top: 12rem;
  }
}
.btns-wrapper.arrow01::before, .btns-wrapper.arrow01::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  margin: 0 auto;
  transform: rotateZ(45deg);
  pointer-events: none;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .btns-wrapper.arrow01::before, .btns-wrapper.arrow01::after {
    border-right: 0.6rem solid #fff;
    border-bottom: 0.6rem solid #fff;
    width: 1.7rem;
    height: 1.7rem;
  }
}
@media screen and (max-width: 768px) {
  .btns-wrapper.arrow01::before, .btns-wrapper.arrow01::after {
    border-right: 0.85rem solid #fff;
    border-bottom: 0.85rem solid #fff;
    width: 2.85rem;
    height: 2.85rem;
  }
}
.bg-area.fitness01 .btns-wrapper.arrow01::before, .bg-box.fitness01 .btns-wrapper.arrow01::before, .bg-area[class*=fitness_] .btns-wrapper.arrow01::before, .bg-area.fitness01 .btns-wrapper.arrow01::after, .bg-box.fitness01 .btns-wrapper.arrow01::after, .bg-area[class*=fitness_] .btns-wrapper.arrow01::after {
  border-right-color: #0d5faf;
  border-bottom-color: #0d5faf;
}
.bg-area.kids01 .btns-wrapper.arrow01::before, .bg-box.kids01 .btns-wrapper.arrow01::before, .bg-area[class*=kids_] .btns-wrapper.arrow01::before, .bg-area.kids01 .btns-wrapper.arrow01::after, .bg-box.kids01 .btns-wrapper.arrow01::after, .bg-area[class*=kids_] .btns-wrapper.arrow01::after {
  border-right-color: #00a1e9;
  border-bottom-color: #00a1e9;
}
@media screen and (min-width: 769px) {
  .btns-wrapper.arrow01::before {
    top: 2.5rem;
  }
}
@media screen and (max-width: 768px) {
  .btns-wrapper.arrow01::before {
    top: 2.5rem;
  }
}
@media screen and (min-width: 769px) {
  .btns-wrapper.arrow01::after {
    top: 4.5rem;
  }
}
@media screen and (max-width: 768px) {
  .btns-wrapper.arrow01::after {
    top: 5.5rem;
  }
}
@media screen and (min-width: 769px) {
  .btns-wrapper.clm5 {
    flex-wrap: wrap;
  }
  .btns-wrapper.clm5 a:nth-of-type(n+6) {
    margin-top: 2rem;
  }
  .btns-wrapper.clm5 a:nth-of-type(5n+1) {
    margin-left: 0 !important;
  }
}
@media screen and (min-width: 769px) {
  .btns-wrapper.clm4 {
    flex-wrap: wrap;
  }
  .btns-wrapper.clm4 a {
    width: 27rem;
  }
  .btns-wrapper.clm4 a:nth-of-type(n+5) {
    margin-top: 2rem;
  }
  .btns-wrapper.clm4 a:nth-of-type(4n+1) {
    margin-left: 0 !important;
  }
}
@media screen and (min-width: 769px) {
  .btns-wrapper.clm3 {
    flex-wrap: wrap;
  }
  .btns-wrapper.clm3 a {
    width: 36.6rem;
  }
  .btns-wrapper.clm3 a:nth-of-type(n+4) {
    margin-top: 2rem;
  }
  .btns-wrapper.clm3 a:nth-of-type(3n+1) {
    margin-left: 0 !important;
  }
}
@media screen and (min-width: 769px) {
  .btns-wrapper a + a, .btns-wrapper a + button, .btns-wrapper button + a, .btns-wrapper button + button {
    margin-left: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .btns-wrapper a + a, .btns-wrapper a + button, .btns-wrapper button + a, .btns-wrapper button + button {
    margin-top: 3rem;
  }
}
.btns-wrapper.vertical {
  flex-direction: column;
}
.btns-wrapper.vertical a {
  width: 100%;
}
@media screen and (min-width: 769px) {
  .btns-wrapper.vertical a + a {
    margin-left: 0;
    margin-top: 2rem;
  }
}
@media screen and (min-width: 769px) {
  .btns-wrapper + .table03-dl {
    margin-top: 3rem;
  }
}
@media screen and (max-width: 768px) {
  .btns-wrapper + .table03-dl {
    margin-top: 4rem;
  }
}
@media screen and (min-width: 769px) {
  .btns-wrapper + .desc03-dl {
    padding-top: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .btns-wrapper + .desc03-dl {
    padding-top: 3rem;
  }
}
@media screen and (min-width: 769px) {
  .btns-wrapper + .text01-p {
    padding-top: 5rem;
  }
}
@media screen and (max-width: 768px) {
  .btns-wrapper + .text01-p {
    padding-top: 8rem;
  }
}
@media screen and (min-width: 769px) {
  .btns-wrapper + .note01-p {
    padding-top: 3rem;
  }
}
@media screen and (max-width: 768px) {
  .btns-wrapper + .note01-p {
    padding-top: 4rem;
  }
}
.btns-wrapper--lifestyle {
  justify-content: space-between;
  width: 62%;
  margin: 0 auto;
}
.btns-wrapper--lifestyle a:nth-of-type(2) {
  margin-left: 0;
}
.btns-wrapper--lifestyle a:nth-of-type(n + 3) {
  margin-top: 4rem;
  margin-left: 0rem;
}

.bnr-link01 {
  display: block;
  line-height: 0;
  text-align: center;
}
@media screen and (min-width: 769px) {
  .bnr-link01 + .text01-p {
    padding-top: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .bnr-link01 + .text01-p {
    padding-top: 4rem;
  }
}

.bnr-shadow01 {
  display: block;
  background: #fff;
  border-radius: 1.6rem;
  padding: 1rem;
  line-height: 0;
  text-align: center;
}
@media screen and (min-width: 769px) {
  .bnr-shadow01 {
    box-shadow: 0 5px 7px rgba(0, 0, 0, 0.1);
  }
}
@media screen and (max-width: 768px) {
  .bnr-shadow01 {
    box-shadow: 0 0.5rem 0.7rem rgba(0, 0, 0, 0.1);
  }
}
.bnr-shadow01 img {
  border-radius: 0.8rem;
}

.bnr-card01 {
  display: flex;
  background: var(--title-key-color-ash);
  color: var(--title-key-color);
  overflow: hidden;
  box-shadow: 0 5px 7px rgba(0, 0, 0, 0.1);
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .bnr-card01 {
    justify-content: space-between;
    border: 0.8rem solid #fff;
    border-radius: 1.6rem;
    width: 100%;
    max-width: 98rem;
  }
}
@media screen and (max-width: 768px) {
  .bnr-card01 {
    flex-direction: column;
    border: 1rem solid #fff;
    border-radius: 1.8rem;
  }
}
.bnr-card01 .img-default {
  flex-shrink: 0;
}
.bnr-card01 .img-default + p {
  width: 100%;
}
.bnr-card01 > p {
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (min-width: 769px) {
  .bnr-card01 > p {
    line-height: 1.334em;
    font-size: 3rem;
  }
}
@media screen and (max-width: 768px) {
  .bnr-card01 > p {
    min-height: 12rem;
    line-height: 1.5em;
    font-size: 4rem;
  }
}
.bnr-card01 > p::after {
  content: "";
  display: block;
  transform: rotateZ(45deg);
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .bnr-card01 > p::after {
    border-right: 0.3rem solid;
    border-top: 0.3rem solid;
    width: 0.9rem;
    height: 0.9rem;
    margin-left: 1rem;
  }
}
@media screen and (max-width: 768px) {
  .bnr-card01 > p::after {
    border-right: 0.45rem solid;
    border-top: 0.45rem solid;
    width: 1.4rem;
    height: 1.4rem;
    margin-left: 1.5rem;
  }
}

.bnrs-wrapper.center {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
@media screen and (min-width: 769px) {
  .bnrs-wrapper.wid01 {
    width: 114rem;
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (min-width: 769px) {
  .bnrs-wrapper + .text01-p {
    padding-top: 3rem;
  }
}
@media screen and (max-width: 768px) {
  .bnrs-wrapper + .text01-p {
    padding-top: 4rem;
  }
}

.mrk-default {
  display: inline-block;
  background: var(--title-key-color);
  padding: 0 0.5em;
  font-weight: 400;
  font-style: normal;
  text-indent: 0;
  color: #fff;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .mrk-default {
    line-height: 1.715em;
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 768px) {
  .mrk-default {
    line-height: 1.715em;
    font-size: 2.8rem;
  }
}
.mrk-default > strong, .mrk-default > em {
  font-size: inherit !important;
}
@media screen and (min-width: 769px) {
  .mrk-default.wid01 {
    line-height: 1.6em;
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 768px) {
  .mrk-default.wid01 {
    line-height: 1.6em;
    font-size: 2.5rem;
  }
}
.mrk-default.fitness01 {
  border-radius: 2em;
  background: #0d5faf;
}
.mrk-default.kids01 {
  border-radius: 2em;
  background: #00a1e9;
}

.mrk-reverse {
  display: inline-block;
  border: 1px solid;
  padding: 0 0.5em;
  font-weight: 400;
  font-style: normal;
  text-indent: 0;
  color: var(--title-key-color);
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .mrk-reverse {
    line-height: 1.715em;
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 768px) {
  .mrk-reverse {
    line-height: 1.715em;
    font-size: 2.8rem;
  }
}
.mrk-reverse.orange01 {
  color: #ff9b0b;
}
.mrk-reverse.orange02 {
  border: 2px solid;
  color: #ff9b0b;
}

.mrk-required {
  display: inline-block;
  background: #fc4042;
  width: 4.5em;
  font-weight: 400;
  font-style: normal;
  text-align: center;
  text-indent: 0;
  color: #fff;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .mrk-required {
    line-height: 1.5em;
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 768px) {
  .mrk-required {
    line-height: 1.5em;
    font-size: 2.4rem;
  }
}

@media screen and (min-width: 769px) {
  .mrks-wrapper i + i {
    margin-left: 0.5rem;
  }
}

.ico-checkbox {
  display: inline-block;
  position: relative;
  width: 1.5em;
  height: 1.5em;
  margin: 0 0.188em;
  vertical-align: text-bottom;
}
.ico-checkbox::before {
  content: "";
  position: absolute;
  background: #f9f9f9;
  border: 1px solid #999;
  border-radius: 0.25em;
  width: 1.5em;
  height: 1.5em;
  left: 0;
  top: 0.063em;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  .ico-checkbox::before {
    top: 0.125em;
  }
}
.ico-checkbox.checked::before {
  background: #0d5faf;
  border-color: #0d5faf;
}
.ico-checkbox.checked::after {
  content: "";
  position: absolute;
  border-right: 0.219em solid #fff;
  border-bottom: 0.219em solid #fff;
  width: 0.625em;
  height: 0.844em;
  left: 0.438em;
  top: 0.25em;
  transform: rotateZ(45deg);
  box-sizing: border-box;
}

.ico-auth {
  display: inline-block;
  position: relative;
  width: 4em;
  height: 4em;
}
@media screen and (min-width: 769px) {
  .ico-auth {
    font-size: 1rem;
  }
}
@media screen and (max-width: 768px) {
  .ico-auth {
    font-size: 2rem;
  }
}
.ico-auth::before {
  content: "";
  display: block;
  position: absolute;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 87.5%;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  box-sizing: border-box;
}
.ico-auth[data-auth-level=○]::before {
  background-image: url(/giftcard/public/assets/common/img/icon_ok01_o.svg);
}
.ico-auth[data-auth-level=×]::before {
  background-image: url(/giftcard/public/assets/common/img/icon_ng01_g.svg);
}
.ico-auth[data-auth-level=△]::before {
  background-image: url(/giftcard/public/assets/common/img/icon_ss01_g.svg);
}
.ico-auth[data-auth-level="-"]::before {
  background-image: url(/giftcard/public/assets/common/img/icon_na01_g.svg);
}

.form-contents {
  display: none;
}

.page-nav {
  position: relative;
  padding-bottom: 1px;
  box-sizing: border-box;
}
.page-nav * {
  box-sizing: border-box;
}
.page-nav *::before, .page-nav *::after {
  box-sizing: border-box;
}
.page-nav-switches {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.page-nav-switches > a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: calc((100% - 1px) / 2);
  font-weight: 700;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .page-nav-switches > a {
    height: 3.143em;
    padding: 0 1.072em;
    font-size: 2.8rem;
  }
}
.page-nav-switches > a::after {
  content: "";
  display: block;
  transform: rotateZ(45deg);
}
@media screen and (max-width: 768px) {
  .page-nav-switches > a::after {
    border-right: 0.4rem solid;
    border-top: 0.4rem solid;
    width: 1.35rem;
    height: 1.35rem;
  }
}
.page-nav-switches > a.fitness {
  background: #0d5faf;
}
.page-nav-switches > a.kids {
  background: #00a1e9;
}
@media screen and (max-width: 768px) {
  .page-nav-switches + .page-nav-buttons {
    margin-top: 1px;
  }
}
.page-nav-buttons {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.page-nav-buttons > a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #f4f7fb;
  width: calc((100% - 3px) / 4);
  color: var(--title-key-color);
}
@media screen and (max-width: 768px) {
  .page-nav-buttons > a {
    height: 3.385em;
    padding: 0 0.539em 0 0.693em;
    font-size: 2.6rem;
  }
}
.page-nav-buttons > a::after {
  content: "";
  display: block;
  transform: rotateZ(45deg);
}
@media screen and (max-width: 768px) {
  .page-nav-buttons > a::after {
    border-right: 0.4rem solid;
    border-top: 0.4rem solid;
    width: 1.35rem;
    height: 1.35rem;
  }
}

.page-header {
  position: relative;
  background: var(--title-key-color-ash);
}
@media screen and (min-width: 769px) {
  .page-header {
    padding: 0 3rem 4.2rem;
  }
}
@media screen and (max-width: 768px) {
  .page-header {
    padding: 0 4rem 5rem;
  }
}
.page-header-pankuz {
  display: flex;
  margin: 0 auto;
  line-height: 1;
  letter-spacing: 0.02em;
  font-weight: 400;
}
@media screen and (min-width: 769px) {
  .page-header-pankuz {
    max-width: 114rem;
    padding: 1.667em 0;
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 768px) {
  .page-header-pankuz {
    padding: 1.5em 0;
    font-size: 2rem;
  }
}
.page-header-pankuz > li {
  display: block;
  white-space: nowrap;
}
.page-header-pankuz > li:last-of-type {
  overflow: hidden;
  text-overflow: ellipsis;
}
.page-header-pankuz > li a {
  text-decoration: underline;
}
.page-header-pankuz > li.is-current a {
  text-decoration: none;
  pointer-events: none;
}
.page-header-pankuz > li + li::before {
  content: ">";
}
@media screen and (min-width: 769px) {
  .page-header-pankuz > li + li::before {
    margin: 0 0.3em 0 0.6em;
  }
}
@media screen and (max-width: 768px) {
  .page-header-pankuz > li + li::before {
    margin: 0 0 0 0.3em;
  }
}
@media screen and (max-width: 768px) {
  .main_section > .page-header-pankuz {
    width: calc(100% - 8rem);
  }
}
@media screen and (min-width: 769px) {
  .page-header-pankuz + .page-header-h1 {
    padding-top: 0.575em;
  }
}
@media screen and (max-width: 768px) {
  .page-header-pankuz + .page-header-h1 {
    padding-top: 0.167em;
  }
}
.page-header-h1 {
  margin: 0 auto;
  font-weight: 700;
}
@media screen and (min-width: 769px) {
  .page-header-h1 {
    max-width: 114rem;
    padding: 1.325em 0 0.575em;
    letter-spacing: 0.02em;
    line-height: 1.7em;
    font-size: 4rem;
  }
  .page-header-h1 > h1 {
    line-height: inherit;
    font: inherit;
  }
  .page-header-h1 > h1:first-of-type {
    margin-top: -0.35em;
  }
  .page-header-h1 > h1:last-of-type {
    margin-bottom: -0.35em;
  }
}
@media screen and (max-width: 768px) {
  .page-header-h1 {
    padding: 0.834em 0 0.167em;
    line-height: 1.552em;
    font-size: 5.8rem;
  }
  .page-header-h1 > h1 {
    line-height: inherit;
    font: inherit;
  }
  .page-header-h1 > h1:first-of-type {
    margin-top: -0.275em;
  }
  .page-header-h1 > h1:last-of-type {
    margin-bottom: -0.275em;
  }
}
.page-header-h1 > h1 {
  color: var(--title-key-color);
}
@media screen and (min-width: 769px) {
  .page-header-h1 + .page-header-h2 {
    padding-top: 0.7rem;
  }
}
@media screen and (max-width: 768px) {
  .page-header-h1 + .page-header-h2 {
    padding-top: 5rem;
  }
}
@media screen and (min-width: 769px) {
  .page-header-h1 + .page-header-index {
    padding-top: 0.7rem;
  }
}
@media screen and (max-width: 768px) {
  .page-header-h1 + .page-header-index {
    padding-top: 5rem;
  }
}
.page-header-h2 {
  margin: 0 auto;
  font-weight: 700;
}
@media screen and (min-width: 769px) {
  .page-header-h2 {
    max-width: 114rem;
    padding: 1em 0 0.767em;
    letter-spacing: 0.02em;
    line-height: 1.5em;
    font-size: 3rem;
  }
  .page-header-h2 > h2 {
    line-height: inherit;
    font: inherit;
  }
  .page-header-h2 > h2:first-of-type {
    margin-top: -0.25em;
  }
  .page-header-h2 > h2:last-of-type {
    margin-bottom: -0.25em;
  }
}
@media screen and (max-width: 768px) {
  .page-header-h2 {
    padding: 0.834em 0 0.167em;
    line-height: 1.5em;
    font-size: 4.8rem;
  }
  .page-header-h2 > h2 {
    line-height: inherit;
    font: inherit;
  }
  .page-header-h2 > h2:first-of-type {
    margin-top: -0.25em;
  }
  .page-header-h2 > h2:last-of-type {
    margin-bottom: -0.25em;
  }
}
.page-header-index {
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .page-header-index {
    max-width: 114rem;
  }
}
@media screen and (max-width: 768px) {
  .page-header-index {
    flex-direction: column;
  }
}
.page-header-index .page-header-h2 {
  width: 100%;
  padding-top: 0;
}
@media screen and (min-width: 769px) {
  .page-header-index .page-header-h2 + .page-header-btns {
    border-left: 1px solid #dcdcdc;
    margin-left: 2rem;
    padding-left: 1.9rem;
  }
}
@media screen and (max-width: 768px) {
  .page-header-index .page-header-h2 + .page-header-btns {
    padding-top: 2.5rem;
  }
}
.page-header-index .page-header-btns {
  flex-shrink: 0;
  display: flex;
}
@media screen and (min-width: 769px) {
  .page-header-index .page-header-btns .btn-larrow02 {
    border-width: 2px;
  }
}
.page-header-link {
  display: flex;
  justify-content: flex-end;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .page-header-link {
    position: absolute;
    right: 3rem;
    bottom: 0;
    line-height: 1.572em;
    font-size: 1.4rem;
  }
}
@media screen and (min-width: 769px) and (min-width: 1501px) {
  .page-header-link {
    right: calc(50vw - 720px);
  }
}
@media screen and (max-width: 768px) {
  .page-header-link {
    position: relative;
    border-radius: 2rem 2rem 0 0;
    width: auto;
    min-width: 13.77em;
    height: 2.462em;
    margin: -1rem 0 0 auto;
    line-height: 1.154em;
    font-size: 2.6rem;
    transform: translate(2rem, 5rem);
  }
}
.page-header-link > a {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  background: var(--title-key-color);
  font-weight: 700;
  text-align: center;
  color: #fff;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .page-header-link > a {
    border-radius: 1rem 1rem 0 0;
    height: 3.072em;
    padding: 0 2.143em 0 1.429em;
  }
}
@media screen and (max-width: 768px) {
  .page-header-link > a {
    border-radius: 2rem 2rem 0 0;
    height: 2.462em;
    padding: 0 1.924em 0 1.154em;
  }
}
.page-header-link > a::before {
  content: "";
  position: absolute;
  border-right: 0.179em solid;
  border-top: 0.179em solid;
  width: 0.536em;
  height: 0.536em;
  top: 0;
  bottom: 0;
  margin: auto 0;
  transform: rotateZ(45deg);
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .page-header-link > a::before {
    right: 1.143em;
  }
}
@media screen and (max-width: 768px) {
  .page-header-link > a::before {
    right: 0.924em;
  }
}
.page-header-link > a.fitness {
  background: #0d5faf;
}
.page-header-link > a.kids {
  background: #00a1e9;
}
@media screen and (min-width: 769px) {
  .page-header-link > a.back {
    padding: 0 1.429em 0 2.143em;
  }
}
@media screen and (max-width: 768px) {
  .page-header-link > a.back {
    padding: 0 1.154em 0 1.924em;
  }
}
.page-header-link > a.back::before {
  border: none;
  border-left: 0.179em solid;
  border-bottom: 0.179em solid;
  right: auto;
}
@media screen and (min-width: 769px) {
  .page-header-link > a.back::before {
    left: 1.143em;
  }
}
@media screen and (max-width: 768px) {
  .page-header-link > a.back::before {
    left: 0.924em;
  }
}
@media screen and (min-width: 769px) {
  .page-header + .page-caption {
    padding-top: 6rem;
  }
}
.page-header + .main_section {
  padding-top: 6rem;
}

.page-switches {
  background: var(--title-key-color-ash);
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  .page-switches {
    position: relative;
    z-index: 3;
  }
}
.page-switches * {
  box-sizing: border-box;
}
.page-switches *::before, .page-switches *::after {
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .page-switches {
    padding: 0 3rem;
  }
}
@media screen and (max-width: 768px) {
  .page-switches {
    padding: 0 4rem;
  }
}
.page-switches-box {
  position: relative;
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .page-switches-box {
    background: #fff;
    border-radius: 1.6rem 1.6rem 0 0;
    max-width: 114rem;
    box-shadow: 0 -5px 7px -5px rgba(0, 0, 0, 0.1);
  }
}
.page-switches-head {
  position: relative;
  font-weight: 700;
  color: var(--title-key-color);
  cursor: pointer;
}
@media screen and (min-width: 769px) {
  .page-switches-head {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .page-switches-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #fff;
    border-radius: 1.6rem 1.6rem 0 0;
    padding: 1.094em 4rem;
    line-height: 1.313em;
    font-size: 3.2rem;
    box-shadow: 0 -5px 7px -5px rgba(0, 0, 0, 0.1);
  }
}
.page-switches-head::before {
  content: "";
  position: absolute;
  border-right: 0.125em solid;
  height: 0.875em;
  top: 0;
  bottom: 0;
  margin: auto 0;
}
@media screen and (max-width: 768px) {
  .page-switches-head::before {
    right: 5.2rem;
  }
}
.page-switches-head::after {
  content: "";
  display: block;
  border-top: 0.125em solid;
  width: 0.875em;
}
.page-switches-head.active::before {
  display: none;
}
@media screen and (min-width: 769px) {
  .page-switches-body {
    display: block !important;
  }
}
@media screen and (max-width: 768px) {
  .page-switches-body {
    position: absolute;
    background: #fff;
    border-radius: 0 0 1.6rem 1.6rem;
    left: 0;
    right: 0;
    top: 100%;
    padding: 0 4rem 4rem;
    box-shadow: 0 5px 7px rgba(0, 0, 0, 0.1);
  }
}
.page-switches-items {
  list-style: none;
}
@media screen and (min-width: 769px) {
  .page-switches-items {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding: 2rem 3rem;
  }
  .page-switches-items.pc_clm5 .page-switches-item {
    display: flex;
    width: 20%;
  }
}
.page-switches-item {
  display: block;
}
@media screen and (max-width: 768px) {
  .page-switches-item + .page-switches-item {
    margin-top: 1rem;
  }
}
.page-switches-link {
  display: flex;
  align-items: center;
  font-weight: 700;
  color: var(--title-key-color);
}
@media screen and (min-width: 769px) {
  .page-switches-link {
    justify-content: center;
    border-radius: 2.25em;
    padding: 0.438em 1.875em;
    line-height: 1.375em;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 768px) {
  .page-switches-link {
    justify-content: space-between;
    background: var(--title-key-color-ash);
    border-radius: 0.313em;
    padding: 0.75em 1.25em;
    line-height: 1.313em;
    font-size: 3.2rem;
  }
}
.page-switches-link::after {
  content: "";
  display: block;
  border-right: 0.188em solid;
  border-top: 0.188em solid;
  width: 0.5em;
  height: 0.5em;
  transform: rotateZ(45deg);
}
@media screen and (min-width: 769px) {
  .page-switches-link::after {
    margin-left: 0.5em;
  }
}
.page-switches-item.is-current .page-switches-link {
  background: var(--title-key-color);
  color: #fff;
  pointer-events: none;
}
.page-switches + .page-caption {
  padding-top: 6rem;
}
.page-switches + .main_section {
  padding-top: 6rem;
}

.page-caption {
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .page-caption {
    max-width: 150rem;
    padding: 0 3rem;
  }
}
.main_section .page-caption {
  padding: 0;
}
.page-caption + .main_section {
  padding-top: 6rem;
}

.page-search {
  background: var(--title-key-color-ash);
  box-sizing: border-box;
}
.page-search * {
  box-sizing: border-box;
}
.page-search *::before, .page-search *::after {
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .page-search {
    padding: 0 3rem 4rem;
  }
}
@media screen and (max-width: 768px) {
  .page-search {
    padding: 0 4rem 6rem;
  }
}
.page-search-box {
  background: #fff;
  border-radius: 1.6rem;
  margin: 0 auto;
  overflow: hidden;
}
@media screen and (min-width: 769px) {
  .page-search-box {
    display: flex;
    justify-content: space-between;
    max-width: 114rem;
    box-shadow: 0 5px 7px rgba(0, 0, 0, 0.1);
  }
}
@media screen and (max-width: 768px) {
  .page-search-box {
    box-shadow: 0 0.5rem 0.7rem rgba(0, 0, 0, 0.1);
  }
}
@media screen and (min-width: 769px) {
  .page-header-h2 + .page-search-box {
    margin-left: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .page-header-h2 + .page-search-box {
    margin-top: 6rem;
  }
}
.page-header-index .page-search-box {
  flex-shrink: 0;
}
@media screen and (min-width: 769px) {
  .page-header-index .page-search-box {
    width: 35.088%;
  }
}
@media screen and (max-width: 768px) {
  .page-header-index .page-search-box {
    width: 100%;
  }
}
.page-search-inputs {
  display: flex;
  justify-content: space-between;
  width: 100%;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .page-search-inputs {
    padding: 3rem 3rem 3rem 4rem;
  }
}
@media screen and (max-width: 768px) {
  .page-search-inputs {
    flex-wrap: wrap;
    padding: 4rem;
  }
}
@media screen and (min-width: 769px) {
  .page-header-index .page-search-inputs {
    padding: 3rem 4rem;
  }
}
@media screen and (min-width: 769px) {
  .page-search-input {
    width: 100%;
  }
  .page-search-input + .page-search-input {
    margin-left: 1rem;
  }
}
@media screen and (max-width: 768px) {
  .page-search-input {
    width: 48.306%;
  }
  .page-search-input.full {
    width: 100%;
    margin-top: 2rem;
  }
}
.page-search-input:only-of-type {
  width: 100%;
}
.page-search-input .select01-wrap {
  width: 100%;
}
.page-search-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #0d5faf;
  font-weight: 700;
  text-align: center;
  color: #fff;
  cursor: pointer;
}
@media screen and (min-width: 769px) {
  .page-search-btn {
    flex-shrink: 0;
    width: 10%;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 768px) {
  .page-search-btn {
    height: 3.125em;
    font-size: 3.2rem;
  }
}
.page-search-btn::after {
  content: "";
  display: block;
  margin-left: 0.3em;
  transform: rotateZ(45deg);
}
@media screen and (min-width: 769px) {
  .page-search-btn::after {
    border-right: 0.188em solid;
    border-top: 0.188em solid;
    width: 0.532em;
    height: 0.532em;
  }
}
@media screen and (max-width: 768px) {
  .page-search-btn::after {
    border-right: 0.157em solid;
    border-top: 0.157em solid;
    width: 0.5em;
    height: 0.5em;
  }
}
.page-search + .main_section {
  padding-top: 6rem;
}

.page-kv {
  position: relative;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  .page-kv {
    padding: 8rem 0 0;
  }
}
.page-kv * {
  box-sizing: border-box;
}
.page-kv *::before, .page-kv *::after {
  box-sizing: border-box;
}
.page-kv-image {
  position: relative;
  margin: 0 auto;
  line-height: 0;
  text-align: center;
}
@media screen and (min-width: 769px) {
  .page-kv-image {
    max-width: 114rem;
  }
}
.page-kv-image > img {
  position: relative;
  z-index: 5;
}
@media screen and (min-width: 769px) {
  .page-kv-image.bg01::before, .page-kv-image.bg01::after {
    content: "";
    position: absolute;
    background-color: #fff7a7;
    background-image: url(/kids/assets/img/policy/kv_bg_pc.jpg);
    background-repeat: repeat;
    background-size: auto 100%;
    width: 50vw;
    top: 0;
    bottom: 0;
    pointer-events: none;
  }
  .page-kv-image.bg01::before {
    background-position: right center;
    right: 50%;
  }
  .page-kv-image.bg01::after {
    background-position: left center;
    left: 50%;
  }
}
.page-kv .page-header-pankuz {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  margin: 0 auto;
  z-index: 10;
}
@media screen and (max-width: 768px) {
  .page-kv .page-header-pankuz {
    width: calc(100% - 8rem);
  }
}
@media screen and (min-width: 769px) {
  .page-kv + .main_section {
    padding-top: 8rem;
  }
}
@media screen and (max-width: 768px) {
  .page-kv + .main_section {
    padding-top: 10rem;
  }
}

.lower-outer {
  width: 100%;
  margin: 0 auto;
  overflow-x: hidden;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .lower-outer {
    max-width: 150rem;
    padding: 0 3rem 16rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-outer {
    padding: 0 4rem 16rem;
  }
}
@media print {
  .lower-outer {
    padding: 10px;
  }
}
@media screen and (min-width: 769px) {
  .modal-inner .lower-outer {
    padding: 2.5rem;
  }
}
@media screen and (max-width: 768px) {
  .modal-inner .lower-outer {
    padding: 6rem 4rem;
  }
}

.lower-inner {
  position: relative;
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .lower-inner {
    max-width: 150rem;
  }
  .lower-outer .lower-inner {
    max-width: 114rem;
  }
}
.lower-inner + .lower-inner {
  padding-top: 16rem;
}

.lower-area {
  position: relative;
}
.lower-area + .lower-area {
  padding-top: 12rem;
}

.lower-section {
  position: relative;
}
.tab_content_inner .lower-section {
  width: 100%;
}
.lower-section + .lower-section {
  padding-top: 8rem;
}
@media screen and (min-width: 769px) {
  .lower-section + .lower-section.bg01 {
    margin-top: 10rem;
    padding-bottom: 8rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-section + .lower-section.bg01 {
    margin-top: 12rem;
    padding-top: 10rem;
    padding-bottom: 10rem;
  }
}
.lower-section + .lower-section.bg01::before {
  content: "";
  position: absolute;
  background: var(--title-key-color-ash);
  width: 100vw;
  left: 50%;
  top: 0;
  bottom: 0;
  transform: translate(-50%, 0);
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .lower-section + .lower-section.anchor-section {
    padding-top: 12rem;
  }
}

.lower-block {
  position: relative;
}
@media screen and (max-width: 768px) {
  .lower-block .tab_item {
    height: 9rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-block .tab_content {
    padding: 4rem;
  }
}
.lower-block + .lower-block {
  padding-top: 6rem;
}
.lower-block.pt {
  padding-top: 9rem;
}

.lower-item {
  position: relative;
}
@media screen and (min-width: 769px) {
  .lower-item.pc_small {
    max-width: 850px;
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (min-width: 769px) {
  .lower-item.arrow01 {
    padding-top: 12rem !important;
  }
}
@media screen and (max-width: 768px) {
  .lower-item.arrow01 {
    padding-top: 17rem !important;
  }
}
.lower-item.arrow01::before, .lower-item.arrow01::after {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  color: #0d5faf;
  transform: rotateZ(45deg);
  box-sizing: border-box;
  pointer-events: none;
}
@media screen and (min-width: 769px) {
  .lower-item.arrow01::before, .lower-item.arrow01::after {
    border-right: 0.6rem solid;
    border-bottom: 0.6rem solid;
    width: 2.2rem;
    height: 2.2rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-item.arrow01::before, .lower-item.arrow01::after {
    border-right: 1.2rem solid;
    border-bottom: 1.2rem solid;
    width: 4.25rem;
    height: 4.25rem;
  }
}
@media screen and (min-width: 769px) {
  .lower-item.arrow01::before {
    top: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-item.arrow01::before {
    top: 3.5rem;
  }
}
@media screen and (min-width: 769px) {
  .lower-item.arrow01::after {
    top: 6rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-item.arrow01::after {
    top: 7.5rem;
  }
}
@media screen and (min-width: 769px) {
  .lower-item + .lower-item {
    padding-top: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-item + .lower-item {
    padding-top: 5rem;
  }
}

.lower-point {
  position: relative;
}
@media screen and (min-width: 769px) {
  .lower-point + .lower-point {
    padding-top: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-point + .lower-point {
    padding-top: 4rem;
  }
}

.topic-section {
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .topic-section {
    max-width: 98rem;
  }
}
.topic-section-header {
  border-bottom: 1px solid var(--title-key-color);
  padding: 0 0 4rem;
  box-sizing: border-box;
}
.topic-section-header::after {
  content: "";
  display: block;
  clear: both;
}
.topic-section-header + .topic-section-text {
  padding-top: 4rem;
}
.topic-section-time {
  float: left;
  display: block;
  letter-spacing: 0.02em;
  color: #999;
}
@media screen and (min-width: 769px) {
  .topic-section-time {
    line-height: 1.429em;
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 768px) {
  .topic-section-time {
    line-height: 1.429em;
    font-size: 2.8rem;
  }
}
.topic-section-tag {
  float: left;
  display: flex;
}
@media screen and (min-width: 769px) {
  .topic-section-tag {
    margin-left: 1.429em;
    line-height: 1.429em;
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 768px) {
  .topic-section-tag {
    margin-left: 1.429em;
    line-height: 1.819em;
    font-size: 2.2rem;
  }
}
.topic-section-tag > span {
  display: block;
  letter-spacing: 0.02em;
  text-align: center;
  color: #fff;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .topic-section-tag > span {
    border-radius: 1.429em;
    min-width: 7.143em;
    padding: 0 1.429em;
  }
}
@media screen and (max-width: 768px) {
  .topic-section-tag > span {
    border-radius: 1.819em;
    min-width: 9.091em;
    padding: 0 1.819em;
  }
}
.topic-section-tag > span.important {
  background: #fc4042;
}
.topic-section-tag > span.campaign {
  background: #ff7171;
}
.topic-section-tag > span.notice {
  background: #0d5faf;
}
.topic-section-tag > span.playerinfo {
  background: #8ab3db;
}
.topic-section-tag > span.report {
  background: #ff66ac;
}
.topic-section-tag > span.guidance {
  background: #29aaff;
}
.topic-section-tag > span.news {
  background: #30cc99;
}
.topic-section-sns {
  float: right;
  text-align: right;
}
.topic-section-sns iframe + iframe, .topic-section-sns iframe + a, .topic-section-sns a + iframe, .topic-section-sns a + a {
  margin-left: 1rem;
}
.topic-section-h2 {
  clear: left;
  letter-spacing: 0.02em;
  font-weight: 700;
}
@media screen and (min-width: 769px) {
  .topic-section-h2 {
    padding-top: 0.75em;
    line-height: 1.625em;
    font-size: 4rem;
  }
  .topic-section-h2 > h2 {
    line-height: inherit;
    font: inherit;
  }
  .topic-section-h2 > h2:first-of-type {
    margin-top: -0.312em;
  }
  .topic-section-h2 > h2:last-of-type {
    margin-bottom: -0.312em;
  }
}
@media screen and (max-width: 768px) {
  .topic-section-h2 {
    padding-top: 0.834em;
    line-height: 1.556em;
    font-size: 3.6rem;
  }
  .topic-section-h2 > h2 {
    line-height: inherit;
    font: inherit;
  }
  .topic-section-h2 > h2:first-of-type {
    margin-top: -0.277em;
  }
  .topic-section-h2 > h2:last-of-type {
    margin-bottom: -0.277em;
  }
}
.topic-section-h3 {
  clear: left;
  letter-spacing: 0.02em;
  font-weight: 700;
}
@media screen and (min-width: 769px) {
  .topic-section-h3 {
    padding-top: 0.75em;
    line-height: 1.625em;
    font-size: 4rem;
  }
  .topic-section-h3 > h3 {
    line-height: inherit;
    font: inherit;
  }
  .topic-section-h3 > h3:first-of-type {
    margin-top: -0.312em;
  }
  .topic-section-h3 > h3:last-of-type {
    margin-bottom: -0.312em;
  }
}
@media screen and (max-width: 768px) {
  .topic-section-h3 {
    padding-top: 0.834em;
    line-height: 1.556em;
    font-size: 3.6rem;
  }
  .topic-section-h3 > h3 {
    line-height: inherit;
    font: inherit;
  }
  .topic-section-h3 > h3:first-of-type {
    margin-top: -0.277em;
  }
  .topic-section-h3 > h3:last-of-type {
    margin-bottom: -0.277em;
  }
}
.topic-section-main {
  padding-top: 6rem;
}
.topic-section-main .kome-ul + .note01-p {
  padding-top: 3rem;
}
@media screen and (min-width: 769px) {
  .topic-section-main + .topic-section-nav {
    margin-top: 5rem;
  }
}
@media screen and (max-width: 768px) {
  .topic-section-main + .topic-section-nav {
    margin-top: 2rem;
  }
}
.topic-section-image {
  line-height: 0;
  text-align: center;
}
@media screen and (min-width: 769px) {
  .topic-section-image {
    padding-bottom: 3rem;
  }
}
@media screen and (max-width: 768px) {
  .topic-section-image {
    padding-bottom: 4rem;
  }
}
.topic-section-image img {
  width: auto;
}
@media screen and (min-width: 769px) {
  .topic-section-footer {
    padding-top: 3rem;
  }
}
@media screen and (max-width: 768px) {
  .topic-section-footer {
    padding: 6rem 0 2rem;
  }
}
.topic-section-desc > dt {
  letter-spacing: 0.02em;
  line-height: 1;
  font-weight: 400;
}
@media screen and (min-width: 769px) {
  .topic-section-desc > dt {
    font-size: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .topic-section-desc > dt {
    font-size: 3.6rem;
  }
}
@media screen and (min-width: 769px) {
  .topic-section-desc > dt + dd {
    padding-top: 1rem;
  }
}
@media screen and (max-width: 768px) {
  .topic-section-desc > dt + dd {
    padding-top: 1.6rem;
  }
}
.topic-section-desc > dd {
  font-weight: 400;
}
@media screen and (min-width: 769px) {
  .topic-section-desc > dd {
    line-height: 1.75em;
    font-size: 1.6rem;
  }
  .topic-section-desc > dd > p {
    line-height: inherit;
    font: inherit;
  }
  .topic-section-desc > dd > p:first-of-type {
    margin-top: -0.375em;
  }
  .topic-section-desc > dd > p:last-of-type {
    margin-bottom: -0.375em;
  }
}
@media screen and (max-width: 768px) {
  .topic-section-desc > dd {
    line-height: 1.715em;
    font-size: 2.8rem;
  }
  .topic-section-desc > dd > p {
    line-height: inherit;
    font: inherit;
  }
  .topic-section-desc > dd > p:first-of-type {
    margin-top: -0.357em;
  }
  .topic-section-desc > dd > p:last-of-type {
    margin-bottom: -0.357em;
  }
}
@media screen and (min-width: 769px) {
  .topic-section-desc > dd + dt {
    padding-top: 1.5rem;
  }
}
@media screen and (max-width: 768px) {
  .topic-section-desc > dd + dt {
    padding-top: 3rem;
  }
}
.topic-section-nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (min-width: 769px) {
  .topic-section-nav + .topic-section-header {
    margin-top: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .topic-section-nav + .topic-section-header {
    margin-top: 6rem;
  }
}
.topic-section-prev, .topic-section-next {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #fff;
  letter-spacing: 0.02em;
  font-weight: 400;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .topic-section-prev, .topic-section-next {
    border: 2px solid #ccc;
    border-radius: 3.6rem;
    width: 12.2rem;
    height: 3.6rem;
    line-height: 1.572em;
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 768px) {
  .topic-section-prev, .topic-section-next {
    border: 0.4rem solid #ccc;
    border-radius: 7.2rem;
    width: 20.4rem;
    height: 7.2rem;
    line-height: 1.572em;
    font-size: 2.8rem;
  }
}
.topic-section-prev::before, .topic-section-prev::after, .topic-section-next::before, .topic-section-next::after {
  display: block;
  width: 0.358em;
  height: 0.358em;
  transform: rotateZ(45deg);
}
.topic-section-prev::before {
  content: "";
  border-left: 0.179em solid;
  border-bottom: 0.179em solid;
  margin-right: 0.429em;
}
.topic-section-next {
  margin-left: auto;
}
.topic-section-next::after {
  content: "";
  border-right: 0.179em solid;
  border-top: 0.179em solid;
  margin-left: 0.429em;
}
.topic-section-text + .related-box {
  margin-top: 8rem;
}
.topic-section-text + .topic-section-nav {
  padding-top: 6rem;
}

.related-box {
  border: 1px solid #dcdcdc;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .related-box {
    padding: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .related-box {
    padding: 6rem 4rem;
  }
}
.related-box-head {
  letter-spacing: 0.02em;
  line-height: 1;
  font-weight: 700;
}
@media screen and (min-width: 769px) {
  .related-box-head {
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 768px) {
  .related-box-head {
    font-size: 4rem;
  }
}
.related-box-body {
  font-weight: 400;
}
@media screen and (min-width: 769px) {
  .related-box-body {
    padding-top: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .related-box-body {
    padding-top: 6rem;
  }
}
.related-box-list {
  list-style: none;
  letter-spacing: 0.02em;
}
.related-box-list > li {
  display: block;
}
@media screen and (min-width: 769px) {
  .related-box-list > li {
    line-height: 1.375em;
    font-size: 1.6rem;
  }
  .related-box-list > li > a {
    line-height: inherit;
    font: inherit;
  }
  .related-box-list > li > a:first-of-type {
    margin-top: -0.187em;
  }
  .related-box-list > li > a:last-of-type {
    margin-bottom: -0.187em;
  }
}
@media screen and (max-width: 768px) {
  .related-box-list > li {
    line-height: 1.688em;
    font-size: 3.2rem;
  }
  .related-box-list > li > a {
    line-height: inherit;
    font: inherit;
  }
  .related-box-list > li > a:first-of-type {
    margin-top: -0.343em;
  }
  .related-box-list > li > a:last-of-type {
    margin-bottom: -0.343em;
  }
}
@media screen and (min-width: 769px) {
  .related-box-list > li + li {
    padding-top: 3rem;
  }
}
@media screen and (max-width: 768px) {
  .related-box-list > li + li {
    padding-top: 6rem;
  }
}
.related-box-list > li img {
  width: auto;
}
.related-box-link {
  display: block;
  position: relative;
  padding-left: 1em;
  text-decoration: underline;
  color: #0d5faf;
}
.related-box-link::before {
  content: "";
  position: absolute;
  border-right: 0.188em solid;
  border-top: 0.188em solid;
  width: 0.532em;
  height: 0.532em;
  left: 0;
  transform: rotateZ(45deg);
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .related-box-link::before {
    top: 0.438em;
  }
}
@media screen and (max-width: 768px) {
  .related-box-link::before {
    top: 0.625em;
  }
}
.related-box-link[href$=".pdf"]::after {
  content: "";
  display: inline-block;
  background-image: url(/giftcard/public/assets/common/img/icon_pdf.svg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 1.625em;
  height: 1.188em;
  margin-left: 0.438em;
}
@media screen and (min-width: 769px) {
  .related-box-link[href$=".pdf"]::after {
    vertical-align: top;
  }
}
@media screen and (max-width: 768px) {
  .related-box-link[href$=".pdf"]::after {
    vertical-align: baseline;
    transform: translate(0, 12%);
  }
}
.related-box + .topic-section-nav {
  padding-top: 6rem;
}

@media screen and (min-width: 769px) {
  .contact-box {
    display: flex;
    justify-content: space-between;
    text-align: center;
  }
}
.contact-box .btn-carrow01 {
  box-shadow: none;
}
.contact-box-tel {
  background: #f7f6f5;
}
@media screen and (min-width: 769px) {
  .contact-box-tel {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    padding: 6rem 1rem;
  }
}
@media screen and (max-width: 768px) {
  .contact-box-tel {
    padding: 8rem 4rem;
  }
}
@media screen and (min-width: 769px) {
  .contact-box-tel + .contact-box-web {
    margin-left: 2px;
  }
}
@media screen and (max-width: 768px) {
  .contact-box-tel + .contact-box-web {
    margin-top: 1rem;
  }
}
.contact-box-web {
  background: #f7f6f5;
}
@media screen and (min-width: 769px) {
  .contact-box-web {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 42.106%;
    padding: 6rem 1rem;
  }
}
@media screen and (max-width: 768px) {
  .contact-box-web {
    padding: 8rem 4rem;
  }
}
.contact-box-copy {
  position: relative;
  font-weight: 700;
}
@media screen and (min-width: 769px) {
  .contact-box-copy {
    padding-bottom: 1.182em;
    line-height: 1.182em;
    font-size: 2.2rem;
  }
  .contact-box-copy > p {
    line-height: inherit;
    font: inherit;
  }
  .contact-box-copy > p:first-of-type {
    margin-top: -0.09em;
  }
  .contact-box-copy > p:last-of-type {
    margin-bottom: -0.09em;
  }
}
@media screen and (max-width: 768px) {
  .contact-box-copy {
    padding-bottom: 1.2em;
    line-height: 1.5em;
    font-size: 4rem;
    text-align: center;
  }
  .contact-box-copy > p {
    line-height: inherit;
    font: inherit;
  }
  .contact-box-copy > p:first-of-type {
    margin-top: -0.25em;
  }
  .contact-box-copy > p:last-of-type {
    margin-bottom: -0.25em;
  }
}
.contact-box-copy::after {
  content: "";
  display: none;
  position: absolute;
  background: #0d5faf;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 0 auto;
  pointer-events: none;
}
@media screen and (min-width: 769px) {
  .contact-box-copy::after {
    border-radius: 0.228em;
    width: 1.819em;
    height: 0.228em;
  }
}
@media screen and (max-width: 768px) {
  .contact-box-copy::after {
    border-radius: 2em;
    width: 2em;
    height: 0.25em;
  }
}
.contact-box-name {
  font-weight: 700;
}
@media screen and (min-width: 769px) {
  .contact-box-name {
    line-height: 1.688em;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 768px) {
  .contact-box-name {
    line-height: 1.688em;
    font-size: 3.2rem;
  }
}
@media screen and (min-width: 769px) {
  .contact-box-name + .contact-box-number {
    padding-top: 1rem;
  }
}
@media screen and (max-width: 768px) {
  .contact-box-name + .contact-box-number {
    padding-top: 2rem;
  }
}
.contact-box-number {
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1;
  font-weight: 700;
  font-family: "Roboto Condensed", sans-serif;
}
@media screen and (min-width: 769px) {
  .contact-box-number {
    font-size: 5rem;
  }
}
@media screen and (max-width: 768px) {
  .contact-box-number {
    font-size: 8.4rem;
  }
}
.contact-box-number::before {
  content: "";
  display: block;
  background-image: url(/giftcard/public/assets/common/img/icon_tel01_b.svg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
}
@media screen and (min-width: 769px) {
  .contact-box-number::before {
    width: 0.64em;
    height: 0.8em;
    margin-right: 0.16em;
  }
}
@media screen and (max-width: 768px) {
  .contact-box-number::before {
    width: 0.643em;
    height: 0.798em;
    margin-right: 0.096em;
  }
}
.contact-box-number a {
  display: block;
  color: #0d5faf;
}
@media screen and (min-width: 769px) {
  .contact-box-number a {
    pointer-events: none;
  }
}
@media screen and (max-width: 768px) {
  .contact-box-number + .contact-box-buttons {
    padding-top: 6.6rem;
  }
}
@media screen and (min-width: 769px) {
  .contact-box-number.no_link {
    font-size: 2.6rem;
  }
}
@media screen and (max-width: 768px) {
  .contact-box-number.no_link {
    font-size: 4.2rem;
    line-height: 1.4;
  }
}
.contact-box-number.no_link::before {
  content: none;
}
.contact-box-number.no_num {
  font-family: inherit;
}
.contact-box-text {
  font-weight: 400;
}
@media screen and (min-width: 769px) {
  .contact-box-text {
    line-height: 1.715em;
    font-size: 1.4rem;
  }
  .contact-box-text > p {
    line-height: inherit;
    font: inherit;
  }
  .contact-box-text > p:first-of-type {
    margin-top: -0.357em;
  }
  .contact-box-text > p:last-of-type {
    margin-bottom: -0.357em;
  }
}
@media screen and (max-width: 768px) {
  .contact-box-text {
    line-height: 1.715em;
    font-size: 2.8rem;
  }
  .contact-box-text > p {
    line-height: inherit;
    font: inherit;
  }
  .contact-box-text > p:first-of-type {
    margin-top: -0.357em;
  }
  .contact-box-text > p:last-of-type {
    margin-bottom: -0.357em;
  }
}
@media screen and (max-width: 768px) {
  .contact-box-text + .contact-box-buttons {
    padding-top: 8rem;
  }
}
@media screen and (min-width: 769px) {
  .contact-box-buttons {
    padding-top: 4rem;
  }
}
@media screen and (min-width: 769px) {
  .contact-box-buttons + .contact-box-note {
    padding-top: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .contact-box-buttons + .contact-box-note {
    padding-top: 3rem;
  }
}
.contact-box-note {
  font-weight: 400;
}
@media screen and (min-width: 769px) {
  .contact-box-note {
    line-height: 2em;
    font-size: 1.2rem;
  }
  .contact-box-note > p {
    line-height: inherit;
    font: inherit;
  }
  .contact-box-note > p:first-of-type {
    margin-top: -0.5em;
  }
  .contact-box-note > p:last-of-type {
    margin-bottom: -0.5em;
  }
}
@media screen and (max-width: 768px) {
  .contact-box-note {
    line-height: 1.709em;
    font-size: 2.4rem;
  }
  .contact-box-note > p {
    line-height: inherit;
    font: inherit;
  }
  .contact-box-note > p:first-of-type {
    margin-top: -0.354em;
  }
  .contact-box-note > p:last-of-type {
    margin-bottom: -0.354em;
  }
}

.schedule-box-row {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 769px) {
  .schedule-box-row {
    justify-content: center;
  }
}
@media screen and (max-width: 768px) {
  .schedule-box-row {
    align-items: center;
    padding: 6rem 0;
  }
}
@media screen and (min-width: 769px) {
  .schedule-box-row + .schedule-box-row {
    margin-top: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .schedule-box-row + .schedule-box-row {
    padding-top: 2rem;
  }
}
.schedule-box-clm {
  display: flex;
  align-items: center;
}
@media screen and (min-width: 769px) {
  .schedule-box-clm {
    justify-content: center;
  }
  .schedule-box-clm .btn-larrow01 + .lnk-default {
    margin-left: 4rem;
  }
  .schedule-box-clm .lnk-default + .lnk-default {
    margin-top: 0;
    margin-left: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .schedule-box-clm {
    flex-direction: column;
  }
  .schedule-box-clm .btn-larrow01 + .lnk-default {
    margin-top: 5rem;
  }
  .schedule-box-clm .lnk-default + .lnk-default {
    margin-top: 4rem;
  }
}
@media screen and (min-width: 769px) {
  .schedule-box-clm + .schedule-box-clm {
    margin-top: 3rem;
  }
}
@media screen and (max-width: 768px) {
  .schedule-box-clm + .schedule-box-clm {
    margin-top: 6rem;
  }
}
@media screen and (max-width: 768px) {
  .schedule-box + .schedule-tab-desc {
    border-top: none;
    margin-top: 0;
  }
}

@media screen and (min-width: 769px) {
  .schedule-tab {
    box-shadow: 0 5px 7px rgba(0, 0, 0, 0.1);
  }
}
.schedule-tab-switches {
  list-style: none;
  display: flex;
  justify-content: space-between;
}
@media screen and (min-width: 769px) {
  .schedule-tab-switches {
    background: #fff;
    border-bottom: 2px solid var(--title-key-color);
  }
}
@media screen and (max-width: 768px) {
  .schedule-tab-switches {
    margin: 0 -4rem;
  }
}
.schedule-tab-switches > li {
  display: block;
  width: 100%;
  box-shadow: 0 5px 7px rgba(0, 0, 0, 0.1);
}
@media screen and (min-width: 769px) {
  .schedule-tab-switches > li + li {
    margin-left: 1%;
  }
}
.schedule-tab-switch {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  background: var(--title-key-color-ash);
  width: 100%;
  letter-spacing: 0.02em;
  font-weight: 700;
  text-align: center;
  cursor: pointer;
  overflow: hidden;
}
@media screen and (min-width: 769px) {
  .schedule-tab-switch {
    border-radius: 0.6rem 0.6rem 0 0;
    height: 3.9em;
    line-height: 1.5em;
    font-size: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .schedule-tab-switch {
    height: 2.778em;
    line-height: 1.8em;
    font-size: 3rem;
  }
}
.schedule-tab-switch.is-current {
  background: #fff;
}
.schedule-tab-switch.is-current::before {
  content: "";
  position: absolute;
  border-top: 0.6rem solid var(--title-key-color);
  left: 0;
  right: 0;
  top: 0;
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .schedule-tab-switch.is-current + .schedule-tab-balloon {
    display: block;
  }
}
.schedule-tab-switch.is-noActive {
  background: #ddd;
  color: #fff;
  pointer-events: none;
}
.schedule-tab-balloon {
  position: relative;
  background: var(--title-key-color);
  width: 100vw;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .schedule-tab-balloon {
    display: none !important;
  }
}
@media screen and (max-width: 768px) {
  .schedule-tab-balloon {
    display: block;
    margin: 0 -4rem;
    padding: 4rem;
  }
  .schedule-tab-balloon::after {
    content: "";
    position: absolute;
    border-top: 3.2rem solid var(--title-key-color);
    border-left: 3.2rem solid transparent;
    border-right: 3.2rem solid transparent;
    width: 0;
    height: 0;
    left: 0;
    right: 0;
    top: 100%;
    margin: -1px auto 0;
  }
}
.schedule-tab-buttons {
  list-style: none;
}
@media screen and (max-width: 768px) {
  .schedule-tab-buttons {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
  }
}
.schedule-tab-buttons > li {
  display: block;
}
@media screen and (max-width: 768px) {
  .schedule-tab-buttons > li {
    width: 48.508%;
  }
  .schedule-tab-buttons > li:nth-of-type(n+3) {
    margin-top: 2rem;
  }
}
.schedule-tab-button {
  display: flex;
  justify-content: center;
  align-items: center;
  background: var(--title-key-color);
  border: 2px solid #fff;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .schedule-tab-button {
    border-radius: 8.8rem;
    height: auto !important;
    line-height: 1.847em;
    font-size: 2.6rem;
  }
}
.schedule-tab-button.is-current {
  background: #fff;
  color: var(--title-key-color);
  pointer-events: none;
}
.schedule-tab-body {
  position: relative;
  margin: 0 auto;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .schedule-tab-body {
    background: #f7f6f5;
    padding: 0 8rem 1rem;
  }
}
@media screen and (max-width: 768px) {
  .schedule-tab-body {
    padding: 0 !important;
  }
}
@media screen and (min-width: 769px) {
  .schedule-tab-body + .schedule-tab-switches {
    display: none !important;
    border-top: 2px solid var(--title-key-color);
    border-bottom: none;
  }
}
@media screen and (max-width: 768px) {
  .schedule-tab-body + .schedule-tab-switches {
    margin-top: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .schedule-tab-body ~ .schedule-tab-balloon::after {
    content: none;
  }
}
.schedule-tab-nav {
  display: flex;
  justify-content: space-between;
}
@media screen and (min-width: 769px) {
  .schedule-tab-nav {
    flex-wrap: wrap;
    padding: 4rem 0 3rem;
  }
}
@media screen and (max-width: 768px) {
  .schedule-tab-nav {
    padding: 7rem 0 4rem;
  }
}
@media screen and (min-width: 769px) {
  .schedule-tab-nav .schedule-tab-desc {
    display: block;
  }
}
@media screen and (max-width: 768px) {
  .schedule-tab-nav .schedule-tab-desc {
    display: none;
  }
}
.schedule-tab-sub {
  letter-spacing: 0.02em;
  font-weight: 700;
  text-align: center;
}
@media screen and (min-width: 769px) {
  .schedule-tab-sub {
    line-height: 1.5em;
    font-size: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .schedule-tab-sub {
    line-height: 1.2em;
    font-size: 5rem;
  }
}
.schedule-tab-prev, .schedule-tab-next {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #fff;
  border: 2px solid #ccc;
  border-radius: 2.572em;
  height: 2.572em;
  line-height: 1.572em;
  font-weight: 400;
  cursor: pointer;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .schedule-tab-prev, .schedule-tab-next {
    width: 6.715em;
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 768px) {
  .schedule-tab-prev, .schedule-tab-next {
    width: 5.286em;
    font-size: 2.8rem;
  }
}
.schedule-tab-prev::after, .schedule-tab-next::after {
  content: "";
  display: block;
  border-right: 0.179em solid;
  border-top: 0.179em solid;
  width: 0.358em;
  height: 0.358em;
}
.schedule-tab-prev {
  flex-direction: row-reverse;
}
.schedule-tab-prev::after {
  transform: rotateZ(45deg) scale(-1, -1);
}
@media screen and (min-width: 769px) {
  .schedule-tab-prev::after {
    margin-right: 0.5em;
  }
}
@media screen and (max-width: 768px) {
  .schedule-tab-prev::after {
    margin-right: 0.25em;
  }
}
.schedule-tab-next::after {
  transform: rotateZ(45deg);
}
@media screen and (min-width: 769px) {
  .schedule-tab-next::after {
    margin-left: 0.5em;
  }
}
@media screen and (max-width: 768px) {
  .schedule-tab-next::after {
    margin-left: 0.25em;
  }
}
.schedule-tab-desc {
  font-weight: 400;
}
@media screen and (min-width: 769px) {
  .schedule-tab-desc {
    display: none;
    width: 100%;
    padding-top: 4rem;
    line-height: 1;
    font-size: 1.2rem;
    color: #888;
  }
}
@media screen and (max-width: 768px) {
  .schedule-tab-desc {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    border-top: 1px solid #dcdcdc;
    margin-top: 6rem;
    padding-top: 6rem;
    line-height: 1.2em;
    font-size: 2rem;
  }
}
@media screen and (min-width: 769px) {
  .schedule-tab-desc > div {
    display: inline;
  }
  .schedule-tab-desc > div + div {
    margin-left: 0.4em;
  }
  .schedule-tab-desc > div + div::before {
    content: "/";
  }
}
@media screen and (max-width: 768px) {
  .schedule-tab-desc > div {
    display: flex;
    align-items: center;
    margin-right: 1em;
  }
}
@media screen and (min-width: 769px) {
  .schedule-tab-desc > div > dt {
    display: inline;
  }
  .schedule-tab-desc > div > dt::before {
    content: "【";
  }
  .schedule-tab-desc > div > dt::after {
    content: "】";
    margin-right: -0.5em;
  }
}
@media screen and (max-width: 768px) {
  .schedule-tab-desc > div > dt {
    display: flex;
    justify-content: center;
    align-items: center;
    background: #fa8c4e;
    width: 6em;
    height: 1.8em;
    margin-top: 2rem;
    letter-spacing: -0.015em;
    text-align: center;
    color: #fff;
  }
}
@media screen and (min-width: 769px) {
  .schedule-tab-desc > div > dd {
    display: inline;
  }
}
@media screen and (max-width: 768px) {
  .schedule-tab-desc > div > dd {
    margin: 2rem 0 0 0.5em;
  }
}
@media screen and (min-width: 769px) {
  .schedule-tab-graph + .schedule-tab-nav {
    padding-top: 5rem;
  }
}
@media screen and (max-width: 768px) {
  .schedule-tab-graph + .schedule-tab-nav {
    padding-top: 4rem;
  }
}

@media screen and (max-width: 768px) {
  #timetable_sp .time {
    line-height: 1.715em;
    font-size: 2.8rem;
  }
}
@media screen and (max-width: 768px) {
  #timetable_sp .name {
    line-height: 1.5em;
    font-size: 3.2rem;
    background-position: 0 58% !important;
  }
}
@media screen and (max-width: 768px) {
  #timetable_sp .icon {
    margin: 10px 5px 5px !important;
  }
}
@media screen and (max-width: 768px) {
  #timetable_sp .noschedule {
    line-height: 1.5em;
    font-size: 3.2rem;
    padding: 0 3rem;
  }
}

.accordion-box {
  background: #f7f6f5;
  box-sizing: border-box;
}
.accordion-box-head {
  display: flex;
  justify-content: space-between;
  position: relative;
  box-sizing: border-box;
  cursor: pointer;
}
@media screen and (min-width: 769px) {
  .accordion-box-head {
    line-height: 1.364em;
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 768px) {
  .accordion-box-head {
    line-height: 1.15em;
    font-size: 4rem;
  }
}
.accordion-box-head::before, .accordion-box-head::after {
  content: "";
  position: absolute;
  background: #fff;
  top: 0;
  bottom: 0;
  margin: auto 0;
  transform: translate(50%, 0);
  z-index: 3;
}
@media screen and (min-width: 769px) {
  .accordion-box-head::before, .accordion-box-head::after {
    right: 3.5rem;
  }
}
@media screen and (max-width: 768px) {
  .accordion-box-head::before, .accordion-box-head::after {
    right: 5rem;
  }
}
@media screen and (min-width: 769px) {
  .accordion-box-head::before {
    width: 2rem;
    height: 0.2rem;
    min-height: 2px;
  }
}
@media screen and (max-width: 768px) {
  .accordion-box-head::before {
    width: 2.8rem;
    height: 0.4rem;
  }
}
@media screen and (min-width: 769px) {
  .accordion-box-head::after {
    width: 0.2rem;
    min-width: 2px;
    height: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .accordion-box-head::after {
    width: 0.4rem;
    height: 2.8rem;
  }
}
.accordion-box-head.active::after {
  display: none;
}
.accordion-box-switch {
  display: flex;
  align-items: center;
  width: 100%;
  font-weight: 700;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .accordion-box-switch {
    min-height: 7rem;
    padding: 0.5rem 9rem 0.5rem 4rem;
  }
}
@media screen and (max-width: 768px) {
  .accordion-box-switch {
    min-height: 10rem;
    padding: 0.4rem 12.8rem 0.4rem 4rem;
  }
}
.accordion-box-switch::before {
  content: "";
  position: absolute;
  background: var(--title-key-color);
  right: 0;
  top: 0;
  bottom: 0;
}
@media screen and (min-width: 769px) {
  .accordion-box-switch::before {
    width: 7rem;
  }
}
@media screen and (max-width: 768px) {
  .accordion-box-switch::before {
    width: 10rem;
  }
}
.accordion-box-body {
  padding: 4rem 4rem 8rem;
  box-sizing: border-box;
}
.accordion-box + .accordion-box {
  margin-top: 4rem;
}

.dropdown-box {
  position: relative;
  background: #f7f6f5;
}
.dropdown-box-switch {
  display: block;
  cursor: pointer;
}
@media screen and (min-width: 769px) {
  .dropdown-box-switch {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    border-right: 7rem solid var(--title-key-color);
  }
}
@media screen and (max-width: 768px) {
  .dropdown-box-switch {
    position: static !important;
  }
  .dropdown-box-switch::before {
    content: "";
    position: absolute;
    background: var(--title-key-color);
    height: 8.8rem;
    left: 0;
    right: 0;
    bottom: 0;
  }
}
.dropdown-box-switch > figure {
  line-height: 0;
}
@media screen and (min-width: 769px) {
  .dropdown-box-switch > figure {
    flex-shrink: 0;
    width: 26rem;
  }
}
@media screen and (max-width: 768px) {
  .dropdown-box-switch > figure {
    width: 24rem;
  }
}
.dropdown-box-switch.active .dropdown-box-head::after {
  display: none;
}
@media screen and (max-width: 768px) {
  .dropdown-box-switch.active .dropdown-box-head {
    padding-bottom: 4rem;
  }
}
.dropdown-box-switch + .dropdown-box-body {
  display: none;
}
@media screen and (min-width: 769px) {
  .dropdown-box-switch + .dropdown-box-body {
    border-right: 7rem solid var(--title-key-color);
  }
}
@media screen and (max-width: 768px) {
  .dropdown-box-switch + .dropdown-box-body {
    padding-bottom: 12.8rem;
  }
}
.dropdown-box-head {
  width: 100%;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .dropdown-box-head {
    padding: 4rem 4rem 0;
  }
}
@media screen and (max-width: 768px) {
  .dropdown-box-head {
    padding: 4rem;
  }
}
@media screen and (min-width: 769px) {
  .dropdown-box-switch .dropdown-box-head {
    padding: 0 4rem;
  }
}
@media screen and (max-width: 768px) {
  .dropdown-box-switch .dropdown-box-head {
    padding-bottom: 12.8rem;
  }
}
@media screen and (max-width: 768px) {
  .dropdown-box-switch .dropdown-box-head > dt {
    display: flex;
    align-items: center;
    position: absolute;
    height: 14.7rem;
    left: 0;
    top: 0;
    padding-left: 27rem;
  }
}
.dropdown-box-head::before, .dropdown-box-head::after {
  content: "";
  position: absolute;
  background: #fff;
}
@media screen and (min-width: 769px) {
  .dropdown-box-head::before, .dropdown-box-head::after {
    right: -3.5rem;
    top: 0;
    bottom: 0;
    margin: auto 0;
    transform: translate(50%, 0);
  }
}
@media screen and (max-width: 768px) {
  .dropdown-box-head::before, .dropdown-box-head::after {
    left: 0;
    right: 0;
    bottom: 4.4rem;
    margin: 0 auto;
    transform: translate(0, 50%);
  }
}
@media screen and (min-width: 769px) {
  .dropdown-box-head::before {
    width: 20px;
    height: 2px;
  }
}
@media screen and (max-width: 768px) {
  .dropdown-box-head::before {
    width: 2.6rem;
    height: 0.4rem;
  }
}
@media screen and (min-width: 769px) {
  .dropdown-box-head::after {
    width: 2px;
    height: 20px;
  }
}
@media screen and (max-width: 768px) {
  .dropdown-box-head::after {
    width: 0.4rem;
    height: 2.6rem;
  }
}
.dropdown-box-head > dt {
  letter-spacing: 0.05em;
  font-weight: 700;
}
@media screen and (min-width: 769px) {
  .dropdown-box-head > dt {
    font-size: 3rem;
  }
}
@media screen and (max-width: 768px) {
  .dropdown-box-head > dt {
    padding: 0 1rem 0 0;
    font-size: 4rem;
  }
}
@media screen and (min-width: 769px) {
  .dropdown-box-head > dt small {
    font-size: 0.734em;
  }
}
@media screen and (max-width: 768px) {
  .dropdown-box-head > dt small {
    font-size: 0.8em;
  }
}
@media screen and (min-width: 769px) {
  .dropdown-box-head > dt + dd {
    padding-top: 2rem;
  }
}
.dropdown-box-head > dd {
  font-weight: 400;
}
@media screen and (min-width: 769px) {
  .dropdown-box-head > dd {
    line-height: 1.5em;
    font-size: 1.6rem;
  }
  .dropdown-box-head > dd > p {
    line-height: inherit;
    font: inherit;
  }
  .dropdown-box-head > dd > p:first-of-type {
    margin-top: -0.25em;
  }
  .dropdown-box-head > dd > p:last-of-type {
    margin-bottom: -0.25em;
  }
}
@media screen and (max-width: 768px) {
  .dropdown-box-head > dd {
    line-height: 1.688em;
    font-size: 3.2rem;
  }
  .dropdown-box-head > dd > p {
    line-height: inherit;
    font: inherit;
  }
  .dropdown-box-head > dd > p:first-of-type {
    margin-top: -0.343em;
  }
  .dropdown-box-head > dd > p:last-of-type {
    margin-bottom: -0.343em;
  }
}
@media screen and (min-width: 769px) {
  .dropdown-box-body {
    padding: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .dropdown-box-body {
    padding: 0 4rem 4rem;
  }
}
.dropdown-box-item {
  background: #fff;
  padding: 4rem;
}
@media screen and (min-width: 769px) {
  .dropdown-box-item + .dropdown-box-item {
    margin-top: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .dropdown-box-item + .dropdown-box-item {
    margin-top: 4rem;
  }
}
.dropdown-box + .dropdown-box {
  margin-top: 4rem;
}

.pulldown-box {
  border-radius: 0 0 1.6rem 1.6rem;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .pulldown-box {
    box-shadow: 0 5px 7px rgba(0, 0, 0, 0.1);
  }
}
@media screen and (max-width: 768px) {
  .pulldown-box {
    box-shadow: 0 0.5rem 0.7rem rgba(0, 0, 0, 0.1);
  }
}
.pulldown-box * {
  box-sizing: border-box;
}
.pulldown-box *::before, .pulldown-box *::after {
  box-sizing: border-box;
}
.pulldown-box-switch {
  display: block;
  background: var(--title-key-color);
  border: none;
  width: 100%;
  padding: 0;
  color: #fff;
  appearance: none;
  cursor: pointer;
}
.pulldown-box-switch:hover {
  opacity: 0.8;
}
.pulldown-box-switch.active .pulldown-box-head::after {
  display: none;
}
.pulldown-box-switch.noActive {
  pointer-events: none;
}
.pulldown-box-switch.noActive .pulldown-box-head::before, .pulldown-box-switch.noActive .pulldown-box-head::after {
  display: none;
}
.pulldown-box-head {
  display: flex;
  align-items: center;
  position: relative;
  font-weight: 700;
}
@media screen and (min-width: 769px) {
  .pulldown-box-head {
    min-height: 3.182em;
    padding: 0.228em 3.182em 0.228em 1.819em;
    line-height: 1.364em;
    font-size: 2.2rem;
  }
  .pulldown-box-head > p {
    line-height: inherit;
    font: inherit;
  }
  .pulldown-box-head > p:first-of-type {
    margin-top: -0.181em;
  }
  .pulldown-box-head > p:last-of-type {
    margin-bottom: -0.181em;
  }
}
@media screen and (max-width: 768px) {
  .pulldown-box-head {
    min-height: 2.5em;
    padding: 0.1em 2.5em 0.1em 1em;
    line-height: 1.15em;
    font-size: 4rem;
  }
  .pulldown-box-head > p {
    line-height: inherit;
    font: inherit;
  }
  .pulldown-box-head > p:first-of-type {
    margin-top: -0.075em;
  }
  .pulldown-box-head > p:last-of-type {
    margin-bottom: -0.075em;
  }
}
.pulldown-box-head::before, .pulldown-box-head::after {
  content: "";
  position: absolute;
  background: #fff;
  top: 0;
  bottom: 0;
  margin: auto 0;
  transform: translate(50%, 0);
}
@media screen and (min-width: 769px) {
  .pulldown-box-head::before, .pulldown-box-head::after {
    right: 3.5rem;
  }
}
@media screen and (max-width: 768px) {
  .pulldown-box-head::before, .pulldown-box-head::after {
    right: 5rem;
  }
}
@media screen and (min-width: 769px) {
  .pulldown-box-head::before {
    width: 20px;
    height: 2px;
  }
}
@media screen and (max-width: 768px) {
  .pulldown-box-head::before {
    width: 2.6rem;
    height: 0.4rem;
  }
}
@media screen and (min-width: 769px) {
  .pulldown-box-head::after {
    width: 2px;
    height: 20px;
  }
}
@media screen and (max-width: 768px) {
  .pulldown-box-head::after {
    width: 0.4rem;
    height: 2.6rem;
  }
}
@media screen and (min-width: 769px) {
  .pulldown-box-body {
    padding: 5rem 6rem;
  }
}
@media screen and (max-width: 768px) {
  .pulldown-box-body {
    padding: 4rem;
  }
}
.pulldown-box-row {
  display: flex;
  border-bottom: 1px solid #dcdcdc;
}
@media screen and (min-width: 769px) {
  .pulldown-box-row {
    justify-content: space-between;
    align-items: center;
    padding: 0 0 3.1rem;
  }
}
@media screen and (max-width: 768px) {
  .pulldown-box-row {
    flex-direction: column;
    padding: 0 0 6rem;
  }
}
@media screen and (min-width: 769px) {
  .pulldown-box-row + .pulldown-box-row {
    padding-top: 3rem;
  }
}
@media screen and (max-width: 768px) {
  .pulldown-box-row + .pulldown-box-row {
    padding-top: 5rem;
  }
}
.pulldown-box-row .lead02-p {
  text-align: left;
}
@media screen and (min-width: 769px) {
  .pulldown-box-row .lead02-p {
    width: 13rem;
  }
}
.pulldown-box-row .text03-p {
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  .pulldown-box-row .text03-p {
    margin-top: 2.6rem;
  }
}
@media screen and (min-width: 769px) {
  .pulldown-box-row .flex01-row {
    width: 32rem;
  }
}
@media screen and (max-width: 768px) {
  .pulldown-box-row .flex01-row {
    width: 100%;
    margin-top: 3rem;
  }
}
.pulldown-box.col01 {
  border-radius: 0;
  box-shadow: none;
}
.pulldown-box.col01 .pulldown-box-body {
  border: 1px solid #ccc;
  border-top: none;
}
.pulldown-box.col02 {
  border-radius: 0;
  box-shadow: none;
}
.pulldown-box.col02 .pulldown-box-head {
  background: #0d5faf;
  color: #fff;
}
div:not(.pulldown-box-switch) .pulldown-box.col02 .pulldown-box-head::before, div:not(.pulldown-box-switch) .pulldown-box.col02 .pulldown-box-head::after {
  display: none;
}
.pulldown-box.col02 .pulldown-box-body {
  background: #fff;
  border: 1px solid #0d5faf;
  border-top: none;
}
@media screen and (min-width: 769px) {
  .pulldown-box.wid01 .pulldown-box-head {
    min-height: auto;
    padding: 1.6rem 3rem;
  }
}
@media screen and (min-width: 769px) {
  .pulldown-box.wid01 .pulldown-box-body {
    padding: 3rem;
  }
}

.scroll-box {
  position: relative;
}
.scroll-box::after {
  content: "";
  position: absolute;
  border: 1px solid #dcdcdc;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  pointer-events: none;
}
.scroll-box-inner {
  overflow: hidden;
  overflow-y: scroll;
}
@media screen and (min-width: 769px) {
  .scroll-box-inner {
    max-height: 40rem;
    padding: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .scroll-box-inner {
    max-height: 70rem;
    padding: 6rem 4rem;
  }
}
.nosrc > .scroll-box-inner {
  max-height: none;
}
@media screen and (min-width: 769px) {
  .scroll-box + .table02-dl {
    margin-top: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .scroll-box + .table02-dl {
    margin-top: 6rem;
  }
}

.bg-area {
  position: relative;
}
.bg-area::before {
  content: "";
  position: absolute;
  background: var(--title-key-color-ash);
  width: 100vw;
  left: 50%;
  top: 0;
  bottom: 0;
  transform: translate(-50%, 0);
  pointer-events: none;
}
.bg-area-inner {
  position: relative;
}
@media screen and (min-width: 769px) {
  .bg-area-inner {
    padding: 8rem 0;
  }
}
@media screen and (max-width: 768px) {
  .bg-area-inner {
    padding: 10rem 0;
  }
}
.bg-area.white01::before {
  background: #fff;
}
.bg-area.gray01::before {
  background: transparent;
  border-top: 1px solid #dcdcdc;
}
.bg-area.gray01 > .bg-area-inner {
  padding-bottom: 0;
}
.bg-area.gray02.is-hidden {
  display: none !important;
}
.bg-area.gray02::before {
  background: transparent;
  border-bottom: 1px solid #dcdcdc;
}
@media screen and (max-width: 768px) {
  .bg-area.gray02::before {
    border-top: 1px solid #dcdcdc;
  }
}
@media screen and (max-width: 768px) {
  .bg-area.gray02 + .bg-area.gray02::before {
    border-top: none;
  }
}
.bg-area.fitness01::before {
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover;
}
.bg-area[class*=fitness_]::before {
  background-color: #d1e7ff;
  background-position: center center;
  background-repeat: no-repeat;
}
@media screen and (min-width: 769px) {
  .bg-area[class*=fitness_]::before {
    background-size: auto 100%;
  }
}
@media screen and (max-width: 768px) {
  .bg-area[class*=fitness_]::before {
    background-size: cover;
  }
}
@media screen and (min-width: 769px) {
  .bg-area.fitness_tennis::before {
    background-image: url("/fitness/assets/img/program/sports-culture/tennis/bg02_pc.jpg");
  }
}
@media screen and (max-width: 768px) {
  .bg-area.fitness_tennis::before {
    background-image: url("/fitness/assets/img/program/sports-culture/tennis/bg02_sp.jpg");
  }
}
@media screen and (min-width: 769px) {
  .bg-area.fitness_squash::before {
    background-image: url("/fitness/assets/img/program/sports-culture/squash/bg02_pc.jpg");
  }
}
@media screen and (max-width: 768px) {
  .bg-area.fitness_squash::before {
    background-image: url("/fitness/assets/img/program/sports-culture/squash/bg02_sp.jpg");
  }
}
@media screen and (min-width: 769px) {
  .bg-area.fitness_ballet::before {
    background-image: url("/fitness/assets/img/program/sports-culture/ballet/bg02_pc.jpg");
  }
}
@media screen and (max-width: 768px) {
  .bg-area.fitness_ballet::before {
    background-image: url("/fitness/assets/img/program/sports-culture/ballet/bg02_sp.jpg");
  }
}
@media screen and (min-width: 769px) {
  .bg-area.fitness_hula::before {
    background-image: url("/fitness/assets/img/program/sports-culture/hula/bg02_pc.jpg");
  }
}
@media screen and (max-width: 768px) {
  .bg-area.fitness_hula::before {
    background-image: url("/fitness/assets/img/program/sports-culture/hula/bg02_sp.jpg");
  }
}
@media screen and (min-width: 769px) {
  .bg-area.fitness_streetdance::before {
    background-image: url("/fitness/assets/img/program/sports-culture/streetdance/bg02_pc.jpg");
  }
}
@media screen and (max-width: 768px) {
  .bg-area.fitness_streetdance::before {
    background-image: url("/fitness/assets/img/program/sports-culture/streetdance/bg02_sp.jpg");
  }
}
.bg-area.kids01::before {
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover;
  background-color: #E4F5FD;
}
.bg-area.kids01--alt::before {
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover;
}
.bg-area[class*=kids_]::before {
  background-color: #ecfaff;
  background-position: center center;
  background-repeat: no-repeat;
}
@media screen and (min-width: 769px) {
  .bg-area[class*=kids_]::before {
    background-size: auto 100%;
  }
}
@media screen and (max-width: 768px) {
  .bg-area[class*=kids_]::before {
    background-size: cover;
  }
}
@media screen and (min-width: 769px) {
  .bg-area.kids_tennis::before {
    background-image: url("/kids/assets/img/tennis/bg_pc.jpg");
  }
}
@media screen and (max-width: 768px) {
  .bg-area.kids_tennis::before {
    background-image: url("/kids/assets/img/tennis/bg_sp.jpg");
  }
}
@media screen and (min-width: 769px) {
  .bg-area.kids_squash::before {
    background-image: url("/kids/assets/img/squash/bg_pc.jpg");
  }
}
@media screen and (max-width: 768px) {
  .bg-area.kids_squash::before {
    background-image: url("/kids/assets/img/squash/bg_sp.jpg");
  }
}
@media screen and (min-width: 769px) {
  .bg-area.kids_basketball::before {
    background-image: url("/kids/assets/img/basketball/bg_pc.jpg");
  }
}
@media screen and (max-width: 768px) {
  .bg-area.kids_basketball::before {
    background-image: url("/kids/assets/img/basketball/bg_sp.jpg");
  }
}
@media screen and (min-width: 769px) {
  .bg-area.kids_soccer::before {
    background-image: url("/kids/assets/img/soccer/bg_pc.jpg");
  }
}
@media screen and (max-width: 768px) {
  .bg-area.kids_soccer::before {
    background-image: url("/kids/assets/img/soccer/bg_sp.jpg");
  }
}
@media screen and (min-width: 769px) {
  .bg-area.kids_baseball::before {
    background-image: url("/kids/assets/img/baseball/bg_pc.jpg");
  }
}
@media screen and (max-width: 768px) {
  .bg-area.kids_baseball::before {
    background-image: url("/kids/assets/img/baseball/bg_sp.jpg");
  }
}
@media screen and (min-width: 769px) {
  .bg-area.kids_cheerleader::before {
    background-image: url("/kids/assets/img/cheerleader/bg_pc.jpg");
  }
}
@media screen and (max-width: 768px) {
  .bg-area.kids_cheerleader::before {
    background-image: url("/kids/assets/img/cheerleader/bg_sp.jpg");
  }
}
@media screen and (min-width: 769px) {
  .bg-area.kids_ballet::before {
    background-image: url("/kids/assets/img/ballet/bg_pc.jpg");
  }
}
@media screen and (max-width: 768px) {
  .bg-area.kids_ballet::before {
    background-image: url("/kids/assets/img/ballet/bg_sp.jpg");
  }
}
@media screen and (min-width: 769px) {
  .bg-area.kids_rhythmicgymnastics::before {
    background-image: url("/kids/assets/img/rhythmicgymnastics/bg_pc.jpg");
  }
}
@media screen and (max-width: 768px) {
  .bg-area.kids_rhythmicgymnastics::before {
    background-image: url("/kids/assets/img/rhythmicgymnastics/bg_sp.jpg");
  }
}
@media screen and (min-width: 769px) {
  .bg-area.kids_juniordance::before {
    background-image: url("/kids/assets/img/juniordance/bg_pc.jpg");
  }
}
@media screen and (max-width: 768px) {
  .bg-area.kids_juniordance::before {
    background-image: url("/kids/assets/img/juniordance/bg_sp.jpg");
  }
}
@media screen and (min-width: 769px) {
  .bg-area.kids_karate::before {
    background-image: url("/kids/assets/img/karate/bg_pc.jpg");
  }
}
@media screen and (max-width: 768px) {
  .bg-area.kids_karate::before {
    background-image: url("/kids/assets/img/karate/bg_sp.jpg");
  }
}

.bg-box {
  position: relative;
}
.bg-box::before {
  content: "";
  position: absolute;
  border: 1px solid;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  pointer-events: none;
}
.bg-box-inner {
  position: relative;
}
@media screen and (min-width: 769px) {
  .bg-box-inner {
    padding: 3rem;
  }
  .bg-box-inner.pc_thick {
    padding: 4rem;
  }
  .bg-box-inner.pc_depth {
    padding: 6rem 4rem;
  }
}
@media screen and (max-width: 768px) {
  .bg-box-inner {
    padding: 6rem;
  }
  .bg-box-inner.sp_thick {
    padding: 4rem;
  }
  .bg-box-inner.sp_depth {
    padding: 6rem 4rem;
  }
  .bg-box-inner.sp_wide {
    padding-left: 0;
    padding-right: 0;
  }
}
.bg-box-inner.wide {
  padding-left: 0;
  padding-right: 0;
}
.bg-box-inner.ptb0 {
  padding-top: 0;
  padding-bottom: 0;
}
@media screen and (min-width: 769px) {
  .bg-box.radius .bg-box-inner {
    padding: 6rem;
  }
}
@media screen and (max-width: 768px) {
  .bg-box.radius .bg-box-inner {
    padding: 8rem 4rem;
  }
}
@media screen and (min-width: 769px) {
  .bg-box.radius::before {
    border-radius: 1rem;
  }
}
@media screen and (max-width: 768px) {
  .bg-box.radius::before {
    border-radius: 1.6rem;
  }
}
.bg-box.col01::before {
  border-color: var(--title-key-color);
}
@media screen and (min-width: 769px) {
  .bg-box.col01.thick::before {
    border-width: 3px;
  }
}
@media screen and (max-width: 768px) {
  .bg-box.col01.thick::before {
    border-width: 2px;
  }
}
.bg-box.col02::before {
  border-color: #00a1e9;
}
@media screen and (min-width: 769px) {
  .bg-box.col02.thick::before {
    border-width: 3px;
  }
}
@media screen and (max-width: 768px) {
  .bg-box.col02.thick::before {
    border-width: 2px;
  }
}
.bg-box.gray01::before {
  background: #eee;
  border-color: #ccc;
}
.bg-box.gray02::before {
  background: #f7f6f5;
  border: none;
}
.bg-box.gray03::before {
  border-color: #dcdcdc transparent;
}
.bg-box.gray03.nb::before {
  border-color: transparent;
}
.bg-box.gray03 .bg-box-inner + .bg-box-inner {
  border-top: 1px solid #dcdcdc;
}
.bg-box.gray04::before {
  background: #fff;
  border-color: #ccc;
}
.bg-box.gray05::before {
  background: #fff;
  border-color: #dcdcdc;
  border-width: 2px;
}
.bg-box.white01::before {
  background: #fff;
  border: none;
}
.bg-box.fitness01::before {
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover;
  border: none;
}
@media screen and (min-width: 769px) {
  .bg-box.fitness01::before {
    background-image: url(/giftcard/public/assets/common/img/fitness/top/bg01.png);
  }
}
@media screen and (max-width: 768px) {
  .bg-box.fitness01::before {
    background-image: url(/giftcard/public/assets/common/img/fitness/top/bg01_sp.png);
  }
}
.bg-box.fitness02::before {
  background: var(--title-key-color-ash);
  border: none;
}
.bg-box.fitness03::before {
  background: var(--title-key-color-pale);
  border: var(--title-key-color-pale);
}
.bg-box.kids01::before {
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover;
  border: none;
}
@media screen and (min-width: 769px) {
  .bg-box.kids01::before {
    background-image: url(/giftcard/public/assets/common/img/kids/top/bg01.png);
  }
}
@media screen and (max-width: 768px) {
  .bg-box.kids01::before {
    background-image: url(/giftcard/public/assets/common/img/kids/top/bg01_sp.png);
  }
}
.bg-box.kids02::before {
  background: var(--title-key-color-ash);
  border: none;
}
.bg-box.error::before {
  background: #fff3f3;
  border-color: #fc4042;
}
.bg-box.error02::before {
  border-width: 2px;
  border-color: #fc4042;
}
.bg-box.error03::before {
  background: #fff3f3;
  border-color: transparent;
}
.bg-box.error04::before {
  background: #fff3f3;
  border-width: 2px;
  border-color: #fc4042;
}
.bg-box + .bg-box {
  margin-top: 4rem;
}
@media screen and (min-width: 769px) {
  .bg-box + .text02-p.error {
    padding-top: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .bg-box + .text02-p.error {
    padding-top: 4rem;
  }
}

.flex01-row {
  display: flex;
}
@media screen and (min-width: 769px) {
  .flex01-row.btw {
    justify-content: space-between;
  }
  .flex01-row.cnt {
    justify-content: center;
  }
  .flex01-row.pc_horiz {
    flex-direction: column;
  }
  .flex01-row.pc_horiz.cnt {
    align-items: center;
  }
  .flex01-row.pc_clm3 > * {
    width: 30.965%;
  }
  .flex01-row.pc_half > * {
    width: 50%;
  }
  .flex01-row.pc_half > *.pc_af {
    order: 10;
  }
}
@media screen and (max-width: 768px) {
  .flex01-row {
    flex-direction: column;
  }
  .flex01-row > *:nth-of-type(n+2) {
    margin-top: 6rem;
  }
  .flex01-row.sp_horz {
    justify-content: space-between;
    flex-direction: row;
  }
  .flex01-row.sp_horz > *:nth-of-type(n+2) {
    margin-top: 0;
  }
  .flex01-row.sp_half {
    flex-wrap: wrap;
    flex-direction: row;
  }
  .flex01-row.sp_half > *:nth-of-type(n+2) {
    margin-top: 2rem;
  }
  .flex01-row.sp_half > *:nth-of-type(odd) {
    margin-right: auto;
  }
  .flex01-row.sp_half > *:nth-of-type(even) {
    margin-left: auto;
  }
}
@media screen and (min-width: 769px) {
  .flex01-row.wid01 > div:nth-of-type(1) {
    width: 61.404%;
  }
  .flex01-row.wid01 > div:nth-of-type(2) {
    width: 28.071%;
    padding-top: 0;
  }
}
@media screen and (min-width: 769px) {
  .flex01-row.wid02 {
    flex-wrap: wrap;
    padding-top: 2rem;
  }
  .flex01-row.wid02 .text01-p {
    flex-grow: 1;
    width: calc(100% - 16rem);
    padding-right: 4rem;
    box-sizing: border-box;
  }
  .flex01-row.wid02 .btns-wrapper {
    flex-shrink: 0;
    width: 16rem;
    margin-top: 0;
  }
  .flex01-row.wid02 .tag-list {
    order: 10;
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .flex01-row.wid02 {
    padding-top: 4rem;
  }
  .flex01-row.wid02 .btns-wrapper {
    margin-top: 4rem;
  }
  .flex01-row.wid02 .tag-list {
    margin-top: 3rem;
  }
}
.flex01-row.wid03 .img-border01 {
  width: 35.3rem;
}
@media screen and (min-width: 769px) {
  .flex01-row.wid03 .img-border01, .flex01-row.wid03 .img-default {
    flex-shrink: 0;
  }
  .flex01-row.wid03 .img-border01 + .desc04-dl, .flex01-row.wid03 .img-border01 .flex01-row {
    padding-right: 0;
    padding-left: 4rem;
  }
  .flex01-row.wid03 .img-default {
    width: 35.3rem;
  }
  .flex01-row.wid03 .img-default + .desc04-dl, .flex01-row.wid03 .img-default + .flex01-row {
    padding-right: 0;
    padding-left: 4rem;
  }
  .flex01-row.wid03 .desc04-dl, .flex01-row.wid03 .flex01-row {
    width: 100%;
    padding-right: 4rem;
  }
  .flex01-row.wid03 .text01-p + .img-default {
    margin-left: 6rem;
  }
  .flex01-row.wid03 > .dot02-ul {
    width: 100%;
    padding-left: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .flex01-row.wid03 .img-border01 {
    margin: 0 auto;
  }
  .flex01-row.wid03 .img-border01.sp_full {
    width: 100%;
  }
  .flex01-row.wid03 .img-border01 + .desc04-dl {
    padding-top: 5rem;
  }
  .flex01-row.wid03 .img-default {
    order: 10;
    margin: 0 auto;
  }
  .flex01-row.wid03 .img-default + .desc04-dl, .flex01-row.wid03 .img-default + .flex01-row, .flex01-row.wid03 .img-default + .dot02-ul {
    padding-bottom: 4rem;
  }
  .flex01-row.wid03 .img-default.sp_before {
    order: -10;
  }
  .flex01-row.wid03 .img-default.sp_before + .desc04-dl, .flex01-row.wid03 .img-default.sp_before + .flex01-row, .flex01-row.wid03 .img-default.sp_before + .dot02-ul {
    padding-top: 4rem;
  }
  .flex01-row.wid03 .img-default.hidden_sp + .desc04-dl, .flex01-row.wid03 .img-default.hidden_sp + .flex01-row, .flex01-row.wid03 .img-default.hidden_sp + .dot02-ul {
    padding-bottom: 0;
  }
  .flex01-row.wid03 .desc04-dl + .img-default, .flex01-row.wid03 .flex01-row + .img-default, .flex01-row.wid03 .dot02-ul + .img-default, .flex01-row.wid03 .text01-p + .img-default {
    padding-top: 4rem;
  }
  .flex01-row.wid03 .flex01-row {
    margin-top: 0;
  }
}
@media screen and (min-width: 769px) {
  .flex01-row.wid04 .img-default {
    flex-shrink: 0;
    width: 55rem;
  }
  .flex01-row.wid04 > .text01-p, .flex01-row.wid04 .flex01-row-cap {
    width: 100%;
    padding-left: 4rem;
  }
  .flex01-row.wid04 > .text01-p .text01-p, .flex01-row.wid04 .flex01-row-cap .text01-p {
    padding-left: 0;
  }
  .flex01-row.wid04.cnt .text01-p {
    width: auto;
  }
}
@media screen and (max-width: 768px) {
  .flex01-row.wid04 .img-default {
    order: 10;
  }
  .flex01-row.wid04 .img-default.sp_od1 {
    order: -1;
  }
  .flex01-row.wid04 .img-default.sp_od1 + .text01-p {
    padding-top: 4rem;
    padding-bottom: 0;
  }
  .flex01-row.wid04 .img-default.sp_od1 + .desc04-dl {
    padding-top: 4rem;
    padding-bottom: 0;
  }
  .flex01-row.wid04 .text01-p, .flex01-row.wid04 .flex01-row-cap {
    padding-bottom: 4rem;
  }
}
@media screen and (min-width: 769px) {
  .flex01-row.wid05 .dot02-ul {
    width: 100%;
    padding-left: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .flex01-row.wid05 .dot02-ul + .dot02-ul {
    margin-top: 0;
    padding-top: 2.2rem;
  }
}
@media screen and (min-width: 769px) {
  .flex01-row.wid06 {
    padding-top: 2rem;
  }
  .flex01-row.wid06 .text01-p {
    width: calc(100% - 25rem);
    padding-right: 4rem;
    box-sizing: border-box;
  }
  .flex01-row.wid06 .btns-wrapper {
    flex-shrink: 0;
    width: 25rem;
    margin-top: 0;
  }
}
@media screen and (max-width: 768px) {
  .flex01-row.wid06 {
    padding-top: 4rem;
  }
  .flex01-row.wid06 .btns-wrapper {
    margin-top: 4rem;
  }
}
@media screen and (min-width: 769px) {
  .flex01-row.wid07 {
    justify-content: center;
  }
  .flex01-row.wid07 > div {
    width: 48rem;
  }
  .flex01-row.wid07 > div + div {
    margin-left: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .flex01-row.wid07 > div + div {
    margin-top: 2rem;
  }
}
@media screen and (min-width: 769px) {
  .flex01-row.wid08 > div .text01-p {
    padding-bottom: 1rem;
  }
  .flex01-row.wid08 > div + div {
    margin-left: 3rem;
  }
}
@media screen and (max-width: 768px) {
  .flex01-row.wid08 > div .text01-p {
    padding-bottom: 3rem;
  }
}
@media screen and (min-width: 769px) {
  .flex01-row.wid09 {
    justify-content: space-between;
    padding: 2rem;
  }
  .flex01-row.wid09 .img-default {
    width: 12rem;
  }
  .flex01-row.wid09 > div {
    width: 100%;
    padding-left: 5rem;
  }
  .flex01-row.wid09 > div .text01-p {
    padding-top: 2.5rem;
  }
  .flex01-row.wid09 + .flex01-row.wid09 {
    margin-top: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .flex01-row.wid09 {
    align-items: center;
  }
  .flex01-row.wid09 .img-default {
    width: 24rem;
  }
  .flex01-row.wid09 > div {
    padding-top: 4rem;
  }
  .flex01-row.wid09 > div .text01-p {
    padding-top: 3.5rem;
  }
  .flex01-row.wid09 + .flex01-row.wid09 {
    margin-top: 8rem;
  }
}
@media screen and (min-width: 769px) {
  .flex01-row.wid10 .img-default {
    flex-shrink: 0;
  }
  .flex01-row.wid10 .text01-p {
    width: 100%;
    padding-left: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .flex01-row.wid10 .img-default {
    order: 10;
    padding-top: 4rem;
  }
}
.flex01-row.wid11 .img-default {
  width: 40rem;
}
.flex01-row.wid11 .img-default.w-57 {
  width: 28.5rem;
}
@media screen and (max-width: 768px) {
  .flex01-row.wid11 .img-default.w-57 {
    width: 100%;
  }
}
@media screen and (min-width: 769px) {
  .flex01-row.wid11 .img-default {
    flex-shrink: 0;
  }
  .flex01-row.wid11 .img-default + .desc04-dl {
    width: 100%;
    padding-left: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .flex01-row.wid11 .img-default {
    order: 10;
    margin: 0 auto;
    padding-top: 8rem;
    zoom: 0.75;
  }
}
@media screen and (min-width: 769px) {
  .flex01-row.wid12 > * {
    width: 100%;
  }
  .flex01-row.wid12 > * + * {
    margin-left: 2rem;
  }
}
@media screen and (min-width: 769px) {
  .flex01-row.wid13 > div + div {
    margin-left: 10rem;
  }
}
@media screen and (max-width: 768px) {
  .flex01-row.wid13 > div + div {
    margin-top: 6rem;
  }
}
@media screen and (min-width: 769px) {
  .flex01-row + .tag-list {
    margin-top: 1rem;
  }
}

.head01-dl {
  position: relative;
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .head01-dl {
    max-width: 114rem;
  }
}
.head01-bg {
  line-height: 0;
  text-align: center;
}
.head01-h2 {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  font-weight: 700;
  text-align: center;
  color: #fff;
}
@media screen and (min-width: 769px) {
  .head01-h2 {
    line-height: 1.417em;
    font-size: 4.8rem;
  }
  .head01-h2 > h2 {
    line-height: inherit;
    font: inherit;
  }
  .head01-h2 > h2:first-of-type {
    margin-top: -0.208em;
  }
  .head01-h2 > h2:last-of-type {
    margin-bottom: -0.208em;
  }
}
@media screen and (max-width: 768px) {
  .head01-h2 {
    line-height: 1.2em;
    font-size: 6rem;
  }
  .head01-h2 > h2 {
    line-height: inherit;
    font: inherit;
  }
  .head01-h2 > h2:first-of-type {
    margin-top: -0.1em;
  }
  .head01-h2 > h2:last-of-type {
    margin-bottom: -0.1em;
  }
}
.head01-h3 {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  font-weight: 700;
  text-align: center;
  color: #fff;
}
@media screen and (min-width: 769px) {
  .head01-h3 {
    line-height: 1.5em;
    font-size: 4rem;
  }
  .head01-h3 > h3 {
    line-height: inherit;
    font: inherit;
  }
  .head01-h3 > h3:first-of-type {
    margin-top: -0.25em;
  }
  .head01-h3 > h3:last-of-type {
    margin-bottom: -0.25em;
  }
}
@media screen and (max-width: 768px) {
  .head01-h3 {
    line-height: 1.5em;
    font-size: 4.8rem;
  }
  .head01-h3 > h3 {
    line-height: inherit;
    font: inherit;
  }
  .head01-h3 > h3:first-of-type {
    margin-top: -0.25em;
  }
  .head01-h3 > h3:last-of-type {
    margin-bottom: -0.25em;
  }
}
.head01-df {
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}
@media screen and (min-width: 769px) {
  .head01-df {
    align-items: center;
    padding: 0 1rem;
  }
}
@media screen and (max-width: 768px) {
  .head01-df {
    padding: 0 4rem;
  }
}
.head01-dt {
  font-weight: 700;
  color: #fff;
}
@media screen and (min-width: 769px) {
  .head01-dt {
    line-height: 1.7em;
    font-size: 4rem;
    text-align: center;
  }
}
@media screen and (max-width: 768px) {
  .head01-dt {
    line-height: 1.417em;
    font-size: 4.8rem;
  }
}
@media screen and (min-width: 769px) {
  .head01-dt + .head01-dd {
    margin-top: 1.2rem;
  }
}
@media screen and (max-width: 768px) {
  .head01-dt + .head01-dd {
    margin-top: 4rem;
  }
}
.head01-dd {
  font-weight: 700;
  color: #fff;
}
@media screen and (min-width: 769px) {
  .head01-dd {
    line-height: 1.5em;
    font-size: 1.6rem;
    text-align: center;
  }
}
@media screen and (max-width: 768px) {
  .head01-dd {
    line-height: 1.715em;
    font-size: 2.8rem;
  }
}

@media screen and (min-width: 769px) {
  .head02-p {
    line-height: 1.522em;
    font-size: 2.3rem;
  }
}
@media screen and (max-width: 768px) {
  .head02-p {
    line-height: 1.715em;
    font-size: 2.8rem;
  }
}
.head02-p.center {
  text-align: center;
}
.head02-p strong {
  font-weight: 900;
}
.head02-p em {
  font-style: normal;
}
@media screen and (min-width: 769px) {
  .head02-p em {
    font-size: 1.044em;
  }
}
@media screen and (max-width: 768px) {
  .head02-p em {
    font-size: 1.215em;
  }
}
.head02-p .img-default {
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .head02-p .img-default {
    width: 28.6rem;
    padding: 2rem 0 3rem;
  }
}
@media screen and (max-width: 768px) {
  .head02-p .img-default {
    width: 41rem;
    padding: 2rem 0 5rem;
  }
}

.title-h2 {
  position: relative;
  font-weight: 700;
}
@media screen and (min-width: 769px) {
  .title-h2 {
    line-height: 1.667em;
    font-size: 3rem;
  }
  .title-h2 > h2 {
    line-height: inherit;
    font: inherit;
  }
  .title-h2 > h2:first-of-type {
    margin-top: -0.333em;
  }
  .title-h2 > h2:last-of-type {
    margin-bottom: -0.333em;
  }
  .title-h2.pc_large {
    line-height: 1.5em;
    font-size: 4rem;
  }
  .title-h2.pc_large > h2 {
    line-height: inherit;
    font: inherit;
  }
  .title-h2.pc_large > h2:first-of-type {
    margin-top: -0.25em;
  }
  .title-h2.pc_large > h2:last-of-type {
    margin-bottom: -0.25em;
  }
  .title-h2.pc_large > p {
    line-height: 1.5em;
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 768px) {
  .title-h2 {
    line-height: 1.417em;
    font-size: 4.8rem;
  }
  .title-h2 > h2 {
    line-height: inherit;
    font: inherit;
  }
  .title-h2 > h2:first-of-type {
    margin-top: -0.208em;
  }
  .title-h2 > h2:last-of-type {
    margin-bottom: -0.208em;
  }
  .title-h2.sp_center {
    text-align: center;
  }
}
.title-h2::after {
  content: "";
  display: none;
  position: absolute;
  background: var(--title-key-color);
  left: 0;
  bottom: 0;
}
@media screen and (min-width: 769px) {
  .title-h2::after {
    border-radius: 0.167em;
    width: 1.334em;
    height: 0.167em;
  }
}
@media screen and (max-width: 768px) {
  .title-h2::after {
    border-radius: 0.209em;
    width: 1.667em;
    height: 0.209em;
  }
}
.title-h2 > h2 .mrk-reverse {
  margin-left: 0.3em;
  vertical-align: text-top;
}
@media screen and (min-width: 769px) {
  .title-h2 > h2 .mrk-reverse {
    transform: translate(0, 40%);
  }
}
@media screen and (max-width: 768px) {
  .title-h2 > h2 .mrk-reverse {
    transform: translate(0, 18%);
  }
}
@media screen and (min-width: 769px) {
  .title-h2 > h3 {
    line-height: 1.364em;
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 768px) {
  .title-h2 > h3 {
    line-height: 1.5em;
    font-size: 4rem;
  }
}
@media screen and (min-width: 769px) {
  .title-h2 > h3 + h2 {
    padding-top: 0.8rem;
  }
}
@media screen and (max-width: 768px) {
  .title-h2 > h3 + h2 {
    padding-top: 1rem;
  }
}
@media screen and (min-width: 769px) {
  .title-h2 > p {
    line-height: 1.5em;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 768px) {
  .title-h2 > p {
    line-height: 1.688em;
    font-size: 3.2rem;
  }
}
@media screen and (min-width: 769px) {
  .title-h2 > p + h2 {
    padding-top: 1.2rem;
  }
}
@media screen and (max-width: 768px) {
  .title-h2 > p + h2 {
    padding-top: 2.4rem;
  }
}
@media screen and (min-width: 769px) {
  .title-h2.large {
    line-height: 1.5em;
    font-size: 4rem;
  }
  .title-h2.large > h2 {
    line-height: inherit;
    font: inherit;
  }
  .title-h2.large > h2:first-of-type {
    margin-top: -0.25em;
  }
  .title-h2.large > h2:last-of-type {
    margin-bottom: -0.25em;
  }
  .title-h2.large > p {
    line-height: 1.546em;
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 768px) {
  .title-h2.large {
    line-height: 1.552em;
    font-size: 5.8rem;
  }
  .title-h2.large > h2 {
    line-height: inherit;
    font: inherit;
  }
  .title-h2.large > h2:first-of-type {
    margin-top: -0.275em;
  }
  .title-h2.large > h2:last-of-type {
    margin-bottom: -0.275em;
  }
  .title-h2.large > p {
    line-height: 1.5em;
    font-size: 3.2rem;
  }
}
.title-h2.center {
  text-align: center;
}
.title-h2.center::after {
  right: 0;
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .title-h2 + .tabs {
    margin-top: 6rem;
  }
}
@media screen and (max-width: 768px) {
  .title-h2 + .tabs {
    margin-top: 10rem;
  }
}
.title-h2 + .btns-wrapper {
  margin-top: 6rem;
}
@media screen and (min-width: 769px) {
  .title-h2 + .bg-box {
    margin-top: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .title-h2 + .bg-box {
    margin-top: 6rem;
  }
}
.title-h2 + .dropdown-box {
  margin-top: 6rem;
}
.title-h2 + .pulldown-box {
  margin-top: 6rem;
}
.title-h2 + .title-h3 {
  margin-top: 6rem;
}
.title-h2 + .lower-table01 {
  margin-top: 6rem;
}
.title-h2 + .table01-dl {
  margin-top: 4rem;
}
.title-h2 + .table02-dl {
  margin-top: 6rem;
}
.title-h2 + .step02-ol {
  padding-top: 6rem;
}
@media screen and (min-width: 769px) {
  .title-h2 + .dot01-ul {
    margin-top: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .title-h2 + .dot01-ul {
    margin-top: 6rem;
  }
}
.title-h2 + .card02-ul {
  padding-top: 6rem;
}
.title-h2 + .card03-ul {
  padding-top: 6rem;
}
.title-h2 + .card04-ul.line {
  padding-top: 6rem;
}
.title-h2 + .panel01-ul {
  padding-top: 6rem;
}
.title-h2 + .row01-ul {
  padding-top: 6rem;
}
.title-h2 + .flex01-row {
  padding-top: 6rem;
}
.title-h2 + .text01-p {
  padding-top: 6rem;
}

.title-h3 {
  position: relative;
  letter-spacing: 0.02em;
  font-weight: 700;
}
@media screen and (min-width: 769px) {
  .title-h3 {
    padding: 0 0 0 1.046em;
    line-height: 1.5em;
    font-size: 2.2rem;
  }
  .title-h3 > h3 {
    line-height: inherit;
    font: inherit;
  }
  .title-h3 > h3:first-of-type {
    margin-top: -0.25em;
  }
  .title-h3 > h3:last-of-type {
    margin-bottom: -0.25em;
  }
  .title-h3.pc_flex {
    display: flex;
    justify-content: flex-start;
    align-items: center;
  }
  .title-h3.pc_flex > a {
    margin-left: 4rem;
  }
  .title-h3.pc_flex > a + a {
    margin-left: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .title-h3 {
    padding: 0 0 0 0.65em;
    line-height: 1.5em;
    font-size: 4rem;
  }
  .title-h3 > h3 {
    line-height: inherit;
    font: inherit;
  }
  .title-h3 > h3:first-of-type {
    margin-top: -0.25em;
  }
  .title-h3 > h3:last-of-type {
    margin-bottom: -0.25em;
  }
}
.title-h3::after {
  content: "";
  position: absolute;
  background: var(--title-key-color);
  left: 0;
  transform: translate(0, -50%);
}
@media screen and (min-width: 769px) {
  .title-h3::after {
    border-radius: 0.137em;
    width: 0.137em;
    height: 1.182em;
    top: 0.841em;
  }
}
@media screen and (max-width: 768px) {
  .title-h3::after {
    border-radius: 0.15em;
    width: 0.15em;
    height: 1.3em;
    top: 0.9em;
  }
}
@media screen and (min-width: 769px) {
  .title-h3 > h3 {
    padding: 0.046em 0 0.137em;
  }
}
@media screen and (max-width: 768px) {
  .title-h3 > h3 {
    padding: 0.125em 0 0.175em;
  }
}
@media screen and (min-width: 769px) {
  .title-h3 > h3 .mrks-wrapper {
    display: inline-block;
    margin-left: 3rem;
    vertical-align: bottom;
    transform: translate(0, -5%);
  }
}
@media screen and (max-width: 768px) {
  .title-h3 > h3 .mrks-wrapper {
    display: block;
    margin-top: 2.6rem;
    transform: translate(-0.65em, 0);
  }
}
.ac-parent_all > .title-h3 {
  padding-right: 4rem;
  cursor: pointer;
}
.ac-parent_all > .title-h3 > h3::before, .ac-parent_all > .title-h3 > h3::after {
  position: absolute;
  background: var(--title-key-color);
  width: 2.8rem;
  height: 0.4rem;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto 0;
}
.ac-parent_all > .title-h3 > h3::after {
  transform: rotateZ(90deg);
}
.ac-parent_all > .title-h3.arrow02 > h3 {
  color: var(--title-key-color);
}
.ac-parent_all > .title-h3.arrow02 > h3::before {
  display: none;
}
.ac-parent_all > .title-h3.arrow02 > h3::after {
  position: static;
  display: inline-block !important;
  border-radius: 50%;
  width: 1.5em;
  height: 1.5em;
  margin-left: 0.5em;
  line-height: 1.375em;
  font-size: 0.728em;
  font-weight: 400;
  text-align: center;
  vertical-align: middle;
  color: #fff;
  transform: translate(0, -10%);
}
@media screen and (min-width: 769px) {
  .ac-parent_all:not(.pc_noac) > .title-h3 > h3::before, .ac-parent_all:not(.pc_noac) > .title-h3 > h3::after {
    content: "";
  }
}
@media screen and (min-width: 769px) {
  .ac-parent_all:not(.pc_noac) > .title-h3.arrow02 > h3::after {
    content: "＋";
  }
}
@media screen and (max-width: 768px) {
  .ac-parent_all:not(.sp_noac) > .title-h3 > h3::before, .ac-parent_all:not(.sp_noac) > .title-h3 > h3::after {
    content: "";
  }
}
@media screen and (max-width: 768px) {
  .ac-parent_all:not(.sp_noac) > .title-h3.arrow02 > h3::after {
    content: "＋";
  }
}
.ac-parent_all.active > .title-h3 > h3::after {
  display: none;
}
.ac-parent_all.active > .title-h3.arrow02 > h3::after {
  content: "－" !important;
}
.title-h3 + .btns-wrapper {
  margin-top: 4rem;
}
.title-h3 + .bnrs-wrapper {
  margin-top: 4rem;
}
.title-h3 + .scroll-box {
  margin-top: 4rem;
}
.title-h3 + .bg-box {
  margin-top: 4rem;
}
.title-h3 + .lower-table01 {
  margin-top: 4rem;
}
.title-h3 + .lower-table01.flex01 {
  margin-top: 4rem;
}
.title-h3 + .lower-table01-aside {
  padding-top: 4rem;
}
.title-h3 + .table01-dl {
  margin-top: 4rem;
}
.title-h3 + .table01-dl-sub {
  margin-top: 4rem;
}
@media screen and (min-width: 769px) {
  .title-h3 + .table03-dl {
    margin-top: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .title-h3 + .table03-dl {
    margin-top: 4rem;
  }
}
.title-h3 + .panel03-ul {
  margin-top: 4rem;
}
.title-h3 + .card02-ul {
  margin-top: 4rem;
}
.title-h3 + .box02-block {
  margin-top: 4rem;
}
.title-h3 + .desc04-dl {
  margin-top: 4rem;
}
.title-h3 + .num01-ol {
  padding-top: 4rem;
}
.title-h3 + .step02-ol {
  padding-top: 4rem;
}
.title-h3 + .dot01-ul {
  padding-top: 4rem;
}
.title-h3 + .text01-ul {
  padding-top: 4rem;
}
.title-h3 + .check01-ul {
  padding-top: 4rem;
}
.title-h3 + .text01-p {
  padding-top: 4rem;
}
.title-h3 + .text05-p {
  padding-top: 4rem;
}

.title-h4 {
  position: relative;
  letter-spacing: 0.02em;
  font-weight: 700;
}
@media screen and (min-width: 769px) {
  .title-h4 {
    line-height: 1.667em;
    font-size: 3rem;
  }
  .title-h4 > h4 {
    line-height: inherit;
    font: inherit;
  }
  .title-h4 > h4:first-of-type {
    margin-top: -0.333em;
  }
  .title-h4 > h4:last-of-type {
    margin-bottom: -0.333em;
  }
}
@media screen and (max-width: 768px) {
  .title-h4 {
    line-height: 1.7em;
    font-size: 4rem;
  }
  .title-h4 > h4 {
    line-height: inherit;
    font: inherit;
  }
  .title-h4 > h4:first-of-type {
    margin-top: -0.35em;
  }
  .title-h4 > h4:last-of-type {
    margin-bottom: -0.35em;
  }
}
.title-h4::after {
  content: "";
  display: none;
  position: absolute;
  background: var(--title-key-color);
  left: 0;
  bottom: 0;
}
@media screen and (min-width: 769px) {
  .title-h4::after {
    border-radius: 0.167em;
    width: 1.334em;
    height: 0.167em;
  }
}
@media screen and (max-width: 768px) {
  .title-h4::after {
    border-radius: 0.209em;
    width: 1.667em;
    height: 0.209em;
  }
}
.title-h4 + .btns-wrapper {
  margin-top: 6rem;
}
.title-h4 + .lower-table01 {
  margin-top: 6rem;
}
.title-h4 + .table01-dl {
  margin-top: 4rem;
}
.title-h4 + .table02-dl {
  margin-top: 6rem;
}
.title-h4 + .text01-p {
  padding-top: 6rem;
}

.title-h5 {
  display: flex;
  justify-content: space-between;
  position: relative;
  border-bottom: 2px solid;
  font-weight: 700;
}
@media screen and (min-width: 769px) {
  .title-h5 {
    line-height: 1.5em;
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 768px) {
  .title-h5 {
    line-height: 1.5em;
    font-size: 4rem;
  }
}
.title-h5::before {
  content: "";
  flex-shrink: 0;
  display: block;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
}
@media screen and (min-width: 769px) {
  .title-h5::before {
    width: 1.819em;
    height: 1.819em;
    margin-bottom: 0.41em;
  }
}
@media screen and (max-width: 768px) {
  .title-h5::before {
    width: 1.8em;
    height: 1.8em;
    margin: 0 0 0.45em -0.2rem;
  }
}
.title-h5.noicon::before {
  display: none;
}
@media screen and (min-width: 769px) {
  .title-h5.noicon > h5 {
    padding-bottom: 0.569em;
  }
}
@media screen and (max-width: 768px) {
  .title-h5.noicon > h5 {
    padding-bottom: 0.6em;
  }
}
.title-h5 > h5 {
  width: 100%;
}
@media screen and (min-width: 769px) {
  .title-h5 > h5 {
    padding: 0.16em 0 0.16em 0.682em;
    letter-spacing: -0.01em;
  }
}
@media screen and (max-width: 768px) {
  .title-h5 > h5 {
    padding: 0.15em 0 0.15em 0.4em;
    letter-spacing: -0.05em;
  }
}
.title-h5.blue01 {
  border-bottom-color: #0d5faf;
}
.title-h5.blue01.alert::before {
  background-image: url(../img/admission/rule/icon_alert01_b.svg);
}
.title-h5.blue01.gym::before {
  background-image: url(../img/admission/rule/icon_gym01_b.svg);
}
.title-h5.blue01.locker::before {
  background-image: url(../img/admission/rule/icon_locker01_b.svg);
}
.title-h5.blue01.spa::before {
  background-image: url(../img/admission/rule/icon_spa01_b.svg);
}
.title-h5.blue01.machine::before {
  background-image: url(../img/admission/rule/icon_machine01_b.svg);
}
.title-h5.blue01.studio::before {
  background-image: url(../img/admission/rule/icon_studio01_b.svg);
}
.title-h5.blue01.pool::before {
  background-image: url(../img/admission/rule/icon_pool01_b.svg);
}
.title-h5.blue01.late::before {
  background-image: url(../img/admission/rule/icon_late01_b.svg);
}
.title-h5.blue01.shower::before {
  background-image: url(../img/admission/rule/icon_shower01_b.svg);
}
.title-h5.blue01.swimming::before {
  background-image: url(../img/mypage/ico_swimming01_b.svg);
}
.title-h5.blue01.gymnastics::before {
  background-image: url(../img/mypage/ico_gymnastics01_b.svg);
}
.title-h5.blue01.dance::before {
  background-image: url(../img/mypage/ico_dance01_b.svg);
}
.title-h5.blue01.other1::before {
  background-image: url(../img/mypage/ico_other01_b.svg);
}
.title-h5.blue02 {
  border-bottom-color: #00a1e9;
}
.title-h5.blue02.bus::before {
  background-image: url(../img/kids/bus.svg);
}

.calendar-table {
  background: #ccc;
  border-collapse: separate;
  border-spacing: 1px;
  table-layout: fixed;
}
@media screen and (max-width: 768px) {
  .calendar-table {
    width: 100%;
  }
}
.calendar-table th {
  background: #fff;
  font-weight: 400;
  text-align: center;
  vertical-align: middle;
}
@media screen and (min-width: 769px) {
  .calendar-table th {
    height: 5.3rem;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 768px) {
  .calendar-table th {
    height: 9rem;
    font-size: 2.8rem;
  }
}
.calendar-table td {
  position: relative;
  background: #fff;
  font-weight: 400;
  text-align: center;
  vertical-align: middle;
}
@media screen and (min-width: 769px) {
  .calendar-table td {
    width: 5rem;
    height: 7rem;
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 768px) {
  .calendar-table td {
    width: 8.8rem;
    height: 12.8rem;
    font-size: 2.8rem;
  }
}
.calendar-table td.week {
  background: #eee;
}
@media screen and (min-width: 769px) {
  .calendar-table td.week {
    height: 3.5rem;
  }
}
@media screen and (max-width: 768px) {
  .calendar-table td.week {
    height: 7rem;
  }
}
.calendar-table td.closed {
  background: #f9dbec;
}
.calendar-table td .sunday, .calendar-table td.sunday {
  color: #fc4042;
}
.calendar-table td .saturday, .calendar-table td.saturday {
  color: #0d5faf;
}

.tag-list {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
}
.tag-list > li {
  display: block;
}
@media screen and (min-width: 769px) {
  .tag-list > li {
    padding: 1rem 1rem 0 0;
  }
}
@media screen and (max-width: 768px) {
  .tag-list > li {
    padding: 2rem 2rem 0 0;
  }
}
.tag-list-item {
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid;
  min-width: 5.715em;
  min-height: 1.858em;
  padding: 0.143em 0.786em;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .tag-list-item {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 768px) {
  .tag-list-item {
    font-size: 2.8rem;
  }
}
.tag-list-item.fitness01 {
  background: #fff;
  border-color: var(--title-key-color);
  color: var(--title-key-color);
}
.tag-list-item.fitness02 {
  background: var(--title-key-color-ash);
  border-color: var(--title-key-color-ash);
  color: var(--title-key-color);
}
.tag-list-item.fitness03 {
  color: var(--title-key-color);
}

.app-list {
  display: flex;
}
@media screen and (min-width: 769px) {
  .app-list {
    justify-content: center;
  }
}
@media screen and (max-width: 768px) {
  .app-list {
    flex-direction: column;
    align-items: center;
  }
}
.app-list > li {
  display: block;
}
@media screen and (min-width: 769px) {
  .app-list > li.appstore {
    width: 19.1rem;
  }
}
@media screen and (max-width: 768px) {
  .app-list > li.appstore {
    width: 37.5rem;
  }
}
@media screen and (min-width: 769px) {
  .app-list > li.googleplay {
    width: 23.3rem;
  }
}
@media screen and (max-width: 768px) {
  .app-list > li.googleplay {
    width: 46.7rem;
  }
}
.app-list > li a {
  display: block;
  line-height: 0;
}
@media screen and (min-width: 769px) {
  .app-list > li + li {
    margin-left: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .app-list > li + li {
    margin-top: 4rem;
  }
}
@media screen and (min-width: 769px) {
  .app-list + .text01-p {
    padding-top: 5rem;
  }
}
@media screen and (max-width: 768px) {
  .app-list + .text01-p {
    padding-top: 8rem;
  }
}

.faq-block {
  box-sizing: border-box;
}
.faq-block * {
  box-sizing: border-box;
}
.faq-block *::before, .faq-block *::after {
  box-sizing: border-box;
}
.faq-switch {
  display: flex;
  justify-content: space-between;
  font-weight: 700;
  cursor: pointer;
}
.faq-switch::after {
  content: "＋";
  display: block;
  margin-left: 0.5em;
  line-height: 1;
  color: var(--title-key-color);
}
.active > .faq-switch::after {
  content: "－";
}
.faq-switch > p {
  width: 100%;
}
.faq-head {
  position: relative;
}
@media screen and (min-width: 769px) {
  .faq-head {
    padding: 0.3rem 0 0.3rem 4rem;
  }
}
@media screen and (max-width: 768px) {
  .faq-head {
    padding: 0.8rem 0 0.8rem 7.6rem;
  }
}
.faq-head::before {
  content: "Q";
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  background: var(--title-key-color);
  border-radius: 0.6rem;
  width: 1.75em;
  height: 1.75em;
  left: 0;
  top: 0;
  padding-bottom: 0.25em;
  line-height: 1;
  font-weight: 700;
  color: #fff;
}
@media screen and (min-width: 769px) {
  .faq-head::before {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 768px) {
  .faq-head::before {
    font-size: 3.2rem;
  }
}
@media screen and (min-width: 769px) {
  .faq-head + .faq-body {
    margin-top: 3rem;
  }
}
@media screen and (max-width: 768px) {
  .faq-head + .faq-body {
    margin-top: 4rem;
  }
}
.faq-body {
  position: relative;
}
@media screen and (min-width: 769px) {
  .faq-body {
    padding: 0.6rem 0 0.3rem 4rem;
  }
}
@media screen and (max-width: 768px) {
  .faq-body {
    padding: 1.2rem 0 0.6rem 7.6rem;
  }
}
.faq-body::before {
  content: "A";
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  background: var(--title-key-color);
  border-radius: 0.6rem;
  width: 1.75em;
  height: 1.75em;
  left: 0;
  top: 0;
  padding-bottom: 0.125em;
  line-height: 1;
  font-weight: 700;
  color: #fff;
}
@media screen and (min-width: 769px) {
  .faq-body::before {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 768px) {
  .faq-body::before {
    font-size: 3.2rem;
  }
}

.tab-area {
  box-sizing: border-box;
}
.tab-area * {
  box-sizing: border-box;
}
.tab-area *::before, .tab-area *::after {
  box-sizing: border-box;
}
.tab-head {
  position: relative;
}
.tab-switches {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
.tab-switch {
  display: flex;
  justify-content: center;
  align-items: center;
  background: var(--title-key-color-ash);
  width: 100%;
  font-weight: 700;
  text-align: center;
  box-shadow: 0 5px 7px rgba(0, 0, 0, 0.1);
  cursor: pointer;
}
@media screen and (min-width: 769px) {
  .tab-switch {
    border-radius: 0.273em 0.273em 0 0;
    min-height: 3.046em;
    line-height: 1.455em;
    font-size: 2.2rem;
  }
  .tab-switch > p {
    line-height: inherit;
    font: inherit;
  }
  .tab-switch > p:first-of-type {
    margin-top: -0.227em;
  }
  .tab-switch > p:last-of-type {
    margin-bottom: -0.227em;
  }
}
@media screen and (max-width: 768px) {
  .tab-switch {
    border-radius: 0.286em 0.286em 0 0;
    min-height: 3.215em;
    line-height: 1.429em;
    font-size: 2.8rem;
  }
  .tab-switch > p {
    line-height: inherit;
    font: inherit;
  }
  .tab-switch > p:first-of-type {
    margin-top: -0.214em;
  }
  .tab-switch > p:last-of-type {
    margin-bottom: -0.214em;
  }
  .tab-switch > p {
    transform: scale(1, 1.07);
  }
}
.tab-switch.is-active {
  background: #fff;
  pointer-events: none;
}
@media screen and (min-width: 769px) {
  .tab-switch.is-active {
    border-top: 0.273em solid var(--title-key-color);
  }
}
@media screen and (max-width: 768px) {
  .tab-switch.is-active {
    border-top: 0.286em solid var(--title-key-color);
  }
}
@media screen and (min-width: 769px) {
  .tab-switch + .tab-switch {
    margin-left: 1rem;
  }
}
@media screen and (max-width: 768px) {
  .tab-switch + .tab-switch {
    margin-left: 2rem;
  }
}
.tab-body {
  display: none;
  position: relative;
  background: #fff;
  border-radius: 0 0 1.6rem 1.6rem;
  box-shadow: 0 5px 7px 0 rgba(0, 0, 0, 0.1);
}
.tab-body.is-active {
  display: block;
}
.tab-row {
  padding: 8rem 4rem;
}
.tab-row + .tab-row {
  border-top: 1px solid #dcdcdc;
}

.lower-table01 {
  background: #ccc;
  border-collapse: separate;
  border-spacing: 1px;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .lower-table01-sp {
    padding: 1px;
  }
  .lower-table01-sp > dt {
    position: relative;
    background: #eee;
    padding: 0.907em 0.938em;
    letter-spacing: 0.02em;
    font-weight: 400;
    line-height: 1.5em;
    font-size: 3.2rem;
  }
  .lower-table01-sp > dt > a {
    line-height: inherit;
    font: inherit;
  }
  .lower-table01-sp > dt > a:first-of-type {
    margin-top: -0.25em;
  }
  .lower-table01-sp > dt > a:last-of-type {
    margin-bottom: -0.25em;
  }
  .lower-table01-sp > dt > a {
    display: block;
    cursor: pointer;
  }
  .lower-table01-sp > dt > a::before, .lower-table01-sp > dt > a::after {
    content: "";
    position: absolute;
    background: #333;
    width: 0.688em;
    height: 0.125em;
    right: 0.938em;
    top: 0;
    bottom: 0;
    margin: auto 0;
  }
  .lower-table01-sp > dt > a::after {
    transform: rotateZ(90deg);
  }
  .lower-table01-sp > dt.active > a::after {
    display: none;
  }
  .lower-table01-sp > dt + dd {
    border-top: 1px solid #ccc;
  }
  .lower-table01-sp > dd {
    background: #fff;
  }
  .lower-table01-sp > dd .lower-table01-icon {
    width: 7.4rem;
  }
  .lower-table01-sp > dd + dt {
    margin-top: 1px;
  }
  .lower-table01-sp > dd table {
    width: calc(100% - 6rem);
    margin: 0 3rem;
  }
  .lower-table01-sp > dd table tr + tr {
    border-top: 1px solid #ccc;
  }
  .lower-table01-sp > dd table th {
    background: transparent;
    padding: 0 5rem 0 0;
    text-align: left;
  }
  .lower-table01-sp > dd table th.middle + td {
    width: 20rem;
  }
  .lower-table01-sp > dd table td {
    width: 100%;
    padding: 3rem 0;
  }
  .lower-table01-sp > dd table .lower-table01-text {
    text-align: left;
  }
  .lower-table01-sp.blue01 {
    background: #0d5faf;
    padding: 2px;
  }
  .lower-table01-sp.blue01 > dt {
    background: #0d5faf;
    color: #fff;
  }
  .lower-table01-sp.blue01 > dt + dd {
    border-top: none;
  }
  .lower-table01-sp.blue01 th {
    color: #0d5faf;
  }
  .lower-table01-sp.blue02 {
    background: #00baea;
    padding: 2px;
  }
  .lower-table01-sp.blue02 > dt {
    background: #00baea;
    color: #fff;
  }
  .lower-table01-sp.blue02 > dt + dd {
    border-top: none;
  }
  .lower-table01-sp.blue02 th {
    color: #00baea;
  }
}
@media print {
  .lower-table01 {
    background: transparent;
    border-spacing: 0;
  }
  .lower-table01 thead + tbody tr td {
    border-top: none !important;
  }
}
.lower-table01.bg02 {
  background: #fff;
}
.lower-table01.fixed {
  height: auto;
  overflow: visible;
  table-layout: fixed;
}
@media screen and (min-width: 769px) {
  .lower-table01.flex01 th:nth-of-type(1) {
    width: 38rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-table01.flex01 th:nth-of-type(1) {
    width: 23rem;
  }
}
.lower-table01.flex01 td {
  text-align: left;
}
@media screen and (min-width: 769px) {
  .lower-table01.flex02 th {
    padding: 1.7rem 0;
  }
}
@media screen and (min-width: 769px) {
  .lower-table01.flex02 th:nth-of-type(1) {
    width: 16rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-table01.flex02 th:nth-of-type(1) {
    width: 26rem;
  }
}
.lower-table01.flex02 td {
  text-align: left;
}
@media screen and (min-width: 769px) {
  .lower-table01.wid01 th:nth-of-type(1):nth-last-of-type(1) {
    width: 25.5rem;
  }
  .lower-table01.wid01 th:nth-of-type(1):nth-last-of-type(2) {
    width: 11rem;
  }
  .lower-table01.wid01 th:nth-of-type(2) {
    width: 14.4rem;
  }
}
.lower-table01.blue01 {
  background: #0d5faf;
}
@media screen and (min-width: 769px) {
  .lower-table01.blue01 tr:first-of-type th::after {
    border-top: none;
  }
}
.lower-table01.blue01 th {
  position: relative;
  background: #0d5faf !important;
  color: #fff;
}
@media screen and (min-width: 769px) {
  .lower-table01.blue01 th {
    border-right: 1px solid #fff;
  }
  .lower-table01.blue01 th:last-of-type {
    border-right: none;
  }
  .lower-table01.blue01 th::after {
    content: "";
    position: absolute;
    border-top: 1px solid #fff;
    left: -1px;
    right: -1px;
    top: -1px;
  }
}
@media screen and (min-width: 769px) {
  .lower-table01.blue01 th:empty::after {
    display: none;
  }
  .lower-table01.blue01 th:empty + th::after {
    left: -2px;
  }
}
.lower-table01.blue02 {
  background: #00baea;
}
@media screen and (min-width: 769px) {
  .lower-table01.blue02 tr:first-of-type th::after {
    border-top: none;
  }
}
.lower-table01.blue02 th {
  position: relative;
  background: #00baea !important;
  color: #fff;
}
@media screen and (min-width: 769px) {
  .lower-table01.blue02 th {
    border-right: 1px solid #fff;
  }
  .lower-table01.blue02 th:last-of-type {
    border-right: none;
  }
  .lower-table01.blue02 th::after {
    content: "";
    position: absolute;
    border-top: 1px solid #fff;
    left: -1px;
    right: -1px;
    top: -1px;
  }
}
@media screen and (min-width: 769px) {
  .lower-table01.blue02 th:empty::after {
    display: none;
  }
  .lower-table01.blue02 th:empty + th::after {
    left: -2px;
  }
}
.lower-table01 th {
  background: #eee;
  letter-spacing: 0.02em;
  font-weight: 400;
  text-align: center;
  vertical-align: top;
  word-break: break-all;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .lower-table01 th {
    padding: 2.1rem 3rem;
    line-height: 1.5em;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-table01 th {
    padding: 1.8rem 0;
    line-height: 1.688em;
    font-size: 3.2rem;
  }
}
@media print {
  .lower-table01 th {
    background: transparent;
    border: #ccc solid 1px;
    padding: 10px;
  }
  .lower-table01 th + th {
    border-left: none;
  }
}
.lower-table01 th.left {
  padding-left: 2rem;
  padding-right: 2rem;
  text-align: left;
}
.lower-table01 th.middle {
  vertical-align: middle;
}
@media screen and (min-width: 769px) {
  .lower-table01 th.thin {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }
}
.lower-table01 th em {
  font-size: 1.125em;
  font-style: normal;
}
.lower-table01 td {
  background: #fff;
  text-align: center;
  vertical-align: top;
  word-break: break-all;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .lower-table01 td {
    padding: 2.5rem 3rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-table01 td {
    padding: 1.8rem 2rem;
  }
}
@media print {
  .lower-table01 td {
    background: transparent;
    border: #ccc solid 1px;
    padding: 10px;
  }
  .lower-table01 td + td {
    border-left: none;
  }
}
.lower-table01 td.middle {
  vertical-align: middle;
}
.lower-table01 td.left {
  text-align: left;
}
.lower-table01 td.left .text01-p p + p {
  margin-top: 0.844em;
}
.lower-table01.td_left td {
  text-align: left;
}
@media screen and (min-width: 769px) {
  .lower-table01-icon {
    width: 3.7rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-table01-icon {
    width: 7.4rem;
  }
}
@media screen and (min-width: 769px) {
  .lower-table01-icon + .lower-table01-text {
    padding-top: 0.286em;
  }
}
.lower-table01-text {
  font-weight: 400;
}
@media screen and (min-width: 769px) {
  .lower-table01-text {
    line-height: 1.5em;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-table01-text {
    line-height: 1.715em;
    font-size: 2.8rem;
  }
  .lower-table01-text.sp_center, .lower-table01-text.center {
    text-align: center !important;
  }
}
@media print {
  .lower-table01-text {
    line-height: 1.5em;
    font-size: 1.6rem;
  }
}
@media screen and (min-width: 769px) {
  .lower-table01-sub {
    line-height: 1.65em;
    font-size: 2rem;
  }
  .lower-table01-sub > p {
    line-height: inherit;
    font: inherit;
  }
  .lower-table01-sub > p:first-of-type {
    margin-top: -0.325em;
  }
  .lower-table01-sub > p:last-of-type {
    margin-bottom: -0.325em;
  }
}
@media screen and (max-width: 768px) {
  .lower-table01-sub {
    line-height: 1.563em;
    font-size: 3.2rem;
  }
  .lower-table01-sub > p {
    line-height: inherit;
    font: inherit;
  }
  .lower-table01-sub > p:first-of-type {
    margin-top: -0.281em;
  }
  .lower-table01-sub > p:last-of-type {
    margin-bottom: -0.281em;
  }
}
.lower-table01 + .lower-table01-sub {
  padding-top: 4rem;
}
.lower-table01-sub + .lower-table01 {
  padding-top: 2rem;
}
.lower-table01-aside {
  position: relative;
}
@media screen and (min-width: 769px) {
  .lower-table01-aside .btn-larrow02 {
    position: absolute;
    right: 0;
    top: 0;
  }
}
.lower-table01-aside + .lower-table01 {
  margin-top: 4rem;
}
@media screen and (max-width: 768px) {
  .lower-table01 + .lower-table01 {
    margin-top: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-table01.pc_only + .lower-table01.lower-table01-sp {
    margin-top: 0;
  }
}
@media screen and (min-width: 769px) {
  .lower-table01 + .lnks-wrapper {
    padding-top: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-table01 + .lnks-wrapper {
    padding-top: 6rem;
  }
}
@media screen and (min-width: 769px) {
  .lower-table01 + .btns-wrapper {
    margin-top: 3rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-table01 + .btns-wrapper {
    margin-top: 4rem;
  }
}
.lower-table01 + .dot01-ul {
  padding-top: 4rem;
}
@media screen and (min-width: 769px) {
  .lower-table01 + .kome-ul {
    padding-top: 3rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-table01 + .kome-ul {
    padding-top: 4rem;
  }
}
@media screen and (min-width: 769px) {
  .lower-table01 + .note01-p {
    padding-top: 3rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-table01 + .note01-p {
    padding-top: 4rem;
  }
}
@media print {
  .lower-table01 + .note01-p {
    padding-top: 30px;
  }
}

.table01-dl {
  position: relative;
  background: #ccc;
  padding: 1px;
  box-sizing: border-box;
}
.table01-dl.badge-pop1::after {
  content: "人気No.1";
  position: absolute;
  background-image: url(/giftcard/public/assets/common/img/badge_pop1_ps.png);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  color: transparent;
  pointer-events: none;
}
@media screen and (min-width: 769px) {
  .table01-dl.badge-pop1::after {
    width: 14.2rem;
    height: 14.7rem;
    left: -3.9rem;
    top: -4rem;
  }
}
@media screen and (max-width: 768px) {
  .table01-dl.badge-pop1::after {
    width: 16.2rem;
    height: 16.8rem;
    right: -5.1rem;
    top: -5.6rem;
  }
}
@media screen and (min-width: 769px) {
  .table01-dl.wid02 .table01-dl-dt {
    justify-content: flex-start;
    width: 25.5rem;
    padding-left: 2rem;
    padding-right: 2rem;
    text-align: left;
  }
}
@media screen and (min-width: 769px) {
  .table01-dl.wid03 .table01-dl-dt {
    width: 38rem;
  }
}
@media screen and (max-width: 768px) {
  .table01-dl.wid03 .flex01 .table01-dl-dt {
    width: 19rem;
  }
}
@media screen and (min-width: 769px) {
  .table01-dl-sub {
    line-height: 1.65em;
    font-size: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .table01-dl-sub {
    line-height: 1.5em;
    font-size: 4rem;
  }
}
@media screen and (min-width: 769px) {
  .table01-dl-sub + .table01-dl {
    margin-top: 2.1rem;
  }
}
@media screen and (max-width: 768px) {
  .table01-dl-sub + .table01-dl {
    margin-top: 1rem;
  }
}
.table01-dl-row {
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .table01-dl-row {
    display: flex;
    justify-content: space-between;
  }
}
@media screen and (max-width: 768px) {
  .table01-dl-row.flex01 {
    display: flex;
    justify-content: space-between;
  }
  .table01-dl-row.flex01 .table01-dl-dt {
    flex-shrink: 0;
  }
  .table01-dl-row.flex01 .table01-dl-dd {
    width: 100%;
    margin-top: 0;
    margin-left: 1px;
  }
}
.table01-dl-row + .table01-dl-row {
  margin-top: 1px;
}
.table01-dl-dt {
  background: #eee;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .table01-dl-dt {
    flex-shrink: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 20rem;
    margin-right: 1px;
    padding: 2rem 1rem;
    text-align: center;
  }
}
@media screen and (max-width: 768px) {
  .table01-dl-dt {
    padding: 3rem;
  }
}
.table01-dl-dd {
  background: #fff;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .table01-dl-dd {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 2rem 3rem;
  }
}
@media screen and (max-width: 768px) {
  .table01-dl-dd {
    margin-top: 1px;
    padding: 3rem;
  }
}
.table01-dl-dd.row {
  display: block;
  padding: 0;
}
.table01-dl-dd + .table01-dl-dd {
  border-top: 1px solid #ccc;
}
.table01-dl.mt0 {
  margin-top: 0 !important;
}
.table01-dl.bt0 {
  padding-top: 0;
}
.table01-dl + .table01-dl {
  margin-top: 2rem;
}
.table01-dl + .btns-wrapper {
  margin-top: 4rem;
}
@media screen and (min-width: 769px) {
  .table01-dl + .text01-p {
    margin-top: 3rem;
  }
}
@media screen and (max-width: 768px) {
  .table01-dl + .text01-p {
    margin-top: 4rem;
  }
}
.table01-dl + .note01-p {
  margin-top: 3rem;
}

.table02-dl {
  border: 1px solid #ccc;
  box-sizing: border-box;
}
.table02-dl-sub {
  background: #ccc;
  width: 100%;
  font-weight: 700;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .table02-dl-sub {
    padding: 3rem;
    line-height: 1.2em;
    font-size: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .table02-dl-sub {
    padding: 2.3rem 3rem;
    line-height: 1.35em;
    font-size: 4rem;
  }
}
.table02-dl-row {
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .table02-dl-row {
    display: flex;
  }
  .table02-dl > .table02-dl-row {
    justify-content: space-between;
  }
  .table02-dl > .table02-dl-row.vertcal {
    flex-direction: column;
  }
  .table02-dl > .table02-dl-row.vertcal > .table02-dl-head {
    border-right: none;
    border-bottom: 1px solid #ccc;
    width: 100%;
  }
}
.table02-dl-row + .table02-dl-row {
  border-top: 1px solid #ccc;
}
@media screen and (min-width: 769px) {
  .table02-dl-row + .table02-dl-item {
    padding-top: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .table02-dl-row + .table02-dl-item {
    padding-top: 4rem;
  }
}
@media screen and (min-width: 769px) {
  .table02-dl-row + .table02-dl-note {
    padding-top: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .table02-dl-row + .table02-dl-note {
    padding-top: 4rem;
  }
}
@media screen and (min-width: 769px) {
  .table02-dl-row + .text02-p.error {
    padding-top: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .table02-dl-row + .text02-p.error {
    padding-top: 4rem;
  }
}
.table02-dl-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  background: #eee;
  font-weight: 700;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .table02-dl-head {
    flex-shrink: 0;
    border-right: 1px solid #ccc;
    width: 35rem;
    padding: 3rem 3rem;
    line-height: 1.2em;
    font-size: 2rem;
  }
  .table02-dl-head > p {
    line-height: inherit;
    font: inherit;
  }
  .table02-dl-head > p:first-of-type {
    margin-top: -0.1em;
  }
  .table02-dl-head > p:last-of-type {
    margin-bottom: -0.1em;
  }
}
@media screen and (max-width: 768px) {
  .table02-dl-head {
    border-bottom: 1px solid #ccc;
    padding: 2.5rem 3rem;
    line-height: 1.35em;
    font-size: 4rem;
  }
  .table02-dl-head > p {
    line-height: inherit;
    font: inherit;
  }
  .table02-dl-head > p:first-of-type {
    margin-top: -0.175em;
  }
  .table02-dl-head > p:last-of-type {
    margin-bottom: -0.175em;
  }
}
.table02-dl-head .mrk-required {
  flex-shrink: 0;
}
.table02-dl-head .table02-dl-head {
  border: none;
  width: 100%;
  padding: 0;
}
.table02-dl-head .table02-dl-head + .table02-dl-note {
  padding-top: 1em;
}
.table02-dl-head.horiz {
  flex-direction: column;
  justify-content: flex-start;
}
.table02-dl-head.full {
  width: 100%;
}
.table02-dl-body {
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .table02-dl-body {
    width: 100%;
    padding: 3rem;
  }
}
@media screen and (max-width: 768px) {
  .table02-dl-body {
    padding: 6rem 3rem;
  }
}
@media screen and (min-width: 769px) {
  .table02-dl-body.thick {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }
}
@media screen and (max-width: 768px) {
  .table02-dl-body.thick {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
}
.table02-dl-body.p0 {
  padding: 0;
}
@media screen and (max-width: 768px) {
  .table02-dl-clum .radio01-label {
    display: block;
  }
}
@media screen and (min-width: 769px) {
  .table02-dl-clum + .table02-dl-clum {
    padding-top: 3rem;
  }
}
@media screen and (max-width: 768px) {
  .table02-dl-clum + .table02-dl-clum {
    padding-top: 4rem;
  }
}
@media screen and (min-width: 769px) {
  .table02-dl-clum + .text02-p.error {
    padding-top: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .table02-dl-clum + .text02-p.error {
    padding-top: 4rem;
  }
}
@media screen and (min-width: 769px) {
  .table02-dl-cell {
    padding: 3rem;
  }
}
@media screen and (max-width: 768px) {
  .table02-dl-cell {
    padding: 6rem 3rem;
  }
}
@media screen and (min-width: 769px) {
  .table02-dl-cell.wid01 {
    min-width: 22rem;
  }
}
@media screen and (max-width: 768px) {
  .table02-dl-cell.wid01 {
    width: 50%;
  }
}
.table02-dl-cell + .table02-dl-cell {
  border-left: 1px solid #ccc;
}
.table02-dl-item {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.table02-dl-item.nowrap {
  flex-wrap: nowrap;
}
@media screen and (max-width: 768px) {
  .table02-dl-item > .table02-dl-item {
    margin-top: 0 !important;
  }
  .table02-dl-item > .table02-dl-item:nth-of-type(even) {
    margin-left: 4rem;
  }
  .table02-dl-item > .table02-dl-item:nth-of-type(n+3) {
    margin-top: 4rem !important;
  }
  .table02-dl-item.radio01-list, .table02-dl-item.checkbox01-list {
    margin-top: -3rem;
  }
  .table02-dl-item.radio01-list > label .radio01-row, .table02-dl-item.radio01-list > label .checkbox01-row, .table02-dl-item.checkbox01-list > label .radio01-row, .table02-dl-item.checkbox01-list > label .checkbox01-row {
    min-width: 30rem;
    margin-right: 0;
    margin-top: 3rem;
    text-align: left;
  }
  .table02-dl-item .select01-wrap + .select01-wrap {
    margin-top: 4rem;
  }
}
@media screen and (min-width: 769px) {
  .table02-dl-item + .table02-dl-item {
    margin-left: 3rem;
  }
}
@media screen and (max-width: 768px) {
  .table02-dl-item + .table02-dl-item {
    margin-top: 4rem;
  }
}
@media screen and (min-width: 769px) {
  .table02-dl-item + .table02-dl-note {
    padding-top: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .table02-dl-item + .table02-dl-note {
    padding-top: 4rem;
  }
}
@media screen and (min-width: 769px) {
  .table02-dl-item + .text02-p.error {
    padding-top: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .table02-dl-item + .text02-p.error {
    padding-top: 4rem;
  }
}
.table02-dl-desc {
  width: 100%;
}
.table02-dl-desc > dt {
  letter-spacing: 0.02em;
  line-height: 1;
  font-weight: 700;
}
@media screen and (min-width: 769px) {
  .table02-dl-desc > dt {
    font-size: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .table02-dl-desc > dt {
    font-size: 3.8rem;
  }
}
@media screen and (min-width: 769px) {
  .table02-dl-desc > dt + dd {
    margin-top: 3rem;
  }
}
@media screen and (max-width: 768px) {
  .table02-dl-desc > dt + dd {
    margin-top: 6rem;
  }
}
.table02-dl-desc > dd + dt {
  border-top: 1px solid #ccc;
}
@media screen and (min-width: 769px) {
  .table02-dl-desc > dd + dt {
    margin-top: 3rem;
    padding-top: 3.1rem;
  }
}
@media screen and (max-width: 768px) {
  .table02-dl-desc > dd + dt {
    margin-top: 6rem;
    padding-top: 6.2rem;
  }
}
.table02-dl-text {
  letter-spacing: 0.02em;
  font-weight: 400;
}
@media screen and (min-width: 769px) {
  .table02-dl-text {
    line-height: 1.4em;
    font-size: 2rem;
  }
  .table02-dl-text > p {
    line-height: inherit;
    font: inherit;
  }
  .table02-dl-text > p:first-of-type {
    margin-top: -0.2em;
  }
  .table02-dl-text > p:last-of-type {
    margin-bottom: -0.2em;
  }
}
@media screen and (max-width: 768px) {
  .table02-dl-text {
    line-height: 1.4em;
    font-size: 4rem;
  }
  .table02-dl-text > p {
    line-height: inherit;
    font: inherit;
  }
  .table02-dl-text > p:first-of-type {
    margin-top: -0.2em;
  }
  .table02-dl-text > p:last-of-type {
    margin-bottom: -0.2em;
  }
}
@media screen and (min-width: 769px) {
  .table02-dl-text + .table02-dl-note {
    padding-top: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .table02-dl-text + .table02-dl-note {
    padding-top: 4rem;
  }
}
.table02-dl-note {
  letter-spacing: 0.02em;
  font-weight: 400;
}
@media screen and (min-width: 769px) {
  .table02-dl-note {
    line-height: 2em;
    font-size: 1.4rem;
  }
  .table02-dl-note > p {
    line-height: inherit;
    font: inherit;
  }
  .table02-dl-note > p:first-of-type {
    margin-top: -0.5em;
  }
  .table02-dl-note > p:last-of-type {
    margin-bottom: -0.5em;
  }
}
@media screen and (max-width: 768px) {
  .table02-dl-note {
    line-height: 1.715em;
    font-size: 2.8rem;
  }
  .table02-dl-note > p {
    line-height: inherit;
    font: inherit;
  }
  .table02-dl-note > p:first-of-type {
    margin-top: -0.357em;
  }
  .table02-dl-note > p:last-of-type {
    margin-bottom: -0.357em;
  }
}
.table02-dl-note .icn_pink {
  display: inline-block;
  background: #f9dbec;
  border: 1px solid #ccc;
  margin-right: 0.5em;
  vertical-align: middle;
  transform: translate(0, -5%);
}
@media screen and (min-width: 769px) {
  .table02-dl-note .icn_pink {
    width: 1.858em;
    height: 1.858em;
  }
}
@media screen and (max-width: 768px) {
  .table02-dl-note .icn_pink {
    width: 1.643em;
    height: 1.643em;
  }
}
.table02-dl-note.red01 {
  color: #fc4042;
}
@media screen and (min-width: 769px) {
  .table02-dl-note + .table02-dl-note {
    padding-top: 1.4rem;
  }
}
@media screen and (max-width: 768px) {
  .table02-dl-note + .table02-dl-note {
    padding-top: 2rem;
  }
}
@media screen and (min-width: 769px) {
  .table02-dl-note + .table02-dl-row {
    padding-top: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .table02-dl-note + .table02-dl-row {
    padding-top: 4rem;
  }
}
@media screen and (min-width: 769px) {
  .table02-dl-note + .table02-dl-clum {
    padding-top: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .table02-dl-note + .table02-dl-clum {
    padding-top: 3rem;
  }
}
@media screen and (min-width: 769px) {
  .table02-dl-note + .table02-dl-item {
    padding-top: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .table02-dl-note + .table02-dl-item {
    padding-top: 4rem;
  }
}
@media screen and (min-width: 769px) {
  .text02-p.error + .table02-dl-note {
    padding-top: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .text02-p.error + .table02-dl-note {
    padding-top: 4rem;
  }
}
.table02-dl-checks {
  list-style: none;
  width: 100%;
}
@media screen and (min-width: 769px) {
  .table02-dl-checks {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
@media screen and (min-width: 769px) {
  .table02-dl-checks > li {
    flex-shrink: 0;
    width: 33.3333333333%;
  }
  .table02-dl-checks > li:not(.full):nth-child(3n+2):last-child {
    margin-right: auto;
  }
  .table02-dl-checks > li:nth-child(n+4) {
    margin-top: 3rem;
  }
}
@media screen and (max-width: 768px) {
  .table02-dl-checks > li {
    width: 100%;
  }
  .table02-dl-checks > li + li {
    margin-top: 6rem;
  }
}
.table02-dl-checks > li.full {
  width: 100%;
}
.table02-dl-checks > li .checkbox01-row {
  text-align: left;
}
.table02-dl-checks.masonry {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.table02-dl-checks.masonry > li {
  width: auto;
}
@media screen and (min-width: 769px) {
  .table02-dl-checks.masonry > li {
    margin: 1.5rem 5.5rem 0.5rem 0;
  }
}
@media screen and (max-width: 768px) {
  .table02-dl-checks.masonry > li {
    margin: 2rem 8rem 1rem 0;
  }
}
@media screen and (min-width: 769px) {
  .table02-dl + .kome-ul {
    padding-top: 3rem;
  }
}
@media screen and (max-width: 768px) {
  .table02-dl + .kome-ul {
    padding-top: 4rem;
  }
}

.table03-dl {
  display: flex;
  justify-content: space-between;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .table03-dl {
    background: #ccc;
    padding: 0 1px 1px;
  }
}
@media screen and (max-width: 768px) {
  .table03-dl {
    flex-wrap: wrap;
  }
}
.table03-dl-row {
  padding: 0 !important;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .table03-dl-row {
    display: flex;
    justify-content: space-between;
  }
}
.table03-dl-clm {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .table03-dl-clm {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .table03-dl-clm:nth-of-type(2) {
    width: 26.009%;
  }
  .table03-dl-clm:nth-of-type(3) {
    width: 39.761%;
  }
  .table03-dl-clm:nth-of-type(4) {
    width: 34.23%;
  }
}
@media screen and (min-width: 769px) {
  .table03-dl-clm:not(.table03-dl-sub) {
    margin-left: 1px;
  }
}
@media screen and (max-width: 768px) {
  .table03-dl-clm:not(.table03-dl-sub) {
    background: #eee;
    border-right: 1px solid #ccc;
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
  }
  .table03-dl-clm:not(.table03-dl-sub) .table03-dl-dt {
    padding: 1.8rem 0 1.8rem 1.5rem;
  }
  .table03-dl-clm:not(.table03-dl-sub) .table03-dl-dd {
    background: #fff;
    border-top: 1px solid #ccc;
    height: 100%;
    padding: 1.8rem 0 1.8rem 1.5rem;
  }
}
.table03-dl-clm.full {
  width: 100%;
}
@media screen and (min-width: 769px) {
  .table03-dl-clm.full {
    margin-left: 0;
  }
  .table03-dl-clm.full .table03-dl-dt .text01-p {
    line-height: 1;
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 768px) {
  .table03-dl-clm.full {
    border-left: 1px solid #ccc;
  }
  .table03-dl-clm.full .table03-dl-dt {
    padding: 3rem;
  }
  .table03-dl-clm.full .table03-dl-dd {
    padding: 3rem;
  }
}
.table03-dl-clm.full .table03-dl-dt, .table03-dl-clm.full .table03-dl-dd {
  text-align: left;
}
@media screen and (min-width: 769px) {
  .table03-dl-sub {
    flex-shrink: 0;
    width: 15.2rem;
  }
}
@media screen and (max-width: 768px) {
  .table03-dl-sub {
    width: 100%;
    color: var(--title-key-color);
  }
  .table03-dl-sub .table03-dl-dt {
    display: none;
  }
  .table03-dl-sub .table03-dl-dd {
    padding: 0 0 2rem;
  }
  .table03-dl-sub .hidden_pc {
    display: inline;
  }
  .table03-dl-sub .text01-p {
    display: flex;
    align-items: flex-end;
    font-weight: 700;
  }
  .table03-dl-sub .text01-p::before {
    content: "";
    display: block;
    background: var(--title-key-color);
    border-radius: 50%;
    width: 3rem;
    height: 3rem;
    margin-right: 0.2em;
  }
  .table03-dl-sub + .table03-dl-clm {
    border-left: 1px solid #ccc;
  }
}
@media screen and (min-width: 769px) {
  .table03-dl-dt {
    flex-shrink: 0;
    background: #eee;
    margin-top: 1px;
    padding: 2.5rem 3rem;
    text-align: center;
  }
}
@media screen and (min-width: 769px) {
  .table03-dl-dd {
    background: #fff;
    height: 100%;
    margin-top: 1px;
    padding: 2.5rem 3rem;
    text-align: center;
  }
}
.table03-dl-cell {
  position: relative;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .table03-dl-cell {
    display: flex;
    justify-content: center;
    align-items: center;
  }
}
@media screen and (min-width: 769px) {
  .table03-dl-cell.wid01 {
    flex-shrink: 0;
    width: 38rem;
  }
}
@media screen and (max-width: 768px) {
  .table03-dl-cell.wid01 {
    padding: 4rem 0;
  }
}
@media screen and (min-width: 769px) {
  .table03-dl-cell.wid01 .img-default {
    width: 36.053%;
  }
}
@media screen and (max-width: 768px) {
  .table03-dl-cell.wid01 .img-default {
    width: 27.2rem;
    margin: 0 auto;
  }
}
.table03-dl-cell.wid01 + .table03-dl-cell {
  width: 100%;
}
@media screen and (min-width: 769px) {
  .table03-dl-cell.wid01 + .table03-dl-cell {
    padding: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .table03-dl-cell.wid01 + .table03-dl-cell {
    padding: 4rem 3rem;
  }
}
.table03-dl-cell.wid01 + .table03-dl-cell::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
}
@media screen and (min-width: 769px) {
  .table03-dl-cell.wid01 + .table03-dl-cell::before {
    border-left: 1px solid #ccc;
    bottom: 0;
  }
}
@media screen and (max-width: 768px) {
  .table03-dl-cell.wid01 + .table03-dl-cell::before {
    border-top: 1px solid #ccc;
    right: 0;
  }
}
.table03-dl-cell.wid01 + .table03-dl-cell .desc05-dl {
  width: 100%;
}
@media screen and (min-width: 769px) {
  .table03-dl + .table03-dl .table03-dl-dt {
    display: none;
  }
  .table03-dl + .table03-dl .table03-dl-dd {
    margin-top: 0;
  }
}
@media screen and (max-width: 768px) {
  .table03-dl + .table03-dl {
    margin-top: 4rem;
  }
  .table03-dl + .table03-dl.sticky {
    margin-top: -1px;
  }
  .table03-dl + .table03-dl.sticky .table03-dl-sub {
    display: none;
  }
}
@media screen and (min-width: 769px) {
  .table03-dl + .title-h3 {
    margin-top: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .table03-dl + .title-h3 {
    margin-top: 8rem;
  }
}
@media screen and (min-width: 769px) {
  .table03-dl + .note01-p {
    padding-top: 5rem;
  }
}
@media screen and (max-width: 768px) {
  .table03-dl + .note01-p {
    padding-top: 8rem;
  }
}

.table04-dl {
  position: relative;
  background: var(--title-key-color);
  padding: 2px;
  line-height: 1;
  font-weight: 400;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .table04-dl {
    display: flex;
    justify-content: space-between;
    font-size: 1.6rem;
  }
  .table04-dl > div {
    width: 100%;
  }
  .table04-dl.clm3 > div:nth-child(1), .table04-dl.clm3 > div:nth-child(2) {
    flex-shrink: 0;
    width: 43.208%;
  }
}
@media screen and (max-width: 768px) {
  .table04-dl {
    font-size: 3.2rem;
  }
}
.table04-dl.badge-pop1::after {
  content: "人気No.1";
  position: absolute;
  background-image: url(/giftcard/public/assets/common/img/badge_pop1_ps.png);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  color: transparent;
  pointer-events: none;
}
@media screen and (min-width: 769px) {
  .table04-dl.badge-pop1::after {
    width: 14.2rem;
    height: 14.7rem;
    left: -5.1rem;
    top: -4.6rem;
  }
}
@media screen and (max-width: 768px) {
  .table04-dl.badge-pop1::after {
    width: 16.2rem;
    height: 16.8rem;
    left: -9.1rem;
    top: -7.7rem;
  }
}
.table04-dl-head {
  position: relative;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .table04-dl-head {
    display: flex;
    flex-direction: column;
  }
  .table04-dl-head ~ .table04-dl-body {
    margin-left: 2px;
  }
}
@media screen and (max-width: 768px) {
  .table04-dl-head {
    margin-bottom: 2px;
    padding: 3.6rem 2.8rem;
    letter-spacing: -0.01em;
    color: #fff;
  }
}
@media screen and (max-width: 768px) {
  .table04-dl-head .table04-dl-dt {
    display: none;
  }
}
.table04-dl-body {
  position: relative;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .table04-dl-body {
    display: flex;
    flex-direction: column;
  }
}
@media screen and (max-width: 768px) {
  .table04-dl-body {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #fff;
    padding: 4rem 2.8rem;
  }
  .table04-dl-body + .table04-dl-body {
    margin-top: 1px;
  }
  .table04-dl-body + .table04-dl-body::before {
    content: "";
    display: block;
    position: absolute;
    background: #fff;
    height: 1px;
    left: 0;
    right: 0;
    top: -1px;
  }
  .table04-dl-body + .table04-dl-body::after {
    content: "";
    position: absolute;
    border-top: 1px solid #dcdcdc;
    left: 2.8rem;
    right: 2.8rem;
    top: -1px;
    margin: 0 auto;
  }
}
@media screen and (min-width: 769px) {
  .table04-dl-body .table04-dl-dt::before {
    content: "";
    position: absolute;
    border-left: 2px solid;
    left: -2px;
    top: -2px;
    bottom: 0;
    pointer-events: none;
  }
}
@media screen and (max-width: 768px) {
  .table04-dl-body .table04-dl-dt {
    width: 19rem;
    color: var(--title-key-color);
  }
}
.table04-dl-dt {
  position: relative;
  letter-spacing: 0.02em;
  font-weight: 700;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .table04-dl-dt {
    flex-shrink: 0;
    padding: 2rem;
    text-align: center;
    color: #fff;
  }
}
@media screen and (max-width: 768px) {
  .table04-dl-dt {
    flex-shrink: 0;
  }
}
.table04-dl-dd {
  position: relative;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .table04-dl-dd {
    display: flex;
    justify-content: center;
    align-items: center;
    background: #fff;
    height: 100%;
    padding: 3rem;
    margin-top: 2px;
  }
}
@media screen and (max-width: 768px) {
  .table04-dl-dd {
    width: 100%;
  }
}
@media screen and (min-width: 769px) {
  .table04-dl-dd strong {
    font-size: 3rem;
  }
}
@media screen and (max-width: 768px) {
  .table04-dl-dd strong {
    font-size: 4.4rem;
    line-height: 1.4em;
  }
}
.table04-dl-dd strong.orange01 {
  color: #ff9b0b;
}
.table04-dl-dd strong.orange02 {
  color: #ff6700;
}
.table04-dl-dd strong ~ small {
  display: inline-block;
}
@media screen and (min-width: 769px) {
  .table04-dl-dd strong ~ small {
    margin-top: 1rem;
    font-size: inherit;
  }
}
@media screen and (max-width: 768px) {
  .table04-dl-dd strong ~ small {
    margin-top: 2rem;
    font-size: 2.8rem;
  }
}
@media screen and (min-width: 769px) {
  .table04-dl-dd strong + small {
    margin-top: 0;
  }
}
@media screen and (min-width: 769px) {
  .table04-dl + .table04-dl {
    padding-top: 0;
  }
  .table04-dl + .table04-dl .table04-dl-dt {
    display: none;
  }
  .table04-dl + .table04-dl .table04-dl-dd {
    margin-top: 0;
  }
}
@media screen and (min-width: 769px) {
  .table04-dl + .table01-dl {
    margin-top: 3rem;
  }
}
@media screen and (max-width: 768px) {
  .table04-dl + .table01-dl {
    margin-top: 2rem;
  }
}

.table05-dl {
  background: #ccc;
  padding: 1px;
  box-sizing: border-box;
}
.table05-dl * {
  box-sizing: border-box;
}
.table05-dl *::before, .table05-dl *::after {
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  .table05-head {
    background: #eee;
    padding: 3rem;
  }
}
@media screen and (max-width: 768px) {
  .table05-body {
    background: #fff;
    margin-top: 1px;
    padding: 6rem 3rem;
  }
}
@media screen and (min-width: 769px) {
  .table05-row {
    display: flex;
    justify-content: space-between;
  }
}
@media screen and (min-width: 769px) {
  .table05-row + .table05-row {
    margin-top: 1px;
  }
}
@media screen and (max-width: 768px) {
  .table05-row + .table05-row {
    margin-top: 4rem;
  }
}
@media screen and (min-width: 769px) {
  .table05-row-dt {
    flex-shrink: 0;
    background: #eee;
    width: 35rem;
    padding: 3rem;
  }
}
@media screen and (min-width: 769px) {
  .table05-row-dt + .table05-row-dd {
    margin-left: 1px;
  }
}
@media screen and (max-width: 768px) {
  .table05-row-dt + .table05-row-dd {
    margin-top: 1rem;
  }
}
.table05-row-dd {
  width: 100%;
}
@media screen and (min-width: 769px) {
  .table05-row-dd {
    background: #fff;
    padding: 3rem;
  }
}

@media screen and (min-width: 769px) {
  .table06-wrapper .table06-frame + .text01-p {
    padding-top: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .table06-wrapper .table06-frame + .text01-p {
    padding-top: 4rem;
  }
}
@media screen and (min-width: 769px) {
  .table06-wrapper .table06-frame.wid02 ~ .text01-p {
    padding-left: 8.2rem;
  }
}
.table06-frame {
  background: #ccc;
  border-spacing: 1px;
  border-collapse: separate;
  width: 100%;
  box-sizing: border-box;
}
.table06-frame * {
  box-sizing: border-box;
}
.table06-frame *::before, .table06-frame *::after {
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .table06-frame.wid01 + .table06-frame.wid01 {
    margin-top: -1px;
  }
}
@media screen and (max-width: 768px) {
  .table06-frame.wid01 + .table06-frame.wid01 {
    margin-top: 5rem;
  }
}
@media screen and (max-width: 768px) {
  .table06-frame.wid01 .table06-row {
    display: flex;
    flex-direction: column;
  }
  .table06-frame.wid01 .table06-row > .table06-check {
    order: 10;
    display: block;
    border-top: 1px solid #ccc;
  }
  .table06-frame.wid01 .table06-row > .table06-label {
    display: block;
    background: #eee;
  }
  .table06-frame.wid01 .table06-row + .table06-row {
    border-top: 1px solid #ccc;
  }
}
@media screen and (min-width: 769px) {
  .table06-frame.wid01 .table06-check {
    width: 8.2rem;
    padding-left: 0;
    padding-right: 0;
  }
  .table06-frame.wid01 .table06-check .checkbox01-label {
    width: 1.2em;
    height: 1.2em;
    padding-left: 0;
  }
}
@media screen and (min-width: 769px) {
  .table06-frame.wid02 .table06-check {
    width: 8.2rem;
    padding: 2.9rem 0;
  }
}
@media screen and (max-width: 768px) {
  .table06-frame.wid02 .table06-check {
    padding-top: 3.9rem;
    padding-bottom: 3.9rem;
  }
}
.table06-frame.wid02 .table06-check .checkbox01-label {
  width: 1.2em;
  height: 1.2em;
  padding-left: 0;
}
.table06-frame.wid02 .table06-check + .table06-label {
  background: #eee;
}
@media screen and (min-width: 769px) {
  .table06-frame.wid02 .table06-label {
    padding-top: 2.9rem;
    padding-bottom: 2.9rem;
  }
}
@media screen and (max-width: 768px) {
  .table06-frame.wid02 .table06-label {
    padding-top: 3.9rem;
    padding-bottom: 3.9rem;
  }
}
@media screen and (max-width: 768px) {
  .table06-head {
    display: none;
  }
}
.table06-head .table06-check {
  background: #eee;
}
@media screen and (min-width: 769px) {
  .table06-head .table06-check {
    padding: 1.4rem 0;
  }
}
.table06-head .table06-label {
  background: #eee;
}
@media screen and (min-width: 769px) {
  .table06-head .table06-label {
    padding-top: 1.4rem;
    padding-bottom: 1.4rem;
  }
}
.table06-check {
  position: relative;
  background: #fff;
  text-align: center;
  vertical-align: top;
}
@media screen and (min-width: 769px) {
  .table06-check {
    padding: 3.9rem;
  }
}
@media screen and (max-width: 768px) {
  .table06-check {
    padding: 5.8rem 2.8rem;
  }
}
.table06-check.error {
  background: #fff3f3;
  outline-offset: -1px;
  outline: #fc4042 solid 2px;
}
.table06-label {
  background: #fff;
  vertical-align: top;
}
@media screen and (min-width: 769px) {
  .table06-label {
    padding: 3.9rem;
  }
}
@media screen and (max-width: 768px) {
  .table06-label {
    padding: 5.8rem 2.8rem;
  }
}

.bnrs-ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-content: flex-start;
  align-items: stretch;
}
.bnrs-li {
  float: left;
  display: block;
  list-style: none;
  line-height: 0;
}
@media screen and (min-width: 769px) {
  .bnrs-li {
    width: 19.299%;
  }
  .bnrs-li:nth-of-type(n+6) {
    margin-top: 1rem;
  }
  .bnrs-li:nth-of-type(5n+2):last-of-type {
    margin-left: 0.878%;
    margin-right: auto;
  }
  .bnrs-li:nth-of-type(5n+2):nth-last-of-type(-n+2) {
    margin-left: 0.878%;
  }
  .bnrs-li:nth-of-type(5n+2):nth-last-of-type(-n+2) + .bnrs-li {
    margin-left: 0.878%;
    margin-right: auto;
  }
  .bnrs-li:nth-of-type(5n+2):nth-last-of-type(-n+3) {
    margin-left: 0.878%;
  }
  .bnrs-li:nth-of-type(5n+2):nth-last-of-type(-n+3) + .bnrs-li {
    margin-left: 0.878%;
  }
  .bnrs-li:nth-of-type(5n+2):nth-last-of-type(-n+3) + .bnrs-li + .bnrs-li {
    margin-left: 0.878%;
    margin-right: auto;
  }
}
@media screen and (max-width: 768px) {
  .bnrs-li {
    width: 48.508%;
  }
  .bnrs-li:nth-of-type(n+3) {
    margin-top: 2rem;
  }
}
.bnrs-item {
  display: block;
  line-height: 0;
}

.card01-ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.card01-ul-li {
  display: block;
}
@media screen and (min-width: 769px) {
  .card01-ul-li {
    width: 30.965%;
  }
  .card01-ul-li:nth-of-type(n+4) {
    margin-top: 3.6rem;
  }
  .card01-ul-li:nth-of-type(3n+2) {
    margin-left: 3.553%;
    margin-right: auto;
  }
}
@media screen and (max-width: 768px) {
  .card01-ul-li {
    width: 47.762%;
  }
  .card01-ul-li:nth-of-type(n+3) {
    margin-top: 3.35rem;
  }
}
.card01-ul-link {
  display: block;
  position: relative;
}
@media screen and (min-width: 769px) {
  .card01-ul-link {
    padding-bottom: 6.5rem;
  }
}
.card01-ul-link[data-href]::after {
  content: "";
  position: absolute;
  background-color: rgba(0, 0, 0, 0.4);
  background-image: url(/giftcard/public/assets/common/img/icon_scale02_w.svg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  border-radius: 50%;
}
@media screen and (min-width: 769px) {
  .card01-ul-link[data-href]::after {
    width: 4rem;
    height: 4rem;
    right: 1rem;
    top: 1rem;
  }
}
@media screen and (max-width: 768px) {
  .card01-ul-link[data-href]::after {
    width: 7rem;
    height: 7rem;
    right: 1rem;
    top: 1rem;
  }
}
.card01-ul-thumb {
  line-height: 0;
  text-align: center;
}
@media screen and (min-width: 769px) {
  .card01-ul-thumb {
    position: relative;
  }
}
.card01-ul-thumb img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
@media screen and (-ms-high-contrast: none) {
  .card01-ul-thumb img {
    position: absolute;
    top: 0;
    left: 0;
    width: auto;
    height: auto;
    min-width: 100%;
    min-height: 100%;
    max-width: inherit;
  }
}
.card01-ul-name {
  letter-spacing: 0.02em;
  font-weight: 400;
}
@media screen and (min-width: 769px) {
  .card01-ul-name {
    padding-top: 1.6rem;
    line-height: 1.5em;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 768px) {
  .card01-ul-name {
    padding-top: 1.3rem;
    line-height: 1.465em;
    font-size: 2.8rem;
  }
}
.card01-ul-modal {
  display: none;
}
.card01-ul-image {
  line-height: 0;
  text-align: center;
}
.card01-ul-video {
  position: relative;
  padding: 28.125% 50%;
}
.card01-ul-video iframe {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}
.card01-ul-text {
  letter-spacing: 0.02em;
  font-weight: 400;
}
@media screen and (min-width: 769px) {
  .card01-ul-text {
    padding-top: 1.2rem;
    line-height: 1.5em;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 768px) {
  .card01-ul-text {
    padding: 2.8rem 4rem;
    line-height: 1.715em;
    font-size: 2.8rem;
  }
}
.card01-ul-text strong {
  font-weight: 700;
}
@media screen and (min-width: 769px) {
  .card01-ul-text + .btns-wrapper {
    margin-top: 3rem;
  }
}

.card02-ul {
  list-style: none;
}
@media screen and (min-width: 769px) {
  .card02-ul {
    display: flex;
    justify-content: center;
  }
}
.card02-li {
  display: block;
}
@media screen and (min-width: 769px) {
  .card02-li {
    width: 55rem;
  }
}
@media screen and (min-width: 769px) {
  .card02-li + .card02-li {
    margin-left: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .card02-li + .card02-li {
    margin-top: 6rem;
  }
}
.card02-item {
  background: #fff;
  border-radius: 0 0 1.6rem 1.6rem;
  box-sizing: border-box;
  box-shadow: 0 5px 7px rgba(0, 0, 0, 0.1);
  overflow: hidden;
}
@media screen and (min-width: 769px) {
  .card02-item {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
    padding: 0 0 4rem;
  }
}
@media screen and (max-width: 768px) {
  .card02-item {
    padding: 0 0 6rem;
  }
}
.card02-item.radius {
  overflow: visible;
}
.card02-item.radius .card02-thumb img {
  border-radius: 1.6rem 1.6rem 0 0;
}
@media screen and (min-width: 769px) {
  .card02-item .text01-p {
    flex-shrink: 0;
    padding: 0 2.9rem;
  }
}
@media screen and (max-width: 768px) {
  .card02-item .text01-p {
    padding: 0 4rem;
  }
}
.card02-item .desc07-dl {
  padding: 4rem 3rem 0;
}
@media screen and (max-width: 768px) {
  .card02-item .desc07-dl {
    padding: 0 4rem 0;
  }
}
@media screen and (min-width: 769px) {
  .lead04-p + .card02-item {
    height: calc(100% - 4.5rem);
    margin-top: 2.5rem;
  }
}
@media screen and (max-width: 768px) {
  .lead04-p + .card02-item {
    margin-top: 3rem;
  }
}
.card02-thumb {
  position: relative;
  line-height: 0;
  text-align: center;
}
.card02-thumb.video::after {
  content: "";
  position: absolute;
  background-color: #000;
  background-image: url(/giftcard/public/assets/common/img/icon_play01.png);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  border-radius: 50%;
  width: 8rem;
  height: 8rem;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  opacity: 0.5;
  pointer-events: none;
}
.card02-thumb.search > figcaption {
  position: absolute;
  width: 25.819%;
  right: -4%;
  bottom: -16.369%;
}
@media screen and (max-width: 768px) {
  .card02-thumb.search + .desc07-dl {
    padding-top: 6rem;
  }
}
.card02-title {
  font-weight: 700;
}
@media screen and (min-width: 769px) {
  .card02-title {
    flex-shrink: 0;
    padding: 4rem 2.9rem 3rem;
    line-height: 1.455em;
    font-size: 2.2rem;
  }
  .card02-title > h3 {
    line-height: inherit;
    font: inherit;
  }
  .card02-title > h3:first-of-type {
    margin-top: -0.227em;
  }
  .card02-title > h3:last-of-type {
    margin-bottom: -0.227em;
  }
}
@media screen and (max-width: 768px) {
  .card02-title {
    padding: 6rem 4rem;
    line-height: 1.5em;
    font-size: 4rem;
  }
  .card02-title > h3 {
    line-height: inherit;
    font: inherit;
  }
  .card02-title > h3:first-of-type {
    margin-top: -0.25em;
  }
  .card02-title > h3:last-of-type {
    margin-bottom: -0.25em;
  }
}
.card02-title + .card02-btns {
  padding-top: 0;
}
.card02-btns {
  display: flex;
  align-items: center;
}
@media screen and (min-width: 769px) {
  .card02-btns {
    flex-shrink: 0;
    justify-content: center;
    margin-top: auto;
    padding: 4rem 2.9rem 0;
  }
}
@media screen and (max-width: 768px) {
  .card02-btns {
    flex-direction: column;
    padding: 6rem 0 0;
  }
}
.card02-btns > a {
  border: 1px solid;
  font-weight: 400;
}
@media screen and (min-width: 769px) {
  .card02-btns > a {
    width: 42.728%;
    min-width: auto;
    height: 2.938em;
  }
}
@media screen and (min-width: 769px) {
  .card02-btns > a ~ a {
    margin-left: 2.2rem;
  }
}
@media screen and (max-width: 768px) {
  .card02-btns > a ~ a {
    margin-top: 2rem;
  }
}
.card02-link {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border-radius: 1.6rem;
  color: #fff;
  box-shadow: 0 5px 7px rgba(0, 0, 0, 0.1);
  overflow: hidden;
}
.card02-link.fitness01 {
  background: #0d5faf;
}
.card02-link.kids01 {
  background: #00a1e9;
}
.card02-link.col01 {
  background: #ff9b0b;
}
.card02-link-cap {
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (min-width: 769px) {
  .card02-link-cap {
    padding: 2.35rem 0;
  }
}
@media screen and (max-width: 768px) {
  .card02-link-cap {
    padding: 2.6rem 0;
  }
}
.card02-link-cap::after {
  content: "";
  display: block;
  margin-left: 0.35em;
  transform: rotateZ(45deg);
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .card02-link-cap::after {
    border-right: 0.35rem solid;
    border-top: 0.35rem solid;
    width: 1rem;
    height: 1rem;
  }
}
@media screen and (max-width: 768px) {
  .card02-link-cap::after {
    border-right: 0.5rem solid;
    border-top: 0.5rem solid;
    width: 1.6rem;
    height: 1.6rem;
  }
}

@media screen and (min-width: 769px) {
  .card03-ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
  }
}
.card03-li {
  display: block;
}
@media screen and (min-width: 769px) {
  .card03-li {
    width: 30.393%;
  }
  .card03-li:nth-of-type(n+4) {
    margin-top: 2rem;
  }
  .card03-li:nth-of-type(3n+2):last-of-type {
    margin-left: 4.412%;
    margin-right: auto;
  }
}
@media screen and (max-width: 768px) {
  .card03-li + li {
    margin-top: 2rem;
  }
}
.card03-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  background: #f7f6f5;
  border-radius: 1rem;
}
@media screen and (min-width: 769px) {
  .card03-item {
    min-height: 8rem;
    padding: 0 4rem 0 0;
  }
}
@media screen and (max-width: 768px) {
  .card03-item {
    min-height: 15rem;
    padding: 0 8rem 0 0;
  }
}
.card03-item::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto 0;
  transform: rotateZ(45deg);
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .card03-item::after {
    border-right: 0.3rem solid;
    border-top: 0.3rem solid;
    width: 0.85rem;
    height: 0.85rem;
    right: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .card03-item::after {
    border-right: 0.6rem solid;
    border-top: 0.6rem solid;
    width: 1.6rem;
    height: 1.6rem;
    right: 4rem;
  }
}
.card03-thumb {
  flex-shrink: 0;
  line-height: 0;
}
@media screen and (min-width: 769px) {
  .card03-thumb {
    width: 29.63%;
  }
}
@media screen and (max-width: 768px) {
  .card03-thumb {
    width: 29.412%;
  }
}
.card03-name {
  width: 100%;
  font-weight: 400;
}
@media screen and (min-width: 769px) {
  .card03-name {
    padding: 0 0 0 2rem;
    line-height: 1.5em;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 768px) {
  .card03-name {
    padding: 0 0 0 4rem;
    line-height: 1.7em;
    font-size: 3rem;
  }
}

.card04-ul {
  list-style: none;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .card04-ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
@media screen and (min-width: 769px) {
  .card04-ul.center {
    justify-content: center;
  }
  .card04-ul.center .card04-li:nth-of-type(3n+2), .card04-ul.center .card04-li:nth-of-type(3n) {
    margin-left: 3.553%;
  }
  .card04-ul.center .card04-li:last-of-type {
    margin-right: 0;
  }
}
.card04-ul * {
  box-sizing: border-box;
}
.card04-ul *::before, .card04-ul *::after {
  box-sizing: border-box;
}
.card04-ul + .btns-wrapper {
  margin-top: 10rem;
}
.card04-ol {
  counter-reset: card04;
  list-style: none;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .card04-ol {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
@media screen and (min-width: 769px) {
  .card04-ol.center {
    justify-content: center;
  }
  .card04-ol.center .card04-li:last-of-type {
    margin-right: 0;
  }
}
@media screen and (min-width: 769px) {
  .card04-ol.vertical {
    flex-direction: column;
  }
  .card04-ol.vertical .card04-li {
    width: 100%;
    margin-left: 0 !important;
  }
  .card04-ol.vertical .card04-li + .card04-li {
    margin-top: 8rem;
  }
  .card04-ol.vertical .card04-item .desc04-dl {
    padding-left: 6rem;
    padding-right: 6rem;
  }
}
.card04-ol * {
  box-sizing: border-box;
}
.card04-ol *::before, .card04-ol *::after {
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .card04-li {
    width: 30.965%;
  }
  .card04-li:nth-of-type(n+4) {
    margin-top: 5rem;
  }
  .card04-li:nth-of-type(3n+2):last-of-type {
    margin-left: 3.553%;
    margin-right: auto;
  }
  .card04-ul.pc_clm2 > .card04-li {
    width: 48.114%;
  }
  .card04-ul.pc_clm2 > .card04-li:nth-of-type(2n):last-of-type {
    margin-left: 3.509%;
    margin-right: 0;
  }
  .card04-ul.full > .card04-li {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .card04-li + .card04-li {
    margin-top: 6rem;
  }
}
.card04-ol .card04-li {
  counter-increment: card04;
}
@media screen and (min-width: 769px) {
  .card04-dl {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
  }
}
@media screen and (max-width: 768px) {
  .card04-dl {
    display: block;
  }
}
.card04-dl-dt {
  position: relative;
  background: #fff;
  border-bottom: 1px solid #dcdcdc;
  font-weight: 700;
  text-align: center;
  box-shadow: 0 5px 7px rgba(0, 0, 0, 0.1);
}
@media screen and (min-width: 769px) {
  .card04-dl-dt {
    flex-shrink: 0;
    padding: 1em 0.455em 0.728em;
    line-height: 1.455em;
    font-size: 2.2rem;
  }
  .card04-dl-dt > p {
    line-height: inherit;
    font: inherit;
  }
  .card04-dl-dt > p:first-of-type {
    margin-top: -0.227em;
  }
  .card04-dl-dt > p:last-of-type {
    margin-bottom: -0.227em;
  }
}
@media screen and (max-width: 768px) {
  .card04-dl-dt {
    border-radius: 1.6rem 1.6rem 0 0;
    padding: 0.625em 0.5em;
    line-height: 1.5em;
    font-size: 4rem;
  }
  .card04-dl-dt > p {
    line-height: inherit;
    font: inherit;
  }
  .card04-dl-dt > p:first-of-type {
    margin-top: -0.25em;
  }
  .card04-dl-dt > p:last-of-type {
    margin-bottom: -0.25em;
  }
}
.card04-dl-dt::before {
  content: "";
  position: absolute;
  background: var(--title-key-color);
  border-radius: 0.6rem 0.6rem 0 0;
  height: 0.6rem;
  left: 0;
  right: 0;
  top: 0;
  pointer-events: none;
}
.card04-dl-dt + .card04-dl-dd {
  border-radius: 0 0 1.6rem 1.6rem;
  box-shadow: 0 5px 7px rgba(0, 0, 0, 0.1);
}
@media screen and (min-width: 769px) {
  .card04-dl-dt + .card04-dl-dd {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
  }
}
.card04-dl-dd {
  position: relative;
  background: #fff;
  border-radius: 1.6rem;
  box-shadow: 0 5px 7px rgba(0, 0, 0, 0.07), 0 0 7px rgba(0, 0, 0, 0.07);
}
@media screen and (min-width: 769px) {
  .card04-dl-dd {
    padding: 3rem 3rem 4rem;
  }
  .card04-dl-dd.pc_thin {
    padding: 3rem 4rem 4rem;
  }
}
@media screen and (max-width: 768px) {
  .card04-dl-dd {
    padding: 4rem 4rem 6rem;
  }
}
.card04-dl-btns {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (min-width: 769px) {
  .card04-dl-btns {
    margin-top: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .card04-dl-btns {
    margin-top: 6rem;
  }
}
@media screen and (min-width: 769px) {
  .card04-dl-btns .btn-larrow02 {
    width: 100%;
    height: 4.7rem;
  }
}
@media screen and (max-width: 768px) {
  .card04-dl-btns .btn-larrow02 {
    width: 51rem;
  }
}
@media screen and (min-width: 769px) {
  .card04-dl-btns .btn-larrow02 + .btn-larrow02 {
    margin-top: 1rem;
  }
}
@media screen and (max-width: 768px) {
  .card04-dl-btns .btn-larrow02 + .btn-larrow02 {
    margin-top: 2rem;
  }
}
.card04-dl-row {
  border-bottom: 1px solid #dcdcdc;
}
@media screen and (min-width: 769px) {
  .card04-dl-row {
    padding: 0 0 3rem;
  }
}
@media screen and (max-width: 768px) {
  .card04-dl-row {
    padding: 0 0 4rem;
  }
}
@media screen and (min-width: 769px) {
  .card04-dl-row + .card04-dl-row {
    padding-top: 2.5rem;
  }
}
@media screen and (max-width: 768px) {
  .card04-dl-row + .card04-dl-row {
    padding-top: 3.5rem;
  }
}
.card04-item {
  background: #fff;
  border-radius: 1.6rem;
  height: 100%;
  overflow: hidden;
}
@media screen and (min-width: 769px) {
  .card04-item {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    box-shadow: 0 5px 7px rgba(0, 0, 0, 0.1), 0 0 7px rgba(0, 0, 0, 0.1);
  }
  .card04-ul.line .card04-item {
    border: 2px solid var(--title-key-color);
    box-shadow: none;
  }
}
@media screen and (max-width: 768px) {
  .card04-item {
    display: block;
    box-shadow: 0 0.5rem 0.7rem rgba(0, 0, 0, 0.1), 0 0 0.7rem rgba(0, 0, 0, 0.1);
  }
  .card04-ul.line .card04-item {
    border: 1px solid var(--title-key-color);
    box-shadow: none;
  }
}
.card04-item-thumb {
  line-height: 0;
  text-align: center;
  overflow: hidden;
}
@media screen and (min-width: 769px) {
  .card04-item-thumb {
    flex-shrink: 0;
  }
}
@media screen and (min-width: 769px) {
  .card04-item-desc {
    height: 100%;
    padding: 2.5rem 3rem 4rem;
  }
}
@media screen and (max-width: 768px) {
  .card04-item-desc {
    padding: 5rem 4rem 6rem;
  }
}
.card04-item-desc > dt {
  font-weight: 700;
}
@media screen and (min-width: 769px) {
  .card04-item-desc > dt {
    line-height: 1.455em;
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 768px) {
  .card04-item-desc > dt {
    line-height: 1.5em;
    font-size: 4rem;
  }
}
@media screen and (min-width: 769px) {
  .card04-item-desc > dd {
    padding-top: 2.5rem;
  }
}
@media screen and (max-width: 768px) {
  .card04-item-desc > dd {
    padding-top: 5rem;
  }
}
@media screen and (min-width: 769px) {
  .card04-item-desc-utility01 {
    padding-bottom: 2.5rem;
  }
}
@media screen and (min-width: 769px) {
  .card04-item-desc-utility02 {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-bottom: 2.5rem;
  }
}
@media screen and (min-width: 769px) {
  .card04-item-desc-utility03 {
    display: table-column;
  }
}
.card04-item-desc-utility03 dd {
  padding-top: 0;
}
.card04-item-desc-utility03 .text01-p-utility {
  font-size: 1.4rem;
}
@media screen and (max-width: 768px) {
  .card04-item-desc-utility03 .text01-p-utility {
    font-size: 2.8rem;
  }
}
@media screen and (min-width: 769px) {
  .card04-item .desc04-dl {
    padding: 4rem 2.5rem;
  }
}
@media screen and (max-width: 768px) {
  .card04-item .desc04-dl {
    padding: 6rem 4rem;
  }
}
.card04-index {
  position: relative;
}
@media screen and (min-width: 769px) {
  .card04-index {
    padding-top: 2.5rem;
  }
}
@media screen and (max-width: 768px) {
  .card04-index {
    padding-top: 4rem;
  }
}
.card04-index::before {
  content: counter(card04);
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  background: var(--title-key-color);
  border-radius: 50%;
  width: 1.667em;
  height: 1.667em;
  left: 0;
  right: 0;
  margin: 0 auto;
  line-height: 1;
  text-align: center;
  color: #fff;
  transform: translate(0, -50%);
  pointer-events: none;
}
@media screen and (min-width: 769px) {
  .card04-index::before {
    top: 2.5rem;
    font-size: 3rem;
  }
}
@media screen and (max-width: 768px) {
  .card04-index::before {
    top: 4rem;
    font-size: 6rem;
  }
}
@media screen and (min-width: 769px) {
  .card04-index .card04-item {
    padding-top: 2.5rem;
  }
}
@media screen and (max-width: 768px) {
  .card04-index .card04-item {
    padding-top: 3.5rem;
  }
}

.card05-items {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  list-style: none;
}
@media screen and (min-width: 769px) {
  .card05-items.pc_clm5 > li {
    width: 16.982%;
  }
}
@media screen and (max-width: 768px) {
  .card05-items.sp_clm2 > li {
    width: 48.136%;
  }
  .card05-items.sp_clm2 > li:nth-of-type(n+3) {
    margin-top: 2rem;
  }
}
@media screen and (min-width: 769px) {
  .card05-item {
    width: 22.17%;
  }
}
@media screen and (max-width: 768px) {
  .card05-item {
    width: 47.973%;
  }
}
.card05-item-image {
  background: #f7f6f5;
  text-align: center;
  overflow: hidden;
}
@media screen and (min-width: 769px) {
  .card05-item-image {
    border-radius: 1rem;
    padding: 0.5rem 0 1rem;
  }
}
@media screen and (max-width: 768px) {
  .card05-item-image {
    border-radius: 1.6rem;
    padding: 1.2rem 0;
  }
}
@media screen and (min-width: 769px) {
  .card05-item-image figcaption {
    padding: 0.5rem 0 0;
    line-height: 1.5em;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 768px) {
  .card05-item-image figcaption {
    padding: 1.2rem 0 0;
    line-height: 1.358em;
    font-size: 2.8rem;
  }
}
@media screen and (min-width: 769px) {
  .card05-item-text {
    padding-top: 1.25em;
    line-height: 1.5em;
    font-size: 1.6rem;
  }
  .card05-item-text > p {
    line-height: inherit;
    font: inherit;
  }
  .card05-item-text > p:first-of-type {
    margin-top: -0.25em;
  }
  .card05-item-text > p:last-of-type {
    margin-bottom: -0.25em;
  }
}
@media screen and (max-width: 768px) {
  .card05-item-text {
    padding-top: 0.715em;
    line-height: 1.429em;
    font-size: 2.8rem;
  }
  .card05-item-text > p {
    line-height: inherit;
    font: inherit;
  }
  .card05-item-text > p:first-of-type {
    margin-top: -0.214em;
  }
  .card05-item-text > p:last-of-type {
    margin-bottom: -0.214em;
  }
}

.card06-ul {
  box-sizing: border-box;
}
.card06-ul * {
  box-sizing: border-box;
}
.card06-ul *::before, .card06-ul *::after {
  box-sizing: border-box;
}
.card06-ul:not(.slick-initialized) {
  display: flex;
}
@media screen and (min-width: 769px) {
  .card06-ul:not(.slick-initialized) {
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .card06-ul:not(.slick-initialized).pc_clm3 .card06-li {
    width: 30.965%;
  }
  .card06-ul:not(.slick-initialized).pc_clm3 .card06-li:nth-of-type(3n+2):last-of-type {
    margin-left: 3.553%;
    margin-right: auto;
  }
  .card06-ul:not(.slick-initialized).pc_clm3 .card06-li:nth-of-type(n+4) {
    margin-top: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .card06-ul:not(.slick-initialized) {
    flex-direction: column;
  }
  .card06-ul:not(.slick-initialized) .card06-li + .card06-li {
    margin-top: 4rem;
  }
}
.card06-ul:not(.slick-initialized).clm1 {
  flex-direction: column;
}
.card06-ul:not(.slick-initialized).clm1 .card06-li + .card06-li {
  margin-top: 4rem;
}
.card06-ul.slick-initialized .slick-track {
  display: flex;
}
.card06-ul.slick-initialized .slick-slide {
  float: none;
  height: auto;
  padding-left: 2rem;
  padding-right: 2rem;
}
.card06-ul.slick-initialized .slick-slide .card06-item {
  height: 100%;
}
.card06-ul.slick-initialized .slick-arrow {
  display: flex;
  justify-content: center;
  align-items: center;
  background: rgba(0, 0, 0, 0.5);
  border-radius: 50%;
  width: 8rem;
  height: 8rem;
  z-index: 5;
}
@media screen and (min-width: 769px) {
  .card06-ul.slick-initialized .slick-arrow {
    transform: scale(0.5);
  }
}
.card06-ul.slick-initialized .slick-arrow::before {
  content: "";
  border-right: 0.7rem solid #fff;
  border-top: 0.7rem solid #fff;
  width: 2.4rem;
  height: 2.4rem;
  opacity: 1;
}
.card06-ul.slick-initialized .slick-prev {
  left: -2rem;
  padding-left: 0.4rem;
}
.card06-ul.slick-initialized .slick-prev::before {
  transform: rotate(45deg) scale(-1, -1);
}
.card06-ul.slick-initialized .slick-next {
  right: -2rem;
  padding-right: 0.4rem;
}
.card06-ul.slick-initialized .slick-next::before {
  transform: rotateZ(45deg);
}
.card06-li {
  display: block;
}
@media screen and (min-width: 769px) {
  .card06-li.card06-index {
    padding-top: 3rem;
  }
}
@media screen and (max-width: 768px) {
  .card06-li.card06-index {
    padding-top: 5.8rem;
  }
}
.card06-item {
  position: relative;
  background: #fff;
  border-radius: 1.6rem;
}
@media screen and (min-width: 769px) {
  .card06-item {
    height: 100%;
  }
}
.card06-item::before {
  content: "";
  position: absolute;
  border-radius: 1.6rem;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  pointer-events: none;
}
@media screen and (min-width: 769px) {
  .card06-item::before {
    border: 0.4rem solid var(--title-key-color);
  }
}
@media screen and (max-width: 768px) {
  .card06-item::before {
    border: 0.8rem solid var(--title-key-color);
  }
}
.card06-item-head {
  display: flex;
  justify-content: center;
  align-items: center;
  background: var(--title-key-color);
  border-radius: 1.6rem 1.6rem 0 0;
  color: #fff;
}
@media screen and (min-width: 769px) {
  .card06-item-head {
    padding: 1.6rem 1rem;
    line-height: 1.385em;
    font-size: 2.6rem;
  }
}
@media screen and (max-width: 768px) {
  .card06-item-head {
    padding: 3.2rem 1rem;
    line-height: 1.417em;
    font-size: 4.8rem;
  }
}
.card06-item-head.center {
  text-align: center;
}
.card06-li.card06-index .card06-item-head {
  position: relative;
}
@media screen and (min-width: 769px) {
  .card06-li.card06-index .card06-item-head {
    padding-top: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .card06-li.card06-index .card06-item-head {
    padding-top: 7.8rem;
  }
}
.card06-li.card06-index .card06-item-head::after {
  content: attr(data-card06-index);
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #fff;
  border-radius: 50%;
  left: 0;
  right: 0;
  top: 0;
  margin: 0 auto;
  line-height: 1;
  font-weight: 700;
  color: var(--title-key-color);
  transform: translate(0, -50%);
  pointer-events: none;
}
@media screen and (min-width: 769px) {
  .card06-li.card06-index .card06-item-head::after {
    border: 0.4rem solid var(--title-key-color);
    width: 6rem;
    height: 6rem;
    font-size: 3.2rem;
  }
}
@media screen and (max-width: 768px) {
  .card06-li.card06-index .card06-item-head::after {
    border: 0.8rem solid var(--title-key-color);
    width: 11.4rem;
    height: 11.4rem;
    font-size: 6rem;
  }
}
@media screen and (min-width: 769px) {
  .card06-item-head + .card06-item-body {
    padding-top: 2.5rem;
  }
  .card06-item-head + .card06-item-body.pc_depth {
    padding-top: 4rem;
  }
  .card06-item-head + .card06-item-body.pc_thin {
    padding-left: 6rem;
    padding-right: 6rem;
  }
}
@media screen and (max-width: 768px) {
  .card06-item-head + .card06-item-body {
    padding-top: 5rem;
  }
}
@media screen and (min-width: 769px) {
  .card06-item-body {
    padding: 4rem 2.4rem;
  }
}
@media screen and (max-width: 768px) {
  .card06-item-body {
    padding: 6rem 4rem;
  }
}
.card06-desc-dt + .card06-desc-dd {
  border-top: 1px solid var(--title-key-color-grayish);
}
@media screen and (min-width: 769px) {
  .card06-desc-dt + .card06-desc-dd {
    margin-top: 2.3rem;
    padding-top: 2.4rem;
  }
}
@media screen and (max-width: 768px) {
  .card06-desc-dt + .card06-desc-dd {
    margin-top: 4.8rem;
    padding-top: 5.8rem;
  }
}
.card06-desc-goal {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-weight: 700;
  color: var(--title-key-color);
}
@media screen and (min-width: 769px) {
  .card06-desc-goal {
    min-height: 9rem;
    line-height: 1.5em;
    font-size: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .card06-desc-goal {
    min-height: 16.8rem;
    line-height: 1.556em;
    font-size: 3.6rem;
  }
}
.card06-desc-goal::before {
  content: "目標";
  flex-shrink: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  background: var(--title-key-color);
  border-radius: 50%;
  line-height: 1;
  text-align: center;
  color: #fff;
}
@media screen and (min-width: 769px) {
  .card06-desc-goal::before {
    width: 3em;
    height: 3em;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 768px) {
  .card06-desc-goal::before {
    width: 3.067em;
    height: 3.067em;
    font-size: 3rem;
  }
}
.card06-desc-goal > p {
  width: 100%;
}
@media screen and (min-width: 769px) {
  .card06-desc-goal > p {
    padding-left: 1rem;
  }
}
@media screen and (max-width: 768px) {
  .card06-desc-goal > p {
    padding-left: 2rem;
  }
}

.panel01-ul {
  list-style: none;
  box-sizing: border-box;
}
.panel01-ul * {
  box-sizing: border-box;
}
.panel01-ul::before, .panel01-ul::after {
  box-sizing: border-box;
}
.panel01-ul.gray01 .panel01-li {
  border-top: 1px solid #dcdcdc;
}
.panel01-ul.gray01 .panel01-li:last-of-type {
  border-bottom: 1px solid #dcdcdc;
}
.panel01-ul.gray01 .panel01-li + .panel01-li {
  margin-top: 0;
}
.panel01-ul.gray01 .panel01-item {
  background: #fff;
}
@media screen and (min-width: 769px) {
  .panel01-ul.gray01 .panel01-item {
    padding-bottom: 8rem;
  }
}
@media screen and (max-width: 768px) {
  .panel01-ul.gray01 .panel01-item {
    padding-bottom: 10rem;
  }
}
.panel01-li + .panel01-li {
  margin-top: 4rem;
}
.panel01-item {
  background: #f7f6f5;
}
@media screen and (min-width: 769px) {
  .panel01-item {
    padding: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .panel01-item {
    padding: 6rem 4rem;
  }
}
.panel01-tags {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.panel01-tags > span {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #fff;
  border: 1px solid;
  height: 1.858em;
  margin: 0 1rem 1rem 0;
  padding: 0 0.715em;
  line-height: 1;
  text-align: center;
  color: var(--title-key-color);
  white-space: nowrap;
}
@media screen and (min-width: 769px) {
  .panel01-tags > span {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 768px) {
  .panel01-tags > span {
    font-size: 2.8rem;
  }
}
.panel01-tags > span.fitness01 {
  background: #0d5faf;
  border: none;
  color: #fff;
}
.panel01-tags > span.fitness02 {
  color: #0d5faf;
}
.panel01-tags > span.kids01 {
  background: #00a1e9;
  border: none;
  color: #fff;
}
.panel01-tags > span.kids02 {
  color: #00a1e9;
}
.panel01-tags > span.green01 {
  color: #31c473;
}
.panel01-tags > span.pink01 {
  color: #f97171;
}
.panel01-tags > span.purple01 {
  color: #9e7bd6;
}
.title-h3 + .panel01-tags {
  padding-top: 4rem;
}
.btn-arrow02 + .panel01-tags {
  padding-top: 4rem;
}
.panel01-body {
  padding-top: 3rem;
}
@media screen and (max-width: 768px) {
  .panel01-body .btn-carrow01 {
    width: 15.938em;
    height: 2.75em;
  }
}
.panel01-desc {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  border-top: 1px solid #dcdcdc;
  font-weight: 400;
}
@media screen and (min-width: 769px) {
  .panel01-desc {
    line-height: 1.5em;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 768px) {
  .panel01-desc {
    line-height: 1.688em;
    font-size: 3.2rem;
  }
}
.panel01-desc > dt {
  flex-shrink: 0;
  border-bottom: 1px solid #dcdcdc;
}
@media screen and (min-width: 769px) {
  .panel01-desc > dt {
    width: 11rem;
    padding: 2rem 0 2rem 2rem;
  }
}
@media screen and (max-width: 768px) {
  .panel01-desc > dt {
    width: 15rem;
    padding: 2.8rem 0;
  }
}
.panel01-desc > dd {
  border-bottom: 1px solid #dcdcdc;
}
@media screen and (min-width: 769px) {
  .panel01-desc > dd {
    width: calc(100% - 11rem);
    padding: 2rem 2rem 2rem 0;
  }
}
@media screen and (max-width: 768px) {
  .panel01-desc > dd {
    width: calc(100% - 15rem);
    padding: 2.8rem 0;
  }
}
.panel01-desc > dd a {
  display: inline-block;
  text-decoration: underline;
  color: #0d5faf;
}
.panel01-desc > dd a[target=_blank]::after {
  content: "";
  display: inline-block;
  background-image: url(/giftcard/public/assets/common/img/icon_blank.svg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 1em;
  height: 1em;
  margin-left: 0.3em;
  vertical-align: baseline;
  transform: translate(0, 15%);
}
.panel01-desc > dd em {
  font-size: 1.125em;
  font-weight: bold;
  font-style: normal;
}
.panel01-desc-clmn {
  display: inline-block;
  vertical-align: text-top;
}
.panel01-desc-clmn small {
  font-size: small;
}
.panel01-desc + .btns-wrapper {
  margin-top: 4rem;
}

.panel02-image {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  text-align: center;
}
@media screen and (min-width: 769px) {
  .panel02-image {
    min-height: 30rem;
    padding: 1.6rem 0 1rem;
  }
  .panel02-image.pc_thick {
    min-height: 44.6rem;
  }
  .panel02-image.pc_thick figure {
    height: 12.3rem;
  }
  .panel02-image.pc_thick p {
    font-size: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .panel02-image {
    min-height: 26.2rem;
    padding: 1rem 0 1.2rem;
  }
}
.panel02-image figure {
  line-height: 0;
}
@media screen and (min-width: 769px) {
  .panel02-image figure {
    height: 10.2rem;
  }
}
@media screen and (max-width: 768px) {
  .panel02-image figure {
    height: 10.2rem;
  }
}
.panel02-image figure img {
  width: auto;
  max-height: 100%;
}
.panel02-image p {
  letter-spacing: 0.05em;
  font-weight: 700;
  color: #fff;
}
@media screen and (min-width: 769px) {
  .panel02-image p {
    padding-top: 3.25rem;
    line-height: 1.5em;
    font-size: 3rem;
  }
}
@media screen and (max-width: 768px) {
  .panel02-image p {
    padding-top: 3rem;
    line-height: 1.125em;
    font-size: 3.2rem;
  }
}
.panel02-image.fitness01 {
  background-image: url(/giftcard/public/assets/common/img/beginner/fitness_bg01.png);
}
.panel02-image.fitness02 {
  background-image: url(/giftcard/public/assets/common/img/beginner/fitness_bg01.png);
}
.panel02-image.fitness03 {
  background: #fff;
  color: #0d5faf;
}
.panel02-image.fitness03 p {
  color: #0d5faf;
}
.panel02-image.kids01 {
  background-image: url(/giftcard/public/assets/common/img/beginner/kids_bg01.png);
}
.panel02-image.kids03 {
  background: #fff;
  color: #00a1e9;
}
.panel02-image.kids03 p {
  color: #00a1e9;
}
@media screen and (min-width: 769px) {
  .panel02-image + .num03-ol {
    padding-top: 10rem;
  }
}
@media screen and (max-width: 768px) {
  .panel02-image + .num03-ol {
    padding-top: 8rem;
  }
}
@media screen and (min-width: 769px) {
  .panel02-image + .desc04-dl {
    padding-top: 10rem;
  }
}
@media screen and (max-width: 768px) {
  .panel02-image + .desc04-dl {
    padding-top: 8rem;
  }
}

.panel03-ul {
  display: flex;
}
@media screen and (min-width: 769px) {
  .panel03-ul {
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .panel03-ul .panel03-dl {
    width: 44.737%;
  }
  .panel03-ul .panel03-dl:nth-of-type(n+3) {
    margin-top: 2rem;
  }
  .panel03-ul.pc_wclm2 .panel03-dl {
    width: 48.491%;
  }
  .panel03-ul.pc_wclm2 .panel03-dl:nth-of-type(n+3) {
    margin-top: 3.2rem;
  }
}
@media screen and (max-width: 768px) {
  .panel03-ul {
    flex-direction: column;
  }
  .panel03-ul .panel03-dl:nth-of-type(n+2) {
    margin-top: 4rem;
  }
}
.panel03-dl {
  display: flex;
}
@media screen and (min-width: 769px) {
  .panel03-dl {
    justify-content: space-between;
  }
}
@media screen and (max-width: 768px) {
  .panel03-dl {
    flex-direction: column;
  }
}
.panel03-dl-dt {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  background: var(--title-key-color);
  font-weight: 400;
  color: #fff;
}
@media screen and (min-width: 769px) {
  .panel03-dl-dt {
    justify-content: center;
    border-radius: 1rem 0 0 1rem;
    width: 5.625em;
    min-height: 5em;
    padding: 1.875em 0.5em;
    line-height: 1.5em;
    font-size: 1.6rem;
    text-align: center;
  }
  .panel03-dl-dt > p {
    line-height: inherit;
    font: inherit;
  }
  .panel03-dl-dt > p:first-of-type {
    margin-top: -0.25em;
  }
  .panel03-dl-dt > p:last-of-type {
    margin-bottom: -0.25em;
  }
  .pc_wclm2 .panel03-dl-dt {
    width: 8.125em;
  }
}
@media screen and (max-width: 768px) {
  .panel03-dl-dt {
    border-radius: 1rem 1rem 0 0;
    width: 100%;
    min-height: 2.188em;
    padding: 0.563em 0.782em;
    line-height: 1.688em;
    font-size: 3.2rem;
  }
  .panel03-dl-dt > p {
    line-height: inherit;
    font: inherit;
  }
  .panel03-dl-dt > p:first-of-type {
    margin-top: -0.343em;
  }
  .panel03-dl-dt > p:last-of-type {
    margin-bottom: -0.343em;
  }
}
.panel03-dl-dt em {
  display: inline-block;
  line-height: 1;
  font-style: normal;
}
@media screen and (min-width: 769px) {
  .panel03-dl-dt em {
    font-size: 2.5em;
  }
}
@media screen and (max-width: 768px) {
  .panel03-dl-dt em {
    font-size: 1.563em;
    vertical-align: baseline;
    transform: translate(0, 5%);
  }
}
.panel03-dl-dd {
  background: #fff;
  border: 1px solid var(--title-key-color);
  width: 100%;
}
.panel03-dl-dd.b2 {
  border: 2px solid var(--title-key-color);
}
@media screen and (min-width: 769px) {
  .panel03-dl-dd {
    display: flex;
    flex-direction: column;
    justify-content: center;
    border-left: none;
    border-radius: 0 1rem 1rem 0;
    min-height: 8rem;
    padding: 1.5rem 2rem 1.5rem 1.6rem;
  }
}
@media screen and (max-width: 768px) {
  .panel03-dl-dd {
    border-radius: 0 0 1rem 1rem;
    border-top: none;
    padding: 2rem 2rem 2rem 2.5rem;
  }
}
.panel03-dl-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media screen and (min-width: 769px) {
  .panel03-dl-link {
    line-height: 1.5em;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 768px) {
  .panel03-dl-link {
    line-height: 1.688em;
    font-size: 3.2rem;
  }
}
.panel03-dl-link::after {
  content: "";
  display: block;
  flex-shrink: 0;
  border-right: 0.157em solid var(--title-key-color);
  border-top: 0.157em solid var(--title-key-color);
  width: 0.532em;
  height: 0.532em;
  margin-left: 0.5em;
  transform: rotateZ(45deg);
}

.panel04-ul {
  margin: 0 auto;
  list-style: none;
  box-sizing: border-box;
}
.panel04-ul * {
  box-sizing: border-box;
}
.panel04-ul::before, .panel04-ul::after {
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .panel04-ul.wid01 {
    width: 73rem;
  }
}
@media screen and (min-width: 769px) {
  .panel04-li + .panel04-li {
    margin-top: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .panel04-li + .panel04-li {
    margin-top: 4rem;
  }
}
.panel04-tags {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.panel04-tags > span {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #fff;
  border: 1px solid;
  height: 1.858em;
  margin: 0 1rem 1rem 0;
  padding: 0 0.715em;
  line-height: 1;
  text-align: center;
  color: var(--title-key-color);
  white-space: nowrap;
}
@media screen and (min-width: 769px) {
  .panel04-tags > span {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 768px) {
  .panel04-tags > span {
    font-size: 2.8rem;
  }
}
.panel04-tags > span.fitness01 {
  background: #0d5faf;
  border: none;
  color: #fff;
}
.panel04-tags > span.fitness02 {
  color: #0d5faf;
}
.panel04-tags > span.kids01 {
  background: #00a1e9;
  border: none;
  color: #fff;
}
.panel04-tags > span.kids02 {
  color: #00a1e9;
}
.panel04-tags > span.green01 {
  color: #31c473;
}
.panel04-tags > span.pink01 {
  color: #f97171;
}
.panel04-tags > span.purple01 {
  color: #9e7bd6;
}
.title-h3 + .panel04-tags {
  padding-top: 4rem;
}
.btn-arrow02 + .panel04-tags {
  padding-top: 4rem;
}
.panel04-body {
  padding-top: 3rem;
}
@media screen and (max-width: 768px) {
  .panel04-body .btn-carrow01 {
    width: 15.938em;
    height: 2.75em;
  }
}
.panel04-desc {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  border-top: 1px solid #dcdcdc;
  font-weight: 400;
}
@media screen and (min-width: 769px) {
  .panel04-desc {
    line-height: 1.5em;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 768px) {
  .panel04-desc {
    line-height: 1.688em;
    font-size: 3.2rem;
  }
}
.panel04-desc > dt {
  flex-shrink: 0;
  border-bottom: 1px solid #dcdcdc;
}
@media screen and (min-width: 769px) {
  .panel04-desc > dt {
    width: 11rem;
    padding: 2rem 0 2rem 2rem;
  }
}
@media screen and (max-width: 768px) {
  .panel04-desc > dt {
    width: 15rem;
    padding: 2.8rem 0;
  }
}
.panel04-desc > dd {
  border-bottom: 1px solid #dcdcdc;
}
@media screen and (min-width: 769px) {
  .panel04-desc > dd {
    width: calc(100% - 11rem);
    padding: 2rem 2rem 2rem 0;
  }
}
@media screen and (max-width: 768px) {
  .panel04-desc > dd {
    width: calc(100% - 15rem);
    padding: 2.8rem 0;
  }
}
.panel04-desc > dd a {
  display: inline-block;
  text-decoration: underline;
  color: #0d5faf;
}
.panel04-desc > dd a[target=_blank]::after {
  content: "";
  display: inline-block;
  background-image: url(/giftcard/public/assets/common/img/icon_blank.svg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 1em;
  height: 1em;
  margin-left: 0.3em;
  vertical-align: baseline;
  transform: translate(0, 15%);
}
.panel04-desc > dd em {
  font-size: 1.125em;
  font-weight: bold;
  font-style: normal;
}
.panel04-desc-clmn {
  display: inline-block;
  vertical-align: text-top;
}
.panel04-desc-clmn small {
  font-size: small;
}
.panel04-desc + .btns-wrapper {
  margin-top: 4rem;
}

.row01-ul > li {
  display: block;
  border-bottom: 1px solid #dcdcdc;
}
@media screen and (min-width: 769px) {
  .row01-ul > li {
    padding: 3.5rem 0;
  }
}
@media screen and (max-width: 768px) {
  .row01-ul > li {
    padding: 6rem 0;
  }
}
.row01-ul > li:first-of-type {
  border-top: 1px solid #dcdcdc;
}
.row01-ul > li:first-of-type.nb {
  padding-top: 0;
}
.row01-ul > li.nb {
  border-top: none;
}

.line01-ul {
  display: flex;
}
@media screen and (min-width: 769px) {
  .line01-ul {
    justify-content: space-between;
  }
  .line01-ul.pc_clm3 .line01-li {
    width: 27.552%;
  }
  .line01-ul.pc_clm3 .line01-li:nth-child(3n+2)::before, .line01-ul.pc_clm3 .line01-li:nth-child(3n)::before {
    content: "";
    position: absolute;
    border-left: 1px solid #dcdcdc;
    left: -15.74%;
    top: 0;
    bottom: 0;
  }
}
@media screen and (max-width: 768px) {
  .line01-ul {
    flex-direction: column;
  }
}
.line01-li {
  display: block;
  position: relative;
  list-style: none;
}
@media screen and (max-width: 768px) {
  .line01-li + .line01-li {
    border-top: 1px solid #dcdcdc;
    margin-top: 8rem;
    padding-top: 7.8rem;
  }
  .line01-li + .line01-li .img-caption {
    margin-top: -5rem;
  }
}

.movie-frame {
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .movie-frame {
    max-width: 80rem;
  }
}
@media screen and (max-width: 768px) {
  .movie-frame {
    max-width: 63rem;
  }
}
.movie-wrap {
  position: relative;
  padding: 28.125% 50%;
  box-sizing: border-box;
}
.movie-wrap > iframe {
  position: absolute;
  width: 100% !important;
  height: 100% !important;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}

.img-default {
  line-height: 0;
}
@media screen and (max-width: 768px) {
  .img-default.sp_full img {
    max-width: none;
    margin-left: 50%;
    transform: translate(-50%, 0);
  }
}
.img-default.wid01 {
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .img-default.wid01 {
    max-width: 980px;
  }
}
@media screen and (min-width: 769px) {
  .img-default.wid02 {
    width: 26rem;
  }
  .step02-ol-desc + .img-default.wid02 {
    flex-shrink: 0;
    padding-left: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .step02-ol-desc + .img-default.wid02 {
    padding-top: 4rem;
  }
}
.img-default.wid03 {
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .img-default.wid03 {
    width: 28rem;
  }
}
@media screen and (max-width: 768px) {
  .img-default.wid03 {
    width: 50rem;
  }
}
.img-default.wid04 {
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .img-default.wid04 {
    width: 60.2rem;
  }
}
@media screen and (max-width: 768px) {
  .img-default.wid04 {
    width: 59.4rem;
  }
}
.img-default.wid05 {
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .img-default.wid05 {
    width: 34.5rem;
    margin-top: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .img-default.wid05 {
    width: 100%;
    margin-top: 2rem;
  }
}
@media screen and (min-width: 769px) {
  .img-default.wid06 {
    width: 48.2rem;
  }
}
@media screen and (max-width: 768px) {
  .img-default.wid06 {
    width: 100%;
  }
}
.img-default.wid07 {
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .img-default.wid07 {
    width: 50rem;
  }
}
@media screen and (max-width: 768px) {
  .img-default.wid07 {
    width: 59rem;
  }
}
@media screen and (min-width: 769px) {
  .img-default.wid08 {
    width: 44.8rem;
  }
}
@media screen and (max-width: 768px) {
  .img-default.wid08 {
    width: 100%;
  }
}
.img-default.wid09 {
  margin: 0 auto;
  text-align: center;
}
@media screen and (min-width: 769px) {
  .img-default.wid09 {
    max-width: 980px;
  }
}
.img-default.wid09 img {
  width: auto;
}
.img-default.wid10 {
  text-align: center;
}
@media screen and (min-width: 769px) {
  .img-default.wid10 {
    width: 26rem;
  }
}
@media screen and (max-width: 768px) {
  .img-default.wid10 {
    width: 26rem;
    margin: 0 auto;
  }
}
.img-default.wid10 img {
  width: auto;
}
@media screen and (min-width: 769px) {
  .img-default.wid10 + .desc02-dl {
    padding-left: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .img-default.wid10 + .desc02-dl {
    padding-top: 4rem;
  }
}
.img-default.wid11 {
  height: 135px;
  text-align: center;
}
.img-default.wid11 img {
  width: auto;
  max-height: 100%;
}
.img-default.wid12 {
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .img-default.wid12 {
    max-width: 800px;
  }
}
@media screen and (max-width: 768px) {
  .img-default.wid12 {
    width: 100%;
  }
}
.img-border01 {
  line-height: 0;
  text-align: center;
}
.img-border01 > img {
  border: 1px solid #dcdcdc;
}
.img-caption {
  line-height: 0;
  text-align: center;
}
.img-caption > figcaption {
  line-height: 1;
}
@media screen and (min-width: 769px) {
  .img-caption > figcaption {
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 768px) {
  .img-caption > figcaption {
    font-size: 3.9rem;
  }
}
.img-caption.fitness01 {
  color: #0d5faf;
}
.img-caption.kids01 {
  color: #00a1e9;
}
@media screen and (min-width: 769px) {
  .img-caption.wid01 > img {
    width: 11rem;
  }
}
@media screen and (max-width: 768px) {
  .img-caption.wid01 > img {
    width: 22rem;
  }
}
.img-caption.wid01 > figcaption {
  padding-top: 3rem;
}
.img-caption.wid01 + .text01-p {
  padding-top: 3rem;
}
@media screen and (min-width: 769px) {
  .img-caption.wid02 > img {
    width: 12rem;
  }
}
@media screen and (max-width: 768px) {
  .img-caption.wid02 > img {
    width: 24rem;
  }
}
.img-caption.wid02 > figcaption {
  padding-top: 1rem;
}
@media screen and (min-width: 769px) {
  .img-caption.wid03 > img {
    width: 13.6rem;
  }
}
@media screen and (max-width: 768px) {
  .img-caption.wid03 > img {
    width: 27.2rem;
  }
}
.img-caption.wid03 > figcaption {
  padding-top: 3rem;
}
@media screen and (min-width: 769px) {
  .img-caption.wid03 > figcaption {
    margin: 0 -0.5em;
  }
}
.img-caption.wid03 + .text01-p {
  padding-top: 3rem;
}
.img-tab {
  position: relative;
}
.img-tab-switches {
  position: absolute;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  left: 0;
  right: 0;
  top: 0;
  z-index: 10;
}
.img-tab-switches.bottom {
  align-items: flex-start;
  top: auto;
  bottom: 0;
}
@media screen and (min-width: 769px) {
  .img-tab-switches.size01 .img-tab-switch {
    height: 4.2rem;
  }
  .img-tab-switches.size01 .img-tab-switch.is-active {
    height: 5rem;
  }
}
@media screen and (max-width: 768px) {
  .img-tab-switches.size01 .img-tab-switch {
    height: 8.6rem;
  }
  .img-tab-switches.size01 .img-tab-switch.is-active {
    height: 10rem;
  }
}
.img-tab-switch {
  display: block;
  width: 100%;
  line-height: 1;
  font-size: 0;
  cursor: pointer;
}
.img-tab-switch.is-active {
  pointer-events: none;
}
.img-tab-area {
  display: none;
  position: relative;
}
.img-tab-area.is-active {
  display: block;
}

.box01-dl {
  box-sizing: border-box;
}
.box01-dl * {
  box-sizing: border-box;
}
.box01-dl *::before, .box01-dl *::after {
  box-sizing: border-box;
}
.box01-dt {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background: var(--title-key-color-ash);
  border-top: 2px solid var(--title-key-color);
  border-bottom: 2px solid var(--title-key-color);
  font-weight: 700;
}
@media screen and (min-width: 769px) {
  .box01-dt {
    min-height: 3.067em;
    padding: 0.4em 1.334em;
    line-height: 1.134em;
    font-size: 3rem;
  }
}
@media screen and (max-width: 768px) {
  .box01-dt {
    min-height: 2.75em;
    padding: 0.25em 0.75em;
    line-height: 1.25em;
    font-size: 4rem;
  }
}
.box01-dt.center {
  justify-content: center;
  text-align: center;
}
.box01-dt strong {
  color: var(--title-key-color);
}
.box01-dt small {
  display: inline-block;
}
@media screen and (min-width: 769px) {
  .box01-dt small {
    line-height: 1.134em;
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 768px) {
  .box01-dt small {
    line-height: 1.25em;
    font-size: 3.2rem;
  }
}
.box01-dt small.mb {
  margin-bottom: 0.228em;
}
@media screen and (min-width: 769px) {
  .box01-dd {
    padding: 5rem 0 0;
  }
  .box01-dd.pc_thin {
    padding-left: 4rem;
    padding-right: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .box01-dd {
    padding: 6rem 0 0;
  }
  .box01-dd.sp_thin {
    padding-left: 3rem;
    padding-right: 3rem;
  }
}

.box02-ul {
  display: flex;
}
@media screen and (min-width: 769px) {
  .box02-ul {
    justify-content: space-between;
  }
}
@media screen and (max-width: 768px) {
  .box02-ul {
    flex-direction: column;
  }
}
.box02-ul.wid01 {
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .box02-ul.wid01 {
    width: 76rem;
  }
}
@media screen and (min-width: 769px) {
  .box02-ul.wid01 .box02-li {
    flex-grow: 1;
  }
}
@media screen and (max-width: 768px) {
  .box02-ul.wid01 .box02-li {
    width: 100%;
  }
}
.box02-li {
  display: block;
  list-style: none;
}
@media screen and (min-width: 769px) {
  .box02-li + .box02-li {
    margin-left: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .box02-li + .box02-li {
    margin-top: 4rem;
  }
}
.box02-block {
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .box02-block {
    border-top: 0.6rem solid var(--title-key-color);
    border-radius: 0.6rem 0.6rem 1.6rem 1.6rem;
    padding: 3.4rem 3rem 4rem;
    box-shadow: 0 5px 7px rgba(0, 0, 0, 0.1), 0 0 7px rgba(0, 0, 0, 0.1);
  }
}
@media screen and (max-width: 768px) {
  .box02-block {
    border-top: 0.8rem solid var(--title-key-color);
    border-radius: 0.8rem 0.8rem 1.6rem 1.6rem;
    padding: 5.2rem 4rem 6rem;
    box-shadow: 0 0.5rem 0.7rem rgba(0, 0, 0, 0.1), 0 0 0.7rem rgba(0, 0, 0, 0.1);
  }
  .box02-block.sp_thick {
    padding-left: 0;
    padding-right: 0;
  }
}
.box02-block * {
  box-sizing: border-box;
}
.box02-block *::before, .box02-block *::after {
  box-sizing: border-box;
}

.box03-block {
  position: relative;
  box-sizing: border-box;
}
.box03-block * {
  box-sizing: border-box;
}
.box03-block *::before, .box03-block *::after {
  box-sizing: border-box;
}
.box03-block::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  transform: translate(-50%, 0);
  pointer-events: none;
}
@media screen and (min-width: 769px) {
  .box03-block::before {
    width: 100%;
    height: 0.4rem;
    min-height: 2px;
  }
}
@media screen and (max-width: 768px) {
  .box03-block::before {
    width: 100vw;
    height: 0.8rem;
  }
}
.box03-block.orange01::before {
  background: #f29600;
}
.box03-block.orange01 .box03-head-h3 {
  color: #f29600;
}
.box03-block.green01::before {
  background: #8dc21f;
}
.box03-block.green01 .box03-head-h3 {
  color: #8dc21f;
}
.box03-block.blue01::before {
  background: #009fe8;
}
.box03-block.blue01 .box03-head-h3 {
  color: #009fe8;
}
@media screen and (min-width: 769px) {
  .bg-area-inner > .box03-block:first-of-type {
    margin-top: -8rem;
  }
}
@media screen and (max-width: 768px) {
  .bg-area-inner > .box03-block:first-of-type {
    margin-top: -10rem;
  }
}
.box03-block .img-cover-link {
  display: block;
  position: absolute;
  top: 14.1%;
  left: 49.6%;
  width: 33.2rem;
  height: 13.2rem;
  background: #fff;
  transform: translateX(-50%);
  opacity: 0;
}
@media screen and (max-width: 768px) {
  .box03-block .img-cover-link {
    top: 10%;
    left: 35%;
    width: 41rem;
    height: 17rem;
  }
}
@media screen and (min-width: 769px) {
  .box03-block .img-cover-link:hover {
    opacity: 0.3;
    filter: alpha(opacity=30);
    -ms-filter: "alpha(opacity=30)";
  }
}
.box03-head {
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (min-width: 769px) {
  .box03-head {
    min-height: 38rem;
    padding: 3rem 0;
  }
}
@media screen and (max-width: 768px) {
  .box03-head {
    flex-direction: column;
    min-height: 59rem;
    padding: 3rem 0 2.5rem;
  }
}
.box03-head-h3 {
  font-weight: 900;
  text-align: center;
}
@media screen and (min-width: 769px) {
  .box03-head-h3 {
    line-height: 1.297em;
    font-size: 5.4rem;
  }
}
@media screen and (max-width: 768px) {
  .box03-head-h3 {
    line-height: 1.286em;
    font-size: 7rem;
  }
}
@media screen and (min-width: 769px) {
  .box03-head-h3 + .img-default {
    margin-left: 5rem;
  }
}
@media screen and (max-width: 768px) {
  .box03-head-h3 + .img-default {
    margin-top: 4rem;
  }
}
@media screen and (min-width: 769px) {
  .box03-head .img-default {
    width: 27rem;
  }
}
@media screen and (max-width: 768px) {
  .box03-head .img-default {
    width: 30.695rem;
  }
}
.box03-body + .box03-foot {
  padding-top: 10rem;
}

.box04-dl {
  box-sizing: border-box;
}
.box04-dl *, .box04-dl *::before, .box04-dl *::after {
  box-sizing: border-box;
}
.box04-dl.col01 > dt {
  background: linear-gradient(90deg, #0d50a1, #013b6b);
  color: #fff;
}
.box04-dl.col01 > dd {
  background: #e6f1fc;
  color: #0d3b6b;
}
.box04-dl.wid01 {
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .box04-dl.wid01 {
    max-width: 98rem;
  }
}
@media screen and (max-width: 768px) {
  .box04-dl.wid01 {
    max-width: 67rem;
  }
}
.box04-dl.wid01 > dt {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 1.2rem 1.2rem 0 0;
}
@media screen and (max-width: 768px) {
  .box04-dl.wid01 > dt {
    min-height: 3.438em;
    padding: 0.563em 1em;
    line-height: 1.313em;
    font-size: 3.2rem;
  }
  .box04-dl.wid01 > dt > p {
    line-height: inherit;
    font: inherit;
  }
  .box04-dl.wid01 > dt > p:first-of-type {
    margin-top: -0.156em;
  }
  .box04-dl.wid01 > dt > p:last-of-type {
    margin-bottom: -0.156em;
  }
}
@media screen and (min-width: 769px) {
  .box04-dl.wid01 > dt {
    min-height: 2.917em;
    padding: 0.25em 1em;
    line-height: 1.417em;
    font-size: 2.4rem;
  }
  .box04-dl.wid01 > dt > p {
    line-height: inherit;
    font: inherit;
  }
  .box04-dl.wid01 > dt > p:first-of-type {
    margin-top: -0.208em;
  }
  .box04-dl.wid01 > dt > p:last-of-type {
    margin-bottom: -0.208em;
  }
}
@media screen and (min-width: 769px) {
  .box04-dl.wid01 > dd {
    padding: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .box04-dl.wid01 > dd {
    padding: 6rem 4rem 4rem;
  }
}
.box04-grid {
  display: grid;
}
@media screen and (min-width: 769px) {
  .box04-grid.wid01 {
    justify-content: space-between;
    grid-template-columns: 58.511% 40.107%;
    row-gap: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .box04-grid.wid01 {
    row-gap: 2rem;
  }
}
.box04-grid.wid01 > dt {
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (min-width: 769px) {
  .box04-grid.wid01 > dt h2 {
    width: 33.8rem;
  }
}
@media screen and (max-width: 768px) {
  .box04-grid.wid01 > dt h2 {
    width: 51rem;
  }
}
@media screen and (max-width: 768px) {
  .box04-grid.wid01 > dt + dd {
    padding-top: 3rem;
  }
}
@media screen and (min-width: 769px) {
  .box04-grid.wid01 > dd:nth-child(odd):last-of-type {
    grid-column: 1/3;
  }
  .box04-grid.wid01 > dd .box04-grid {
    height: 100%;
  }
}
.box04-grid.wid01 > dd .note04-p {
  font-weight: 500;
}
@media screen and (min-width: 769px) {
  .box04-grid.wid01 > dd .note04-p + .btns-wrapper {
    padding-top: 1rem;
  }
}
@media screen and (max-width: 768px) {
  .box04-grid.wid01 > dd .note04-p + .btns-wrapper {
    padding-top: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .box04-grid.wid01 > dd .btns-wrapper {
    padding-bottom: 4rem;
  }
}
.box04-grid.wid02 {
  grid-template-columns: repeat(2, 1fr);
  align-content: stretch;
  column-gap: 1px;
  row-gap: 1px;
}
.box04-grid.wid02 .box04-card {
  height: 100%;
}
@media screen and (min-width: 769px) {
  .box04-grid.wid02 .box04-card {
    row-gap: 1rem;
    padding: 1rem 0.3rem;
  }
}
@media screen and (max-width: 768px) {
  .box04-grid.wid02 .box04-card {
    row-gap: 2rem;
    padding: 2rem 0.6rem;
  }
}
.box04-card {
  display: flex;
  flex-direction: column;
  justify-content: space-evenly;
  align-items: center;
  height: 100%;
}
.box04-card > figure img {
  max-height: 100%;
}
.box04-card > h3 {
  display: flex;
  align-items: center;
  position: relative;
  width: 100%;
}
@media screen and (min-width: 769px) {
  .box04-card > h3 {
    min-height: 3.25em;
    padding: 0.563em 1.375em;
    line-height: 2.125em;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 768px) {
  .box04-card > h3 {
    min-height: 4.167em;
    padding: 0.584em 0.834em;
    line-height: 1.5em;
    font-size: 2.4rem;
  }
}
.box04-card > h4 {
  line-height: 1;
  font-weight: 900;
}
@media screen and (min-width: 769px) {
  .box04-card > h4 {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 768px) {
  .box04-card > h4 {
    font-size: 2.8rem;
  }
}
.box04-card > h4 > small {
  font-size: 0.625em;
}
.box04-card[href] > h3 {
  justify-content: space-between;
}
.box04-card[href] > h3::before {
  content: "";
  position: absolute;
  background: #fff;
  border-radius: 50%;
  top: 0;
  bottom: 0;
  margin: auto 0;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .box04-card[href] > h3::before {
    width: 1.5em;
    height: 1.5em;
    right: 1.25em;
  }
}
@media screen and (max-width: 768px) {
  .box04-card[href] > h3::before {
    width: 1.063em;
    height: 1.063em;
    right: 0.875em;
  }
}
.box04-card[href] > h3::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto 0;
  transform: rotateZ(45deg);
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .box04-card[href] > h3::after {
    border-right: 0.188em solid;
    border-top: 0.188em solid;
    width: 0.532em;
    height: 0.532em;
    right: 1.782em;
  }
}
@media screen and (max-width: 768px) {
  .box04-card[href] > h3::after {
    border-right: 0.125em solid;
    border-top: 0.125em solid;
    width: 0.413em;
    height: 0.413em;
    right: 1.25em;
  }
}
.box04-card.col01 {
  background: #fff;
}
.box04-card.col01 > h3::before {
  background: #013b6b;
}
.box04-card.col01 > h3::after {
  color: #fff;
}
.box04-card.col01 > h4 {
  color: #cc0000;
}
@media screen and (max-width: 768px) {
  .box04-card.wid1 {
    min-height: 31.2rem;
  }
}
@media screen and (min-width: 769px) {
  .box04-card.wid1 > figure {
    height: 14rem;
  }
}
@media screen and (max-width: 768px) {
  .box04-card.wid1 > figure {
    height: 20rem;
  }
}
.box04-card.wid1 > figure img {
  object-fit: contain;
  width: 100%;
  height: 100%;
}

.desc01-dl-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .desc01-dl-row {
    padding: 0 3rem;
  }
}
.desc01-dl-head {
  flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .desc01-dl-head {
    padding: 0 5rem 0 0;
  }
}
.desc01-dl-body {
  width: 100%;
}

@media screen and (max-width: 768px) {
  .desc01-table.sp_column .desc01-table-tr {
    display: block;
  }
  .desc01-table.sp_column .desc01-table-tr + .desc01-table-tr {
    padding-top: 6rem;
  }
  .desc01-table.sp_column .desc01-table-th, .desc01-table.sp_column .desc01-table-td {
    display: block;
  }
  .desc01-table.sp_column .desc01-table-th + .desc01-table-th, .desc01-table.sp_column .desc01-table-th + .desc01-table-td, .desc01-table.sp_column .desc01-table-td + .desc01-table-th, .desc01-table.sp_column .desc01-table-td + .desc01-table-td {
    padding-top: 3rem;
  }
}
.desc01-table.full {
  width: 100%;
}
@media screen and (min-width: 769px) {
  .desc01-table-tr + .desc01-table-tr .desc01-table-th, .desc01-table-tr + .desc01-table-tr .desc01-table-td {
    padding-top: 3rem;
  }
}
.desc01-table-th {
  padding: 0;
}
@media screen and (min-width: 769px) {
  .desc01-table-th {
    vertical-align: middle;
  }
  .desc01-table-th.pc_top {
    vertical-align: text-top;
  }
}
@media screen and (min-width: 769px) {
  .desc01-table-th + .desc01-table-td {
    padding-left: 3rem;
  }
}
.desc01-table-td {
  padding: 0;
}
@media screen and (min-width: 769px) {
  .desc01-table-td.pc_full {
    width: 100%;
  }
}
@media screen and (min-width: 769px) {
  .desc01-table.wid01 .desc01-table-th {
    min-width: 25rem;
  }
}

.desc02-dl > dt {
  letter-spacing: 0.02em;
  font-weight: 700;
}
@media screen and (min-width: 769px) {
  .desc02-dl > dt {
    line-height: 1.778em;
    font-size: 1.8rem;
  }
  .desc02-dl > dt > p {
    line-height: inherit;
    font: inherit;
  }
  .desc02-dl > dt > p:first-of-type {
    margin-top: -0.388em;
  }
  .desc02-dl > dt > p:last-of-type {
    margin-bottom: -0.388em;
  }
}
@media screen and (max-width: 768px) {
  .desc02-dl > dt {
    line-height: 1.778em;
    font-size: 3.6rem;
  }
  .desc02-dl > dt > p {
    line-height: inherit;
    font: inherit;
  }
  .desc02-dl > dt > p:first-of-type {
    margin-top: -0.388em;
  }
  .desc02-dl > dt > p:last-of-type {
    margin-bottom: -0.388em;
  }
}
@media screen and (min-width: 769px) {
  .desc02-dl > dt + dd {
    padding-top: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .desc02-dl > dt + dd {
    padding-top: 3rem;
  }
}
@media screen and (min-width: 769px) {
  .desc02-dl > dd + dt {
    padding-top: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .desc02-dl > dd + dt {
    padding-top: 6rem;
  }
}
.desc02-dl-text {
  letter-spacing: 0.02em;
  font-weight: 400;
}
@media screen and (min-width: 769px) {
  .desc02-dl-text {
    line-height: 2em;
    font-size: 1.6rem;
  }
  .desc02-dl-text > p {
    line-height: inherit;
    font: inherit;
  }
  .desc02-dl-text > p:first-of-type {
    margin-top: -0.5em;
  }
  .desc02-dl-text > p:last-of-type {
    margin-bottom: -0.5em;
  }
}
@media screen and (max-width: 768px) {
  .desc02-dl-text {
    line-height: 1.688em;
    font-size: 3.2rem;
  }
  .desc02-dl-text > p {
    line-height: inherit;
    font: inherit;
  }
  .desc02-dl-text > p:first-of-type {
    margin-top: -0.343em;
  }
  .desc02-dl-text > p:last-of-type {
    margin-bottom: -0.343em;
  }
}
@media screen and (min-width: 769px) {
  .desc02-dl-text + .num02-ol {
    padding-top: 1.6rem;
  }
}
@media screen and (max-width: 768px) {
  .desc02-dl-text + .num02-ol {
    padding-top: 2.2rem;
  }
}

.desc02-table {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .desc02-table thead {
    display: none;
  }
}
@media screen and (min-width: 769px) {
  .desc02-table thead th {
    border-bottom: 2px solid #dcdcdc;
    padding-bottom: 1.5rem;
  }
}
.desc02-table tbody {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 769px) {
  .desc02-table tbody {
    row-gap: 4rem;
    margin-top: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .desc02-table tbody {
    row-gap: 8rem;
  }
}
@media screen and (max-width: 768px) {
  .desc02-table tbody tr {
    row-gap: 2.5rem;
  }
}
@media screen and (max-width: 768px) {
  .desc02-table tbody tr + tr {
    border-top: 2px solid #dcdcdc;
    padding-top: 7rem;
  }
}
@media screen and (min-width: 769px) {
  .desc02-table tbody th {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .desc02-table tbody td + th {
    margin-top: 7rem;
  }
  .desc02-table tbody td + th::before {
    content: "";
    border-left: 2rem solid transparent;
    border-right: 2rem solid transparent;
    border-top: 3.4rem solid #333;
    left: 0;
    right: 0;
    top: -4.75rem;
    margin: 0 auto;
    translate: 0 -50%;
  }
}
@media screen and (min-width: 769px) {
  .desc02-table tbody td ~ td::before {
    content: "";
    border-left: 1.8rem solid #333;
    border-top: 1rem solid transparent;
    border-bottom: 1rem solid transparent;
    left: -5rem;
    top: 0;
    bottom: 0;
    margin: auto 0;
    translate: -50% 0;
  }
}
.desc02-table tr {
  display: flex;
}
@media screen and (min-width: 769px) {
  .desc02-table tr {
    column-gap: 10rem;
  }
}
@media screen and (max-width: 768px) {
  .desc02-table tr {
    flex-direction: column;
  }
}
.desc02-table th, .desc02-table td {
  display: block;
  position: relative;
  width: 100%;
}
.desc02-table th::before, .desc02-table td::before {
  position: absolute;
  width: 0;
  height: 0;
  pointer-events: none;
}

.desc03-dl {
  display: flex;
}
@media screen and (min-width: 769px) {
  .desc03-dl {
    justify-content: space-between;
  }
}
.desc03-dl > dt {
  flex-shrink: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  background: var(--title-key-color);
  line-height: 1;
  font-weight: 700;
  color: #fff;
}
@media screen and (min-width: 769px) {
  .desc03-dl > dt {
    width: 5.682em;
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 768px) {
  .desc03-dl > dt {
    width: 5em;
    font-size: 2.4rem;
  }
}
.desc03-dl > dd {
  display: flex;
  align-items: center;
  background: #f7f6f5;
  width: 100%;
  font-weight: 700;
}
@media screen and (min-width: 769px) {
  .desc03-dl > dd {
    padding: 0.584em 0.667em;
    line-height: 1.5em;
    font-size: 3rem;
  }
}
@media screen and (max-width: 768px) {
  .desc03-dl > dd {
    padding: 0.5em 0.5em;
    line-height: 1.5em;
    font-size: 4rem;
  }
}

.desc04-dl {
  counter-reset: desc04;
}
.desc04-dl-reset {
  counter-reset: desc04;
}
.desc04-dl-reset .desc04-dl {
  counter-reset: none;
}
.desc04-dl > dt {
  counter-increment: desc04;
}
@media screen and (min-width: 769px) {
  .desc04-dl > dt {
    line-height: 1.65em;
    font-size: 2rem;
  }
  .desc04-dl > dt > p {
    line-height: inherit;
    font: inherit;
  }
  .desc04-dl > dt > p:first-of-type {
    margin-top: -0.325em;
  }
  .desc04-dl > dt > p:last-of-type {
    margin-bottom: -0.325em;
  }
  .desc04-dl > dt.pc_large {
    line-height: 1.5em;
    font-size: 4rem;
  }
  .desc04-dl > dt.pc_large > p {
    line-height: inherit;
    font: inherit;
  }
  .desc04-dl > dt.pc_large > p:first-of-type {
    margin-top: -0.25em;
  }
  .desc04-dl > dt.pc_large > p:last-of-type {
    margin-bottom: -0.25em;
  }
}
@media screen and (max-width: 768px) {
  .desc04-dl > dt {
    line-height: 1.5em;
    font-size: 4rem;
  }
  .desc04-dl > dt > p {
    line-height: inherit;
    font: inherit;
  }
  .desc04-dl > dt > p:first-of-type {
    margin-top: -0.25em;
  }
  .desc04-dl > dt > p:last-of-type {
    margin-bottom: -0.25em;
  }
}
.desc04-dl > dt.center {
  text-align: center;
}
.desc04-dl > dt.desc04-dl-index > p::after {
  content: "第" counter(desc04) "条";
}
@media screen and (min-width: 769px) {
  .desc04-dl > dt + dt {
    padding-top: 1rem;
  }
}
@media screen and (max-width: 768px) {
  .desc04-dl > dt + dt {
    padding-top: 2rem;
  }
}
@media screen and (min-width: 769px) {
  .desc04-dl > dd {
    padding-top: 3rem;
  }
}
@media screen and (max-width: 768px) {
  .desc04-dl > dd {
    padding-top: 5rem;
  }
}
.desc04-dl > dd.mt0 {
  padding-top: 0;
}
@media screen and (min-width: 769px) {
  .desc04-dl > dd.mt20 {
    padding-top: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .desc04-dl > dd.mt20 {
    padding-top: 4rem;
  }
}
@media screen and (min-width: 769px) {
  .desc04-dl.pc_flex {
    display: flex;
    justify-content: space-between;
  }
}
@media screen and (min-width: 769px) {
  .desc04-dl.pc_flex > dt {
    flex-shrink: 0;
    width: 12rem;
  }
}
@media screen and (min-width: 769px) {
  .desc04-dl.pc_flex > dt + dd {
    padding-top: 0;
  }
}
@media screen and (min-width: 769px) {
  .desc04-dl.pc_flex > dd {
    width: 100%;
  }
}
@media screen and (min-width: 769px) {
  .desc04-dl + .desc04-dl {
    padding-top: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .desc04-dl + .desc04-dl {
    padding-top: 8rem;
  }
}

@media screen and (min-width: 769px) {
  .desc05-dl.wid01 .desc05-dl-dt {
    width: 22rem;
  }
}
@media screen and (min-width: 769px) {
  .desc05-dl-row {
    display: flex;
  }
}
@media screen and (min-width: 769px) {
  .desc05-dl-row + .desc05-dl-row {
    padding-top: 2.6rem;
  }
}
@media screen and (max-width: 768px) {
  .desc05-dl-row + .desc05-dl-row {
    border-top: 1px solid #ccc;
    margin-top: 3.8rem;
    padding-top: 4rem;
  }
}
@media screen and (min-width: 769px) {
  .desc05-dl-dt {
    flex-shrink: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    line-height: 1.5em;
    font-size: 1.6rem;
  }
  .desc05-dl-dt > p {
    line-height: inherit;
    font: inherit;
  }
  .desc05-dl-dt > p:first-of-type {
    margin-top: -0.25em;
  }
  .desc05-dl-dt > p:last-of-type {
    margin-bottom: -0.25em;
  }
  .desc05-dl-dt::after {
    content: "";
    display: block;
    background: #ccc;
    width: 100%;
    height: 1px;
    margin: 0 0.625em;
    box-sizing: border-box;
  }
  .desc05-dl-dt > p {
    flex-shrink: 0;
  }
}
@media screen and (max-width: 768px) {
  .desc05-dl-dt {
    line-height: 1.688em;
    font-size: 3.2rem;
  }
  .desc05-dl-dt > p {
    line-height: inherit;
    font: inherit;
  }
  .desc05-dl-dt > p:first-of-type {
    margin-top: -0.343em;
  }
  .desc05-dl-dt > p:last-of-type {
    margin-bottom: -0.343em;
  }
}
@media screen and (min-width: 769px) {
  .desc05-dl-dd {
    width: 100%;
    line-height: 1.5em;
    font-size: 1.6rem;
  }
  .desc05-dl-dd > p {
    line-height: inherit;
    font: inherit;
  }
  .desc05-dl-dd > p:first-of-type {
    margin-top: -0.25em;
  }
  .desc05-dl-dd > p:last-of-type {
    margin-bottom: -0.25em;
  }
}
@media screen and (max-width: 768px) {
  .desc05-dl-dd {
    padding-top: 0.625em;
    line-height: 1.688em;
    font-size: 3.2rem;
  }
  .desc05-dl-dd > p {
    line-height: inherit;
    font: inherit;
  }
  .desc05-dl-dd > p:first-of-type {
    margin-top: -0.343em;
  }
  .desc05-dl-dd > p:last-of-type {
    margin-bottom: -0.343em;
  }
}

.desc06-dl-dt {
  text-align: center;
}
.desc06-dl-dt + .desc06-dl-dd {
  padding-top: 10rem;
}
.desc06-dl-dd + .desc06-dl-dd {
  padding-top: 10rem;
}
.desc06-dl-title {
  text-align: center;
}
@media screen and (min-width: 769px) {
  .desc06-dl-title {
    line-height: 1.5em;
    font-size: 4rem;
  }
  .desc06-dl-title > p {
    line-height: inherit;
    font: inherit;
  }
  .desc06-dl-title > p:first-of-type {
    margin-top: -0.25em;
  }
  .desc06-dl-title > p:last-of-type {
    margin-bottom: -0.25em;
  }
}
@media screen and (max-width: 768px) {
  .desc06-dl-title {
    line-height: 1.417em;
    font-size: 4.8rem;
  }
  .desc06-dl-title > p {
    line-height: inherit;
    font: inherit;
  }
  .desc06-dl-title > p:first-of-type {
    margin-top: -0.208em;
  }
  .desc06-dl-title > p:last-of-type {
    margin-bottom: -0.208em;
  }
}
@media screen and (min-width: 769px) {
  .desc06-dl-text {
    line-height: 2em;
    font-size: 2rem;
  }
  .desc06-dl-text > p {
    line-height: inherit;
    font: inherit;
  }
  .desc06-dl-text > p:first-of-type {
    margin-top: -0.5em;
  }
  .desc06-dl-text > p:last-of-type {
    margin-bottom: -0.5em;
  }
  .desc06-dl-text.pc_center {
    text-align: center;
  }
}
@media screen and (max-width: 768px) {
  .desc06-dl-text {
    line-height: 2em;
    font-size: 3.2rem;
  }
  .desc06-dl-text > p {
    line-height: inherit;
    font: inherit;
  }
  .desc06-dl-text > p:first-of-type {
    margin-top: -0.5em;
  }
  .desc06-dl-text > p:last-of-type {
    margin-bottom: -0.5em;
  }
}

.desc07-dl > dt {
  border-bottom: 1px solid #dcdcdc;
  padding-bottom: 3rem;
}
@media screen and (max-width: 768px) {
  .desc07-dl > dt {
    padding-bottom: 6rem;
  }
}
.desc07-dl > dt + dd {
  padding-top: 4rem;
}
@media screen and (max-width: 768px) {
  .desc07-dl > dt + dd {
    padding-top: 6rem;
  }
}
.desc07-dl > dd .text06-p + .text06-p {
  padding-top: 3rem;
}
@media screen and (max-width: 768px) {
  .desc07-dl > dd .text06-p + .text06-p {
    padding-top: 4rem;
  }
}
.desc07-dl > dd + dd {
  padding-top: 5rem;
}
@media screen and (max-width: 768px) {
  .desc07-dl > dd + dd {
    padding-top: 6rem;
  }
}

.desc08-dl {
  display: grid;
  justify-content: center;
  align-items: baseline;
}
@media screen and (min-width: 769px) {
  .desc08-dl {
    grid-template-columns: auto auto;
    column-gap: 3rem;
    row-gap: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .desc08-dl {
    grid-template-columns: 100%;
    row-gap: 2rem;
  }
  .desc08-dl > dd + dt {
    padding-top: 6rem;
  }
}

.step01-ol {
  counter-reset: step01;
  display: flex;
  justify-content: center;
  position: relative;
}
.step01-ol > li {
  counter-increment: step01;
  display: flex;
  flex-direction: column;
  position: relative;
  color: #bbb;
}
@media screen and (min-width: 769px) {
  .step01-ol > li {
    max-width: 4.572em;
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 768px) {
  .step01-ol > li {
    max-width: 4.917em;
    font-size: 2.4rem;
  }
}
.step01-ol > li::before {
  content: "";
  position: absolute;
  background: #bbb;
  left: 50%;
  transform: translate(0, -50%);
  pointer-events: none;
}
@media screen and (min-width: 769px) {
  .step01-ol > li::before {
    width: 16rem;
    height: 0.2rem;
    top: 3.1rem;
  }
}
@media screen and (max-width: 768px) {
  .step01-ol > li::before {
    width: 17rem;
    height: 0.4rem;
    top: 5.6rem;
  }
}
.step01-ol > li:last-of-type::before {
  display: none;
}
.step01-ol > li::after {
  content: counter(step01, decimal-leading-zero);
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  background: #fff;
  border: 2px solid;
  border-radius: 50%;
  margin: 0 auto;
  font-weight: 700;
  color: #bbb;
  text-align: center;
}
@media screen and (min-width: 769px) {
  .step01-ol > li::after {
    width: 3em;
    height: 3em;
    font-size: 1.429em;
  }
}
@media screen and (max-width: 768px) {
  .step01-ol > li::after {
    width: 3.056em;
    height: 3.056em;
    font-size: 1.5em;
  }
}
.step01-ol > li p {
  order: 10;
  margin: 0 -100%;
  font-weight: 700;
  text-align: center;
  white-space: nowrap;
}
@media screen and (min-width: 769px) {
  .step01-ol > li p {
    padding-top: 1.3rem;
    line-height: 1.429em;
  }
}
@media screen and (max-width: 768px) {
  .step01-ol > li p {
    padding-top: 2.3rem;
    line-height: 1.25em;
  }
}
@media screen and (max-width: 768px) {
  .step01-ol > li p small {
    font-size: 0.834em;
  }
}
.step01-ol > li.is-current {
  color: #0d5faf;
}
.step01-ol > li.is-current::after {
  background: #0d5faf;
  border-color: #0d5faf;
  color: #fff;
}
@media screen and (min-width: 769px) {
  .step01-ol > li + li {
    margin-left: 10rem;
  }
}
@media screen and (max-width: 768px) {
  .step01-ol > li + li {
    margin-left: 6rem;
  }
}
@media screen and (max-width: 768px) {
  .step01-ol.sp_small > li {
    max-width: 5.4em;
    font-size: 2rem;
  }
  .step01-ol.sp_small > li::before {
    width: 14rem;
  }
  .step01-ol.sp_small > li::after {
    width: 2.778em;
    height: 2.778em;
    font-size: 1.8em;
  }
  .step01-ol.sp_small > li + li {
    margin-left: 4rem;
  }
}
.step01-ol-wrap {
  counter-reset: step01-wrap;
  display: flex;
  justify-content: center;
  position: relative;
}
@media screen and (max-width: 768px) {
  .step01-ol-wrap > .step01-ol > li + li {
    margin-left: 8rem;
  }
}
.step01-ol-wrap > .step01-ol::before {
  content: "";
  display: none;
  position: absolute;
  background: #bbb;
  left: -10%;
  right: -10%;
  transform: translate(0, -50%);
  pointer-events: none;
}
@media screen and (min-width: 769px) {
  .step01-ol-wrap > .step01-ol::before {
    height: 0.2rem;
    top: 3.1rem;
  }
}
@media screen and (max-width: 768px) {
  .step01-ol-wrap > .step01-ol::before {
    height: 0.4rem;
    top: 5.6rem;
  }
}
.step01-ol-wrap > .step01-ol:first-of-type::before {
  left: 10%;
}
.step01-ol-wrap > .step01-ol:last-of-type::before {
  right: 10%;
}
.step01-ol-wrap > .step01-ol > li {
  counter-increment: step01-wrap;
}
.step01-ol-wrap > .step01-ol > li::after {
  content: counter(step01-wrap, decimal-leading-zero);
}
@media screen and (min-width: 769px) {
  .step01-ol-wrap.pc_unwrap {
    column-gap: 10rem;
  }
  .step01-ol-wrap.pc_unwrap > .step01-ol::before {
    display: block;
  }
  .step01-ol-wrap.pc_unwrap > .step01-ol:nth-of-type(n+1):not(:last-of-type)::before {
    right: -20%;
  }
  .step01-ol-wrap.pc_unwrap > .step01-ol:nth-last-of-type(n+1):not(:first-of-type)::before {
    left: -20%;
  }
}
@media screen and (min-width: 769px) {
  .step01-ol-wrap.pc_wrap {
    flex-direction: column;
    row-gap: 1rem;
  }
  .step01-ol-wrap.pc_wrap > .step01-ol {
    margin-left: auto;
    margin-right: auto;
  }
  .step01-ol-wrap.pc_wrap > .step01-ol::before {
    display: block;
  }
  .step01-ol-wrap.pc_wrap > .step01-ol:first-of-type {
    margin-left: 0;
  }
  .step01-ol-wrap.pc_wrap > .step01-ol:last-of-type {
    margin-right: 0;
  }
}
@media screen and (max-width: 768px) {
  .step01-ol-wrap.sp_unwrap {
    column-gap: 8rem;
  }
  .step01-ol-wrap.sp_unwrap > .step01-ol::before {
    display: block;
  }
  .step01-ol-wrap.sp_unwrap > .step01-ol:nth-of-type(n+1):not(:last-of-type)::before {
    right: -20%;
  }
  .step01-ol-wrap.sp_unwrap > .step01-ol:nth-last-of-type(n+1):not(:first-of-type)::before {
    left: -20%;
  }
}
@media screen and (max-width: 768px) {
  .step01-ol-wrap.sp_wrap {
    flex-direction: column;
    row-gap: 2rem;
  }
  .step01-ol-wrap.sp_wrap > .step01-ol {
    margin-left: auto;
    margin-right: auto;
  }
  .step01-ol-wrap.sp_wrap > .step01-ol::before {
    display: block;
  }
  .step01-ol-wrap.sp_wrap > .step01-ol:first-of-type {
    margin-left: 0;
  }
  .step01-ol-wrap.sp_wrap > .step01-ol:last-of-type {
    margin-right: 0;
  }
}

.step02-ol {
  list-style: none;
  counter-reset: step02;
}
.step02-ol > li {
  position: relative;
  counter-increment: step02;
}
.step02-ol > li::before {
  position: absolute;
  left: 0;
  right: 0;
  margin: 0 auto;
  transform: rotateZ(45deg);
  box-sizing: border-box;
  pointer-events: none;
}
@media screen and (min-width: 769px) {
  .step02-ol > li::before {
    border-right: 0.65rem solid #dcdcdc;
    border-bottom: 0.65rem solid #dcdcdc;
    width: 2.15rem;
    height: 2.15rem;
    top: -4.8rem;
  }
}
@media screen and (max-width: 768px) {
  .step02-ol > li::before {
    border-right: 1.15rem solid #dcdcdc;
    border-bottom: 1.15rem solid #dcdcdc;
    width: 4.25rem;
    height: 4.25rem;
    top: -8rem;
  }
}
@media screen and (min-width: 769px) {
  .step02-ol > li + li {
    margin-top: 6.4rem;
  }
}
@media screen and (max-width: 768px) {
  .step02-ol > li + li {
    margin-top: 10rem;
  }
}
.step02-ol > li + li::before {
  content: "";
}
@media screen and (min-width: 769px) {
  .step02-ol-item {
    display: flex;
    justify-content: space-between;
  }
}
.step02-ol-item::before, .step02-ol-item::after {
  flex-shrink: 0;
  display: flex;
  line-height: 1;
  font-weight: 700;
  color: #fff;
  box-sizing: border-box;
  pointer-events: none;
}
@media screen and (min-width: 769px) {
  .step02-ol-item::before, .step02-ol-item::after {
    justify-content: center;
    width: 13rem;
    min-height: 12.8rem;
    text-align: center;
  }
}
@media screen and (max-width: 768px) {
  .step02-ol-item::before, .step02-ol-item::after {
    align-items: flex-end;
    width: 100%;
    height: 7rem;
  }
}
.step02-ol-item::before {
  content: "STEP";
  background: #0d5faf;
}
@media screen and (min-width: 769px) {
  .step02-ol-item::before {
    border-radius: 1rem 0 0 1rem;
    padding-top: 3.1rem;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 768px) {
  .step02-ol-item::before {
    border-radius: 1rem 1rem 0 0;
    padding: 0 0 2rem 4.4rem;
    font-size: 2.4rem;
  }
}
.step02-ol-item::after {
  content: counter(step02);
  position: absolute;
  left: 0;
  top: 0;
}
@media screen and (min-width: 769px) {
  .step02-ol-item::after {
    bottom: 0;
    padding-top: 5.3rem;
    font-size: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .step02-ol-item::after {
    padding: 0 0 1.2rem 11.4rem;
    font-size: 5rem;
  }
}
.step02-ol-body {
  position: relative;
  width: 100%;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .step02-ol-body {
    display: flex;
    justify-content: space-between;
    padding: 3.1rem 2rem 3.1rem 4rem;
  }
}
@media screen and (max-width: 768px) {
  .step02-ol-body {
    padding: 4rem;
  }
}
.step02-ol-body::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  box-sizing: border-box;
  pointer-events: none;
}
@media screen and (min-width: 769px) {
  .step02-ol-body::before {
    border: 2px solid #0d5faf;
    border-radius: 0 1rem 1rem 0;
  }
}
@media screen and (max-width: 768px) {
  .step02-ol-body::before {
    border: 1px solid #0d5faf;
    border-radius: 0 0 1rem 1rem;
  }
}
@media screen and (min-width: 769px) {
  .step02-ol-desc:only-child {
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
}
.step02-ol-desc > dt {
  font-weight: 700;
  color: #0d5faf;
}
@media screen and (min-width: 769px) {
  .step02-ol-desc > dt {
    line-height: 1.2em;
    font-size: 3rem;
  }
  .step02-ol-desc > dt > p {
    line-height: inherit;
    font: inherit;
  }
  .step02-ol-desc > dt > p:first-of-type {
    margin-top: -0.1em;
  }
  .step02-ol-desc > dt > p:last-of-type {
    margin-bottom: -0.1em;
  }
}
@media screen and (max-width: 768px) {
  .step02-ol-desc > dt {
    line-height: 1.209em;
    font-size: 4.8rem;
  }
  .step02-ol-desc > dt > p {
    line-height: inherit;
    font: inherit;
  }
  .step02-ol-desc > dt > p:first-of-type {
    margin-top: -0.104em;
  }
  .step02-ol-desc > dt > p:last-of-type {
    margin-bottom: -0.104em;
  }
}
@media screen and (min-width: 769px) {
  .step02-ol-desc > dt + dd {
    padding-top: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .step02-ol-desc > dt + dd {
    padding-top: 3rem;
  }
}
@media screen and (min-width: 769px) {
  .step02-ol-desc > dd .text01-p + .kome-ul {
    padding-top: 0.8rem;
  }
}
@media screen and (max-width: 768px) {
  .step02-ol-desc > dd .text01-p + .kome-ul {
    padding-top: 2.2rem;
  }
}

.step03-ol {
  list-style: none;
  counter-set: step03;
  box-sizing: border-box;
}
.step03-ol * {
  box-sizing: border-box;
}
.step03-ol *::before, .step03-ol *::after {
  box-sizing: border-box;
}
.step03-li {
  counter-increment: step03;
}
.step03-li + .step03-li {
  margin-top: 10rem;
}
.step03-item-head {
  display: flex;
  align-items: center;
  background: var(--title-key-color-ash);
  border-top: 2px solid var(--title-key-color);
  border-bottom: 2px solid var(--title-key-color);
  font-weight: 700;
}
@media screen and (min-width: 769px) {
  .step03-item-head {
    min-height: 3.134em;
    padding: 0.334em 0.834em;
    line-height: 1.1em;
    font-size: 3rem;
  }
  .step03-item-head > p {
    line-height: inherit;
    font: inherit;
  }
  .step03-item-head > p:first-of-type {
    margin-top: -0.05em;
  }
  .step03-item-head > p:last-of-type {
    margin-bottom: -0.05em;
  }
}
@media screen and (max-width: 768px) {
  .step03-item-head {
    min-height: 2.95em;
    padding: 0.5em;
    line-height: 1.25em;
    font-size: 4rem;
  }
  .step03-item-head > p {
    line-height: inherit;
    font: inherit;
  }
  .step03-item-head > p:first-of-type {
    margin-top: -0.125em;
  }
  .step03-item-head > p:last-of-type {
    margin-bottom: -0.125em;
  }
}
.step03-item-head::before {
  content: counter(step03);
  flex-shrink: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  background: var(--title-key-color);
  border-radius: 50%;
  line-height: 1;
  color: #fff;
  text-align: center;
}
@media screen and (min-width: 769px) {
  .step03-item-head::before {
    width: 1.667em;
    height: 1.667em;
  }
}
@media screen and (max-width: 768px) {
  .step03-item-head::before {
    width: 1.75em;
    height: 1.75em;
  }
}
.step03-item-head > p {
  width: 100%;
}
@media screen and (min-width: 769px) {
  .step03-item-head > p {
    padding-left: 0.667em;
  }
}
@media screen and (max-width: 768px) {
  .step03-item-head > p {
    padding-left: 0.5em;
  }
}
@media screen and (min-width: 769px) {
  .step03-item-body {
    padding: 5rem 4rem 0;
  }
}
@media screen and (max-width: 768px) {
  .step03-item-body {
    padding: 6rem 4rem 0;
  }
}
.step03-item-body .text02-p + .text01-p {
  padding-top: 4rem;
}
.step03-item-body .text01-p + .step03-item-list {
  padding-top: 4rem;
}
.step03-item-list {
  list-style: none;
}
.step03-item-list > li {
  position: relative;
}
@media screen and (min-width: 769px) {
  .step03-item-list > li + li {
    margin-top: 7rem;
  }
}
@media screen and (max-width: 768px) {
  .step03-item-list > li + li {
    margin-top: 8rem;
  }
}
.step03-item-list.flex {
  display: flex;
}
@media screen and (min-width: 769px) {
  .step03-item-list.flex {
    justify-content: space-between;
  }
}
@media screen and (max-width: 768px) {
  .step03-item-list.flex {
    flex-direction: column;
  }
}
@media screen and (min-width: 769px) {
  .step03-item-list.flex > li {
    width: 100%;
  }
}
@media screen and (min-width: 769px) {
  .step03-item-list.flex > li + li {
    margin-top: 0;
    margin-left: 4rem;
  }
}
.step03-item-list.flex > li .img-default + .desc04-dl {
  margin-top: 2rem;
}
.step03-item-flow {
  list-style: none;
}
.step03-item-flow > li {
  position: relative;
}
@media screen and (min-width: 769px) {
  .step03-item-flow > li + li {
    margin-top: 10rem;
  }
}
@media screen and (max-width: 768px) {
  .step03-item-flow > li + li {
    margin-top: 16rem;
  }
}
.step03-item-flow > li + li::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  margin: 0 auto;
  transform: rotateZ(45deg);
  pointer-events: none;
}
@media screen and (min-width: 769px) {
  .step03-item-flow > li + li::before {
    border-right: 0.7rem solid #dcdcdc;
    border-bottom: 0.7rem solid #dcdcdc;
    width: 2.15rem;
    height: 2.15rem;
    top: -7rem;
  }
}
@media screen and (max-width: 768px) {
  .step03-item-flow > li + li::before {
    border-right: 1.1rem solid #dcdcdc;
    border-bottom: 1.1rem solid #dcdcdc;
    width: 4.25rem;
    height: 4.25rem;
    top: -11rem;
  }
}

.step04-ol {
  counter-reset: step04;
  position: relative;
  box-sizing: border-box;
}
.step04-ol::before {
  content: "";
  position: absolute;
  background: var(--title-key-color-light);
  pointer-events: none;
}
@media screen and (min-width: 769px) {
  .step04-ol::before {
    width: 1rem;
    left: 6.5rem;
    top: 2rem;
    bottom: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .step04-ol::before {
    width: 1.2rem;
    left: 4rem;
    top: 2.6rem;
    bottom: 2.6rem;
  }
}
.step04-ol * {
  box-sizing: border-box;
}
.step04-ol *::before, .step04-ol *::after {
  box-sizing: border-box;
}
.step04-li {
  counter-increment: step04;
  list-style: none;
  display: flex;
  justify-content: space-between;
  position: relative;
}
@media screen and (max-width: 768px) {
  .step04-li {
    flex-direction: column;
  }
}
@media screen and (min-width: 769px) {
  .step04-li + .step04-li {
    margin-top: 6rem;
  }
}
@media screen and (max-width: 768px) {
  .step04-li + .step04-li {
    margin-top: 7rem;
  }
}
.step04-li-sub {
  flex-shrink: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  background: var(--title-key-color);
  line-height: 1;
  font-weight: 700;
  text-align: center;
  color: #fff;
}
@media screen and (min-width: 769px) {
  .step04-li-sub {
    border-radius: 4rem;
    width: 14rem;
    height: 4rem;
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 768px) {
  .step04-li-sub {
    border-radius: 5.2rem;
    width: 18rem;
    height: 5.2rem;
    font-size: 2.8rem;
  }
}
@media screen and (min-width: 769px) {
  .step04-li-sub + .step04-dl {
    padding-left: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .step04-li-sub + .step04-dl {
    padding-left: 9rem;
    padding-top: 4rem;
  }
}
.step04-dl {
  width: 100%;
}
.step04-dl-dt {
  color: var(--title-key-color);
}
@media screen and (min-width: 769px) {
  .step04-dl-dt {
    line-height: 1.455em;
    font-size: 2.2rem;
  }
  .step04-dl-dt > p {
    line-height: inherit;
    font: inherit;
  }
  .step04-dl-dt > p:first-of-type {
    margin-top: -0.227em;
  }
  .step04-dl-dt > p:last-of-type {
    margin-bottom: -0.227em;
  }
}
@media screen and (max-width: 768px) {
  .step04-dl-dt {
    line-height: 1.25em;
    font-size: 4rem;
  }
  .step04-dl-dt > p {
    line-height: inherit;
    font: inherit;
  }
  .step04-dl-dt > p:first-of-type {
    margin-top: -0.125em;
  }
  .step04-dl-dt > p:last-of-type {
    margin-bottom: -0.125em;
  }
}
@media screen and (min-width: 769px) {
  .step04-dl-dt + .step04-dl-dd {
    padding-top: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .step04-dl-dt + .step04-dl-dd {
    padding-top: 3rem;
  }
}

.num01-ol {
  counter-reset: num01;
  font-weight: 400;
}
@media screen and (min-width: 769px) {
  .num01-ol {
    line-height: 2em;
    font-size: 1.6rem;
  }
  .num01-ol > li {
    line-height: inherit;
    font: inherit;
  }
  .num01-ol > li:first-of-type {
    margin-top: -0.5em;
  }
  .num01-ol > li:last-of-type {
    margin-bottom: -0.5em;
  }
}
@media screen and (max-width: 768px) {
  .num01-ol {
    line-height: 1.688em;
    font-size: 3.2rem;
  }
  .num01-ol > li {
    line-height: inherit;
    font: inherit;
  }
  .num01-ol > li:first-of-type {
    margin-top: -0.343em;
  }
  .num01-ol > li:last-of-type {
    margin-bottom: -0.343em;
  }
}
.num01-ol.wrap > li {
  flex-wrap: wrap;
}
.num01-ol.wrap > li > *:first-of-type {
  width: calc(100% - 1.2em);
}
.num01-ol.mt01 > li + li {
  margin-top: 0 !important;
  padding-top: 3rem;
}
.num01-ol.mt02 > li + li {
  margin-top: 0 !important;
  padding-top: 1em;
}
.num01-ol > li {
  counter-increment: num01;
  display: flex;
}
.num01-ol > li::before {
  content: counter(num01) ".";
  flex-shrink: 0;
  display: block;
  margin-right: 0.2em;
}
@media screen and (max-width: 768px) {
  .num01-ol > li + li {
    margin-top: 4rem;
  }
}
.num01-ol > li em {
  font-style: normal;
  text-decoration: underline;
}
.num01-ol > li a.blue01 {
  color: #0d5faf;
}
.num01-ol > li a.blue02 {
  color: #00a1e9;
}
.num01-ol > li a:hover {
  text-decoration: underline;
}
@media screen and (min-width: 769px) {
  .num01-ol > li p.text01-p + .kome-ul {
    padding-top: 0.4rem;
  }
}
@media screen and (max-width: 768px) {
  .num01-ol > li p.text01-p + .kome-ul {
    padding-top: 1.1rem;
  }
}
@media screen and (min-width: 769px) {
  .num01-ol + .scroll-box {
    margin-top: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .num01-ol + .scroll-box {
    margin-top: 6rem;
  }
}

.num02-ol {
  counter-reset: num02;
  font-weight: 400;
}
@media screen and (min-width: 769px) {
  .num02-ol {
    line-height: 2em;
    font-size: 1.6rem;
  }
  .num02-ol > li {
    line-height: inherit;
    font: inherit;
  }
  .num02-ol > li:first-of-type {
    margin-top: -0.5em;
  }
  .num02-ol > li:last-of-type {
    margin-bottom: -0.5em;
  }
}
@media screen and (max-width: 768px) {
  .num02-ol {
    line-height: 1.688em;
    font-size: 3.2rem;
  }
  .num02-ol > li {
    line-height: inherit;
    font: inherit;
  }
  .num02-ol > li:first-of-type {
    margin-top: -0.343em;
  }
  .num02-ol > li:last-of-type {
    margin-bottom: -0.343em;
  }
}
.num02-ol > li {
  counter-increment: num02;
  display: flex;
}
.num02-ol > li::before {
  content: counter(num02) ")";
  flex-shrink: 0;
  display: block;
  margin-right: 0.2em;
}

.num03-ol {
  counter-reset: num03;
}
@media screen and (min-width: 769px) {
  .num03-ol.pc_label .num03-ol-index {
    flex-wrap: wrap;
    justify-content: flex-start;
  }
  .num03-ol.pc_label .num03-ol-index::before {
    margin-bottom: 0.667em;
  }
  .num03-ol.pc_label .num03-ol-index::after {
    content: "POINT";
    order: -5;
    display: block;
    margin-right: 0.267em;
    margin-bottom: 0.667em;
    line-height: 1;
    font-size: 3rem;
    font-weight: 700;
    color: var(--title-key-color);
  }
  .num03-ol.pc_label .num03-ol-index > * {
    width: 100%;
    padding-left: 0;
  }
}
@media screen and (max-width: 768px) {
  .num03-ol.sp_card > li {
    padding-top: 2rem;
  }
  .num03-ol.sp_card .num03-item {
    position: relative;
    background: #fff;
    border-radius: 1.6rem;
    padding: 6rem 4rem;
    box-shadow: 0 0.5rem 0.7rem rgba(0, 0, 0, 0.1);
  }
  .num03-ol.sp_card .num03-ol-index {
    padding-top: 2.5rem;
  }
  .num03-ol.sp_card .num03-ol-index::before {
    position: absolute;
    top: 0;
    transform: translate(0, -50%);
  }
}
.num03-ol.fitness01 .num03-ol-index::before {
  background: #0d5faf;
}
.num03-ol.kids01 .num03-ol-index::before {
  background: #00a1e9;
}
.num03-ol > li {
  counter-increment: num03;
  display: block;
}
.num03-ol > li + li {
  margin-top: 8rem;
}
.num03-ol-index {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .num03-ol-index {
    flex-direction: column;
  }
}
.num03-ol-index::before {
  flex-shrink: 0;
  content: counter(num03);
  display: flex;
  justify-content: center;
  align-items: center;
  background: var(--title-key-color);
  border-radius: 50%;
  width: 1.667em;
  height: 1.667em;
  padding-bottom: 0.1em;
  font-weight: bold;
  text-align: center;
  color: #fff;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .num03-ol-index::before {
    line-height: 1.334em;
    font-size: 3rem;
  }
}
@media screen and (max-width: 768px) {
  .num03-ol-index::before {
    line-height: 1.334em;
    font-size: 6rem;
  }
}
.num03-ol-index > * {
  width: 100%;
}
@media screen and (min-width: 769px) {
  .num03-ol-index > * {
    padding-left: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .num03-ol-index > * {
    padding-top: 2rem;
  }
  .num03-ol-index > *.text03-p {
    text-align: center;
  }
}

@media screen and (min-width: 769px) {
  .num04-ol {
    line-height: 1.5em;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 768px) {
  .num04-ol {
    line-height: 1.688em;
    font-size: 3.2rem;
  }
}
.num04-ol > li {
  counter-increment: num04;
  display: flex;
  justify-content: space-between;
}
.num04-ol > li::before {
  content: counter(num04);
  flex-shrink: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid;
  border-radius: 50%;
  width: 1.6em;
  height: 1.6em;
  font-size: 0.625em;
  font-family: system-ui;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .num04-ol > li::before {
    margin-right: 0.2em;
  }
}
@media screen and (max-width: 768px) {
  .num04-ol > li::before {
    margin-right: 0.4em;
  }
}
.num04-ol > li > * {
  width: 100%;
}
@media screen and (min-width: 769px) {
  .num04-ol > li + li {
    padding-top: 2em;
  }
}
@media screen and (max-width: 768px) {
  .num04-ol > li + li {
    padding-top: 1.688em;
  }
}

.numjp_ol > li {
  display: flex;
  justify-content: space-between;
}
.numjp_ol > li > *:not(.numjp_ol_index) {
  width: 100%;
}
@media screen and (min-width: 769px) {
  .numjp_ol > li + li {
    padding-top: 1.6rem;
  }
}
@media screen and (max-width: 768px) {
  .numjp_ol > li + li {
    padding-top: 5.4rem;
  }
}
.numjp_ol_index {
  flex-shrink: 0;
  line-height: 1;
  margin-right: 0.4em;
  font-weight: 400;
}
@media screen and (min-width: 769px) {
  .numjp_ol_index {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 768px) {
  .numjp_ol_index {
    font-size: 3.2rem;
  }
}

.dot01-ul {
  list-style: none;
}
.dot01-ul > li {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}
.dot01-ul > li > * {
  width: 100%;
}
@media screen and (min-width: 769px) {
  .dot01-ul > li + li {
    padding-top: 3rem;
  }
}
@media screen and (max-width: 768px) {
  .dot01-ul > li + li {
    padding-top: 4rem;
  }
}
.dot01-ul a {
  text-decoration: underline;
  color: #0d5faf;
}
@media screen and (min-width: 769px) {
  .dot01-ul + .btns-wrapper {
    margin-top: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .dot01-ul + .btns-wrapper {
    margin-top: 8rem;
  }
}
.dot01-ul + .note01-p {
  padding-top: 3rem;
}

.dot02-ul {
  list-style: none;
  font-weight: 400;
}
@media screen and (min-width: 769px) {
  .dot02-ul {
    line-height: 1.5em;
    font-size: 1.6rem;
  }
  .dot02-ul > li {
    line-height: inherit;
    font: inherit;
  }
  .dot02-ul > li:first-of-type {
    margin-top: -0.25em;
  }
  .dot02-ul > li:last-of-type {
    margin-bottom: -0.25em;
  }
}
@media screen and (max-width: 768px) {
  .dot02-ul {
    line-height: 1.688em;
    font-size: 3.2rem;
  }
  .dot02-ul > li {
    line-height: inherit;
    font: inherit;
  }
  .dot02-ul > li:first-of-type {
    margin-top: -0.343em;
  }
  .dot02-ul > li:last-of-type {
    margin-bottom: -0.343em;
  }
}
.dot02-ul > li {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}
.dot02-ul > li::before {
  content: "";
  flex-shrink: 0;
  display: block;
  background: #0d5faf;
  border-radius: 50%;
}
@media screen and (min-width: 769px) {
  .dot02-ul > li::before {
    width: 0.6rem;
    height: 0.6rem;
    margin-right: 1.2rem;
    transform: translate(0, -0.187em);
  }
}
@media screen and (max-width: 768px) {
  .dot02-ul > li::before {
    width: 1.6rem;
    height: 1.6rem;
    margin-right: 2.2rem;
    transform: translate(0, -0.093em);
  }
}
.dot02-ul > li > * {
  width: 100%;
}
.dot02-ul a {
  text-decoration: underline;
  color: #0d5faf;
}
@media screen and (min-width: 769px) {
  .dot02-ul + .btns-wrapper {
    margin-top: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .dot02-ul + .btns-wrapper {
    margin-top: 8rem;
  }
}
.dot02-ul + .note01-p {
  padding-top: 3rem;
}

.dot03-ul {
  list-style: none;
}
.dot03-ul > li {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}
.dot03-ul > li::before {
  content: "";
  flex-shrink: 0;
  display: block;
  background: #0d5faf;
  border-radius: 50%;
}
@media screen and (min-width: 769px) {
  .dot03-ul > li::before {
    width: 0.6rem;
    height: 0.6rem;
    margin-right: 1.4rem;
    transform: translate(0, -0.312em);
  }
}
@media screen and (max-width: 768px) {
  .dot03-ul > li::before {
    width: 1.6rem;
    height: 1.6rem;
    margin-right: 2.4rem;
    transform: translate(0, -0.375em);
  }
}
.dot03-ul > li > * {
  width: 100%;
}
@media screen and (min-width: 769px) {
  .dot03-ul > li + li {
    padding-top: 3rem;
  }
}
@media screen and (max-width: 768px) {
  .dot03-ul > li + li {
    padding-top: 4rem;
  }
}
@media screen and (min-width: 769px) {
  .dot03-ul.mt01 > li + li {
    padding-top: 1.6rem;
  }
}
@media screen and (max-width: 768px) {
  .dot03-ul.mt01 > li + li {
    padding-top: 2.2rem;
  }
}
.dot03-ul a {
  text-decoration: underline;
  color: #0d5faf;
}
@media screen and (min-width: 769px) {
  .dot03-ul + .btns-wrapper {
    margin-top: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .dot03-ul + .btns-wrapper {
    margin-top: 8rem;
  }
}
.dot03-ul + .note01-p {
  padding-top: 3rem;
}

.dot04-ul {
  font-weight: 400;
}
@media screen and (min-width: 769px) {
  .dot04-ul {
    line-height: 2em;
    font-size: 1.6rem;
  }
  .dot04-ul > li {
    line-height: inherit;
    font: inherit;
  }
  .dot04-ul > li:first-of-type {
    margin-top: -0.5em;
  }
  .dot04-ul > li:last-of-type {
    margin-bottom: -0.5em;
  }
}
@media screen and (max-width: 768px) {
  .dot04-ul {
    line-height: 1.688em;
    font-size: 3.2rem;
  }
  .dot04-ul > li {
    line-height: inherit;
    font: inherit;
  }
  .dot04-ul > li:first-of-type {
    margin-top: -0.343em;
  }
  .dot04-ul > li:last-of-type {
    margin-bottom: -0.343em;
  }
}
.dot04-ul.wrap > li {
  flex-wrap: wrap;
}
.dot04-ul.wrap > li > *:first-of-type {
  width: calc(100% - 1em);
}
.dot04-ul.mt01 > li + li {
  margin-top: 0 !important;
  padding-top: 3rem;
}
.dot04-ul.mt02 > li + li {
  margin-top: 0 !important;
  padding-top: 1em;
}
.dot04-ul > li {
  display: flex;
}
.dot04-ul > li::before {
  content: "・";
  flex-shrink: 0;
  display: block;
}
@media screen and (max-width: 768px) {
  .dot04-ul > li + li {
    margin-top: 4rem;
  }
}
.dot04-ul > li em {
  font-style: normal;
  text-decoration: underline;
}
.dot04-ul > li a.blue01 {
  color: #0d5faf;
}
.dot04-ul > li a.blue02 {
  color: #00a1e9;
}
.dot04-ul > li a:hover {
  text-decoration: underline;
}
@media screen and (min-width: 769px) {
  .dot04-ul > li p.text01-p + .kome-ul {
    padding-top: 0.4rem;
  }
}
@media screen and (max-width: 768px) {
  .dot04-ul > li p.text01-p + .kome-ul {
    padding-top: 1.1rem;
  }
}
@media screen and (min-width: 769px) {
  .dot04-ul + .scroll-box {
    margin-top: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .dot04-ul + .scroll-box {
    margin-top: 6rem;
  }
}

.text01-ul > li {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}
@media screen and (min-width: 769px) {
  .text01-ul > li + li {
    padding-top: 3rem;
  }
}
@media screen and (max-width: 768px) {
  .text01-ul > li + li {
    padding-top: 4rem;
  }
}
@media screen and (min-width: 769px) {
  .text01-ul.pc_clm2 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .text01-ul.pc_clm2 > li {
    width: 48%;
  }
  .text01-ul.pc_clm2 > li:nth-of-type(2) {
    padding-top: 0;
  }
}
.text01-ul + .note01-p {
  padding-top: 3rem;
}

.kome-ul {
  letter-spacing: 0.02em;
  list-style: none;
  font-weight: 400;
}
@media screen and (min-width: 769px) {
  .kome-ul {
    line-height: 1.5em;
    font-size: 1.6rem;
  }
  .kome-ul > li {
    line-height: inherit;
    font: inherit;
  }
  .kome-ul > li:first-of-type {
    margin-top: -0.25em;
  }
  .kome-ul > li:last-of-type {
    margin-bottom: -0.25em;
  }
}
@media screen and (max-width: 768px) {
  .kome-ul {
    line-height: 1.715em;
    font-size: 2.8rem;
  }
  .kome-ul > li {
    line-height: inherit;
    font: inherit;
  }
  .kome-ul > li:first-of-type {
    margin-top: -0.357em;
  }
  .kome-ul > li:last-of-type {
    margin-bottom: -0.357em;
  }
  .kome-ul.sp_large {
    line-height: 1.688em;
    font-size: 3.2rem;
  }
  .kome-ul.sp_large > li {
    line-height: inherit;
    font: inherit;
  }
  .kome-ul.sp_large > li:first-of-type {
    margin-top: -0.343em;
  }
  .kome-ul.sp_large > li:last-of-type {
    margin-bottom: -0.343em;
  }
}
.kome-ul > li {
  padding-left: 1em;
  text-indent: -1em;
}
.kome-ul a {
  text-decoration: underline;
  color: #0d5faf;
}
@media screen and (min-width: 769px) {
  .kome-ul + .text01-p {
    padding-top: 1.5rem;
  }
}
@media screen and (max-width: 768px) {
  .kome-ul + .text01-p {
    padding-top: 3rem;
  }
}

.kome02-ul {
  letter-spacing: 0.02em;
  list-style: none;
  font-weight: 400;
}
@media screen and (min-width: 769px) {
  .kome02-ul {
    line-height: 2em;
    font-size: 1.6rem;
  }
  .kome02-ul > li {
    line-height: inherit;
    font: inherit;
  }
  .kome02-ul > li:first-of-type {
    margin-top: -0.5em;
  }
  .kome02-ul > li:last-of-type {
    margin-bottom: -0.5em;
  }
}
@media screen and (max-width: 768px) {
  .kome02-ul {
    line-height: 1.688em;
    font-size: 3.2rem;
  }
  .kome02-ul > li {
    line-height: inherit;
    font: inherit;
  }
  .kome02-ul > li:first-of-type {
    margin-top: -0.343em;
  }
  .kome02-ul > li:last-of-type {
    margin-bottom: -0.343em;
  }
}
.kome02-ul > li {
  padding-left: 1em;
  text-indent: -1em;
}
.kome02-ul a {
  text-decoration: underline;
  color: #0d5faf;
}

.check01-ul {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.tab_content_inner .check01-ul {
  width: 100% !important;
}
.check01-ul > li {
  display: flex;
  width: 100%;
  margin-top: 0 !important;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .check01-ul > li {
    background: transparent !important;
  }
}
@media screen and (max-width: 768px) {
  .check01-ul > li {
    background: #f7f6f5;
    border-radius: 0.6rem;
  }
}
.check01-ul > li.middle {
  align-items: center;
}
@media screen and (min-width: 769px) {
  .check01-ul.pc_clm3 > li {
    width: 30%;
  }
  .check01-ul.pc_clm3 > li:nth-of-type(n+4) {
    margin-top: 2rem !important;
  }
  .check01-ul.pc_clm3 > li:nth-of-type(3n+2):last-of-type {
    margin-left: 5%;
    margin-right: auto;
  }
  .check01-ul.pc_clm4 > li {
    width: 22%;
  }
  .check01-ul.pc_clm4 > li:nth-of-type(n+5) {
    margin-top: 2rem !important;
  }
  .check01-ul.pc_clm4 > li:nth-of-type(4n+2):nth-last-of-type(2) {
    margin-left: 4%;
  }
  .check01-ul.pc_clm4 > li:nth-of-type(4n+2):nth-last-of-type(2) + li {
    margin-left: 4%;
    margin-right: auto;
  }
  .check01-ul.pc_clm4 > li:nth-of-type(4n+2):last-of-type {
    margin-left: 4%;
    margin-right: auto;
  }
}
@media screen and (max-width: 768px) {
  .check01-ul > li {
    padding: 1rem;
  }
  .check01-ul.sp_clm1 > li {
    width: 100%;
  }
  .check01-ul.sp_clm1 > li:nth-of-type(n+2) {
    margin-top: 2rem !important;
  }
  .check01-ul.sp_clm2 > li {
    width: 49%;
  }
  .check01-ul.sp_clm2 > li:nth-of-type(n+3) {
    margin-top: 2rem !important;
  }
}
@media screen and (min-width: 769px) {
  .check01-ul + .check01-ul {
    margin-top: 5rem;
  }
}
@media screen and (max-width: 768px) {
  .check01-ul + .check01-ul {
    margin-top: 4rem;
  }
}

@media screen and (min-width: 769px) {
  .check02-ul {
    line-height: 1.5em;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 768px) {
  .check02-ul {
    line-height: 1.407em;
    font-size: 3.2rem;
  }
}
.check02-ul > li {
  display: flex;
  justify-content: space-between;
}
.check02-ul > li::before {
  content: "";
  flex-shrink: 0;
  display: block;
  background-image: url(/giftcard/public/assets/common/img/icon_check01_o.svg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
}
@media screen and (min-width: 769px) {
  .check02-ul > li::before {
    width: 2.4rem;
    height: 2.4rem;
  }
}
@media screen and (max-width: 768px) {
  .check02-ul > li::before {
    width: 4.5rem;
    height: 4.5rem;
  }
}
.check02-ul > li > p {
  width: 100%;
  font-weight: 400;
}
@media screen and (min-width: 769px) {
  .check02-ul > li > p {
    padding-left: 0.8rem;
  }
}
@media screen and (max-width: 768px) {
  .check02-ul > li > p {
    padding-left: 1.6rem;
  }
}
@media screen and (min-width: 769px) {
  .check02-ul > li + li {
    margin-top: 1.5rem;
  }
}
@media screen and (max-width: 768px) {
  .check02-ul > li + li {
    margin-top: 3rem;
  }
}

.alert01-p {
  background: #fff3f3;
  font-weight: 700;
  color: #fc4042;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .alert01-p {
    border: 2px solid;
    padding: 2.3rem;
    line-height: 1.5em;
    font-size: 3rem;
  }
  .alert01-p > p {
    line-height: inherit;
    font: inherit;
  }
  .alert01-p > p:first-of-type {
    margin-top: -0.25em;
  }
  .alert01-p > p:last-of-type {
    margin-bottom: -0.25em;
  }
  .alert01-p.pc_center {
    text-align: center;
  }
}
@media screen and (max-width: 768px) {
  .alert01-p {
    border: 0.4rem solid;
    padding: 4.6rem;
    line-height: 1.5em;
    font-size: 4rem;
  }
  .alert01-p > p {
    line-height: inherit;
    font: inherit;
  }
  .alert01-p > p:first-of-type {
    margin-top: -0.25em;
  }
  .alert01-p > p:last-of-type {
    margin-bottom: -0.25em;
  }
}
.alert01-p > p + .text01-p {
  padding-top: 3rem;
}

.lead01-p {
  position: relative;
  letter-spacing: 0.05em;
  text-align: center;
}
@media screen and (min-width: 769px) {
  .lead01-p {
    line-height: 1.5em;
    font-size: 2.2rem;
  }
  .lead01-p > p {
    line-height: inherit;
    font: inherit;
  }
  .lead01-p > p:first-of-type {
    margin-top: -0.25em;
  }
  .lead01-p > p:last-of-type {
    margin-bottom: -0.25em;
  }
}
@media screen and (max-width: 768px) {
  .lead01-p {
    line-height: 1.5em;
    font-size: 4rem;
  }
  .lead01-p > p {
    line-height: inherit;
    font: inherit;
  }
  .lead01-p > p:first-of-type {
    margin-top: -0.25em;
  }
  .lead01-p > p:last-of-type {
    margin-bottom: -0.25em;
  }
}
.lead01-p::after {
  content: "";
  display: none;
  position: absolute;
  background: var(--title-key-color);
  left: 0;
  right: 0;
  bottom: 0;
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .lead01-p::after {
    border-radius: 0.228em;
    width: 1.819em;
    height: 0.228em;
  }
}
@media screen and (max-width: 768px) {
  .lead01-p::after {
    border-radius: 0.25em;
    width: 2em;
    height: 0.25em;
  }
}
.lead01-p.left {
  text-align: left;
}
@media screen and (min-width: 769px) {
  .lead01-p + .btn-carrow01 {
    margin-top: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .lead01-p + .btn-carrow01 {
    margin-top: 8rem;
  }
}
@media screen and (min-width: 769px) {
  .lead01-p + .btns-wrapper {
    margin-top: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .lead01-p + .btns-wrapper {
    margin-top: 8rem;
  }
}
@media screen and (min-width: 769px) {
  .lead01-p + .app-list {
    margin-top: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .lead01-p + .app-list {
    margin-top: 8rem;
  }
}

.lead02-p {
  position: relative;
  text-align: center;
}
@media screen and (min-width: 769px) {
  .lead02-p {
    line-height: 1.5em;
    font-size: 2.2rem;
  }
  .lead02-p > p {
    line-height: inherit;
    font: inherit;
  }
  .lead02-p > p:first-of-type {
    margin-top: -0.25em;
  }
  .lead02-p > p:last-of-type {
    margin-bottom: -0.25em;
  }
  .lead02-p.pc_large {
    font-size: 3rem;
  }
}
@media screen and (max-width: 768px) {
  .lead02-p {
    line-height: 1.5em;
    font-size: 4rem;
  }
  .lead02-p > p {
    line-height: inherit;
    font: inherit;
  }
  .lead02-p > p:first-of-type {
    margin-top: -0.25em;
  }
  .lead02-p > p:last-of-type {
    margin-bottom: -0.25em;
  }
  .lead02-p.sp_left {
    text-align: left;
  }
  .lead02-p.sp_left.bal01_wrap .bal01 {
    transform: translate(-20%, -95%) scale(0.9);
    transform-origin: left bottom;
  }
  .lead02-p.sp_large {
    font-size: 4.8rem;
  }
}
@media screen and (min-width: 769px) {
  .lead02-p.large {
    font-size: 3rem;
  }
}
@media screen and (max-width: 768px) {
  .lead02-p.large {
    font-size: 4.8rem;
  }
}
.lead02-p.left {
  text-align: left;
}
.lead02-p strong {
  font-weight: 700;
}
.lead02-p.red01 {
  color: #fc4042;
}
.lead02-p.pink01 {
  color: #ff5cff;
}
.lead02-p.blue02 {
  color: #4559ff;
}
.lead02-p .blue01 {
  color: #0d5faf;
}
.lead02-p > p .mrk-reverse {
  margin-left: 0.3em;
  vertical-align: text-top;
}
@media screen and (min-width: 769px) {
  .lead02-p > h3 {
    line-height: 1.364em;
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 768px) {
  .lead02-p > h3 {
    line-height: 1.5em;
    font-size: 4rem;
  }
}
@media screen and (min-width: 769px) {
  .lead02-p > h3 + p {
    padding-top: 0.8rem;
  }
}
@media screen and (max-width: 768px) {
  .lead02-p > h3 + p {
    padding-top: 1rem;
  }
}
.lead02-p.col01 em {
  display: inline-block;
  background: linear-gradient(rgba(255, 250, 85, 0) 69.697%, #fffa55 69.697%, #fffa55 100%);
  margin: 0 0.1em;
  padding: 0 0.1em;
  font-style: normal;
  white-space: nowrap;
}
@media screen and (min-width: 769px) {
  .lead02-p.col01 em {
    font-size: 1.364em;
  }
}
@media screen and (max-width: 768px) {
  .lead02-p.col01 em {
    font-size: 1.2em;
  }
}
.lead02-p.col01 em.noline {
  background: none;
  margin: 0;
  padding: 0;
}
.lead02-p.col01 em.fsnm {
  font-size: inherit;
}
.lead02-p.fitness01 {
  color: #0d5faf;
}
.lead02-p.fitness02 em {
  font-style: normal;
  color: #0d5faf;
}
.lead02-p.kids01 {
  color: #00a1e9;
}
.lead02-p.kids02 em {
  font-style: normal;
  color: #00a1e9;
}
.lead02-p.bal01_wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.lead02-p.bal01_wrap > p {
  position: relative;
}
.lead02-p.bal01_wrap .bal01 {
  position: absolute;
  width: 4.459em;
  left: 0;
  top: 0;
  transform: translate(-90%, -90%);
  pointer-events: none;
}
@media screen and (min-width: 769px) {
  .lead02-p.bal01_wrap .bal01 {
    width: 5.364em;
    transform: translate(-90%, -90%);
  }
}
@media screen and (max-width: 768px) {
  .lead02-p.bal01_wrap .bal01 {
    width: 4.459em;
    transform: translate(-90%, -80%);
  }
}
.lead02-p + .text01-p {
  padding-top: 20px;
}

.lead03-p {
  line-height: 1.5em;
  font-size: 4rem;
  text-align: center;
}
.lead03-p > p {
  line-height: inherit;
  font: inherit;
}
.lead03-p > p:first-of-type {
  margin-top: -0.25em;
}
.lead03-p > p:last-of-type {
  margin-bottom: -0.25em;
}
.lead03-p.error {
  color: #fc4042;
}

.lead04-p {
  font-weight: 400;
}
@media screen and (min-width: 769px) {
  .lead04-p {
    line-height: 2em;
    font-size: 2rem;
  }
  .lead04-p > p {
    line-height: inherit;
    font: inherit;
  }
  .lead04-p > p:first-of-type {
    margin-top: -0.5em;
  }
  .lead04-p > p:last-of-type {
    margin-bottom: -0.5em;
  }
  .lead04-p.pc_center {
    text-align: center;
  }
  .lead04-p.pc_large {
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 768px) {
  .lead04-p {
    line-height: 2em;
    font-size: 3.2rem;
  }
  .lead04-p > p {
    line-height: inherit;
    font: inherit;
  }
  .lead04-p > p:first-of-type {
    margin-top: -0.5em;
  }
  .lead04-p > p:last-of-type {
    margin-bottom: -0.5em;
  }
}
.lead04-p.center {
  text-align: center;
}
.lead04-p.pink01 {
  color: #ff5cff;
}
.lead04-p.blue01 {
  color: #4559ff;
}

.price01-p {
  color: #ff9b0b;
}
@media screen and (min-width: 769px) {
  .price01-p {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 768px) {
  .price01-p {
    font-size: 3.2rem;
  }
}
.price01-p.center {
  text-align: center;
}
.price01-p.right {
  text-align: right;
}
.price01-p.lh2 {
  line-height: 2em;
}
.price01-p .black01 {
  color: #ff9b0b;
}
.price01-p .black02 {
  color: #333;
}
.price01-p strong, .price01-p span {
  display: inline;
  line-height: 1;
  font-style: normal;
  vertical-align: baseline;
}
@media screen and (min-width: 769px) {
  .price01-p .lg {
    font-size: 2.5em;
  }
}
@media screen and (max-width: 768px) {
  .price01-p .lg {
    font-size: 2.188em;
  }
}
@media screen and (min-width: 769px) {
  .price01-p .mx {
    font-size: 3.75em;
  }
}
@media screen and (max-width: 768px) {
  .price01-p .mx {
    font-size: 3.75em;
  }
}
@media screen and (min-width: 769px) {
  .price01-p .md {
    font-size: 1.875em;
  }
}
@media screen and (max-width: 768px) {
  .price01-p .md {
    font-size: 1.5em;
  }
}
.price01-p .fs {
  font-size: 1.8rem;
}

.text01-p {
  letter-spacing: 0.02em;
  font-weight: 400;
}
@media screen and (min-width: 769px) {
  .text01-p {
    line-height: 1.5em;
    font-size: 1.6rem;
  }
  .text01-p > p {
    line-height: inherit;
    font: inherit;
  }
  .text01-p > p:first-of-type {
    margin-top: -0.25em;
  }
  .text01-p > p:last-of-type {
    margin-bottom: -0.25em;
  }
  .text01-p.pc_center {
    text-align: center;
  }
  .text01-p.pc_right {
    text-align: right;
  }
}
@media screen and (max-width: 768px) {
  .text01-p {
    line-height: 1.688em;
    font-size: 3.2rem;
  }
  .text01-p > p {
    line-height: inherit;
    font: inherit;
  }
  .text01-p > p:first-of-type {
    margin-top: -0.343em;
  }
  .text01-p > p:last-of-type {
    margin-bottom: -0.343em;
  }
  .text01-p.sp_center {
    text-align: center;
  }
  .text01-p.sp_right {
    text-align: right;
  }
}
.text01-p em {
  font-size: 1.125em;
  font-style: normal;
}
.text01-p sup {
  display: inline-block;
  line-height: 1;
  font-size: 0.5em;
  vertical-align: super;
}
.text01-p span.error {
  color: #fc4042;
}
.text01-p a {
  text-decoration: underline;
  color: #0d5faf;
}
.text01-p font {
  line-height: 1.5;
}
.text01-p > p.right {
  text-align: right;
}
.text01-p.center {
  text-align: center;
}
.text01-p.right {
  text-align: right;
}
@media screen and (min-width: 769px) {
  .text01-p.large {
    font-size: 3rem;
  }
}
@media screen and (max-width: 768px) {
  .text01-p.large {
    font-size: 6rem;
  }
}
.text01-p.att {
  color: #fc4042;
}
.text01-p.att-box {
  border: 1px solid;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .text01-p.att-box {
    padding: 1.875em !important;
  }
}
@media screen and (max-width: 768px) {
  .text01-p.att-box {
    padding: 1.25em !important;
  }
}
@media screen and (min-width: 769px) {
  .text01-p + .text01-p.att {
    padding-top: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .text01-p + .text01-p.att {
    padding-top: 6rem;
  }
}
@media screen and (min-width: 769px) {
  .text01-p + .text01-p.att-box {
    margin-top: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .text01-p + .text01-p.att-box {
    margin-top: 6rem;
  }
}
.text01-p + .text01-p.mt20 {
  padding-top: 2rem;
}
@media screen and (min-width: 769px) {
  .text01-p + .select01-wrap {
    margin-top: 1rem;
  }
}
@media screen and (max-width: 768px) {
  .text01-p + .select01-wrap {
    margin-top: 2rem;
  }
}
@media screen and (min-width: 769px) {
  .text01-p + .textline01-input {
    margin-top: 1rem;
  }
}
@media screen and (max-width: 768px) {
  .text01-p + .textline01-input {
    margin-top: 2rem;
  }
}
@media screen and (min-width: 769px) {
  .text01-p + .btns-wrapper {
    margin-top: 3rem;
  }
}
@media screen and (max-width: 768px) {
  .text01-p + .btns-wrapper {
    margin-top: 2rem;
  }
}
@media screen and (min-width: 769px) {
  .text01-p + .btns-wrapper.left {
    margin-top: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .text01-p + .btns-wrapper.left {
    margin-top: 6rem;
  }
}
.text01-p + .btns-wrapper.arrow01 {
  margin-top: 0;
}
@media screen and (min-width: 769px) {
  .text01-p + .scroll-box {
    margin-top: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .text01-p + .scroll-box {
    margin-top: 4rem;
  }
}
@media screen and (min-width: 769px) {
  .text01-p + .bg-box {
    margin-top: 6rem;
  }
}
@media screen and (max-width: 768px) {
  .text01-p + .bg-box {
    margin-top: 5rem;
  }
}
@media screen and (min-width: 769px) {
  .text01-p + .flex01-row {
    margin-top: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .text01-p + .flex01-row {
    margin-top: 6rem;
  }
}
@media screen and (min-width: 769px) {
  .text01-p + .lower-table01 {
    margin-top: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .text01-p + .lower-table01 {
    margin-top: 5rem;
  }
}
@media screen and (min-width: 769px) {
  .text01-p + .table02-dl {
    margin-top: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .text01-p + .table02-dl {
    margin-top: 6rem;
  }
}
@media screen and (min-width: 769px) {
  .text01-p + .table03-dl {
    margin-top: 3rem;
  }
}
@media screen and (max-width: 768px) {
  .text01-p + .table03-dl {
    margin-top: 4rem;
  }
}
.text01-p + .table04-dl {
  margin-top: 2rem;
}
@media screen and (min-width: 769px) {
  .text01-p + .card05-items {
    margin-top: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .text01-p + .card05-items {
    margin-top: 6rem;
  }
}
@media screen and (min-width: 769px) {
  .text01-p + .text02-p.error {
    padding-top: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .text01-p + .text02-p.error {
    padding-top: 4rem;
  }
}
@media screen and (min-width: 769px) {
  .text01-p + .kome-ul {
    padding-top: 1.5rem;
  }
}
@media screen and (max-width: 768px) {
  .text01-p + .kome-ul {
    padding-top: 3rem;
  }
}
.text01-p + .step02-ol {
  padding-top: 4rem;
}
@media screen and (min-width: 769px) {
  .text01-p + .num01-ol {
    padding-top: 1.6rem;
  }
}
@media screen and (max-width: 768px) {
  .text01-p + .num01-ol {
    padding-top: 4rem;
  }
}
@media screen and (min-width: 769px) {
  .text01-p + .numjp_ol {
    padding-top: 1.6rem;
  }
}
@media screen and (max-width: 768px) {
  .text01-p + .numjp_ol {
    padding-top: 4rem;
  }
}
@media screen and (min-width: 769px) {
  .text01-p + .note01-p {
    padding-top: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .text01-p + .note01-p {
    padding-top: 4rem;
  }
}
@media screen and (min-width: 769px) {
  .text01-p + .note02-p {
    padding-top: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .text01-p + .note02-p {
    padding-top: 4rem;
  }
}

.text02-p {
  letter-spacing: 0.02em;
  font-weight: 700;
}
@media screen and (min-width: 769px) {
  .text02-p {
    line-height: 1.7em;
    font-size: 2rem;
  }
  .text02-p > p {
    line-height: inherit;
    font: inherit;
  }
  .text02-p > p:first-of-type {
    margin-top: -0.35em;
  }
  .text02-p > p:last-of-type {
    margin-bottom: -0.35em;
  }
  .text02-p.pc_center {
    text-align: center;
  }
  .text02-p.pc_right {
    text-align: right;
  }
  .text02-p.pc_left {
    text-align: left;
  }
  .text02-p.pc_large {
    line-height: 1.5em;
    font-size: 2.4rem;
  }
  .text02-p.pc_large > p {
    line-height: inherit;
    font: inherit;
  }
  .text02-p.pc_large > p:first-of-type {
    margin-top: -0.25em;
  }
  .text02-p.pc_large > p:last-of-type {
    margin-bottom: -0.25em;
  }
}
@media screen and (max-width: 768px) {
  .text02-p {
    line-height: 1.7em;
    font-size: 4rem;
  }
  .text02-p > p {
    line-height: inherit;
    font: inherit;
  }
  .text02-p > p:first-of-type {
    margin-top: -0.35em;
  }
  .text02-p > p:last-of-type {
    margin-bottom: -0.35em;
  }
  .text02-p.sp_left {
    text-align: left;
  }
}
.text02-p a {
  text-decoration: underline;
  color: #0d5faf;
}
.text02-p span.md {
  font-weight: 500;
}
.text02-p.left {
  text-align: left;
}
.text02-p.center {
  text-align: center;
}
.text02-p.right {
  text-align: right;
}
.text02-p.regular {
  font-weight: 400;
}
.text02-p.fitness01 {
  color: #0d5faf;
}
.text02-p.error {
  color: #fc4042;
}
@media screen and (min-width: 769px) {
  .text02-p.error {
    order: 10;
    width: 100%;
    text-align: center;
  }
}
@media screen and (min-width: 769px) {
  .text02-p.error + .table02-dl-item {
    padding-top: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .text02-p.error + .table02-dl-item {
    padding-top: 4rem;
  }
}
.text02-p.error-box {
  background: #fff3f3;
  border: 2px solid;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .text02-p.error-box {
    padding: 1.6em;
  }
}
@media screen and (max-width: 768px) {
  .text02-p.error-box {
    padding: 0.95em;
  }
}
.text02-p + .step03-item-list {
  margin-top: 6rem;
}

.text03-p {
  letter-spacing: 0.02em;
  font-weight: 400;
}
@media screen and (min-width: 769px) {
  .text03-p {
    line-height: 1.367em;
    font-size: 3rem;
  }
  .text03-p > p {
    line-height: inherit;
    font: inherit;
  }
  .text03-p > p:first-of-type {
    margin-top: -0.183em;
  }
  .text03-p > p:last-of-type {
    margin-bottom: -0.183em;
  }
  .text03-p.pc_center {
    text-align: center;
  }
  .text03-p.pc_large {
    font-size: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .text03-p {
    line-height: 1.417em;
    font-size: 4.8rem;
  }
  .text03-p > p {
    line-height: inherit;
    font: inherit;
  }
  .text03-p > p:first-of-type {
    margin-top: -0.208em;
  }
  .text03-p > p:last-of-type {
    margin-bottom: -0.208em;
  }
}
@media screen and (min-width: 769px) {
  .text03-p.small {
    line-height: 1.539em;
    font-size: 2.6rem;
  }
  .text03-p.small > p {
    line-height: inherit;
    font: inherit;
  }
  .text03-p.small > p:first-of-type {
    margin-top: -0.269em;
  }
  .text03-p.small > p:last-of-type {
    margin-bottom: -0.269em;
  }
}
@media screen and (max-width: 768px) {
  .text03-p.small {
    line-height: 1.389em;
    font-size: 3.6rem;
  }
  .text03-p.small > p {
    line-height: inherit;
    font: inherit;
  }
  .text03-p.small > p:first-of-type {
    margin-top: -0.194em;
  }
  .text03-p.small > p:last-of-type {
    margin-bottom: -0.194em;
  }
}
.text03-p.center {
  text-align: center;
}
.text03-p.fitness01 {
  color: #0d5faf;
}
.text03-p a {
  text-decoration: underline;
  color: #0d5faf;
}
.text03-p + .text01-p {
  padding-top: 4rem;
}
.text03-p.fz-22 {
  font-size: 2.2rem;
}
@media screen and (max-width: 768px) {
  .text03-p.fz-22 {
    font-size: 3.8rem;
  }
}

.text04-p {
  letter-spacing: 0.02em;
  font-weight: 400;
}
@media screen and (min-width: 769px) {
  .text04-p {
    line-height: 1.4em;
    font-size: 1.8rem;
  }
  .text04-p > p {
    line-height: inherit;
    font: inherit;
  }
  .text04-p > p:first-of-type {
    margin-top: -0.199em;
  }
  .text04-p > p:last-of-type {
    margin-bottom: -0.199em;
  }
}
@media screen and (max-width: 768px) {
  .text04-p {
    line-height: 1.4em;
    font-size: 3.6rem;
  }
  .text04-p > p {
    line-height: inherit;
    font: inherit;
  }
  .text04-p > p:first-of-type {
    margin-top: -0.199em;
  }
  .text04-p > p:last-of-type {
    margin-bottom: -0.199em;
  }
}

.text05-p {
  font-weight: 500;
}
@media screen and (min-width: 769px) {
  .text05-p {
    line-height: 1.7em;
    font-size: 2rem;
  }
  .text05-p > p {
    line-height: inherit;
    font: inherit;
  }
  .text05-p > p:first-of-type {
    margin-top: -0.35em;
  }
  .text05-p > p:last-of-type {
    margin-bottom: -0.35em;
  }
  .text05-p.pc_center {
    text-align: center;
  }
}
@media screen and (max-width: 768px) {
  .text05-p {
    line-height: 1.688em;
    font-size: 3.2rem;
  }
  .text05-p > p {
    line-height: inherit;
    font: inherit;
  }
  .text05-p > p:first-of-type {
    margin-top: -0.343em;
  }
  .text05-p > p:last-of-type {
    margin-bottom: -0.343em;
  }
}
@media screen and (min-width: 769px) {
  .text05-p.large {
    font-size: 2.3rem;
  }
}
@media screen and (max-width: 768px) {
  .text05-p.large {
    font-size: 3.6rem;
  }
}
.text05-p.regular {
  font-weight: 400;
}
.text05-p.gray01 {
  color: #a6a6a6;
}
@media screen and (min-width: 769px) {
  .text05-p + .text05-p {
    padding-top: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .text05-p + .text05-p {
    padding-top: 4rem;
  }
}
@media screen and (min-width: 769px) {
  .text05-p + .kome-ul {
    padding-top: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .text05-p + .kome-ul {
    padding-top: 4rem;
  }
}
@media screen and (min-width: 769px) {
  .text05-p + .text01-p {
    padding-top: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .text05-p + .text01-p {
    padding-top: 4rem;
  }
}
@media screen and (min-width: 769px) {
  .text05-p + .note01-p {
    padding-top: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .text05-p + .note01-p {
    padding-top: 4rem;
  }
}

.text06-p {
  letter-spacing: 0.02em;
  font-weight: 400;
}
@media screen and (min-width: 769px) {
  .text06-p {
    line-height: 1.5em;
    font-size: 1.6rem;
  }
  .text06-p > p {
    line-height: inherit;
    font: inherit;
  }
  .text06-p > p:first-of-type {
    margin-top: -0.25em;
  }
  .text06-p > p:last-of-type {
    margin-bottom: -0.25em;
  }
  .text06-p.pc_center {
    text-align: center;
  }
}
@media screen and (max-width: 768px) {
  .text06-p {
    line-height: 1.688em;
    font-size: 3rem;
  }
  .text06-p > p {
    line-height: inherit;
    font: inherit;
  }
  .text06-p > p:first-of-type {
    margin-top: -0.343em;
  }
  .text06-p > p:last-of-type {
    margin-bottom: -0.343em;
  }
}
.text06-p em {
  font-size: 1.125em;
  font-style: normal;
}
.text06-p sup {
  display: inline-block;
  line-height: 1;
  font-size: 0.5em;
  vertical-align: super;
}
.text06-p span.error {
  color: #fc4042;
}
.text06-p a {
  text-decoration: underline;
  color: #0d5faf;
}
.text06-p font {
  line-height: 1.5;
}
.text06-p.center {
  text-align: center;
}
.text06-p.att {
  color: #fc4042;
}
.text06-p.att-box {
  border: 1px solid;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .text06-p.att-box {
    padding: 1.875em !important;
  }
}
@media screen and (max-width: 768px) {
  .text06-p.att-box {
    padding: 1.25em !important;
  }
}
@media screen and (min-width: 769px) {
  .text06-p + .text06-p.att {
    padding-top: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .text06-p + .text06-p.att {
    padding-top: 6rem;
  }
}
@media screen and (min-width: 769px) {
  .text06-p + .text06-p.att-box {
    margin-top: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .text06-p + .text06-p.att-box {
    margin-top: 6rem;
  }
}
.text06-p + .text06-p.mt20 {
  padding-top: 2rem;
}
@media screen and (min-width: 769px) {
  .text06-p + .select01-wrap {
    margin-top: 1rem;
  }
}
@media screen and (max-width: 768px) {
  .text06-p + .select01-wrap {
    margin-top: 2rem;
  }
}
@media screen and (min-width: 769px) {
  .text06-p + .textline01-input {
    margin-top: 1rem;
  }
}
@media screen and (max-width: 768px) {
  .text06-p + .textline01-input {
    margin-top: 2rem;
  }
}
@media screen and (min-width: 769px) {
  .text06-p + .btns-wrapper {
    margin-top: 3rem;
  }
}
@media screen and (max-width: 768px) {
  .text06-p + .btns-wrapper {
    margin-top: 2rem;
  }
}
@media screen and (min-width: 769px) {
  .text06-p + .btns-wrapper.left {
    margin-top: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .text06-p + .btns-wrapper.left {
    margin-top: 6rem;
  }
}
.text06-p + .btns-wrapper.arrow01 {
  margin-top: 0;
}
@media screen and (min-width: 769px) {
  .text06-p + .scroll-box {
    margin-top: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .text06-p + .scroll-box {
    margin-top: 4rem;
  }
}
@media screen and (min-width: 769px) {
  .text06-p + .bg-box {
    margin-top: 6rem;
  }
}
@media screen and (max-width: 768px) {
  .text06-p + .bg-box {
    margin-top: 5rem;
  }
}
@media screen and (min-width: 769px) {
  .text06-p + .flex01-row {
    margin-top: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .text06-p + .flex01-row {
    margin-top: 6rem;
  }
}
@media screen and (min-width: 769px) {
  .text06-p + .lower-table01 {
    margin-top: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .text06-p + .lower-table01 {
    margin-top: 5rem;
  }
}
@media screen and (min-width: 769px) {
  .text06-p + .table02-dl {
    margin-top: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .text06-p + .table02-dl {
    margin-top: 6rem;
  }
}
@media screen and (min-width: 769px) {
  .text06-p + .table03-dl {
    margin-top: 3rem;
  }
}
@media screen and (max-width: 768px) {
  .text06-p + .table03-dl {
    margin-top: 4rem;
  }
}
.text06-p + .table04-dl {
  margin-top: 2rem;
}
@media screen and (min-width: 769px) {
  .text06-p + .card05-items {
    margin-top: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .text06-p + .card05-items {
    margin-top: 6rem;
  }
}
@media screen and (min-width: 769px) {
  .text06-p + .text02-p.error {
    padding-top: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .text06-p + .text02-p.error {
    padding-top: 4rem;
  }
}
@media screen and (min-width: 769px) {
  .text06-p + .kome-ul {
    padding-top: 1.5rem;
  }
}
@media screen and (max-width: 768px) {
  .text06-p + .kome-ul {
    padding-top: 3rem;
  }
}
.text06-p + .step02-ol {
  padding-top: 4rem;
}
@media screen and (min-width: 769px) {
  .text06-p + .num01-ol {
    padding-top: 1.6rem;
  }
}
@media screen and (max-width: 768px) {
  .text06-p + .num01-ol {
    padding-top: 4rem;
  }
}
@media screen and (min-width: 769px) {
  .text06-p + .numjp_ol {
    padding-top: 1.6rem;
  }
}
@media screen and (max-width: 768px) {
  .text06-p + .numjp_ol {
    padding-top: 4rem;
  }
}
@media screen and (min-width: 769px) {
  .text06-p + .note01-p {
    padding-top: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .text06-p + .note01-p {
    padding-top: 4rem;
  }
}
@media screen and (min-width: 769px) {
  .text06-p + .note02-p {
    padding-top: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .text06-p + .note02-p {
    padding-top: 4rem;
  }
}

.note01-p {
  letter-spacing: 0.02em;
  font-weight: 400;
}
@media screen and (min-width: 769px) {
  .note01-p {
    line-height: 1.5em;
    font-size: 1.6rem;
  }
  .note01-p > p {
    line-height: inherit;
    font: inherit;
  }
  .note01-p > p:first-of-type {
    margin-top: -0.25em;
  }
  .note01-p > p:last-of-type {
    margin-bottom: -0.25em;
  }
  .note01-p.pc_center {
    text-align: center;
  }
}
@media screen and (max-width: 768px) {
  .note01-p {
    line-height: 1.715em;
    font-size: 2.8rem;
  }
  .note01-p > p {
    line-height: inherit;
    font: inherit;
  }
  .note01-p > p:first-of-type {
    margin-top: -0.357em;
  }
  .note01-p > p:last-of-type {
    margin-bottom: -0.357em;
  }
}
.note01-p.kome > p {
  padding-left: 1em;
  text-indent: -1em;
}
.note01-p-icon {
  display: inline-block;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
}
@media screen and (min-width: 769px) {
  .note01-p-icon {
    margin-right: 0.215em;
    vertical-align: text-top;
  }
}
@media screen and (max-width: 768px) {
  .note01-p-icon {
    margin-right: 0.143em;
    vertical-align: text-bottom;
  }
}
.note01-p-icon.scale {
  background-image: url(/giftcard/public/assets/common/img/icon_scale01_k.svg);
}
@media screen and (min-width: 769px) {
  .note01-p-icon.scale {
    width: 1.5em;
    height: 1.5em;
  }
}
@media screen and (max-width: 768px) {
  .note01-p-icon.scale {
    width: 1.429em;
    height: 1.429em;
  }
}
.note01-p a {
  text-decoration: underline;
  color: #0d5faf;
}
@media screen and (min-width: 769px) {
  .note01-p + .card01-ul {
    padding-top: 6rem;
  }
}
@media screen and (max-width: 768px) {
  .note01-p + .card01-ul {
    padding-top: 4rem;
  }
}
@media screen and (min-width: 769px) {
  .note01-p + .btns-wrapper {
    margin-top: 5rem;
  }
}
@media screen and (max-width: 768px) {
  .note01-p + .btns-wrapper {
    margin-top: 8rem;
  }
}

.note02-p {
  font-weight: 400;
}
@media screen and (min-width: 769px) {
  .note02-p {
    line-height: 1.667em;
    font-size: 1.2rem;
  }
  .note02-p > p {
    line-height: inherit;
    font: inherit;
  }
  .note02-p > p:first-of-type {
    margin-top: -0.333em;
  }
  .note02-p > p:last-of-type {
    margin-bottom: -0.333em;
  }
}
@media screen and (max-width: 768px) {
  .note02-p {
    line-height: 1.715em;
    font-size: 2.8rem;
  }
  .note02-p > p {
    line-height: inherit;
    font: inherit;
  }
  .note02-p > p:first-of-type {
    margin-top: -0.357em;
  }
  .note02-p > p:last-of-type {
    margin-bottom: -0.357em;
  }
}

.note03-p {
  font-weight: 400;
}
@media screen and (min-width: 769px) {
  .note03-p {
    line-height: 1.5em;
    font-size: 1.4rem;
  }
  .note03-p > p {
    line-height: inherit;
    font: inherit;
  }
  .note03-p > p:first-of-type {
    margin-top: -0.25em;
  }
  .note03-p > p:last-of-type {
    margin-bottom: -0.25em;
  }
}
@media screen and (max-width: 768px) {
  .note03-p {
    line-height: 1.5em;
    font-size: 2.8rem;
  }
  .note03-p > p {
    line-height: inherit;
    font: inherit;
  }
  .note03-p > p:first-of-type {
    margin-top: -0.25em;
  }
  .note03-p > p:last-of-type {
    margin-bottom: -0.25em;
  }
  .note03-p.sp_center {
    text-align: center;
  }
}
.note03-p.center {
  text-align: center;
}
@media screen and (min-width: 769px) {
  .btns-wrapper .note03-p {
    max-width: 20em;
    margin: 0 1rem;
  }
}
@media screen and (max-width: 768px) {
  .btns-wrapper .note03-p + a {
    margin-top: 3rem;
  }
}

.note04-p {
  font-weight: 400;
}
@media screen and (min-width: 769px) {
  .note04-p {
    line-height: 1.4em;
    font-size: 1.5rem;
  }
  .note04-p > p {
    line-height: inherit;
    font: inherit;
  }
  .note04-p > p:first-of-type {
    margin-top: -0.2em;
  }
  .note04-p > p:last-of-type {
    margin-bottom: -0.2em;
  }
}
@media screen and (max-width: 768px) {
  .note04-p {
    line-height: 1.5em;
    font-size: 2.8rem;
  }
  .note04-p > p {
    line-height: inherit;
    font: inherit;
  }
  .note04-p > p:first-of-type {
    margin-top: -0.25em;
  }
  .note04-p > p:last-of-type {
    margin-bottom: -0.25em;
  }
}
.note04-p.center {
  text-align: center;
}

.modal01-wrapper {
  position: fixed;
  background: rgba(0, 0, 0, 0.75);
  width: 0;
  height: 0;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  transition: 300ms;
  overflow: hidden;
  z-index: 10010;
}
.modal01-wrapper:not(.is-active) {
  pointer-events: none;
}
.modal01-wrapper.is-active {
  border-radius: 0;
  width: 100%;
  height: 100%;
}
.modal01-inner {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
}
.modal01-box {
  width: 80vw;
}
@media screen and (min-width: 769px) {
  .modal01-box {
    max-width: 800px;
    height: calc(45vw + 70px);
    max-height: 520px;
  }
}
.modal01-box iframe {
  width: 100%;
  height: 45vw;
  max-height: calc(100% - 70px);
}
.modal01-box #cboxContent .card01-ul-text {
  padding: 1.2rem;
  text-align: left;
}
.modal01-close {
  display: block;
  position: relative;
  width: 54px;
  height: 54px;
  margin: 0 0 16px auto;
  cursor: pointer;
}
.modal01-close::before, .modal01-close::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 2px;
  transform: translateY(-50%) rotate(45deg);
  background-color: #fff;
}
.modal01-close::after {
  transform: rotate(135deg);
}
.modal01-dialog {
  position: relative;
}
@media screen and (min-width: 769px) {
  .modal01-dialog {
    width: 54vw;
    max-width: 540px;
    height: 53vw;
    max-height: 530px;
  }
}
@media screen and (max-width: 768px) {
  .modal01-dialog {
    width: 94.667%;
  }
}
.modal01-dialog.noht {
  height: auto;
  max-height: none;
}
.modal01-dialog-inner {
  background: #fff;
}
@media screen and (min-width: 769px) {
  .modal01-dialog-inner {
    padding: 5.556%;
  }
}
@media screen and (max-width: 768px) {
  .modal01-dialog-inner {
    padding: 11.268% 5.634%;
  }
}
@media screen and (min-width: 769px) {
  .modal01-dialog-inner.thin {
    padding: 3.704% 5.556%;
  }
}
@media screen and (max-width: 768px) {
  .modal01-dialog-inner.thin {
    padding: 4.226% 5.634%;
  }
}

.modal02-wrapper {
  position: fixed;
  background: rgba(0, 0, 0, 0.75);
  width: 0;
  height: 0;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  transition: 300ms;
  overflow: hidden;
  z-index: 99999;
}
.modal02-wrapper:not(.is-active) {
  pointer-events: none;
}
.modal02-wrapper.is-active {
  border-radius: 0;
  width: 100%;
  height: 100%;
}
.modal02-inner {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
}
.modal02-box {
  max-height: 100vh;
}
.modal02-box figure {
  background: #fff;
  max-height: calc(100vh - 70px);
  padding: 0 2rem 2rem;
  line-height: 0;
  text-align: center;
  overflow-y: scroll;
  box-sizing: border-box;
}
.modal02-close {
  display: block;
  position: relative;
  width: 54px;
  height: 54px;
  margin: 0 0 16px auto;
  cursor: pointer;
}
.modal02-close::before, .modal02-close::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 2px;
  transform: translateY(-50%) rotate(45deg);
  background-color: #fff;
}
.modal02-close::after {
  transform: rotate(135deg);
}

@keyframes loading {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.load01-wrapper {
  position: fixed;
  background: rgba(255, 255, 255, 0.6);
  width: 100%;
  height: 100%;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: 9999;
}
.load01-loading {
  position: absolute;
  width: 48px;
  height: 48px;
  left: 50%;
  top: 50%;
  margin: -24px 0 0 -24px;
}
.load01-loading span {
  animation-name: loading;
  animation-duration: 1s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  display: block;
  margin: 2px;
  width: 20px;
  height: 20px;
  float: left;
}
.load01-loading span:nth-child(1) {
  animation-delay: 0s;
  background-color: #51c2f5;
}
.load01-loading span:nth-child(2) {
  animation-delay: 0.25s;
  background-color: #0d5faf;
}
.load01-loading span:nth-child(3) {
  clear: both;
  float: right;
  animation-delay: 0.5s;
  background-color: #ffd154;
}
.load01-loading span:nth-child(4) {
  animation-delay: 0.75s;
  background-color: #ff840b;
}

#cboxOverlay {
  background: #000;
}

.iframe-modal01#cboxOverlay {
  z-index: 10005;
}
.iframe-modal01#colorbox {
  overflow: visible;
  z-index: 10005;
}
@media screen and (max-width: 768px) {
  .iframe-modal01#colorbox {
    max-height: 85vh;
  }
}
.iframe-modal01 #cboxWrapper {
  overflow: visible;
}
@media screen and (min-width: 769px) {
  .iframe-modal01 #cboxWrapper {
    background: #fff;
  }
}
@media screen and (max-width: 768px) {
  .iframe-modal01 #cboxWrapper {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    max-height: 100%;
  }
  .iframe-modal01 #cboxWrapper > div {
    max-height: 5%;
  }
  .iframe-modal01 #cboxWrapper > div > div {
    max-height: 100%;
  }
  .iframe-modal01 #cboxWrapper > div:nth-of-type(2) {
    max-height: 90%;
  }
  .iframe-modal01 #cboxWrapper > div:nth-of-type(2) #cboxContent #cboxLoadedContent {
    max-height: 100%;
  }
}
.iframe-modal01 #cboxContent {
  overflow: visible;
}
.iframe-modal01 #cboxTopLeft, .iframe-modal01 #cboxTopRight, .iframe-modal01 #cboxBottomLeft, .iframe-modal01 #cboxBottomRight, .iframe-modal01 #cboxMiddleLeft, .iframe-modal01 #cboxMiddleRight, .iframe-modal01 #cboxTopCenter, .iframe-modal01 #cboxBottomCenter, .iframe-modal01 #cboxLoadingOverlay, .iframe-modal01 #cboxLoadingGraphic {
  background: none;
}
.iframe-modal01 #cboxLoadedContent {
  margin-bottom: 0;
}
.iframe-modal01 #cboxClose {
  background: none;
  width: 3.6rem;
  height: 3.6rem;
  color: transparent;
}
@media screen and (min-width: 769px) {
  .iframe-modal01 #cboxClose {
    top: -9.5rem;
    right: -21px;
  }
}
@media screen and (max-width: 768px) {
  .iframe-modal01 #cboxClose {
    top: -4.6rem;
    right: 0;
  }
}
.iframe-modal01 #cboxClose::before, .iframe-modal01 #cboxClose::after {
  content: "";
  position: absolute;
  background: #fff;
  border-radius: 0.5rem;
  width: 4.25rem;
  height: 0.5rem;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
}
.iframe-modal01 #cboxClose::before {
  transform: rotateZ(45deg);
}
.iframe-modal01 #cboxClose::after {
  transform: rotateZ(-45deg);
}

.facilities-slide#cboxOverlay {
  z-index: 10005;
}
.facilities-slide#colorbox {
  overflow: visible;
  z-index: 10005;
}
.facilities-slide #cboxWrapper {
  overflow: visible;
}
@media screen and (min-width: 769px) {
  .facilities-slide #cboxWrapper {
    background: #fff;
  }
}
.facilities-slide #cboxContent {
  overflow: visible;
}
.facilities-slide #cboxLoadedContent {
  margin-bottom: 0;
}
@media screen and (min-width: 769px) {
  .facilities-slide #cboxLoadedContent {
    padding: 1.9rem 0 1.1rem;
  }
}
.facilities-slide #cboxLoadedContent > div {
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .facilities-slide #cboxLoadedContent > div {
    max-width: 800px;
  }
}
@media screen and (max-width: 768px) {
  .facilities-slide #cboxLoadedContent > div .btns-wrapper:last-child {
    padding-bottom: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .facilities-slide #cboxTopLeft, .facilities-slide #cboxTopRight, .facilities-slide #cboxBottomLeft, .facilities-slide #cboxBottomRight, .facilities-slide #cboxMiddleLeft, .facilities-slide #cboxMiddleRight {
    width: 10px;
  }
}
.facilities-slide #cboxTopLeft, .facilities-slide #cboxTopRight, .facilities-slide #cboxBottomLeft, .facilities-slide #cboxBottomRight, .facilities-slide #cboxMiddleLeft, .facilities-slide #cboxMiddleRight, .facilities-slide #cboxTopCenter, .facilities-slide #cboxBottomCenter, .facilities-slide #cboxLoadingOverlay, .facilities-slide #cboxLoadingGraphic {
  background: none;
}
.facilities-slide #cboxPrevious, .facilities-slide #cboxNext {
  transform: translate(0, -50%);
  border-radius: 50%;
}
@media screen and (min-width: 769px) {
  .facilities-slide #cboxPrevious, .facilities-slide #cboxNext {
    background: #333;
    width: 4rem;
    height: 4rem;
    top: 50%;
  }
}
@media screen and (max-width: 768px) {
  .facilities-slide #cboxPrevious, .facilities-slide #cboxNext {
    background: rgba(51, 51, 51, 0.5);
    width: 4.5rem;
    height: 4.5rem;
    top: 22rem;
  }
}
.facilities-slide #cboxPrevious::after, .facilities-slide #cboxNext::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .facilities-slide #cboxPrevious::after, .facilities-slide #cboxNext::after {
    border-right: 0.35rem solid #fff;
    border-top: 0.35rem solid #fff;
    width: 0.85rem;
    height: 0.85rem;
  }
}
@media screen and (max-width: 768px) {
  .facilities-slide #cboxPrevious::after, .facilities-slide #cboxNext::after {
    border-right: 0.4rem solid #fff;
    border-top: 0.4rem solid #fff;
    width: 1.2rem;
    height: 1.2rem;
  }
}
@media screen and (min-width: 769px) {
  .facilities-slide #cboxPrevious {
    left: 0;
  }
}
@media screen and (max-width: 768px) {
  .facilities-slide #cboxPrevious {
    left: 1rem;
  }
}
.facilities-slide #cboxPrevious::after {
  left: 0.2rem;
  transform: rotateZ(45deg) scale(-1, -1);
}
.facilities-slide #cboxNext {
  left: auto;
}
@media screen and (min-width: 769px) {
  .facilities-slide #cboxNext {
    right: 0;
  }
}
@media screen and (max-width: 768px) {
  .facilities-slide #cboxNext {
    right: 1rem;
  }
}
.facilities-slide #cboxNext::after {
  right: 0.2rem;
  transform: rotateZ(45deg);
}
.facilities-slide #cboxClose {
  background: none;
  width: 3.6rem;
  height: 3.6rem;
  color: transparent;
}
@media screen and (min-width: 769px) {
  .facilities-slide #cboxClose {
    top: -9.5rem;
    right: -21px;
  }
}
@media screen and (max-width: 768px) {
  .facilities-slide #cboxClose {
    top: -6.6rem;
    right: 0;
  }
}
.facilities-slide #cboxClose::before, .facilities-slide #cboxClose::after {
  content: "";
  position: absolute;
  background: #fff;
  border-radius: 0.5rem;
  width: 4.25rem;
  height: 0.5rem;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
}
.facilities-slide #cboxClose::before {
  transform: rotateZ(45deg);
}
.facilities-slide #cboxClose::after {
  transform: rotateZ(-45deg);
}

.desc04-dl > dt.desc04-dl-index > p::after {
  content: "" !important;
}

@media screen and (max-width: 768px) {
  html[lang=en] .lower-table01-sp > dd table th {
    white-space: normal;
  }
}
@media screen and (max-width: 768px) {
  html[lang=en] .lower-table01-sp > dd table td {
    width: auto;
  }
}
@media screen and (min-width: 769px) {
  html[lang=en] .table03-dl-dt {
    padding: 2.5rem 0.5rem;
  }
}

.mt-10 {
  margin-top: 1rem;
}