@charset "UTF-8";

:root {
  --viewport: 750;
  --gold: #baa073;
  --swiper-navigation-size: calc(100vw / var(--viewport) * 22);
}

.bold {
  font-weight: bold;
}
.font_red {
  color: #C1272D !important;
}
.font_gold {
  color: #BBA170 !important;
}
.font_white {
  color: #fff !important;
}
.font_yellow {
  color: #FAD430 !important;
}
.font_gray {
  color: #939393 !important;
}
.lh2 {
  line-height: 2;
}
.flex {
  display: flex;
}
.hidden {
  overflow: hidden;
}
.relative {
  position: relative;
}
.cf::after {
  content: "";
  display: block;
  clear: both;
}
section .inner {
  width: calc(100vw / var(--viewport) * 690);
  margin: 0 auto;
}
.ttl_aco {
  cursor: pointer;
}
.body_aco {
  display: none;
}

.margin_add {
  margin: 0 auto!important;
}
@keyframes zoom {
  0% {
    scale: 1;
  }
  50% {
    scale: 1.1;
  }
  100% {
    scale: 1;
  }
}

.text_container {
  color: #fff;
  background: #777;
}
.text_container .midashi {
  text-align: center;
  margin-bottom: calc(100vw / var(--viewport) * 45);
  position: relative;
}
.text_container .midashi:after {
  content: "";
  background: #fff;
  width: calc(100vw / var(--viewport) * 108);
  height: 1px;
  position: absolute;
  left: 0;
  right: 0;
  bottom: calc(100vw / var(--viewport) * -18);
  margin: 0 auto;
}
.text_container li {
  line-height: 1.55;
}
.text_container li:before {
  content: "・";
}
.text_area {
  max-width: 1060px;
  margin: 0 auto;
  letter-spacing: 1px;
}
.add_padding1 li {
  list-style: disc;
}
.deco {
  text-decoration: underline;
}

@media screen and (min-width: 767px) {
  .tax_text1 {
    writing-mode: vertical-rl;
    white-space: pre;
    margin-top: 0.8em;
    margin-left: 0.1em;
    margin-bottom: 0.3em;
    font-size: 24px;
  }
  .text_container .midashi {
    margin-bottom: 85px;
  }
  .text_container .midashi:after {
    width: 204px;
    bottom: -34px;
  }
  .text_area {
    padding: 46px 0 110px;
    line-height: 20px;
  }
  .text_area .flex {
    justify-content: center;
  }
  .text_area .flex div {
    margin: 0 40px;
  }

  .add_padding {
    padding: 2.6rem 1rem;
  }
  .add_padding2 {
    padding: 2.6rem 1rem 0 1rem;
  }
  .add_padding1 {
    padding: 0 2rem;
    margin-left: 1rem;
  }
  .add_padding1 li {
    margin-bottom: 4px;
  }
  .add_padding3 {
    padding: 2.6rem 1rem;
    font-size: 14px;
  }
  .three_contents_pc {
    max-width: 1100px;
    margin: 3rem auto 2rem;
  }
  .white_span {
    color: #fff;
    font-size: 12px;
    line-height: 1.2;
    letter-spacing: 1.2px;
    margin: 0 0.8rem;
  }
  .three_contents_sp {
    display: none;
  }

}
@media screen and (max-width: 767px) {
  .text_area {
    width: calc(100vw / var(--viewport) * 690);
    margin: 0 auto;
    padding: 2rem 0 calc(100vw / var(--viewport) * 30);
  }
  .font_32_sp1 {
    font-size: 3.87vw;
  }
  .font_32_sp12 {
    font-size: 3.47vw;
  }
  .font_24_sp1 {
    font-size: 3.27vw;
  }
  .add_padding {
    padding: 2rem 1rem;
  }
  .add_padding2 {
    padding: 1.6rem 1rem 0 1rem;
  }
  .add_padding1 {
    padding: 0 0 0 3rem;
    margin-left: 0.4rem;
  }
  .add_padding1 li {
    margin-bottom: 4px;
  }
  .add_padding3 {
    padding: 1.4rem 1rem;
  }
  .white_span {
    color: #fff;
    font-size: 10px;
    font-weight: bold;
    line-height: 1.2;
    letter-spacing: 1.2px;
    margin: 0 0.4rem;
  }
  .three_contents_pc {
    display: none;
  }
}

#contents {
  overflow-x: hidden;
}

h2 {
  text-align: center;
  border-bottom: calc(100vw / var(--viewport) * 2) solid var(--gold);
  padding-bottom: calc(100vw / var(--viewport) * 24);
  margin-bottom: calc(100vw / var(--viewport) * 42);
}

header {
  background: #000;
  border-bottom: none;
}
header .inner .logo a img:nth-child(2) {
  width: calc(100vw / var(--viewport) * 406);
}
header .inner .access {
  top: calc(100vw / var(--viewport) * 27.7);
  right: calc(100vw / var(--viewport) * 98.8);
}
header .inner .access a::before {
  width: calc(100vw / var(--viewport) * 30);
  height: calc(100vw / var(--viewport) * 46);
}
header .inner .phone {
  display: block;
  position: absolute;
  top: calc(100vw / var(--viewport) * 26.9);
  right: calc(100vw / var(--viewport) * 34.8);
}
header .inner .phone a::before {
  content: "";
  display: block;
  width: calc(100vw / var(--viewport) * 28);
  height: calc(100vw / var(--viewport) * 47);
  background: url(../img/icon_phone.webp) no-repeat;
  background-size: 100% auto;
}

#mv {
  background: url(../img/mv/bg_sp.webp?v2) top center no-repeat, #000;
  background-size: 100% auto;
  height: calc(100vw / var(--viewport) * 750);
  position: relative;
  overflow: hidden;
  border-bottom: calc(100vw / var(--viewport) * 10) solid #000;
}
#mv h1 {
  width: calc(100vw / var(--viewport) * 694);
  position: absolute;
  top: calc(100vw / var(--viewport) * 47);
  left: calc(100vw / var(--viewport) * 29);
  z-index: 1;
}

.banner {
  padding: calc(100vw / var(--viewport) * 40) calc(100vw / var(--viewport) * 30);
}

.bannerArea {
  text-align: center;
  border-top: calc(100vw / var(--viewport) * 10) solid #000;
}
.bannerArea .button {
  margin-top: calc(100vw / var(--viewport) * 60);
}
.bannerArea .button a {
  font-size: calc(100vw / var(--viewport) * 22);
  font-weight: bold;
  text-decoration: none;
  background: #fff;
  width: calc(100vw / var(--viewport) * 412);
  height: calc(100vw / var(--viewport) * 75);
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
}
.bannerArea a {
  text-decoration: none;
}
.bannerArea {
  text-align: center;
}
.bannerArea .box01 {
  background: #000;
  padding: calc(100vw / var(--viewport) * 35) calc(100vw / var(--viewport) * 30) calc(100vw / var(--viewport) * 60);
  border-top: calc(100vw / var(--viewport) * 34) solid #fff;
}
.bannerArea .box01 img {
  width: calc(100vw / var(--viewport) * 600);
}
.bannerArea .box01.first {
  border-top: none;
  border-bottom: calc(100vw / var(--viewport) * 34) solid #fff;
}
.bannerArea .button a {
  font-size: calc(100vw / var(--viewport) * 34);
  font-weight: normal;
  background: var(--gold);
  width: calc(100vw / var(--viewport) * 386);
  height: calc(100vw / var(--viewport) * 70);
}

.bannerArea .box02 {
  color: #fff;
  letter-spacing: 0.1em;
  background: #000;
  padding: calc(100vw / var(--viewport) * 20) calc(100vw / var(--viewport) * 49) calc(100vw / var(--viewport) * 26);
}
.bannerArea .box02 > .pc_flex > .flex {
  justify-content: space-between;
}
.bannerArea .box02 > .pc_flex > .flex img {
  width: calc(100vw / var(--viewport) * 195);
}
.bannerArea .box02 > .pc_flex > .flex > div {
  width: calc(100vw / var(--viewport) * 420);
}
.bannerArea .box02 > .pc_flex > .flex > div .midashi {
  font-size: calc(100vw / var(--viewport) * 50);
  font-weight: bold;
  text-align: left;
  margin-bottom: calc(100vw / var(--viewport) * 15);
}
.bannerArea .box02 > .pc_flex > .flex > div .flex {
  justify-content: space-between;
  align-items: center;
  margin-bottom: calc(100vw / var(--viewport) * 10);
}
.bannerArea .box02 > .pc_flex > .flex > div .flex .count {
  color: #fff;
  font-size: calc(100vw / var(--viewport) * 31);
  font-weight: bold;
  line-height: 1;
  width: calc(100vw / var(--viewport) * 93);
  height: calc(100vw / var(--viewport) * 44);
  background: #808080;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 3px;
}
.bannerArea .box02 > .pc_flex > .flex > div .flex .price {
  position: relative;
}
.bannerArea .box02 > .pc_flex > .flex > div .flex .price:after {
  content: "税込";
  font-size: calc(100vw / var(--viewport) * 20);
  position: absolute;
  right: 0;
  bottom: calc(100vw / var(--viewport) * -12);
  display: inline-block;
}
.bannerArea .box02 > .pc_flex > .flex > div .flex .price img {
  width: auto;
  height: calc(100vw / var(--viewport) * 80);
  margin: 0 0.05em;
}
.bannerArea .box02 > .pc_flex > .flex > div .sub {
  font-size: calc(100vw / var(--viewport) * 34);
  text-align: left;
  margin-bottom: calc(100vw / var(--viewport) * 20);
}
.bannerArea .box02 ul {
  margin-bottom: 0 !important;
}
.bannerArea .box02 li {
  color: #000;
  font-size: calc(100vw / var(--viewport) * 24);
  font-weight: bold;
  line-height: 1.3;
  background: #BAA171;
  width: calc(100vw / var(--viewport) * 120);
  height: calc(100vw / var(--viewport) * 120);
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50vw;
}

.bannerArea .box03 {
  background: #E0E0E0;
}
.bannerArea .box03 .pc_flex {
  padding: calc(100vw / var(--viewport) * 18) calc(100vw / var(--viewport) * 49);
}
.bannerArea .box03 .pc_flex img {
  width: calc(100vw / var(--viewport) * 110);
}
.bannerArea .box03 > .pc_flex > .flex {
  justify-content: space-between;
  align-items: center;
}
.bannerArea .box03 > .pc_flex > .flex:nth-child(1) {
  margin-bottom: calc(100vw / var(--viewport) * 22);
}
.bannerArea .box03 > .pc_flex > .flex:nth-child(1) div {
  white-space: nowrap;
}
.bannerArea .box03 > .pc_flex > .flex:nth-child(2) {
  justify-content: center;
}
.bannerArea .box03 > .pc_flex > .flex .font_big {
  font-size: calc(100vw / var(--viewport) * 65);
  margin-bottom: 0.1em;
}
.bannerArea .box03 > .pc_flex > .flex .sub {
  font-size: calc(100vw / var(--viewport) * 24);
}
.bannerArea .box03 > .pc_flex > .flex .count {
  color: #fff;
  font-size: calc(100vw / var(--viewport) * 19);
  font-weight: bold;
  line-height: 1;
  width: calc(100vw / var(--viewport) * 168);
  height: calc(100vw / var(--viewport) * 36);
  background: #000;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 3px;
  margin-right: 0.8em;
}
.bannerArea .box03 .price:after {
  content: "税込";
  font-size: calc(100vw / var(--viewport) * 20);
  vertical-align: top;
  margin-top: calc(100vw / var(--viewport) * 56);
  margin-left: calc(100vw / var(--viewport) * 6);
  display: inline-block;
}
.bannerArea .box03 .pc_flex2 .price {
  position: relative;
  display: table;
  margin: 0 auto;
}
.bannerArea .box03 .pc_flex2 .price:after {
  font-size: calc(100vw / var(--viewport) * 18);
  position: absolute;
  right: calc(100vw / var(--viewport) * 11);
  bottom: calc(100vw / var(--viewport) * 8);
}
.bannerArea .box03 > .pc_flex > .flex .price img {
  width: auto;
  height: calc(100vw / var(--viewport) * 97);
  margin: 0 0.05em;
}
.bannerArea .box03 > .pc_flex2,
.bannerArea .box03 > .pc_flex2 + .box {
  color: #fff;
  background: #000;
  display: flex;
  flex-wrap: wrap;
  border-bottom: calc(100vw / var(--viewport) * 18) solid #E0E0E0;
}
.bannerArea .box03 .box {
  width: 100%;
  padding: calc(100vw / var(--viewport) * 20) 0;
  border-bottom: calc(100vw / var(--viewport) * 18) solid #E0E0E0;
}
.bannerArea .box03 .box .midashi {
  font-size: calc(100vw / var(--viewport) * 41);
  font-weight: bold;
  margin-bottom: 0.2em;
}
.bannerArea .box03 .box .sub {
  font-size: calc(100vw / var(--viewport) * 28);
  margin-bottom: 0.4em;
}
.bannerArea .box03 .box .price img {
  height: calc(100vw / var(--viewport) * 62);
  margin: 0 0.1em;
}
.bannerArea .box03 .box a {
  color: #000;
  font-size: calc(100vw / var(--viewport) * 34);
  background: var(--gold);
  width: calc(100vw / var(--viewport) * 386);
  height: calc(100vw / var(--viewport) * 70);
  display: flex;
  justify-content: center;
  align-items: center;
  margin: calc(100vw / var(--viewport) * 45) auto;
}
.bannerArea .box03 .box:last-child {
  border-bottom: none;
}

.cpbanner {
  padding: 60px 0;
  background-color: #000;
}

.cpbanner > a {
  max-width: 1000px;
  margin: auto;
  display: block;
}

.cpbanner > a img {
  width: 100%;
  height: auto;
  display: block;
}

@media screen and (max-width: 767px) {
  .cpbanner {
    padding: 30px 0;
  }
}

#nayami {
  background: #fff;
  padding: calc(100vw / var(--viewport) * 50) 0 calc(100vw / var(--viewport) * 58);
}
#nayami h2 img {
  width: calc(100vw / var(--viewport) * 698);
}
#nayami .inner {
  width: calc(100vw / var(--viewport) * 664);
}
#nayami ul {
  justify-content: space-between;
  margin-bottom: calc(100vw / var(--viewport) * 31);
}
#nayami ul li {
  width: 31.17%;
}
#nayami ul li div {
  color: #fff;
  text-align: center;
  line-height: calc(100vw / var(--viewport) * 23);
  background: #000;
  height: calc(100vw / var(--viewport) * 76);
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: calc(100vw / var(--viewport) * 10);
  margin: calc(100vw / var(--viewport) * -33) calc(100vw / var(--viewport) * 7) 0;
  position: relative;
  z-index: 1;
}
#nayami ul li div p {
  font-size: calc(100vw / var(--viewport) * 15);
}
#nayami ul li div span {
  font-size: calc(100vw / var(--viewport) * 17);
  font-weight: bold;
}
#nayami p {
  font-size: calc(100vw / var(--viewport) * 24);
  line-height: 1.67;
}

#merit {
  background: #EFEFEF;
  padding: calc(100vw / var(--viewport) * 51) 0 calc(100vw / var(--viewport) * 54);
}
#merit h2 img {
  width: calc(100vw / var(--viewport) * 342);
}
#merit .midashi {
  text-align: center;
}
#merit .inner img {
  width: calc(100vw / var(--viewport) * 474);
  margin: calc(100vw / var(--viewport) * 27) auto calc(100vw / var(--viewport) * 40);
  display: block;
}
#merit .text {
  line-height: 1.67;
}

.ctaArea {
  padding: calc(100vw / var(--viewport) * 60) calc(100vw / var(--viewport) * 30) 0;
}
.ctaArea div {
  position: relative;
}
.ctaArea div img {
  margin-bottom: calc(100vw / var(--viewport) * 60);
}
.yureru-j {
  animation: yureru-j 2s infinite;
}
@keyframes yureru-j {
  0% {
    transform: translate(0px, 2px);
  }
  5% {
    transform: translate(0px, -2px);
  }
  10% {
    transform: translate(0px, 2px);
  }
  15% {
    transform: translate(0px, -2px);
  }
  20% {
    transform: translate(0px, 2px);
  }
  25% {
    transform: translate(0px, -2px);
  }
  30% {
    transform: translate(0px, 0px);
  }
}

#lead {
  color: #fff;
  text-align: center;
  background: url(../img/bg_hcp_sp.webp) top center no-repeat;
  background-size: cover;
  padding: calc(100vw / var(--viewport) * 50) 0 calc(100vw / var(--viewport) * 60);
}
#lead h2 img {
  width: calc(100vw / var(--viewport) * 342);
}
#lead .inner > p {
  text-align: left;
  line-height: 1.67;
  margin: 0 calc(100vw / var(--viewport) * 20);
}
#lead .leadBox {
  margin-top: calc(100vw / var(--viewport) * 52);
  position: relative;
}
#lead .leadBox .hcp01 {
  margin-bottom: calc(100vw / var(--viewport) * 62);
}
#lead .leadBox img {
  width: calc(100vw / var(--viewport) * 690);
}
#lead .leadBox .circle {
  position: absolute;
  top: calc(100vw / var(--viewport) * -344);
  left: 0;
  right: 0;
  margin: 0 auto;
}
#lead .leadBox p {
  color: #fff;
  line-height: 1.44;
  text-align: left;
  margin: calc(100vw / var(--viewport) * 50) calc(100vw / var(--viewport) * 20) 0;
}
#lead .leadBox .hcp03 {
  margin-top: calc(100vw / var(--viewport) * 50);
}

#difference {
  background: #EFEFEF;
  padding: calc(100vw / var(--viewport) * 52) 0 calc(100vw / var(--viewport) * 63);
}
#difference h2 img {
  width: calc(100vw / var(--viewport) * 442);
}
#difference p.lead {
  line-height: 1.45;
  letter-spacing: -0.05em;
  text-align: center;
  margin-bottom: calc(100vw / var(--viewport) * 24);
}
#difference p.lead .sup {
  color: #333;
  font-size: 50%;
  vertical-align: 1.45em;
}
#difference p {
  line-height: 1.67;
}
#difference .inner img {
  margin-top: calc(100vw / var(--viewport) * 48);
}

.how {
  color: #fff;
  border-top: calc(100vw / var(--viewport) * 30) solid #B40000;
  border-bottom: calc(100vw / var(--viewport) * 30) solid #B40000;
  margin-bottom: calc(100vw / var(--viewport) * 60);
}
.how.effect {
  border-top: none;
  border-bottom: none;
  margin-bottom: 0;
}
.how .bg1 {
  background: url(../img/bg_how_sp.webp) top center no-repeat;
  background-size: 100% auto;
  padding: calc(100vw / var(--viewport) * 52) 0 0;
}
.how h2 {
  padding-bottom: calc(100vw / var(--viewport) * 20);
  margin-bottom: calc(100vw / var(--viewport) * 30);
}
.how h2 img {
  width: calc(100vw / var(--viewport) * 690);
}
.how .pc_flex .circle {
  text-align: center;
  background: #B40000;
  width: calc(100vw / var(--viewport) * 285);
  height: calc(100vw / var(--viewport) * 285);
  border-radius: 50vw;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  line-height: 1.5;
  align-content: center;
  margin: 0 auto calc(100vw / var(--viewport) * 17);
}
.how .pc_flex .text {
  padding-bottom: calc(100vw / var(--viewport) * 59);
}
.how .pc_flex .text p {
  line-height: 1.5;
}
.how .obi {
  height: calc(100vw / var(--viewport) * 106);
  background: #6A6A6A;
  padding: calc(100vw / var(--viewport) * 15) calc(100vw / var(--viewport) * 50);
  box-sizing: border-box;
}
.how .bg2 {
  text-align: center;
  background: #000;
  padding: calc(100vw / var(--viewport) * 55) 0 calc(100vw / var(--viewport) * 42);
}
.how .bg2 .midashi {
  margin: 0 calc(100vw / var(--viewport) * 50) calc(100vw / var(--viewport) * 20);
  justify-content: space-between;
  align-items: center;
}
.how .bg2 .midashi p {
  white-space: nowrap;
}
.how .bg2 .midashi p:nth-child(1) {
  margin-bottom: calc(100vw / var(--viewport) * 17);
}
.how .bg2 .font_127_sp {
  font-size: calc(100vw / var(--viewport) * 127);
}
.how .sub {
  text-align: right;
  margin-top: calc(100vw / var(--viewport) * 10);
  margin-right: calc(100vw / var(--viewport) * 28);
  margin-bottom: calc(100vw / var(--viewport) * 37);
}
.how .bg2 .relative {
  padding-bottom: calc(100vw / var(--viewport) * 81);
  margin-bottom: calc(100vw / var(--viewport) * 0);
}
.how .bg2 video {
  width: calc(100vw / var(--viewport) * 650);
}
.how .bg2 .relative > img {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 0 auto;
}
.how .bg2 .lead {
  white-space: nowrap;
}
.how .bg2 .lead.text {
  margin: 15px 0;
}

#other {
  color: #fff;
  border-top: calc(100vw / var(--viewport) * 30) solid #1A2579;
  border-bottom: calc(100vw / var(--viewport) * 30) solid #1A2579;
  margin-bottom: calc(100vw / var(--viewport) * 60);
}
#other .bg1 {
  background: url(../img/bg_other_sp.webp) top center no-repeat;
  background-size: 100% auto;
  padding: calc(100vw / var(--viewport) * 52) 0 0;
}
#other h2 {
  padding-bottom: calc(100vw / var(--viewport) * 20);
  margin-bottom: calc(100vw / var(--viewport) * 30);
}
#other h2 img {
  width: calc(100vw / var(--viewport) * 342);
}
#other .pc_flex .circle {
  text-align: center;
  background: #192A77;
  width: calc(100vw / var(--viewport) * 285);
  height: calc(100vw / var(--viewport) * 285);
  border-radius: 50vw;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  line-height: 1.5;
  align-content: center;
  margin: 0 auto calc(100vw / var(--viewport) * 17);
}
#other .pc_flex .text {
  padding-bottom: calc(100vw / var(--viewport) * 59);
}
#other .pc_flex .text p {
  line-height: 1.5;
}
#other .obi {
  height: calc(100vw / var(--viewport) * 106);
  background: #6A6A6A;
  padding: calc(100vw / var(--viewport) * 15) calc(100vw / var(--viewport) * 50);
  box-sizing: border-box;
}

#comparison {
  color: #fff;
  background: url(../img/bg_comparison.webp) top center no-repeat;
  background-size: auto 100%;
  padding: calc(100vw / var(--viewport) * 50) 0 calc(100vw / var(--viewport) * 72);
}
#comparison h2 img {
  width: calc(100vw / var(--viewport) * 250);
}
#comparison p {
  line-height: 1.67;
  margin: 0 calc(100vw / var(--viewport) * 20) calc(100vw / var(--viewport) * 50);
}

#about {
  background: url(../img/bg_about_sp.webp) top calc(100vw / var(--viewport) * 87) center no-repeat;
  background-size: 100% auto;
  padding: calc(100vw / var(--viewport) * 50) 0 calc(100vw / var(--viewport) * 22);
}
#about h2 img {
  width: calc(100vw / var(--viewport) * 484);
}
#about li {
  margin-top: calc(100vw / var(--viewport) * 56);
}
#about ul:nth-child(1) li:nth-child(1) {
  margin-top: 0;
}
#about li .image {
  margin-bottom: calc(100vw / var(--viewport) * 25);
}
#about li .title {
  color: #808080;
  font-size: calc(100vw / var(--viewport) * 86);
  font-weight: bold;
  line-height: 1;
  text-align: center;
  margin-bottom: calc(100vw / var(--viewport) * 33);
}
#about li .midashi {
  color: var(--gold);
  font-size: calc(100vw / var(--viewport) * 25);
  font-weight: bold;
  line-height: calc(100vw / var(--viewport) * 68);
  background: #000;
  text-align: center;
  width: calc(100vw / var(--viewport) * 508);
  display: block;
  margin: 0 auto calc(100vw / var(--viewport) * 20);
}
#about li .midashi span {
  font-size: calc(100vw / var(--viewport) * 15);
}
#about li p.text {
  font-size: calc(100vw / var(--viewport) * 24);
  line-height: 1.67;
}

#flow {
  padding: calc(100vw / var(--viewport) * 22) 0 0;
  overflow: hidden;
}
#flow h2 img {
  width: calc(100vw / var(--viewport) * 242);
}
.slider2 {
  margin: calc(100vw / var(--viewport) * 45) 0 0;
  overflow: visible;
}
#flow .inner {
  width: calc(100vw / var(--viewport) * 650);
}
#flow .inner > p {
  line-height: 1.75;
}
#flow .inner li {
  background: none;
}
#flow .inner li .box {
  margin-bottom: calc(100vw / var(--viewport) * 28);
}
#flow .inner .midashi {
  color: #fff;
  justify-content: space-between;
}
#flow .inner .midashi div {
  background: #000;
  width: 100%;
  padding: calc(100vw / var(--viewport) * 14) 0 calc(100vw / var(--viewport) * 17);
  display: flex;
  align-items: center;
  justify-content: center;
}
#flow .inner .midashi .number {
  color: var(--gold);
  width: calc(100vw / var(--viewport) * 82);
  margin-right: calc(100vw / var(--viewport) * 10);
}
#flow .inner .con {
  justify-content: space-between;
}
#flow .inner .con div {
  width: 50%;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: center;
  align-content: center;
}
#flow .inner .con div.left {
  color: #000;
  text-align: left;
  line-height: 1.6;
  background: #fff;
  padding: 0 calc(100vw / var(--viewport) * 29);
  box-sizing: border-box;
}
#flow .inner .box01 .con div.left {
  line-height: 1.4;
}
#flow .inner .box01 .con div.left .title {
  text-align: center;
  background: #BBA170;
  width: 100%;
  margin-top: 2px;
}
#flow .inner .box01 .con div.left .title + p {
  white-space: nowrap;
}
#flow .inner .box01 .con div.left .title a {
  color: #fff;
  padding: 3px 0;
  display: block;
}
#flow .inner .con div.right {
  margin-left: calc(100vw / var(--viewport) * 9);
}
#flow .inner .con div a {
  text-decoration: none;
}
#flow .ctaArea div:nth-child(2) img {
  margin-bottom: 0;
}

#price {
  padding: 0;
}
#price h2 img {
  width: calc(100vw / var(--viewport) * 150);
}
.price .titleArea {
  color: #fff;
  text-align: center;
  line-height: calc(100vw / var(--viewport) * 96);
  background: #000;
  border-top: calc(100vw / var(--viewport) * 10) solid #BBA170;
  border-bottom: calc(100vw / var(--viewport) * 10) solid #BBA170;
}
.price .titleArea.ttl_aco {
  line-height: calc(100vw / var(--viewport) * 137);
}
#price .titleArea span {
  position: relative;
}
#price .titleArea span:before,
#price .titleArea span:after {
  content: "";
  width: calc(100vw / var(--viewport) * 46);
  height: calc(100vw / var(--viewport) * 21);
  display: inline-block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
#price .titleArea span:before {
  background: url(../img/dot_left.webp) center center no-repeat;
  background-size: 100% auto;
  left: calc(100vw / var(--viewport) * -65);
}
#price .titleArea span:after {
  background: url(../img/dot_right.webp) center center no-repeat;
  background-size: 100% auto;
  right: calc(100vw / var(--viewport) * -65);
}
#price ul.flex {
  justify-content: space-between;
  flex-wrap: wrap;
  /*padding-bottom: calc(100vw / var(--viewport) * 30);*/
}
#price #all .inner {
  padding-top: calc(100vw / var(--viewport) * 40);
}
#price .priceBar {
  color: #fff;
  text-align: center;
  background: #000;
  padding: calc(100vw / var(--viewport) * 30) 0 calc(100vw / var(--viewport) * 45);
}
#price .priceBar .flex {
  justify-content: center;
  align-items: center;
  margin: 1em 0 0.6em;
}
#price .priceBar .flex .count {
  text-align: center;
  line-height: 1;
  background: #C1272D;
  width: calc(100vw / var(--viewport) * 53);
  height: calc(100vw / var(--viewport) * 31);
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: calc(100vw / var(--viewport) * 4);
  margin-right: 0.5em;
}
#price .priceBar .flex img {
  height: calc(100vw / var(--viewport) * 62);
}
#price .priceBar .flex .flex {
  margin: 0 calc(100vw / var(--viewport) * 15);
}
#price .ttl_aco {
  /*margin-top: calc(100vw / var(--viewport) * 80);*/
}
#price .ttl_aco.line2 {
  height: calc(100vw / var(--viewport) * 137);
}
#price .ttl_aco .inner {
  width: 100%;
  position: relative;
}
#price .ttl_aco .inner:before {
  content: "";
  width: calc(100vw / var(--viewport) * 34);
  height: calc(100vw / var(--viewport) * 4);
  background: #fff;
  position: absolute;
  top: 50%;
  right: calc(100vw / var(--viewport) * 30);
  transform: translateY(-50%);
}
#price .ttl_aco .inner:after {
  content: "";
  width: calc(100vw / var(--viewport) * 4);
  height: calc(100vw / var(--viewport) * 34);
  background: #fff;
  position: absolute;
  top: 50%;
  right: calc(100vw / var(--viewport) * 45);
  transform: translateY(-50%);
}
#price .ttl_aco.active .inner:after {
  display: none;
}

.price .priceUl {
  flex-wrap: wrap;
  justify-content: space-between;
}
.price .priceUl li {
  width: calc(100vw / var(--viewport) * 331);
  margin-top: calc(100vw / var(--viewport) * 30);
}
.price .priceUl li p {
  color: #fff;
  text-align: center;
  background: #333;
  padding: calc(100vw / var(--viewport) * 7.5) 0;
}
.price .priceUl li .course {
  background: #000;
  padding: calc(100vw / var(--viewport) * 11) 0;
  align-items: center;
  justify-content: center;
}
.price .priceUl li .course p {
  background: none;
  padding: 0;
}
.price .priceUl li .course .count {
  margin: 0 calc(100vw / var(--viewport) * 8);
}
.price .priceUl li .course .count p {
  color: #fff;
  background: #C1272D;
  padding: calc(100vw / var(--viewport) * 1) calc(100vw / var(--viewport) * 4) calc(100vw / var(--viewport) * 4);
  border-radius: calc(100vw / var(--viewport) * 5);
}
.price .priceUl li .course .price img {
  height: calc(100vw / var(--viewport) * 35);
}
.price .priceUl li .month {
  background: #000;
}
.price .priceUl li .month p {
  background: none;
  padding-top: 0;
}
.price .priceUl li .month img,
.price .priceUl li .trial img {
  height: calc(100vw / var(--viewport) * 27);
}
.price .priceUl li .trial img:nth-child(1) {
  margin-left: 0.5em;
}
.price .priceUl li .double {
  background: #333;
  padding-bottom: calc(100vw / var(--viewport) * 10);
}
.price .priceUl li .double.flex {
  justify-content: center;
}
.price .priceUl li .double .price {
  text-align: left;
  width: 40%;
}
.price .priceUl li .double .price p {
  text-align: left;
}
.price .priceUl li .double .price img {
  height: calc(100vw / var(--viewport) * 27);
}
.price .bg_white {
  background: #fff;
  padding: calc(100vw / var(--viewport) * 77) 0 0;
}
#price .trial img {
  height: calc(100vw / var(--viewport) * 27);
  vertical-align: middle;
}
#price .bg_gray {
  text-align: center;
  background: #585858;
}

#price .bg_gray .inner {
  /*padding-bottom: calc(100vw / var(--viewport) * 66);*/
}
#price .bg_gray .imgBox img {
  width: calc(100vw / var(--viewport) * 417);
}
#price .bg_gray .tblBox table {
  width: 100%;
  border: calc(100vw / var(--viewport) * 4) solid #000;
  border-collapse: collapse;
}
#price .bg_gray .tblBox td {
  line-height: calc(100vw / var(--viewport) * 77);
  border: calc(100vw / var(--viewport) * 2) solid #000;
  border-collapse: collapse;
  background: #fff;
}
#price .bg_gray .tblBox td.th {
  line-height: initial;
  padding: 0;
  height: calc(100vw / var(--viewport) * 158);
}
#price .bg_gray .tblBox td.bg {
  background: #EADBDB;
}
#price .bg_gray .tblBox td:nth-child(2),
#price .bg_gray .tblBox td:nth-child(3) {
  width: 38%;
}
#price .bg_gray .tblBox td .none {
  background: #333;
  width: calc(100vw / var(--viewport) * 25);
  height: calc(100vw / var(--viewport) * 5);
  display: flex;
  margin: 0 auto;
}
#price .bg_gray .tblBox td img {
  height: calc(100vw / var(--viewport) * 37);
  margin: 0 calc(100vw / var(--viewport) * 0.5);
  vertical-align: middle;
}
#price .bg_gray .tblBox td.big img {
  height: calc(100vw / var(--viewport) * 44);
}
#price .bg_gray .tblBox:nth-child(2) {
  margin: calc(100vw / var(--viewport) * 30) 0;
}
#price #all .caption {
  color: #fff;
  font-size: 1.2rem;
  text-align: left;
  margin-top: calc(100vw / var(--viewport) * 17);
}
#price #all .caption .indent_1em {
  line-height: 1.67;
  text-indent: -1em;
  padding-left: 1em;
}
.price .bg_gray .all_plan {
  padding: 0 0 calc(100vw / var(--viewport) * 77);
}
#price .all_plan .caption {
  color: #fff;
  font-size: 1.2rem;
  text-align: left;
  margin-top: calc(100vw / var(--viewport) * 17);
}
#price .all_plan .caption .indent_1em {
  line-height: 1.67;
  text-indent: -1em;
  padding-left: 1em;
}
.price .bg_gray .all_parts {
  padding: 0;
}
#price .all_parts .body_aco {
  padding: 0 0 calc(100vw / var(--viewport) * 77);
}
#price .all_parts .caption {
  color: #fff;
  font-size: 1.2rem;
  text-align: left;
  margin-top: calc(100vw / var(--viewport) * 17);
}
#price .all_parts .caption .indent_1em {
  line-height: 1.67;
  text-indent: -1em;
  padding-left: 1em;
}

.waribiki {
  padding: calc(100vw / var(--viewport) * 93) 0 2vw;
  overflow: hidden;
}
#waribiki h2 img {
  width: calc(100vw / var(--viewport) * 208);
}
.waribiki ul li {
  margin-bottom: calc(100vw / var(--viewport) * 64);
}
.waribiki ul:last-child li:last-child {
  margin-bottom: 0;
}
.waribiki h3 {
  margin: calc(100vw / var(--viewport) * 16) 0 calc(100vw / var(--viewport) * 10);
}
.waribiki p {
  line-height: 1.8;
}
.waribiki .font_46_sp {
  font-size: 6.14vw;
}
.waribiki .font_22_sp {
  font-size: 2.94vw;
}

#faq {
  padding: calc(100vw / var(--viewport) * 42) 0 0;
  overflow: hidden;
}
#faq h2 img {
  width: calc(100vw / var(--viewport) * 300);
}
#faq .tabs li {
  margin-bottom: calc(100vw / var(--viewport) * 30);
  cursor: pointer;
}
#faq .box02,
#faq .box03 {
  display: none;
}
#faq .box {
  padding-bottom: calc(100vw / var(--viewport) * 36);
}
#faq .box .ttl_aco {
  margin-top: calc(100vw / var(--viewport) * 50);
  position: relative;
}
#faq .box .ttl_aco:nth-child(1) {
  margin-top: 0;
}
#faq .box .ttl_aco:before {
  content: "";
  width: calc(100vw / var(--viewport) * 36);
  height: calc(100vw / var(--viewport) * 6);
  background: #000;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
#faq .box .ttl_aco:after {
  content: "";
  width: calc(100vw / var(--viewport) * 6);
  height: calc(100vw / var(--viewport) * 36);
  background: #000;
  position: absolute;
  top: 50%;
  right: calc(100vw / var(--viewport) * 15);
  transform: translateY(-50%);
}
#faq .box .ttl_aco.active:after {
  display: none;
}
#faq .box .qBox {
  white-space: nowrap;
  width: calc(100vw / var(--viewport) * 582);
  display: flex;
  align-items: center;
  padding-bottom: calc(100vw / var(--viewport) * 15);
  border-bottom: calc(100vw / var(--viewport) * 2) solid #000;
}
#faq .box .qBox img {
  width: calc(100vw / var(--viewport) * 44);
  max-width: 44px;
  margin-right: calc(100vw / var(--viewport) * 20);
}
#faq .box .aBox {
  color: #F29625;
  width: calc(100vw / var(--viewport) * 482);
  display: flex;
  align-items: center;
  padding-top: calc(100vw / var(--viewport) * 15);
  margin-left: calc(100vw / var(--viewport) * 100);
}
#faq .box .aBox img {
  width: calc(100vw / var(--viewport) * 48);
  max-width: 48px;
  margin-right: calc(100vw / var(--viewport) * 20);
}
#faq .box .aBox p {
  white-space: nowrap;
}
#faq .box .body_aco {
  line-height: 1.75;
  margin-top: calc(100vw / var(--viewport) * 36);
  margin-left: calc(100vw / var(--viewport) * 100);
}

#doctor {
  background: #E6E6E6;
  padding: calc(100vw / var(--viewport) * 67) 0 calc(100vw / var(--viewport) * 90);
}
#doctor .doctor_name {
  text-align: center;
}
#doctor h3 {
  padding-bottom: calc(100vw / var(--viewport) * 16);
  border-bottom: calc(100vw / var(--viewport) * 2) solid #000;
  margin-top: calc(100vw / var(--viewport) * 20);
  margin-bottom: calc(100vw / var(--viewport) * 3);
}
#doctor .doctor01 {
  text-align: center;
}
#doctor .doctor01 img {
  width: calc(100vw / var(--viewport) * 423);
  margin-bottom: calc(100vw / var(--viewport) * 28);
}
#doctor .doctor02 {
  line-height: 1.4;
}
#doctor .doctor03 {
  line-height: 1.75;
  margin-top: calc(100vw / var(--viewport) * 42);
}
#doctor .doctor03 .lead {
  color: #ED6C1F;
  text-align: left;
}

#clinic {
  background: linear-gradient(180deg, #fff 0%, #fff 36.4vw, #777 36.4vw, #777 100%);
  padding: calc(100vw / var(--viewport) * 50) 0 0;
  position: relative;
  z-index: 1;
}
#clinic h2 img {
  width: calc(100vw / var(--viewport) * 600);
  vertical-align: middle;
}
#clinic .inner {
}
#clinic .flex {
  flex-wrap: wrap;
  justify-content: space-between;
}
#clinic .flex .relative {
  text-align: center;
  width: 48%;
  margin-bottom: calc(100vw / var(--viewport) * 30);
  position: relative;
}
#clinic .flex li .title {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}
#clinic .flex li .title div {
  line-height: 1.2;
  position: absolute;
}
#clinic .flex li .btn_more {
  line-height: calc(100vw / var(--viewport) * 64);
  background: #000;
  border-top: 1px solid #fff;
  cursor: pointer;
}
#clinic .flex li + .body_more {
  text-align: left;
  width: calc(100vw / var(--viewport) * 690);
  background: rgba(255, 255, 255, 0.93);
  padding-bottom: calc(100vw / var(--viewport) * 42);
  position: absolute;
  top: 0;
  left: 0;
  box-sizing: border-box;
  z-index: 1;
  display: none;
}
#clinic .flex li + .body_more .outer {
  height: 0;
  padding-bottom: 38.11%;
  overflow: hidden;
  position: relative;
}
#clinic .flex li + .body_more .outer iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
#clinic .flex li + .body_more dl {
  line-height: 1.75;
  margin: calc(100vw / var(--viewport) * 30);
  display: flex;
  flex-wrap: wrap;
}
#clinic .flex li + .body_more dt {
  width: 5em;
}
#clinic .flex li + .body_more dd {
  width: calc(100% - 5em);
}

#goTop {
  text-align: center;
  padding-bottom: calc(100vw / var(--viewport) * 72);
}
#goTop a {
  color: #fff;
  text-decoration: underline;
}

footer {
  color: #fff;
  text-align: center;
  background: #000;
  padding: calc(100vw / var(--viewport) * 11) 0 calc(100vw / var(--viewport) * 140);
  margin-top: 0;
}
footer img {
  width: calc(100vw / var(--viewport) * 99);
  max-width: 99px;
}
footer p {
  margin: calc(100vw / var(--viewport) * 13) 0 calc(100vw / var(--viewport) * 18);
}

#btn_hover {
  font-weight: bold;
  width: 100%;
  background: #000;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: fixed;
  left: 0;
  bottom: 0;
  transition: all 0.4s;
  box-sizing: border-box;
  z-index: 99;
  opacity: 0;
}
#btn_hover a {
  font-size: calc(100vw / var(--viewport) * 41);
  line-height: 1.3;
  text-decoration: none;
  display: flex;
  flex-wrap: wrap;
  align-content: center;
  justify-content: center;
  align-items: center;
  width: 50%;
  height: calc(100vw / var(--viewport) * 100);
}
#btn_hover a:nth-child(1) {
  background: #BBA171;
  border-right: calc(100vw / var(--viewport) * 3) solid #000;
}
#btn_hover a:nth-child(2) {
  background: #BA5116;
  border-left: calc(100vw / var(--viewport) * 3) solid #000;
}
#btn_hover a span {
  color: #fff;
  font-size: calc(100vw / var(--viewport) * 26);
}
#btn_hover.active {
  opacity: 1;
}

.pc,
.pc_b {
  display: none;
}

@media screen and (max-width:767px) {
  #difference .inner {
    width: calc(100vw / var(--viewport) * 650);
  }

  .how .img_how02 {
    width: calc(100vw / var(--viewport) * 650);
  }

  #about .inner {
    width: calc(100vw / var(--viewport) * 650);
  }

  #flow .inner li {
    flex-wrap: wrap;
  }
  #flow .inner li div:nth-child(2n) {
    margin-bottom: 0;
  }

  #faq .inner {
    width: calc(100vw / var(--viewport) * 650);
  }

  #clinic .flex .relative:nth-child(2n) .body_more {
    left: initial;
    right: 0;
  }

  #doctor .doctor02 .flex {
    justify-content: space-between;
  }
  #doctor .doctor02 .left,
  #doctor .doctor02 .right {
    width: 50%;
  }

  #clinic .inner .flex li:nth-child(2n) {
    animation-delay: 0.2s;
  }
}
@media screen and (min-width:768px) {
  #wrap {
    min-width: 1100px;
  }
  section .inner {
    width: 1100px;
  }

  header .inner .logo a img:nth-child(2) {
    width: 252px;
  }
  header .inner .inquiry {
    width: 364px;
    display: flex;
    justify-content: space-between;
    padding-left: 182px !important;
  }
  header .inner .inquiry a {
    font-weight: bold;
    text-align: center;
    text-decoration: none;
    width: 178px;
    height: 25px;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  header .inner .inquiry a:nth-child(1) {
    background: #BBA170;
  }
  header .inner .inquiry a:nth-child(2) {
    background: #BA5116;
  }
  header .inner .inquiry a p {
    font-size: 10px;
    transform: scale(0.9);
  }
  header .inner .inquiry a span {
    color: #fff;
  }
  header .inner .contact {
    float: right;
    padding: 11px 60px 0 0;
  }
  header .inner .phone {
    display: none;
  }

  #mv {
    background: url(../img/mv/bg_pc.webp?v2) top center no-repeat, #000;
    background-size: auto 500px;
    width: 100%;
    height: 500px;
    border-bottom: 10px solid #000;
  }
  #mv .inner {
    width: 1100px;
    margin: 0 auto;
    position: relative;
  }
  #mv h1 {
    width: 950px;
    top: 110px;
    left: 0;
    right: 0;
    margin: 0 auto;
  }
  #mv .suprise {
    top: 31px;
  }
  #mv .circle {
    top: 373px;
    left: 211px;
  }

  .banner {
    width: 1100px;
    padding: 50px 0;
    margin: 0 auto;
  }

  .bannerArea {
    text-align: center;
    border-top: 10px solid #000;
  }
  .bannerArea .box01 {
    padding: 30px 0 40px;
    border-top-width: 0;
  }
  .bannerArea .box01.first {
    border-bottom: calc(100vw / var(--viewport) * 14) solid #fff;
  }
  .bannerArea .box01 img {
    width: 1000px;
  }
  .bannerArea .button {
    margin-top: 42px;
  }
  .bannerArea .button a {
    font-size: 34px;
    width: 386px;
    height: 70px;
  }
  .bannerArea .box01 {
    padding: 21px 0 26px;
  }
  .bannerArea .box01 img {
    width: 1000px;
  }

  .bannerArea .box02 {
    padding: 30px 0;
  }
  .bannerArea .box02 .pc_flex {
    width: 1100px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
  }
  .bannerArea .box02 > .pc_flex > .flex {
    width: 1100px;
    margin: 0 auto;
  }
  .bannerArea .box02 > .pc_flex > .flex img {
    width: 258px; /* 240 + 18 */
    margin-left: -18px;
  }
  .bannerArea .box02 > .pc_flex > .flex > div {
    width: 866px;
    display: flex;
    justify-content: space-between;
  }
  .bannerArea .box02 > .pc_flex > .flex > div .midashi {
    font-size: 39px;
    line-height: 1;
    margin-bottom: 6px;
  }
  .bannerArea .box02 > .pc_flex > .flex > div .priceBox .flex {
    margin-bottom: 3px;
  }
  .bannerArea .box02 > .pc_flex > .flex > div .priceBox .flex .count {
    font-size: 25px;
    width: 80px;
    height: 40px;
  }
  .bannerArea .box02 > .pc_flex > .flex > div .priceBox .flex .price:after {
    font-size: 18px;
    bottom: -13px;
  }
  .bannerArea .box02 > .pc_flex > .flex > div .priceBox .flex .price img {
    height: 67px;
  }
  .bannerArea .box02 > .pc_flex > .flex > div .priceBox .sub {
    font-size: 26px;
    margin-bottom: 0;
  }
  .bannerArea .box02 ul {
    width: 478px;
  }
  .bannerArea .box02 li {
    font-size: 25px;
    width: 145px;
    height: 145px;
  }
  .bannerArea .box02 > .pc_flex .img_flow {
    width: 443px;
    margin-top: 4px;
  }

  .bannerArea .box03 .pc_flex {
    width: 1000px;
    padding: 19px 0 18px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
  }
  .bannerArea .box03 .pc_flex img {
    width: 83px;
  }
  .bannerArea .box03 > .pc_flex > .flex:nth-child(1) {
    width: 474px;
    margin-bottom: 0;
  }
  .bannerArea .box03 > .pc_flex > .flex .font_big {
    font-size: 48px;
  }
  .bannerArea .box03 > .pc_flex > .flex .sub {
    font-size: 17px;
  }
  .bannerArea .box03 > .pc_flex > .flex .count {
    font-size: 17px;
    width: 165px;
    height: 38px;
  }
  .bannerArea .box03 .price {
    position: relative;
  }
  .bannerArea .box03 .price:after {
    font-size: 20px;
    margin: 0;
    position: absolute;
    right: -44px;
    bottom: 12px;
  }
  .bannerArea .box03 > .pc_flex > .flex .price img {
    height: 80px;
  }
  .bannerArea .box03 .pc_flex2 {
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    border-bottom: none;
  }
  .bannerArea .box03 > .pc_flex2 {
    border-bottom: 6px solid #fff;
  }
  .bannerArea .box03 > .pc_flex2 .box {
    width: 550px;
  }
  .bannerArea .box03 > .pc_flex2 .box:nth-child(1) {
    border-right: 3px solid #fff;
  }
  .bannerArea .box03 > .pc_flex2 .box:nth-child(2) {
    border-left: 3px solid #fff;
  }
  .bannerArea .box03 .box {
    border-bottom: none;
    padding: 25px 0;
    box-sizing: border-box;
  }
  .bannerArea .box03 .box:nth-child(1) {
    border-right: 5px solid #000;
  }
  .bannerArea .box03 .box:nth-child(2) {
    border-left: 5px solid #000;
  }
  .bannerArea .box03 .box .midashi {
    font-size: 41px;
  }
  .bannerArea .box03 .box .sub {
    font-size: 23px;
    margin-bottom: 0.8em;
  }
  .bannerArea .box03 .pc_flex2 .price:after {
    font-size: 18px;
    right: 18px;
    bottom: 11px;
  }
  .bannerArea .box03 .box .price img {
    height: 80px;
  }
  .bannerArea .box03 > .pc_flex2 + .box {
    padding: 0;
  }
  .bannerArea .box03 .box a {
    font-size: 34px;
    width: 386px;
    height: 70px;
    margin: 30px auto;
  }

  h2 {
    border-bottom: 2px solid var(--gold);
    padding-bottom: 15px;
    margin-bottom: 45px;
  }

  #nayami {
    padding: 95px 0;
  }
  #nayami h2 img {
    width: 698px;
  }
  #nayami .inner {
    width: 1100px;
  }
  #nayami ul {
    margin-bottom: 38px;
  }
  #nayami ul li {
    width: 342px;
  }
  #nayami ul li div {
    line-height: 33px;
    width: 228px;
    height: 100px;
    border-radius: 10px;
    margin: -68px auto 0;
  }
  #nayami ul li div p {
    font-size: 19px;
  }
  #nayami ul li div span {
    font-size: 22px;
  }
  #nayami p {
    font-size: 18px;
  }

  #merit {
    padding: 57px 0 96px;
  }
  #merit h2 img {
    width: 342px;
  }
  #merit .inner {
    display: flex;
    justify-content: space-between;
    position: relative;
  }
  #merit .inner .midashi {
    position: absolute;
    top: 20px;
    left: 493px;
  }
  #merit .inner img {
    width: 474px;
    margin: 0;
  }
  #merit .inner .text {
    margin: 92px 0 0 20px;
  }

  .ctaArea {
    display: flex;
    justify-content: center;
    padding: 100px 0;
    box-sizing: border-box;
  }
  .ctaArea div img {
    width: 542px;
    margin: 0 7px;
  }

  #lead {
    background: url(../img/bg_hcp_pc.webp) top center no-repeat, #303030;
    background-size: auto 100%;
    padding: 96px 0 58px;
  }
  #lead h2 {
    margin-bottom: 20px;
  }
  #lead h2 img {
    width: 342px;
  }
  #lead .leadBox {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-top: 46px;
    position: relative;
  }
  #lead .leadBox .hcp01 {
    width: 385px;
    margin: 0 40px 0 26px;
  }
  #lead .leadBox .hcp02 {
    width: 200px;
    margin: 57px 0 0;
  }
  #lead .leadBox p {
    line-height: 28px;
    position: absolute;
    top: -22px;
    left: 446px;
    margin: 0;
  }
  #lead .leadBox .hcp03 {
    width: 431px;
    margin: 57px 0 0 18px;
  }

  #difference {
    padding: 100px 0;
  }
  #difference h2 {
    margin-bottom: 20px;
  }
  #difference h2 img {
    width: 834px;
  }
  #difference p.lead {
    margin-bottom: 16px;
  }
  #difference .inner img {
    margin-top: 28px;
  }

  .how {
    border-top: 16px solid #B40000;
    border-bottom: 16px solid #B40000;
    margin-bottom: 100px;
  }
  .how.effect {
    border-top: none;
    border-bottom: none;
    margin-bottom: 0;
  }
  .how h2 {
    padding-bottom: 15px;
    margin-bottom: 20px;
  }
  .how h2 img {
    width: 855px;
  }
  .how .bg1 {
    height: 473px;
    background: url(../img/bg_how_pc.webp) top center no-repeat, #000;
    background-size: auto 473px;
    padding: 56px 0 0;
    box-sizing: border-box;
  }
  .how .bg1 .pc_flex {
    display: flex;
    justify-content: space-between;
  }
  .how .pc_flex .circle {
    width: 178px;
    height: 178px;
    margin: 0;
  }
  .how .pc_flex .text {
    width: 893px;
    padding: 0;
  }
  .how .obi {
    height: 100px;
    padding: 20px 0;
  }
  .how .obi p {
    width: 692px;
    margin: 0 auto;
  }
  .how .bg2 {
    background: url(../img/bg_yag_pc.webp) top center no-repeat, #000;
    background-size: 1254px auto;
    padding: 27px 0 60px;
  }
  .how .bg2 .midashi {
    text-align: left;
    width: 694px;
    align-items: start;
    margin: 0 auto 23px;
  }
  .how .bg2 .midashi div:nth-child(1) p:nth-child(1) {
    line-height: 42px;
    margin-bottom: 14px;
  }
  .how .bg2 .midashi div:nth-child(2) {
    text-align: right;
  }
  .how .bg2 .midashi div:nth-child(2) p:nth-child(1) {
    margin-bottom: 0;
  }
  .how .bg2 .font_123_pc {
    font-size: 123px;
  }
  .how .bg2 video {
    width: 790px;
  }
  .how .bg2 .relative {
    padding-bottom: 90px;
    margin-bottom: 40px;
  }
  .how .bg2 .relative > img {
    width: 903px;
  }
  .how .bg2 .lead.text {
    margin: 40px 0;
  }
  .how .sub {
    text-align: right;
    margin-top: 15px;
    margin-right: 98px;
    margin-bottom: 37px;
  }

  #other {
    color: #fff;
    border-top: 16px solid #1A2579;
    border-bottom: 16px solid #1A2579;
    margin-bottom: 0;
  }
  #other .bg1 {
    background: url(../img/bg_other_pc.webp) top center no-repeat, #000;
    background-size: auto 473px;
    padding: 58px 0 62px;
  }
  #other h2 {
    padding-bottom: 15px;
    margin-bottom: 20px;
  }
  #other h2 img {
    width: 342px;
  }
  #other .bg1 .pc_flex {
    display: flex;
    justify-content: space-between;
  }
  #other .pc_flex .circle {
    width: 178px;
    height: 178px;
    margin: 0;
  }
  #other .pc_flex .text {
    width: 893px;
    padding: 0;
  }
  #other .obi {
    height: 100px;
    padding: 20px 0;
  }
  #other .obi p {
    width: 692px;
    margin: 0 auto;
  }

  .bg_cta {
    background: url(../img/bg_cta.webp) top center no-repeat;
    background-size: auto 100%;
    padding: 100px 0 0;
  }
  #banner .inner {
    width: 1000px;
  }

  #comparison {
    background: url(../img/bg_comparison.webp) top center no-repeat, #000;
    background-size: 1500px auto;
    height: 1200px;
    padding: 92px 0 0;
    box-sizing: border-box;
  }
  #comparison h2 img {
    width: 250px;
  }
  #comparison p {
    margin: 16px 0 0;
  }

  #about {
    background: url(../img/bg_about_pc.webp) top 73px center no-repeat;
    background-size: 1345px auto;
    padding: 90px 0 0;
  }
  #about h2 {
    margin-bottom: 20px;
  }
  #about h2 img {
    width: 484px;
  }
  #about .pc_flex {
    display: flex;
    justify-content: space-between;
  }
  #about li {
    width: 536px;
    margin-top: 0;
  }
  #about li .image {
    margin-bottom: 20px;
  }
  #about li .title {
    font-size: 70px;
    margin-bottom: 25px;
  }
  #about li .midashi {
    font-size: 22px;
    line-height: 55px;
    width: 406px;
    margin: 0 auto 15px;
  }
  #about li .midashi span {
    font-size: 12px;
  }
  #about li p.text {
    font-size: 18px;
  }
  #about .pc_flex:nth-child(2) {
    margin-top: 30px;
  }

  #flow {
    background: url(../img/bg_about_pc.webp) top 73px center no-repeat;
    background-size: 1345px auto;
    padding: 93px 0 0;
  }
  #flow h2 {
    margin-bottom: 20px;
  }
  #flow h2 img {
    width: 242px;
  }
  #flow .inner {
    padding: 0;
    margin-top: 17px;
  }
  #flow .inner > p {
    text-align: center;
    line-height: 1.58;
    white-space: nowrap;
  }
  #flow .inner .slider2 {
    margin: 50px 0 0;
  }
  #flow .inner ul {
    width: 1100px;
    padding: 0;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
  }
  #flow .inner li {
    width: 1100px;
    justify-content: space-between;
  }
  #flow .inner li .box {
    width: 530px;
    margin-bottom: 37px;
  }
  #flow .inner li .box:nth-child(2n){
    animation-delay: 0.2s;
  }
  #flow .inner .midashi div {
    width: 460px;
    padding: 10px 0 12px;
  }
  #flow .inner .midashi .number {
    width: 63px;
    margin-right: 8px;
  }
  #flow .inner .con div {
    width: 233px;
    box-sizing: border-box;
  }
  #flow .inner .con div.left {
    width: 267px;
    padding: 0 22px;
    margin-right: 0;
  }
  #flow .inner .box01 .con div.left .title {
    margin-top: 8px;
  }
  #flow .inner .box01 .con div.left .title a {
    padding: 7px 0;
  }
  #flow .inner .con div a[href^="tel:"] {
    pointer-events: none;
  }
  #flow .inner .con div.right {
    width: 256px;
    margin-left: 0;
  }
  #flow .ctaArea {
    padding-bottom: 0;
  }

  .swiper-slide {
    text-align: center;
    font-size: 18px;
    background: #fff;

    /* Center slide text vertically */
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
  }

  #flow .swiper-slide:last-child div {
    margin-bottom: 0;
  }

  #price {
    padding: 0 0 0;
  }
  #price h2 {
    margin-bottom: 40px;
  }
  #price h2 img {
    width: 150px;
  }
  #price .titleArea {
    line-height: 96px;
    border-top: 10px solid #BBA170;
    border-bottom: 10px solid #BBA170;
  }
  #price .titleArea span:before,
  #price .titleArea span:after {
    width: 46px;
    height: 21px;
  }
  #price .titleArea span:before {
    left: -56px;
  }
  #price .titleArea span:after {
    right: -56px;
  }
  #price .bg_plan01 {
    background: url(../img/bg_plan01_pc.webp) top center no-repeat;
    background-size: 1500px auto;
    padding-bottom: 62px;
  }
  #price ul.flex.pc3 {
    padding: 10px 0 40px;
  }
  #price ul.flex.pc3 li {
    width: 340px;
    padding-top: 30px;
  }
  #price ul.flex.pc3 li img {
    height: 296.19px;
  }
  #price ul.flex li > p {
    line-height: 44px;
    padding: 0;
  }
  #price .priceBar {
    width: 1100px;
    display: block;
    padding: 38px 0;
    margin: 0 auto;
  }
  #price .priceBar .pc_flex {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  #price .priceBar .flex {
    margin: 0;
  }
  #price .priceBar .midashi {
    margin: -5px 18px 0 0;
  }
  #price .priceBar .flex .count {
    width: 43px;
    height: 25px;
    border-radius: 4px;
  }
  #price .priceBar .flex img {
    height: 52px;
  }
  #price .priceBar + .caption,
  #price .bg_plan01 .body_aco > .caption {
    text-align: right;
    width: 1100px;
    display: block;
    margin: 18px auto 0;
  }
  #price .ttl_aco.line2 {
    height: 118px;
  }
  #price .ttl_aco.line2 + .bg_plan01 {
    padding-bottom: 0;
  }
  #price .ttl_aco.line2 + .bg_plan01 .ctaArea {
    padding: 92px 0;
  }
  #price .ttl_aco {
    margin-top: 0;
  }
  #price .ttl_aco .inner {
    width: 1100px;
    position: relative;
  }
  #price .ttl_aco.line2 .inner .sub {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 82px;
  }
  #price .ttl_aco .inner:before {
    width: 39px;
    height: 4px;
    right: 0;
  }
  #price .ttl_aco .inner:after {
    width: 4px;
    height: 39px;
    right: 19px;
  }
  #price .body_aco .bg_plan01 {
    padding-bottom: 0;
  }
  #price .body_aco ul.flex.pc3 {
    padding-bottom: 0;
  }
  #price .course .count {
    padding: 0 5px 3px 5px;
    border-radius: 4px;
  }
  #price .body_aco .price img {
    height: 35px !important;
  }
  #price .body_aco .trial img {
    height: 22px !important;
  }
  .price .priceUl li {
    width: 340px;
    margin-top: 16px;
  }
  .price .priceUl li:nth-child(1),
  .price .priceUl li:nth-child(2) {
    margin-top: 46px;
  }
  .price .priceUl li p {
    padding: 12px;
  }
  .price .priceUl li .course {
    padding: 17px 0 18px;
  }
  .price .priceUl li .course > p {
    margin-top: -6px;
  }
  .price .priceUl li .course .count {
    margin: -6px 5px 0 10px;
  }
  .price .priceUl li .course .count p {
    padding: 3px;
    border-radius: 4px;
  }
  .price .priceUl li .course .price img {
    height: 35px;
  }
  .price .priceUl li .month img,
  .price .priceUl li .trial img {
    height: 22px;
  }

  #price .bg_gray {
    background: url(../img/bg_plan02_pc.webp) top 116px center no-repeat, #6C6C6C;
    background-size: 1500px auto;
  }
  #price .bg_gray .inner {
    padding: 68px 0 0 !important;
  }
  #price .bg_gray .all .pc_flex {
    display: flex;
    justify-content: center;
  }
  #price .bg_gray .all .tblBox table {
    border-width: 4px;
  }
  #price .bg_gray .tblBox td {
    line-height: 73px;
    border-width: 1px;
  }
  #price .bg_gray .tblBox td.th {
    height: 173px;
    padding: 0;
  }
  #price .bg_gray .tblBox td:nth-child(1) {
    width: 116px;
  }
  #price .bg_gray .tblBox td:nth-child(2),
  #price .bg_gray .tblBox td:nth-child(3) {
    width: 188px;
  }
  #price .bg_gray .tblBox td img {
    height: 19px;
  }
  #price .bg_gray .tblBox td.big img {
    height: 28px;
  }
  #price .bg_gray .tblBox td .none {
    width: 13px;
    height: 2px;
  }
  #price .bg_gray .tblBox:nth-child(2) {
    margin: 0;
  }
  #price .bg_gray .tblBox:nth-child(1) table {
    border-right-width: 1px;
  }
  #price .bg_gray .tblBox:nth-child(2) table {
    border-left: none;
  }
  #price .bg_gray .tblBox:nth-child(2) table td:nth-child(2) {
    border-left: none;
  }
  #price #all .caption {
    font-size: 14px;
    width: 882px;
    margin: 20px auto 0;
  }
  #price #all_plan .inner {
    padding: 0 !important;
  }
  #price #all_plan ul.flex {
    padding-bottom: 0;
  }
  #price #all_plan ul.flex li > p {
    line-height: 1.1;
    padding: 12px;
  }
  #price .course {
    line-height: 1;
    padding: 8px 0;
  }
  #price .course .price img {
    height: 41px;
  }
  #price .month p {
    line-height: 1 !important;
    padding: 6px;
  }
  #price .month p img {
    height: 25px;
  }
  #price ul.flex li .trial p {
    padding: 12px;
  }
  #price .trial img {
    height: 24px;
  }
  #price #all_plan .course {
    padding: 17px 0 18px;
  }
  #price #all_plan .caption {
    width: 882px;
    margin: 20px auto 0;
  }
  #price .all_parts .titleArea {
    line-height: 118px;
  }
  #price .all_parts .titleArea .inner {
    padding: 0 !important;
  }
  #price .all_parts .body_aco {
    background: url(../img/bg_plan02_pc.webp) top center no-repeat, #6C6C6C;
    background-size: 1500px auto;
    padding-bottom: 72px;
  }
  #price .all_parts .body_aco .inner {
    padding: 0 !important;
  }
  #price .all_parts .body_aco .inner ul.flex {
    padding-bottom: 20px;
  }
  #price .all_parts ul.flex li {
    width: 263px;
  }
  #price .all_parts ul.flex li > p {
    line-height: 34px;
    height: 34px;
  }
  #price .all_parts .course {
    padding: 9px 0 7px;
  }
  #price .all_parts .course .price img {
    height: 28px !important;
  }
  #price .double .price img {
    height: 18px !important;
  }
  #price .double {
    height: 27px;
    align-items: center;
  }
  #price .double .price p {
    margin-right: 0.5em;
    display: inline-block;
  }

  .waribiki {
    padding: 100px 0 0;
    overflow: inherit;
  }
  #waribiki h2 {
    margin-bottom: 35px;
  }
  #waribiki h2 img {
    width: 208px;
  }
  .waribiki .pc_flex {
    display: flex;
    justify-content: space-between;
  }
  .waribiki ul li {
    width: 522px;
    margin-bottom: 42px;
  }
  .waribiki ul:last-child li {
    margin-bottom: 0;
  }
  .waribiki h3 {
    margin: 16px 0 17px;
  }
  .waribiki .font_30_pc {
    font-size: 30px;
  }
  .waribiki .font_14_pc {
    font-size: 14px;
  }

  #faq {
    padding: 100px 0 0;
  }
  #faq .inner {
    position: relative;
  }
  #faq h2 {
    margin-bottom: 40px;
  }
  #faq h2 img {
    width: 300px;
  }
  #faq .tabs li {
    width: 363px;
    margin-bottom: 44px;
  }
  #faq .tabs li.second {
    position: absolute;
    top: 0;
    left: 369px;
  }
  #faq .tabs li.third {
    position: absolute;
    top: 0;
    left: 738px;
  }
  #faq .tabs li:not(.active) {
    cursor: pointer;
  }
  #faq .box {
    padding-bottom: 95px;
  }
  #faq .box .ttl_aco {
    padding-left: 13px;
    margin-top: 83px;
    box-sizing: border-box;
  }
  #faq .box .ttl_aco:before {
    width: 36px;
    height: 6px;
    right: 13px;
  }
  #faq .box .ttl_aco:after {
    width: 6px;
    height: 36px;
    right: 28px;
  }
  #faq .box .qBox {
    width: 1006px;
    padding-bottom: 16px;
    border-width: 1px;
  }
  #faq .box .aBox {
    width: 964px;
    padding-top: 20px;
    padding-bottom: 5px;
    margin-left: 110px;
  }
  #faq .box .body_aco {
    width: 880px;
    margin-top: 50px;
    margin-left: 126px;
  }
  #faq .box .body_aco p {
    line-height: 2;
  }

  #doctor {
    padding: 62px 0;
  }
  #doctor .inner {
    width: 908px;
    display: flex;
    justify-content: space-between;
  }
  #doctor .doctor01 {
    width: 375px;
  }
  #doctor .doctor01 img {
    width: 375px;
    margin-bottom: 0;
  }
  #doctor .doctor02 {
    width: 232px;
  }
  #doctor .doctor_name {
    text-align: left;
  }
  #doctor h3 {
    padding-bottom: 10px;
    border-width: 1px;
    margin-top: 23px;
    margin-bottom: 10px;
  }
  #doctor .doctor02 .flex {
    flex-wrap: wrap;
  }
  #doctor .doctor03 {
    line-height: 1.5;
    width: 223px;
    margin-top: 0;
  }

  #clinic {
    background: none;
    padding: 92px 0 0;
  }
  #clinic h2 {
    margin-bottom: 40px;
  }
  #clinic h2 img {
    width: 600px;
  }
  #clinic .inner {
    width: 100%;
    background: #777;
    padding-top: 40px;
  }
  #clinic .inner .flex {
    width: 1100px;
    margin: 0 auto;
    justify-content: flex-start;
  }
  #clinic .inner .flex .relative {
    width: 340px;
    margin-left: 40px;
    margin-bottom: 40px;
  }
  #clinic .inner .flex .relative:nth-child(3n+1) {
    margin-left: 0;
  }
  #clinic .inner .flex li:nth-child(3n+2) {
    animation-delay: 0.2s;
  }
  #clinic .inner .flex li:nth-child(3n) {
    animation-delay: 0.4s;
  }
  #clinic .inner .flex li .btn_more {
    line-height: 65px;
  }
  #clinic .inner .flex li + .body_more {
    width: 340px;
    padding-bottom: 0;
  }
  #clinic .inner .flex li + .body_more dl {
    margin: 15px;
  }
  #clinic .inner .flex li + .body_more .outer {
    padding-bottom: 130px;
  }

  footer {
    padding: 36px 0 44px;
  }
  footer p {
    margin: 10px 0 0;
  }

  #btn_hover {
    border-radius: 10px;
    width: 176px;
    left: initial;
    right: 40px;
    bottom: 30px;
    padding: 10px;
    flex-wrap: wrap;
    display: none; /*////////////////////////////////////////////////*/
  }
  #btn_hover img {
    width: 100%;
  }
  #btn_hover a:nth-child(1) img {
    margin-bottom: 6px;
  }

  .sp,
  .sp_b {
    display: none;
  }
  .pc {
    display: inline;
  }
  .pc_b {
    display: block;
  }
}

.ad02 {
  animation-delay: 0.2s;
}
.ad04 {
  animation-delay: 0.4s;
}
.ad06 {
  animation-delay: 0.6s;
}
.ad08 {
  animation-delay: 0.8s;
}
.ad10 {
  animation-delay: 1.0s;
}

@keyframes bururi {
  50% {
    transform: scale(1, 1);
  }
  52% {
    transform: scale(0.96, 0.9)
  }
  54% {
    transform: scale(1, 1);
  }
  56% {
    transform: scale(0.96, 0.9)
  }
  58% {
    transform: scale(1, 1);
  }
  60% {
    transform: scale(0.96, 0.9)
  }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 20px, 0);
    transform: translate3d(0, 20px, 0)
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0)
  }
}
@keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-20px, 0, 0);
    transform: translate3d(-20px, 0, 0)
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0)
  }
}
@keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(20px, 0, 0);
    transform: translate3d(20px, 0, 0)
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0)
  }
}
@keyframes heartBeat {
  0% {
    transform: scale(1);
  }
  14% {
    transform: scale(1.1);
  }
  28% {
    transform: scale(1);
  }
  42% {
    transform: scale(1.1);
  }
  70% {
    transform: scale(1);
  }
}
.heartBeat {
  animation-name: heartBeat;
  animation-timing-function: ease-in-out;
}
@keyframes bounceInUp {
  from,
  60%,
  75%,
  90%,
  to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  from {
    opacity: 0;
    transform: translate3d(0, 3000px, 0) scaleY(5);
  }
  60% {
    opacity: 1;
    transform: translate3d(0, -20px, 0) scaleY(0.9);
  }
  75% {
    transform: translate3d(0, 10px, 0) scaleY(0.95);
  }
  90% {
    transform: translate3d(0, -5px, 0) scaleY(0.985);
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}
.bounceInUp {
  animation-name: bounceInUp;
}

[data-animate="bounceInUp"],
[data-animate="fadeIn"],
[data-animate="fadeInUp"],
[data-animate="fadeInLeft"],
[data-animate="fadeInRight"],
[data-animate="flipInY"] {
  opacity: 0;
}

.priceArea {
  margin-top: 0;
}
.priceArea #course_hige {
  margin-bottom: calc(100vw / var(--viewport) * 38);
}
.priceArea .midashi {
  color: #fff;
  text-align: center;
  background: url(../img/bg_midashi.png) top center repeat-y;
  background-size: 180vw auto;
  padding: calc(100vw / var(--viewport) * 40) 0 calc(100vw / var(--viewport) * 46);
}
.priceArea .midashi h2 {
  width: calc(100vw / var(--viewport) * 528);
  margin: 0 auto;
}
.priceArea .midashi h2.border:after {
  width: calc(100vw / var(--viewport) * 308);
  background: #fff;
}
.priceArea .midashi .flex {
  justify-content: center;
  align-items: center;
  white-space: nowrap;
}
.priceArea .midashi .flex .sub {
  font-size: calc(100vw / var(--viewport) * 38);
}
.priceArea .midashi .flex .price img {
  height: calc(100vw / var(--viewport) * 73);
}
.priceArea .midashi .flex .yen {
  color: #C1272D;
  font-size: calc(100vw / var(--viewport) * 54);
}
.priceArea .midashi .flex .zei {
  font-size: calc(100vw / var(--viewport) * 20);
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  white-space: pre;
  margin-left: 0.1em;
  vertical-align: sub;
}
.priceArea .midashi .caption {
  font-size: calc(100vw / var(--viewport) * 20);
}
.priceArea#higePrice {
  margin-top: calc(100vw / var(--viewport) * 55);
}
.priceArea .headLine01 {
  width: calc(100vw / var(--viewport) * 690);
  margin-left: auto;
  margin-right: auto;
  background: #000 !important;
    margin-bottom: calc(100vw / var(--viewport) * 10);
}
.priceArea .flex {
  text-align: center;
  font-weight: bold;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.priceArea .flex li {
  width: 48.9%; /*calc(100vw / var(--viewport) * 357)*/
}
.priceArea .flex li .imgBox .planName {
  color: #fff;
  font-size: calc(100vw / var(--viewport) * 36);
  line-height: 1.25;
  background: #000;
  display: flex;
  height: calc(100vw / var(--viewport) * 134);
  padding: 0.3em 0;
  box-sizing: border-box;
  align-items: center;
  justify-content: flex-start;
  flex-direction: column;
}
.priceArea .flex li .imgBox .planName .sub {
  font-size: calc(100vw / var(--viewport) * 24);
  line-height: 1.25;
}
.priceArea .flex li .box {
  align-items: stretch;
  margin-top: calc(100vw / var(--viewport) * 17);
}
.priceArea .flex li .box .th {
  color: #fff;
  font-size: calc(100vw / var(--viewport) * 36);
  background: #000;
  width: calc(100vw / var(--viewport) * 104);
  display: flex;
  justify-content: center;
  align-items: center;
}
.priceArea .flex li .box .td {
  width: calc(100% - calc(100vw / var(--viewport) * 104));
  border: 2px solid #000;
  border-left: none;
  padding: 0.3em 0 0.5em ;
  box-sizing: border-box;
}
.priceArea .flex li .box .td .totalPrice {
  font-size: calc(100vw / var(--viewport) * 56);
  margin-bottom: 0.2em;
}
.priceArea .flex li .box .td .totalPrice img {
  height: calc(100vw / var(--viewport) * 43);
  vertical-align: middle;
  margin: 0 0.02em;
}
.priceArea .flex li .box .td .once {
  font-size: calc(100vw / var(--viewport) * 26);
}
.priceArea .flex li .box .td .oncePrice {
  font-size: calc(100vw / var(--viewport) * 40);
}
.priceArea .flex li .box .td .oncePrice img {
  height: calc(100vw / var(--viewport) * 32);
  vertical-align: middle;
  margin: 0 0.02em;
}
.priceArea .flex li:nth-child(n + 3) .imgBox .planName {
  background: #000;
}
.priceArea .flex li.wide {
  width: 100% !important;
  padding-top: 0 !important;
}
.priceArea .flex li.wide .box .th {
  background: #000;
}
.priceArea .caption {
  font-size: calc(100vw / var(--viewport) * 14);
  line-height: 1.67;
  margin-top: calc(100vw / var(--viewport) * 17);
}
.priceArea .caption .indent_1em {
  line-height: 1.67;
  text-indent: -1em;
  padding-left: 1em;
}

.priceArea#parts {
  margin-top: 30px;
}
.priceArea#parts h2 {
  margin-bottom: calc(100vw / var(--viewport) * 10);
}
.priceArea#parts .planName {
  height: calc(100vw / var(--viewport) * 76);
  background: #000;
}
.priceArea#parts .flex li .box .th {
  background: #000;
}
.priceArea#parts .flex li .box .td.pd {
  padding: 0.5em 0;
}

.priceArea#appearance {
  padding-bottom: calc(100vw / var(--viewport) * 45);
  margin-top: 30px;
}
.priceArea#appearance h2 {
  font-size: 1.5rem;
  line-height: calc(100vw / var(--viewport) * 95);
  padding: 0;
  margin-bottom: calc(100vw / var(--viewport) * 35);
}
.priceArea#appearance .planName {
  height: calc(100vw / var(--viewport) * 134);
  background: #000;
}
.priceArea#appearance .flex li .box .th {
  background: #000;
}
.priceArea#appearance .flex li .box .td.pd {
  padding: 0.5em 0;
}

@media screen and (max-width:767px) {
  .priceArea .bg_price.parts {
    background: none;
    padding: calc(100vw / var(--viewport) * 33) 0 0;
  }
  .priceArea .flex li:nth-child(-n + 2) {
    margin-bottom: calc(100vw / var(--viewport) * 36);
  }
  .priceArea .flex li .box .td .once {
    border-top: 2px dotted #000;
    width: calc(100vw / var(--viewport) * 218);
    padding-top: 0.4em;
    margin: 0 auto;
  }

  .priceArea#parts .flex li:nth-child(-n + 4) {
    margin-bottom: calc(100vw / var(--viewport) * 36);
  }
}
@media screen and (min-width:768px) {
  .priceArea #course_hige {
    margin-bottom: 38px;
  }
  .priceArea .midashi {
    background: url(../img/bg_midashi.png) top center repeat-y, #000;
    background-size: 1000px auto;
    padding: 42px 0 52px;
  }
  .priceArea .midashi h2 {
    width: 448px;
  }
  .priceArea .midashi h2.border {
    margin-bottom: 26px !important;
  }
  .priceArea .midashi h2.border:after {
    width: 308px;
  }
  .priceArea .midashi .flex .sub {
    font-size: 38px;
  }
  .priceArea .midashi .flex .price img {
    height: 73px;
  }
  .priceArea .midashi .flex .yen {
    font-size: 54px;
  }
  .priceArea .midashi .flex .zei {
    font-size: 20px;
  }
  .priceArea .midashi .caption {
    font-size: 13px;
  }
  .priceArea#higePrice {
    margin-top: 46px;
    padding-bottom: 0;
  }
  .priceArea .inner {
    padding: 0;
  }
  .priceArea .headLine01 {
    width: 1000px;
    margin-bottom: 17px;
  }
  .priceArea .flex {
    position: relative;
  }
  #price .priceArea .flex li {
    width: 262px;
  }
  .priceArea .flex li .imgBox .planName {
    font-size: 16px;
    line-height: 1.5;
    height: 56px;
    padding: 0 0 5px;
    justify-content: center;
  }
  .priceArea .flex li .imgBox .planName .sub {
    font-size: 11px;
  }
  .priceArea .flex li .box {
    margin-top: 10px;
  }
  .priceArea .flex li .box .th {
    font-size: 16px;
    width: 90px;
  }
  .priceArea .flex li .box .td {
    width: calc(100% - 90px);
    background: #fff;
  }
  .priceArea .flex li .box .td .totalPrice {
    font-size: 28px;
  }
  .priceArea .flex li .box .td .totalPrice img {
    height: 28px;
  }
  .priceArea .flex li .box .td .pc_flex {
    width: 128px;
    margin: 0 auto;
    border-top: 2px dotted #000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-top: 0.1em;
  }
  .priceArea .flex li .box .td .once {
    font-size: 8px;
    margin-right: 0.6em;
  }
  .priceArea .flex li .box .td .oncePrice {
    font-size: 18px;
  }
  .priceArea .flex li .box .td .oncePrice img {
    height: 17px;
    margin: 0;
  }
  .priceArea .flex li.wide {
    width: 542px !important;
    position: absolute;
    bottom: 0;
    right: 0;
  }
  .priceArea .flex li.wide .box .th {
    width: 120px;
  }
  .priceArea .flex li.wide .box .td {
    width: calc(100% - 120px);
  }
  .priceArea .caption {
    font-size: 12px;
    margin-top: 30px;
  }

  .priceArea#parts {
    margin-top: 75px;
  }
  .priceArea#parts h2 {
    margin-bottom: 17px;
  }
  .priceArea#parts ul.flex {
    width: 824px;
    margin: 0 auto;
  }
  .priceArea#parts .planName {
    height: 40px;
  }
  .priceArea#parts .flex li .box {
    height: 64px;
  }
  .priceArea#parts .flex li .box:last-child {
    height: auto;
  }
  .priceArea#parts .flex li .box .td.pd {
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .priceArea#parts .flex li:nth-child(-n + 3) {
    margin-bottom: 18px;
  }

  .priceArea#appearance {
    padding-bottom: 58px;
    margin-top: 75px;
  }
  .priceArea#appearance h2 {
    font-size: 2.6rem;
    line-height: 80px;
    width: 1100px;
    margin-bottom: 17px;
    border-bottom: none;
  }
  .priceArea#appearance ul.flex {
    width: 1100px;
  }
  .priceArea#appearance .planName {
    height: 56px;
  }
  .priceArea#appearance .flex li .box {
    height: 64px !important;
  }
  .priceArea#appearance .flex li .box .td.pd {
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}

@media screen and (min-width: 768px) {
   a[href^="tel:"] {
       pointer-events: none;
   }
  .add_P {
    margin-top: 8px;
    text-align: right;
    color: #fff;
    font-size: 12px;
    padding-right: 6px;
  }
  .add_inquiry {
    padding: 16px 0 0 100px!important;
  }
}
@media screen and (max-width: 768px) {
  .add_P {
    margin-top: 8px;
    text-align: right;
    color: #fff;
    font-size: 12px;
    padding-right: 6px;
  }
  .three_contents_sp {
  }
  .three_contents_sp a {
    display: inline-block;
    margin: 4px 0;
  }
}

.line {
  padding-top: calc(100vw / var(--viewport) * 60);
  margin: 0 calc(100vw / var(--viewport) * 30) calc(100vw / var(--viewport) * 60);
}
@media screen and (min-width:768px) {
  .line {
    width: 1100px;
    padding-top: 100px;
    margin: 0 auto 100px;
  }
}

#all_plan ul li.whiteBox {
  width: 100%;
  border: 1px solid #fff;
  background: none;
  display: flex;
  justify-content: center;
  align-items: center;
}
#all_plan ul li.whiteBox p {
  line-height: 1.44;
  background: none;
  padding: 0;
}
@media screen and (max-width:767px) {
  #price #all_plan .caption,
  #price .all_parts .caption {
    margin-top: calc(100vw / var(--viewport) * 30);
  }
}
@media screen and (min-width:768px) {

  .price .bg_gray .all_plan {
    padding: 0 0 100px;
  }
  .price .bg_gray .all_plan .priceUl {
    width: 868px;
    margin: 0 auto;
  }
  .price .bg_gray .all_parts .priceUl li {
    width: 263px;
  }
  .price .bg_gray .all_parts .priceUl li:nth-child(-n+4) {
    margin-top: 80px;
  }
  .price .bg_gray .all_parts .priceUl li .buiName {
    padding: 7px;
  }
  .price .bg_gray .all_parts .priceUl li .course {
    padding: 9px 0 7px;
  }
  .price .bg_gray .all_parts .priceUl li .course .price img {
    height: 28px;
  }
  .price .bg_gray .all_parts .priceUl li .double {
    padding: 6px 0 3px;
  }
  .price .bg_gray .all_parts .priceUl li .double .price {
    width: auto;
  }
  .price .bg_gray .all_parts .priceUl li .double .price:nth-child(2) {
    margin-left: 10px;
  }
  .price .bg_gray .all_parts .priceUl li .double .price p {
    display: inline-block;
    padding: 0;
    vertical-align: middle;
  }
  .price .bg_gray .all_parts .priceUl li .double .price img {
    height: 18px;
  }
  #price .all_parts .caption {
    font-size: 14px;
    margin-top: 20px;
  }
  #all_plan ul li.whiteBox {
    height: 82px;
    margin-top: 30px;
  }
}

/* 2023.12.01 added */
.box03_2 {
  color: #000;
  background: #E0E0E0;
  padding: calc(100vw / var(--viewport) * 20) calc(100vw / var(--viewport) * 49) calc(100vw / var(--viewport) * 16);
}
.box03_2 > .pc_flex > .flex {
  justify-content: space-between;
  align-items: center;
}
.box03_2 > .pc_flex > .flex:nth-child(1) {
  margin-bottom: calc(100vw / var(--viewport) * 22);
}
.box03_2 img {
  width: calc(100vw / var(--viewport) * 110);
}
.box03_2 > .pc_flex > .flex:nth-child(1) div {
  white-space: nowrap;
}
.box03_2 > .pc_flex > .flex .font_big {
  font-size: calc(100vw / var(--viewport) * 65);
  margin-bottom: 0.1em;
}
.box03_2 > .pc_flex > .flex .sub {
  font-size: calc(100vw / var(--viewport) * 24);
}
.box03_2 > .pc_flex > .flex:nth-child(2) {
  justify-content: center;
}
.box03_2 > .pc_flex > .flex .count {
  color: #fff;
  font-size: calc(100vw / var(--viewport) * 19);
  font-weight: bold;
  line-height: 1;
  width: calc(100vw / var(--viewport) * 168);
  height: calc(100vw / var(--viewport) * 36);
  background: #000;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: calc(100vw / var(--viewport) * 8);
  margin-right: 0.8em;
}
.box03_2 > .pc_flex > .flex .price img {
  width: auto;
  height: calc(100vw / var(--viewport) * 97);
  margin: 0 0.05em;
}

/* 2023.12.01 added */
#price .cta {
  margin: 2em 0;
}
.startPlan {
  font-weight: bold;
  margin-bottom: 30px;
}
.startPlan ul li {
  margin-bottom: 0 !important;
}
.startPlan ul li .imgBox .planName {
  color: #fff;
  font-size: calc(100vw / var(--viewport) * 36);
  line-height: 1.25;
  background: #000;
  display: flex;
  height: calc(100vw / var(--viewport) * 112) !important;
  padding: 0.3em 0;
  box-sizing: border-box;
  align-items: center;
  justify-content: flex-start;
  flex-direction: column;
}
.startPlan ul li .imgBox .planName .sub {
  font-size: calc(100vw / var(--viewport) * 24);
  line-height: 1.25;
}
.startPlan ul li .box {
  margin-top: calc(100vw / var(--viewport) * 17);
  text-align: center;
  font-weight: bold;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
}
.startPlan ul li .box .th {
  color: #fff;
  font-size: calc(100vw / var(--viewport) * 36);
  background: #000 !important;
  width: calc(100vw / var(--viewport) * 230) !important;
  display: flex;
  justify-content: center;
  align-items: center;
}
.startPlan ul li .box .td {
  width: calc(100% - calc(100vw / var(--viewport) * 230)) !important;
  border: 2px solid #000;
  border-left: none;
  padding: 0.3em 0 0.5em;
  box-sizing: border-box;
}
.startPlan ul li .box .td .totalPrice {
  font-size: calc(100vw / var(--viewport) * 56);
  margin-bottom: 0.2em;
}
.startPlan ul li .box .td .totalPrice img {
  height: calc(100vw / var(--viewport) * 43);
  vertical-align: middle;
  margin: 0 0.02em;
}
#price .caption {
  font-size: calc(100vw / var(--viewport) * 14);
  font-weight: normal;
  line-height: 1.67;
  margin-top: calc(100vw / var(--viewport) * 17);
}
@media screen and (min-width:768px) {
  .box03_2 {
    padding: 19px 0 18px;
  }
  .box03_2 .pc_flex {
    width: 1000px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
  }
  .box03_2 > .pc_flex > .flex:nth-child(1) {
    width: 474px;
    margin-bottom: 0;
  }
  .box03_2 img {
    width: 83px;
  }
  .box03_2 > .pc_flex > .flex:nth-child(1) div {
    white-space: nowrap;
  }
  .box03_2 > .pc_flex > .flex .font_big {
    font-size: 48px;
  }
  .box03_2 > .pc_flex > .flex .sub {
    font-size: 17px;
  }
  .box03_2 > .pc_flex > .flex .count {
    font-size: 17px;
    width: 165px;
    height: 38px;
    border-radius: 8px;
  }
  .box03_2 > .pc_flex > .flex .price {
    margin-top: 13px;
  }
  .box03_2 > .pc_flex > .flex .price img {
    height: 80px;
  }

  #price .cta {
    margin: 4em 0;
  }
  .startPlan .flex {
    justify-content: center !important;
  }
  .startPlan .flex li.wide {
    width: 542px !important;
    position: initial;
  }
  .startPlan .flex li .imgBox .planName {
    font-size: 16px;
    line-height: 1.5;
    height: 57px !important;
    padding: 0 0 5px;
    justify-content: center;
  }
  .startPlan ul li .imgBox .planName .sub {
    font-size: 11px;
  }
  .startPlan ul li .box {
    margin-top: 10px;
  }
  .startPlan ul li .box .th {
    font-size: 16px;
    width: 139px !important;
  }
  .startPlan ul li .box .td {
    width: calc(100% - 139px) !important;
  }
  .startPlan ul li .box .td .totalPrice {
    font-size: 28px;
    margin-bottom: 0;
  }
  .startPlan ul li .box .td .totalPrice img {
    height: 28px;
  }
  #price .caption {
    font-size: 12px;
    margin-top: 30px;
  }
}


/* 2023.12.11 added */
#price .bg_gray .newPriceTable {
}

#price .bg_gray .all .tblBox table {
  border-width: 1px;
  border: none;
}

#price .bg_gray .all table .th {
  color: #fff;
  background: #000;
  border-bottom: none;
}

#price .bg_gray .all .tblBox:nth-child(3) table {
  border-left: none;
}

#price .bg_gray .all .tblBox:nth-child(2) table td,
#price .bg_gray .all .tblBox:nth-child(3) table td {
  border-left: none;
}

#price .bg_gray .all .tblBox table tr:first-of-type td:nth-child(2) {
  background: #000;
  color: #FFF;
  border-color: #FFF;
}

#price .bg_gray .all .tblBox table tr:nth-child(3) td {
  background: #FDEDED;
}

#price .bg_gray .tblBox td:nth-child(2), #price .bg_gray .tblBox td:nth-child(3) {
  width: 305px;
}

#price .bg_gray .all .tblBox td img {
  height: 42px;
}

#price .bg_gray .all .tblBox td.right {
  text-align: right;
}
#price .bg_gray .all .tblBox td > div:nth-of-type(2) img {
  height: 42px;
}

#price .bg_gray .all .tblBox .flex {
  justify-content: flex-end;
  align-items: center;
}
#price .bg_gray .all .tblBox tr:nth-child(3) td > div:nth-of-type(2) {
  display: flex;
  justify-content: center;
  align-items: center;
}

#price .bg_gray .all .tblBox tr:nth-child(3) td > div:nth-of-type(2) span {
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1;
  width: 60px;
  height: 60px;
  padding-top: 2px;
  border-radius: 100%;
  background: #B40000;
  margin: 10px 5px 10px 0;
  color: #FFF;
  font-family: 'DIN 2014',"din-2014",sans-serif;
}

#price #all .caption {
  width: 1100px;
  max-width: 100%;
}

.price .bg_gray .all_plan .priceUl {
  width: 1100px;
  max-width: 100%;
}

.price .bg_gray .all_plan .priceUl li {
  width: 524px;
  max-width: 48%;
}

.price .bg_gray .all_plan li .course {
  padding: 28px 0 23px 0;
}

.price .bg_gray .all_plan li .course .price {
  position: relative;
}
.price .bg_gray .all_plan li .course .price img {
  height: 40px;
}


.price .bg_gray .all_plan li .course .count {
  margin: -3px 5px 0 10px;
}

.price .bg_gray .all_plan li .course .count p {
  display: flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  padding: 0 5px 3px 5px;
  margin-inline: 4px;
}

.price .bg_gray .all_plan li .campaign_price {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #000;
  padding: 10px;
}

.price .bg_gray .all_plan li .campaign_price::before {
  content: "";
  position: absolute;
  top: -8px;
  left: 50%;
  transform: translate(-50%,0);
  width:0;
  height:0;
  border-style:solid;
  border-width: 11px 6.5px 0 6.5px;
  border-color: #FFFFFF transparent transparent transparent;
}

.price .bg_gray .all_plan li .campaign_price img {
  height: 50px;
}

.price .bg_gray .all_plan li .campaign_price span {
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1;
  width: 69px;
  height: 69px;
  padding-top: 2px;
  border-radius: 100%;
  background: #B40000;
  margin: 0 13px 0 0;
  color: #FFF;
  font-family: 'DIN 2014',"din-2014",sans-serif;
}

.price .bg_gray .all_plan li .trial p {
  padding: 12px 12px 8px 10px;
}

.price .bg_gray .all_plan li .trial img {
  height: 28px;
}

.price .bg_gray .all_plan li .trial span {
  display: inline-block;
  margin: 1px 10px 0px 0;
}

.price .bg_gray .all_plan .caption {
  width: 1100px !important;
  max-width: 100%;
}

.price .bg_gray .all_parts li .discount span {
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1;
  width: 34px;
  height: 34px;
  padding-top: 1px;
  border-radius: 100%;
  background: #B40000;
  margin: 0 7px 0 5px;
  color: #FFF;
  font-family: 'DIN 2014',"din-2014",sans-serif;
}

@media screen and (max-width: 768px) {
  #price .bg_gray .tblBox td {
    line-height: calc(100vw / var(--viewport) * 100);
  }
  #price .bg_gray .tblBox td.spOnly {
    display: table-cell;
  }
  #price .bg_gray .all .tblBox:nth-child(1) table tr:nth-child(1) td:nth-child(1) {
    display: none;
  }
  #price .bg_gray .all .tblBox .akamaru {
    width: calc(100vw / var(--viewport) * 73);
    height: calc(100vw / var(--viewport) * 73);
  }
  #price .bg_gray .all .tblBox td:nth-child(1) {
    width: 34%;
  }
  #price .bg_gray .all .tblBox td:nth-child(2) {
    width: 66%;
  }
  #price .bg_gray .all .tblBox table tr:first-of-type td:nth-child(2) {
    width: 100%;
    border-color: #000;
  }
  #price .bg_gray .all .tblBox:nth-child(3) table td:nth-child(1) {
    display: table-cell;
  }
  #price .bg_gray .all .tblBox:nth-child(3) {
    margin: calc(100vw / var(--viewport) * 30) 0 0;
  }
  #price .bg_gray .all .tblBox td img {
    height: calc(100vw / var(--viewport) * 59);
  }
  #price .bg_gray .all .tblBox td.right {
    padding-right: calc(100vw / var(--viewport) * 92);
  }
  #price .bg_gray .all .tblBox td > div:nth-of-type(2) img {
    height: calc(100vw / var(--viewport) * 56);
  }
  #price .bg_gray .all .tblBox tr:nth-child(3) td > div:nth-of-type(2) span {
    width: calc(100vw / var(--viewport) * 84);
    height: calc(100vw / var(--viewport) * 84);
    padding-top: calc(100vw / var(--viewport) * 2);
    background: #B40000;
    /* margin: 10px 5px 10px 0; */
  }
  .price .bg_gray .all_plan li .course .price img {
    height: calc(100vw / var(--viewport) * 37);
  }

  .price .bg_gray .all_plan li .campaign_price img {
    height: calc(100vw / var(--viewport) * 46);
  }
  .price .bg_gray .all_plan li .course .count {
    margin: 0 0 0 0;
  }
  .price .bg_gray .all_plan li .course .count p {
    padding: calc(100vw / var(--viewport) * 2) calc(100vw / var(--viewport) * 10);
  }
  .price .bg_gray .all_plan li .course {
    padding: 2.933vw 0 1.867vw 0;
  }

  .price .bg_gray .all_plan li .campaign_price {
    padding: 0 0 1.467vw 0;
  }

  .price .bg_gray .all_plan li .campaign_price span {
    width: calc(100vw / var(--viewport) * 84);
    height: calc(100vw / var(--viewport) * 84);
    margin-right: calc(100vw / var(--viewport) * 6);
  }

  .price .bg_gray .all_plan li .campaign_price::before {
    content: "";
    position: absolute;
    top: -0.8vw;
    left: 50%;
    transform: translate(-50%,0);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 2.267vw 1.267vw 0 1.267vw;
    border-color: #FFFFFF transparent transparent transparent;
  }

  .price .bg_gray .all_plan li .trial img {
    height: calc(100vw / var(--viewport) * 27);
  }
  .price .bg_gray .all_plan li .trial p {
    padding: 0.933vw 0 0.533vw 0;
  }

  .price .bg_gray .all_parts li .discount span {
    width: calc(100vw / var(--viewport) * 44);
    height: calc(100vw / var(--viewport) * 44);
    padding-top: 1px;
    margin: 0 0.5em 0 0px;
  }
}

.bannerArea .box03 .box {
  border-bottom: none;
  padding: 25px 25px 0 0;
  box-sizing: border-box;
}

.bannerArea .box03 .box:last-child {
  background: #000;
}

.bannerArea .box03 .box .midashi {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

.bannerArea .box03 .box .midashi span {
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1;
  width: 60px;
  height: 60px;
  padding-top: 2px;
  border-radius: 100%;
  background: #B40000;
  margin: 0 5px 0 0;
  color: #FFF;
  font-family: 'DIN 2014',"din-2014",sans-serif;
}

.bannerArea .box03 .box .price {
  display: flex;
  justify-content: center;
  align-items: center;
}

.akamaru {
  color: #fff;
  font-size: calc(100vw / var(--viewport) * 26);
  font-weight: bold;
  background: #B40000;
  width: calc(100vw / var(--viewport) * 76);
  height: calc(100vw / var(--viewport) * 76);
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  margin-right: calc(100vw / var(--viewport) * 6);
}
.bannerArea .box03 .box .price img {
  height: 62px;
}

.bannerArea .box03 .box .price span img {
  height: 34px;
}

.bannerArea .box03 .pc_flex2 .price:after {
  position: relative;
  content: "（税込）";
  writing-mode: vertical-rl;
  height: 4em;
  bottom: 0;
  right: 0;
  margin-bottom: 10px;
  margin-left: 5px;
  color: #BBA171;
}

@media screen and (min-width: 768px) {
  .akamaru {
    font-size: 21px;
    width: 60px;
    height: 60px;
  }
  #price .tblBox td.th {
    border: 1px solid #fff;
  }
  #price .bg_gray .all .tblBox:nth-child(1) table tr:nth-child(1) td:nth-child(1) {
    width: 192px;
    display: table-cell;
    background: transparent;
    border: none;
    border-bottom: 1px solid #000;
  }
  #price .bg_gray .all .tblBox td.right {
    text-align: center;
  }
  #price .bg_gray .all .tblBox tr:nth-child(2) td,
  #price .bg_gray .all .tblBox tr:nth-child(4) td {
    height: 173px;
  }
  #price .bg_gray .all .tblBox tr:nth-child(3) td {
    height: 145px;
  }
  #price .bg_gray .all .tblBox .flex {
    justify-content: center;
  }
  #price .bg_gray .all .tblBox table tr:first-of-type td:nth-child(2) {
    border-bottom: none;
  }
  .bannerArea .box03 .box:last-child {
    padding: 30px 0;
  }
  .bannerArea .box03 .box:last-child a {
    margin: 0 auto;
  }
}

@media screen and (max-width: 768px) {
  .bannerArea .box03 .box {
    border-bottom: calc(100vw / var(--viewport) * 18) solid #E0E0E0;
    padding: 3.333vw 0;
    box-sizing: border-box;
  }
  .bannerArea .box03 .box .midashi {
    font-size: 6.67vw;
  }
  .bannerArea .box03 .box .sub {
    font-size: 3.47vw;
  }
  .bannerArea .box03 .box .midashi span {
    width: 10vw;
    height: 10vw;
    padding-top: calc(100vw / var(--viewport) * 2);
    margin: 0 1.733vw 0 0;
  }

  .bannerArea .box03 .box .price img {
    height: 10.267vw;
  }
  .bannerArea .box03 .box .price span img {
    height: 5.867vw;
  }
  .bannerArea .box03 .pc_flex2 .price:after {
    position: relative;
    content: "（税込）";
    writing-mode: vertical-rl;
    height: 4em;
    bottom: 0;
    right: 0;
    margin-top: -1.733vw;
    margin-bottom: 0;
    margin-left: 1.733vw;
    color: #BBA171;
    font-size: calc(100vw / var(--viewport) * 24);
  }
}


/* 20240227 add */

section.point .point03 .inner > p {
  font-size: 24px;
  line-height: 1.6;
}

.startPlan ul li .imgBox .planName {
  background: #000!important;
}

.startPlan ul li .box .th {
  background: #000!important;
}

section.point .point03 .flex .text {
  text-align: left;
  line-height: 1.7;
}

.priceArea .flex li .box .td .totalPrice {
  margin-bottom: 0;
}

.totalPrice span {
  position: relative;
  width: fit-content;
}

.totalPrice span:after {
  content: "";
  position: absolute;
  height: 2px;
  width: calc(100% + 12px );
  background: #c1272f;
  top: calc(50% + 2px);
  left: 50%;
  transform: translate(-50%,-50%);
}

.priceArea .flex.setPlan li .box .td {
  padding: calc(100vw / var(--viewport) * 64) 0;
}
.priceArea .flex.setPlan li .box .td .totalPrice {
  margin-bottom: 0.2em;
  font-size: 19px;
}

.priceArea .flex.setPlan li .box .td .totalPrice span img {
  height: 16px;
}

.priceArea .flex.setPlan li .box .td .oncePrice img {
  height: 26px;
}

.priceArea .flex.setPlan li .box .td .pc_flex {
  padding-top: 0.7em;
}

footer a.tel {
  pointer-events: none;
}

@media screen and (max-width: 767px) {
  section.point .point03 .inner > p {
    font-size: 3.2vw;
    line-height: 1.6;
    text-align: center;
  }

  .totalPrice span:after {
    content: "";
    position: absolute;
    height: 1px;
    width: calc(100% - 4vw );
    background: #c1272f;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
  }

  .priceArea .flex.setPlan li .box .td .totalPrice {
    margin-bottom: 0.2em;
    font-size: 19px;
  }

  .priceArea .flex.setPlan li .box .td .totalPrice span {
    display: inline-block;
    border-bottom: 2px dotted #000;
    width: 25vw;
    padding-bottom: 0.2em;
  }

  .priceArea .flex.setPlan li .box .td .totalPrice span img {
    /* height: 16px; */
    height: calc(100vw / var(--viewport) * 33);
  }

  .priceArea .flex.setPlan li .box .td .oncePrice img {
    /* height: 26px; */
    height: calc(100vw / var(--viewport) * 45);
  }

  .priceArea .flex.setPlan li .box .td .pc_flex {
    padding-top: 0.5em;
  }
}

@media screen and (min-width:768px) {
  .priceArea .flex.setPlan li .box .td {
    padding: 23px 0;
  }
}