@charset "UTF-8";
*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body,
h1,
h2,
h3,
h4,
h5,
h6,
ul,
ol,
dl,
li,
dt,
dd,
p,
div,
span,
img,
a,
table,
tr,
th,
td {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  vertical-align: baseline;
}

header,
footer,
nav,
section,
article,
main,
aside,
figure,
figcaption {
  display: block;
}

ol,
ul {
  list-style: none;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}

a {
  color: inherit;
  text-decoration: none;
}

button {
  margin: 0;
  padding: 0;
  border: none;
  box-shadow: none;
  background: transparent;
  cursor: pointer;
  font: inherit;
}

input,
select,
textarea {
  font: inherit;
  color: inherit;
  vertical-align: top;
}

option {
  color: black;
}

html {
  font-size: 10px;
  -webkit-text-size-adjust: 100%;
}

@media screen and (max-width: 1024.98px) {
  html {
    font-size: 2.5641025641vw;
  }
}
body {
  color: #111111;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.75;
  background: #000000;
}

.u-hidden-sp {
  display: none;
}
@media screen and (min-width: 1025px) {
  .u-hidden-sp {
    display: block;
  }
}

@media screen and (min-width: 1025px) {
  .u-hidden-pc {
    display: none;
  }
}

.l-inner {
  max-width: 108.8rem;
  padding-inline: 2.4rem;
  margin-inline: auto;
}

@media (any-hover: hover) {
  .c-button a:hover .c-buttonInner {
    opacity: 0.7;
  }
}

.c-buttonInner {
  width: 100%;
  height: 7.2rem;
  display: grid;
  place-items: center;
  transition: opacity 0.3s ease-out;
}
@media screen and (min-width: 1025px) {
  .c-buttonInner {
    border-radius: 3.6rem;
    position: relative;
  }
}
.c-buttonInner.yellowBtn {
  background: linear-gradient(180deg, #FBC244, #844C04);
}
.c-buttonInner.greenBtn {
  background: linear-gradient(180deg, #12C8BC, #086081);
}
.c-buttonInner.purpleBtn {
  background: linear-gradient(180deg, #7D62EF, #440978);
}
.c-buttonInner .subText {
  display: none;
}
@media screen and (min-width: 1025px) {
  .c-buttonInner .subText {
    display: block;
    position: absolute;
    top: -0.7rem;
    left: 50%;
    transform: translateX(-50%);
    width: 20rem;
    padding-block: 0.3rem;
    border-radius: 1.6rem;
    background: #FFFFFF;
  }
  .c-buttonInner .subText::after {
    content: "";
    position: absolute;
    bottom: -0.5rem;
    left: 50%;
    transform: translateX(-50%);
    width: 1.6rem;
    aspect-ratio: 16/6;
    clip-path: polygon(0 0, 50% 100%, 100% 0);
    background: #FFFFFF;
  }
  .c-buttonInner .subText p {
    text-align: center;
    font-size: 1.3rem;
    font-weight: 600;
    line-height: 1.46;
  }
}
.c-buttonInner .mainText {
  text-align: center;
  color: #FFFFFF;
  font-weight: 500;
  line-height: 1.5;
}
@media screen and (min-width: 1025px) {
  .c-buttonInner .mainText {
    font-size: 2rem;
    line-height: 1.45;
  }
}

.c-section_title {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
@media screen and (min-width: 1025px) {
  .c-section_title {
    gap: 0.7rem;
  }
}
.c-section_title p {
  font-family: "Oswald", sans-serif;
  font-size: 8rem;
  font-weight: 500;
  line-height: 1.475;
}
@media screen and (min-width: 1025px) {
  .c-section_title p {
    font-size: 10.2rem;
    line-height: 1.4804;
  }
}
.c-section_title h2 {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.5;
}
.c-section_title h2::before {
  content: "■ ";
}
.c-section_title.colorWhite p, .c-section_title.colorWhite h2 {
  color: #FFFFFF;
}
.c-section_title.colorBlack p, .c-section_title.colorBlack h2 {
  color: #111111;
}

.c-headingInSec {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  gap: 0.8rem;
}
@media screen and (min-width: 1025px) {
  .c-headingInSec {
    flex-direction: row;
    gap: 2.4rem;
  }
}
.c-headingInSec span {
  width: 4rem;
  aspect-ratio: 1/1;
  flex-shrink: 0;
}
@media screen and (min-width: 1025px) {
  .c-headingInSec span {
    width: 5.6rem;
  }
}
.c-headingInSec span img {
  width: 100%;
}
.c-headingInSec h3 {
  font-size: 2.8rem;
  font-weight: 600;
  line-height: 1.4286;
}
@media screen and (min-width: 1025px) {
  .c-headingInSec h3 {
    font-size: 3.2rem;
    line-height: 1.25;
  }
}

.z10 {
  position: relative;
  z-index: 10;
}

.beforeBlack {
  position: relative;
}
.beforeBlack::before {
  content: "";
  position: absolute;
  z-index: 1;
  top: -0.2rem;
  left: 0;
  width: 100%;
  height: 0.4rem;
  background: #000000;
}

.afterBlack {
  position: relative;
}
.afterBlack::after {
  content: "";
  position: absolute;
  z-index: 1;
  bottom: -0.2rem;
  left: 0;
  width: 100%;
  height: 0.4rem;
  background: #000000;
}

.beforeWhite {
  position: relative;
}
.beforeWhite::before {
  content: "";
  position: absolute;
  z-index: 1;
  top: -0.2rem;
  left: 0;
  width: 100%;
  height: 0.4rem;
  background: #FFFFFF;
}

.beforeOffWhite {
  position: relative;
}
.beforeOffWhite::before {
  content: "";
  position: absolute;
  z-index: 1;
  top: -0.2rem;
  left: 0;
  width: 100%;
  height: 0.4rem;
  background: #F6F6F6;
}

.l-hero {
  padding-top: 4rem;
  padding-bottom: 36rem;
  background: #000000;
  position: relative;
  overflow: hidden;
}
@media screen and (min-width: 1025px) {
  .l-hero {
    padding-top: 14.8rem;
    padding-bottom: 18.7rem;
  }
}

.l-hero_inner {
  max-width: 156.8rem;
  position: relative;
  z-index: 10;
}

.p-hero_bg {
  position: absolute;
  z-index: 5;
  top: 0;
  right: 0;
  width: 100%;
}
@media screen and (min-width: 1025px) {
  .p-hero_bg {
    max-width: 108.1rem;
  }
}
.p-hero_bg img {
  width: 100%;
  height: 100%;
}

.p-hero_mainImage {
  position: absolute;
  z-index: 8;
  top: 19.3rem;
  right: 0.9rem;
  width: 16.1rem;
  height: 42.2rem;
}
@media screen and (min-width: 1025px) {
  .p-hero_mainImage {
    top: 11.6rem;
    right: calc(50% - 17rem);
    width: 19.2rem;
    height: 50.2rem;
  }
}
.p-hero_mainImage img {
  width: 100%;
  height: 100%;
}

.p-hero_heading {
  width: -moz-fit-content;
  width: fit-content;
  border-top: 0.1rem solid #707070;
  border-bottom: 0.1rem solid #707070;
  padding-top: 1.3rem;
  padding-bottom: 0.9rem;
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}
@media screen and (min-width: 1025px) {
  .p-hero_heading {
    align-items: center;
    width: 63rem;
    gap: 0;
    padding-bottom: 1.1rem;
  }
}

.p-hero_headingMain,
.p-hero_headingSub {
  color: #FFFFFF;
  font-weight: 500;
  text-shadow: 0rem 0.2rem 0.6rem rgba(0, 0, 0, 0.4);
}

.p-hero_headingMain {
  font-size: 2.4rem;
  line-height: 1.4166;
}
@media screen and (min-width: 1025px) {
  .p-hero_headingMain {
    font-size: 3.2rem;
    line-height: 1.75;
    letter-spacing: 0.1rem;
  }
}

.p-hero_headingSub {
  font-size: 1.5rem;
  line-height: 1.7333;
}
@media screen and (min-width: 1025px) {
  .p-hero_headingSub {
    font-size: 2.6rem;
    line-height: 1.6154;
    letter-spacing: 0.06rem;
  }
}

.p-hero_title {
  margin-top: 9.5rem;
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 1025px) {
  .p-hero_title {
    margin-top: 6.4rem;
    align-items: center;
    width: 63rem;
  }
}

.p-hero_titleSub p {
  color: #FFFFFF;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.55;
  letter-spacing: 0.08rem;
  text-shadow: 0rem 0.2rem 0.6rem rgba(0, 0, 0, 0.4);
}
@media screen and (min-width: 1025px) {
  .p-hero_titleSub p {
    font-size: 3.2rem;
    line-height: 1.6;
    letter-spacing: 0.18rem;
  }
}

.p-hero_titleMain {
  margin-top: 0.6rem;
}
.p-hero_titleMain strong {
  color: #FFFFFF;
  font-size: 4rem;
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: 0.1rem;
  text-shadow: 0rem 0.2rem 0.6rem rgba(0, 0, 0, 0.4);
}
@media screen and (min-width: 1025px) {
  .p-hero_titleMain strong {
    font-size: 5.6rem;
    line-height: 1.4286;
  }
}

.p-hero_titleName {
  margin: 0.5rem auto 0;
  position: relative;
  padding-inline: 7.3rem;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (min-width: 1025px) {
  .p-hero_titleName {
    margin-top: 1.7rem;
    padding-inline: 11.6rem;
  }
}
.p-hero_titleName::before, .p-hero_titleName::after {
  content: "";
  position: absolute;
  top: 3.3rem;
  width: 3.9rem;
  height: 0.1rem;
  background: #FFFFFF;
}
@media screen and (min-width: 1025px) {
  .p-hero_titleName::before, .p-hero_titleName::after {
    top: 5.3rem;
    width: 6.4rem;
  }
}
.p-hero_titleName::before {
  left: 0;
}
.p-hero_titleName::after {
  right: 0;
}
.p-hero_titleName p {
  color: #FFFFFF;
  font-size: 3.2rem;
  font-weight: 600;
  line-height: 1.75;
  text-shadow: 0rem 0.2rem 0.6rem rgba(0, 0, 0, 0.4);
}
@media screen and (min-width: 1025px) {
  .p-hero_titleName p {
    font-size: 5.6rem;
    line-height: 1.5;
  }
}

.p-hero_titleRuby {
  margin: 0.5rem auto 0;
  position: relative;
  padding-inline: 7.3rem;
  width: -moz-fit-content;
  width: fit-content;
}

.p-hero_titleRuby p {
  color: #FFFFFF;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1;
  text-shadow: 0rem 0.2rem 0.6rem rgba(0, 0, 0, 0.4);
  letter-spacing: 0.4em;
}

@media screen and (min-width: 1025px) {
  .p-hero_titleRuby p {
    font-size: 2rem;
  }
}

.p-hero_catchphrase {
  position: absolute;
  z-index: 9;
  bottom: 3.1rem;
  right: 0;
  width: 31.7rem;
}
@media screen and (min-width: 1025px) {
  .p-hero_catchphrase {
    bottom: -3.5rem;
    width: 100%;
    max-width: 108.6rem;
  }
}

.p-hero_buttons.sp {
  position: fixed;
  z-index: 100;
  bottom: 0;
  left: 0;
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  transition: opacity 0.3s ease;
}
@media screen and (min-width: 1025px) {
  .p-hero_buttons.sp {
    display: none;
  }
}
.p-hero_buttons.sp.is-hidden {
  opacity: 0;
  pointer-events: none;
}
.p-hero_buttons.pc {
  display: none;
}
@media screen and (min-width: 1025px) {
  .p-hero_buttons.pc {
    position: relative;
    margin-top: 9.6rem;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 4rem;
    width: 100%;
    max-width: 98rem;
    margin-inline: auto;
  }
}

.l-about {
  padding-top: 30.1rem;
  padding-bottom: 6.1rem;
  background: #000000;
  position: relative;
}
@media screen and (min-width: 1025px) {
  .l-about {
    padding-top: 27.5rem;
    padding-bottom: 16rem;
  }
}
.l-about::after {
  content: "";
  position: absolute;
  z-index: 3;
  bottom: 0;
  right: 0;
  width: calc(100% - 2.4rem);
  height: calc(100% - 11.6rem);
  background: #E3E3E3;
}
@media screen and (min-width: 1025px) {
  .l-about::after {
    width: calc(100vw - (100vw - 144rem) / 2);
    max-width: calc(100vw - 2.4rem);
    height: calc(100% - 15.5rem);
  }
}

.p-about_bgImages {
  position: absolute;
  inset: 0;
}

.p-about_bgImage {
  position: absolute;
}
.p-about_bgImage.image-front {
  z-index: 8;
  top: 14.4rem;
  right: 15.6rem;
  width: 14rem;
  height: 9.3rem;
}
@media screen and (min-width: 1025px) and (max-width: 1919px) {
  .p-about_bgImage.image-front {
    top: 23.4375vw;
    right: 25vw;
    width: 20.83333vw;
    height: 13.85416vw;
  }
}
@media screen and (min-width: 1920px) {
  .p-about_bgImage.image-front {
    top: 45rem;
    right: 48rem;
    width: 40rem;
    height: 26.6rem;
  }
}
.p-about_bgImage.image-back {
  z-index: 5;
  top: 0;
  right: 0;
  width: 26.4rem;
  height: 17.6rem;
}
@media screen and (min-width: 1025px) and (max-width: 1919px) {
  .p-about_bgImage.image-back {
    width: 41.66666vw;
    height: 27.70833vw;
  }
}
@media screen and (min-width: 1920px) {
  .p-about_bgImage.image-back {
    width: 80rem;
    height: 53.2rem;
  }
}

.l-about_inner {
  position: relative;
  z-index: 15;
  padding-left: 4.8rem;
}
@media screen and (min-width: 1489px) {
  .l-about_inner {
    padding-left: 2.4rem;
  }
}

.p-about_headArea {
  margin-top: 4.7rem;
}
@media screen and (min-width: 1025px) {
  .p-about_headArea {
    margin-top: 8rem;
  }
}

.p-about_headTextMain {
  padding-inline: 2.4rem;
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}
@media screen and (min-width: 1025px) {
  .p-about_headTextMain {
    padding-inline: 2.6rem;
    margin: 0;
  }
}
.p-about_headTextMain::before, .p-about_headTextMain::after {
  position: absolute;
  font-size: 3.2rem;
  line-height: 1.5313;
}
@media screen and (min-width: 1025px) {
  .p-about_headTextMain::before, .p-about_headTextMain::after {
    font-size: 3.6rem;
    line-height: 1.3611;
  }
}
.p-about_headTextMain::before {
  content: "“";
  top: 0;
  left: 0;
}
.p-about_headTextMain::after {
  content: "”";
  bottom: 0;
  right: 0;
}
.p-about_headTextMain p {
  font-size: 3rem;
  font-weight: 600;
  line-height: 1.4666;
}
@media screen and (min-width: 1025px) {
  .p-about_headTextMain p {
    font-size: 3.6rem;
    line-height: 1.5555;
  }
}

.p-about_headTextSub {
  margin: 3.1rem auto 0;
  width: 100%;
  max-width: 52rem;
}
@media screen and (min-width: 1025px) {
  .p-about_headTextSub {
    margin: 4.2rem 0 0;
  }
}
@media screen and (min-width: 1025px) and (max-width: 1700px) {
  .p-about_headTextSub {
    max-width: none;
  }
}
@media screen and (min-width: 1025px) {
  .p-about_headTextSub p {
    line-height: 1.875;
  }
}

.p-about_features {
  margin-top: 6.1rem;
}
@media screen and (min-width: 1025px) {
  .p-about_features {
    margin-top: 8.4rem;
  }
}

.p-about_features_heading3 {
  flex-direction: row;
}

.p-about_features_cardsArea {
  margin-top: 4rem;
  display: flex;
  flex-direction: column;
  gap: 4rem;
}
@media screen and (min-width: 1025px) {
  .p-about_features_cardsArea {
    margin-top: 8rem;
    gap: 4.8rem;
  }
}

.p-about_features_cards {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 1025px) {
  .p-about_features_cards {
    flex-direction: row;
  }
}
.p-about_features_cards.cardsTop {
  gap: 4rem;
}
@media screen and (min-width: 1025px) {
  .p-about_features_cards.cardsTop {
    gap: 4.8rem;
  }
}
.p-about_features_cards.cardsBottom {
  gap: 3.9rem;
}
@media screen and (min-width: 1025px) {
  .p-about_features_cards.cardsBottom {
    gap: 3.4rem;
  }
}

.p-about_features_cardTop {
  display: flex;
  gap: 2rem;
}
@media screen and (min-width: 1025px) {
  .p-about_features_cardTop {
    width: calc((100% - 4.8rem) / 2);
    gap: 2.4rem;
  }
}
.p-about_features_cardTop .p-about_features_cardTopImage {
  flex-shrink: 0;
}
.p-about_features_cardTop .p-about_features_cardMain {
  flex-grow: 1;
}
@media screen and (min-width: 1025px) {
  .p-about_features_cardTop .p-about_features_cardMain {
    padding-top: 0.2rem;
  }
}

.p-about_features_cardBottom {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
@media screen and (min-width: 1025px) {
  .p-about_features_cardBottom {
    width: calc((100% - 6.8rem) / 3);
    gap: 2.2rem;
  }
}
.p-about_features_cardBottom .p-about_features_cardTopImage,
.p-about_features_cardBottom .p-about_features_cardMain {
  width: 100%;
}

.p-about_features_cardTopImage img {
  width: 16rem;
  height: 22.3rem;
}
@media screen and (min-width: 1025px) {
  .p-about_features_cardTopImage img {
    width: 21rem;
    height: 30.4rem;
  }
}
.p-about_features_cardTopImage img.image-second {
  height: 28.3rem;
}
@media screen and (min-width: 1025px) {
  .p-about_features_cardTopImage img.image-second {
    height: 30.4rem;
  }
}

.p-about_features_cardBottomImage img {
  width: 31.8rem;
  height: 21.2rem;
}
@media screen and (min-width: 1025px) {
  .p-about_features_cardBottomImage img {
    width: 32.4rem;
    height: 21.6rem;
  }
}

.p-about_features_cardMain {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
@media screen and (min-width: 1025px) {
  .p-about_features_cardMain {
    gap: 1.6rem;
  }
}

.p-about_features_cardHeading h4 {
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.3;
}

.p-about_features_cardText p {
  font-size: 1.4rem;
  line-height: 1.5714;
  word-break: break-all;
}

.p-parallaxImage {
  position: fixed;
  z-index: 0;
  top: 0;
  left: 0;
  width: 100%;
}
.p-parallaxImage img {
  width: 100%;
}
.p-parallaxImage.is-scrolled {
  opacity: 0;
}

.p-parallaxSpace {
  height: 40rem;
}
@media screen and (min-width: 1025px) {
  .p-parallaxSpace {
    height: 61.6rem;
  }
}

.l-merit {
  padding-top: 8rem;
  padding-bottom: 8rem;
  background: rgba(0, 0, 0, 0.8);
}
@media screen and (min-width: 1025px) {
  .l-merit {
    padding-top: 12rem;
    padding-bottom: 12.6rem;
  }
}

.p-merit_list {
  margin-top: 9.3rem;
  display: flex;
  flex-direction: column;
  gap: 8.6rem;
}
@media screen and (min-width: 1025px) {
  .p-merit_list {
    margin-top: 9.8rem;
    gap: 7.2rem;
  }
}

.p-meritCard {
  position: relative;
}

.p-meritCard_tag {
  position: absolute;
  z-index: 20;
  top: -1.2rem;
  right: 0;
  width: 13.4rem;
  height: 2.6rem;
  clip-path: polygon(3% 0%, 100% 0%, 97% 100%, 0% 100%);
  background: #393939;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
}
@media screen and (min-width: 1025px) {
  .p-meritCard_tag {
    top: -1.3rem;
    right: 4rem;
    width: 16rem;
    height: 3.2rem;
    gap: 1.2rem;
    padding-bottom: 0.4rem;
  }
}
@media screen and (min-width: 1025px) {
  .p-meritCard_tag.reverse {
    right: auto;
    left: 4rem;
    clip-path: polygon(0% 0%, 97% 0%, 100% 100%, 3% 100%);
  }
}
.p-meritCard_tag .head,
.p-meritCard_tag .num {
  font-family: "Oswald", sans-serif;
  color: #CCCCCC;
  font-size: 2rem;
  line-height: 1.5;
}
@media screen and (min-width: 1025px) {
  .p-meritCard_tag .head,
  .p-meritCard_tag .num {
    font-size: 2.4rem;
  }
}
.p-meritCard_tag .head {
  font-weight: 400;
}
.p-meritCard_tag .num {
  font-weight: 500;
}
.p-meritCard_tag span {
  margin-top: 0.3rem;
  width: 1.4rem;
  height: 0.1rem;
  background: #CCCCCC;
}
@media screen and (min-width: 1025px) {
  .p-meritCard_tag span {
    width: 1.6rem;
  }
}

.p-meritCard_container {
  display: flex;
  flex-direction: column;
  background: #FFFFFF;
  overflow: hidden;
}
@media screen and (min-width: 1025px) {
  .p-meritCard_container {
    flex-direction: row;
    clip-path: polygon(2.5% 0%, 100% 0%, 97.5% 100%, 0% 100%);
  }
}
@media screen and (min-width: 1025px) {
  .p-meritCard_container.reverse {
    clip-path: polygon(0% 0%, 97.5% 0%, 100% 100%, 2.5% 100%);
    flex-direction: row-reverse;
  }
}

@media screen and (min-width: 1025px) {
  .p-meritCard_image {
    width: 46.42166%;
    clip-path: polygon(0 0, 100% 0%, 95% 100%, 0% 100%);
    overflow: hidden;
  }
  .p-meritCard_image.reverse {
    clip-path: polygon(0 0, 100% 0%, 100% 100%, 5% 100%);
  }
}
.p-meritCard_image img {
  width: 34.2rem;
  height: 21.2rem;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 1025px) {
  .p-meritCard_image img {
    width: 48rem;
    height: 100%;
  }
}

.p-meritCard_body {
  padding: 4rem 2.4rem 3.9rem;
  display: flex;
  flex-direction: column;
  gap: 1.9rem;
}
@media screen and (min-width: 1025px) {
  .p-meritCard_body {
    width: 53.57834%;
    padding: 6.4rem 8rem 3.9rem 5.3rem;
    gap: 3rem;
  }
}
@media screen and (min-width: 1025px) {
  .p-meritCard_body.secondBody {
    padding: 3.9rem 4rem 2.9rem 9rem;
  }
}
@media screen and (min-width: 1025px) {
  .p-meritCard_body.thirdBody {
    padding: 3.9rem 8rem 3.3rem 5.3rem;
  }
}
@media screen and (min-width: 1025px) {
  .p-meritCard_body.fourthBody {
    padding: 5rem 4rem 2.9rem 9rem;
  }
}

.p-meritCard_heading h3 {
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.45;
}
@media screen and (min-width: 1025px) {
  .p-meritCard_heading h3 {
    font-size: 3.2rem;
    line-height: 1.5;
    letter-spacing: 0.08rem;
  }
}

.p-meritCard_pointList {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 1025px) {
  .p-meritCard_pointList {
    gap: 0.8rem;
  }
}

.p-meritCard_listItem p {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.5556;
}
.p-meritCard_listItem p::before {
  content: "・";
}

.l-usage {
  padding-top: 11.5rem;
  padding-bottom: 12rem;
  background: linear-gradient(to bottom, #000000 44%, #FFFFFF 44%);
  overflow: hidden;
}
@media screen and (min-width: 1025px) {
  .l-usage {
    padding-top: 14.5rem;
  }
}

.p-usage_title {
  gap: 2.3rem;
}
@media screen and (min-width: 1025px) {
  .p-usage_title {
    gap: 3rem;
  }
}
.p-usage_title p {
  line-height: 1.04;
}

.p-usage_headText {
  margin-top: 6.1rem;
}
@media screen and (min-width: 1025px) {
  .p-usage_headText {
    margin-top: 7.8rem;
  }
}
.p-usage_headText p {
  color: #FFFFFF;
  font-size: 3.2rem;
  font-weight: 600;
  line-height: 1.6;
}
@media screen and (min-width: 1025px) {
  .p-usage_headText p {
    font-size: 3.6rem;
    letter-spacing: 0.14rem;
  }
}
.p-usage_headText p span {
  font: inherit;
}
.p-usage_headText p span::before {
  content: "“";
  margin-left: 0.6rem;
  margin-right: 0.5rem;
}
.p-usage_headText p span::after {
  content: "”";
  margin-left: 0.7rem;
}

.p-usage_firstList {
  margin-top: 5.9rem;
  display: flex;
  flex-direction: column;
  gap: 6rem;
}
@media screen and (min-width: 1025px) {
  .p-usage_firstList {
    margin-top: 7.6rem;
    gap: 6.2rem;
  }
}

.p-ufItem {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}

.p-ufItem_images {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
@media screen and (min-width: 1025px) {
  .p-ufItem_images {
    flex-direction: row;
    gap: 2rem;
  }
}

.p-ufItem_image {
  width: 100%;
}
@media screen and (min-width: 1025px) {
  .p-ufItem_image {
    width: calc((100% - 2rem) / 2);
  }
}
@media screen and (min-width: 1025px) {
  .p-ufItem_image.firstImage {
    width: 100%;
  }
}

.p-ufItem_image.firstImage video {
  width: 100%;
  max-width: 100%;
  line-height: 1;
}

.p-ufItem_image img {
  width: 100%;
  aspect-ratio: 342/192;
}

.p-ufItem_body {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}

.p-ufItem_heading p {
  color: #FFFFFF;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.4286;
}
.p-ufItem_heading p::before {
  content: "● ";
}

.p-ufItem_text p {
  color: #FFFFFF;
  font-size: 1.2rem;
  line-height: 1.6667;
}

.p-usage_secondArea {
  margin-top: 11.7rem;
  padding-bottom: 8rem;
  position: relative;
}
@media screen and (min-width: 1025px) {
  .p-usage_secondArea {
    margin-top: 15.7rem;
    padding-bottom: 7.7rem;
  }
}
.p-usage_secondArea::before {
  content: "";
  position: absolute;
  z-index: 5;
  bottom: 0;
  left: calc(-1 * (100vw - 100%) / 2);
  width: 100vw;
  height: 217.5rem;
  background: #E3E3E3;
}
@media screen and (min-width: 1025px) {
  .p-usage_secondArea::before {
    height: 127.5rem;
  }
}
@media screen and (min-width: 1136px) {
  .p-usage_secondArea::before {
    max-width: calc(100vw - 2.4rem);
    width: calc(100vw - (100vw - 144rem) / 2);
  }
}
.p-usage_secondArea > * {
  position: relative;
  z-index: 10;
}

.p-usage_secondTop h3 {
  color: #FFFFFF;
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.45;
}
.p-usage_secondTop h3::before {
  content: "■ ";
}

.p-usage_secondList {
  margin-top: 6.4rem;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 6.15rem;
  width: 100%;
}
@media screen and (min-width: 1025px) {
  .p-usage_secondList {
    grid-template-columns: repeat(2, 1fr);
    gap: 6.1rem 4rem;
  }
}

.p-usItem {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}
@media screen and (min-width: 1025px) {
  .p-usItem {
    gap: 1.5rem;
  }
}

.p-usItem_image img {
  width: 100%;
  aspect-ratio: 342/227;
}

.p-usItem_body {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
}

.p-usItem_heading p {
  color: #000000;
  font-size: 2rem;
  font-weight: 600;
  line-height: 2;
}

.p-usItem_text p {
  color: #000000;
}

.p-usage_thirdArea {
  margin-top: 8.6rem;
}
@media screen and (min-width: 1025px) {
  .p-usage_thirdArea {
    margin-top: 12rem;
  }
}

.p-usage_pitchCompare_heading3 {
  gap: 1.8rem;
}
.p-usage_pitchCompare_heading3 h3 {
  text-align: center;
}

.p-usage_pitchCompare_first {
  margin-top: 6rem;
  display: flex;
  flex-direction: column;
  gap: 4.15rem;
}
@media screen and (min-width: 1025px) {
  .p-usage_pitchCompare_first {
    margin-top: 7.5rem;
    flex-direction: row;
  }
}

.p-upcf_group {
  display: flex;
  flex-direction: column;
  gap: 1.1rem;
}
.p-upcf_group.front-gp {
  width: 100%;
}
@media screen and (min-width: 1025px) {
  .p-upcf_group.front-gp {
    width: 61.53846%;
  }
}
.p-upcf_group.rear-gp {
  width: 100%;
}
@media screen and (min-width: 1025px) {
  .p-upcf_group.rear-gp {
    width: 34.61538%;
  }
}

.p-upcf_heading p {
  font-size: 2rem;
  font-weight: 600;
  line-height: 2;
}
.p-upcf_heading p::before {
  content: "● ";
}

.p-upcf_image {
  position: relative;
}
.p-upcf_image img {
  width: 100%;
}

.r10,
.r39 {
  position: absolute;
  bottom: 1.2rem;
  padding: 0.4rem 2rem;
  background: rgba(255, 255, 255, 0.92);
  color: #333333;
  font-size: 1.2rem;
  font-weight: 600;
  line-height: 1.5;
}
@media screen and (min-width: 1025px) {
  .r10,
  .r39 {
    bottom: 2rem;
    padding: 0.4rem 3rem;
    font-size: 1.6rem;
  }
}

.r10 {
  left: 3.9rem;
}
@media screen and (min-width: 1025px) {
  .r10 {
    left: 11rem;
  }
}

.r39 {
  right: 4.7rem;
}
@media screen and (min-width: 1025px) {
  .r39 {
    right: 11.9rem;
  }
}

.p-upcf_rearItem {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}
.p-upcf_rearItem.secondItem {
  margin-top: 2rem;
}
@media screen and (min-width: 1025px) {
  .p-upcf_rearItem.secondItem {
    margin-top: 2.8rem;
  }
}

.p-upcf_tag {
  position: absolute;
  bottom: 1rem;
  right: 1rem;
  background: #666666;
  padding: 0.5rem 0.5rem 0.5rem 0.3rem;
  color: #FFFFFF;
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 1;
}

.p-upcf_text p {
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: -0.04rem;
}

.p-usage_pitchCompare_second {
  margin-top: 4.6rem;
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
@media screen and (min-width: 1025px) {
  .p-usage_pitchCompare_second {
    margin-top: 6.3rem;
    flex-direction: row;
    gap: 2rem;
  }
}

.p-upcs_group {
  width: 100%;
  position: relative;
}
@media screen and (min-width: 1025px) {
  .p-upcs_group {
    width: calc((100% - 2rem) / 2);
  }
}
.p-upcs_group img {
  width: 100%;
}
.p-upcs_group .r10 {
  left: 5.8rem;
}
@media screen and (min-width: 1025px) {
  .p-upcs_group .r10 {
    bottom: 1.7rem;
    left: 8.3rem;
  }
}
.p-upcs_group .r39 {
  right: 2.6rem;
}
@media screen and (min-width: 1025px) {
  .p-upcs_group .r39 {
    bottom: 1.7rem;
    right: 4rem;
  }
}

.p-usage_pitchCompare_third {
  margin-top: 4.8rem;
  position: relative;
}
@media screen and (min-width: 1025px) {
  .p-usage_pitchCompare_third {
    margin-top: 6.3rem;
  }
}
.p-usage_pitchCompare_third .r10 {
  left: 7rem;
  bottom: 0.9rem;
}
@media screen and (min-width: 1025px) {
  .p-usage_pitchCompare_third .r10 {
    bottom: 2rem;
    left: 31.1rem;
  }
}
.p-usage_pitchCompare_third .r39 {
  right: 6.4rem;
  bottom: 0.9rem;
}
@media screen and (min-width: 1025px) {
  .p-usage_pitchCompare_third .r39 {
    bottom: 2rem;
    right: 30.2rem;
  }
}

.p-usage_length {
  margin-top: 8rem;
}
@media screen and (min-width: 1025px) {
  .p-usage_length {
    margin-top: 12rem;
  }
}

.p-usage_length_list {
  margin-top: 6.4rem;
  display: flex;
  flex-direction: column;
  gap: 4.7rem;
}
@media screen and (min-width: 1025px) {
  .p-usage_length_list {
    margin-top: 8rem;
    flex-direction: row;
    gap: 8.8rem;
    max-width: 87.5rem;
    margin-inline: auto;
  }
}

.p-usage_length_item {
  display: flex;
  gap: 4rem;
  width: 100%;
}
@media screen and (min-width: 1025px) {
  .p-usage_length_item {
    width: calc((100% - 8.8rem) / 2);
    gap: 4.8rem;
  }
}

.p-usage_length_itemImage {
  width: 17.4rem;
  flex-shrink: 0;
}
@media screen and (min-width: 1025px) {
  .p-usage_length_itemImage {
    width: 20rem;
  }
}
.p-usage_length_itemImage img {
  width: 100%;
  aspect-ratio: 174/443;
}

.p-usage_length_itemBody {
  flex-grow: 1;
}

@media screen and (min-width: 1025px) {
  .p-usage_length_itemText {
    height: 7.8rem;
  }
}
.p-usage_length_itemText p {
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.5714;
}
@media screen and (min-width: 1025px) {
  .p-usage_length_itemText p {
    font-size: 1.6rem;
    line-height: 1.625;
    letter-spacing: -0.01rem;
  }
}

.p-usage_length_itemCd {
  margin-top: 2.9rem;
  width: 100%;
  aspect-ratio: 125/37;
  background: #BF9000;
  display: grid;
  place-items: center;
}
.p-usage_length_itemCd p {
  color: #FFFFFF;
  font-size: 2.1rem;
  font-weight: 700;
  line-height: 1.6667;
}
@media screen and (min-width: 1025px) {
  .p-usage_length_itemCd p {
    font-size: 2.4rem;
  }
}

.p-usage_length_itemPct {
  margin-top: 1.4rem;
  display: flex;
  align-items: center;
  gap: 1.9rem;
}
@media screen and (min-width: 1025px) {
  .p-usage_length_itemPct {
    margin-top: 1.7rem;
    gap: 2.1rem;
  }
}
.p-usage_length_itemPct img {
  width: 3.7rem;
  aspect-ratio: 1/1;
}
@media screen and (min-width: 1025px) {
  .p-usage_length_itemPct img {
    width: 4.2rem;
  }
}
.p-usage_length_itemPct p {
  font-size: 2.1rem;
  font-weight: 700;
  line-height: 1.6667;
}
@media screen and (min-width: 1025px) {
  .p-usage_length_itemPct p {
    font-size: 2.4rem;
  }
}

.p-usage_sunshine {
  margin-top: 8rem;
}
@media screen and (min-width: 1025px) {
  .p-usage_sunshine {
    margin-top: 12.3rem;
  }
}

.p-usage_sunshine_head {
  margin-top: 6.3rem;
}
@media screen and (min-width: 1025px) {
  .p-usage_sunshine_head {
    margin-top: 8.1rem;
  }
}
.p-usage_sunshine_head p {
  line-height: 1.625;
}

.p-usage_sunshine_list {
  margin-top: 3.6rem;
  display: flex;
  flex-direction: column;
  gap: 3.8rem;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}
@media screen and (min-width: 1025px) {
  .p-usage_sunshine_list {
    margin-top: 6.2rem;
    flex-direction: row;
    gap: 3.4rem;
  }
}

.p-usage_sunshine_item {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.p-usage_sunshine_itemHeading p {
  font-size: 1.4rem;
}
.p-usage_sunshine_itemHeading p::before {
  content: "▼ ";
}

.p-usage_sunshine_itemImage img {
  width: 32.4rem;
  aspect-ratio: 324/251;
}

.l-feature {
  padding-top: 20rem;
  background: linear-gradient(to bottom, #000000 29.6%, #FFFFFF 29.6%);
  position: relative;
}
@media screen and (min-width: 1025px) {
  .l-feature {
    padding-top: 24rem;
    background: linear-gradient(to bottom, #000000 41.4%, #FFFFFF 41.4%);
  }
}
.l-feature::before {
  content: "";
  position: absolute;
  z-index: 5;
  top: 12rem;
  right: 0;
  width: calc(100% - 2.4rem);
  height: 137rem;
  background: #E3E3E3;
}
@media screen and (min-width: 1025px) {
  .l-feature::before {
    width: calc(100vw - (100vw - 144rem) / 2);
    max-width: calc(100vw - 2.4rem);
    height: 117.5rem;
  }
}

.l-feature_inner {
  position: relative;
  z-index: 10;
  padding-left: 4.8rem;
}
@media screen and (min-width: 1025px) {
  .l-feature_inner {
    padding-left: 2.4rem;
  }
}

@media screen and (min-width: 1025px) {
  .p-feature_title p {
    letter-spacing: -0.28rem;
  }
}

.p-feature_head {
  margin-top: 4.8rem;
}
@media screen and (min-width: 1025px) {
  .p-feature_head {
    margin-top: 7.9rem;
  }
}
.p-feature_head p {
  font-size: 3.2rem;
  font-weight: 600;
  line-height: 1.5;
}
@media screen and (min-width: 1025px) {
  .p-feature_head p {
    font-size: 3.6rem;
    letter-spacing: 0.125rem;
  }
}

.p-feature_pointsArea {
  margin-top: 4.4rem;
  display: flex;
  flex-direction: column;
  gap: 3.4rem;
  padding-bottom: 7.9rem;
}
@media screen and (min-width: 1025px) {
  .p-feature_pointsArea {
    margin-top: 7.9rem;
    flex-direction: row;
    justify-content: space-between;
    padding-bottom: 12rem;
  }
}

.p-feature_points {
  display: flex;
  flex-direction: column;
  gap: 3.5rem;
}

.p-feature_point {
  display: flex;
  gap: 0.6rem;
}
@media screen and (min-width: 1025px) {
  .p-feature_point {
    gap: 1.2rem;
  }
}

.p-feature_point_label {
  width: 2rem;
}
@media screen and (min-width: 1025px) {
  .p-feature_point_label {
    width: 3rem;
    padding-left: 0.6rem;
  }
}
.p-feature_point_label p {
  color: #4C4C4C;
  font-family: "Oswald", sans-serif;
  font-size: 2rem;
  line-height: 1;
  writing-mode: vertical-rl;
}
@media screen and (min-width: 1025px) {
  .p-feature_point_label p {
    font-size: 2.4rem;
    letter-spacing: 0.05rem;
  }
}

.p-feature_point_body {
  padding-left: 1.6rem;
  border-left: 0.1rem solid #A3A3A3;
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
}
@media screen and (min-width: 1025px) {
  .p-feature_point_body {
    gap: 1rem;
  }
}

.p-feature_point_heading p {
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.58;
}
@media screen and (min-width: 1025px) {
  .p-feature_point_heading p {
    font-size: 2.4rem;
  }
}

.p-feature_point_item p {
  line-height: 2;
}
.p-feature_point_item p::before {
  content: "・";
}

.p-feature_images {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.p-feature_image img {
  width: 100%;
  aspect-ratio: 318/212;
}
@media screen and (min-width: 1025px) {
  .p-feature_image.image1 img {
    width: 48rem;
    aspect-ratio: 480/320;
  }
}
@media screen and (min-width: 1025px) {
  .p-feature_image.image2 img {
    width: 30.2rem;
    aspect-ratio: 302/201;
  }
}

.p-feature_installationArea {
  margin-top: 8rem;
  padding-bottom: 6.4rem;
}
@media screen and (min-width: 1025px) {
  .p-feature_installationArea {
    margin-top: 16rem;
    padding-bottom: 12rem;
  }
}

@media screen and (min-width: 1025px) {
  .l-installation_inner {
    max-width: 100.8rem;
  }
}

.p-feature_installation_head {
  margin-top: 6.2rem;
}
@media screen and (min-width: 1025px) {
  .p-feature_installation_head {
    margin-top: 7.9rem;
  }
}

.p-feature_installation_explain {
  margin-top: 3.2rem;
  display: flex;
  flex-direction: column;
  gap: 4.1rem;
}
@media screen and (min-width: 1025px) {
  .p-feature_installation_explain {
    margin-top: 4rem;
    gap: 3.3rem;
  }
}

.p-feature_installation_explainGroup {
  display: flex;
  flex-direction: column;
  gap: 1.9rem;
}

.p-feature_installation_explainHeading p {
  font-size: 2rem;
  font-weight: 500;
  line-height: 2;
}
.p-feature_installation_explainHeading p::before {
  content: "■ ";
}

.p-feature_installation_explainImages-sp {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
@media screen and (min-width: 1025px) {
  .p-feature_installation_explainImages-sp {
    display: none;
  }
}
.p-feature_installation_explainImages-sp picture {
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}
.p-feature_installation_explainImages-sp img {
  width: 100%;
}
.p-feature_installation_explainImages-sp img.smallImg {
  width: 30rem;
}

.p-feature_installation_explainImage-pc {
  display: none;
}
@media screen and (min-width: 1025px) {
  .p-feature_installation_explainImage-pc {
    display: block;
  }
}

.l-price {
  padding-top: 7.9rem;
  background: #F6F6F6;
}
@media screen and (min-width: 1025px) {
  .l-price {
    padding-top: 12.1rem;
  }
}

.p-price_head {
  margin-top: 4.5rem;
}
@media screen and (min-width: 1025px) {
  .p-price_head {
    margin-top: 6.1rem;
  }
}
.p-price_head p {
  font-size: 1.8rem;
  line-height: 1.7778;
}
@media screen and (min-width: 1025px) {
  .p-price_head p {
    text-align: center;
    font-size: 2.4rem;
    line-height: 1.6667;
  }
}

.p-price_rentalArea {
  margin-top: 4.8rem;
}
@media screen and (min-width: 1025px) {
  .p-price_rentalArea {
    margin-top: 4.6rem;
  }
}

.p-price_rentalHeading {
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  padding-left: 2.4rem;
}
@media screen and (min-width: 1025px) {
  .p-price_rentalHeading {
    padding-left: 0;
  }
}
.p-price_rentalHeading p {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (min-width: 1025px) {
  .p-price_rentalHeading p {
    flex-direction: row;
    gap: 0.8rem;
  }
}
.p-price_rentalHeading p .amidow {
  font-family: "Nunito Sans", sans-serif;
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.14;
}
@media screen and (min-width: 1025px) {
  .p-price_rentalHeading p .amidow {
    line-height: 2.3929;
  }
}
.p-price_rentalHeading p .ja {
  font-size: 2.4rem;
  font-weight: 600;
  line-height: 1.6667;
}

.p-price_rentalTableArea {
  margin-top: 2.2rem;
  overflow-x: scroll;
  margin-inline: -2.4rem;
}
@media screen and (min-width: 1025px) {
  .p-price_rentalTableArea {
    margin-top: 0.5rem;
    overflow-x: auto;
    margin-inline: 0;
  }
}

.p-price_table {
  margin-inline: 2.4rem;
  border-collapse: collapse;
  border: 0.1rem solid #ACACAC;
}
@media screen and (min-width: 1025px) {
  .p-price_table {
    width: 100%;
    max-width: 96rem;
    margin-inline: auto;
  }
}
.p-price_table thead th {
  border: 0.1rem solid #ACACAC;
  text-align: center;
  vertical-align: middle;
}
.p-price_table thead th.greenBg, .p-price_table thead th.pinkBg {
  height: 4rem;
  color: #FFFFFF;
  white-space: nowrap;
  padding-inline: 3.2rem;
}
@media screen and (min-width: 1025px) {
  .p-price_table thead th.greenBg, .p-price_table thead th.pinkBg {
    padding-inline: 0;
  }
}
.p-price_table thead th.greenLightBg, .p-price_table thead th.pinkLightBg {
  width: 19.1rem;
  height: 3rem;
  font-size: 1.4rem;
  font-weight: 600;
}
.p-price_table thead th.greenBg {
  background: #5F99A2;
}
.p-price_table thead th.pinkBg {
  background: #AB86B2;
}
.p-price_table thead th.greenLightBg {
  background: #D3E4E6;
}
.p-price_table thead th.pinkLightBg {
  background: #E7DDE9;
}
.p-price_table tbody tr:nth-child(2n+1) td {
  background: #FFFFFF;
}
.p-price_table tbody tr:nth-child(2n) td {
  background: #E4E4E4;
}
.p-price_table tbody td {
  border: 0.1rem solid #ACACAC;
  padding-right: 2rem;
  text-align: right;
  font-size: 2rem;
  font-weight: 600;
}
.p-price_table .leftHead {
  background: #6C6C6C;
  text-align: center;
  color: #FFFFFF;
  white-space: nowrap;
  padding: 1.6rem 1.1rem 1.15rem;
}
.p-price_table tr:not(:last-child) .leftHead {
  border-bottom: 0.1rem solid #EEEEEE;
}

.p-price_simulation {
  margin-top: 6.4rem;
}
@media screen and (min-width: 1025px) {
  .p-price_simulation {
    margin-top: 12rem;
    max-width: 96rem;
    margin-inline: auto;
  }
}

.p-price_simulation_heading p {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.4444;
}
@media screen and (min-width: 1025px) {
  .p-price_simulation_heading p {
    font-size: 2.3rem;
  }
}
.p-price_simulation_heading p::before {
  content: "■";
}

.p-price_simulation_cards {
  margin-top: 2.3rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3.1rem;
}
@media screen and (min-width: 1025px) {
  .p-price_simulation_cards {
    margin-top: 4rem;
    flex-direction: row;
    align-items: stretch;
    gap: 3rem;
  }
}
.p-price_simulation_cards li {
  width: 100%;
  max-width: 30rem;
}

.p-psCard {
  border: 0.1rem solid #ACACAC;
  width: 100%;
}

.p-psCard_head {
  background: #6C6C6C;
  color: #FFFFFF;
  padding: 1.4rem 0 1.9rem;
  display: flex;
  width: 100%;
}

.p-psCard_head_alphabetArea {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-left: 1rem;
  padding-right: 1.2rem;
  border-right: 0.1rem solid #ACACAC;
}
.p-psCard_head_alphabetArea .case {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.6;
}
.p-psCard_head_alphabetArea .alphabet {
  font-size: 3.8rem;
  font-weight: 500;
  line-height: 1.2;
}

.p-psCard_head_textArea {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  flex-grow: 1;
}
.p-psCard_head_textArea .textMain {
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.4;
}
.p-psCard_head_textArea .small {
  font-size: 1.2rem;
  font-weight: 500;
}
.p-psCard_head_textArea .size {
  margin-top: 0.8rem;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1;
}

.p-psCard_label {
  border-top: 0.1rem solid #ACACAC;
  border-bottom: 0.1rem solid #ACACAC;
  padding-top: 0.8rem;
  padding-bottom: 0.6rem;
  background: #E4E4E4;
}
.p-psCard_label p {
  text-align: center;
  font-size: 1.4rem;
  font-weight: 600;
}

.p-psCard_main {
  padding-top: 2.6rem;
  background: #FFFFFF;
  height: 36rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.p-psCard_main p {
  text-align: center;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.5556;
}
.p-psCard_main p.lh11 {
  line-height: 1.1;
}

.p-psCard_mainImage {
  flex-grow: 1;
  display: grid;
  place-items: center;
}
.p-psCard_mainImage.image1 img {
  width: 10.1rem;
  aspect-ratio: 101/151;
}
.p-psCard_mainImage.image2 img {
  width: 19.5rem;
  aspect-ratio: 195/105;
}
.p-psCard_mainImage.image3 img {
  width: 18rem;
  aspect-ratio: 180/231;
}

.p-psCard_priceBox {
  display: flex;
  flex-direction: column;
  align-items: center;
  background: #FFFFFF;
  padding-top: 2rem;
  padding-bottom: 1.6rem;
}
.p-psCard_priceBox:nth-child(2) {
  border-top: 0.1rem solid #E1E1E1;
}
.p-psCard_priceBox .price {
  font-size: 2rem;
  font-weight: 600;
}

.p-price_simulation_note {
  margin-top: 1.5rem;
}
.p-price_simulation_note p {
  font-size: 1.3rem;
  line-height: 1.5385;
}
@media screen and (min-width: 1025px) {
  .p-price_simulation_note p {
    font-size: 1.4rem;
    line-height: 1.5714;
  }
}

.l-spec {
  padding-top: 8rem;
  padding-bottom: 6.1rem;
  background: #F6F6F6;
}
@media screen and (min-width: 1025px) {
  .l-spec {
    padding-top: 12rem;
    padding-bottom: 11.9rem;
  }
}

.l-spec_inner {
  padding-inline: 0;
}
@media screen and (min-width: 1025px) {
  .l-spec_inner {
    padding-inline: 2.4rem;
  }
}

.p-spec_tableArea {
  margin-top: 4.8rem;
  overflow-x: scroll;
}
@media screen and (min-width: 1025px) {
  .p-spec_tableArea {
    margin-top: 6.4rem;
    overflow-x: auto;
    margin-inline: 0;
    display: flex;
    gap: 4.8rem;
  }
}

.p-spec_table {
  border-collapse: collapse;
  table-layout: fixed;
  margin-inline: 2.4rem;
  border: 0.1rem solid #CCCCCC;
}
@media screen and (min-width: 1025px) {
  .p-spec_table {
    margin-inline: 0;
  }
}
.p-spec_table thead {
  background: #6C6C6C;
}
.p-spec_table thead th:nth-child(n+2) {
  height: 4.6rem;
  border-left: 0.1rem solid #CCCCCC;
  color: #FFFFFF;
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1.1111;
  vertical-align: middle;
}
.p-spec_table tbody tr:nth-child(2n+1) {
  background: #FFFFFF;
}
.p-spec_table tbody tr:nth-child(2n) {
  background: #E4E4E4;
}
.p-spec_table tbody td {
  padding: 0.8rem 4.2rem 0.84rem;
  border-left: 0.1rem solid #CCCCCC;
  text-align: center;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.4;
  white-space: nowrap;
}
@media screen and (min-width: 1025px) {
  .p-spec_table tbody td {
    padding: 0.8rem 4.25rem 0.84rem 4.3rem;
  }
}
.p-spec_table .leftHead {
  padding-left: 1.6rem;
  padding-right: 2.6rem;
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 1;
  text-align: left;
  white-space: nowrap;
}

.p-spec_image-pc {
  display: none;
}
@media screen and (min-width: 1025px) {
  .p-spec_image-pc {
    display: block;
  }
}
.p-spec_image-pc img {
  width: 100%;
  max-width: 16rem;
  aspect-ratio: 160/463;
}

.l-flow {
  padding-top: 9.1rem;
  padding-bottom: 8.85rem;
  background: #3C3C3C;
}
@media screen and (min-width: 1025px) {
  .l-flow {
    padding-top: 12.2rem;
    padding-bottom: 12rem;
  }
}

@media screen and (min-width: 1025px) {
  .p-flow_title {
    gap: 0.9rem;
  }
}
.p-flow_title p {
  font-size: 5.6rem;
}
@media screen and (min-width: 1025px) {
  .p-flow_title p {
    font-size: 10rem;
    letter-spacing: -0.04rem;
  }
}
.p-flow_title h2 {
  letter-spacing: 0.2rem;
}
@media screen and (min-width: 1025px) {
  .p-flow_title h2 {
    letter-spacing: normal;
  }
}

.p-flow_list {
  margin-top: 8.8rem;
  display: flex;
  flex-direction: column;
  justify-content: stretch;
  gap: 5.72rem;
}
@media screen and (min-width: 1025px) {
  .p-flow_list {
    margin-top: 8.7rem;
    gap: 6.4rem;
    width: 100%;
    max-width: 80rem;
    margin-inline: auto;
  }
}

.p-flow_step {
  background: #F3F3F3;
  padding: 1rem 2rem 1.4rem;
  display: flex;
  gap: 1.4rem;
  position: relative;
}
@media screen and (min-width: 1025px) {
  .p-flow_step {
    padding: 1.6rem 4rem 2rem 3.4rem;
    gap: 2.4rem;
  }
}
@media screen and (min-width: 1025px) {
  .p-flow_step:nth-child(n+2) {
    padding-left: 3.2rem;
  }
}
@media screen and (min-width: 1025px) {
  .p-flow_step:nth-child(n+2) .p-flow_stepHeadArea {
    width: 17.9rem;
  }
}
.p-flow_step::after {
  content: "";
  position: absolute;
  bottom: -3.6rem;
  left: 50%;
  transform: translateX(-50%);
  width: 3.2rem;
  aspect-ratio: 2/1;
  clip-path: polygon(0 0, 50% 100%, 100% 0);
  background: #9C9C9C;
}
@media screen and (min-width: 1025px) {
  .p-flow_step::after {
    bottom: -4rem;
  }
}
.p-flow_step:last-child::after {
  display: none;
}

.p-flow_stepHeadArea {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}
@media screen and (min-width: 1025px) {
  .p-flow_stepHeadArea {
    width: 17.7rem;
    flex-direction: row;
    justify-content: space-between;
  }
}

.p-flow_stepNumber {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  padding-bottom: 0.2rem;
  border-bottom: 0.1rem solid #CCCCCC;
}
@media screen and (min-width: 1025px) {
  .p-flow_stepNumber {
    flex-direction: column;
    padding-bottom: 0;
    border-bottom: 0;
  }
}
.p-flow_stepNumber .step,
.p-flow_stepNumber .num {
  font-family: "Oswald", sans-serif;
  line-height: 1.5;
}
@media screen and (min-width: 1025px) {
  .p-flow_stepNumber .step,
  .p-flow_stepNumber .num {
    line-height: 1;
  }
}
@media screen and (min-width: 1025px) {
  .p-flow_stepNumber .step {
    font-size: 1.8rem;
  }
}
.p-flow_stepNumber .num {
  font-size: 2.4rem;
}
@media screen and (min-width: 1025px) {
  .p-flow_stepNumber .num {
    font-size: 4.8rem;
  }
}

@media screen and (min-width: 1025px) {
  .p-flow_stepIcon {
    margin-top: 0.4rem;
    padding-left: 2.5rem;
    border-left: 0.1rem solid #CCCCCC;
  }
}
.p-flow_stepIcon img {
  width: 4.8rem;
  aspect-ratio: 1/1;
}
@media screen and (min-width: 1025px) {
  .p-flow_stepIcon img {
    width: 8rem;
  }
}

.p-flow_stepBody {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  padding-top: 0.6rem;
}
@media screen and (min-width: 1025px) {
  .p-flow_stepBody {
    padding-top: 0.4rem;
    width: calc(100% - 2.4rem - 17.7rem);
  }
}

.p-flow_stepHeading h3 {
  font-weight: 700;
  line-height: 1.5;
}

.p-flow_stepText p {
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1.54;
}

.l-faq {
  padding-top: 8.2rem;
  padding-bottom: 6.5rem;
  background: #F6F6F6;
}
@media screen and (min-width: 1025px) {
  .l-faq {
    padding-top: 12.5rem;
    padding-bottom: 31.7rem;
  }
}

.p-faq_title {
  gap: 0.6rem;
}
@media screen and (min-width: 1025px) {
  .p-faq_title {
    gap: 0.9rem;
  }
}
.p-faq_title p {
  font-size: 5.4rem;
}
@media screen and (min-width: 1025px) {
  .p-faq_title p {
    font-size: 9.8rem;
    letter-spacing: -0.04rem;
  }
}
.p-faq_title h2 {
  letter-spacing: 0.2rem;
}
@media screen and (min-width: 1025px) {
  .p-faq_title h2 {
    letter-spacing: normal;
  }
}

.p-faq_list {
  margin-top: 4.9rem;
  display: flex;
  flex-direction: column;
  gap: 2.93rem;
}
@media screen and (min-width: 1025px) {
  .p-faq_list {
    margin-top: 9rem;
    width: 100%;
    max-width: 80rem;
    margin-inline: auto;
    gap: 3.36rem;
  }
}

.p-faq_item {
  background: #FFFFFF;
  padding: 2.3rem 1.5rem 2.1rem;
  border: 0.1rem solid #E3E3E3;
  border-radius: 1.6rem;
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
@media screen and (min-width: 1025px) {
  .p-faq_item {
    padding: 3rem 5.4rem 3.1rem 5.6rem;
    gap: 2rem;
  }
}

.p-faq_itemQ,
.p-faq_itemA {
  display: flex;
  gap: 1.2rem;
}
@media screen and (min-width: 1025px) {
  .p-faq_itemQ,
  .p-faq_itemA {
    gap: 1.9rem;
  }
}

.p-faq_itemQ {
  padding-bottom: 1.5rem;
  border-bottom: 0.1rem solid #E3E3E3;
}
@media screen and (min-width: 1025px) {
  .p-faq_itemQ {
    padding-bottom: 1.9rem;
  }
}

.p-faq_itemIcon {
  width: 3.2rem;
  height: 3.2rem;
  flex-shrink: 0;
  border-radius: 50%;
  display: grid;
  place-items: center;
}
.p-faq_itemIcon.question {
  background: #747474;
}
.p-faq_itemIcon.answer {
  background: #111111;
}
.p-faq_itemIcon p {
  color: #FFFFFF;
  font-family: "Oswald", sans-serif;
  font-size: 2rem;
  line-height: 1.5;
}

.p-faq_itemText {
  flex-grow: 1;
}
.p-faq_itemText.question {
  padding-top: 0.3rem;
}
.p-faq_itemText.question p {
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1.55;
}
@media screen and (min-width: 1025px) {
  .p-faq_itemText.answer {
    padding-top: 0.3rem;
  }
}
.p-faq_itemText.answer p {
  line-height: 1.63;
}

.l-footer {
  position: relative;
}

.p-ctaArea {
  padding-top: 3.9rem;
  padding-bottom: 4rem;
  background: #111111;
}
@media screen and (min-width: 1025px) {
  .p-ctaArea {
    position: absolute;
    z-index: 15;
    top: -155px;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    max-width: 104rem;
    padding-top: 0;
    padding-bottom: 0;
    display: flex;
  }
}

.p-cta_head {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
}
.p-cta_head::before, .p-cta_head::after {
  content: "";
  position: absolute;
  width: 0.1rem;
  height: 5rem;
  top: 0.2rem;
  background: #FFFFFF;
}
@media screen and (min-width: 1025px) {
  .p-cta_head::before, .p-cta_head::after {
    top: -0.2rem;
    height: 7rem;
  }
}
.p-cta_head::before {
  left: 3.3rem;
  transform: rotate(-24deg);
}
@media screen and (min-width: 1025px) {
  .p-cta_head::before {
    left: -4.1rem;
  }
}
.p-cta_head::after {
  right: 3.3rem;
  transform: rotate(24deg);
}
@media screen and (min-width: 1025px) {
  .p-cta_head::after {
    right: -4.1rem;
  }
}
.p-cta_head .firstLine,
.p-cta_head .secondLine {
  color: #FFFFFF;
  letter-spacing: 0.04rem;
}
.p-cta_head .firstLine {
  font-size: 1.3rem;
  line-height: 1.79;
  letter-spacing: normal;
}
@media screen and (min-width: 1025px) {
  .p-cta_head .firstLine {
    font-size: 1.6rem;
  }
}
.p-cta_head .secondLine {
  font-size: 2.2rem;
  font-weight: 500;
  line-height: 1.09;
}
@media screen and (min-width: 1025px) {
  .p-cta_head .secondLine {
    font-size: 2.8rem;
  }
}

.p-cta_image {
  margin-top: 2rem;
}
@media screen and (min-width: 1025px) {
  .p-cta_image {
    margin-top: 0;
  }
}
.p-cta_image img {
  width: 100%;
  aspect-ratio: 390/228;
}
@media screen and (min-width: 1025px) {
  .p-cta_image img {
    width: 46.8rem;
    aspect-ratio: 468/280;
  }
}

@media screen and (min-width: 1025px) {
  .p-cta_pcBody {
    flex-grow: 1;
    padding: 3.5rem 3rem 3.5rem 4rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
  }
}

.p-cta_buttons {
  margin-top: 2rem;
  width: 100%;
  max-width: 35rem;
  margin-inline: auto;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1.6rem 1.4rem;
}
@media screen and (min-width: 1025px) {
  .p-cta_buttons {
    max-width: 46.8rem;
    gap: 1.2rem 2rem;
  }
}

.p-cta_button .c-buttonInner {
  width: 16.8rem;
  height: 5.2rem;
  border-radius: 3.6rem;
}
@media screen and (min-width: 1025px) {
  .p-cta_button .c-buttonInner {
    width: 22.4rem;
    border-radius: 4rem;
  }
}
@media screen and (min-width: 1025px) and (max-width: 1040px) {
  .p-cta_button .c-buttonInner {
    width: 22rem;
  }
}
@media screen and (min-width: 1025px) {
  .p-cta_button .c-buttonInner p {
    font-size: 1.6rem;
  }
}

.p-copyrightArea {
  padding-top: 3.2rem;
  padding-bottom: 4.8rem;
  background: #3C3C3C;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.8rem;
}
@media screen and (min-width: 1025px) {
  .p-copyrightArea {
    padding-top: 15.7rem;
    padding-bottom: 8rem;
  }
}
.p-copyrightArea small {
  color: #888888;
  font-size: 1.2rem;
  line-height: 1.42;
}