@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&display=swap');

.features {
  --viewport: 750;
  --gold: #BBA171;
}
@media screen and (min-width:768px) {
  .features {
    --viewport: 1280;
  }
}
.features {
  position: relative;
  font-size: calc(100vw / var(--viewport) * 24);
  font-weight: normal;
  color: #000;
}
@media screen and (min-width:768px) {
  .features {
    font-size: min(calc(100vw / var(--viewport) * 18), 18px);
  }
}
.features, .features button, .features h1, .features h2, .features h3, .features h4, .features h5, .features h6, .features input, .features option, .features select, .features table, .features textarea {
  line-height: 1.5;
  color: inherit;
}
.features video {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
}
@media screen and (min-width:768px) {
  .features a[href^="tel:"] {
    pointer-events: none;
  }
}
.features img {
  vertical-align: middle;
}
@media (min-width: 768px) {
  .features img{
    display: block;
    margin-left: auto;
    margin-right: auto;
  }
}
.features .clearfix::after {
   content: "";
   display: block;
   clear: both;
}
.features .inner {
  padding-left: calc(100vw / var(--viewport) * 35);
  padding-right: calc(100vw / var(--viewport) * 35);
}
@media (min-width: 768px) {
  .features .inner {
    margin-left: auto;
    margin-right: auto;
    padding-left: 20px;
    padding-right: 20px;
    max-width: 1160px;
  }
}

/*----------------------------------------------------------
    layout
----------------------------------------------------------*/
/* firstview */
.features .firstview {
  width: 100%;
  background-color: #000;
}
.features .firstviewWrapper {
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
  position: relative;
}
.features .firstviewImage {
  width: 100%;
  height: 100%;
  display: block;
}
.features .firstviewImage img {
  width: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
}
@media screen and (max-width: 979px) {
  .features .firstviewImage img {
    max-height: none;
    height: calc(100vw / var(--viewport) * 518);;
  }
}
.features .firstviewContent {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
.features .firstviewContent__Subtitle {
  color: var(--gold);
  font-size: 29px;
  font-weight: 600;
  display: block;
}
@media screen and (max-width: 979px) {
  .features .firstviewContent__Subtitle {
    font-size: calc(100vw / var(--viewport) * 36);
  }
}
.features .firstviewContent__Title {
  color: #fff;
  font-size: 36px;
  font-weight: 600;
  display: block;
}
@media screen and (max-width: 979px) {
  .features .firstviewContent__Title {
    font-size: calc(100vw / var(--viewport) * 44);
  }
}

/* introduction */
.features .introduction {
  padding-top: calc(100vw / var(--viewport) * 80);
  padding-bottom: calc(100vw / var(--viewport) * 42);
}
@media screen and (min-width:768px) {
  .features .introduction {
    padding-top: min(calc(100vw / var(--viewport) * 100), 100px);
    padding-bottom: min(calc(100vw / var(--viewport) * 44), 44px);
  }
}
.features .introductionTitle {
  margin-left: auto;
  margin-right: auto;
  margin-bottom: calc(100vw / var(--viewport) * 20);
  width: calc(100vw / var(--viewport) * 504);
}
@media screen and (min-width:768px) {
  .features .introductionTitle {
    margin-bottom: min(calc(100vw / var(--viewport) * 18), 18px);
    width: min(calc(100vw / var(--viewport) * 504), 504px);
  }
}
.features .introductionSubtitle {
  margin-bottom: calc(100vw / var(--viewport) * 20);
  text-align: center;
  font-size: calc(100vw / var(--viewport) * 40);
  font-weight: 700;
}
@media screen and (min-width:768px) {
  .features .introductionSubtitle {
    margin-bottom: min(calc(100vw / var(--viewport) * 20), 20px);
    font-size: min(calc(100vw / var(--viewport) * 40), 40px);
  }
}
.features .introductionText {
  line-height: calc(40 / 24);
  font-size: calc(100vw / var(--viewport) * 24);
}
@media screen and (min-width:768px) {
  .features .introductionText {
    line-height: calc(32 / 18);
    font-size: min(calc(100vw / var(--viewport) * 18), 18px);
  }
}
.features .introductionQuestion {
  position: relative;
  margin-top: calc(100vw / var(--viewport) * 40);
  padding-bottom: calc(100vw / var(--viewport) * 75);
  text-align: center;
  font-size: calc(100vw / var(--viewport) * 40);
  font-weight: 300;
}
@media screen and (min-width:768px) {
  .features .introductionQuestion {
    margin-top: min(calc(100vw / var(--viewport) * 20), 20px);
    padding-bottom: min(calc(100vw / var(--viewport) * 75), 75px);
    font-size: min(calc(100vw / var(--viewport) * 40), 40px);
  }
}
.features .introductionQuestion strong {
  font-weight: 700;
}
.features .introductionQuestion::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  margin: auto;
  background: url(../../assets/img/introduction_arrow.svg) center/cover no-repeat;
  width: calc(100vw / var(--viewport) * 186);
  height: calc(100vw / var(--viewport) * 33);
}
@media screen and (min-width:768px) {
  .features .introductionQuestion::after {
    width: min(calc(100vw / var(--viewport) * 186), 186px);
    height: min(calc(100vw / var(--viewport) * 33), 33px);
  }
}
.features .introductionWhy {
  margin-top: calc(100vw / var(--viewport) * 20);
  border: 1px solid var(--gold);
  padding: calc(100vw / var(--viewport) * 12);
  text-align: center;
  font-size: calc(100vw / var(--viewport) * 58);
  font-weight: 700;
  color: var(--gold);
}
@media screen and (min-width:768px) {
  .features .introductionWhy {
    display: inline-block;
    margin-top: min(calc(100vw / var(--viewport) * 20), 20px);
    padding: min(calc(100vw / var(--viewport) * 8), 8px) min(calc(100vw / var(--viewport) * 40), 40px);
    font-size: min(calc(100vw / var(--viewport) * 64), 64px);
    font-weight: 700;
  }
}

/* training */
.features .training {
  background: #3C3A39;
  padding-top: calc(100vw / var(--viewport) * 48);
  padding-bottom: calc(100vw / var(--viewport) * 80);
}
@media screen and (min-width:768px) {
  .features .training {
    padding-top: min(calc(100vw / var(--viewport) * 72), 72px);
    padding-bottom: min(calc(100vw / var(--viewport) * 82), 82px);
  }
}
.features .trainingTitle {
  margin-bottom: calc(100vw / var(--viewport) * 38);
  text-align: center;
  font-size: calc(100vw / var(--viewport) * 52);
  font-weight: 300;
  color: #FFF;
}
@media screen and (min-width:768px) {
  .features .trainingTitle {
    margin-bottom: min(calc(100vw / var(--viewport) * 40), 40px);
    font-size: min(calc(100vw / var(--viewport) * 58), 58px);
  }
}
.features .trainingTitle strong {
  font-weight: 700;
  color: var(--gold);
}
.features .trainingEyebrow {
  display: block;
  font-size: calc(100vw / var(--viewport) * 40);
  font-weight: 300;
}
@media screen and (min-width:768px) {
  .features .trainingEyebrow {
    font-size: min(calc(100vw / var(--viewport) * 40), 40px);
  }
}
.features .trainingEyebrow strong {
  font-weight: 700;
  color: #FFF;
}
.features .trainingPractice {
  display: inline-block;
  background: var(--gold);
  margin-left: calc(100vw / var(--viewport) * 9);
  padding: 0 calc(100vw / var(--viewport) * 12);
  font-size: calc(100vw / var(--viewport) * 52);
  font-weight: 700;
  color: #000;
}
@media screen and (min-width:768px) {
  .features .trainingPractice {
    margin-left: min(calc(100vw / var(--viewport) * 7), 7px);
    padding: 0 min(calc(100vw / var(--viewport) * 14), 14px);
    font-size: min(calc(100vw / var(--viewport) * 58), 58px);
  }
}
.features .trainingList {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  justify-content: center;
  gap: calc(100vw / var(--viewport) * 30) calc(100vw / var(--viewport) * 29);
}
@media screen and (min-width:768px) {
  .features .trainingList {
    grid-template-columns: repeat(4, 1fr);
    gap: min(calc(100vw / var(--viewport) * 28), 28px);
  }
}
.features .trainingNumberLabel {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  height: calc(100vw / var(--viewport) * 56);
}
@media screen and (min-width:768px) {
  .features .trainingNumberLabel {
    height: min(calc(100vw / var(--viewport) * 43), 43px);
  }
}
.features .trainingNumber {
  background: #000;
  padding: 0 calc(100vw / var(--viewport) * 14);
  height: 100%;
  text-align: center;
  line-height: 100%;
  font-size: calc(100vw / var(--viewport) * 45);
  font-weight: 700;
  color: var(--gold);
}
@media screen and (min-width:768px) {
  .features .trainingNumber {
    padding: 0 min(calc(100vw / var(--viewport) * 12), 12px);
    font-size: min(calc(100vw / var(--viewport) * 35), 35px);
  }
}
.features .trainingLabel {
  display: flex;
  justify-content: center;
  align-items: center;
  background: var(--gold);
  height: 100%;
  text-align: center;
  font-size: calc(100vw / var(--viewport) * 27);
  font-weight: 700;
  color: #000;
}
@media screen and (min-width:768px) {
  .features .trainingLabel {
    font-size: min(calc(100vw / var(--viewport) * 22), 22px);
  }
}

/* point */
.features .point {
  padding-top: calc(100vw / var(--viewport) * 42);
}
@media screen and (min-width:768px) {
  .features .point {
    padding-top: min(calc(100vw / var(--viewport) * 70), 70px);
  }
}
.features .pointTitle {
  display: flex;
  justify-content: center;
  align-items: baseline;
  gap: calc(100vw / var(--viewport) * 20);
  margin-bottom: calc(100vw / var(--viewport) * 10);
  font-size: calc(100vw / var(--viewport) * 64);
  font-weight: 300;
}
@media screen and (min-width:768px) {
  .features .pointTitle {
    gap: min(calc(100vw / var(--viewport) * 25), 25px);
    margin-bottom: min(calc(100vw / var(--viewport) * 34), 34px);
    font-size: min(calc(100vw / var(--viewport) * 74), 74px);
  }
}
.features .pointTitle::before {
  content: "";
  background: #000;
  width: calc(100vw / var(--viewport) * 3);
  height: calc(100vw / var(--viewport) * 60);
  transform: rotate(-30deg);
  transform-origin: bottom right;
}
@media screen and (min-width:768px) {
  .features .pointTitle::before {
    width: min(calc(100vw / var(--viewport) * 3), 3px);
    height: min(calc(100vw / var(--viewport) * 70), 70px);
  }
}
.features .pointTitle::after {
  content: "";
  background: #000;
  width: calc(100vw / var(--viewport) * 3);
  height: calc(100vw / var(--viewport) * 60);
  transform: rotate(30deg);
  transform-origin: bottom left;
}
@media screen and (min-width:768px) {
  .features .pointTitle::after {
    width: min(calc(100vw / var(--viewport) * 3), 3px);
    height: min(calc(100vw / var(--viewport) * 70), 70px);
  }
}
.features .pointTitle strong {
  font-weight: 700;
}
.features .pointTitle .gold {
  color: var(--gold);
}
.features .pointTitle .number {
  font-size: calc(100vw / var(--viewport) * 82);
}
@media screen and (min-width:768px) {
  .features .pointTitle .number {
    font-size: min(calc(100vw / var(--viewport) * 95), 95px);
  }
}
.features .pointWrapper {
  display: flex;
  flex-direction: column;
  gap: calc(100vw / var(--viewport) * 10);
}
@media screen and (min-width:768px) {
  .features .pointWrapper {
    gap: min(calc(100vw / var(--viewport) * 10), 10px);
  }
}
.features .pointSubtitle {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: calc(100vw / var(--viewport) * 21);
  background: #000;
  padding: calc(100vw / var(--viewport) * 22);
  font-size: calc(100vw / var(--viewport) * 51);
  font-weight: 700;
  color: var(--gold);
}
@media screen and (min-width:768px) {
  .features .pointSubtitle {
    gap: min(calc(100vw / var(--viewport) * 21), 21px);
    padding: min(calc(100vw / var(--viewport) * 22), 22px);
    font-size: min(calc(100vw / var(--viewport) * 51), 51px);
  }
}
.features .pointPoint {
  font-size: calc(100vw / var(--viewport) * 38);
  color: #FFF;
}
@media screen and (min-width:768px) {
  .features .pointPoint {
    font-size: min(calc(100vw / var(--viewport) * 38), 38px);
  }
}
.features .pointPoint .number {
  font-size: calc(100vw / var(--viewport) * 48);
}
@media screen and (min-width:768px) {
  .features .pointPoint .number {
    font-size: min(calc(100vw / var(--viewport) * 48), 48px);
  }
}
.features .pointContent {
  background: #3C3A39;
  padding-top: calc(100vw / var(--viewport) * 50);
  padding-bottom: calc(100vw / var(--viewport) * 80);
}
@media screen and (min-width:768px) {
  .features .pointContent {
    padding-top: min(calc(100vw / var(--viewport) * 50), 50px);
    padding-bottom: min(calc(100vw / var(--viewport) * 100), 100px);
  }
}
.features .point1Eyebrow {
  margin-bottom: calc(100vw / var(--viewport) * 40);
  text-align: center;
  font-size: calc(100vw / var(--viewport) * 29);
  font-weight: 700;
  color: #FFF;
}
@media screen and (min-width:768px) {
  .features .point1Eyebrow {
    margin-bottom: min(calc(100vw / var(--viewport) * 40), 40px);
    font-size: min(calc(100vw / var(--viewport) * 33), 33px);
  }
}
.features .point1Eyebrow em {
  font-style: normal;
  font-size: calc(100vw / var(--viewport) * 36);
}
@media screen and (min-width:768px) {
  .features .point1Eyebrow em {
    font-size: min(calc(100vw / var(--viewport) * 40), 40px);
  }
}
.features .point1Eyebrow strong {
  font-size: calc(100vw / var(--viewport) * 46);
  color: var(--gold);
}
@media screen and (min-width:768px) {
  .features .point1Eyebrow strong {
    font-size: min(calc(100vw / var(--viewport) * 51), 51px);
  }
}
.features .point1Tabs {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
.features .point1Tab {
  margin-left: auto;
  margin-right: auto;
  background: #989393;
  border-radius: calc(100vw / var(--viewport) * 20) calc(100vw / var(--viewport) * 20) 0 0;
  padding: calc(100vw / var(--viewport) * 11);
  width: calc(100vw / var(--viewport) * 296);
  text-align: center;
  font-size: calc(100vw / var(--viewport) * 24);
  font-weight: 700;
  color: #FFF;
}
@media screen and (min-width:768px) {
  .features .point1Tab {
    border-radius: min(calc(100vw / var(--viewport) * 20), 20px) min(calc(100vw / var(--viewport) * 20), 20px) 0 0;
    padding: min(calc(100vw / var(--viewport) * 12), 12px);
    width: min(calc(100vw / var(--viewport) * 394), 394px);
    font-size: min(calc(100vw / var(--viewport) * 33), 33px);
  }
}
.features .point1Tab.gorilla {
  background: var(--gold);
}
.features .point1Container {
  position: relative;
  background: #F5F5F5;
  padding: calc(100vw / var(--viewport) * 60) calc(100vw / var(--viewport) * 30) calc(100vw / var(--viewport) * 80);
}
@media screen and (min-width:768px) {
  .features .point1Container {
    padding: min(calc(100vw / var(--viewport) * 54), 54px) min(calc(100vw / var(--viewport) * 60), 60px) min(calc(100vw / var(--viewport) * 100), 100px);
  }
}
.features .point1Container::after {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  background: var(--gold);
  width: 50%;
  height: 100%;
}
.features .point1Content {
  position: relative;
  z-index: 2;
}
.features .precheckTitle {
  margin-left: auto;
  margin-right: auto;
  background: #000;
  border-radius: calc(100vw / var(--viewport) * 20);
  padding: calc(100vw / var(--viewport) * 12) calc(100vw / var(--viewport) * 20);
  text-align: center;
  font-size: calc(100vw / var(--viewport) * 44);
  font-weight: 700;
  color: #FFF;
}
@media screen and (min-width:768px) {
  .features .precheckTitle {
    border-radius: min(calc(100vw / var(--viewport) * 20), 20px);
    padding: min(calc(100vw / var(--viewport) * 13), 13px) min(calc(100vw / var(--viewport) * 43), 43px);
    width: fit-content;
    font-size: min(calc(100vw / var(--viewport) * 44), 44px);
  }
}
.features .precheckTitle strong {
  color: var(--gold);
}
.features .precheckEyebrows {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  margin-top: calc(100vw / var(--viewport) * 48);
}
@media screen and (min-width:768px) {
  .features .precheckEyebrows {
    margin-top: min(calc(100vw / var(--viewport) * 40), 40px);
  }
}
.features .precheckEyebrow {
  text-align: center;
  line-height: calc(40 / 36);
  font-size: calc(100vw / var(--viewport) * 36);
  font-weight: 700;
}
@media screen and (min-width:768px) {
  .features .precheckEyebrow {
    line-height: calc(52 / 46);
    font-size: min(calc(100vw / var(--viewport) * 46), 46px);
  }
}
.features .precheckEyebrow strong {
  font-size: calc(100vw / var(--viewport) * 48);
}
@media screen and (min-width:768px) {
  .features .precheckEyebrow strong {
    font-size: min(calc(100vw / var(--viewport) * 60), 60px);
  }
}
.features .precheckEyebrow .number {
  font-size: calc(100vw / var(--viewport) * 69);
}
@media screen and (min-width:768px) {
  .features .precheckEyebrow .number {
    font-size: min(calc(100vw / var(--viewport) * 86), 86px);
  }
}
.features .precheckTables {
  display: flex;
  flex-direction: column;
  gap: calc(100vw / var(--viewport) * 28);
  margin-top: calc(100vw / var(--viewport) * 45);
}
@media screen and (min-width:768px) {
  .features .precheckTables {
    gap: min(calc(100vw / var(--viewport) * 50), 50px);
    margin-top: min(calc(100vw / var(--viewport) * 40), 40px);
  }
}
.features .precheckTable {
  border-collapse: collapse;
  width: 100%;
}
.features .precheckTable__Row {
  border-left: calc(100vw / var(--viewport) * 2) solid #000;
  border-right: calc(100vw / var(--viewport) * 2) solid #000;
  border-bottom: calc(100vw / var(--viewport) * 2) solid #000;
}
@media screen and (min-width:768px) {
  .features .precheckTable__Row {
    border-width: 1px;
  }
}
.features .precheckTable__Header {
  background: #000;
  text-align: center;
  padding: calc(100vw / var(--viewport) * 5);
  font-size: calc(100vw / var(--viewport) * 32);
  font-weight: 700;
  color: #FFF;
}
@media screen and (min-width:768px) {
  .features .precheckTable__Header {
    padding: min(calc(100vw / var(--viewport) * 7), 7px);
    font-size: min(calc(100vw / var(--viewport) * 39), 39px);
  }
}
.features .precheckTable__Data {
  position: relative;
  padding: calc(100vw / var(--viewport) * 6) calc(100vw / var(--viewport) * 6) calc(100vw / var(--viewport) * 6) calc(100vw / var(--viewport) * 54);
  font-size: calc(100vw / var(--viewport) * 27);
  font-weight: 700;
  color: #B9B9B9;
}
@media screen and (min-width:768px) {
  .features .precheckTable__Data {
    padding: min(calc(100vw / var(--viewport) * 8), 8px) min(calc(100vw / var(--viewport) * 8), 8px) min(calc(100vw / var(--viewport) * 8), 8px) min(calc(100vw / var(--viewport) * 113), 113px);
    font-size: min(calc(100vw / var(--viewport) * 38), 38px);
  }
}
.features .precheckTable__Data.check {
  color: #000;
}
.features .precheckTable__Data::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 calc(100vw / var(--viewport) * 15);
  margin: auto;
  background: #FFF;
  border: calc(100vw / var(--viewport) * 2) solid #000;
  width: calc(100vw / var(--viewport) * 30);
  height: calc(100vw / var(--viewport) * 30);
}
@media screen and (min-width:768px) {
  .features .precheckTable__Data::before {
    inset: 0 auto 0 min(calc(100vw / var(--viewport) * 48), 48px);
    border: 2px solid #000;
    width: min(calc(100vw / var(--viewport) * 48), 48px);
    height: min(calc(100vw / var(--viewport) * 48), 48px);
  }
}
.features .precheckTable__Data.check::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0 auto 0 calc(100vw / var(--viewport) * 17);
  margin: auto;
  background: url(../../assets/img/icon_check.svg) center/cover no-repeat;
  width: calc(100vw / var(--viewport) * 34);
  height: calc(100vw / var(--viewport) * 28);
}
@media screen and (min-width:768px) {
  .features .precheckTable__Data.check::after {
    inset: 0 auto 0 min(calc(100vw / var(--viewport) * 52), 52px);
    width: min(calc(100vw / var(--viewport) * 54), 54px);
    height: min(calc(100vw / var(--viewport) * 44), 44px);
  }
}
.features .irradiation {
  margin-top: calc(100vw / var(--viewport) * 60);
}
@media screen and (min-width:768px) {
  .features .irradiation {
    margin-top: min(calc(100vw / var(--viewport) * 50), 50px);
  }
}
.features .irradiationTitle {
  background: #000;
  padding: calc(100vw / var(--viewport) * 36) calc(100vw / var(--viewport) * 36) calc(100vw / var(--viewport) * 39);
  text-align: center;
  font-size: calc(100vw / var(--viewport) * 39);
  font-weight: 300;
  color: #FFF;
}
@media screen and (min-width:768px) {
  .features .irradiationTitle {
    padding: min(calc(100vw / var(--viewport) * 49), 49px) min(calc(100vw / var(--viewport) * 49), 49px) min(calc(100vw / var(--viewport) * 55), 55px);
    font-size: min(calc(100vw / var(--viewport) * 39), 39px);
  }
}
.features .irradiationTitle em {
  font-style: normal;
  color: var(--gold);
}
.features .irradiationTitle strong {
  font-weight: 700;
}
.features .irradiationContainer {
  display: grid;
  grid-template-columns: calc(100vw / var(--viewport) * 285) calc(100vw / var(--viewport) * 285);
  justify-content: space-between;
  margin-top: calc(100vw / var(--viewport) * 26);
}
@media screen and (min-width:768px) {
  .features .irradiationContainer {
    grid-template-columns: min(calc(100vw / var(--viewport) * 438), 438px) min(calc(100vw / var(--viewport) * 438), 438px);
    margin-top: min(calc(100vw / var(--viewport) * 40), 40px);
  }
}
.features .irradiationItem {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(100vw / var(--viewport) * 15);
  text-align: center;
}
@media screen and (min-width:768px) {
  .features .irradiationItem {
    gap: min(calc(100vw / var(--viewport) * 25), 25px);
  }
}
.features .irradiationPerson {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(100vw / var(--viewport) * 13);
}
@media screen and (min-width:768px) {
  .features .irradiationPerson {
    gap: min(calc(100vw / var(--viewport) * 16), 16px);
  }
}
.features .irradiationPerson__Image {
  width: calc(100vw / var(--viewport) * 229);
  height: calc(100vw / var(--viewport) * 194);
}
@media screen and (min-width:768px) {
  .features .irradiationPerson__Image {
    width: min(calc(100vw / var(--viewport) * 275), 275px);
    height: min(calc(100vw / var(--viewport) * 232), 232px);
  }
}
.features .irradiationPerson__Image img {
  object-fit: contain;
}
.features .irradiationPerson__Text {
  font-size: calc(100vw / var(--viewport) * 30);
  font-weight: 700;
}
@media screen and (min-width:768px) {
  .features .irradiationPerson__Text {
    font-size: min(calc(100vw / var(--viewport) * 36), 36px);
  }
}
.features .irradiationPlus {
  line-height: 1;
  font-size: calc(100vw / var(--viewport) * 64);
  font-weight: 700;
}
@media screen and (min-width:768px) {
  .features .irradiationPlus {
    font-size: min(calc(100vw / var(--viewport) * 100), 100px);
  }
}
.features .irradiationPower {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(100vw / var(--viewport) * 10);
  background: #C9BDBB;
  border-radius: calc(100vw / var(--viewport) * 20);
  padding: calc(100vw / var(--viewport) * 20) calc(100vw / var(--viewport) * 15);
  width: calc(100vw / var(--viewport) * 245);
}
@media screen and (min-width:768px) {
  .features .irradiationPower {
    gap: min(calc(100vw / var(--viewport) * 16), 16px);
    border-radius: min(calc(100vw / var(--viewport) * 20), 20px);
    padding: min(calc(100vw / var(--viewport) * 34), 34px) min(calc(100vw / var(--viewport) * 30), 30px);
    width: min(calc(100vw / var(--viewport) * 377), 377px);
  }
}
.features .irradiationPower__Image {
  width: calc(100vw / var(--viewport) * 205);
  height: calc(100vw / var(--viewport) * 77);
}
@media screen and (min-width:768px) {
  .features .irradiationPower__Image {
    width: min(calc(100vw / var(--viewport) * 316), 316px);
    height: min(calc(100vw / var(--viewport) * 118), 118px);
  }
}
.features .irradiationPower__Image img {
  object-fit: contain;
}
.features .irradiationPower__Text {
  font-size: calc(100vw / var(--viewport) * 26);
  font-weight: 700;
}
@media screen and (min-width:768px) {
  .features .irradiationPower__Text {
    font-size: min(calc(100vw / var(--viewport) * 36), 36px);
  }
}
.features .irradiationEqual {
  line-height: 1;
  font-size: calc(100vw / var(--viewport) * 62);
  font-weight: 700;
  transform: rotate(-90deg);
}
@media screen and (min-width:768px) {
  .features .irradiationEqual {
    font-size: min(calc(100vw / var(--viewport) * 100), 100px);
  }
}
.features .irradiationEffect {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}
.features .irradiationEffect__Image {
  width: calc(100vw / var(--viewport) * 263);
  height: calc(100vw / var(--viewport) * 234);
}
@media screen and (min-width:768px) {
  .features .irradiationEffect__Image {
    width: min(calc(100vw / var(--viewport) * 405), 405px);
    height: min(calc(100vw / var(--viewport) * 360), 360px);
  }
}
.features .irradiationEffect__Image img {
  object-fit: contain;
}
.features .irradiationEffect__Text {
  background: #000;
  padding: calc(100vw / var(--viewport) * 21) calc(100vw / var(--viewport) * 20) calc(100vw / var(--viewport) * 33);
  width: 100%;
  font-size: calc(100vw / var(--viewport) * 24);
  font-weight: 700;
  color: #FFF;
}
@media screen and (min-width:768px) {
  .features .irradiationEffect__Text {
    padding: min(calc(100vw / var(--viewport) * 36), 36px) min(calc(100vw / var(--viewport) * 30), 30px) min(calc(100vw / var(--viewport) * 46), 46px);
    font-size: min(calc(100vw / var(--viewport) * 36), 36px);
  }
}
.features .irradiationEffect__Text em {
  display: block;
  margin-top: calc(100vw / var(--viewport) * 7);
  line-height: calc(41 / 32);
  font-style: normal;
  font-size: calc(100vw / var(--viewport) * 32);
  font-weight: 300;
}
@media screen and (min-width:768px) {
  .features .irradiationEffect__Text em {
    margin-top: min(calc(100vw / var(--viewport) * 13), 13px);
    line-height: calc(66 / 48);
    font-size: min(calc(100vw / var(--viewport) * 48), 48px);
  }
}
.features .irradiationEffect__Text b {
  font-weight: 700;
}
.features .irradiationEffect__Text strong {
  color: var(--gold);
}
.features .powerTitle {
  margin-top: calc(100vw / var(--viewport) * 32);
  background: #000;
  padding: calc(100vw / var(--viewport) * 4) calc(100vw / var(--viewport) * 4) calc(100vw / var(--viewport) * 8);
  text-align: center;
  font-size: calc(100vw / var(--viewport) * 30);
  font-weight: 700;
  color: var(--gold);
}
@media screen and (min-width:768px) {
  .features .powerTitle {
    margin-top: min(calc(100vw / var(--viewport) * 60), 60px);
    padding: min(calc(100vw / var(--viewport) * 14), 14px) min(calc(100vw / var(--viewport) * 14), 14px) min(calc(100vw / var(--viewport) * 24), 24px);
    font-size: min(calc(100vw / var(--viewport) * 43), 43px);
  }
}
.features .powerTitle small {
  display: block;
  font-size: calc(100vw / var(--viewport) * 20);
  font-weight: 400;
  color: #FFF;
}
@media screen and (min-width:768px) {
  .features .powerTitle small {
    font-size: min(calc(100vw / var(--viewport) * 19), 19px);
  }
}
.features .powerList {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
.features .powerImage.gorilla {
  position: relative;
}
.features .powerImage.gorilla::before {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  box-sizing: border-box;
  border: min(calc(100vw / var(--viewport) * 8), 8px) solid #F5D08C;
  width: 100%;
  height: 100%;
}
.features .powerLabel {
  background: #000;
  text-align: center;
  padding: calc(100vw / var(--viewport) * 11);
  font-size: calc(100vw / var(--viewport) * 18);
  font-weight: 700;
  color: #FFF;
}
@media screen and (min-width:768px) {
  .features .powerLabel {
    padding: min(calc(100vw / var(--viewport) * 16), 16px) min(calc(100vw / var(--viewport) * 16), 16px) 0;
    font-size: min(calc(100vw / var(--viewport) * 30), 30px);
  }
}
.features .powerLabel.gorilla {
  color: var(--gold);
}
.features .powerText {
  margin-top: -1px;
  background: #000;
  padding: calc(100vw / var(--viewport) * 22) calc(100vw / var(--viewport) * 16);
  line-height: calc(32 / 18);
  font-size: calc(100vw / var(--viewport) * 18);
  color: #FFF;
}
@media screen and (min-width:768px) {
  .features .powerText {
    padding: min(calc(100vw / var(--viewport) * 15), 15px) min(calc(100vw / var(--viewport) * 26), 26px) min(calc(100vw / var(--viewport) * 28), 28px);
    line-height: calc(22 / 14);
    font-size: min(calc(100vw / var(--viewport) * 14), 14px);
  }
}
.features .point2Eyebrow {
  margin-bottom: calc(100vw / var(--viewport) * 55);
  text-align: center;
  font-size: calc(100vw / var(--viewport) * 29);
  font-weight: 700;
  color: #FFF;
}
@media screen and (min-width:768px) {
  .features .point2Eyebrow {
    margin-bottom: min(calc(100vw / var(--viewport) * 40), 40px);
    font-size: min(calc(100vw / var(--viewport) * 33), 33px);
  }
}
.features .point2Eyebrow em {
  font-style: normal;
  font-size: calc(100vw / var(--viewport) * 36);
  color: var(--gold);
}
@media screen and (min-width:768px) {
  .features .point2Eyebrow em {
    font-size: min(calc(100vw / var(--viewport) * 40), 40px);
  }
}
.features .point2Eyebrow strong {
  font-size: calc(100vw / var(--viewport) * 46);
}
@media screen and (min-width:768px) {
  .features .point2Eyebrow strong {
    font-size: min(calc(100vw / var(--viewport) * 51), 51px);
  }
}
.features .point2List {
  display: grid;
  grid-template-columns: 1fr;
  justify-content: center;
  gap: calc(100vw / var(--viewport) * 50);
}
@media screen and (min-width:768px) {
  .features .point2List {
    grid-template-columns: repeat(2, 1fr);
    gap: min(calc(100vw / var(--viewport) * 40), 40px);
  }
}
.features .point2Label {
  background: #000;
  padding: calc(100vw / var(--viewport) * 22);
  text-align: center;
  font-size: calc(100vw / var(--viewport) * 39);
  font-weight: 700;
  color: #FFF;
}
@media screen and (min-width:768px) {
  .features .point2Label {
    padding: min(calc(100vw / var(--viewport) * 16), 16px);
    font-size: min(calc(100vw / var(--viewport) * 32), 32px);
  }
}
.features .point2Label.gorilla {
  color: var(--gold);
}
.features .point2Text {
  margin-top: calc(100vw / var(--viewport) * 19);
  line-height: calc(40 / 24);
  font-size: calc(100vw / var(--viewport) * 24);
  color: #FFF;
}
@media screen and (min-width:768px) {
  .features .point2Text {
    margin-top: min(calc(100vw / var(--viewport) * 20), 20px);
    line-height: calc(32 / 18);
    font-size: min(calc(100vw / var(--viewport) * 18), 18px);
  }
}
.features .point3List {
  display: grid;
  grid-template-columns: 1fr;
  justify-content: center;
  gap: calc(100vw / var(--viewport) * 50);
}
@media screen and (min-width:768px) {
  .features .point3List {
    grid-template-columns: repeat(2, 1fr);
    gap: min(calc(100vw / var(--viewport) * 40), 40px);
  }
}
.features .point3Item {
  display: flex;
  flex-direction: column;
  gap: calc(100vw / var(--viewport) * 28);
}
@media screen and (min-width:768px) {
  .features .point3Item {
    gap: min(calc(100vw / var(--viewport) * 42), 42px);
  }
}
.features .point3Label {
  text-align: center;
  font-size: calc(100vw / var(--viewport) * 29);
  font-weight: 700;
  color: #FFF;
}
@media screen and (min-width:768px) {
  .features .point3Label {
    font-size: min(calc(100vw / var(--viewport) * 28), 28px);
  }
}
.features .point3Label strong {
  font-size: calc(100vw / var(--viewport) * 46);
  color: var(--gold);
}
@media screen and (min-width:768px) {
  .features .point3Label strong {
    font-size: min(calc(100vw / var(--viewport) * 34), 34px);
  }
}
.features .point3Text {
  margin-top: calc(100vw / var(--viewport) * 16);
  line-height: calc(40 / 24);
  font-size: calc(100vw / var(--viewport) * 24);
  color: #FFF;
}
@media screen and (min-width:768px) {
  .features .point3Text {
    margin-top: min(calc(100vw / var(--viewport) * 20), 20px);
    line-height: calc(32 / 18);
    font-size: min(calc(100vw / var(--viewport) * 18), 18px);
  }
}

/* beforeAfter */
.features .beforeAfter {
  background: #F0F0F0;
  padding-top: calc(100vw / var(--viewport) * 52);
  padding-bottom: calc(100vw / var(--viewport) * 56);
}
@media screen and (min-width:768px) {
  .features .beforeAfter {
    background: #F5F5F5;
    padding-top: min(calc(100vw / var(--viewport) * 68), 68px);
    padding-bottom: min(calc(100vw / var(--viewport) * 80), 80px);
  }
}
.features .beforeAfterTitle {
  margin-left: calc(100vw / var(--viewport) * -10);
  margin-right: calc(100vw / var(--viewport) * -10);
  margin-bottom: calc(100vw / var(--viewport) * 30);
  text-align: center;
  font-size: calc(100vw / var(--viewport) * 38);
  font-weight: 300;
}
@media screen and (min-width:768px) {
  .features .beforeAfterTitle {
    margin-left: 0;
    margin-right: 0;
    margin-bottom: min(calc(100vw / var(--viewport) * 75), 75px);
    font-size: min(calc(100vw / var(--viewport) * 40), 40px);
  }
}
.features .beforeAfterTitle strong {
  font-weight: 700;
}
.features .beforeAfterTitle small {
  display: block;
  margin-top: calc(100vw / var(--viewport) * 8);
  font-size: calc(100vw / var(--viewport) * 22);
  font-weight: 400;
}
@media screen and (min-width:768px) {
  .features .beforeAfterTitle small {
    margin-top: min(calc(100vw / var(--viewport) * 10), 10px);
    font-size: min(calc(100vw / var(--viewport) * 20), 20px);
  }
}
.features .beforeAfterList {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: calc(100vw / var(--viewport) * 30);
}
@media screen and (min-width:768px) {
  .features .beforeAfterList {
    gap: min(calc(100vw / var(--viewport) * 40), 40px);
  }
}
.features .beforeAfterLabel {
  background: #000;
  padding: calc(100vw / var(--viewport) * 9);
  text-align: center;
  font-size: calc(100vw / var(--viewport) * 30);
  font-weight: 600;
  color: #FFF;
}
@media screen and (min-width:768px) {
  .features .beforeAfterLabel {
    padding: min(calc(100vw / var(--viewport) * 9), 9px);
    font-size: min(calc(100vw / var(--viewport) * 28), 28px);
  }
}
.features .beforeAfterText {
  margin-top: calc(100vw / var(--viewport) * 28);
  line-height: calc(32 / 18);
  font-size: calc(100vw / var(--viewport) * 18);
}
@media screen and (min-width:768px) {
  .features .beforeAfterText {
    margin-top: min(calc(100vw / var(--viewport) * 20), 20px);
    line-height: calc(26 / 12);
    font-size: min(calc(100vw / var(--viewport) * 12), 12px);
  }
}

/* information */
.features .information {
  padding-top: calc(100vw / var(--viewport) * 50);
  padding-bottom: calc(100vw / var(--viewport) * 82);
}
@media screen and (min-width:768px) {
  .features .information {
    padding-top: min(calc(100vw / var(--viewport) * 90), 90px);
    padding-bottom: min(calc(100vw / var(--viewport) * 100), 100px);
  }
}
.features .informationTitle {
  margin-bottom: calc(100vw / var(--viewport) * 40);
  text-align: center;
  font-size: calc(100vw / var(--viewport) * 46);
  font-weight: 700;
}
@media screen and (min-width:768px) {
  .features .informationTitle {
    margin-bottom: min(calc(100vw / var(--viewport) * 24), 24px);
    font-size: min(calc(100vw / var(--viewport) * 40), 40px);
  }
}
.features .informationList {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: calc(100vw / var(--viewport) * 30);
}
@media screen and (min-width:768px) {
  .features .informationList {
    grid-template-columns: repeat(4, 1fr);
    gap: min(calc(100vw / var(--viewport) * 28), 28px);
  }
}
.features .informationLinks {
  display: grid;
  grid-template-columns: auto;
  justify-content: center;
  gap: calc(100vw / var(--viewport) * 40);
  margin-top: calc(100vw / var(--viewport) * 80);
}
@media screen and (min-width:768px) {
  .features .informationLinks {
    grid-template-columns: repeat(2, auto);
    gap: min(calc(100vw / var(--viewport) * 100), 100px);
    margin-top: min(calc(100vw / var(--viewport) * 100), 100px);
  }
}
.features .informationLink {
  position: relative;
  box-sizing: border-box;
  background: var(--gold);
  border-radius: calc(100vw / var(--viewport) * 18);
  padding: calc(100vw / var(--viewport) * 36) calc(100vw / var(--viewport) * 90);
  width: calc(100vw / var(--viewport) * 540);
  text-align: center;
  font-size: calc(100vw / var(--viewport) * 26);
  font-weight: 600;
  color: #FFF !important;
  text-decoration: none !important;
}
@media screen and (min-width:768px) {
  .features .informationLink {
    border-radius: min(calc(100vw / var(--viewport) * 18), 18px);
    padding: min(calc(100vw / var(--viewport) * 30), 30px) min(calc(100vw / var(--viewport) * 75), 75px);
    width: min(calc(100vw / var(--viewport) * 480), 480px);
    font-size: min(calc(100vw / var(--viewport) * 24), 24px);
  }
}
.features .informationLink::after {
  content: "";
  position: absolute;
  inset: 0 calc(100vw / var(--viewport) * 30) 0 auto;
  margin: auto;
  background: url(../../assets/img/link_arrow.svg) center/contain no-repeat;
  width: calc(100vw / var(--viewport) * 50);
  height: calc(100vw / var(--viewport) * 10);
}
@media screen and (min-width:768px) {
  .features .informationLink::after {
    inset: 0 min(calc(100vw / var(--viewport) * 28), 28px) 0 auto;
    width: min(calc(100vw / var(--viewport) * 44), 44px);
    height: min(calc(100vw / var(--viewport) * 9), 9px);
  }
}