@charset "utf-8";
/* CSS Document */
.shadow {
  box-shadow: 20px 20px 20px 0px #008ef8;
  display: inline-block;
}
.font_yellow {
  color: #00aafa;
}
.bottom_yajirusi {
  width: 24vw;
  margin: 4% auto;
  filter: drop-shadow(8px 15px 20px rgba(0, 170, 250, .4));
  -moz-filter: drop-shadow(8px 15px 20px rgba(0, 170, 250, .4));
  -webkit-filter: drop-shadow(8px 15px 20px rgba(0, 170, 250, .4));
  -ms-filter: drop-shadow(8px 15px 20px rgba(0, 170, 250, .4));
}
.bottom_yajirusi + picture {
  width: 79.73333333333333vw;
  display: block;
  margin: -15vw auto 0;
}
section h2 {
  font-family: 'Noto Sans JP', sans-serif;
}
.h2_english {
  font-size: 0.28rem;
  font-weight: normal;
  font-family: 'Roboto', sans-serif;
  letter-spacing: 0.12em;
  position: relative;
}
.h2_english i {
  background: url(../images/h2_bg_i_sp.png);
  width: 47px;
  height: 50px;
  position: absolute;
  transform: scale(0.5, 0.5);
  -moz-transform: scale(0.5, 0.5);
  -webkit-transform: scale(0.5, 0.5);
  -o-transform: scale(0.5, 0.5);
  -ms-transform: scale(0.5, 0.5);
  top: -20px;
  left: -38px;
}
.system_box {
  background: #fff;
  padding: 11.6% 10.6666% 8%;
  text-align: left;
  border-radius: 2.133333333333vw;
  box-shadow: 10px 10px 20px 0px #008ef8;
  margin-top: 11.73333%;
  position: relative;
}
.system_box > i {
  position: absolute;
  width: 13.33333vw;
  top: -6vw;
  left: 0;
  right: 0;
  margin: 0 auto;
}
.system_box_p {
  margin-bottom: 6.4%;
}
.system_box p {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: .28rem;
  text-align: center;
}
.system_box p span {
  font-size: .48rem;
  border-bottom: 2.5px solid #00aafa;
  border-radius: 1px;
  text-align: left;
  line-height: 1.75;
}
.hide-text {
  display: none;
  font-size: .24rem;
  font-weight: bold;
  line-height: 1.75;
  text-align: left;
}
.box {
  font-size: .24rem;
  text-align: left;
  background: #fff;
  width: 100%;
  padding: 8% 5.3333% 13.2%;
  margin-top: 5.3333%;
  border-radius: 2.133333333333vw;
}
.period {
  line-height: 1.4;
}
.icon_check {
  font-weight: bold;
  line-height: 2.5;
  background: url(../images/check_img.png) center left no-repeat;
  background-size: 6.266666666666667vw auto;
  padding-left: 6.266666666666667vw;
}
.leftBox,
.rightBox {
  text-align: center;
}
.new_10 {
  position: absolute;
  top: -3%;
  left: 0;
  right: 0;
  color: #f00;
  font-family: 'Roboto', sans-serif;
  font-size: .28rem;
  font-weight: bold;
  z-index: 2;
}
.icon_check span {
  vertical-align: text-top;
}
.balloon {
  position: relative;
  padding: 5.466667vw 2.8vw;
  width: 100%;
  background: #eef0f1;
  border-radius: 8px;
}
.first .balloon {
  padding: 5vw 2vw 9vw;
}
.balloon:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -8px;
  border: 8px solid transparent;
  border-top: 12px solid #eef0f1;
}
.balloon_10 {
  border: 1px solid #ff0;
}
.balloon_10:before {
  border-top: 12px solid #eef0f1;
  z-index:2;
}
.balloon_10:after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -9px;
  border: 9px solid transparent;
  border-top: 13px solid #ff0;
}
.balloon .midashi {
  font-size: 0.22rem;
  font-weight: bold;
  text-align: center;
}
.first .balloon .midashi {
  height: 8vw;
}
.balloon .midashi .flex {
  align-items: center;
}
.balloon .midashi .flex div {
  width: 49%;
  height: auto;
}
.first .balloon .midashi img {
  margin-top: 2%;
  vertical-align: baseline;
}
.balloon .midashi img {
  margin-left: 2%;
}
.first .balloon .midashi img {
  margin-left: 0;
}
.balloon p {
  font-weight: bold;
  text-align: center;
  line-height: 1;
  margin-top: 6%;
}
.first .balloon p {
  margin-top: 10%;
}
.balloon span {
  font-size: 0.26rem;
  vertical-align: sub;
  display: inline-block;
}
.balloon span.price {
  font-size: 1rem;
  font-weight: normal;
  font-family: 'Bebas Neue', sans-serif;
  letter-spacing: -0.02em;
  vertical-align: middle;
}
.first .balloon span.price {
  font-size: .6rem;
}
.balloon span.yen {
  vertical-align: bottom;
  line-height: 2;
}
.price_flex {
  font-size: .26rem;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: bold;
  margin: 8% 0 0;
  justify-content: space-around;
  border-bottom: 2px solid #000;
  width: 80%;
  align-items: baseline;
}
.first .price_flex {  
  width: 100%;
  margin: 12% 0 0;
}
.price_box {
  white-space: nowrap;
  font-size: .30rem;
}
.price_box span.rl {
  font-size: .30rem;
  vertical-align: baseline;
  line-height: 0.8;
}
.price_flex span.price {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 1.25rem;
  font-weight: normal;
  color: #f00;
  letter-spacing: -0.02rem;
  vertical-align: baseline;
  line-height: 0.9;
  display: inline-block;
  padding: 0 0.8vw;
}
.first .price_flex span.price {
  font-size: 1rem;
}
.price_flex .round {
  color: #000;
  line-height: 1.15;
  text-align: center;
  width: 18vw;
  height: 6vw;
  padding: 1vw 0;
  background: #00aafa;
  border-radius: 1vw;
  margin: 1vw auto 1.5vw;
}
.repay {
  position: absolute;
  left: 0;
  right: 0;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: .20rem;
  font-weight: bold;
  width: 25vw;
  height: 5.5vw;
  margin: 1vw auto 0;
  padding: 1vw;
  color: #000;
  line-height: 1.15;
  text-align: center;
  color: #fff;
  background: #00aafa;
  border-radius: 10vw;
  display: flex;
  align-items: center;
  justify-content: center;
}
.repay span {
  width: calc(100vw / var(--viewport) * 30);
  height: calc(100vw / var(--viewport) * 30);
  margin: 0 0 0 0.5em;
}
.drop-icon {
  display: inline-block;
  width: 30px;
  height: 30px;
  margin-top: 30px;
  margin-left: 10px;
  font-weight: bold;
  border-radius: 50%;
  background: url(../images/price/aco_plus.png) no-repeat;
  background-size: contain;
}
.box_repay {
    font-family: 'Noto Sans JP', sans-serif;
  font-weight: bold;
  margin-top: 5.3333%;
  padding-bottom: 5.3333%;
  background: #eef0f1;
}
.box_repay .title_sub {
  width: 68vw;
  font-weight: bold;
  margin: 0 auto 1em;
  text-align: center;
}
.box_repay .title {
  width: 60%;
  font-size: .42rem;
  background: #00aafa;
  margin: 0 auto 5.3333vw;
  border-radius: 0 !important;
}
.box_repay img {
  margin: 4vw 0;
}
.box_repay_topic {
  font-size: .24rem;
  text-align: center;
  line-height: 1.4;
}
.txt_red {
  color: #f00;
}
/* mv */
#mv {
  background: url(../images/price/kv_sp.jpg) center center no-repeat;
  background-size: 100% auto;
}
#mv h1 {
  padding-top: 15vw;
}
#mv h1 + span {
  color: #fff;
  font-family: 'Roboto', sans-serif;
  font-size: 3.2vw;
  font-weight: bold;
  display: block;
}

.sec01 {
  padding: 5.3333% 0 15.33333333333333%;
}
.sec01 .banner {
  margin-bottom: 9.3333%;
}
.sec01 .h2Box {
  width: 70vw;
  font-size: 0.54rem;
  text-align: center;
  margin: 0 auto 5.3333%;
  position: relative;
  font-weight: normal;
  line-height: 1;
}
.sec01 .h2Box img {
  margin-bottom: 4.8%;
}
.sec01 .h2Box .sub {
  font-size: 0.4rem;
  margin: 10px 0;
  display: inline-block;
}
.sec01 .h2Box .h2_english {
  font-size: 0.26rem;
  margin: 10px auto 0;
}

.sec02 {
  text-align: center;
  background: #f6f7f8;
  padding: 5.3333% 0 15.33333333333333%;
}
.sec02 h2 {
  font-size: .54rem;
}
.sec02 h2 .sub {
  font-size: .42rem;
}
.sec02 h2 .small {
  font-size: .44rem;
}
.sec02 h2 .font_yellow {
  font-size: .54rem;
}
.sec02 .system_box {
  padding: 0;
  box-shadow: none;
  margin-top: 8.266666666666667%;
}
.sec02 .system_box > div {
  padding: 0 5.3333% 5.7333%;
}
.sec02 .system_box > img {
  width: 100%;
}
.sec02 .system_box .hide-text {
  padding-top: 5.3333%;
  padding-bottom: 11%;
}
.sec02 .system_box .hide-text p {
  text-align: left;
  font-family: "Hiragino Kaku Gothic ProN",  "Hiragino Sans",  "游ゴシック",  "Yu Gothic",  sans-serif;
}
.sec02 .system_box .hide-text .caption {
  font-size: 0.24rem;
}
.sec02 .system_box .hide-text .title {
  text-align: center;
  font-weight: bold;
  background: #00aafa;
  border-radius: 8px;
  line-height: 9.333333333333333vw;
  margin-top: 8.666666666666667vw;
  margin-bottom: 4vw;
}
.sec02 .system_box .hide-text a {
  color: #646464;
  text-decoration: underline;
}
.sec02 .system_box .hide-text .midashi {
  font-weight: bold;
  text-indent: -1em;
  padding-left: 1em;
  margin-bottom: 6px;
}
.readmore {
  margin: 5.7333% auto 0;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: transparent;
  outline: 0;
  font-size: .28rem;
  font-family: 'Roboto', sans-serif;
}
.readmore span {
  letter-spacing: 0.12em;
  margin-right: 2.6666vw;
}
.readmore i {
  width: 7.2vw;
  transition: .2s;
  -webkit-transition: .2s;
}
.on-click i {
  transform: rotate(-180deg);
  -webkit-transform: rotate(-180deg);
}

.sec03 {
  text-align: center;
  padding: 14.53333333333333% 0 8%;
}
.sec03 .h2Box {
  background: url("../images/h2_bg_pc.png");
  background-size: cover;
  font-size: 0.48rem;
  line-height: 1.3333;
  margin: 0 0 0 5.36666%;
  height: calc(100vw / var(--viewport) * 276);
  padding: 0 6% 6% 0;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
.sec03 .h2Box .sub {
  font-size: 0.28rem;
  margin: 0 0 10px;
  display: inline-block;
}
.sec03 .h2Box .h2_english {
  font-size: 0.26rem;
  margin: 10px auto 0;
}
.sec03 .box {
  padding: 0;
}
.sec03 .box .inner {
  padding-top: 5.3333%;
}
.sec03 .box .sub {
  font-weight: bold;
  text-align: center;
  width: 68vw;
  margin: 0 auto 1em;
  position: relative;
}
.sec03 .box .sub:before,
.sec03 .box .sub:after {
  content: '';
  position: absolute;
  top: 40%;
  width: 28px;
  height: 2px;
  background-color: #000;
}
.sec03 .box .sub:before {
  left: 0;
  -webkit-transform: rotate(60deg);
  transform: rotate(60deg);
}
.sec03 .box .sub:after {
  right: 0;
  -webkit-transform: rotate(-60deg);
  transform: rotate(-60deg);
}
.sec03 .box .title {
  text-align: center;
  font-weight: bold;
  color: #fff;
  background: #00aafa;
  border-radius: 8px;
  line-height: 9.333333333333333vw;
  margin-bottom: 5.3333vw;
}
.sec03 .box .cf.first .left > .title {
  margin-bottom: 5.3333vw;
}
.sec03 .box .flex {
  display: flex;
  justify-content: space-between;
}
.sec03 .box .leftBox {
  width: 100%;
}
.sec03 .box .leftBox {
  float: left;
}
.sec03 .box .first .rightBox {
  width: 48%;
  position: relative;
}
.sec03 .box ul {
  background: #f0f0f0;
  padding: 2.6666vw 2.6666vw 0;
  border-radius: 2.133333333333vw 2.133333333333vw 0 0;
}
.sec03 .box ul.second {
  padding: 0 2.6666vw;
  margin-bottom: 5.3333vw;
  border-radius: 0 0 2.133333333333vw 2.133333333333vw;
}
.sec03 .box ul li {
  width: 47.45762711864407%;
  margin-bottom: 5.3333vw;
  float: left;
}
.sec03 .box ul.second li {
  margin-bottom: 2.6666vw;
}
.sec03 .box ul li:nth-child(2n) {
  float: right;
}
.sec03 .box ul li .title {
  margin-bottom: 1.6vw;
}
.sec03 .box .cf.first .right .imgBox {
  margin-bottom: 5.3333vw;
}
.sec03 .box .caption {
  margin-top: 1em;
  font-weight: bold;
}
.sec03 .box .first .caption {
  text-align: center;
}
.sec03 .box .caption span {
  font-size: 0.18rem;
}
.sec03 .box .balloon span.price {
  margin: 0 0.08rem;
}
.sec03 .box .right,
.sec03 .box .left.second {
  margin-top: 10vw;
}
.sec03 .box .cf.second .inner > div {
  margin-top: 5.3333vw;
}
.sec03 .box .cf.second .leftBox,
.sec03 .box .cf.second .rightBox {
  border: none;
}
.sec03 .box .cf.second .balloon:before,
.sec03 .box .cf.second .balloon:after {
  border: none;
}
.sec03 .box .cf.second .balloon span.once {
  font-size: 0.30rem;
  font-weight: bold;
}
.sec03 .box .cf.second .balloon span.price {
  color: #e60000;
}
.sec03 .box .cf.second .caption {
  font-size: 0.18rem;
}
.sec03 .box .cf.second > .right {
  background: #eef0f1;
  border-radius: 0 0 2.133333333333vw 2.133333333333vw;
  margin-top: 7.2vw;
}
.sec03 .box .cf.second > .right .inner {
  padding-top: 7.2vw;
  padding-bottom: 5.3333vw;
}
.sec03 .box .cf.second > .right .title {
  color: #00aafa;
  background: #ff0;
  margin-bottom: 10vw;
}
.sec03 .box .cf.second > .right .left,
.sec03 .box .cf.second > .right .right {
  width: 47%;
}
.sec03 .box .cf.second > .right .left {
  float: left;
}
.sec03 .box .cf.second > .right .right {
  float: right;
  margin-top: 0;
}
.sec03 .box .cf.second > .right .left p,
.sec03 .box .cf.second > .right .right p {
  font-weight: bold;
  text-align: center;
}
.sec03 .box .cf.second > .right .left .price,
.sec03 .box .cf.second > .right .right .price {
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  padding: 10px 0;
  margin: 1em 0;
}
.sec03 .box .cf.second > .right .caption {
  font-size: 0.24rem;
  line-height: 1.8;
}
.sec03 .box .cf.second > .right .caption span {
  font-size: 0.24rem;
  background: #ff0;
  padding: 5px;
}

.sec04 {
  text-align: center;
  padding: 8% 0 15.33333333333333%;
}
.sec04 .h2Box {
  font-size: 0.54rem;
  text-align: center;
  line-height: 1;
  letter-spacing: 0.01em;
  background: url("../images/sec05_h2_bg_price_pc.png");
  width: 66.66666vw;
  background-size: cover;
  margin: 0 auto;
  padding: 18.06666% 0 6.133333% 24.444444%;
}
.sec04 .h2Box .h2_english {
  font-size: 0.26rem;
  font-weight: normal;
  font-family: 'Roboto', sans-serif;
  letter-spacing: 0.12em;
  display: inline-block;
}

.sec05 {
  background: #F7F7F9;
  padding: 8% 0 15.33333333333333%;
}
.sec05 h2 {
  font-size: 0.54rem;
  text-align: center;
  line-height: 1;
  letter-spacing: 0.01em;
  background: url("../images/price/sec05_h2_bg_price_pc.png") top center no-repeat;
  width: 79.66666vw;
  background-size: cover;
  padding: 21.06666% 0 0 24.444444%;
  margin: 0 auto 12.66666666666667vw;
}
.sec05 h2 span {
  vertical-align: baseline;
}
.sec05 h2 span.big {
  font-size: 0.70rem;
}
.sec05 h2 span.small {
  font-size: 0.40rem;
}
.sec05 h2 span.h2_english {
  font-size: 0.26rem;
  font-weight: normal;
  font-family: 'Roboto', sans-serif;
  letter-spacing: 0.12em;
  display: inline-block;
}
.sec05 .sub {
  font-size: 0.26rem;
  font-weight: bold;
  text-align: center;
  color: #fff;
  background: #00aafa;
  display: inline-block;
  padding: 10px;
  width: 100%;
  border-radius: 0.26rem;
  margin-bottom: 8.533333333333333vw;
  position: relative;
}
.sec05 .sub:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -8px;
  border: 8px solid transparent;
  border-top: 12px solid #00aafa;
}
.sec05 .body_aco {
  display: none;
}
.simulationBox * {
  font-size: 0.28rem;
  font-weight: bold;
}
.simulationBox h3 {
  color: #00aafa;
  font-size: 0.26rem;
  font-weight: bold;
  margin-top: 7.4vw;
  margin-bottom: 6px;
}
.simulationBox h3.mt0 {
  margin-top: 0;
}
.simulationBox .ttl_aco {
  background: #fff;
  padding: 4vw 5.3333vw;
  position: relative;
}
.simulationBox .ttl_aco:after {
  border-right: 2px solid #00aafa;
  border-top: 2px solid #00aafa;
  border-radius: 2px;
  content: "";
  width: 4vw;
  height: 4vw;
  position: absolute;
  top: 50%;
  right: 5.3333vw;
  transform: rotate(135deg);
  -webkit-transform: rotate(135deg);
  margin-top: -3.6vw;
}
.simulationBox .ttl_aco.active:after {
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  margin-top: -0.9vw;
}
.simulationBox .body_aco {
  background: #fff;
  padding: 0 5.3333vw 4vw;
}
.simulationBox .body_aco label {
  display: inline-block;
  margin-bottom: 6vw;
}
.simulationBox .body_aco label:last-child {
  margin-bottom: 0;
}
.simulationBox .step2box {
  background: #fff;
  padding: 4vw 5.3333vw;
}
.simulationBox .step2box label {
  width: 45%;
  float: left;
}
.simulationBox .step2box p {
  margin-bottom: 1em;
}
.simulationBox #step1 input {
  display: none;
}
.simulationBox #step1 label {
  font-size: 0.26rem;
  padding-left: 0.39rem;
  margin-left: 10vw;
  position:relative;
}
.simulationBox #step1 label::before{
  content: "";
  display: block;
  position: absolute;
  top: 0.08rem;
  left: 0;
  width: 0.26rem;
  height: 0.26rem;
  background: #f6f7f8;
  border-radius: 50%;
}
.simulationBox #step1 input:checked + span::after {
  content: "";
  display: block;
  position: absolute;
  top: 0.11rem;
  left: 0.03rem;
  width: 0.20rem;
  height: 0.20rem;
  background: #00aafa;
  border-radius: 50%;
}
.simulationBox #step2 {
  margin-bottom: 3vw;
}
.simulationBox #step2 input {
  display: none;
}
.simulationBox #step2 input + span {
  font-size: 0.26rem;
  padding-left: 0.39rem;
  position:relative;
}
.simulationBox #step2 input + span::before {
  content: "";
  display: block;
  position: absolute;
  top: 0.03rem;
  left: 0;
  width: 0.26rem;
  height: 0.26rem;
  background: #00aafa;
  border-radius: 4px;
}
.simulationBox #step2 input:checked + span::after {
  content: "";
  display: block;
  position: absolute;
  top: -5px;
  left: 5px;
  width: 0.13rem;
  height: 0.26rem;
  transform: rotate(40deg);
  border-bottom: 3px solid #000;
  border-right: 3px solid #000;
}
.simulationBox .step2box .caption2 p {
  font-size: 0.24rem;
  text-indent: -1em;
  padding-left: 1em;
  margin-bottom: 0;
}
.simulationBox li.active {
  background: #00aafa;
}
.simulationBox #step3 label {
  margin-left: 10vw;
}
.simulationBox #step3 input {
  font-size: 0.26rem;
  padding-left: 0.39rem;
  position:relative;
}
.simulationBox #step3 input {
  display: none;
}
.simulationBox #step3 input + span {
  font-size: 0.26rem;
  padding-left: 0.39rem;
  position:relative;
}
.simulationBox #step3 input + span::before {
  content: "";
  display: block;
  position: absolute;
  top: 0.03rem;
  left: 0;
  width: 0.26rem;
  height: 0.26rem;
  background: #00aafa;
  border-radius: 4px;
}
.simulationBox #step3 .disabled input + span {
  color: #aaa;
}
.simulationBox #step3 .disabled:hover {
  cursor: default;
}
.simulationBox #step3 .disabled input + span::before {
  background: #aaa;
}
.simulationBox #step3 input:checked + span::after {
  content: "";
  display: block;
  position: absolute;
  top: -5px;
  left: 5px;
  width: 0.13rem;
  height: 0.26rem;
  transform: rotate(40deg);
  border-bottom: 3px solid #000;
  border-right: 3px solid #000;
}
.simulationBox #step4 {
  padding-bottom: 7.4vw;
}
.simulationBox #step4 .left {
  width: 49%;
  float: left;
}
.simulationBox #step4 .right {
  width: 49%;
  float: right;
}
.simulationBox #step4 label {
  width: 75%;
}
.simulationBox #step4 input {
  display: none;
}
.simulationBox #step4 label {
  font-size: 0.26rem;
  padding-left: 0.39rem;
  position:relative;
}
.simulationBox #step4 .left label {
  margin-left: 10vw;
}
.simulationBox #step4 label::before{
  content: "";
  display: block;
  position: absolute;
  top: 0.08rem;
  left: 0;
  width: 0.26rem;
  height: 0.26rem;
  background: #f6f7f8;
  border-radius: 50%;
}
.simulationBox #step4 .disabled input + span {
  color: #aaa;
}
.simulationBox #step4 .disabled:hover {
  cursor: default;
}
.simulationBox #step4 .disabled::before {
  background: #aaa;
}
.simulationBox #step4 input:checked + span::after {
  content: "";
  display: block;
  position: absolute;
  top: 0.11rem;
  left: 0.03rem;
  width: 0.20rem;
  height: 0.20rem;
  background: #00aafa;
  border-radius: 50%;
}

.simulationBox #sum {
  padding-bottom: 7.4vw;
}
.simulationBox #sum .cf {
  padding-bottom: 3.8vw;
  margin-bottom: 5vw;
  border-bottom: 2px solid #000;
}
.simulationBox #sum .midashi {
  line-height: 1;
  vertical-align: baseline;
  float: left;
}
.simulationBox #sum .midashi span {
  font-size: 1.20rem;
  line-height: 1;
  vertical-align: baseline;
}
.simulationBox #sum .price {
  float: right;
}
.simulationBox #sum .price #price {
  color: #00aafa;
  font-size: 1.20rem;
  font-family: 'Bebas Neue', sans-serif;
  margin-right: 10px;
}
.simulationBox #sum .price span {
  line-height: 1;
  vertical-align: baseline;
}
.simulationBox #sum .caption {
  font-size: 0.18rem;
}
.simulationBox #month .cf {
  padding-bottom: 3.8vw;
  margin-bottom: 5vw;
  border-bottom: 2px solid #000;
}
.simulationBox #month .parcent {
  position: relative;
  display: inline-block;
  color: #fff;
  font-size: 0.24rem;
  background: #000;
  border-radius: 8px;
  box-sizing: border-box;
  padding: 0.5em 1.2em;
  margin-top: 10px;
  margin-bottom: 10px;
}
.simulationBox #month .parcent:after {
  content: "";
  position: absolute;
  top: 50%;
  right: -1.4em;
  margin-top: -0.5em;
  border: 0.5em solid transparent;
  border-left: 1em solid #000;
  z-index: 1;
}
.simulationBox #month .parcent #parcent {
  color: #ff0;
  font-size: 0.24rem;
  font-weight: normal;
  font-family: 'Bebas Neue', sans-serif;
  margin-left: 0.5em;
}
.simulationBox #month .midashi {
  line-height: 1;
  vertical-align: baseline;
  float: left;
}
.simulationBox #month .midashi span {
  line-height: 1;
  vertical-align: baseline;
}
.simulationBox #month .price {
  float: right;
}
.simulationBox #month .price #price2 {
  color: #00aafa;
  font-size: 1.20rem;
  font-family: 'Bebas Neue', sans-serif;
  margin-right: 10px;
}
.simulationBox #month .price span {
  line-height: 1;
  vertical-align: baseline;
}
.simulationBox #month .caption {
  font-size: 0.18rem;
}
.simulationBox #month .caption2 p {
  font-size: 0.24rem;
  text-indent: -1em;
  padding-left: 1em;
}
.simulationBox #month .resetBox {
  color: #fff;
  font-weight: bold;
  text-align: center;
  line-height: 1.2rem;
  width: 78.66666666666667vw;
  display: block;
  margin: 7vw auto 12.6vw;
  background: #000;
  border-radius: 8vw;
  box-shadow: 4vw 4vw 6.666666666666667vw 0px #008ef8;
}

.secPrice {
  padding: 6.53% 0 0;
}
.secPrice .h2Box {
  background: url(../images/h2_bg_pc.png) center center no-repeat;
  background-size: contain;
  font-size: 0.48rem;
  line-height: 1.3333;
  letter-spacing: -1px;
  margin: 0 0 0 5.36666%;
  height: calc(100vw / var(--viewport) * 276);
  padding: 0 6% 6% 0;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
.secPrice .h2Box .sub {
  font-size: 0.28rem;
  margin: 0 0 10px;
  display: inline-block;
  vertical-align: baseline;
}
.secPrice .h2Box .h2_english {
  margin: 10px auto 0;
}
.secPrice .swiper-slide {
  position: relative;
}
.secPrice .swiper-slide .left,
.secPrice .swiper-slide .right {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
}
.secPrice .swiper-slide .left {
  left: 1px;
}
.secPrice .swiper-slide .right {
  right: 1px;
}
.secPrice .swiper-slide .right li {
  margin-left: auto;
}
.secPrice .swiper-slide li {
  font-size: calc(100vw / var(--viewport) * 24);
  font-weight: 600;
  margin-top: calc(100vw / var(--viewport) * 20);
}
.secPrice .swiper-slide li:first-child {
  margin-top: 0;
}
.secPrice .swiper-slide li {
  color: #fff;
  text-align: left;
  line-height: 1.3;
  width: calc(100vw / var(--viewport) * 198);
  height: calc(100vw / var(--viewport) * 56);
  display: flex !important;
  align-items: center;
  border: 1px solid #fff;
  padding-left: calc(100vw / var(--viewport) * 20);
  box-sizing: border-box;
  transition: all .4s;
  cursor: pointer;
}
.secPrice .swiper-slide li.line2 {
  height: calc(100vw / var(--viewport) * 78);
}
.secPrice .swiper-slide .parts {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  z-index: 1;
}
.secPrice .swiper-slide .imgBox {
  width: calc(100vw / var(--viewport) * 320);
  margin: 0 auto;
}
.secPrice .swiper-slide .parts img {
  width: calc(100vw / var(--viewport) * 320);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  opacity: 0;
  margin: 0 auto;
}
.secPrice .swiper-slide .parts img.active {
  opacity: 1;
  transition: all .4s;
}
.secPrice .swiper-slide.hige .imgBox svg {
  width: calc(100vw / var(--viewport) * 320);
  height: auto;
}

.sec06 {
  text-align: center;
  padding: 14.53333333333333% 0 8%;
}
.sec06 .txt_blue {
  color: #00A8FF;
  vertical-align: baseline !important;
}
.sec06 .h2Box {
  background: url(../images/h2_bg_pc.png) center center no-repeat;
  background-size: contain;
  font-size: 0.48rem;
  line-height: 1.3333;
  letter-spacing: -1px;
  margin: 0 0 0 5.36666%;
  height: calc(100vw / var(--viewport) * 276);
  padding: 0 6% 6% 0;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
.sec06 .h2Box .sub {
  font-size: 0.28rem;
  margin: 0 0 10px;
  display: inline-block;
  vertical-align: baseline;
}
.sec06 .h2Box .small {
  font-size: 0.38rem;
}
.sec06 .h2Box .h2_english {
  font-size: 0.26rem;
  margin: 10px auto 0;
}
.sec06 h3 {
  font-size: calc(20px + (50 - 20) * ((100vw - 320px) / (767 - 320)));
  line-height: 1.2em;
  text-align: center;
  transform: scale(1) rotate(0deg) translate(0px, 0px) skew(-6deg, 0deg);
  padding: calc(23px + (53 - 23) * ((100vw - 320px) / (767 - 320))) 0 calc(22px + (51 - 22) * ((100vw - 320px) / (767 - 320)));
}
.sec06 ul {
  padding: 0 0 calc(15px + (30 - 15) * ((100vw - 320px) / (767 - 320)));
  margin-bottom: 0;
  flex-wrap: wrap;
}
.sec06 ul li:first-child {
  width: 100%;
  margin-bottom: calc(27px + (58 - 27) * ((100vw - 320px) / (767 - 320)));
}
.sec06 .price_balloonBox {
  width: 100%;
  position: relative;
}
.sec06 .balloon {
  position: relative;
  padding: 3.466667vw 2vw 4vw;
  width: 100%;
  background: #eef0f1;
  border: 1px solid #fff;
  border-radius: 8px;
}
.sec06 .balloon:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -8px;
  border: 8px solid transparent;
  border-top: 12px solid #eef0f1;
}
.sec06 .balloon_10 {
  border: 1px solid #ff0;
}
.sec06 .balloon_10:before {
  border-top: 12px solid #eef0f1;
  z-index:2;
}
.sec06 .balloon_10:after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -9px;
  border: 9px solid transparent;
  border-top: 13px solid #ff0;
}
.sec06 .balloon .midashi {
  font-weight: bold;
}
.sec06 .first .balloon .midashi {
  height: 8vw;
}
.sec06 .balloon .midashi .flex {
  width: 70%;
  align-items: center;
  height: 10vw;
  margin: 0 auto;
}
.sec06 .balloon .midashi .flex div {
  width: 50%;
  height: auto;
}
.sec06 .first .balloon .midashi img {
  margin-top: 2%;
  vertical-align: baseline;
}
.sec06 .balloon .midashi img {
  height: auto;
}
.sec06 .first .balloon .midashi img {
  margin-left: 0;
}
.sec06 .balloon p {
  font-weight: bold;
  text-align: center;
  line-height: 1;
  white-space: nowrap;
}
.sec06 .first .balloon p {
  margin-top: 10%;
}
.sec06 .balloon p > span {
  vertical-align: sub;
  display: inline-block;
}
.sec06 .balloon span.price {
  font-weight: normal;
  letter-spacing: -0.02em;
  vertical-align: sub;
  margin: 0 2% 3%;
}
.sec06 .first .balloon span.price {
  font-size: .6rem;
}
.sec06 .price_flex {
  font-size: .26rem;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: bold;
  margin: 8% auto 0;
  padding-bottom: 4%;
  justify-content: space-around;
  border-bottom: 1px solid #000;
  width: 100%;
  align-items: end;
  display: flex;
}
.sec06 .price_box {
  white-space: nowrap;
  margin: 0;
}
.sec06 .price_box span.rl {
  font-size: calc(15px + (36 - 15) * ((100vw - 320px) / (767 - 320)));
  vertical-align: baseline;
  line-height: 0.8;
}
.sec06 .price_flex span.price {
  font-weight: normal;
  color: #f00;
  font-size: calc(43px + (110 - 43) * ((100vw - 320px) / (767 - 320)));
  letter-spacing: -0.02rem;
  vertical-align: baseline;
  line-height: 0.9;
  display: inline-block;
  padding: 0 0.8vw;
  margin: 3% 0;
}
.sec06 .price_flex .round {
  font-weight: bold;
  line-height: 1.15;
  text-align: center;
  width: 27vw;
  height: auto;
  padding: 2vw 0;
  background: #fff;
  border:1px solid #222;
  border-radius: .8vw;
  margin: 0;
  /*margin: 1vw 0 0 3.5vw;*/
}
.sec06 .price_flex_txt_10 {
  font-size: .22rem;
  font-weight: bold;
  margin-top: 2%;
}
.sec06 .price_flex_txt_10 span.txt_yellow {
  font-size: .22rem;
  color: #00aafa;
  vertical-align: baseline;
}

.sec07 {
  text-align: center;
  padding: 14.53333333333333% 0 16.13333333333333%;
}
.sec07 .h2Box {
  background: url(../images/h2_bg_pc.png) center center no-repeat;
  background-size: contain;
  font-size: 0.48rem;
  line-height: 1;
  letter-spacing: -1px;
  margin: 0 0 0 5.36666%;
  height: calc(100vw / var(--viewport) * 276);
  padding: 0 6% 6% 0;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
.sec07 .h2Box .sub {
  font-size: 0.28rem;
  margin: 0 0 10px;
  display: inline-block;
  vertical-align: baseline;
}
.sec07 .h2Box .big {
  font-size: 0.88rem;
  margin: 0 0 10px;
  display: inline-block;
  vertical-align: baseline;
}
.sec07 .h2Box .h2_english {
  font-size: 0.26rem;
  margin: 10px auto 0;
}
.sec07 .box p {
  font-weight: bold;
}
.sec07 .box ul {
  margin-top: 1.8em;
  margin-bottom: 1em;
}
.sec07 .box img {
  margin-top: 0.5em;
}
.sec07 .box .img02 {
  width: 50.6666%;
}
.sec07 .box .caption {
  font-size: 0.18rem;
  margin-top: 1em;
}

@media screen and (max-width:767px) {
  .font-16-sp {
    font-size: calc(7px + (16 - 7) * ((100vw - 320px) / (767 - 320)));
  }
  .font-m-22-sp {
    font-size: calc(9px + (22 - 9) * ((100vw - 320px) / (767 - 320)));
  }
  .font-m-24-sp {
    font-size: calc(11px + (24 - 11) * ((100vw - 320px) / (767 - 320)));
  }
  .font-m-32-sp {
    font-size: calc(13px + (33 - 13) * ((100vw - 320px) / (767 - 320)));
  }
  .font-m-36-sp {
    font-size: calc(15px + (36 - 15) * ((100vw - 320px) / (767 - 320)));
  }
}

@media screen and (min-width: 768px) {
  .h2_english i {
    top: -17px;
  }
  .system_box {
    width: 334px;
    margin-top: 58px;
    margin-right: 39px;
    float: left;
    border-radius: 9px;
  }
  .system_box:nth-child(3) {
    margin-right: 0;
  }
  .system_box p {
    font-size: 14px;
  }
  .hide-text {
    font-size: 14px;
  }
  .readmore {
    font-size: 14px;
    margin: 28px auto 0;
    position: relative;
  }
  .readmore span {
    margin-right: 11px;
    position: absolute;
    left: 126px;
    cursor: pointer;
  }
  .readmore i {
    width: 28px;
    position: absolute;
    right: 114px;
    cursor: pointer;
  }
  .readmore i:hover {
    margin-top: 15px;
  }
  .readmore.on-click i:hover {
    margin-top: -15px;
  }
  .box {
    font-size: 14px;
    margin-top: 34px;
    border-radius: 9px;
  }

  /* mv */
  #mv {
    background: url(../images/price/kv_pc.jpg) center center no-repeat;
    background-size: 100% auto;
  }
  #mv .inner {
    height: 390px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
  #mv .inner h1 {
    padding-top: 0;
  }
  #mv h1 + span {
    font-size: 18px;
    display: block;
    margin-top: 15px;
  }

  .sec01 {
    padding: 60px 0 88px;
  }
  .sec01 .banner {
    margin-bottom: 62px;
  }
  .sec01 .h2Box {
    width: 383px;
    font-size: 38px;
    line-height: 0.7;
  }
  .sec01 .h2Box img {
    margin-bottom: 26px;
  }
  .sec01 .h2Box .sub {
    font-size: 24px;
    margin: 0 0 20px;
  }
  .sec01 .h2Box .h2_english {
    font-size: 18px;
    font-weight: bold;
    display: block;
    margin-top: 20px;
  }

  .sec02 {
    padding: 60px 0 90px;
  }
  .sec02 h2 {
    font-size: 42px;
  }
  .sec02 h2 .sub {
    font-size: 24px;
  }
  .sec02 h2 .small {
    font-size: 32px;
  }
  .sec02 h2 .font_yellow {
    font-size: 42px;
  }
  .bottom_yajirusi {
    width: 156px;
    margin: 30px auto 10px;
    padding-left: 0;
  }
  .bottom_yajirusi + picture {
    width: 451px;
    margin: 30px auto 0;
  }
  .sec02 .system_box_area {
    margin-top: 0;
  }
  .sec02 .system_box {
    margin-top: 58px;
  }
  .sec02 .system_box > div {
    padding: 0 0 30px;
  }
  .sec02 .system_box .hide-text {
    padding: 25px 20px 62px;
  }
  .sec02 .system_box .hide-text .caption {
    font-size: 12px;
  }
  .sec02 .system_box .hide-text .title {
    line-height: 30px;
    margin-top: 32px;
    margin-bottom: 15px;
  }

  .sec03 {
    padding: 80px 0 50px;
  }
  .sec03 .h2Box {
    background: url(../images/h2_bg_pc.png) no-repeat;
    width: 430px;
    background-size: contain;
    font-size: 32px;
    line-height: 1.3479;
    padding: 8px 28px 45px 0;
    margin: 0 0 0 340px;
    height: 194px;
  }
  .sec03 .h2Box .sub {
    font-size: 24px;
  }
  .sec03 .h2Box .h2_english {
    font-size: 18px;
  }
  .sec03 .box {
    padding: 60px;
  }
  .sec03 .box .inner {
    padding: 0;
  }
  .sec03 .box .title {
    font-size: 20px;
    line-height: 50px;
    border-radius: 5px;
  }
  .sec03 .box .left,
  .sec03 .box .right {
    width: 450px;
  }
  .sec03 .box .left {
    float: left;
  }
  .sec03 .box .right {
    float: right;
  }
  .sec03 .box .sub {
    font-size: 18px;
    width: 388px;
  }
  .sec03 .box .right,
  .sec03 .box .left.second,
  .sec03 .box .cf.second > .right {
    margin-top: 0;
  }
  .sec03 .box .left.second {
    width: 500px;
    /*margin-top: 30px;*/
  }
  .sec03 .box .left.second .balloon {
    padding: 20px 0;
  }
  .sec03 .box .left.second .balloon .price {
    font-size: 55px;
    letter-spacing: -0.03rem;
    margin: 0;
  }
  .sec03 .box .title,
  .sec03 .box .cf.first .left > .title {
    margin-bottom: 20px;
  }
  .sec03 .box ul {
    padding: 20px 20px 0;
    border-radius: 5px 5px 0 0;
  }
  .sec03 .box ul.second {
    padding: 10px 20px 20px;
    margin-bottom: 20px;
    border-radius: 0 0 5px 5px;
  }
  .sec03 .box ul li {
    width: 200px;
    margin-bottom: 0;
  }
  .sec03 .box ul.second li {
    margin-bottom: 0;
  }
  .sec03 .box ul li .title {
    font-size: 12px;
    line-height: 29px;
    margin-bottom: 9px;
  }
  .sec03 .box .leftBox,
  .sec03 .box .rightBox {
    width: 100%;
  }
  .first .balloon {
  height: 190px;  
  }
  .balloon, .first .balloon {
    padding: 30px 10px 40px;
    border-radius: 5px;
  }
  .balloon .midashi {
    font-size: 17px;
  }
  .first .balloon .midashi {
    height: 50px;
  }
  .balloon .midashi .flex div {
  height: 50px;
  }
  .first .balloon p {
  margin-top: 10px;
  }
  .balloon span {
    font-size: 20px;
  }
  .balloon span.price {
    font-size: 60px;
    letter-spacing: 0;
  }
  .first .balloon span.price {
  font-size: 44px;
  }
  .sec03 .box .balloon span.price {
    margin: 0 8px;
  }
  .price_flex {
    display: inline-flex;
    /* padding-left: 8px; */
    padding-bottom: 6px;
    margin-top: 26px;
  }
  .price_box {
  font-size: 24px;
  }
  .first .price_box {
  font-size: 15px;
  }
  .price_box span.rl {
    font-size: 26px;
  }
  .first .price_box span.rl {
    font-size: 15px;
  }
  .price_flex span.price {
    font-size: 76px;
    letter-spacing: -0.03rem;
    padding: 0 2px;
  }
  .first .price_flex span.price {
    font-size: 50px;
  }
  .price_flex .round {
    font-size: 18px;
    width: 100px;
    height: 30px;
    padding: 5px 0 0;
    margin: 0px 0 0;
    border-radius: 4px;
  }
  .first .price_flex .round {
    font-size: 14px;
    width: 70px;
    height: 30px;
  }
  .price_flex .round span {
    font-size: 18px;
  }
  .first .price_flex .round span {
    font-size: 16px;
  }
  .sec03 .box .caption {
    font-size: 14px;
  }
  .sec03 .box .caption span {
    font-size: 12px;
  }
  .sec03 .box .cf.first .right .imgBox {
    padding: 79px 20px;
    background: #f0f0f0;
    border-radius: 5px;
    margin-bottom: 20px;
  }
  .sec03 .box > .cf.second {
    margin-top: 50px;
  }
  .sec03 .box .cf.second .inner > div {
    margin-top: 20px;
  }
  .sec03 .box .cf.second .balloon span.once {
    font-size: 16px;
  }
  .sec03 .box .cf.second .caption {
    font-size: 12px;
  }
  .sec03 .box .cf.second > .right {
    border-radius: 8px;
  }
  .sec03 .box .cf.second > .right .inner {
    padding: 30px 20px 10px;
  }
  .sec03 .box .cf.second > .right .title {
    margin-bottom: 0;
  }
  .sec03 .box .cf.second > .right .cf {
    margin-top: 39px;
  }
  .sec03 .box .cf.second > .right .left,
  .sec03 .box .cf.second > .right .right {
    width: 170px;
  }
  .sec03 .box .cf.second > .right .caption,
  .sec03 .box .cf.second > .right .caption span {
    font-size: 14px;
  }

  .sec04 {
    padding: 50px 0 83px;
  }
  .sec04 .h2Box {
    background: url(../images/sec05_h2_bg_price_pc.png)no-repeat;
    width: 348px;
    background-size: contain;
    font-size: 38px;
    line-height: 1;
    letter-spacing: 0.001em;
    margin: 0 auto;
    padding: 95px 0 35px 115px;
  }
  .sec04 .h2Box .sub {
    font-size: 62px;
    margin: 0 auto;
    vertical-align: baseline;
  }
  .sec04 .h2Box .h2_english {
    font-size: 18px;
    font-weight: bold;
    margin: 19px auto 0;
    letter-spacing: 0.12em;
    display: block;
  }
  .sec04 .system_box {
    padding: 65px 32px 38px;
    border-radius: 8px;
  }
  .sec04 .system_box i {
    width: 50px;
    top: -25px;
  }
  .sec04 .system_box_p {
    margin-bottom: 36px;
  }
  .sec04 .system_box p {
    font-size: 16px;
  }
  .sec04 .system_box p span {
    font-size: 24px;
    line-height: initial;
    border-bottom: 3px solid #00aafa;
    border-radius: 2px;
  }
  .sec04 .hide-text {
    line-height: 1.8;
  }
  .sec04 .readmore {
    margin: 36px auto 0;
  }
  .sec04 .readmore span {
    left: 94px;
  }
  .sec04 .readmore i {
    width: 28px;
    top: initial;
    right: 82px;
  }
  .sec04 .system02_txt {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 23px;
    text-align: center;
    margin: 0 auto 27px;
  }

  .sec05 {
    padding: 78px 0 100px;
  }
  .sec05 h2 {
    width: 375px;
    background-size: contain;
    font-size: 38px;
    letter-spacing: 0.001em;
    margin: 0 auto;
    padding: 57px 0 0 115px;
  }
  .sec05 h2 span {
    font-size: 62px;
    margin: 0 auto;
    vertical-align: baseline;
  }
  .sec05 h2 span.big {
  font-family: 'Roboto', sans-serif;
    font-size: 51px;
  }
  .sec05 h2 span.small {
    font-size: 29px;
  }
  .sec05 h2 span.h2_english {
    font-size: 18px;
    margin-top: 8px;
    display: block;
  }
  .sec05 .sub {
    font-size: 20px;
    padding: 9px;
    margin-top: 78px;
    margin-bottom: 53px;
    border-radius: 50px;
  }
  .simulationBox * {
    font-size: 16px;
  }
  .simulationBox .left,
  .simulationBox .right {
    width: 510px;
  }
  .simulationBox .left {
    float: left;
  }
  .simulationBox .right {
    float: right;
  }
  .simulationBox h3 {
    font-size: 20px;
    margin-top: 39px;
  }
  .simulationBox .ttl_aco {
    font-size: 18px;
    padding: 18px;
  }
  .simulationBox .ttl_aco:hover {
    opacity: 0.8;
    cursor: pointer;
  }
  .simulationBox .ttl_aco:after {
    width: 13px;
    height: 13px;
    right: 28px;
    margin-top: -13px;
  }
  .simulationBox .ttl_aco.active:after {
    margin-top: -4px;
  }
  .simulationBox #step1 label {
    font-size: 16px;
    padding-left: 24px;
    margin-left: 0;
    margin-bottom: 25px;
  }
  .simulationBox #step1 label::before {
    top: 4px;
    width: 16px;
    height: 16px;
  }
  .simulationBox #step1 input:checked + span::after {
    top: 6px;
    left: 2px;
    width: 12px;
    height: 12px;
  }
  .simulationBox .body_aco {
    padding: 0 76px;
  }
  .simulationBox .step2box {
    padding: 18px;
  }
  .simulationBox .step2box label {
    width: 50%;
  }
  .simulationBox .step2box p {
    font-size: 18px;
  }
  .simulationBox .step2box .caption2 p {
    font-size: 16px;
    margin-top: -1em;
  }
  .simulationBox #step2 input + span {
    font-size: 18px;
    padding-left: 24px;
  }
  .simulationBox #step2 input + span::before {
    top: 4px;
    width: 16px;
    height: 16px;
  }
  .simulationBox #step2 input:checked + span::after {
    top: 1px;
    left: 4px;
    width: 6px;
    height: 12px;
  }
  .simulationBox #step3 label {
    margin-left: 0;
    margin-bottom: 25px;
  }
  .simulationBox #step3 input + span {
    font-size: 18px;
    padding-left: 24px;
  }
  .simulationBox #step3 input + span::before {
    top: 4px;
    width: 16px;
    height: 16px;
  }
  .simulationBox #step3 input:checked + span::after {
    top: 1px;
    left: 4px;
    width: 6px;
    height: 12px;
  }
  .simulationBox #step4 {
    padding-bottom: 0;
  }
  .simulationBox #step4 label {
    font-size: 16px;
    width: 100%;
    margin-bottom: 25px;
  }
  .simulationBox #step4 .left,
  .simulationBox #step4 .right {
    width: 50%;
  }
  .simulationBox #step4 .left label,
  .simulationBox #step4 .right label {
    width: 50%;
    padding-left: 24px;
  }
  .simulationBox #step4 .left label {
    margin-left: 0;
  }
  .simulationBox #step4 label::before {
    top: 4px;
    width: 16px;
    height: 16px;
  }
  .simulationBox #step4 input:checked + span::after {
    top: 6px;
    left: 2px;
    width: 12px;
    height: 12px;
  }

  .simulationBox #sum {
    padding-top: 33px;
    padding-bottom: 58px;
  }
  .simulationBox #sum .cf {
    padding-bottom: 12px;
    margin-bottom: 12px;
  }
  .simulationBox #sum .caption {
    font-size: 12px;
  }
  .simulationBox #sum .midashi {
    font-size: 17px;
  }
  .simulationBox #sum .midashi span {
    font-size: 60px;
  }
  .simulationBox #sum .price {
    font-size: 20px;
  }
  .simulationBox #sum .price #price {
    font-size: 60px;
  }

  .simulationBox #month .cf {
    padding-bottom: 12px;
    margin-bottom: 12px;
  }
  .simulationBox #month .midashi {
    font-size: 17px;
  }
  .simulationBox #month .parcent,
  .simulationBox #month .parcent #parcent {
    font-size: 16px;
  }
  .simulationBox #month .parcent {
    margin-top: 0;
  }
  .simulationBox #month .price {
    font-size: 20px;
  }
  .simulationBox #month .price #price2 {
    font-size: 60px;
  }
  .simulationBox #month .caption {
    font-size: 12px;
  }
  .simulationBox #month .caption2 p {
    font-size: 14px;
  }
  .simulationBox #month .caption2 {
    margin-top: 13px;
  }
  .simulationBox #month .resetBox {
    display: none;
  }
  .simulationBox .resetBox {
    color: #fff;
    font-weight: bold;
    text-align: center;
    line-height: 1.2rem;
    width: 300px;
    display: block;
    padding: 20px;
    margin: 90px auto 0;
    background: #000;
    border-radius: 60px;
    box-shadow: 30px 30px 50px 0px rgba(0, 170, 250, 0.4);
  }
  .simulationBox .resetBox:hover {
    opacity: 0.8;
    cursor: pointer;
  }

  .secPrice {
    padding: 30px 0 0;
  }
  .secPrice .h2Box {
    background: url(../images/h2_bg_pc.png) no-repeat;
    width: 430px;
    background-size: contain;
    font-size: 32px;
    line-height: 1.3479;
    padding: 8px 28px 45px 0;
    margin: 0 0 0 340px;
    height: 194px;
  }
  .secPrice .h2Box .sub {
    font-size: 18px;
  }
  .secPrice .h2Box .h2_english {
    font-size: 18px;
  }
  .secPrice .swiper-slide {
    width: 700px;
    margin: 0 auto;
  }
  .secPrice .swiper-slide .left {
    left: 83px;
  }
  .secPrice .swiper-slide .right {
    right: 83px;
  }
  .secPrice .swiper-slide li {
    font-size: 14px;
    margin-top: 20px;
  }
  .secPrice .swiper-slide li:first-child {
    margin-top: 0;
  }
  .secPrice .swiper-slide li {
    width: 112px;
    height: 30px;
    padding-left: 10px;
  }
  .secPrice .swiper-slide li.line2 {
    height: 48px;
  }
  .secPrice .swiper-slide li.active {
    width: 130px;
  }
  .secPrice .swiper-slide li.active:after {
    width: 8px;
    height: 8px;
    top: calc(50% - 3px);
    right: 10px;
  }
  .secPrice .swiper-slide .parts {
    width: 270px;
  }
  .secPrice .swiper-slide.hige .imgBox {
    width: 270px;
  }
  .secPrice .swiper-slide.hige .imgBox svg {
    width: 270px;
  }
  /*.secPrice .swiper-slide.hige .left li a {
    width: 127px;
  }*/
  /*.secPrice .swiper-slide.hige .left li.active a {
    width: 135px;
  }*/
  .secPrice .swiper-slide.all .imgBox {
    background-size: 270px auto;
    width: 270px;
  }
  .secPrice .swiper-slide.all .imgBox svg {
    width: 270px;
  }
  .secPrice .swiper-slide.vio .imgBox {
    background-size: 273px auto;
    width: 273px;
  }
  .secPrice .swiper-slide.vio .imgBox svg {
    width: 273px;
  }

  .sec06 {
    padding: 80px 0 0;
  }
  .sec06 .font-12 {
    font-size: 12px;
  }
  .sec06 .font-m-24 {
    font-size: 24px;
  }
  .sec06 .h2Box {
    background: url(../images/h2_bg_pc.png) no-repeat;
    width: 430px;
    background-size: contain;
    font-size: 32px;
    line-height: 1.3479;
    padding: 8px 28px 45px 0;
    margin: 0 0 0 340px;
    height: 194px;
  }
  .sec06 .h2Box .sub {
    font-size: 18px;
  }
  .sec06 .h2Box .small {
    font-size: 25px;
  }
  .sec06 .h2Box .h2_english {
    font-size: 18px;
  }
  .sec06 .box {
    padding: 25px 45px 40px;
  }
  .sec06 .box .left,
  .sec06 .box .right {
    width: 471px;
  }
  .sec06 .box .left {
    float: left;
  }
  .sec06 .box .right {
    margin-top: 0;
    float: right;
  }
  .sec06 h3 {
    font-size: 36px;
    padding: 20px 0 35px;
  }
  .sec06 ul {
    padding: 0 0 23px;
  }
  .sec06 ul li:first-child {
    margin-bottom: 45px;
  }
  .sec06 ul .flex {
    width: 100%;
  }
  .sec06 .balloon {
    padding: 20px 60px;
    border-radius: 5px;
  }
  .sec06 .first .balloon .midashi {
    height: auto;
  }
  .sec06 .balloon .midashi .flex {
    width: 260px;
    height: auto;
    margin: 0 auto;
  }
  .sec06 .balloon .midashi .flex div {
    font-size: 24px;
    line-height: 1;
    width: 50%;
    height: auto;
  }
  .sec06 .first .balloon .midashi img {
    margin-top: 2%;
    vertical-align: baseline;
  }
  .sec06 .balloon .midashi img {
    height: auto;
  }
  .sec06 .first .balloon .midashi img {
    margin-left: 0;
  }
  .sec06 .balloon p {
    font-weight: bold;
    text-align: center;
    line-height: 1;
    white-space: nowrap;
  }
  .sec06 .first .balloon p {
    margin-top: 10%;
  }
  .sec06 .balloon p > span {
    vertical-align: sub;
    display: inline-block;
  }
  .sec06 .balloon span.price {
    font-weight: normal;
    letter-spacing: -0.02em;
    vertical-align: sub;
    margin: 0 2%;
  }
  .sec06 .first .balloon span.price {
    font-size: .6rem;
  }
  .sec06 .price_flex {
    padding-bottom: 15px;
    margin-top: 26px;
    justify-content: space-evenly;
  }
  .sec06 .price_box {
    white-space: nowrap;
    margin: 0 !important;
  }
  .sec06 .price_box span.rl {
    font-size: 26px;
  }
  .sec06 .price_flex span.price {
    font-size: 68px;
    letter-spacing: -0.03rem;
    padding: 0 2px;
    margin: 0;
  }
  .sec06 .price_flex .round {
    font-weight: bold;
    line-height: 1.15;
    text-align: center;
    width: 130px;
    height: auto;
    padding: 5px 0;
    border-radius: 4px;
    margin: 0;
    /*margin: 1vw 0 0 3.5vw;*/
  }
  .sec06 .price_flex_txt_10 {
    font-size: 14px;
    margin: 20px 0 0;
  }
  .sec06 .price_flex_txt_10 span {
    font-size: 14px;
  }
  .sec06 .price_flex_txt_10 span.txt_yellow {
    font-size: 14px;
  }

  .sec07 {
    padding: 80px 0 94px;
  }
  .sec07 .h2Box {
    background: url(../images/h2_bg_pc.png) no-repeat;
    width: 430px;
    background-size: contain;
    font-size: 32px;
    line-height: 1;
    padding: 8px 28px 45px 0;
    margin: 0 0 0 340px;
    height: 194px;
  }
  .sec07 .h2Box .sub {
    font-size: 18px;
  }
  .sec07 .h2Box .small {
    margin-bottom: 0;
  }
  .sec07 .h2Box .big {
    font-size: 51px;
  }
  .sec07 .h2Box .h2_english {
    font-size: 18px;
  }
  .sec07 .box {
    padding: 60px;
  }
  .sec07 .box > p {
    font-size: 17px;
    line-height: 1.8;
    text-align: center;
  }
  .sec07 .box ul {
  width: 800px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-left: auto;
  margin-right: auto;
  }
  .sec07 .box li {
    margin-bottom: 27px;
  }
  .sec07 .box li:nth-child(2n) {
  width: 34%;
  }
  .icon_check {
    font-size: 21px;
    line-height: 36px;
    background-size: 33px auto;
    background-position: left top;
    padding-left: 35px;
  }
  .sec07 .box img {
    width: 464px;
  }
  .sec07 .box .img02 {
    width: 190px;
  }
  .sec07 .box .caption {
    font-size: 12px;
    width: 397px;
    margin-top: 1em;
  }
  .repay {
    font-size: 14px;
    width: 140px;
  height: auto;
  margin: 10px auto 0;
  padding: 8px 0;
  }
  .repay span {
    width: 22px;
    height: 22px;
  }
  .new_10 {
  font-size: 22px;
  top: -4%;
  }
  .box_repay {
  padding-bottom: 40px;
  text-align: center;
  }
  .box_repay .title_sub {
  width: auto;
  font-size: 22px;
  padding: 30px 0 0 0;
  }
  .box_repay .title {
  width: 200px;
  margin-bottom: 30px !important;
  }
  .box_repay_topic {
  font-size: 20px;
  }
  .box_repay img {
  margin: 30px 0;
  }
}

.flex {
  display: flex;
  justify-content: space-between;
}
.sec03 .box .balloon span.price .odometer-inside span {
  font-size: .6rem;
  vertical-align: baseline;
}
.price_flex .price_box {
  margin: 0 auto;
}
@media screen and (min-width:768px) {
  .sec03 .box .balloon span.price .odometer-inside span {
    font-size: 44px;
  }
  .price_flex {
    display: block;
    padding-bottom: 15px;
  }
}

:root {
  --viewport: 750;
}
#float_waribiki {
  width: 100%;
  position: fixed;
  bottom: 26vw;
  right: 0;
  display: flex;
  justify-content: flex-end;
  transition: .5s;
  z-index: 1004;
  transform: translateX(0);
}
#float_waribiki.hide {
  transform: translateX(88.4vw);
}
#float_waribiki div {
  background: url(../images/price/txt_hide.svg) center center no-repeat, #000;
  width: 7vw;
  border-radius: 1.5vw 0 0 1.5vw;
}
#float_waribiki.hide div {
  background: url(../images/price/txt_show.svg) center center no-repeat, #000;
}
#float_waribiki ul {
  width: 82.4vw;
  background: #f9d100;
  padding:5vw 3vw;
  box-sizing: content-box;
}
#float_waribiki ul li {
  color: #fff;
  font-size: 2.8vw;
  font-weight: bold;
  text-align: center;
  width: calc(100vw / var(--viewport) * 190);
  background: #000;
  box-sizing: border-box;
  border-radius: calc(100vw / var(--viewport) * 5);
  position: relative;
  cursor: pointer;
}
#float_waribiki ul li.disabled {
  color: #999;
  pointer-events: none;
}
#float_waribiki ul li:before {
  content: "";
  background: url(../images/price/check_off.svg) top center no-repeat;
  background-size: 100% auto;
  width: calc(100vw / var(--viewport) * 41);
  height: calc(100vw / var(--viewport) * 57);
  display: inline-block;
  vertical-align: middle;
  position: absolute;
  top:50%;
  transform:translateY(-50%);
  left:1.5vw;
}
#float_waribiki ul li.active:before {
  content: "";
  background: url(../images/price/check_on.svg) top center no-repeat;
  background-size: 100% auto;
}
#float_waribiki ul li span {
  line-height: calc(100vw / var(--viewport) * 69);
  margin-left: calc(100vw / var(--viewport) * 41);
}
.odometer.odometer-animating-up .odometer-ribbon-inner,
.odometer.odometer-animating-down.odometer-animating .odometer-ribbon-inner {
    -webkit-transition-duration: .5s !important;
    -moz-transition-duration: .5s !important;
    -ms-transition-duration: .5s !important;
    -o-transition-duration: .5s !important;
    transition-duration: .5s !important
}
select.selectbox {
  zoom: 1;
  position: relative;
}
select.selectbox p.select {
  zoom: 1;
  color: #222;
  text-decoration: none;
  cursor: default;
}
select.selectbox p.select > span {
  padding: 0 calc(100vw / var(--viewport) * 22) 0 0;
  display: block;
  background: url(../images/icon_select.svg) center right 1vw no-repeat;
  background-size: calc(100vw / var(--viewport) * 38) auto;
  cursor: default;
}
select.selectbox.thin p.select > span {
  background-position: right 1vw center;
}
@media screen and (min-width:768px) {
  #float_waribiki {
    width: 1080px;
    top: 86px;
    left: 0;
    bottom: initial;
    margin:0 auto;
  }
  #float_waribiki div {
    display: none;
  }
  #float_waribiki ul {
    background: none;
    width: 385px;
    padding: 20px;
    margin: 0 0 0 auto;
  }
  #float_waribiki ul li {
    font-size: 15px;
    width: 120px;
    border: 2px solid #000;
    border-radius: 5px;
    position: relative;
  }
  #float_waribiki ul li:before {
    width: 19px;
    height: 30px;
    position: absolute;
    top: 2px;
    left: 4px;
    transform: translateY(0);
  }
  #float_waribiki ul li span {
    line-height: 30px;
    margin-left: 19px;
  }
  .price_flex .round.thin {
    width: 150px;
  }
  select.selectbox p.select > span {
    padding: 0 14px 0 0;
    background-position: center right 6px;
    background-size: 24px auto;
  }
  select.selectbox.thin p.select > span {
    background-position: right 6px center;
  }
}

.overlay_waribiki {
  background-color: rgba(0, 0, 0, 0.6);
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1003;
}
.overlay_waribiki .balloon {
  font-weight: bold;
  line-height: 1.8;
  background: url(../images/price/bg_balloon_sp.svg) center center no-repeat;
  background-size: 100% auto;
  border: none;
  width: 90%;
  height: calc(100vw / 750 * 392);
  position: absolute;
  left: 0;
  right: 0;
  margin: 0 auto;
  bottom: 42vw;
  box-sizing: border-box;
  padding: 6vw 8vw 8vw;
}
.overlay_waribiki .balloon:before {
  content: none;
}
.overlay_waribiki .balloon ul {
  margin-bottom: 1em;
}
.overlay_waribiki .balloon li {
  list-style: none;
}
.overlay_waribiki .balloon p {
  font-size: .24rem;
  line-height: 1.8;
}
.overlay_waribiki .balloon .txt_blue {
  font-size: calc(13px + (28 - 13) * ((100vw - 320px) / (767 - 320)));
}
.overlay_waribiki .overlay_close {
  position: absolute;
  top: 0;
  right: 0;
}
.overlay_waribiki .overlay_close:before {
  content: "";
  width: calc(100vw / 750 * 60);
  height: calc(100vw / 750 * 60);
  background: #000;
  border-radius: 10vw;
  display: block;
  position: absolute;
  top: calc(100vw / 750 * -20);
  right: calc(100vw / 750 * -20);
}
.overlay_waribiki .overlay_close:after {
  content: "";
  width: calc(100vw / 750 * 26);
  height: calc(100vw / 750 * 26);
  background: url(../../img/common/table/ico_cross.png) center center no-repeat;
  background-size: 100% auto;
  display: block;
  position: absolute;
  top: calc(100vw / 750 * -4);
  right: calc(100vw / 750 * -4);
}
@media screen and (min-width:768px) {
  .overlay_waribiki .balloon_outer {
    width: 1080px;
    position: absolute;
    top: 150px;
    left: 0;
    right: 0;
    margin: 0 auto;
  }
  .overlay_waribiki .balloon {
    width: 513px;
    height: 196px;
    background: url(../images/price/bg_balloon_pc.svg) center center no-repeat;
    background-size: 100% auto;
    bottom: initial;
    padding: 60px 30px 20px;
    margin: 0 60px 0 auto;
  }
  .overlay_waribiki .balloon li p {
    font-size: 16px;
  }
  .overlay_waribiki .balloon p {
    margin: 0;
  }
  .overlay_waribiki .balloon .txt_blue {
    font-size: 18px;
  }
  .overlay_waribiki .overlay_close {
    cursor: pointer;
  }
  .overlay_waribiki .overlay_close:before {
    width: 35px;
    height: 35px;
    top: 20px;
    right: -15px;
  }
  .overlay_waribiki .overlay_close:after {
    width: 18px;
    height: 18px;
    top: 29px;
    right: -7px;
  }
}

.price_balloonBox .repay {
  cursor: pointer;
}
.repay_box {
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.6);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1006;
  display: none;
}
.repay_box .inner {
  font-weight: bold;
  text-align: center;
  background: #fff;
  width: 89.3334%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  padding: 6.1333vw 5.3333%;
  border-radius: 10px;
  box-sizing: border-box;
  z-index: 1006;
  margin: 0;
}
.repay_box .inner p {
  font-size: .24rem;
  line-height: 1.7;
}
.repay_box .inner p.title_sub {
  width: 68vw;
  font-weight: bold;
  margin: 0 auto 1em;
  text-align: center;
}
.repay_box .inner p.title {
  font-size: .42rem;
  font-weight: bold;
  text-align: center;
  line-height: 9.333333333333333vw;
  width: 60%;
  background: #00aafa;
  margin: 0 auto 5.3333vw;
}
.repay_box .inner p.text {
  font-size: .24rem;
}
.repay_box .inner img {
  margin: 4vw 0;
}
.repay_box .inner .period {
  text-align: left;
}
.repay_box .inner .overlay_close {
  position: absolute;
  top: 0;
  right: 0;
}
.repay_box .inner .overlay_close:before {
  content: "";
  width: calc(100vw / 750 * 60);
  height: calc(100vw / 750 * 60);
  background: #000;
  border-radius: 10vw;
  display: block;
  position: absolute;
  top: calc(100vw / 750 * -30);
  right: calc(100vw / 750 * -30);
}
.repay_box .inner .overlay_close:after {
  content: "";
  width: calc(100vw / 750 * 26);
  height: calc(100vw / 750 * 26);
  background: url(../../img/common/table/ico_cross.png) center center no-repeat;
  background-size: 100% auto;
  display: block;
  position: absolute;
  top: calc(100vw / 750 * -13);
  right: calc(100vw / 750 * -13);
}
@media screen and (min-width:768px) {
  .repay_box {
    right: 0;
    margin: 0 auto;
  }
  .repay_box .inner {
    width: 861px;
    padding: 31px;
  }
  .repay_box .inner p {
    font-size: 22px;
  }
  .repay_box .inner p.title_sub {
    width: auto;
  }
  .repay_box .inner p.title {
    font-size: 20px;
    line-height: 50px;
    width: 200px;
    margin-bottom: 30px;
  }
  .repay_box .inner p.text {
    font-size: .24rem;
  }
  .repay_box .inner img {
    margin: 30px 0;
  }
  .repay_box .inner .period {
    font-size: 12px;
    text-align: center;
  }
  .repay_box .inner .overlay_close {
    cursor: pointer;
  }
  .repay_box .inner .overlay_close:before {
    width: 35px;
    height: 35px;
    top: -17.5px;
    right: -17.5px;
  }
  .repay_box .inner .overlay_close:after {
    width: 18px;
    height: 18px;
    top: -9px;
    right: -9px;
  }
}



.relative{
  position: relative;
}
.font-bebas{
  font-family: 'Bebas Neue', sans-serif;
  font-weight: normal;
}
/*****ヒゲliteプランcss****/
.newplanSection{
  background: #F7CF00;
  padding: 12vw 0 17.2vw;
}
.newplanSection .inner{
  margin: 0 4.6666vw;
}
.courseArea_new.flex, .course_new.flex{
	flex-wrap: wrap;
	font-weight: bold;
    align-items: center;
	text-align: left;
	line-height: normal;
}
.courseArea_new .course_new{
  padding: calc(100vw / var(--viewport) * 30) 0 calc(100vw / var(--viewport) * 20);
  border-bottom: calc(100vw / var(--viewport) * 2) solid #000;
}
.courseArea_new .numberArea{
  font-size: calc(100vw / var(--viewport) * 26);
  width: 100%;
}
.courseArea_new .numberArea .number{
  font-size: calc(100vw / var(--viewport) * 50);
  vertical-align: baseline;
}
.courseArea_new .total{
  font-size: calc(100vw / var(--viewport) * 40);
}
.courseArea_new .total .price{
  font-size: calc(100vw / var(--viewport) * 120);
  color: #F00;
  margin-right: 1vw;
  line-height: 1;
}
.courseArea_new .total .tax{
  font-size: calc(100vw / var(--viewport) * 18);
  position: absolute;
  top: 5vw;
  right: -3vw;
}
.courseArea_new .total .yen{
  font-size: calc(100vw / var(--viewport) * 40);
  width: auto;
  margin: 0;
  vertical-align: bottom;
}
.courseArea_new .installmentsArea{
  font-size: calc(100vw / var(--viewport) * 30);
  position: relative;
}
.courseArea_new .installmentsArea .installments{
  transform: translateY(-1vw);
}
.courseArea_new .installmentsArea .installments .month{
  vertical-align: baseline;
}
.courseArea_new .installmentsArea .installments .price{
  font-size: calc(100vw / var(--viewport) * 64);
  line-height: 1;
}
.courseArea_new .installmentsArea .times,
.courseArea_new .installmentsArea select{
  font-size: calc(100vw / var(--viewport) * 24);
  border: calc(100vw / var(--viewport) * 2) solid #000;
  border-radius: calc(100vw / var(--viewport) * 8);
  text-align: center;
}
.courseArea_new .installmentsArea select{
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "游ゴシック", "Yu Gothic", sans-serif;
  font-weight: bold;
  width: 100%;
}
.courseArea_new .installmentsArea .refund{
  font-size: calc(100vw / var(--viewport) * 28);
  width: 100%;
  padding: calc(100vw / var(--viewport) * 4);
  text-align: center;
  background: #FF0;
  border-radius: calc(100vw / var(--viewport) * 8); 
  position: absolute;
  top: -10vw;
}
.courseArea_new .caption{
  font-size: calc(100vw / var(--viewport) * 28);
  margin-top: 4vw;
}
@media screen and (min-width:768px) {
  .newplanSection{
    padding: 100px 0 114px;
  }
  .courseArea_new .course_new{
    padding: 40px 0 8px;
    border-bottom: 1px solid #000;
    width: 400px;
    align-items: center;
  }
  .courseArea_new .numberArea{
    font-size: 13px;
    width: 50px;
    transform: translateY(-6px);
  }
  .courseArea_new .numberArea .number{
    font-size: 25px;
    vertical-align: baseline;
    letter-spacing: -.15em;
    margin: 0 4px 0 -2px;
  }
  .courseArea_new .total{
    font-size: 20px;
    margin-right: 20px;
  }
  .courseArea_new .total .price{
    font-size: 70px;
    margin-right: 6px;
    vertical-align: baseline;
  }
  .courseArea_new .total .tax{
    font-size: 9px;
    top: 22px;
    right: -11px;
  }
  .courseArea_new .total .yen{
    font-size: 20px;
  }
  .courseArea_new .installmentsArea{
    font-size: 15px;
    width: 120px;
    white-space: nowrap;
  }
  .courseArea_new .installmentsArea .installments{
    transform: translateY(-4px);
  }
  .courseArea_new .installmentsArea .installments .price{
    font-size: 40px;
  }
  .courseArea_new .installmentsArea .times,
  .courseArea_new .installmentsArea select{
    font-size: 12px;
    border: 1px solid #000;
    border-radius: 4px;
  }
  .courseArea_new .installmentsArea .refund{
    font-size: 16px;
    width: 51px;
    padding: 0 0 8px;
    border-radius: 4px; 
    top: -7px;
    right: -72px;
    line-height: 1.25;
  }
  .courseArea_new .installmentsArea .refund .small{
    font-size: 10px;
  }
  .courseArea_new .caption{
    font-size: 12px;
    margin-top: 20px;
  }
}


.newplan_img{
  margin: 5.3333% 0 10.5333%;
}
@media screen and (min-width: 768px) {
  .newplan_img{
    margin: 34px 0px 64px;
  }
}

.odometer.odometer-auto-theme .odometer-digit, .odometer.odometer-theme-minimal .odometer-digit, .odometer.odometer-auto-theme .odometer-digit .odometer-digit-spacer, .odometer.odometer-theme-minimal .odometer-digit .odometer-digit-spacer {
    vertical-align: baseline;
}
.odometer.odometer-auto-theme .odometer-digit .odometer-digit-inner, .odometer.odometer-theme-minimal .odometer-digit .odometer-digit-inner {
  text-align: center !important;
}
.odometer.odometer-auto-theme .odometer-digit .odometer-value.odometer-last-value, .odometer.odometer-theme-minimal .odometer-digit .odometer-value.odometer-last-value {
  left: 0;
  right: 0;
}

.newPlanBox .box {
  background: #fff;
  border-radius: calc(100vw / var(--viewport) * 10);
  padding: calc(100vw / var(--viewport) * 45) calc(100vw / var(--viewport) * 35) calc(100vw / var(--viewport) * 45);
}
.newPlanBox .box .pc_flex:nth-of-type(n+2) {
  margin-top: calc(100vw / var(--viewport) * 60);
}
.newPlanBox .box .innerBox:nth-child(2) {
  margin-top: calc(100vw / var(--viewport) * 60);
}
.newPlanBox .box .innerBox .midashi {
  color: #fff;
  font-size: calc(100vw / var(--viewport) * 30);
  font-weight: bold;
  text-align: center;
  background: #00aaf8;
  height: calc(100vw / var(--viewport) * 70);
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: calc(100vw / var(--viewport) * 5);
  margin-bottom: calc(100vw / var(--viewport) * 45);
  transform: none;
  line-height: 1;
  padding: 0;
}
.newPlanBox .box .innerBox .partsImage {
  margin-bottom: calc(100vw / var(--viewport) * 20);
}
.newPlanBox .box .innerBox .flex .left,
.newPlanBox .box .innerBox .flex .right {
  width: calc(100vw / var(--viewport) * 270);
  margin-top: 0;
}
.newPlanBox .box .innerBox .flex .left .flex,
.newPlanBox .box .innerBox .flex .right .flex {
  align-items: center;
}
.newPlanBox .box .innerBox .balloon {
  width: calc(100vw / var(--viewport) * 270);
  height: calc(100vw / var(--viewport) * 237);
  padding: calc(100vw / var(--viewport) * 70) calc(100vw / var(--viewport) * 17) calc(100vw / var(--viewport) * 25);
  box-sizing: border-box;
}
.newPlanBox .box .innerBox .balloon .flex {
  line-height: 1;
  height: calc(100vw / var(--viewport) * 45);
  align-items: center;
}
.newPlanBox .box .innerBox .balloon .flex .course {
  font-size: calc(100vw / var(--viewport) * 20);
  font-weight: bold;
}
.newPlanBox .box .innerBox .balloon .flex .icons {
  width: calc(100vw / var(--viewport) * 118);
}
.newPlanBox .box .innerBox .balloon.ten {
  position: relative;
}
.newPlanBox .box .innerBox .balloon.ten:after {
  content: "特別返金保証付き";
  font-size: calc(100vw / var(--viewport) * 20);
  font-weight: bold;
  background: #ff0;
  width: calc(100vw / var(--viewport) * 224);
  height: calc(100vw / var(--viewport) * 40);
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: calc(100vw / var(--viewport) * 17);
  left: 50%;
  transform: translateX(-50%);
}
.newPlanBox .box .innerBox .balloon.ten .flex .icons {
  width: calc(100vw / var(--viewport) * 113);
}
.newPlanBox .box .innerBox .balloon .priceBox {
  text-align: center;
  margin-top: calc(100vw / var(--viewport) * 9);
}
.newPlanBox .box .innerBox .balloon .priceBox .price {
  color: #fb0502;
  font-size: calc(100vw / var(--viewport) * 82);
  vertical-align: baseline;
  margin: 0;
}
.newPlanBox .box .innerBox .balloon .priceBox .yen {
  font-size: calc(100vw / var(--viewport) * 28);
  font-weight: bold;
  vertical-align: baseline;
  width: auto;
  margin: 0;
}
.newPlanBox .box .innerBox .text {
  font-size: calc(100vw / var(--viewport) * 18);
  font-weight: bold;
  text-align: center;
  margin-top: calc(100vw / var(--viewport) * 55);
  margin-bottom: calc(100vw / var(--viewport) * 20);
}
.newPlanBox .box .innerBox .month {
  font-size: calc(100vw / var(--viewport) * 18);
  font-weight: bold;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}
.newPlanBox .box .innerBox .priceBox2 .price {
  font-size: calc(100vw / var(--viewport) * 48);
  font-weight: normal;
  font-family: 'Bebas Neue', sans-serif;
  vertical-align: baseline;
}
.newPlanBox .box .innerBox .priceBox2 .yen {
  font-size: calc(100vw / var(--viewport) * 18);
  font-weight: bold;
  vertical-align: baseline;
  width: auto;
  margin: 0;
}
.newPlanBox .box .innerBox .bunkatsu {
  font-size: calc(100vw / var(--viewport) * 15);
  text-align: center;
  width: calc(100vw / var(--viewport) * 113);
  height: calc(100vw / var(--viewport) * 31);
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid #000;
  border-radius: 3px;
}
.newPlanBox .box .innerBox .flex .left > .flex,
.newPlanBox .box .innerBox .flex .right > .flex {
  padding-bottom: calc(100vw / var(--viewport) * 13);
  border-bottom: 1px solid #000;
}
.newPlanBox .box .innerBox .afterText {
  font-size: calc(100vw / var(--viewport) * 20);
  font-weight: bold;
  text-align: center;
  margin: calc(100vw / var(--viewport) * 22) 0;
}
.newPlanBox .bottom {
  margin-top: calc(100vw / var(--viewport) * 40);
}
.newPlanBox .bottom .obi {
  color: #ff0;
  font-size: calc(100vw / var(--viewport) * 20);
  font-weight: bold;
  line-height: 1.5;
  text-align: center;
  background: #00AAFA;
  padding: calc(100vw / var(--viewport) * 15) 0;
}
.newPlanBox .bottom .caption {
  font-size: calc(100vw / var(--viewport) * 15);
  font-weight: bold;
  margin-top: 0.8em;
}

.newPlanBox .box02 {
  margin-top: calc(100vw / var(--viewport) * 70);
}
.newPlanBox .box02 .innerBox .midashi {
  background: #000;
  border-radius: calc(100vw / var(--viewport) * 5) calc(100vw / var(--viewport) * 5) 0 0;
  margin-bottom: 0;
}
.newPlanBox .box02 .innerBox .midashi {
  font-size: calc(100vw / var(--viewport) * 40);
  height: calc(100vw / var(--viewport) * 100);
}
.newPlanBox .box02 .innerBox .midashi span {
  color: #00ABF8;
}
.newPlanBox .box02 .innerBox .con {
  background: #eef0f4;
  padding: calc(100vw / var(--viewport) * 33) calc(100vw / var(--viewport) * 60) calc(100vw / var(--viewport) * 36);
}
.newPlanBox .box02 .pc_flex:nth-child(2) .innerBox:nth-child(1) {
  margin-top: calc(100vw / var(--viewport) * 60);
}
.newPlanBox .box02 .pc_flex:nth-child(1) .innerBox:nth-child(1) .con img {
  width: calc(100vw / var(--viewport) * 214);
  display: block;
  margin: 0 auto calc(100vw / var(--viewport) * 38);
}
.newPlanBox .box02 .pc_flex:nth-child(1) .innerBox:nth-child(2) .con img {
  width: calc(100vw / var(--viewport) * 314);
  display: block;
  margin: 0 auto calc(100vw / var(--viewport) * 38);
}
.newPlanBox .box02 .pc_flex:nth-child(2) .innerBox:nth-child(1) .con img {
  width: calc(100vw / var(--viewport) * 254);
  display: block;
  margin: 0 auto calc(100vw / var(--viewport) * 38);
}
.newPlanBox .box02 .pc_flex:nth-child(2) .innerBox:nth-child(2) .con img {
  width: calc(100vw / var(--viewport) * 254);
  display: block;
  margin: 0 auto calc(100vw / var(--viewport) * 38);
}
.newPlanBox .box02 .pc_flex .innerBox .flex {
  align-items: center;
  padding-bottom: calc(100vw / var(--viewport) * 13);
}
.newPlanBox .box02 .pc_flex .innerBox .flex .course {
  font-size: calc(100vw / var(--viewport) * 21);
  font-weight: bold;
  text-align: center;
  width: calc(100vw / var(--viewport) * 118);
  height: calc(100vw / var(--viewport) * 41);
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid #000;
  border-radius: 3px;
}
.newPlanBox .box02 .pc_flex .innerBox .flex .priceBox {
  position: relative;
}
.newPlanBox .box02 .pc_flex .innerBox .flex .priceBox .price {
  color: #f41419;
  font-size: calc(100vw / var(--viewport) * 71);
}
.newPlanBox .box02 .pc_flex .innerBox .flex .priceBox .yen {
  font-size: calc(100vw / var(--viewport) * 33);
  font-weight: bold;
  width: auto;
  margin: 0;
}
.newPlanBox .box02 .pc_flex .innerBox .flex .priceBox .zei {
  font-size: calc(100vw / var(--viewport) * 16);
  font-weight: bold;
  position: absolute;
  top: calc(100vw / var(--viewport) * 12);
  right: 0;
}
.newPlanBox .box02 .pc_flex .innerBox .change {
  font-size: calc(100vw / var(--viewport) * 16);
  font-weight: bold;
  text-align: center;
  margin-bottom: calc(100vw / var(--viewport) * 13);
}
.newPlanBox .box02 .pc_flex .innerBox .change span {
  color: #00aaf9;
}
.newPlanBox .box02 .pc_flex .innerBox .monthBox {
  text-align: center;
  padding-top: calc(100vw / var(--viewport) * 13);
  border-top: 1px solid #000;
}
.newPlanBox .box02 .pc_flex .innerBox .monthBox .month {
  font-size: calc(100vw / var(--viewport) * 24);
  writing-mode: initial;
}
.newPlanBox .box02 .pc_flex .innerBox .monthBox .price {
  font-size: calc(100vw / var(--viewport) * 55);
}
.newPlanBox .box02 .pc_flex .innerBox .monthBox .yen {
  font-size: calc(100vw / var(--viewport) * 32);
  font-weight: bold;
  width: auto;
  margin: 0;
}
.newPlanBox .box02 .pc_flex .innerBox .monthBox .bunkatsu {
  font-size: calc(100vw / var(--viewport) * 23);
  font-weight: bold;
  width: auto;
  height: auto;
  border: none;
  display: inline-block;
}
.newPlanBox .box02 .innerBox .bottom {
  color: #fff;
  font-size: calc(100vw / var(--viewport) * 50);
  text-align: center;
  background: #00aaf9;
  border-radius: 0 0 calc(100vw / var(--viewport) * 5) calc(100vw / var(--viewport) * 5);
  padding: calc(100vw / var(--viewport) * 14) 0;
  margin-top: 0;
}
.newPlanBox .box02 .innerBox .bottom .yen {
  font-size: calc(100vw / var(--viewport) * 34);
  font-weight: bold;
  width: auto;
  margin: 0;
  vertical-align: baseline;
}
.newPlanBox .box02 .caption {
  font-size: calc(100vw / var(--viewport) * 15);
  font-weight: bold;
  margin-top: 0.8em;
}
.btn {
  width: 480px;
  margin: 0 auto;
  position: relative;
  box-sizing: border-box;
  padding-left: 11px;
  padding-top: 60px;
  padding-bottom: 60px;
}
.btn a {
  width: 100%;
  background: #000;
  text-align: center;
  display: block;
  border: 4px solid #000;
  box-sizing: border-box;
  padding: 16px 0;
  color: #fff;
  font-weight: bold;
  border-radius: 50px;
  position: relative;
  transition: all .2s;
}
.btn a:before {
  content: "";
  width: 15px;
  height: 15px;
  background: url(../../img/top/right-arr.png) no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 7%;
}
.btn.black a:before {
  background: url(../../img/top/arr-blue.png) no-repeat;
  background-size: contain;
}
.btn-shadow {
  width: 480px;
  height: 76px;
  background: rgba(214,214,214,0.9);
  position: absolute;
  bottom: 0;
  bottom: -9px;
  right: -11px;
  border-radius: 50px;
}
.sec03 .btn {
  padding-top: 0;
  padding-bottom: 0;
  margin-top: 60px;
  margin-bottom: 60px;
}
.sec03 .btn a {
  color: #ff0;
}
@media screen and (max-width:767px) {
  .font-26-sp {
    font-size: calc(11px + (25 - 11) * ((100vw - 320px) / (767 - 320)));
  }
  .btn {
    width: calc(216px + (520 - 216) * ((100vw - 320px) / (767 - 320)));
    padding-left: 0;
    padding-top: calc(35px + (85 - 35) * ((100vw - 320px) / (767 - 320)));
    padding-bottom: calc(35px + (85 - 35) * ((100vw - 320px) / (767 - 320)));
  }
  .btn a {
    border: calc(3px + (6 - 3) * ((100vw - 320px) / (767 - 320))) solid #000;
    padding: calc(17px + (43 - 17) * ((100vw - 320px) / (767 - 320)));
    border-radius: 70px;
  }
  .btn a:before {
    content: "";
    width: calc(7px + (18 - 7) * ((100vw - 320px) / (767 - 320)));
    height: calc(9px + (26 - 9) * ((100vw - 320px) / (767 - 320)));
    right: 4%;
  }
  .btn-shadow {
    width: calc(216px + (520 - 216) * ((100vw - 320px) / (767 - 320)));
    height: calc(55px + (118 - 55) * ((100vw - 320px) / (767 - 320)));
    bottom: calc(-8px + (-15 + 8) * ((100vw - 320px) / (767 - 320)));
    right: calc(-4px + (-10 + 4) * ((100vw - 320px) / (767 - 320)));
    border-radius: 70px;
  }
  .sec03 .btn {
    padding-top: 0;
    padding-bottom: 0;
    margin-top: calc(35px + (85 - 35) * ((100vw - 320px) / (767 - 320)));
    margin-bottom: calc(35px + (85 - 35) * ((100vw - 320px) / (767 - 320)));
  }
}
@media screen and (min-width:768px) {
  .font-14 {
    font-size: 14px;
  }
  .newPlanBox .box {
    border-radius: 10px;
    padding: 47px 70px 52px;
  }
  .newPlanBox .box .pc_flex {
    display: flex;
    justify-content: space-between;
  }
  .newPlanBox .box .pc_flex:nth-of-type(n+2) {
    margin-top: 40px;
  }
  .newPlanBox .box .innerBox {
    width: 451px;
  }
  .newPlanBox .box .innerBox:nth-child(2) {
    margin-top: 0;
  }
  .newPlanBox .box .innerBox .midashi {
    font-size: 24px;
    height: 48px;
    border-radius: 6px;
    margin-bottom: 33px;
  }
  .newPlanBox .box .innerBox .partsImage {
    margin-bottom: 15px;
  }
  .newPlanBox .box .innerBox .flex .left,
  .newPlanBox .box .innerBox .flex .right {
    width: 210px;
  }
  .newPlanBox .box .innerBox .balloon {
    width: 210px;
    height: 185px;
    padding: 60px 11px 13px;
  }
  .newPlanBox .box .innerBox .balloon .flex {
    height: 38px;
  }
  .newPlanBox .box .innerBox .balloon .flex .course {
    font-size: 16px;
  }
  .newPlanBox .box .innerBox .balloon .flex .icons {
    width: 108px;
  }
  .newPlanBox .box .innerBox .balloon.ten:after {
    font-size: 16px;
    width: 175px;
    height: 30px;
    top: 19px;
  }
  .newPlanBox .box .innerBox .balloon.ten .flex .icons {
    width: 92px;
  }
  .newPlanBox .box .innerBox .balloon .priceBox {
    margin-top: 9px;
  }
  .newPlanBox .box .innerBox .balloon .priceBox .price {
    font-size: 58px;
  }
  .newPlanBox .box .innerBox .balloon .priceBox .yen {
    font-size: 22px;
    vertical-align: baseline;
  }
  .newPlanBox .box .innerBox .text {
    font-size: 15px;
    margin-top: 43px;
    margin-bottom: 13px;
  }
  .newPlanBox .box .innerBox .month {
    font-size: 15px;
  }
  .newPlanBox .box .innerBox .priceBox2 .price {
    font-size: 38px;
  }
  .newPlanBox .box .innerBox .priceBox2 .yen {
    font-size: 14px;
    vertical-align: baseline;
  }
  .newPlanBox .box .innerBox .bunkatsu {
    font-size: 12px;
    width: 86px;
    height: 24px;
  }
  .newPlanBox .box .innerBox .flex .left > .flex,
  .newPlanBox .box .innerBox .flex .right > .flex {
    padding-bottom: 10px;
  }
  .newPlanBox .box .innerBox .afterText {
    font-size: 16px;
    margin: 16px 0;
  }
  .newPlanBox .bottom {
    margin-top: 30px;
  }
  .newPlanBox .bottom .obi {
    font-size: 20px;
    padding: 14px 0;
  }
  .newPlanBox .bottom .caption {
    font-size: 16px;
  }

  .newPlanBox .box02 {
    padding: 47px 22px 52px;
    margin-top: 83px;
  }
  .newPlanBox .box02 .innerBox {
    width: 510px;
  }
  .newPlanBox .box02 .innerBox .midashi {
    border-radius: 10px 10px 0 0;
  }
  .newPlanBox .box02 .innerBox .midashi {
    font-size: 36px;
    height: 75px;
    margin-bottom: 0;
  }
  .newPlanBox .box02 .innerBox .con {
    padding: 25px 26px 36px;
  }
  .newPlanBox .box02 .pc_flex {
    align-items: flex-start;
  }
  .newPlanBox .box02 .pc_flex:nth-child(2) .innerBox {
    margin-top: 32px !important;
  }
  .newPlanBox .box02 .pc_flex:nth-child(1) .innerBox:nth-child(1) .con img {
    width: 166px;
    margin: 0;
  }
  .newPlanBox .box02 .pc_flex:nth-child(1) .innerBox:nth-child(2) .con img {
    width: 182px;
    margin: 0;
  }
  .newPlanBox .box02 .pc_flex:nth-child(2) .innerBox:nth-child(1) .con img {
    width: 166px;
    margin: 0;
  }
  .newPlanBox .box02 .pc_flex:nth-child(2) .innerBox:nth-child(2) .con img {
    width: 159px;
    margin: 0;
  }
  .newPlanBox .box02 .pc_flex .innerBox .flex {
    padding-bottom: 13px;
  }
  .newPlanBox .box02 .pc_flex:nth-child(1) .innerBox:nth-child(1) .con .flex,
  .newPlanBox .box02 .pc_flex:nth-child(2) .innerBox:nth-child(1) .con .flex {
    padding-bottom: 37px;
  }
  .newPlanBox .box02 .pc_flex .innerBox .con .pc_flex > div {
    width: 292px;
  }
  .newPlanBox .box02 .pc_flex .innerBox .flex .course {
    font-size: 16px;
    width: 88px;
    height: 31px;
  }
  .newPlanBox .box02 .pc_flex .innerBox .flex .priceBox {
    white-space: nowrap;
  }
  .newPlanBox .box02 .pc_flex .innerBox .flex .priceBox .price {
    font-size: 54px;
    letter-spacing: -0.04em;
  }
  .newPlanBox .box02 .pc_flex .innerBox .flex .priceBox .yen {
    font-size: 24px;
  }
  .newPlanBox .box02 .pc_flex .innerBox .flex .priceBox .zei {
    font-size: 14px;
    top: 8px;
    right: -2px;
  }
  .newPlanBox .box02 .pc_flex .innerBox .change {
    font-size: 11px;
    margin-bottom: 13px;
  }
  .newPlanBox .box02 .pc_flex .innerBox .monthBox {
    padding-top: 13px;
  }
  .newPlanBox .box02 .pc_flex .innerBox .monthBox .month {
    font-size: 16px;
  }
  .newPlanBox .box02 .pc_flex .innerBox .monthBox .price {
    font-size: 34px;
  }
  .newPlanBox .box02 .pc_flex .innerBox .monthBox .yen {
    font-size: 20px;
  }
  .newPlanBox .box02 .pc_flex .innerBox .monthBox .bunkatsu {
    font-size: 14px;
  }
  .newPlanBox .box02 .innerBox .bottom {
    font-size: 30px;
    border-radius: 0 0 10px 10px;
    padding: 10px 0;
  }
  .newPlanBox .box02 .innerBox .bottom .yen {
    font-size: 20px;
  }
  .newPlanBox .box02 .caption {
    font-size: 16px;
    text-align: right;
  }

  .btn a {
    font-size: 24px;
  }
  .sec03 .btn a {
    padding: 22px 0;
  }
}

#breadcrumbs {
  padding: 3.33vw 0;
}
@media screen and (min-width:768px) {
  #breadcrumbs {
    padding: 20px 0;
  }
}

/*start fav-section*/
.sec02 .system_box:nth-child(1) {
  position: relative;
}
.sec02 .system_box:nth-child(1) .limited {
  font-size: .28rem;
  position: absolute;
  top: -2.5em;
  left: 0;
  right: 0;
  margin: 0 auto;
}
.sec02 .system_box:nth-child(1) .limited span {
  font-size: 80%;
  border-bottom: none;
}
.sec02 .system_box:nth-child(1) .limited span.left {
  display: inline-block;
  transform: scale(-1, 1);
  margin-right: 1em;
}
.sec02 .system_box:nth-child(1) .limited span.right {
  margin-left: 1em;
}
.txt-center {
  text-align: center;
}
.main-width {
  width: 1280px;
  margin: 0 auto;
}
.container {
  width: 87%;
  max-width: 1080px;
  margin: 0 auto;
}
#fav-section {
  background: none;
  overflow: hidden;
}
.fav-section-inner {
  padding: 7.5% 10% 0;
  box-sizing: border-box;
}
.fav-box .lower-block {
  padding: 0 2.7%;
  border-radius: 0 0 15px 15px;
  background: #00aafa;
}
.fav-box .lower-block a {
  display: block;
  padding: 3% 0;
  line-height: 1.7;
  color: #000;
}
.fav-box .lower-block a span {
  position: relative;
  padding-right: 40px;
}
.fav-box .lower-block a span:after {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  width: 30px;
  height: 30px;
  content: " ";
  background: url(../../../../../img/top/plus-ico.png) no-repeat;
  background-size: contain;
}
.fav-box .lower-block a.active span:after{
  background: url(../../../../../img/top/minus-ico.png) no-repeat;
  background-size: contain;
}
.lower-block-inner {
  display: none;
}
.fav-box .drop-down-content {
  padding: 0;
  margin-top: 2.5%;
  border-radius: 6px;
  background: #fff;
}

@media screen and (max-width:767px) {
  .sec02 .system_box:nth-child(1) {
    margin-top: 6em;
  }
  .font-24-sp {
    font-size: calc(11px + (25 - 11) * ((100vw - 320px) / (767 - 320)));
  }
  .sec02 {
    padding-bottom: 6.66%;
  }
  .main-width {
    width: 100%;
    padding: 0;
  }
  .container {
    width: 85%;
  }
  .fav-section-inner {
    padding: 11% 2% 0;
  }
  .fav-box .lower-block {
    padding: 0 3%;
    border-radius: 0 0 calc(4px + (8 - 4) * ((100vw - 320px) / (767 - 320))) calc(4px + (8 - 4) * ((100vw - 320px) / (767 - 320)));
  }
  .fav-box .lower-block a {
    padding: 6.5% 0;
  }
  .fav-box .lower-block a span {
    padding-right: 12%;
  }
  .fav-box .lower-block a span:after {
    top: 50%;
    width: calc(20px + (50 - 20) * ((100vw - 320px) / (767 - 320)));
    height: calc(20px + (50 - 20) * ((100vw - 320px) / (767 - 320)));
  }
}

@media screen and (min-width:768px) {
  .sec02 .system_box:nth-child(1) .limited {
    font-size: 20px;
    top: -2em;
  }
  .font-14 {
    font-size: 14px;
  }
  .sec02 {
    padding-bottom: 52px;
  }
  .fav-boxCam.fav-box .lower-block {
    padding: 0 2%;
  }
  .fav-boxCam.fav-box .drop-down-content {
    padding: 0;
  }
}

/* 2024.06.21 */
.newPlanBox {
  line-height: 1;
}
.newPlanBox .font-oswald {
  font-family: 'Oswald', sans-serif;
  font-weight: normal;
}
.newPlanBox .tab{
    list-style: none;
}
.newPlanBox .tab_area{
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 !important;
  background: none !important;
}
.newPlanBox .tab{
  display: block;
  width: calc(100vw / var(--viewport) * 194) !important;
  font-size: calc(100vw / var(--viewport) * 28);
  font-weight: bold;
  padding: calc(100vw / var(--viewport) * 20) calc(100vw / var(--viewport) * 10) calc(100vw / var(--viewport) * 14);
  margin-bottom: 0 !important;
  box-sizing: border-box;
  border-radius: calc(100vw / var(--viewport) * 10) calc(100vw / var(--viewport) * 10) 0 0;
  color: #fff;
  background: #777777;
  text-align: center;
}
.newPlanBox .tab_area_1clm .tab{
  width: 100% !important;
  margin-bottom: 0;
}
.newPlanBox .tab_area_2clm .tab{
  width: 49% !important;
}
.newPlanBox .tab.active{
  color: #000;
  background: #EFF0F2;
  position: relative;
}
.newPlanBox .tab.active:after{
  content: "";
  width: 70%;
  height: 2px;
  background: #000;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
}
.newPlanBox .tab_area_1clm .tab.active:after{
  width: 30%;
}
.newPlanBox .tab span{
  font-size: calc(100vw / var(--viewport) * 40);
}
.newPlanBox{
  border-radius: calc(100vw / var(--viewport) * 10);
  background: #fff;
}
.newPlanBox .box{
  padding: calc(100vw / var(--viewport) * 45) calc(100vw / var(--viewport) * 24) calc(100vw / var(--viewport) * 45);
  border-radius: 0;
  background: inherit;
}
.newPlanBox .pc_flex:nth-child(n+2) .box{
    margin-top: 0;
}
.newPlanBox .tab_section_switch .tab_bodyBox{
  display: none;
}
.newPlanBox .tab_section_switch .tab_bodyBox.active{
  display: block;
}
.newPlanBox .tab_body{
  padding: calc(100vw / var(--viewport) * 40) calc(100vw / var(--viewport) * 20) calc(100vw / var(--viewport) * 40);
  background: #EFF0F2;
  border-radius: 0 0 calc(100vw / var(--viewport) * 10) calc(100vw / var(--viewport) * 10);
}
.newPlanBox .tab_body .priceArea{
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.newPlanBox .tab_body .priceBox{
  display: flex;
  align-items: end;
  padding: calc(100vw / var(--viewport) * 10) 0 calc(100vw / var(--viewport) * 10);
  background: #EFF0F2;
}
.newPlanBox .tab_body .priceBox .plus{
  font-weight: bold;
  font-size: 30px;
  margin-right: 5px;
}
.newPlanBox .tab_body .priceBox .rl{
  font-size: calc(100vw / var(--viewport) * 24);
  font-weight: bold;
  writing-mode: vertical-rl;
  letter-spacing: .2em;
  margin-right: calc(100vw / var(--viewport) * 10); 
}
.newPlanBox .tab_body .priceBox .price{
  font-size: calc(100vw / var(--viewport) * 70);
  color: #f00;
  white-space: nowrap;
}
.newPlanBox .tab_body .priceBox .yen{
  width: auto;
  font-size: calc(100vw / var(--viewport) * 44);
  font-weight: bold;
  margin-left: calc(100vw / var(--viewport) * 4);
  margin-right: 0;
}
.newPlanBox .tab_body .priceBox_split{
  width: 42%;
  padding-left: calc(100vw / var(--viewport) * 30);
  border-left: calc(100vw / var(--viewport) * 1) solid #707070;
}
.sec06 .newPlanBox .tab_body .priceBox_split{
  width: 42%;
}
.sec06 .newPlanBox .tab_body .priceBox_split .priceBox_split_number{
  width: 93%;
}
.newPlanBox .tab_body .priceBox_split_number{
  width: 90%;
  font-size: calc(100vw / var(--viewport) * 24);
  font-weight: bold;
  padding: calc(100vw / var(--viewport) * 8) calc(100vw / var(--viewport) * 10);
  text-align: center;
  border: calc(100vw / var(--viewport) * 1) solid #707070;
  border-radius: calc(100vw / var(--viewport) * 5);
}
.newPlanBox .tab_body .priceBox_split .priceBox{
  padding: calc(100vw / var(--viewport) * 10) 0 calc(100vw / var(--viewport) * 10);
  border-right: none;
}
.newPlanBox .tab_body .priceBox_split .priceBox .rl{
  transform: translateY(4px);
}
.newPlanBox .tab_body .priceBox_split .priceBox .price{
  font-size: calc(100vw / var(--viewport) * 54);
  color: #000;
}
.newPlanBox .tab_body .priceBox_split .priceBox .yen{
  font-size: calc(100vw / var(--viewport) * 33);
}
@media screen and (min-width:768px) {
  .newPlanBox .first_flex {
    display: flex;
    justify-content: space-between;
  }
  .newPlanBox .first_flex > .pc_flex{
    width: 50%;
  }
  .newPlanBox .tab_area {
  }
  .newPlanBox .tab{
    width: 160px !important;
    font-size: 17px;
    padding: 14px 10px 10px;
    border-radius: 10px 10px 0 0;
    cursor: pointer;
  }
  .newPlanBox .tab.active{
    cursor: default;
  }
  .newPlanBox_switch .tab:hover{
    opacity: .8;
  }
  .newPlanBox .tab.active:after{
    content: "";
    width: 70%;
    height: 2px;
    background: #000;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
  }
  .newPlanBox .tab span{
    font-size: 24px;
  }
  .newPlanBox{
    padding: 24px 0 52px;
    border-radius: 10px 10px 0 0;
  }
  .newPlanBox .box{
    padding: 0 20px;
    margin: 0;
  }
  .newPlanBox .box .innerBox{
    width: 496px;
  }
  .newPlanBox .box .innerBox .midashi{
    border-radius: 10px 10px 0 0;
    margin-bottom: 0;
  }
  .newPlanBox .box .innerBox .partsImage{
      margin-bottom: 36px;
  }
  .newPlanBox .tab_bodyBox{
    display: none;
  }
  .newPlanBox .tab_bodyBox.active{
    display: block;
  }
  .newPlanBox .tab_body{
    padding: 30px 14px 20px;
    border-radius: 0 0 10px 10px;
  }
  .newPlanBox .tab_body .priceArea{
  }
  .newPlanBox .tab_body .priceBox{
    padding:10px 0;
  }
  .newPlanBox .tab_body .priceBox .rl{
    font-size: 22px;
    transform: translateY(4px);
    margin-right: 10px; 
  }
  .newPlanBox .tab_body .priceBox .price{
    font-size: 60px;
    letter-spacing: -.02em;
  }
  .newPlanBox .tab_body .priceBox .yen{
    width: auto;
    font-size: 37px;
    margin-left:4px;
    margin-right: 0;
  }
  .newPlanBox .tab_body .priceBox_split{
    width: 181px;
    padding-left: 30px;
    border-left: 1px solid #707070;
  }
  .newPlanBox .tab_body .priceBox_split_number{
    width: 128px;
    font-size: 14px;
    padding: 4px 10px;
    border: 1px solid #707070;
    border-radius: 4px;
  }
  .newPlanBox .tab_body .priceBox_split .priceBox{
    padding: 10px 0;
  }
  .newPlanBox .tab_body .priceBox_split .priceBox .rl{
    font-size: 15px;
    transform: translateY(6px);
  }
  .newPlanBox .tab_body .priceBox_split .priceBox .price{
    font-size: 36px;
  }
  .newPlanBox .tab_body .priceBox_split .priceBox .yen{
    font-size: 22px;
  }
  .btn.black {
    width: 300px;
    padding-bottom: 0;
    margin: 30px auto 0;
  }
  .btn.black.pcAdjust{
    margin-top: 82px;
  }
  .btn.black.pcAdjustAllVio{
    margin-top: 110px;
  }
  .btn.black a {
    font-size: 14px;
    line-height: 38px;
    padding: 0;
  }

  .sec06 .newPlanBox {
    margin-top: 34px;
  }
}

.font-oswald {
  font-family: 'Oswald', sans-serif;
  font-weight: normal;
}
.overlay_parts {
  line-height: 1;
  background-color: rgba(0, 0, 0, 0.6);
  bottom: 0;
  display: none;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 1003;
}
.overlay_parts .whiteBox {
  color: #222;
  width: 90%;
  background: #fff;
  padding: calc(100vw / var(--viewport) * 40) calc(100vw / var(--viewport) * 32);
  position: relative;
  top: calc(50% - calc(100vw / var(--viewport) * 65));
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: calc(100vw / var(--viewport) * 16);
  box-sizing: border-box;
}
.overlay_parts .whiteBox .close {
  color: #fff;
  font-size: calc(100vw / var(--viewport) * 30);
  font-weight: 600;
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(100vw / var(--viewport) * 177);
  height: calc(100vw / var(--viewport) * 71);
  position: absolute;
  top: calc(100vw / var(--viewport) * -93);
  right: calc(100vw / var(--viewport) * 18);
  border: 1px solid #fff;
  border-radius: calc(100vw / var(--viewport) * 16);
  cursor: pointer;
}
.overlay_parts .whiteBox .inner {
  margin: 0;
}
.overlay_parts .whiteBox .title {
  color: #00A9F8;
  font-size: calc(100vw / var(--viewport) * 56);
  font-weight: bold;
  text-align: center;
  display: table;
  padding: 0 0.8em 0.5em;
  border-bottom: 3px solid #222;
  margin: 0 auto 0.8em;
}
.overlay_parts .whiteBox .imgBox {
  align-items: center;
}
.overlay_parts .whiteBox .imgBox > li:nth-child(1) {
  width: 46%;
}
.overlay_parts .whiteBox .imgBox > li:nth-child(2) {
  width: 51%;
}
.overlay_parts .whiteBox .imgBox > li:nth-child(2) > dl:nth-child(2) {
  margin-top: calc(100vw / var(--viewport) * 40);
}
.overlay_parts .whiteBox .courseTitle {
  font-size: calc(100vw / var(--viewport) * 36);
  text-align: center;
  background: #00A9F8;
  width: 100%;
  height: calc(100vw / var(--viewport) * 58);
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: calc(100vw / var(--viewport) * 16);
  margin-bottom: calc(100vw / var(--viewport) * 8);
}
.overlay_parts .whiteBox .priceBox {
  white-space: nowrap;
  align-items: center;
}
.overlay_parts .whiteBox .priceBox .total {
  font-size: calc(100vw / var(--viewport) * 32);
}
.overlay_parts .whiteBox .priceBox .price {
  font-size: calc(100vw / var(--viewport) * 50);
}
.overlay_parts .whiteBox .priceBox .yen {
  font-size: calc(100vw / var(--viewport) * 40);
  width: auto;
  margin: 0;
}
.overlay_parts .other {
  font-size: calc(100vw / var(--viewport) * 24);
  text-align: center;
  margin-top: calc(100vw / var(--viewport) * 40);
}
.overlay_parts .button a {
  color: #fff;
  font-size: calc(100vw / var(--viewport) * 22);
  font-weight: 600;
  background: #222;
  width: calc(100vw / var(--viewport) * 508);
  height: calc(100vw / var(--viewport) * 103);
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50vw;
  margin: calc(100vw / var(--viewport) * 18) auto 0;
}
@media screen and (min-width:768px) {
  .overlay_parts .whiteBox {
    width: 670px;
    padding: 28px;
    top: 50%;
    left: 50%;
    border-radius: 8px;
  }
  .overlay_parts .whiteBox .close {
    font-size: 25px;
    width: 125px;
    height: 46px;
    top: -60px;
    right: 11px;
    border-radius: 8px;
  }
  .overlay_parts .whiteBox .title {
    font-size: 28px;
    padding: 0 0.8em 0.4em;
    border-bottom: 3px solid #222;
    margin: 0 auto 0.5em;
  }
  .overlay_parts .whiteBox .imgBox {
    width: 530px;
    margin: 0 auto;
  }
  .overlay_parts .whiteBox .imgBox > li:nth-child(1) {
    width: 200px;
  }
  .overlay_parts .whiteBox .imgBox > li:nth-child(2) {
    width: 272px;
  }
  .overlay_parts .whiteBox .imgBox > li:nth-child(2) > dl:nth-child(2) {
    margin-top: 26px;
  }
  .overlay_parts .whiteBox .courseTitle {
    font-size: 21px;
    height: 34px;
    border-radius: 9px;
    margin-bottom: 14px;
  }
  .overlay_parts .whiteBox .priceBox {
    justify-content: center;
  }
  .overlay_parts .whiteBox .priceBox .total {
    font-size: 20px;
    margin-right: 1em;
  }
  .overlay_parts .whiteBox .priceBox .price {
    font-size: 38px;
  }
  .overlay_parts .whiteBox .priceBox .yen {
    font-size: 20px;
  }
  .overlay_parts .other {
    font-size: 17px;
    margin-top: 24px;
  }
  .overlay_parts .button a {
    font-size: 15px;
    width: 306px;
    height: 68px;
    margin: 26px auto 0;
  }
}