@charset "UTF-8";
html {
  width: 100%;
  font-size: 1vw;
  overflow-x: hidden;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  width: 100%;
  margin: 0;
  padding: 0;
  font-family: "Zen Kaku Gothic New";
  background-color: #FFFFFF;
  font-size: clamp(16px, 1.6rem, 20px);
  color: #121212;
  line-height: 1.485;
  overflow-x: hidden;
}

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

h1, h2, h3, h4, h5, p, figure {
  margin: 0;
  padding: 0;
  font-size: inherit;
}

ul, ol {
  list-style-type: none;
}

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

.l-container {
  display: block;
  height: 96px;
  z-index: 100;
}

.l-header {
  position: fixed;
  top: 0;
  width: 100%;
  height: 812px;
  overflow-y: auto;
  display: block;
  margin: 0 auto;
  justify-content: space-between;
  background-color: #F4F0E5;
  left: 100%;
  z-index: 9999;
  transition: all 0.2s 0s ease;
}

.l-header.is-open {
  left: 0%;
  height: 100%;
}

body.is-open {
  position: fixed;
  overflow: hidden;
}

.l-header__nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: auto;
  margin-left: 30px;
  margin-top: 20px;
}

.l-nav {
  display: block;
  padding-left: 40px;
  padding-bottom: 80px;
  margin-top: 96px;
  color: #101C33;
  font-size: 18px;
}
.l-nav li {
  padding-bottom: 40px;
  font-weight: 500;
}
.l-nav li:nth-child(5),
.l-nav li:nth-child(6) {
  display: none;
}

/*   TB    */
@media screen and (min-width: 376px) and (max-width: 1200px) {
  .l-container {
    display: block;
    height: 62px;
    z-index: 100;
  }
  .l-header {
    position: fixed;
    top: 0;
    left: -100%;
    width: 100%;
    height: 64.4vh;
    overflow-y: auto;
    display: block;
    margin: 0 auto;
    justify-content: space-between;
    background-color: #F4F0E5;
    left: 100%;
    z-index: 9999;
    transition: all 0.2s 0s ease;
  }
  .l-header.is-open {
    left: 0%;
  }
  body.is-open {
    position: fixed;
    overflow: hidden;
  }
  .l-header__nav {
    display: flex;
    justify-content: space-between;
  }
  .l-header__logo img {
    width: 32vw;
    height: auto;
    margin-left: 30px;
    margin-top: 21px;
  }
  .l-nav {
    display: block;
    margin-top: 100px;
    color: #101C33;
    font-size: 18px;
  }
  .l-nav li:nth-child(5),
.l-nav li:nth-child(6) {
    display: none;
  }
}
/*   PC    */
@media screen and (min-width: 1201px) {
  .l-container {
    display: none;
  }
  .l-header {
    position: static;
    left: auto;
    display: flex;
    height: 90px;
    margin: 0 auto;
    justify-content: space-between;
    text-align: center;
    align-items: center;
    background-color: #ffffff;
  }
  .l-header__logo {
    margin-left: 8%;
  }
  .l-nav {
    margin-top: 24px;
    padding-bottom: 0;
    display: flex;
    margin-right: 11%;
    justify-content: space-between;
    color: #101C33;
    text-align: center;
    align-items: center;
    font-size: clamp(12px, 1rem, 18px);
  }
  .l-nav li {
    margin-left: -19%;
    height: 40px;
    padding-top: 8.5px;
    padding-bottom: 0;
  }
  .l-nav li:nth-child(5),
.l-nav li:nth-child(6) {
    display: block;
  }
}
@media screen and (min-width: 1360px) {
  .l-nav {
    font-size: 16px;
    font-weight: 500;
  }
}
.l-section {
  width: 100%;
  position: relative;
  margin: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding-top: 14px;
  padding-bottom: 20px;
  height: 470px;
}

@media screen and (min-width: 376px) and (max-width: 490px) {
  .l-section {
    min-height: 34vh;
    padding-top: 0;
    padding-bottom: 0;
    height: auto;
  }
}
@media screen and (min-width: 491px) and (max-width: 650px) {
  .l-section {
    min-height: 41vh;
    padding-top: 0;
    padding-bottom: 0;
    height: auto;
  }
}
@media screen and (min-width: 651px) and (max-width: 800px) {
  .l-section {
    justify-content: flex-start;
    min-height: 51vh;
    padding-top: 0;
    padding-bottom: 0px;
    height: auto;
  }
}
@media screen and (min-width: 801px) and (max-width: 1000px) {
  .l-section {
    justify-content: flex-start;
    min-height: 63vh;
    padding-top: 0;
    padding-bottom: 0px;
    height: auto;
  }
}
@media screen and (min-width: 1001px) and (max-width: 1200px) {
  .l-section {
    justify-content: flex-start;
    min-height: 63vh;
    padding-top: 0;
    padding-bottom: 0px;
    height: auto;
  }
}
@media screen and (min-width: 1201px) {
  .l-section {
    width: 100%;
    padding-top: 10px;
    position: relative;
    height: max(74.5vh, 720px);
    background-image: url("../img/bg-img.png");
    background-size: cover;
    background-position: top center;
    overflow: visible;
    z-index: 0;
    padding-bottom: 0px;
  }
}
@media screen and (min-width: 1440px) {
  .l-section {
    height: 774px;
    background-size: 84% auto;
    background-position: top left;
  }
}
/* 1700px */
@media screen and (min-width: 1700px) {
  .l-section {
    width: 85%;
  }
}
.l-process-section {
  position: relative;
  background-color: #F4F0E5;
  z-index: 0;
}

.l-process-section::before {
  content: "";
  background-image: url("../img/Vector_3.png");
  background-repeat: no-repeat;
  background-position: top center;
  position: absolute;
  top: 145px;
  left: 0;
  width: 100%;
  height: 1400px;
  z-index: -1;
}

@media screen and (min-width: 601px) {
  .l-process-section::before {
    background-image: url("../img/Vector 5.png");
    background-position: left;
    height: 1438px;
  }
}
.l-container__product {
  position: relative;
  width: 100%;
}

@media screen and (min-width: 601px) {
  .l-container__product {
    padding-top: 120px;
  }
}
@media screen and (min-width: 1340px) {
  .l-container__product {
    padding: 140px 0px;
    top: 0;
  }
}
.l-hero {
  background-color: #F4F0E5;
  position: relative;
  height: 407px;
}

@media screen and (min-width: 601px) {
  .l-hero {
    height: 600px;
  }
}
.l-footer {
  padding: 30px 12px;
  background-color: #101C33;
}

.l-footer__inner {
  justify-content: flex-start;
  display: flex;
  flex-direction: column;
  position: relative;
}

@media screen and (min-width: 601px) {
  .l-footer {
    height: 140px;
  }
  .l-footer__inner {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    height: 100%;
    position: relative;
  }
}
@media screen and (min-width: 1340px) {
  .l-footer {
    height: 160px;
  }
  .l-footer__inner {
    max-width: 1120px;
    margin: 0 auto;
    padding: 0 20px;
    height: 100%;
  }
}
.c-nav {
  display: flex;
  justify-content: space-between;
  position: relative;
  height: 96px;
  align-items: center;
}

.c-nav__item {
  width: 48px;
  height: auto;
  margin-left: 30px;
  margin-top: 35px;
}

.c-nav__itemLogo {
  display: none;
}

/*   TB    */
@media screen and (min-width: 376px) and (max-width: 1200px) {
  .c-nav {
    display: flex;
    justify-content: space-between;
    position: relative;
    height: auto;
    align-items: center;
  }
  .c-nav__item {
    width: 24.7vw;
    height: auto;
    margin-left: 30px;
    margin-top: 21px;
  }
}
@media screen and (min-width: 1201px) {
  .c-nav {
    display: none;
  }
  .c-nav__itemLogo--sp {
    display: none;
  }
  .c-nav__itemLogo {
    display: block;
    top: 21px;
    left: 30px;
  }
}
@media screen and (min-width: 768px) {
  .c-nav__itemLogo--sp {
    display: none;
  }
  .c-nav__itemLogo {
    display: block;
    top: 21px;
    left: 30px;
  }
}
/* SP */
.c-headBlock {
  display: flex;
  position: relative;
  align-items: center;
}

.c-headBlock__icon {
  width: 87.22px;
  position: relative;
}

.c-headBlock__texts {
  display: block;
  position: relative;
  left: -20px;
}
.c-headBlock__texts strong {
  color: #DE631B;
  font-family: "Inter";
  font-weight: 600;
  font-size: 14px;
}
.c-headBlock__texts h3 {
  font-family: "Zen Kaku Gothic New";
  font-weight: 700;
  font-size: 30px;
  color: #101C33;
}

.c-headBlock__service {
  margin-top: 100px;
  margin-bottom: 40px;
}

.c-headBlock--reviews {
  position: relative;
  top: 110px;
}
.c-headBlock--reviews strong {
  color: #D7CD23;
}
.c-headBlock--reviews h3 {
  color: #FFFFFF;
}

.c-headBlock__process {
  position: relative;
  padding-top: 80px;
}

@media screen and (min-width: 601px) {
  .c-headBlock {
    display: flex;
    align-items: center;
    max-width: 697px;
    padding-left: clamp(30px, 5%, 136px);
  }
  .c-headBlock__icon {
    width: 12vw;
    min-width: 125.35px;
    bottom: 0;
  }
  .c-headBlock__texts {
    display: block;
    position: relative;
    left: -2%;
  }
  .c-headBlock__texts strong {
    color: #DE631B;
    font-family: "Inter";
    font-weight: 600;
    font-size: clamp(1.8rem, 23px, 2.8rem);
  }
  .c-headBlock__texts h3 {
    font-family: "Zen Kaku Gothic New";
    font-weight: 700;
    font-size: clamp(32px, 6.8vw, 52px);
    color: #101C33;
  }
  .c-headBlock__service {
    margin-bottom: 40px;
  }
  .c-headBlock--reviews {
    position: relative;
  }
  .c-headBlock--reviews strong {
    color: #D7CD23;
  }
  .c-headBlock--reviews h3 {
    color: #FFFFFF;
  }
  .c-headBlock__process {
    position: relative;
    padding-top: 204px;
  }
}
@media screen and (min-width: 1340px) {
  .c-headBlock {
    display: flex;
    align-items: center;
    max-width: 950px;
    margin: 0 auto;
    position: relative;
    left: -13%;
  }
  .c-headBlock__icon {
    width: 140.63px;
  }
  .c-headBlock__icon--reviews svg {
    width: 100%;
    height: auto;
  }
  .c-headBlock__texts {
    display: block;
    position: relative;
    left: -1%;
  }
  .c-headBlock__texts strong {
    color: #DE631B;
    font-family: "Inter";
    font-weight: 600;
    font-size: 24px;
  }
  .c-headBlock__texts h3 {
    font-family: "Zen Kaku Gothic New";
    font-weight: 700;
    font-size: 52px;
    color: #101C33;
  }
  .c-headBlock--reviews {
    position: relative;
  }
  .c-headBlock--reviews strong {
    color: #D7CD23;
  }
  .c-headBlock--reviews h3 {
    color: #FFFFFF;
  }
}
.c-box {
  width: 100%;
  background-color: #ffffff;
  height: 100px;
  position: relative;
  z-index: 1000;
}

.c-point-label {
  align-items: center;
  gap: 8px;
  padding: 6px 0px;
  font-family: "Fuzzy Bubbles";
  font-size: 18px;
  color: #000000;
  margin-bottom: 8px;
}

.c-point-title {
  font-size: 18px;
}

.c-point-number {
  font-size: 20px;
  position: relative;
  left: 7px;
  top: 3px;
  z-index: 1;
}

.c-point__img {
  width: 48px;
  position: relative;
  left: -38px;
  opacity: 0.8;
}

@media screen and (min-width: 601px) and (max-width: 1339px) {
  .c-point-label {
    align-items: center;
    gap: 8px;
    font-family: "Fuzzy Bubbles";
    font-size: 18px;
    color: #000000;
    margin-bottom: 8px;
  }
  .c-point-title {
    font-size: 18px;
  }
  .c-point-number {
    font-size: 20px;
    position: relative;
    left: 7px;
    top: 3px;
  }
  .c-point__img {
    width: 48px;
    position: relative;
    left: -38px;
    opacity: 0.8;
  }
}
@media screen and (min-width: 1340px) {
  .c-point-label {
    align-items: center;
    gap: 8px;
    font-family: "Fuzzy Bubbles";
    font-size: 18px;
    color: #000000;
    margin-bottom: 8px;
  }
  .c-point-title {
    font-size: 24px;
  }
  .c-point-number {
    font-size: 26px;
    position: relative;
    left: 17px;
    top: 7px;
  }
  .c-point__img {
    width: 60px;
    position: relative;
    left: -38px;
    opacity: 0.8;
  }
}
@media screen and (max-width: 600px) {
  .c-service__triangle {
    display: none;
  }
}
@media screen and (min-width: 601px) and (max-width: 1339px) {
  .c-service__triangle {
    display: none;
  }
}
@media screen and (min-width: 1340px) {
  .c-service__triangle {
    width: 301.41px;
  }
  .c-service__triangle1 {
    position: absolute;
    right: 0;
    top: 30vh;
    height: 365.22px;
  }
  .c-service__triangle2 {
    position: absolute;
    left: 0;
    bottom: 2vh;
    height: 337.22px;
  }
}
@media screen and (max-width: 600px) {
  /* 中のコンテンツ */
  .c-pricing-card {
    display: grid;
    color: #333;
    width: 300px;
    padding: 16px;
    height: 495px;
    margin: 0 auto;
    z-index: 10000;
    position: relative;
    background-color: #ffffff;
    border-radius: 30px;
  }
  .c-pricing-card strong {
    font-weight: 700;
    font-size: 28px;
    color: #DE631B;
  }
  .c-pricing-card ul {
    display: inline-block;
    background-color: #101C33;
    padding: 6px 10px;
    font-size: 14px;
    width: 264px;
    height: 78px;
    color: #ffffff;
    line-height: 1.2;
  }
  .c-pricing-card ul li {
    position: relative;
    padding-left: 1em;
    margin: 0.3em 0;
  }
  .c-pricing-card ul li::before {
    content: "•"; /* 黒丸 */
    position: absolute;
    padding-top: 3px;
    left: 4px;
    font-size: 0.6em;
    color: white;
    line-height: 1.4;
  }
  .c-card-title {
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 12px;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .c-cardText {
    padding: 8px;
    margin-bottom: 12px;
  }
  .c-price-label {
    font-weight: 400;
    text-align: center;
    padding: 12px 0;
  }
  .c-section__mark {
    font-size: 20px;
  }
  .c-section__bubble-wrapper p {
    font-size: 16px;
    padding: 8px;
    align-items: flex-start;
  }
  .c-section__bubble-img {
    height: 160px;
    display: block;
    margin: 0 auto 1rem auto;
  }
}
@media screen and (min-width: 601px) {
  /* 中のコンテンツ */
  .c-pricing-card {
    color: #333;
    width: 300px;
    padding: 16px;
    height: 495px;
    margin: 0 auto;
    z-index: 10000;
    position: relative;
    background-color: #ffffff;
    border-radius: 30px;
  }
  .c-pricing-card strong {
    font-weight: 700;
    font-size: 28px;
    color: #DE631B;
  }
  .c-pricing-card ul {
    display: inline-block;
    background-color: #101C33;
    padding: 6px 10px;
    font-size: 14px;
    width: 264px;
    height: 78px;
    color: #ffffff;
    line-height: 1.2;
  }
  .c-pricing-card ul li {
    position: relative;
    padding-left: 1em;
    margin: 0.3em 0;
  }
  .c-pricing-card ul li::before {
    content: "•"; /* 黒丸 */
    position: absolute;
    padding-top: 3px;
    left: 4px;
    font-size: 0.6em;
    color: white;
    line-height: 1.4;
  }
  .c-card-title {
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 12px;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .c-cardText {
    padding: 8px;
    margin-bottom: 12px;
    font-size: 16px;
  }
  .c-price-label {
    font-weight: 400;
    text-align: center;
    padding: 12px 0;
  }
  .c-section__mark {
    font-size: 20px;
  }
  .c-section__bubble-wrapper p {
    font-size: 16px;
    padding: 8px;
    align-items: flex-start;
  }
  .c-section__bubble-img {
    height: 160px;
    display: block;
    margin: 0 auto 1rem auto;
  }
}
@media screen and (min-width: 1340px) {
  /* 中のコンテンツ */
  .c-pricing-card {
    color: #333;
    width: 300px;
    padding: 16px;
    height: 495px;
    margin: 0 auto;
    z-index: 10000;
    position: relative;
    background-color: #ffffff;
    border-radius: 30px;
  }
  .c-pricing-card strong {
    font-weight: 700;
    font-size: 28px;
    color: #DE631B;
  }
  .c-pricing-card ul {
    display: inline-block;
    background-color: #101C33;
    padding: 6px 10px;
    font-size: 14px;
    width: 264px;
    height: 78px;
    color: #ffffff;
    line-height: 1.2;
  }
  .c-pricing-card ul li {
    position: relative;
    padding-left: 1em;
    margin: 0.3em 0;
  }
  .c-pricing-card ul li::before {
    content: "•"; /* 黒丸 */
    position: absolute;
    padding-top: 3px;
    left: 4px;
    font-size: 0.6em;
    color: white;
    line-height: 1.4;
  }
  .c-card-title {
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 12px;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .c-cardText {
    padding: 8px;
    margin-bottom: 4px;
    font-size: 16px;
  }
  .c-price-label {
    font-weight: 400;
    text-align: center;
    padding: 12px 0;
  }
  .c-section__mark {
    font-size: 20px;
  }
  .c-section__bubble-wrapper p {
    font-size: 16px;
    padding: 8px;
    align-items: flex-start;
  }
  .c-section__bubble-img {
    height: 160px;
    display: block;
    margin: 0 auto 1rem auto;
  }
}
.c-tag {
  display: inline-block;
  background-color: #E8E8E8;
  border-radius: 30px;
  padding: 4px 29px;
  font-size: 14px;
  font-weight: 500;
}

.c-divider {
  width: 100%;
  height: 2px;
  margin: 0;
  padding: 0;
  border: 0;
  background: repeating-linear-gradient(90deg, #DE631B, #D7CD23, #30ADCB);
}

.c-step-badge {
  align-items: center;
  position: absolute;
  margin-top: -11px;
  left: -25px;
  display: flex;
  font-family: "Fuzzy Bubbles";
  color: #FFFFFF;
}

.c-step-badge svg {
  height: 61.2px;
}

.c-step-number {
  font-size: 24px;
  position: relative;
  left: -64px;
  top: 2px;
}

.c-process {
  width: 340px;
  background-color: #FFFFFF;
  padding: 16px 12px 12px 20px;
  margin: 15px 0;
  border-radius: 10px;
}

.c-process__title {
  font-size: 24px;
  margin-bottom: 10px;
  padding-left: 43px;
}

@media screen and (min-width: 601px) {
  .c-process {
    width: 100%;
    max-width: clamp(200px, 40vw, 340px);
  }
}
@media screen and (min-width: 1340px) {
  .c-step-badge {
    margin-top: -27px;
    left: -54px;
  }
  .c-process {
    width: 450px;
    max-width: none;
    padding: 20px 40px;
  }
  .c-step-badge svg {
    height: 94px;
  }
  .c-step-number {
    font-size: 34px;
    left: -70px;
  }
  .c-process__title {
    font-size: 32px;
    padding-left: 32px;
  }
  .c-process__description {
    font-size: 16px;
  }
}
.c-footer-nav {
  flex-direction: column;
  gap: 20px;
  align-items: flex-start;
}

.c-footer-nav__link {
  font-size: 12px;
  font-weight: 400;
  color: #ffffff;
  padding-bottom: 12px;
}

.c-pagetop {
  position: absolute;
  right: 20px;
  width: 56px;
  height: 56px;
  bottom: 0;
}

.c-pagetop::before {
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-bottom: 12px solid #1a2942;
}

@media screen and (min-width: 601px) {
  .c-footer-nav__list {
    display: flex;
  }
  .c-footer-nav__item {
    margin-right: clamp(20px, 1em, 40px);
  }
  .c-footer-nav__link {
    font-size: clamp(14px, 1.6rem, 16px);
  }
}
@media screen and (min-width: 1340px) {
  .c-footer-nav__item {
    margin-right: 40px;
  }
}
body.is-loading {
  overflow: hidden;
}

.loading {
  position: fixed;
  inset: 0;
  background: #fff;
  display: grid;
  place-items: center;
  z-index: 9999;
}

.loading__container {
  width: 200px;
  height: 200px;
  position: relative;
  -webkit-animation: containerRotate 2.4s ease-in-out infinite;
          animation: containerRotate 2.4s ease-in-out infinite;
}

.tri {
  position: absolute;
  width: 44px;
  height: 50px;
  left: 50%;
  top: 50%;
  transform-box: fill-box;
  transform-origin: 45% 0%;
  opacity: 0;
  -webkit-animation: triAnim 2.4s ease-in-out forwards;
          animation: triAnim 2.4s ease-in-out forwards;
}

.tri path {
  fill: #101C33;
}

/* 青い三角形 */
.t1 path {
  fill: #4A90A4;
}

/* 各三角形の配置角度 */
.t1 {
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
  --angle: -72deg;
}

.t2 {
  -webkit-animation-delay: 0.1s;
          animation-delay: 0.1s;
  --angle: 0deg;
}

.t3 {
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
  --angle: 72deg;
}

.t4 {
  -webkit-animation-delay: 0.3s;
          animation-delay: 0.3s;
  --angle: 144deg;
}

.t5 {
  -webkit-animation-delay: 0.4s;
          animation-delay: 0.4s;
  --angle: 216deg;
}

@-webkit-keyframes containerRotate {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

@keyframes containerRotate {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@-webkit-keyframes triAnim {
  0% {
    opacity: 0;
    transform: translate(-50%, -50%) rotate(calc(var(--angle) + 180deg)) translate(80px, 0);
  }
  20% {
    opacity: 1;
    transform: translate(-50%, -50%) rotate(calc(var(--angle) + 180deg)) translate(80px, 0);
  }
  70% {
    opacity: 1;
    transform: translate(-50%, -50%) rotate(calc(var(--angle) + 180deg)) translate(35px, 0);
  }
  100% {
    opacity: 1;
    transform: translate(-50%, -50%) rotate(calc(var(--angle) + 180deg)) translate(0, 8px);
  }
}
@keyframes triAnim {
  0% {
    opacity: 0;
    transform: translate(-50%, -50%) rotate(calc(var(--angle) + 180deg)) translate(80px, 0);
  }
  20% {
    opacity: 1;
    transform: translate(-50%, -50%) rotate(calc(var(--angle) + 180deg)) translate(80px, 0);
  }
  70% {
    opacity: 1;
    transform: translate(-50%, -50%) rotate(calc(var(--angle) + 180deg)) translate(35px, 0);
  }
  100% {
    opacity: 1;
    transform: translate(-50%, -50%) rotate(calc(var(--angle) + 180deg)) translate(0, 8px);
  }
}
.loading.is-hidden {
  -webkit-animation: fadeOut 0.6s forwards;
          animation: fadeOut 0.6s forwards;
}

@-webkit-keyframes fadeOut {
  to {
    opacity: 0;
    visibility: hidden;
  }
}

@keyframes fadeOut {
  to {
    opacity: 0;
    visibility: hidden;
  }
}
.p-nav__tb {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  position: relative;
  gap: 40px;
}

.p-nav__wrapper {
  display: flex;
  justify-content: space-between;
  height: auto;
  background-color: #FFFFFF;
  padding: 2% 3%;
  border-radius: 48px;
  width: 80%;
  position: relative;
  align-items: center;
  box-sizing: border-box;
  border: 2px solid transparent;
  background-image: linear-gradient(#fff, #fff), linear-gradient(90deg, #DE631B, #D7CD23, #30ADCB);
  background-origin: border-box;
  background-clip: padding-box, border-box;
}

.p-nav__bubble {
  width: 100%;
  min-height: 48px;
}

.p-nav__wrapper P {
  padding-left: 7%;
  font-size: 16px;
  padding-bottom: 1px;
  font-weight: bold;
  color: #101C33;
}

.p-nav__wrapper svg {
  width: clamp(12px, 6%, 20px);
  height: auto;
  flex-shrink: 0;
}

@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-nav__tb {
    display: flex;
    flex-direction: row;
    margin-left: -5%;
    position: relative;
    flex-wrap: wrap;
  }
  .p-nav__wrapper {
    display: flex;
    justify-content: space-between;
    height: auto;
    background-color: #FFFFFF;
    padding: 2% 3%;
    border-radius: 48px;
    width: 39%;
    position: relative;
    align-items: center;
    box-sizing: border-box;
    border: 2px solid transparent;
    background-image: linear-gradient(#fff, #fff), linear-gradient(90deg, #DE631B, #D7CD23, #30ADCB);
    background-origin: border-box;
    background-clip: padding-box, border-box;
  }
  .p-nav__bubble {
    width: 100%;
    min-height: 48px;
    padding: 0 28px;
  }
  .p-nav__wrapper P {
    padding-left: 0%;
    padding-bottom: 1px;
    font-size: clamp(0.8rem, 16px, 3rem);
    font-weight: bold;
    color: #101C33;
  }
  .p-nav__wrapper svg {
    width: clamp(12px, 6%, 20px);
    height: auto;
    flex-shrink: 0;
  }
}
@media screen and (min-width: 1201px) {
  .p-nav__item--navy {
    display: flex;
    background-color: #101C33;
    border-radius: 50px;
    color: #ffffff;
    padding: 8.5px 20px;
    text-align: center;
    align-items: center;
  }
  .p-nav__item--navy img {
    position: relative;
    top: -2px;
  }
  .p-nav__item--aqua {
    position: relative;
    display: flex;
    background-color: #30ADCB;
    border-radius: 50px;
    color: #ffffff;
    padding: 8.5px 20px;
    text-align: center;
    align-items: center;
    left: -8px;
  }
  .p-nav__item--aqua a {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #fff;
    text-decoration: none;
  }
  .p-nav__img {
    width: 20px;
    height: auto;
    padding-left: 2%;
  }
  .p-hamburger {
    display: none;
  }
  .p-nav__tb {
    display: none;
  }
  .p-nav__wrapper {
    display: flex;
    justify-content: space-between;
    height: auto;
    background-color: #FFFFFF;
    padding: 2% 3%;
    border-radius: 48px;
    width: 39%;
    position: relative;
    align-items: center;
    box-sizing: border-box;
    border: 2px solid transparent;
    background-image: linear-gradient(#fff, #fff), linear-gradient(90deg, #DE631B, #D7CD23, #30ADCB);
    background-origin: border-box;
    background-clip: padding-box, border-box;
  }
  .p-nav__bubble {
    width: 100%;
    min-height: 48px;
    padding: 0 28px;
  }
  .p-nav__wrapper p {
    padding-bottom: 1px;
    font-size: 16px;
    font-weight: 700;
    color: #101C33;
  }
  .p-nav__wrapper svg {
    width: clamp(12px, 6%, 20px);
    height: auto;
    flex-shrink: 0;
  }
}
@media screen and (min-width: 1440px) {
  .p-nav__wrapper P {
    font-size: 20px;
  }
  .p-nav__bubble {
    height: 70px;
  }
  .p-nav__wrapper {
    border-radius: 35px;
  }
}
.p-section__bubble {
  display: none;
}

.p-section-container {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: -1;
  background-position: right 18vw bottom 47vh;
}

.p-section__bg {
  content: url("../img/bg-img_sp.png");
  width: 100%;
  position: absolute;
  left: 0;
  z-index: 0;
  height: initial;
}

.p-section__art {
  position: relative;
  width: 100%;
  max-width: 375px;
  aspect-ratio: 375/350;
}

.p-section__triangles {
  width: 80%;
  min-width: 290px;
  position: relative;
  z-index: auto;
  top: 230px;
}

.p-section__triangles img {
  width: 100%;
  height: auto;
  display: block;
}

.p-section__item-wrap {
  position: absolute;
  transition: z-index 0s, transform 0.3s ease;
}

.p-section__item-wrap--1 {
  width: 28%;
  min-width: 80px;
  left: 32%;
  top: -119%;
  z-index: 1000;
}

.p-section__item-wrap--2 {
  width: 38%;
  left: 1%;
  top: -103%;
  z-index: 1000;
  min-width: 100px;
}

.p-section__item-wrap--3 {
  right: -12%;
  top: -21%;
  z-index: 1500;
  width: 37%;
  min-width: 105px;
  z-index: 1500;
}

.p-section__item-wrap--4 {
  left: 24%;
  top: 15%;
  width: 28%;
  min-width: 116px;
  z-index: 1000;
}

.p-section__item-wrap--5 {
  width: 26%;
  right: 15%;
  top: -84%;
  min-width: 75px;
  z-index: 1000;
}

.is-hide-sp {
  display: none;
}

/* それぞれのアイテムを絶対配置 */
.p-section__item {
  width: 100%;
  height: auto;
}

.p-section__item-img {
  position: relative;
}

.p-section__title {
  position: absolute;
  top: -4%;
  right: 3%;
  z-index: 1000;
  line-height: 1.3;
  box-sizing: border-box;
}
.p-section__title .p-section__line {
  display: inline-block;
  border-radius: 20px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: clamp(7rem, 28px, 10rem);
  font-weight: bold;
  color: #101C33;
  white-space: nowrap;
}
.p-section__title .p-section__title h1 {
  margin: 0;
  padding: 0;
}

.p-section__message {
  font-size: clamp(14px, 4.5rem, 16px);
  font-weight: 500;
  position: absolute;
  width: 86.4%;
  z-index: 1500;
  padding: 2% 2%;
  background-color: rgba(255, 255, 255, 0.8);
  border-radius: 15px;
  color: #101C33;
  line-height: 1.2;
  margin: 21.7px 0 0 2vw;
  bottom: 10px;
}

@media screen and (min-width: 376px) and (max-width: 1200px) {
  .p-section-container {
    position: relative;
    width: 100%;
    height: 70%;
    z-index: -1;
    background-position: right 18vw bottom 47vh;
    margin-top: 38px;
  }
  .p-section__bg {
    content: url("../img/bg-img_tb.png");
    width: 100%;
    position: absolute;
    left: 0;
    z-index: 0;
    height: initial;
  }
  .p-section__art {
    position: relative;
    width: 100%;
    max-width: 1200px;
    aspect-ratio: 590/354;
  }
  .p-section__triangles {
    top: 260px;
    width: clamp(290.46px, 61vw, 468.95px);
    min-width: 290px;
    position: relative;
    z-index: auto;
    left: 6%;
  }
  .p-section__triangles img {
    width: 100%;
    height: auto;
    display: block;
  }
  .p-section__item-wrap {
    position: absolute;
    transition: z-index 0s, transform 0.3s ease;
  }
  .p-section__item-wrap--1 {
    width: 28%;
    min-width: 80px;
    left: 32%;
    top: -120%;
    z-index: 1000;
  }
  .p-section__item-wrap--2 {
    width: 39%;
    left: 0%;
    top: -108%;
    z-index: 1000;
    min-width: 100px;
  }
  .p-section__item-wrap--3 {
    right: -18%;
    top: -30%;
    z-index: 1500;
    width: 39%;
    min-width: 105px;
    z-index: 1500;
  }
  .p-section__item-wrap--4 {
    left: 24%;
    top: 15%;
    width: 40%;
    min-width: 116px;
    z-index: 1000;
  }
  .p-section__item-wrap--5 {
    width: 30%;
    right: 11%;
    top: -100%;
    min-width: 75px;
    z-index: 1000;
  }
  .is-hide-sp {
    display: none;
  }
  /* それぞれのアイテムを絶対配置 */
  .p-section__item {
    width: 100%;
    height: auto;
  }
  .p-section__item-img {
    position: relative;
  }
  .p-section__title {
    position: absolute;
    top: 0%;
    right: 0%;
    z-index: 1000;
    padding: 10px 20px;
    line-height: 1.3;
    width: 32.2%;
  }
  .p-section__title .p-section__line {
    display: inline-block;
    border-radius: 20px;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-size: clamp(12px, 4rem, 40px);
    font-weight: bold;
    color: #101C33;
    white-space: nowrap;
  }
  .p-section__title .p-section__title h1 {
    margin: 0;
    padding: 0;
  }
}
@media screen and (min-width: 1201px) {
  .p-section-container {
    position: relative;
    width: 100%;
    height: max(51.8vh, 650px);
    background-size: 0%;
    background-position: right 18vw bottom 47vh;
    z-index: 2;
  }
  .p-section__bg {
    display: none;
  }
  .p-section__art {
    position: relative;
    width: 100%;
    max-width: 842px;
    height: min(70vh, 600px);
    left: calc(69px + 3.9vw);
    aspect-ratio: 840/532;
  }
  .p-section__triangles {
    width: 100%;
    position: relative;
    max-width: 704.24px;
    z-index: auto;
    left: 0;
    top: clamp(240px, 40vh, 350px);
  }
  .p-section__triangles img {
    width: 100%;
    height: auto;
    display: block;
  }
  .p-section__item-wrap {
    position: absolute;
    max-width: 320px;
    transform: none;
    transition: z-index 0s, transform 0.3s ease;
    z-index: 1000;
  }
  .p-section__item-wrap:hover {
    z-index: 9999;
  }
  .p-section__item-wrap--1 {
    height: 100%;
    left: 33%;
    top: -119%;
    max-width: 193.76px;
    z-index: 1000;
  }
  .p-section__item-wrap--2 {
    left: 0%;
    top: -102%;
    max-width: 280.33px;
    z-index: 1000;
  }
  .p-section__item-wrap--3 {
    right: -16%;
    top: -25%;
    min-width: 276.23px;
    z-index: 1500;
  }
  .p-section__item-wrap--4 {
    left: 26%;
    top: 11%;
    min-width: 280px;
    z-index: 1000;
  }
  .p-section__item-wrap--5 {
    right: 11%;
    top: -95%;
    z-index: 1000;
    min-width: 204.67px;
  }
  /* それぞれのアイテムを絶対配置 */
  .p-section__item {
    max-width: 100%;
    height: auto;
  }
  .p-section__item-img {
    position: relative;
  }
  .p-section__title {
    position: absolute;
    top: clamp(40px, 10vh, 120px);
    right: -6.5%;
    z-index: 1000;
    padding: 10px 20px;
    line-height: 1.3;
    width: 28.8%;
  }
  .p-section__title .p-section__line {
    display: inline-block;
    background-color: rgba(255, 255, 255, 0.8);
    padding: 10px 20px;
    border-radius: 20px;
    margin-bottom: 8px;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-size: clamp(40px, 3rem, 50px);
    font-weight: bold;
    color: #101C33;
  }
  .p-section__title .p-section__title h1 {
    margin: 0;
    padding: 0;
  }
  .p-section__message {
    font-size: 1.5rem;
    font-weight: 500;
    position: relative;
    z-index: 1;
    display: inline-block;
    padding: 20px 20px;
    background-color: rgba(255, 255, 255, 0.8);
    left: 22vw;
    border-radius: 20px;
    color: #101C33;
    top: -28px;
    width: 60%;
  }
  /* 吹き出し全体 */
  .p-section__bubble {
    position: absolute;
    display: flex;
    width: 440px;
    min-height: 520px;
    z-index: 30000;
    transform: none; /* ← 超重要 */
    /* 初期は非表示 */
    opacity: 0;
    transform: translateY(10px) scale(0.98);
    pointer-events: none;
    transition: opacity 0.4s ease, transform 0.4s ease;
  }
  .p-section__bubble--1 {
    background-image: url("../img/Rectangle 42.png");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    top: -120px;
    left: 170px;
  }
  .p-section__bubble--2 {
    position: absolute;
    display: flex;
    background-image: url("../img/Rectangle 42.png");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    top: -150px;
    left: 140px;
    z-index: 9998;
  }
  .p-section__bubble--3 {
    position: absolute;
    display: flex;
    background-image: url("../img/Rectangle 42.png");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    top: -180px;
    left: 110px;
    z-index: 9998;
  }
  .p-section__bubble--4 {
    position: absolute;
    display: flex;
    background-image: url("../img/Rectangle 42.png");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    top: -180px;
    left: 110px;
    z-index: 9998;
  }
  .p-section__bubble--5 {
    position: absolute;
    display: flex;
    background-image: url("../img/Rectangle 42.png");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    top: -50px;
    left: 90px;
    z-index: 9998;
  }
  /* 中のコンテンツ */
  .p-section__bubble-wrapper {
    color: #333;
    max-width: 300px;
    margin-left: 113px;
    margin-right: 33px;
    padding: 16px;
    height: auto;
    z-index: 20000;
    transform: translateY(10px) scale(0.98);
    transition: transform 0.4s ease, opacity 0.4s ease;
  }
  .p-section__bubble-wrapper hr {
    width: 100%;
    height: 2px;
    margin: 0;
    padding: 0;
    border: 0;
    background: repeating-linear-gradient(90deg, #DE631B, #D7CD23, #30ADCB);
  }
  .p-section__bubble-wrapper strong {
    font-weight: 700;
    font-size: 28px;
    color: #DE631B;
  }
  .p-section__bubble-wrapper ul {
    display: inline-block;
    background-color: #101C33;
    padding: 6px 20px 6px 18px;
    font-size: 14px;
    color: #ffffff;
  }
  .p-section__bubble-wrapper ul ul li {
    position: relative;
    padding-left: 1em;
    margin: 0.3em 0;
  }
  .p-section__bubble-wrapper ul li::before {
    content: "•"; /* 黒丸 */
    position: absolute;
    padding-top: 4px;
    left: 27px;
    font-size: 0.6em;
    color: white;
    line-height: 1.4;
  }
  .p-section__bold {
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 12px;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .p-section__bold--line {
    letter-spacing: -0.02em;
  }
  .p-section__price {
    font-weight: 400;
    text-align: center;
  }
  .p-section__mark {
    font-size: 20px;
  }
  .p-section__bubble-wrapper p {
    font-size: 16px;
    padding: 8px;
    align-items: flex-start;
    margin-bottom: 15px;
  }
  .p-section__bubble-img {
    height: 160px;
    display: block;
    margin-bottom: 8px;
  }
  .p-section__item-wrap.is-active .p-section__bubble {
    opacity: 1;
    pointer-events: auto;
  }
  .p-section__item-wrap.is-active .p-section__bubble-wrapper {
    transform: translateY(0) scale(1);
  }
  /* 跳ねるアニメーション */
  @-webkit-keyframes jump {
    0% {
      transform: translate(0);
    }
    40% {
      transform: translate(0, -40px);
    }
    100% {
      transform: translate(0);
    }
  }
  @keyframes jump {
    0% {
      transform: translate(0);
    }
    40% {
      transform: translate(0, -40px);
    }
    100% {
      transform: translate(0);
    }
  }
  .p-section__item-wrap.is-active .p-section__item-img {
    -webkit-animation: jump 0.6s ease;
            animation: jump 0.6s ease;
    z-index: 9998;
  }
}
/* 376〜490px */
@media screen and (min-width: 376px) and (max-width: 490px) {
  .p-section-container {
    display: grid;
    grid-template-rows: minmax(300px, 26vh) auto;
  }
  .p-section__art {
    grid-row: 1;
  }
  .p-section__triangles {
    top: clamp(162px, 11vh, 185px);
  }
  .p-section__message {
    grid-row: 2;
    position: relative;
    width: 83.4vw;
    margin-left: 2vw;
    bottom: 20px;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
  }
}
/* 491〜650px */
@media screen and (min-width: 491px) and (max-width: 650px) {
  .p-section-container {
    display: grid;
    grid-template-rows: minmax(356px, 33vh) auto;
  }
  .p-section__art {
    grid-row: 1;
  }
  .p-section__triangles {
    top: clamp(200px, 19vh, 220px);
  }
  .p-section__message {
    grid-row: 2;
    position: relative;
    width: 83.4vw;
    margin-left: 2vw;
    bottom: 20px;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
  }
}
/* 651〜800px */
@media screen and (min-width: 651px) and (max-width: 800px) {
  .p-section-container {
    display: grid;
    grid-template-rows: minmax(450px, 41vh) auto;
  }
  .p-section__art {
    grid-row: 1;
  }
  .p-section__triangles {
    top: clamp(250px, 26vh, 280px);
  }
  .p-section__message {
    grid-row: 2;
    position: relative;
    width: 83.4vw;
    margin-left: 2vw;
    bottom: 30px;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
  }
}
/* 801〜1000px */
@media screen and (min-width: 801px) and (max-width: 1000px) {
  .p-section-container {
    display: grid;
    grid-template-rows: minmax(590px, 52vh) auto;
  }
  .p-section__art {
    grid-row: 1;
  }
  .p-section__triangles {
    top: clamp(320px, 30vh, 340px);
  }
  .p-section__message {
    grid-row: 2;
    position: relative;
    width: 83.4vw;
    margin-left: 2vw;
    bottom: 7vh;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
  }
}
/* 1001〜1200px */
@media screen and (min-width: 1001px) and (max-width: 1200px) {
  .p-section-container {
    display: grid;
    grid-template-rows: minmax(624px, 64vh) auto;
  }
  .p-section__art {
    grid-row: 1;
  }
  .p-section__triangles {
    top: 407px;
    width: clamp(490px, 49vh, 604px);
  }
  .p-section__message {
    grid-row: 2;
    position: relative;
    width: 83.4vw;
    margin-left: 2vw;
    bottom: 40px;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
  }
}
/* 1201〜1439px */
@media screen and (min-width: 1201px) and (max-width: 1439px) {
  .p-section-container {
    display: grid;
    grid-template-rows: minmax(575px, 55vh) auto;
  }
  .p-section__art {
    grid-row: 1;
  }
  .p-section__triangles {
    top: 300px;
  }
  .p-section__message {
    grid-row: 2;
    position: relative;
    width: 83.4vw;
    margin-left: 2vw;
    bottom: 5vh;
    top: 0;
  }
}
/* 1440px〜 */
@media screen and (min-width: 1440px) {
  .p-section-container {
    display: grid;
    grid-template-rows: minmax(575px, 55vh) auto;
  }
  .p-section__art {
    grid-row: 1;
  }
  .p-section__triangles {
    top: clamp(240px, 32vh, 250px);
  }
  .p-section__message {
    width: 60vw;
    left: 9vw;
    max-width: 910px;
    font-size: clamp(23px, 4vw, 24px);
  }
  .p-section__bg {
    content: url("../img/bg-img_pc.png");
  }
  .p-section__title {
    right: 6.5%;
    top: clamp(20px, 6.5vh, 45px);
  }
}
@media screen and (min-width: 768px) and (max-width: 1439px) {
  .p-section__message {
    left: 8vw;
    width: 63vw;
    font-size: clamp(16px, 5.5rem, 20px);
  }
}
.p-hamburger {
  width: 42px;
  height: 42px;
  background-color: #131c31;
  position: relative;
  right: 17px;
  top: 0;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 5000;
}

.p-gmenu--bt {
  top: -12px;
}

.p-hamburger::before,
.p-hamburger::after {
  content: "";
  background-color: #FFFFFF;
  position: absolute;
  width: 14px;
  height: 1px;
  display: block;
  transition: all 0.3s ease;
}

.p-hamburger.is-open span {
  background-color: transparent;
}

.p-hamburger.is-open::before {
  transform: rotate(45deg);
  top: 50%;
  background-color: #FFFFFF;
}

.p-hamburger.is-open::after {
  transform: rotate(-45deg);
  top: 50%;
  background-color: #FFFFFF;
}

.p-hamburger::before {
  top: 15px;
}

.p-hamburger::after {
  bottom: 15px;
}

.p-hamburger span {
  font-size: 0;
  background-color: #FFFFFF;
  position: absolute;
  top: 50%;
  width: 14px;
  height: 1px;
  transform: translateY(-50%);
  transition: transform 0.2s;
}

.p-hamburger.is-open span {
  background-color: transparent;
}

.p-hamburger.is-open::before {
  transform: rotate(45deg);
  top: 50%;
  background-color: #FFFFFF;
}

.p-hamburger.is-open::after {
  transform: rotate(-45deg);
  bottom: 50%;
  background-color: #FFFFFF;
}

body.is-open {
  position: fixed;
}

@media screen and (min-width: 376px) and (max-width: 1200px) {
  .p-hamburger {
    width: 42px;
    height: 42px;
    background-color: #131c31;
    position: relative;
    top: 10px;
    right: 20px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 5000;
  }
  .p-gmenu--bt {
    top: 0px;
  }
  .p-hamburger::before,
.p-hamburger::after {
    content: "";
    background-color: #FFFFFF;
    position: absolute;
    width: 14px;
    height: 1px;
    display: block;
    transition: all 0.3s ease;
  }
  .p-hamburger.is-open span {
    background-color: transparent;
  }
  .p-hamburger.is-open::before {
    transform: rotate(45deg);
    top: 50%;
    background-color: #FFFFFF;
  }
  .p-hamburger.is-open::after {
    transform: rotate(-45deg);
    top: 50%;
    background-color: #FFFFFF;
  }
  .p-hamburger::before {
    top: 15px;
  }
  .p-hamburger::after {
    bottom: 15px;
  }
  .p-hamburger span {
    font-size: 0;
    background-color: #FFFFFF;
    position: absolute;
    top: 50%;
    width: 14px;
    height: 1px;
    transform: translateY(-50%);
    transition: transform 0.2s;
  }
  .p-hamburger.is-open span {
    background-color: transparent;
  }
  .p-hamburger.is-open::before {
    transform: rotate(45deg);
    top: 50%;
    background-color: #FFFFFF;
  }
  .p-hamburger.is-open::after {
    transform: rotate(-45deg);
    bottom: 50%;
    background-color: #FFFFFF;
  }
  body.is-open {
    position: fixed;
  }
}
/*   PC    */
@media screen and (min-width: 1201px) {
  .p-hamburger {
    display: none;
  }
}
.p-nav__container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  z-index: 1000;
  position: relative;
  min-height: 200px;
}

.p-nav__sp--container {
  width: 100%;
  height: auto;
  color: #FFFFFF;
  font-size: 16px;
  font-weight: 500;
  display: flex;
  justify-content: center;
  flex-direction: column;
  padding: 30px 11%;
  gap: 20px;
}

.p-nav__sp--container--navy {
  background-color: #101C33;
}
.p-nav__sp--container--navy .icon {
  width: 48.62px;
  height: 48.21px;
}

.p-nav__sp--container--aqua {
  background-color: #30ADCB;
}
.p-nav__sp--container--aqua .icon {
  width: 50px;
  height: 50px;
  padding-top: 3px;
}

.p-nav__container--hero {
  margin-top: 0;
}

.p-nav__containerItem {
  display: flex;
  gap: 16px;
  align-items: center;
}

@media screen and (min-width: 701px) and (max-width: 1200px) {
  .p-nav__container {
    display: flex;
    width: 100%;
    background: linear-gradient(to right, #101C33 50%, #30ADCB 50%);
    z-index: 1000;
    flex-direction: row;
    position: relative;
  }
  .p-nav__sp--container {
    width: 50%;
  }
  .p-nav__inner {
    max-width: 400px;
    margin: 0 auto;
    padding: 30px 5%;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    gap: 20px;
  }
  .p-nav__containerItem {
    display: flex;
    align-items: stretch;
    gap: 16px;
    flex-grow: 1;
    color: #FFFFFF;
  }
  .p-nav__containerItem .icon {
    height: 45px;
    width: auto;
    -o-object-fit: contain;
       object-fit: contain;
  }
  .p-nav__container--hero {
    margin-top: 0;
  }
}
@media screen and (min-width: 1201px) {
  .p-nav__container {
    display: flex;
    flex-direction: row;
    width: 100%;
    background: linear-gradient(to right, #101C33 50%, #30ADCB 50%);
    z-index: 1000;
    position: relative;
  }
  .p-nav__sp--container {
    width: 50%;
  }
  .p-nav__container--hero {
    margin-top: 0;
  }
  .p-nav__inner {
    max-width: 400px;
    margin: 0 auto;
    padding: 58px 0;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    gap: 24px;
  }
  .p-nav__containerItem {
    display: flex;
    align-items: stretch;
    gap: 16px;
    flex-grow: 1;
    color: #FFFFFF;
  }
  .p-nav__containerItem .icon {
    height: 45px;
    width: auto;
    -o-object-fit: contain;
       object-fit: contain;
  }
}
@media screen and (min-width: 1440px) {
  .p-nav__containerItem {
    font-size: 20px;
  }
  .p-nav__containerItem p {
    font-weight: 500;
  }
}
.p-feature {
  display: block;
  width: 100%;
  position: relative;
  background-repeat: no-repeat;
}

.p-feature__bgImg {
  width: 100%;
  height: 1848px;
  display: block;
  -o-object-position: top;
     object-position: top; /* 背景の上を絶対に残す */
  position: absolute;
  top: -183px;
  left: 0;
  z-index: -1; /* 背景に回す */
}

.p-feature__inner {
  max-width: 900px;
  padding: 30px 20px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin: 0 auto;
  position: relative;
}

.p-feature__row {
  justify-content: center;
  gap: 16px;
}

.p-feature__item {
  width: 83.7%;
  max-width: 314px;
  min-width: 280px;
  aspect-ratio: 1/1;
  border-radius: 50%;
  text-align: center;
  background-color: #ffffff;
  margin: 0 auto;
  margin-bottom: 24px;
  overflow: hidden;
  position: relative;
  justify-content: center;
  align-items: center;
  display: flex;
  flex-direction: column;
}
.p-feature__item .p-feature__img {
  margin-top: 13.6%;
  margin-bottom: 6px;
}
.p-feature__item .p-feature__itemImg1 {
  width: 60.77px;
  height: 60.11px;
}
.p-feature__item .p-feature__itemImg2 {
  width: 63.64px;
  height: 60.11px;
}
.p-feature__item .p-feature__itemImg3 {
  width: 74.77px;
  height: 60.11px;
}
.p-feature__item .p-feature__itemImg4 {
  width: 60.77px;
  height: 60.11px;
}
.p-feature__item h4 {
  position: relative;
  margin-bottom: 12px;
  text-align: center;
  font-size: 24px;
  z-index: 0;
}
.p-feature__item h4::after {
  content: "";
  display: inline-block;
  position: absolute;
  width: 190px;
  left: 50%;
  transform: translateX(-50%);
  bottom: -6px;
  height: 20px;
  border-radius: 8px;
  background-color: rgba(48, 173, 203, 0.4);
  z-index: -1;
}
.p-feature__item p {
  width: 83.4%;
  position: relative;
  font-size: clamp(14px, 4rem, 16px);
  flex-wrap: wrap;
  padding: 12px 14px 30px 14px;
}

.p-feature__bg {
  display: inline-block;
  width: 60%;
  min-height: 20px;
  background-color: rgba(48, 173, 203, 0.4);
  border-radius: 30%;
  opacity: 0.8;
  position: relative;
  top: -26px;
}

@media screen and (min-width: 601px) {
  .p-feature {
    flex-wrap: wrap;
    width: 100%;
    position: relative;
    top: 0;
    background-repeat: no-repeat;
    overflow: visible;
  }
  .p-feature__bgImg {
    width: 100%;
    display: block;
    -o-object-position: top;
       object-position: top; /* 背景の上を絶対に残す */
    position: absolute;
    top: -25px;
    z-index: -1; /* 背景に回す */
  }
  .p-feature__inner {
    max-width: 900px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
    position: relative;
    top: -40px;
  }
  .p-feature__row {
    display: grid;
    grid-template-columns: repeat(2, minmax(280px, 1fr));
    max-width: 700px;
    gap: clamp(24px, 1.5vw, 60px);
    justify-content: center;
    padding: 100px 2.6%;
  }
  .p-feature__item {
    width: 100%;
    aspect-ratio: 1/1;
    border-radius: 50%;
    text-align: center;
    background-color: #ffffff;
    overflow: hidden;
    position: relative;
    justify-content: center;
    align-items: flex-start;
    display: grid;
    grid-template-rows: 104px auto 1fr;
    justify-items: center;
    margin-bottom: 0;
  }
  .p-feature__item h4 {
    position: relative;
    top: 5px;
    text-align: center;
    font-size: clamp(18px, 3.8vw, 24px);
  }
  .p-feature__item h4::after {
    content: "";
    display: inline-block;
    position: absolute;
    width: 190px;
    left: 50%;
    transform: translateX(-50%);
    bottom: -6px;
    height: 20px;
    border-radius: 8px;
    background-color: rgba(48, 173, 203, 0.4);
    z-index: -1;
  }
  .p-feature__item .p-feature__img {
    margin-top: 13.6%;
    margin-bottom: 12px;
  }
  .p-feature__item .p-feature__itemImg1 {
    width: 60.77px;
    height: 60.11px;
  }
  .p-feature__item .p-feature__itemImg2 {
    width: 63.64px;
    height: 60.11px;
  }
  .p-feature__item .p-feature__itemImg3 {
    width: 74.77px;
    height: 60.11px;
  }
  .p-feature__item .p-feature__itemImg4 {
    width: 60.77px;
    height: 60.11px;
  }
  .p-feature__item p {
    width: 78.4%;
    position: relative;
    font-size: clamp(14px, 2.5rem, 16px);
    line-height: 1.3;
    padding: 12px 14px 30px 14px;
  }
}
@media screen and (min-width: 1340px) {
  .p-feature {
    width: 100%;
    position: relative;
    top: 0;
    background-repeat: no-repeat;
  }
  .p-feature__bgImg {
    width: 138%;
    display: block;
    -o-object-position: top center;
       object-position: top center; /* 背景の上を絶対に残す */
    position: absolute;
    z-index: -1; /* 背景に回す */
  }
  .p-feature__inner {
    max-width: 917px;
    padding: 88px 0px;
    top: 0;
  }
  .p-feature__row {
    display: flex;
    flex-wrap: wrap;
    padding: 0;
  }
  .p-feature__item {
    width: 83.7%;
  }
  .p-feature__item h4 {
    top: 5px;
  }
  .p-feature__bg {
    display: inline-block;
    width: 60%;
    min-height: 20px;
    background-color: rgba(48, 173, 203, 0.4);
    border-radius: 30%;
    opacity: 0.8;
    position: relative;
    top: -26px;
  }
  .p-feature__item:nth-child(1),
.p-feature__item:nth-child(2) {
    justify-self: start; /* 左寄せ */
    position: relative;
    right: 10%;
  }
  .p-feature__item:nth-child(3),
.p-feature__item:nth-child(4) {
    justify-self: end; /* 右寄せ */
    position: relative;
    left: 10%;
  }
}
.p-service {
  width: 100%;
  position: relative;
  margin-bottom: -100px;
}

.p-service__bgImg {
  width: 100%;
  height: 2800px;
  display: block;
  -o-object-position: top;
     object-position: top; /* 背景の上を絶対に残す */
  position: absolute;
  top: -600px;
  z-index: -1; /* 背景に回す */
}

.p-service-card {
  display: block;
  width: 95%;
  margin: 0 auto;
  align-items: end;
  justify-items: center;
}

.p-service--content {
  width: 94%;
  color: #000000;
}

.p-service--content h4 {
  font-size: 22px;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 16px;
}

.p-service--content p {
  font-size: 16px;
  line-height: 1.8;
  margin-bottom: 24px;
}

.p-service-image {
  margin: 0 auto;
  display: block;
  padding: 0 20px 90px 20px;
}

.p-service-image1 {
  width: 290px;
  position: relative;
  right: -2%;
}

.p-service-image2 {
  width: 300px;
}

.p-service-image3 {
  width: 330px;
}

.p-service-image4 {
  width: 250px;
}

@media screen and (min-width: 601px) {
  .p-service {
    margin: 0;
  }
  .p-service__bgImg {
    width: 100%;
    height: 2600px;
    display: block;
    -o-object-position: top;
       object-position: top; /* 背景の上を絶対に残す */
    top: -27vh;
    position: absolute;
    z-index: -1; /* 背景に回す */
  }
  .p-service-card {
    display: flex;
    width: 95%;
    max-width: 680px;
    margin: 0 auto;
    align-items: flex-end;
    margin-bottom: 90px;
  }
  .p-service--content {
    width: 94%;
    color: #000000;
    max-width: 360px;
  }
  .p-service--content h4 {
    font-size: 22px;
    font-weight: 700;
    line-height: 1.5;
    margin-bottom: 16px;
  }
  .p-service--content p {
    font-size: 16px;
    line-height: 1.8;
    margin-bottom: 24px;
  }
  .p-service-image {
    padding: 0 20px;
  }
}
@media screen and (min-width: 1340px) {
  .p-service {
    position: relative;
    top: -28px;
  }
  .p-service__bgImg {
    width: 100%;
    height: 2600px;
    display: block;
    -o-object-position: top;
       object-position: top; /* 背景の上を絶対に残す */
    top: -161px;
    position: absolute;
    z-index: -1; /* 背景に回す */
  }
  .p-service-card {
    display: flex;
    width: 95%;
    max-width: 928px;
    margin: 0 auto;
    align-items: flex-end;
    margin-bottom: 160px;
    gap: 60.31px;
  }
  .p-service-card--reverse {
    flex-direction: row-reverse;
  }
  .p-service--content {
    width: 94%;
    color: #000000;
    max-width: 448px;
  }
  .p-service--content h4 {
    font-size: 32px;
    font-weight: 700;
    line-height: 1.5;
    margin-bottom: 20px;
  }
  .p-service--content p {
    font-size: 16px;
    line-height: 1.8;
    margin-bottom: 24px;
  }
  .p-service-image {
    margin: 0 auto;
    display: block;
  }
  .p-service-image1 {
    width: 430.27px;
    position: relative;
    right: -2%;
  }
  .p-service-image2 {
    width: 419.69px;
    max-width: 419.69px;
  }
  .p-service-image3 {
    width: 501.27px;
  }
  .p-service-image4 {
    width: 401.06px;
    max-width: 401.06px;
  }
}
.p-pricing--section {
  width: 100%;
  height: 924px;
  position: relative;
}

.p-heading {
  width: 100%;
  text-align: center;
  position: absolute;
  top: 150px;
  left: 50%;
  transform: translateX(-50%);
}
.p-heading h5 {
  font-size: 24px;
  color: #ffffff;
  font-weight: 400;
  position: relative;
  line-height: 1.6;
}

.p-pricingItem {
  display: none;
}

@media screen and (min-width: 601px) {
  .p-pricing--section {
    width: 100%;
    height: 1040px;
    position: relative;
  }
  .p-pricing__bgImg {
    width: 100%;
    height: 1040px;
    display: block;
    top: 0;
    -o-object-position: top;
       object-position: top; /* 背景の上を絶対に残す */
    position: absolute;
    z-index: -1; /* 背景に回す */
  }
  .p-heading {
    width: 100%;
    text-align: center;
    position: absolute;
    transform: translateX(-50%);
  }
  .p-heading h5 {
    font-weight: 400;
    font-size: 36px;
  }
  .p-pricingItem {
    display: block;
    position: absolute;
    top: 18vh;
    transform: translateX(-50%);
  }
  .p-pricingItem__left {
    left: 50%;
    width: 292.6px;
    height: 509px;
    transform: translateX(-204%);
  }
  .p-pricingItem__right {
    left: 50%;
    width: 266.99px;
    height: 492.58px;
    transform: translateX(120%);
  }
}
@media screen and (min-width: 1340px) {
  .p-pricing--section {
    width: 100%;
    height: 1040px;
    position: relative;
  }
  .p-pricing__bgImg {
    width: 100%;
    height: 1040px;
    display: block;
    -o-object-position: top;
       object-position: top; /* 背景の上を絶対に残す */
    position: absolute;
    z-index: -1; /* 背景に回す */
  }
  .p-heading {
    width: 100%;
    text-align: center;
    position: absolute;
    transform: translateX(-50%);
  }
  .p-heading h5 {
    font-weight: 400;
    top: 0;
  }
  .p-pricingItem {
    position: absolute;
    transform: translateX(-50%);
  }
  .p-pricingItem__left {
    left: 50%;
    width: 292.6px;
    height: 509px;
    transform: translateX(-204%);
  }
  .p-pricingItem__right {
    left: 50%;
    width: 266.99px;
    height: 492.58px;
    transform: translateX(120%);
  }
}
.p-slider--container {
  width: 100%;
  position: relative;
  top: -630px;
}

.p-slider--container--reviews {
  position: relative;
  top: 140px;
}

.p-slider--wrapper {
  display: block;
  width: 100%;
}

.p-slide {
  display: block;
}

.slick-slide {
  padding: 0 10px;
  box-sizing: border-box;
}

@media screen and (min-width: 601px) {
  .p-slider--container {
    position: relative;
    top: 350px;
  }
  .p-slider--container--reviews {
    top: 130px;
    max-width: 734px;
    margin: 0 auto;
  }
  .slick-slide {
    padding: 0 10px;
    box-sizing: border-box;
  }
}
@media screen and (min-width: 1340px) {
  .p-slider--container {
    width: 100%;
    top: 350px;
  }
  .p-slider--container--reviews {
    margin: 0 auto;
    top: 130px;
  }
  .slick-slide {
    padding: 0 10px;
    box-sizing: border-box;
  }
}
@media screen and (max-width: 600px) {
  .p-portfolio {
    width: 96%;
    margin: 0 auto;
  }
  .p-portfolio__content {
    margin-bottom: 100px;
  }
  .p-portfolio__title {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 6px;
  }
  .p-portfolio__info-flex-group {
    padding-top: 16px;
    display: flex;
    gap: 24px;
  }
  .p-portfolio__info-label {
    margin-bottom: 10px;
  }
  .p-portfolio__subtitle {
    font-weight: 500;
  }
  .p-portfolio__info-url {
    position: relative;
    top: 1px;
  }
  .p-portfolio__device {
    padding: 16px 0;
  }
}
@media screen and (min-width: 601px) and (max-width: 1339px) {
  .p-portfolio {
    width: 95.8%;
    margin: 0 auto;
    max-width: 736px;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .p-portfolio__title {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 6px;
  }
  .p-portfolio__content {
    margin-bottom: 100px;
    display: flex;
    justify-content: center;
    gap: 22px;
    align-items: flex-end;
  }
  .p-portfolio__info-flex-group {
    display: flex;
    flex-direction: column;
  }
  .p-portfolio__info-label {
    margin-bottom: 8px;
  }
  .p-portfolio__subtitle {
    font-weight: 500;
  }
  .p-portfolio__info-tags {
    display: flex;
    gap: 8px;
  }
  .p-portfolio__info-url {
    position: relative;
    top: 1px;
    font-size: 14px;
  }
  .p-portfolio__device {
    padding: 16px 0;
    width: 474px;
  }
  .p-portfolio__device img {
    width: 100%;
    height: auto;
    display: block;
  }
}
@media screen and (min-width: 1340px) {
  .p-portfolio {
    width: 95.8%;
    margin: 0 auto;
    max-width: 1120.33px;
    display: flex;
    margin-top: 83px;
    flex-direction: column;
    justify-content: center;
  }
  .p-portfolio__title {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 6px;
  }
  .p-portfolio__content {
    margin-bottom: 100px;
    display: flex;
    justify-content: center;
    gap: 80px;
    align-items: flex-start;
  }
  .p-portfolio__info-flex-group {
    display: flex;
    flex-direction: column;
  }
  .p-portfolio__info-label {
    margin-bottom: 8px;
  }
  .p-portfolio__subtitle {
    font-weight: 500;
  }
  .p-portfolio__info-tags {
    display: flex;
    gap: 8px;
  }
  .p-portfolio__info-url {
    position: relative;
    top: 1px;
    font-size: 14px;
  }
  .p-portfolio__device {
    padding: 16px 0;
    width: 800px;
  }
  .p-portfolio__device img {
    width: 100%;
    height: auto;
    display: block;
  }
}
.p-reviews--section {
  width: 100%;
  position: relative;
  z-index: 1;
}

.p-reviews--section::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("../img/Rectangle 34.png");
  background-repeat: no-repeat;
  background-position: top center;
  z-index: 0;
  background-size: cover;
  top: -50px;
}

.p-reviews__inner {
  position: relative;
  z-index: 1;
  min-height: 650px;
}

.p-reviewsItem {
  display: none;
}

.p-reviews-card {
  display: flex;
  flex-direction: column;
  width: 93.3%;
  background-color: #ffffff;
  height: 291px;
  padding: 18px 16px;
  margin: 0 auto;
  border-radius: 30px;
}
.p-reviews-card hr {
  width: 80px;
  height: 2px;
  margin: 10px 0;
  padding: 0;
  border: 0;
  background: repeating-linear-gradient(90deg, #DE631B, #D7CD23, #30ADCB);
}

.p-reviews__text {
  font-size: 22px;
  font-weight: bold;
  flex-grow: 0.8;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  transition: all 0.3s ease;
}

.p-reviews__text.is-open {
  max-height: none;
  margin-bottom: 12px;
}

.p-reviews__text--popUp {
  margin-bottom: 12px;
}

.p-review-modal__text {
  margin-bottom: 16px;
}

.p-tag {
  font-family: "Inter";
  font-size: 16px;
}

.p-reviews__name {
  font-size: clamp(16px, 2rem, 18px);
}

.modalName {
  margin-top: 16px;
}

.p-review-modal {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  display: none; /* 最初は非表示 */
  justify-content: center;
  align-items: center;
  z-index: 9999;
}

.p-review-modal.is-active {
  display: flex;
}

.p-review-modal__bg {
  position: absolute;
  inset: 0;
  z-index: 1;
}

.p-review-modal__content {
  display: none;
}

.p-review-modal__content.is-active {
  display: block;
  background: #fff;
  width: 85%;
  max-width: 500px;
  padding: 20px;
  border-radius: 12px;
  position: relative;
}

.p-review-modal__close {
  position: absolute;
  top: -20px;
  right: -20px;
  cursor: pointer;
  z-index: 10;
}

.p-reviews__bgImg--end {
  display: block;
  height: auto;
  position: relative;
  z-index: 6;
}
.p-reviews__bgImg--end img {
  height: 100px;
}

.section-curve {
  width: 100%;
  height: 20px;
  display: block;
}

body.is-fixed {
  overflow: hidden;
}

@media screen and (min-width: 601px) {
  .p-reviews-card {
    width: 95.5%;
    height: 291px;
    display: grid;
    grid-template-rows: 30px 1fr 26px 20px 29px;
  }
  .p-reviews--section {
    min-height: auto;
  }
  .p-reviews--section::before {
    background-image: url("../img/Rectangle_33Tb.png");
    top: -130px;
  }
  .p-reviews__inner {
    min-height: 750px;
  }
  .p-reviews__text {
    flex-grow: 1;
    margin-bottom: 16px;
  }
  body.is-fixed {
    overflow: hidden;
  }
}
@media screen and (min-width: 1340px) {
  .p-reviewsItem {
    display: block;
    position: absolute;
    top: 392px;
    right: -242px;
    transform: none;
    z-index: 5;
    width: 517.63px;
    height: 497.64px;
  }
  .p-reviews--section {
    top: 0;
    position: relative;
    margin-top: -1px;
  }
  .p-reviews--section::before {
    background-image: url("../img/Rectangle_33Pc.png");
  }
  .p-reviews__bgImg--end {
    display: block;
    height: auto;
    position: relative;
    z-index: 6;
    line-height: 0;
    top: 2px;
  }
  .p-reviews__bgImg--end img {
    height: 100px;
  }
  .section-curve {
    display: block;
    width: 100%;
    height: auto;
    margin-bottom: 0px;
  }
}
.p-process__illustration {
  display: none;
}

.p-process__list {
  position: relative;
  z-index: 2;
  display: grid;
  justify-content: center;
}

.p-process__wrapper {
  margin: 0 auto;
  padding-top: 32px;
  min-height: 1400px;
}

.p-process__item {
  margin: 0 auto;
  position: relative;
  padding-top: 20px;
}

.p-process__illustration-bg {
  display: none;
}

@media screen and (min-width: 601px) {
  .p-process__wrapper {
    display: grid;
  }
  .p-process__illustration {
    position: absolute;
    display: block;
    width: 495px;
    top: 300px;
    transform: translateX(-45%);
    z-index: -1;
  }
  .p-process__illustration img {
    width: 100%;
    display: block;
  }
  .p-process__illustration-bg {
    display: block;
    position: absolute;
    top: 670px;
    left: -150px;
    z-index: -1;
  }
  .p-process__item:nth-child(1) {
    transform: translateX(clamp(-220px, -22vw, -120px));
  }
  .p-process__item:nth-child(2) {
    transform: translate(clamp(130px, 20vw, 170px), clamp(-226px, 17vh, -150px));
  }
  .p-process__item:nth-child(3) {
    margin: 0 auto;
    transform: translateY(-160px);
  }
  .p-process__item:nth-child(4) {
    transform: translate(clamp(130px, 20vw, 170px), -160px);
  }
  .p-process__item:nth-child(5) {
    transform: translate(clamp(-120px, -10vw, -90px), -160px);
  }
}
@media screen and (min-width: 1340px) {
  .p-process__illustration {
    width: 400px;
    top: 353px;
    transform: translateX(0%);
  }
  .p-process__wrapper {
    padding: 0;
    height: 1098px;
  }
  .p-process__item:nth-child(2) {
    transform: translate(clamp(330px, 20vw, 100px), clamp(-298px, 24vh, -200px));
  }
  .p-process__item:nth-child(3) {
    margin: 0 auto;
    transform: translateY(-200px);
  }
  .p-process__item:nth-child(4) {
    transform: translate(clamp(330px, 20vw, 100px), -200px);
  }
  .p-process__item:nth-child(5) {
    transform: translate(clamp(-220px, -22vw, -120px), clamp(-400px, 24vh, -360px));
  }
}
.p-hero__bg--wrapper {
  display: flex;
  position: relative;
  justify-content: space-between;
  height: 198px;
  bottom: 18px;
}

.p-hero__bgLeft {
  position: relative;
  width: 127.09px;
  right: 80%;
}

.p-hero__bgRight {
  position: relative;
  width: 110.35px;
  left: 81%;
}

.p-hero__content {
  display: block;
  position: absolute;
  text-align: center;
  left: 50%;
  transform: translateX(-50%);
  bottom: 20px;
  width: 100%;
}
.p-hero__content p {
  max-width: 195px;
  margin: 0 auto;
  color: #fff;
  position: relative;
  top: 113px;
  z-index: 5;
  text-align: center;
}

.p-hero__groupHero {
  margin: 0 auto;
  position: relative;
  width: 100%;
  z-index: 2;
  right: 8px;
  max-width: 390px;
}

.p-hero__content::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 66%;
  width: 100%;
  height: 166px;
  background-image: url(../img/Vector-under.png);
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
  z-index: 0;
  pointer-events: none;
}

@media screen and (min-width: 601px) {
  .p-hero__bg--wrapper {
    display: block;
    position: static;
    height: auto;
    bottom: 0;
  }
  .p-hero__bgRight {
    position: absolute;
    width: 201.05px;
    left: 80%;
    top: -160px;
    transform: translateX(25%);
  }
  .p-hero__bgLeft {
    position: absolute;
    width: 148.43px;
    left: 3%;
    top: -82px;
    transform: translateX(-35%);
  }
  .p-hero__groupHero {
    max-width: 640px;
    margin-bottom: 40px;
  }
  .p-hero__content::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 55%;
    width: 100%;
    height: 310px;
  }
  .p-hero__content {
    width: 100%;
  }
  .p-hero__content p {
    font-size: 24px;
    max-width: 288px;
    top: 175px;
  }
}
@media screen and (min-width: 1340px) {
  .p-hero__bgRight {
    width: 258.47px;
    transform: translateX(20%);
    left: 86%;
  }
  .p-hero__bgLeft {
    width: 252.2px;
  }
  .p-hero__groupHero {
    max-width: 834.07px;
    margin: 0;
  }
  .p-hero__content::after {
    height: 400px;
    top: 50%;
  }
  .p-hero__content {
    width: 100%;
  }
  .p-hero__content p {
    font-size: 32px;
    max-width: 384px;
    top: 224px;
  }
}
/* スライダーコントロール */
.u-slider-controls {
  display: flex;
  justify-content: center;
  gap: 20px;
  position: relative;
  top: -600px;
}

.u-slider-controls--reviews {
  gap: 126px;
  top: 160px;
}

.u-control-btn {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: #101C33;
  border: none;
  color: white;
  font-size: 20px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  font-family: "Geometric Shapes";
}

.u-control-btn:hover {
  background: #0d47a1;
  transform: scale(1.1);
}

.u-control-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.control-btn:disabled:hover {
  transform: scale(1);
}

.pause-btn {
  font-size: 16px;
}

.slick-prev,
.slick-next {
  display: none !important;
}

@media screen and (min-width: 601px) {
  /* スライダーコントロール */
  .u-slider-controls {
    display: flex;
    justify-content: center;
    gap: 40px;
    margin-top: 40px;
    position: relative;
    top: 350px;
  }
  .u-slider-controls--reviews {
    gap: 126px;
    top: 120px;
  }
  .u-control-btn {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: #101C33;
    border: none;
    color: white;
    font-size: 20px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    font-family: "Geometric Shapes";
  }
  .u-control-btn:hover {
    background: #0d47a1;
    transform: scale(1.1);
  }
  .u-control-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
  }
  .control-btn:disabled:hover {
    transform: scale(1);
  }
  .pause-btn {
    font-size: 16px;
  }
}
@media screen and (min-width: 1340px) {
  /* スライダーコントロール */
  .u-slider-controls {
    display: flex;
    justify-content: center;
    gap: 40px;
    margin-top: 40px;
    position: relative;
    top: 350px;
  }
  .u-slider-controls--reviews {
    gap: 126px;
    top: 130px;
  }
  .u-control-btn {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: #101C33;
    border: none;
    color: white;
    font-size: 20px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    font-family: "Geometric Shapes";
  }
  .u-control-btn:hover {
    background: #0d47a1;
    transform: scale(1.1);
  }
  .u-control-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
  }
  .control-btn:disabled:hover {
    transform: scale(1);
  }
  .pause-btn {
    font-size: 16px;
  }
}
.u-lineRainbow {
  width: 100%;
  height: 1px;
  margin: 0;
  padding: 0;
  border: 0;
  background: repeating-linear-gradient(90deg, #DE631B, #D7CD23, #30ADCB);
}

.u-line {
  height: 1px;
  background-color: #676767;
  margin-top: 12px;
  margin-bottom: 16px;
}

@media screen and (min-width: 601px) {
  .u-lineRainbow {
    width: 240px;
    margin-bottom: 24px;
  }
  .u-line {
    margin-bottom: 24px;
  }
}
/*# sourceMappingURL=style.css.map */