@import url('https://fonts.googleapis.com/css2?family=Ropa+Sans&display=swap');
@charset "UTF-8";


@charset "UTF-8";

@media screen and (max-width:640px) {
  .font_10_sp { font-size: 1.34vw; }
  .font_11_sp { font-size: 1.47vw; }
  .font_12_sp { font-size: 1.6vw; }
  .font_13_sp { font-size: 1.74vw; }
  .font_14_sp { font-size: 1.87vw; }
  .font_15_sp { font-size: 2vw; }
  .font_16_sp { font-size: 2.14vw; }
  .font_17_sp { font-size: 2.27vw; }
  .font_18_sp { font-size: 2.4vw; }
  .font_19_sp { font-size: 2.54vw; }
  .font_20_sp { font-size: 2.67vw; }
  .font_21_sp { font-size: 2.8vw; }
  .font_22_sp { font-size: 2.94vw; }
  .font_23_sp { font-size: 3.07vw; }
  .font_24_sp { font-size: 3.2vw; }
  .font_25_sp { font-size: 3.34vw; }
  .font_26_sp { font-size: 3.47vw; }
  .font_27_sp { font-size: 3.6vw; }
  .font_28_sp { font-size: 3.74vw; }
  .font_29_sp { font-size: 3.87vw; }
  .font_30_sp { font-size: 4vw; }
  .font_31_sp { font-size: 4.14vw; }
  .font_32_sp { font-size: 4.27vw; }
  .font_33_sp { font-size: 4.4vw; }
  .font_34_sp { font-size: 4.54vw; }
  .font_35_sp { font-size: 4.67vw; }
  .font_36_sp { font-size: 4.8vw; }
  .font_37_sp { font-size: 4.94vw; }
  .font_38_sp { font-size: 5.07vw; }
  .font_39_sp { font-size: 5.2vw; }
  .font_40_sp { font-size: 5.34vw; }
  .font_41_sp { font-size: 5.47vw; }
  .font_42_sp { font-size: 5.6vw; }
  .font_43_sp { font-size: 5.74vw; }
  .font_44_sp { font-size: 5.87vw; }
  .font_45_sp { font-size: 6vw; }
  .font_46_sp { font-size: 6.14vw; }
  .font_47_sp { font-size: 6.27vw; }
  .font_48_sp { font-size: 6.4vw; }
  .font_49_sp { font-size: 6.54vw; }
  .font_50_sp { font-size: 6.67vw; }
  .font_51_sp { font-size: 6.8vw; }
  .font_52_sp { font-size: 6.94vw; }
  .font_53_sp { font-size: 7.07vw; }
  .font_54_sp { font-size: 7.2vw; }
  .font_55_sp { font-size: 7.34vw; }
  .font_56_sp { font-size: 7.47vw; }
  .font_57_sp { font-size: 7.6vw; }
  .font_58_sp { font-size: 7.74vw; }
  .font_59_sp { font-size: 7.87vw; }
  .font_60_sp { font-size: 8vw; }
  .font_61_sp { font-size: 8.14vw; }
  .font_62_sp { font-size: 8.27vw; }
  .font_63_sp { font-size: 8.4vw; }
  .font_64_sp { font-size: 8.54vw; }
  .font_65_sp { font-size: 8.67vw; }
  .font_66_sp { font-size: 8.8vw; }
  .font_67_sp { font-size: 8.94vw; }
  .font_68_sp { font-size: 9.07vw; }
  .font_69_sp { font-size: 9.2vw; }
  .font_70_sp { font-size: 9.34vw; }
  .font_71_sp { font-size: 9.47vw; }
  .font_72_sp { font-size: 9.6vw; }
  .font_73_sp { font-size: 9.74vw; }
  .font_74_sp { font-size: 9.87vw; }
  .font_75_sp { font-size: 10vw; }
  .font_76_sp { font-size: 10.14vw; }
  .font_77_sp { font-size: 10.27vw; }
  .font_78_sp { font-size: 10.4vw; }
  .font_79_sp { font-size: 10.54vw; }
  .font_80_sp { font-size: 10.67vw; }
  .font_81_sp { font-size: 10.8vw; }
  .font_82_sp { font-size: 10.94vw; }
  .font_83_sp { font-size: 11.07vw; }
  .font_84_sp { font-size: 11.2vw; }
  .font_85_sp { font-size: 11.34vw; }
  .font_86_sp { font-size: 11.47vw; }
  .font_87_sp { font-size: 11.6vw; }
  .font_88_sp { font-size: 11.74vw; }
  .font_89_sp { font-size: 11.87vw; }
  .font_90_sp { font-size: 12vw; }
  .font_91_sp { font-size: 12.14vw; }
  .font_92_sp { font-size: 12.27vw; }
  .font_93_sp { font-size: 12.4vw; }
  .font_94_sp { font-size: 12.54vw; }
  .font_95_sp { font-size: 12.67vw; }
  .font_96_sp { font-size: 12.8vw; }
  .font_97_sp { font-size: 12.94vw; }
  .font_98_sp { font-size: 13.07vw; }
  .font_99_sp { font-size: 13.2vw; }
  .font_100_sp { font-size: 13.34vw; }
}
@media screen and (min-width:641px) {
  .font_8_pc { font-size: 8px; }
  .font_10_pc { font-size: 10px; }
  .font_11_pc { font-size: 11px; }
  .font_12_pc { font-size: 12px; }
  .font_13_pc { font-size: 13px; }
  .font_14_pc { font-size: 14px; }
  .font_15_pc { font-size: 15px; }
  .font_16_pc { font-size: 16px; }
  .font_17_pc { font-size: 17px; }
  .font_18_pc { font-size: 18px; }
  .font_19_pc { font-size: 19px; }
  .font_20_pc { font-size: 20px; }
  .font_21_pc { font-size: 21px; }
  .font_22_pc { font-size: 22px; }
  .font_23_pc { font-size: 23px; }
  .font_24_pc { font-size: 24px; }
  .font_25_pc { font-size: 25px; }
  .font_26_pc { font-size: 26px; }
  .font_27_pc { font-size: 27px; }
  .font_28_pc { font-size: 28px; }
  .font_29_pc { font-size: 29px; }
  .font_30_pc { font-size: 30px; }
  .font_31_pc { font-size: 31px; }
  .font_32_pc { font-size: 32px; }
  .font_33_pc { font-size: 33px; }
  .font_34_pc { font-size: 34px; }
  .font_35_pc { font-size: 35px; }
  .font_36_pc { font-size: 36px; }
  .font_37_pc { font-size: 37px; }
  .font_38_pc { font-size: 38px; }
  .font_39_pc { font-size: 39px; }
  .font_40_pc { font-size: 40px; }
  .font_41_pc { font-size: 41px; }
  .font_42_pc { font-size: 42px; }
  .font_43_pc { font-size: 43px; }
  .font_44_pc { font-size: 44px; }
  .font_45_pc { font-size: 45px; }
  .font_46_pc { font-size: 46px; }
  .font_47_pc { font-size: 47px; }
  .font_48_pc { font-size: 48px; }
  .font_49_pc { font-size: 49px; }
  .font_50_pc { font-size: 50px; }
  .font_51_pc { font-size: 51px; }
  .font_52_pc { font-size: 52px; }
  .font_53_pc { font-size: 53px; }
  .font_54_pc { font-size: 54px; }
  .font_55_pc { font-size: 55px; }
  .font_56_pc { font-size: 56px; }
  .font_57_pc { font-size: 57px; }
  .font_58_pc { font-size: 58px; }
  .font_59_pc { font-size: 59px; }
  .font_60_pc { font-size: 60px; }
  .font_61_pc { font-size: 61px; }
  .font_62_pc { font-size: 62px; }
  .font_63_pc { font-size: 63px; }
  .font_64_pc { font-size: 64px; }
  .font_65_pc { font-size: 65px; }
  .font_66_pc { font-size: 66px; }
  .font_67_pc { font-size: 67px; }
  .font_68_pc { font-size: 68px; }
  .font_69_pc { font-size: 69px; }
  .font_70_pc { font-size: 70px; }
  .font_71_pc { font-size: 71px; }
  .font_72_pc { font-size: 72px; }
  .font_73_pc { font-size: 73px; }
  .font_74_pc { font-size: 74px; }
  .font_75_pc { font-size: 75px; }
  .font_76_pc { font-size: 76px; }
  .font_77_pc { font-size: 77px; }
  .font_78_pc { font-size: 78px; }
  .font_79_pc { font-size: 79px; }
  .font_80_pc { font-size: 80px; }
  .font_81_pc { font-size: 81px; }
  .font_82_pc { font-size: 82px; }
  .font_83_pc { font-size: 83px; }
  .font_84_pc { font-size: 84px; }
  .font_85_pc { font-size: 85px; }
  .font_86_pc { font-size: 86px; }
  .font_87_pc { font-size: 87px; }
  .font_88_pc { font-size: 88px; }
  .font_89_pc { font-size: 89px; }
  .font_90_pc { font-size: 90px; }
  .font_91_pc { font-size: 91px; }
  .font_92_pc { font-size: 92px; }
  .font_93_pc { font-size: 93px; }
  .font_94_pc { font-size: 94px; }
  .font_95_pc { font-size: 95px; }
  .font_96_pc { font-size: 96px; }
  .font_97_pc { font-size: 97px; }
  .font_98_pc { font-size: 98px; }
  .font_99_pc { font-size: 99px; }
  .font_100_pc { font-size: 100px; }
}




:root {
  --viewport: 640;
}

.bold {
  font-weight: bold;
}
.font_red {
  color: #C1272D;
}
.lh2 {
  line-height: 2;
}
.flex {
  display: flex;
}
.relative {
  position: relative;
}
.cf::after {
  content: "";
  display: block;
  clear: both;
}
.ropaSans {
  font-family: 'Ropa Sans', sans-serif;
}
section .inner {
  width: calc(100% / var(--viewport) * 600);
  margin: 0 auto;
}
.body_aco {
  display: none;
}

#gNavi {
  display: none;
}

header {
  border-bottom: none;
}

#mv {
  height: calc(100vw / var(--viewport) * 750);
  position: relative;
  overflow: hidden;
}
#mv:after {
  content: "";
  background: url(../img/mv/mv_sp.jpg) top center no-repeat;
  background-size: 100% auto;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  transition: all 1s cubic-bezier(0.25, 0, 0, 1);
  transform: translateX(-100vw);
}
#mv.active:after {
  transform: translateX(0);
}
#mv h1 {
  position: absolute;
  top: calc(100vw / var(--viewport) * 115);
  left: calc(100vw / var(--viewport) * 30);
}
#mv h1 img:first-child {
  width: calc(100vw / var(--viewport) * 427);
  animation-delay: 0.5s;
}
#mv h1 img:last-child {
  width: calc(100vw / var(--viewport) * 578);
  margin-top: calc(100vw / var(--viewport) * 21);
  animation-delay: 0.6s;
}
#mv .circleArea {
  position: absolute;
  top: calc(100vw / var(--viewport) * 357);
  left: calc(100vw / var(--viewport) * 30);
}
#mv .circle {
  color: #001B5C;
  font-weight: bold;
  text-align: center;
  line-height: 1.57;
  background: url(../img/mv/circle_sp.png) center center no-repeat;
  background-size: 100% auto;
  width: calc(100vw / var(--viewport) * 194);
  height: calc(100vw / var(--viewport) * 194);
  display: table-cell;
  vertical-align: middle;
}
#mv .circle:first-child {
  animation-delay: 0.7s;
}
#mv .circle:last-child {
  animation-delay: 0.8s;
}
#mv .spacer {
  width: calc(100vw / var(--viewport) * 19);
  height: calc(100vw / var(--viewport) * 194);
  display: table-cell;
}
#mv .doctorArea {
  line-height: 1.3;
  height: calc(100vw / var(--viewport) * 242);
  background: url(../img/mv/doctor.png) left bottom no-repeat;
  background-size: calc(100vw / var(--viewport) * 219) auto;
  position: absolute;
  left: calc(100vw / var(--viewport) * 30);
  padding-top: calc(100vw / var(--viewport) * 155);
  bottom: 0;
  box-sizing: border-box;
  animation-delay: 0.9s;
}
#mv .doctorArea p {
  color: #001B5C;
  padding-left: calc(100vw / var(--viewport) * 228);
}
#mv .doctorArea p:last-child {
  font-weight: bold;
}

.lead {
  background: url(../img/bg_lead_sp.png) no-repeat, #F4F4F4;
  background-size: calc(100vw / var(--viewport) * 688) auto;
  background-position: center calc(100vw / var(--viewport) * 13);
  padding: calc(100vw / var(--viewport) * 45) 0 calc(100vw / var(--viewport) * 85);
}
.lead h2 {
  width: 68vw;
  margin: 0 auto 1.33vw;
}
.lead .caseArea {
  margin-left: 1.76vw;
}
.lead .case {
  height: 51vw;
  float: left;
}
.lead .case01 {
  width: 29.7vw;
  background: url(../img/lead_img01_sp.png) top center no-repeat;
  background-size: auto 100%;
  margin-right: 3.49vw;
}
.lead .case01 p {
  padding-top: 2.2vw;
}
.lead .case02 {
  width: 29.77vw;
  background: url(../img/lead_img02_sp.png) top center no-repeat;
  background-size: auto 100%;
  margin-right: 3.37vw;
  animation-delay: 0.2s;
}
.lead .case02 p {
  padding-top: 4.6vw;
}
.lead .case03 {
  width: 28.52vw;
  background: url(../img/lead_img03_sp.png) top center no-repeat;
  background-size: auto 100%;
  animation-delay: 0.4s;
}
.lead .case03 p {
  padding-top: 2.2vw;
}
.lead .case p {
  height: 18.67vw;
  text-align: center;
  line-height: 1.57;
  margin-left: 3.45vw;
  display: none;
}
.lead .case p span {
  color: #C1272D;
  font-weight: bold;
  position: relative;
}
.lead .case p span:before {
  content: "繝ｻ";
  position: absolute;
  top: -2.2vw;
  left: 0;
  right: 0;
  margin: 0 auto;
}

.lead2 {
  padding: calc(100vw / var(--viewport) * 85) 0 0;
  height: calc(100vw / var(--viewport) * 850);
  box-sizing: border-box;
  position: relative;
  overflow: hidden;
}
.lead2:after {
  content: "";
  background: url(../img/bg_lead2_sp.jpg) top center no-repeat;
  background-size: 100% auto;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  transition: all 1s cubic-bezier(0.25, 0, 0, 1);
  transform: translateX(-100vw);
}
.lead2.active:after {
  transform: translateX(0);
}
.lead2 h2 {
  width: calc(100vw / var(--viewport) * 611);
  margin: 0 auto calc(100vw / var(--viewport) * 5);
  animation-delay: 0.2s;
}
.lead2 .other {
  width: calc(100vw / var(--viewport) * 210);
  position: absolute;
  top: -4vw;
  left: 0;
}
.lead2 .relative {
  animation-delay: 0.4s;
}
.lead2 table {
  width: calc(100vw / var(--viewport) * 690);
  margin: 0 auto;
  border-collapse: collapse;
  box-shadow: 1.5vw 1.5vw 3px rgb(100 100 100 / 20%);
}
.lead2 th,
.lead2 td {
  text-align: center;
}
.lead2 th {
  color: #fff;
}
.lead2 .th_spacer {
  height: calc(100vw / var(--viewport) * 27);
}
.lead2 th.th2 {
  width: 32%;
  height: calc(100vw / var(--viewport) * 58);
  background: #898989;
}
.lead2 th.th3 {
  background: #BBA170;
  border: 1.33vw solid #BBA170;
  border-bottom: none;
  height: calc(100vw / var(--viewport) * 70);
  width: 41%;
  padding-bottom: 1.33vw;
  /*padding: calc(100vw / var(--viewport) * 4) 0 calc(calc(100vw / var(--viewport) * 4) + 10px);*/
}
.lead2 td {
  font-size: 2.4vw;
  background: #fff;
  border: 1px solid #898989;
  border-bottom: none;
  padding: 1vw 0;
}
.lead2 td.td1_1 {
  border-top: 3px solid #898989;
  border-left: 3px solid #898989;
  border-right: 3px solid #898989;
}
.lead2 td.td1_2 {
  border-top: none;
}
.lead2 td.td1_3 {
  border-top: none;
}
.lead2 td.td2_1 {
  border-left: 3px solid #898989;
  border-right: 3px solid #898989;
}
.lead2 td.td1_3,
.lead2 td.td2_3 {
  border-left: 1.33vw solid #BBA170;
  border-right: 1.33vw solid #BBA170;
}
.lead2 td.td3_1 {
  border-left: 3px solid #898989;
  border-right: 3px solid #898989;
  border-bottom: 3px solid #898989;
}
.lead2 td.td3_2 {
  border-bottom: 3px solid #898989;
}
.lead2 td.td3_3 {
  border-left: 1.33vw solid #BBA170;
  border-right: 1.33vw solid #BBA170;
  /*border-bottom: 1.33vw solid #BBA170;*/
  position: relative;
}
.lead2 td.td3_3:after {
  content: "";
  width: calc(100% + 2.66vw);
  height: 1.33vw;
  background: #BBA170;
  position: absolute;
  bottom: -1.5px;
  left: -1.33vw;
}
.button {
  text-align: center;
  margin-top: calc(100vw / var(--viewport) * 78);
}
.button img {
  width: calc(100vw / var(--viewport) * 724);
  animation: bururi 1s infinite;
}

.answer {
  background: #000;
  padding: calc(100vw / var(--viewport) * 38) 0 0;
  height: calc(100vw / var(--viewport) * 388);
  box-sizing: border-box;
  position: relative;
  overflow: hidden;
  z-index: -2;
}
.answer:after {
  content: "";
  background: url(../img/bg_answer_sp.jpg) top center no-repeat;
  background-size: 100% auto;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  transition: all 1s cubic-bezier(0.25, 0, 0, 1);
  transform: translateX(-100vw);
}
.answer.active:after {
  transform: translateX(0);
}
.answer h2 {
  width: calc(100vw / var(--viewport) * 562);
  margin: 0 auto calc(100vw / var(--viewport) * 26);
}
.answer .flex {
  display: flex;
  justify-content: space-between;
  padding: 0 calc(100vw / var(--viewport) * 30);
}
.answer .point {
  text-align: center;
  width: calc(100vw / var(--viewport) * 212);
  height: calc(100vw / var(--viewport) * 212);
  padding: calc(100vw / var(--viewport) * 37) 0 0;
  box-sizing: border-box;
}
.answer .point img,
.answer .point p {
  display: none;
}
.answer .point01 {
  background: url(../img/point01_sp.png) top center no-repeat;
  background-size: 100% auto;
}
.answer .point02 {
  background: url(../img/point02_sp.png) top center no-repeat;
  background-size: 100% auto;
  animation-delay: .2s;
}
.answer .point01 img {
  width: calc(100vw / var(--viewport) * 134);
  margin-bottom: calc(100vw / var(--viewport) * 9);
}
.answer .point02 {
  animation-delay: .4s;
}
.answer .point02 img {
  width: calc(100vw / var(--viewport) * 134);
  margin-bottom: calc(100vw / var(--viewport) * 1);
}
.answer .point03 {
  background: url(../img/point03_sp.png) top center no-repeat;
  background-size: 100% auto;
  animation-delay: .6s;
}
.answer .point03 img {
  width: calc(100vw / var(--viewport) * 135);
  margin-bottom: calc(100vw / var(--viewport) * 9);
}
.answer .point p {
  line-height: 1.45;
}

section.point .icon {
  width: calc(100vw / var(--viewport) * 271);
  margin: 0 auto calc(100vw / var(--viewport) * 6);
  display: block;
}
section.point h2 {
  margin: 0 auto;
}

h2.border {
  position: relative;
  margin-bottom: calc(100vw / var(--viewport) * 57) !important;
}
h2.border:after {
  content: "";
  width: calc(100vw / var(--viewport) * 272);
  height: calc(100vw / var(--viewport) * 4);
  background: #000;
  position: absolute;
  left: 0;
  right: 0;
  bottom: calc(100vw / var(--viewport) * -15);
  margin: 0 auto;
}

section.point {
  padding: 0 0 calc(100vw / var(--viewport) * 58);
}

section.point .point01,
section.point .point02,
section.point .point03 {
  padding: calc(100vw / var(--viewport) * 66) 0 0;
}
section.point .point01 h2 {
  width: calc(100vw / var(--viewport) * 616);
}
section.point .point01 .images {
  background: #F4F4F4;
  padding: calc(100vw / var(--viewport) * 38) calc(100vw / var(--viewport) * 30) calc(100vw / var(--viewport) * 40);
  margin-top: calc(100vw / var(--viewport) * 32);
}
section.point .point01 .images .box {
  text-align: center;
  width: calc(100vw / var(--viewport) * 320);
}
section.point .point01 .images .left {
  float: left;
}
section.point .point01 .images .right {
  float: right;
}
section.point .point01 .images .box .midashi {
  color: #fff;
  width: calc(100vw / var(--viewport) * 222);
  background: #7F7F7F;
  padding: calc(100vw / var(--viewport) * 20);
  margin: 0 auto;
  border-radius: calc(100vw / var(--viewport) * 8);
}
section.point .point01 .images .box .relative p {
  line-height: 1.3;
  position: absolute;
  top: calc(100vw / var(--viewport) * 104);
  left: calc(100vw / var(--viewport) * 23);
}
section.point .point01 .images .box .caption {
  color: #fff;
  width: calc(100vw / var(--viewport) * 192);
  margin: calc(100vw / var(--viewport) * 10) auto 0;
  background: #7F7F7F;
  padding: 2vw 0;
  border-radius: calc(100vw / var(--viewport) * 50);
}
section.point .point01 .images .box.right .midashi {
  background: #BBA170;
}
section.point .point01 .images .box.right .caption {
  background: #BBA170;
}
section.point .point01 .images p span {
  color: #C1272D;
}

section.point .point02 h2 {
  width: calc(100vw / var(--viewport) * 606);
}
section.point .point02 .images {
  margin-top: calc(100vw / var(--viewport) * 4);
}
section.point .point02 .caption {
  margin-top: calc(100vw / var(--viewport) * 12);
}

section.point .point03 {
  background: url(../img/bg_point3_sp.jpg) top center no-repeat, #F4F4F4;
  background-size: 100% auto;
  padding-bottom: calc(100vw / var(--viewport) * 80);
}
section.point .point03 h2 {
  width: calc(100vw / var(--viewport) * 630);
}
section.point .point03 h2.h2_2 {
  width: calc(100vw / var(--viewport) * 418);
}
section.point .point03 .images {
  margin-top: calc(100vw / var(--viewport) * 28);
  margin-bottom: calc(100vw / var(--viewport) * 76);
}
section.point .point03 .images .img02 {
  margin-top: calc(100vw / var(--viewport) * 35);
}
section.point .point03 .case {
  overflow: hidden;
}
section.point .point03 .case .midashi {
  color: #fff;
  background: #000;
  display: table;
  width: 100vw;
  margin-bottom: calc(100vw / var(--viewport) * 28);
}
section.point .point03 .case .midashi div {
  line-height: 1.37;
  width: calc(100vw / var(--viewport) * 570);
  padding: calc(100vw / var(--viewport) * 8) calc(100vw / var(--viewport) * 20);
  box-sizing: border-box;
}
section.point .point03 .case .midashi div:first-child {
  text-align: center;
  width: calc(100vw / var(--viewport) * 120);
  background: #C1272D;
  vertical-align: middle;
  display: table-cell;
  box-sizing: border-box;
}
section.point .point03 .case .photo {
  text-align: center;
  margin-bottom: calc(100vw / var(--viewport) * 33);
}
section.point .point03 .case .photo:nth-child(2n) {
  float: right;
}
section.point .point03 .case .photo:nth-child(2n-1) {
  float: left;
}
section.point .point03 .case .photo img {
  width: calc(100vw / var(--viewport) * 330);
  margin-bottom: calc(100vw / var(--viewport) * 10);
}
section.point .point03 .case02 {
  margin-top: calc(100vw / var(--viewport) * 30);
}
section.point .point03 .case > p {
  margin-bottom: 3vw;
}

section.trial .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);
}
section.trial .midashi h2 {
  width: calc(100vw / var(--viewport) * 528);
  margin: 0 auto;
}
section.trial .midashi h2.border:after {
  width: calc(100vw / var(--viewport) * 308);
  background: #fff;
}
section.trial .midashi p span {
  vertical-align: middle;
}
section.trial .midashi p img {
  width: calc(100vw / var(--viewport) * 239);
  margin: 0 calc(100vw / var(--viewport) * 15);
  vertical-align: middle;
}
section.trial .midashi p .yen {
  color: #C1272D;
  margin-right: 1.6vw;
}
section.trial .midashi p .zei {
  line-height: 1.4;
  display: inline-block;
}
section.trial .inner .box {
  width: calc(100vw / var(--viewport) * 325);
  margin-top: calc(100vw / var(--viewport) * 30);
}
section.trial .inner .box:nth-child(2n-1) {
  float: left;
}
section.trial .inner .box:nth-child(2n) {
  float: right;
}
section.trial .inner .box .title {
  color: #fff;
  text-align: center;
  background: #4E4E4E;
  padding: 1.5vw;
}
section.trial .inner .box .priceArea {
  color: #fff;
  background: #000;
  padding: calc(100vw / var(--viewport) * 20);
}
section.trial .inner .box .priceArea .price {
  color: #C1272D;
  letter-spacing: 0.5vw;
}
section.trial .inner .box .priceArea .price img {
  height: 7.6vw;
  vertical-align: middle;
}
section.trial .inner .box .priceArea .yen {
  color: #C1272D;
  margin-right: 1vw;
}
section.trial .inner .box .priceArea .zei {
  line-height: 1;
  display: inline-block;
}
section.trial .inner .box.box2 {
  width: 100%;
  margin-top: calc(100vw / var(--viewport) * 30);
  float: none;
}
section.trial .inner .box.box2 .table {
  display: table;
}
section.trial .inner .box.box2 .table > img {
  width: calc(100vw / var(--viewport) * 325);
  display: table-cell;
}
section.trial .inner .box.box2 .table > div {
  color: #fff;
  text-align: center;
  line-height: 1.3;
  width: calc(100vw / var(--viewport) * 365);
  background: #000;
  display: table-cell;
  vertical-align: middle;
}
section.trial .inner .box.box2 .table > div .price {
  position: relative;
  margin: 0 0.6vw;
}
section.trial .inner .box.box2 .table > div .price img {
  width: 21vw;
  vertical-align: middle;
}
section.trial .inner .box.box2 .table > div .price:after {
  content: "";
  background: url(../img/strike.png) no-repeat;
  background-size: 100% auto;
  width: calc(100vw / var(--viewport) * 154);
  height: calc(100vw / var(--viewport) * 53);
  position: absolute;
  top: 0;
  left: 0;
}
section.trial .inner .box.box2 .table > div .zei {
  line-height: 1;
  margin-left: 1vw;
  display: inline-block;
}
section.trial .inner .box.box2 img.arrow {
  width: calc(100vw / var(--viewport) * 29);
  margin: -1vw 0 1vw;
}
section.trial .inner .box.box2 .finalPrice {
  color: #C1272D;
}
section.trial .inner .box.box2 .finalPrice img {
  width: calc(100vw / var(--viewport) * 220);
  margin-right: calc(100vw / var(--viewport) * 15);
}
section.trial .inner .box.box2 .finalPrice .yen {
  margin-right: 1vw;
}
section.trial .inner .box.box2 .finalPrice .zei {
  color: #fff;
  line-height: 1.3 !important;
  margin-left: 0 !important;
}
section.trial .inner3 {
  padding-bottom: calc(100vw / var(--viewport) * 258);
  margin-top: calc(100vw / var(--viewport) * 60);
}
section.trial .inner3 .ttl_aco {
  color: #fff;
  font-weight: bold;
  text-align: center;
  background: #c1272f;
  padding: 4%;
  position: relative;
}
section.trial .inner3 .ttl_aco:before {
  content: "";
  width: calc(100vw / var(--viewport) * 34);
  height: calc(100vw / var(--viewport) * 4);
  background: #fff;
  position: absolute;
  top: 50%;
  right: 4vw;
  transform: translateY(-50%);
}
section.trial .inner3 .ttl_aco:after {
  content: "";
  width: calc(100vw / var(--viewport) * 4);
  height: calc(100vw / var(--viewport) * 34);
  background: #fff;
  position: absolute;
  top: 50%;
  right: calc(calc(100vw / var(--viewport) * 15) + 4vw);
  transform: translateY(-50%);
}
section.trial .inner3 .ttl_aco.active:after {
  display: none;
}
section.trial .inner3 .body_aco {
  margin-top: 5%;
}
section.trial .inner3 .body_aco .menu-prices-boxies {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  flex-direction: column;
  justify-content: space-between;
}
section.trial .inner3 .body_aco .menu-prices-box {
  width: 100%;
  margin-bottom: 40px;
}
section.trial .inner3 .body_aco .menu-prices-box:last-child {
  margin-bottom: 0;
}
section.trial .inner3 .body_aco .menu-prices-box .menu-prices-box-inner {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}
section.trial .inner3 .body_aco .menu-prices-box figure {
  width: 46.30769%;
}
section.trial .inner3 .body_aco .menu-prices-box figure img {
  width: 100%;
}
section.trial .inner3 .body_aco .menu-prices-box .text {
  width: 52.11267%;
}
section.trial .inner3 .body_aco h4 {
  height: 45px;
  margin-bottom: 20px;
  font-size: 20px;
  font-size: 2.0rem;
  line-height: 45px;
  color: #fff;
  font-weight: 700;
  text-align: center;
  background: #000;
}
section.trial .inner3 .body_aco .text p {
  margin-bottom: 0;
  font-size: 3.4vw;
  line-height: 1.2;
}
section.trial .inner3 .body_aco .installment {
  width: 5em;
  height: 1.6;
  margin-top: 5px;
  font-size: 3.4vw;
  font-weight: 700;
  line-height: 1.4;
  color: #fff;
  text-align: center;
  background: #000;
}
section.trial .inner3 .body_aco .price {
  margin-top: 15px;
  margin-bottom: 5px;
  padding-bottom: 4px;
  font-size: 4vw;
  font-weight: 700;
  width: 90%;
  margin: 15px auto 10px;
  line-height: 0.8;
  color: #C1272D;
  text-align: center;
  background: linear-gradient(transparent 50%, #ffe700 50%);
}
section.trial .inner3 .body_aco .kingaku {
  font-size: 30px;
  font-size: 3.0rem;
  font-weight: 900;
}
section.trial .inner3 .body_aco .kingaku img {
  height: 8vw;
  vertical-align: middle;
}
section.trial .inner3 .body_aco .text p:nth-last-of-type(1) {
  margin-bottom: 0;
  font-size: 4vw;
  line-height: 1.2;
}
section.trial .inner3 .body_aco .sougaku {
  text-align: center;
}
section.trial .inner3 .body_aco .without-tax {
  font-size: 8px;
  font-size: 0.8rem;
}
section.trial .inner3 .body_aco figure {
  margin-bottom: 20px;
}
section.trial .inner3 .body_aco figure img {
  width: 100%;
}

section.trial .bg_black {
  background: #000;
  padding-bottom: calc(100vw / var(--viewport) * 65);
}
section.trial .bg_black .banner01 {
  margin-top: calc(100vw / var(--viewport) * -170);
}
section.trial .bg_black .plus {
  width: calc(100vw / var(--viewport) * 67);
  margin: calc(100vw / var(--viewport) * 21) auto calc(100vw / var(--viewport) * 21);
  display: block;
}
section.trial .bg_black .inner {
  position: relative;
}
section.trial .bg_black .inner:after {
  content: "";
  background: url(../img/bg_midashi_more_sp.png) top center no-repeat;
  background-size: calc(100vw / var(--viewport) * 488) auto;
  width: 100%;
  height: calc(100vw / var(--viewport) * 147);
  position: absolute;
  left: 0;
  right: 0;
  bottom: calc(100vw / var(--viewport) * -170);
  margin: 0 auto;
}
section.trial .waribiki {
  padding: calc(100vw / var(--viewport) * 118) 0 calc(100vw / var(--viewport) * 60);
}
section.trial .waribiki h2 {
  width: calc(100vw / var(--viewport) * 551);
  margin: 0 auto;
}
section.trial .waribiki h2.border:after {
  background: #BD2B32;
}
section.trial .waribiki .banners {
  overflow: hidden;
}
section.trial .waribiki .banner {
  background: #F4F4F4;
  box-shadow: 0 1.5vw 2vw #ccc;
}
section.trial .waribiki .banner img + div {
  padding: calc(100vw / var(--viewport) * 17) calc(100vw / var(--viewport) * 33);
  margin-bottom: calc(100vw / var(--viewport) * 57);
}
section.trial .waribiki .banner img + div .title {
  margin-bottom: 0.5em;
}
section.trial .waribiki .button {
  margin-top: calc(100vw / var(--viewport) * 21);
}

section.step {
  background: #F4F4F4;
  padding: calc(100vw / var(--viewport) * 80) 0;
}
section.step h2 {
  width: calc(100vw / var(--viewport) * 600);
  margin: 0 auto;
}
section.step .step {
  margin-bottom: calc(100vw / var(--viewport) * 60);
}
section.step .step .title {
  color: #fff;
  text-align: center;
  width: 100%;
  height: calc(100vw / var(--viewport) * 137);
  padding: 8.4vw 0 0 10vw;
  margin-bottom: calc(100vw / var(--viewport) * 23);
  box-sizing: border-box;
}
section.step .step01 .title {
  background: url(../img/ttl_step1_sp.png) top left no-repeat;
  background-size: 100% auto;
}
section.step .step02 .title {
  background: url(../img/ttl_step2_sp.png) top left no-repeat;
  background-size: 100% auto;
}
section.step .step03 .title {
  background: url(../img/ttl_step3_sp.png) top left no-repeat;
  background-size: 100% auto;
}
section.step .step > p {
  margin-top: calc(100vw / var(--viewport) * 23);
}
section.step .masui .title {
  color: #fff;
  text-align: center;
  line-height: calc(100vw / var(--viewport) * 82);
  background: #000;
}
section.step .masui p {
  margin-top: calc(100vw / var(--viewport) * 24);
}
section.step .masui img {
  margin-top: calc(100vw / var(--viewport) * 30);
}

section.faq {
  padding: 0 0 calc(100vw / var(--viewport) * 86);
}
section.faq h2 {
  color: #fff;
  text-align: center;
  background: url(../img/bg_midashi.png) top center repeat-y;
  background-size: 180vw auto;
  padding: calc(100vw / var(--viewport) * 26) 0;
}
section.faq .faq {
  border-bottom: 1px solid #707070;
  padding: calc(100vw / var(--viewport) * 18) 0;
}
section.faq .faq .ttl_aco,
section.faq .faq .body_aco .flex {
  line-height: 1.4;
  padding: calc(100vw / var(--viewport) * 18) 0;
  display: flex;
  align-items: center;
}
section.faq .faq .ttl_aco {
  position: relative;
}
section.faq .faq .ttl_aco:before {
  content: "";
  width: calc(100vw / var(--viewport) * 34);
  height: calc(100vw / var(--viewport) * 4);
  background: #000;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
section.faq .faq .ttl_aco:after {
  content: "";
  width: calc(100vw / var(--viewport) * 4);
  height: calc(100vw / var(--viewport) * 34);
  background: #000;
  position: absolute;
  top: 50%;
  right: calc(100vw / var(--viewport) * 15);
  transform: translateY(-50%);
}
section.faq .faq .ttl_aco.active:after {
  display: none;
}
section.faq .faq .ttl_aco img,
section.faq .faq .body_aco img {
  width: calc(100vw / var(--viewport) * 67);
  height: calc(100vw / var(--viewport) * 67);
  margin-right: calc(100vw / var(--viewport) * 20);
}

section.clinic h2 {
  color: #fff;
  text-align: center;
  background: url(../img/bg_midashi.png) top center repeat-y;
  background-size: 180vw auto;
  padding: calc(100vw / var(--viewport) * 26) 0;
}
section.clinic .inner {
  padding-bottom: calc(100vw / var(--viewport) * 56);
}
section.clinic .ttl_aco {
  text-align: center;
  line-height: calc(100vw / var(--viewport) * 76);
  margin: calc(100vw / var(--viewport) * 31) 0 0;
  border: 3px solid #000;
  position: relative;
}
section.clinic .ttl_aco:before {
  content: "";
  width: calc(100vw / var(--viewport) * 34);
  height: calc(100vw / var(--viewport) * 4);
  background: #000;
  position: absolute;
  top: 50%;
  right: calc(100vw / var(--viewport) * 22);
  transform: translateY(-50%);
}
section.clinic .ttl_aco:after {
  content: "";
  width: calc(100vw / var(--viewport) * 4);
  height: calc(100vw / var(--viewport) * 34);
  background: #000;
  position: absolute;
  top: 50%;
  right: calc(100vw / var(--viewport) * 37);
  transform: translateY(-50%);
}
section.clinic .ttl_aco.active:after {
  display: none;
}
section.clinic .clinic-block {
  margin: calc(100vw / var(--viewport) * 28) 0 0;
}
section.clinic .clinic-block dt {
  margin-bottom: calc(100vw / var(--viewport) * 34);
}
.clinic-block .content .outer {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  margin-bottom: 15px;
}
section.clinic .clinic-block dd iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
section.clinic .clinic-block .content .info {
  font-size: 2.8vw;
  margin-bottom: 10vw;
}
section.clinic .clinic-block .content .info a {
  color: #B3945F;
}
section.clinic .clinic-block .content .info dl {
  line-height: 1.4;
  clear: both;
}
section.clinic .clinic-block .content .info dl + dl {
  margin-top: 1.5rem;
}
section.clinic .clinic-block .content .info dt {
  color: #001c5d;
  font-weight: bold;
  float: left;
}
section.clinic .clinic-block .content .info dd {
  padding-left: 20vw;
  width: 100%;
  box-sizing: border-box;
}
section.clinic .clinic-block .content .info dd a[href^=tel] {
  font-weight: bold;
}

#footer {
  color: #fff;
  text-align: center;
  background: #001B5A;
  padding: calc(100vw / var(--viewport) * 34) 0 calc(100vw / var(--viewport) * 42);
  margin: 0;
}
#footer .sns {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: calc(100vw / var(--viewport) * 170);
  margin: 0 auto calc(100vw / var(--viewport) * 30);
}
#footer .sns div:nth-child(1) img {
  width: calc(100vw / var(--viewport) * 33);
}
#footer .sns div:nth-child(2) img {
  width: calc(100vw / var(--viewport) * 17);
}
#footer .sns div:nth-child(3) img {
  width: calc(100vw / var(--viewport) * 33);
}
#footer .ftr_logo {
  width: calc(100vw / var(--viewport) * 340);
  margin: 0 auto calc(100vw / var(--viewport) * 18);
}

.pc,
.pc_b {
  display: none;
}

@media screen and (min-width:721px) {
  .sp,
  .sp_b {
    display: none;
  }
  .pc {
    display: inline;
  }
  .pc_b {
    display: block;
  }
}

[data-animate="fadeInUp"] {
  opacity: 0;
}
@-webkit-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 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 bururi {
  50% {
    transform: scale(1, 1);
  }
  52% {
    transform: scale(0.99, 0.975)
  }
  54% {
    transform: scale(1, 1);
  }
  56% {
    transform: scale(0.99, 0.975)
  }
  58% {
    transform: scale(1, 1);
  }
  60% {
    transform: scale(0.99, 0.975)
  }
}

@media screen and (max-width: 720px) {
  header .inner .access {
    display: none;
  }
  header .inner .menu {
    display: none;
  }
}

#clinic img{
width: 100%
}

@media screen and (min-width: 721px) {

    section.faq .faq .ttl_aco img, section.faq .faq .body_aco img{
        width: 67px;
        height: 67px;
        margin-right: 20px;
    }
    section.faq .faq .ttl_aco:before{
        width: 34px;
        height: 4px;
    }
    section.faq .faq .ttl_aco:after{
        width: 4px;
        height: 34px;
        right: 15px;
    }

    section.faq h2{
        padding: 26px ;
    }

    section.clinic h2{
        padding: 26px ;
    }

    section.faq .faq{
        padding-top:18px;
        padding-bottom:18px;
    }

    section.faq .faq .ttl_aco, section.faq .faq .body_aco .flex{
        padding-top:18px;
        padding-bottom:18px;
    }


    section.clinic .ttl_aco{
        margin-top: 31px;
    }

    section.clinic .ttl_aco{
        line-height: normal;
        padding: 10px 0;
    }
    section.clinic .ttl_aco:before{
        width: 34px;
        height: 4px;
        right: 22px;
    }
    section.clinic .ttl_aco:after{
        width: 4px;
        height: 34px;
        right: 35px;
    }
    section.clinic .clinic-block{
        margin-top: 28px;
    }
    section.clinic .clinic-block dt{
        margin-bottom: 34px;
    }
    section.clinic .clinic-block .content .info{
        margin-bottom: 72px;
    }
    section.clinic .clinic-block .content .info dd{
        padding-left: 20%;
        font-size: 24px;
    }
    section.clinic .clinic-block .content .info dt{
        font-size: 24px;
    }


}
