@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&display=swap');


html {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-style: normal;
}

#wrapper {
  width: 100%;
  margin: 0 auto;
  overflow-x: hidden;
}



/*------------------------------
 アニメーション
------------------------------*/
.fadeIn {
  opacity: 0;
}

.fadeUp {
  opacity: 0;
  transform: translateY(50%);
}

.fadeUp2 {
  opacity: 0;
  transform: translateY(50%);
}

.fadeDown {
  opacity: 0;
  transform: translateY(-50%);
}

.fadeRight {
  opacity: 0;
  transform: translateX(-50%);
}

.fadeLeft {
  opacity: 0;
  transform: translateX(50%);
}

.delay01s {
  animation-delay: 0.1s;
}

.delay02s {
  animation-delay: 0.2s;
}

.delay03s {
  animation-delay: 0.3s;
}

.delay04s {
  animation-delay: 0.4s;
}

.delay05s {
  animation-delay: 0.5s;
}

.delay06s {
  animation-delay: 0.6s;
}

.delay07s {
  animation-delay: 0.7s;
}

.delay08s {
  animation-delay: 0.8s;
}

.delay09s {
  animation-delay: 0.9s;
}

.delay1s {
  animation-delay: 1s;
}

.delay2s {
  animation-delay: 2s;
}

.fadeIn.is-animated {
  animation-name: fadeIn;
  animation-duration: 1s;
  animation-fill-mode: both;
}

.fadeUp.is-animated {
  animation-name: fadeUp;
  animation-duration: 1s;
  animation-fill-mode: both;
}

.fadeUp2.is-animated {
  animation-name: fadeUp2;
  animation-duration: 1s;
  animation-fill-mode: both;
}


.fadeDown.is-animated {
  animation-name: fadeDown;
  animation-duration: 1s;
  animation-fill-mode: both;
}

.fadeRight.is-animated {
  animation-name: fadeRight;
  animation-duration: 1s;
  animation-fill-mode: both;
}

.fadeLeft.is-animated {
  animation-name: fadeLeft;
  animation-duration: 1s;
  animation-fill-mode: both;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@keyframes fadeUp {
  0% {
    opacity: 0;
    /* Xは中央、Yは下 */
    transform: translate(-50%, 50%);
  }

  100% {
    opacity: 1;
    /* Xは中央を維持、Yは元の位置 */
    transform: translate(-50%, 0%);
  }
}

@keyframes fadeUp2 {
  0% {
    opacity: 0;
    transform: translateY(50%);
  }

  100% {
    opacity: 1;
    transform: translateY(0px);
  }
}

@keyframes fadeDown {
  0% {
    opacity: 0;
    transform: translateY(-50%);
  }

  100% {
    opacity: 1;
    transform: translateY(0%);
  }
}

@keyframes fadeRight {
  0% {
    opacity: 0;
    transform: translateX(-50%);
  }

  100% {
    opacity: 1;
    transform: translateX(0%);
  }
}

@keyframes fadeLeft {
  0% {
    opacity: 0;
    transform: translateX(50%);
  }

  100% {
    opacity: 1;
    transform: translateX(0%);
  }
}

/* 基本セクション設定 */
#section1, #section2, #section3, #section4, #section5 {
  position: relative;
  background-color: #e8f2f9;
}

/* SECTION 1 */
.section1_bg {
  width: 600px;
  z-index: -9999;
}

.sub_text1 {
  font-weight: 900;
  padding: 5px;
  background-color: #fff;
  position: absolute;
  z-index: 10;
  font-size: 40px;
  top: 50px;
  left: 0px;
  color: #428bd0;
}

.sub_text2 {
  font-weight: 900;
  padding: 5px;
  background-color: #fff;
  position: absolute;
  z-index: 10;
  font-size: 40px;
  top: 130px;
  left: 0px;
  color: #428bd0;
}

.main-copy {
  position: absolute;
  width: 465px;
  top: 230px;
  left: 50%;
  transform: translateX(-50%);
}

.sub-copy {
  position: absolute;
  top: 495px;
  width: 480px;
  left: 50%;
  transform: translateX(-50%);
}

.circle1 {
  position: absolute;
  top: 580px;
  width: 189px;
  left: 15px;
}

.circle2 {
  position: absolute;
  top: 580px;
  width: 189px;
  left: 50%;
  transform: translateX(-50%);
}

.circle3 {
  position: absolute;
  top: 580px;
  width: 189px;
  right: 15px;
}

.scroll {
  position: absolute;
  font-size: 28px;
  color: #fff;
  top: 775px;
  left: 50%;
  transform: translateX(-50%);
  font-weight: 400;
  text-align: center;
}


.scroll::after {
  content: "";
  position: absolute;
  top: 50px;
  left: 50%;
  transform: translateX(-50%);
  width: 1px;
  height: 100px;
  background-color: rgba(255, 255, 255, 0.3);
}


.scroll::before {
  content: "";
  position: absolute;
  top: 30px;
  left: 50%;
  width: 15px;
  height: 15px;
  background-color: #ffffff;
  border-radius: 50%;
  z-index: 99;
  transform: translateX(-50%);
  animation: scroll-dot 2s infinite ease-in-out;
}

@keyframes scroll-dot {
  0% {
    top: 30px;
    opacity: 0;
  }

  20% {
    opacity: 1;
  }

  80% {
    opacity: 1;
  }

  100% {
    top: 140px;
    opacity: 0;
  }
}

.rose {
  position: absolute;
  width: 135px;
  top: 775px;
  right: 5px;
}

/* SECTION 2 */
#section2 {
  background-color: #e8f2f9;
  height: 3100px;
}

.section2_title {
  position: absolute;
  font-size: 64px;
  font-weight: 900;
  color: #428bd0;
  left: 30px;
}

.section2_subtitle {
  position: absolute;
  font-size: 32px;
  font-weight: 500;
  color: #428bd0;
  top: 75px;
  left: 30px;
}

.section2_sub_text1 {
  font-weight: 900;
  padding: 5px;
  background-color: #fff;
  position: absolute;
  z-index: 10;
  font-size: 40px;
  top: 140px;
  left: 30px;
  color: #428bd0;
}

.section2_sub_text2 {
  font-weight: 900;
  padding: 5px;
  background-color: #fff;
  position: absolute;
  z-index: 10;
  font-size: 40px;
  top: 220px;
  left: 30px;
  color: #428bd0;
}

.section2_dakihoudai {
  position: absolute;
  top: 310px;
  left: 0px;
}

.section2_dakihoudai_title {
  position: absolute;
  top: 840px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 40px;
  font-weight: 900;
  color: #595a5a;
}

.dotted-line1 {
  position: absolute;
  border-top: 2px dotted #595a5a;
  width: 520px;
  top: 905px;
  left: 50%;
  transform: translateX(-50%);
}

.section2_dakihoudai_text {
  position: absolute;
  width: 520px;
  top: 925px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 28px;
  color: #595a5a;
  font-weight: 400;
}

.f600 {
  font-weight: 600;
}

.section2_oyakodon {
  position: absolute;
  top: 1110px;
  right: 0px;
}

.section2_oyakodon_title {
  position: absolute;
  top: 1640px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 40px;
  font-weight: 900;
  color: #595a5a;
}

.dotted-line2 {
  position: absolute;
  border-top: 2px dotted #595a5a;
  width: 520px;
  top: 1705px;
  left: 50%;
  transform: translateX(-50%);
}

.section2_oyakodon_text {
  position: absolute;
  width: 520px;
  top: 1725px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 28px;
  color: #595a5a;
}

.section2_mugen {
  position: absolute;
  top: 1910px;
  left: 0px;
}

.section2_mugen_title {
  position: absolute;
  top: 2440px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 40px;
  font-weight: 900;
  color: #595a5a;
}

.dotted-line3 {
  position: absolute;
  border-top: 2px dotted #595a5a;
  width: 520px;
  top: 2505px;
  left: 50%;
  transform: translateX(-50%);
}

.section2_mugen_text {
  position: absolute;
  width: 520px;
  top: 2525px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 28px;
  color: #595a5a;
}

.section2_appbox {
  position: absolute;
  top: 2760px;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  display: flex;
  justify-content: center;
  color: #595a5a;
}

.section2_app {
  display: flex;
  align-items: center;
}

.section2_appicon img {
  width: 120px;
  display: block;
}

.section2_apptext {
  margin-left: 18px;
}

.section2_appname {
  font-size: 40px;
  font-weight: 600;
}

.section2_appsubtext {
  font-size: 24px;
}

.app_btn {
  position: absolute;
  width: 420px;
  top: 2900px;
  left: 50%;
  transform: translateX(-50%);
}

/* SECTION 3 */
#section3 {
  position: relative;
  width: 600px;
  background-color: #428BD0;
  background-image:
    radial-gradient(rgba(255, 255, 255, 0.15) 6px, transparent 6px),
    radial-gradient(rgba(255, 255, 255, 0.15) 6px, transparent 6px);
  background-size: 40px 40px;
  background-position: 0 0, 20px 20px;
  height: 1750px;
}

.section3_title {
  position: absolute;
  font-size: 64px;
  font-weight: 900;
  color: #ffffff;
  left: 30px;
}

.section3_subtitle {
  position: absolute;
  font-size: 32px;
  font-weight: 500;
  color: #ffffff;
  top: 75px;
  left: 30px;
}

.section3_sub_text1 {
  font-weight: 900;
  padding: 5px;
  background-color: #fff;
  position: absolute;
  z-index: 10;
  font-size: 40px;
  top: 140px;
  left: 30px;
  color: #428bd0;
}

.section3_sub_text2 {
  font-weight: 900;
  padding: 5px;
  background-color: #fff;
  position: absolute;
  z-index: 10;
  font-size: 40px;
  top: 220px;
  left: 30px;
  color: #428bd0;
}

.how-to-contents {
  position: absolute;
  top: 350px;
  padding-left: 25px;
  width: 100%;
}

.step-scroll-wrapper {
  display: flex;
  overflow-x: auto;
  gap: 0;
  padding-left: 50px;
  padding-right: 150px;
  scroll-snap-type: x mandatory;
  position: relative;
  z-index: 2;
}

.step-scroll-wrapper::-webkit-scrollbar {
  display: none;
}

.step-card {
  flex: 0 0 450px;
  /* 線の長さを含めたカード1枚の幅 */
  scroll-snap-align: start;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

/* 番号と線の横並び */
.step-header {
  display: flex;
  align-items: center;
  width: 100%;
  margin-bottom: 30px;
}

.step-number {
  width: 90px;
  height: 90px;
  background-color: #004282;
  color: #fff;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 48px;
  font-weight: 900;
  flex-shrink: 0;
  border: solid 2px #fff;
}

.step-line {
  height: 4px;
  background-color: #004282;
  flex-grow: 1;
  border: solid 1px #fff;
}

.one_text {
  font-size: 40px;
  color: #fff;
  font-weight: 900;
}

.one_subtext {
  font-size: 28px;
  color: #fff;
  font-weight: 600;
  padding-top: 10px;
  line-height: 1.7;
}

.phone-container {
  width: 400px;
  position: relative;
}

.phone-frame {
  width: 320px;
  padding-top: 24px;
  position: relative;
  z-index: 10;
  display: block;
}

.phone-screen {
  position: absolute;
  top: 2%;
  left: 5%;
  width: 90%;
  height: 96%;
  z-index: 1;
  overflow: hidden;
  border-radius: 30px;
}

.phone-screen img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.step-line.last-line {
  min-width: 500px;
}

.step-scroll-wrapper {
  padding-right: 0;
}

.phone_header {
  display: flex;
}

.phone_appicon {
  position: absolute;
  width: 90px;
  top: 80px;
  left: 20px;
  z-index: 9999;
}

.phone_appname {
  position: absolute;
  top: 80px;
  left: 125px;
  z-index: 9999;
  font-size: 28px;
  font-weight: 600;
}

.phone_appsubtitle {
  position: absolute;
  top: 45px;
  left: 0px;
  z-index: 9999;
  font-size: 12px;
  font-weight: 500;
  color: #A8A8AB;
}

.phone_appdwn {
  position: absolute;
  top: 74px;
  left: 0px;
  z-index: 9999;
  font-size: 12px;
  font-weight: 700;
  color: #fff;
  background-color: #0088FF;
  padding-top: 3px;
  padding-bottom: 3px;
  padding-right: 14px;
  padding-left: 14px;
  border-radius: 50px;
}

.phone_appnaikakin {
  position: absolute;
  top: 80px;
  left: 60px;
  z-index: 9999;
  font-size: 8px;
  font-weight: 500;
  color: #A8A8AB;
}

.phone_appline {
  position: absolute;
  width: 260px;
  top: 195px;
  left: 30px;
  border: solid 1px #A8A8AB;
  z-index: 9999;
  opacity: 0.4;
}

.phone_evaluation {
  position: absolute;
  font-size: 10px;
  font-weight: 300;
  top: 210px;
  left: 42px;
  color: #8d8d91;
  z-index: 9999;
  font-family: "Noto Sans JP", sans-serif;
}

.phone_evaluation_rate {
  position: absolute;
  font-size: 20px;
  font-weight: 700;
  top: 226px;
  left: 57px;
  color: #8d8d91;
  z-index: 9999;
  font-family: "Noto Sans JP", sans-serif;
}

.phone_evalution_img {
  position: absolute;

}

.phone_heightline1 {
  position: absolute;
  width: 1px;
  top: 210px;
  left: 114px;
  height: 55px;
  background-color: #8d8d91;
  z-index: 9999;
  opacity: 0.4;
}

.phone_age {
  position: absolute;
  font-size: 10px;
  font-weight: 300;
  top: 210px;
  left: 144px;
  color: #8d8d91;
  z-index: 9999;
  font-family: "Noto Sans JP", sans-serif;
}

.phone_age_rate {
  position: absolute;
  font-size: 20px;
  font-weight: 700;
  top: 226px;
  left: 137px;
  color: #8d8d91;
  z-index: 9999;
  font-family: "Noto Sans JP", sans-serif;
}

.phone_age2 {
  position: absolute;
  font-size: 10px;
  font-weight: 300;
  top: 254px;
  left: 149px;
  color: #8d8d91;
  z-index: 9999;
  font-family: "Noto Sans JP", sans-serif;
}

.phone_heightline2 {
  position: absolute;
  width: 1px;
  top: 210px;
  left: 189px;
  height: 55px;
  background-color: #8d8d91;
  z-index: 9999;
  opacity: 0.4;
}

.phone_category {
  position: absolute;
  font-size: 10px;
  font-weight: 300;
  top: 210px;
  left: 220px;
  color: #8d8d91;
  z-index: 9999;
  font-family: "Noto Sans JP", sans-serif;
}

.phone_category_img {
  position: absolute;
  font-weight: 700;
  width: 30px;
  top: 226px;
  left: 227px;
  color: #8d8d91;
  z-index: 9999;
  font-family: "Noto Sans JP", sans-serif;
}

.phone_category2 {
  position: absolute;
  font-size: 10px;
  font-weight: 300;
  top: 254px;
  left: 205px;
  color: #8d8d91;
  z-index: 9999;
  font-family: "Noto Sans JP", sans-serif;
}












/* and */
.andphone_header {
  display: flex;
}

.andphone_appicon {
  position: absolute;
  width: 80px;
  top: 80px;
  left: 20px;
  z-index: 9999;
}

.andphone_appname {
  position: absolute;
  top: 80px;
  left: 110px;
  z-index: 9999;
  font-size: 28px;
  font-weight: 600;
}

.andphone_appsubtitle {
  position: absolute;
  top: 55px;
  left: 0px;
  z-index: 9999;
  font-size: 12px;
  font-weight: 500;
  color: #01875F;
}

.andphone_appdwn {
  position: absolute;
  top: 250px;
  left: 28px;
  z-index: 9999;
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  background-color: #01875F;
  padding-top: 3px;
  padding-bottom: 3px;
  padding-right: 85px;
  padding-left: 85px;
  border-radius: 5px;
}

.andphone_appnaikakin {
  position: absolute;
  top: 80px;
  left: 0px;
  z-index: 9999;
  font-size: 8px;
  font-weight: 500;
  color: #A8A8AB;
}

.andphone_appline {
  position: absolute;
  width: 260px;
  top: 195px;
  left: 30px;
  border: solid 1px #A8A8AB;
  z-index: 9999;
  opacity: 0.4;
}

.andphone_evaluation {
  position: absolute;
  font-size: 10px;
  font-weight: 300;
  top: 210px;
  left: 42px;
  color: #000000;
  z-index: 9999;
  font-family: "Noto Sans JP", sans-serif;
}

.andphone_evaluation_rate {
  position: absolute;
  font-size: 14px;
  font-weight: 700;
  top: 190px;
  left: 57px;
  color: #000000;
  z-index: 9999;
  font-family: "Noto Sans JP", sans-serif;
}

.andphone_evalution_img {
  position: absolute;

}

.andphone_heightline1 {
  position: absolute;
  width: 1px;
  top: 185px;
  left: 120px;
  height: 55px;
  background-color: #8d8d91;
  z-index: 9999;
  opacity: 0.4;
}

.andphone_age {
  position: absolute;
  font-size: 10px;
  font-weight: 300;
  top: 210px;
  left: 134px;
  color: #000000;
  z-index: 9999;
  font-family: "Noto Sans JP", sans-serif;
}

.andphone_age_rate {
  position: absolute;
  font-size: 14px;
  font-weight: 700;
  top: 190px;
  left: 140px;
  color: #000000;
  z-index: 9999;
  font-family: "Noto Sans JP", sans-serif;
}

.andphone_age2 {
  position: absolute;
  font-size: 10px;
  font-weight: 300;
  top: 254px;
  left: 149px;
  color: #8d8d91;
  z-index: 9999;
  font-family: "Noto Sans JP", sans-serif;
}

.andphone_heightline2 {
  position: absolute;
  width: 1px;
  top: 185px;
  left: 205px;
  height: 55px;
  background-color: #8d8d91;
  z-index: 9999;
  opacity: 0.4;
}

.andphone_category {
  position: absolute;
  font-size: 10px;
  font-weight: 300;
  top: 210px;
  left: 220px;
  color: #8d8d91;
  z-index: 9999;
  font-family: "Noto Sans JP", sans-serif;
}

.andphone_category_img {
  position: absolute;
  font-weight: 700;
  top: 190px;
  left: 227px;
  font-size: 14px;
  color: #000000;
  z-index: 9999;
  font-family: "Noto Sans JP", sans-serif;
}

.andphone_category2 {
  position: absolute;
  font-size: 10px;
  font-weight: 300;
  top: 254px;
  left: 205px;
  color: #000000;
  z-index: 9999;
  font-family: "Noto Sans JP", sans-serif;
}























.section3_appbox {
  position: absolute;
  top: 1400px;
  left: 50%;
  transform: translateX(-50%);
  width: 540px;
  display: flex;
  justify-content: center;
  color: #595a5a;
  background-color: #e8f2f9;
  padding-top: 20px;
  padding-bottom: 170px;
  border-radius: 30px;


}

.section3_app {
  display: flex;
  align-items: center;
}

.section3_appicon img {
  width: 120px;
  display: block;
}

.section3_apptext {
  margin-left: 18px;
}

.section3_appname {
  font-size: 40px;
  font-weight: 600;
}

.section3_appsubtext {
  font-size: 24px;
}

.app_btn2 {
  position: absolute;
  width: 420px;
  top: 1560px;
  left: 50%;
  transform: translateX(-50%);
}

#section4 {
  background-color: #e8f2f9;
  height: 980px;
}

.section4_title {
  position: absolute;
  font-size: 64px;
  font-weight: 900;
  color: #428bd0;
  left: 30px;
}

.section4_subtitle {
  position: absolute;
  font-size: 32px;
  font-weight: 500;
  color: #428bd0;
  top: 75px;
  left: 30px;
}

.section4_sub_text1 {
  font-weight: 900;
  padding: 5px;
  background-color: #fff;
  position: absolute;
  z-index: 10;
  font-size: 40px;
  top: 140px;
  left: 30px;
  color: #428bd0;
}

.user-voice-card {
  position: absolute;
  top: 250px;
  left: 50%;
  transform: translateX(-50%);
  width: 540px;
  background-color: #fff;
  border-radius: 40px 0px 40px 0px;
  overflow: hidden;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

.card-image {
  position: relative;
  width: 100%;
  height: 340px;
  background-color: #ccc;
}

.card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 40px 0 0 0;
}

.arrow {
  position: absolute;
  top: 180px;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  z-index: 5;
}

.arrow.left {
  left: 20px;
  transform: translateY(-50%) rotate(-135deg);
}

.arrow.right {
  right: 20px;
  transform: translateY(-50%) rotate(45deg);
}


.card-content {
  padding: 30px 20px;
  text-align: center;
  color: #595a5a;
}

.card-title {
  font-size: 40px;
  font-weight: 900;
  margin-bottom: 10px;
}

.card-user-info {
  font-size: 28px;
  font-weight: 500;
}

.card-divider {
  width: 100%;
  border-top: 2px dotted #ccc;
  margin: 15px 0;
}

.card-text {
  font-size: 26px;
  line-height: 1.4;
  text-align: center;
}

.slider-container {
  display: flex;
  transition: transform 0.5s ease-in-out;
  width: 100%;
}

.slide-item {
  flex: 0 0 100%;
  width: 100%;
}

.arrow {
  z-index: 100;
  cursor: pointer;
}

#section5 {
  position: relative;
  width: 600px;
  background-color: #428BD0;
  background-image:
    radial-gradient(rgba(255, 255, 255, 0.15) 6px, transparent 6px),
    radial-gradient(rgba(255, 255, 255, 0.15) 6px, transparent 6px);
  background-size: 40px 40px;
  background-position: 0 0, 20px 20px;
  height: 1250px;
}

.section5_next_title {
  position: absolute;
  top: 50px;
  width: 100%;
  text-align: center;
  color: #fff;
  font-size: 48px;
  font-weight: 900;
  display: flex;
  justify-content: center;
  align-items: center;
}

.section5_next_title::before,
.section5_next_title::after {
  content: "";
  display: block;
  width: 12px;
  height: 80px;
  background-color: #fff;
  clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
}

.section5_next_title::before {
  margin-right: 20px;
  transform: rotate(-15deg);
}

.section5_next_title::after {
  margin-left: 20px;
  transform: rotate(15deg);
}

.section5_img {
  position: absolute;
  width: 600px;
  height: 506px;
  top: 170px;
  left: 50%;
  transform: translateX(-50%);
}

/* .fade-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
  opacity: 0;
  animation: fade-switch 6s infinite;
}


.first-img {
  opacity: 1;
  animation-name: first-fade-switch;

}

.fade-img:nth-child(2) {
  animation-delay: 2s;
}

.fade-img:nth-child(3) {
  animation-delay: 4s;
} */


@keyframes fade-switch {
  0% {
    opacity: 0;
  }

  10% {
    opacity: 1;
  }

  33% {
    opacity: 1;
  }

  43% {
    opacity: 0;
  }

  100% {
    opacity: 0;
  }
}


@keyframes first-fade-switch {
  0% {
    opacity: 1;
  }


  33% {
    opacity: 1;
  }


  43% {
    opacity: 0;
  }


  90% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}


.section5_rose {
  position: absolute;
  width: 135px;
  top: 585px;
  right: 5px;
}

.section5_sub_text1 {
  font-weight: 900;
  padding: 5px;
  background-color: #fff;
  position: absolute;
  z-index: 10;
  font-size: 44px;
  top: 720px;
  width: 410px;
  left: 50%;
  transform: translateX(-50%);
  color: #428bd0;
}

.section5_sub_text2 {
  font-weight: 900;
  padding: 5px;
  background-color: #fff;
  position: absolute;
  z-index: 10;
  font-size: 44px;
  top: 810px;
  width: 510px;
  left: 50%;
  transform: translateX(-50%);
  color: #428bd0;
}

.section5_appbox {
  position: absolute;
  top: 910px;
  left: 50%;
  transform: translateX(-50%);
  width: 540px;
  display: flex;
  justify-content: center;
  color: #595a5a;
  background-color: #e8f2f9;
  padding-top: 20px;
  padding-bottom: 170px;
  border-radius: 30px;


}

.section5_app {
  display: flex;
  align-items: center;
}

.section5_appicon img {
  width: 120px;
  display: block;
}

.section5_apptext {
  margin-left: 18px;
}

.section5_appname {
  font-size: 40px;
  font-weight: 600;
}

.section5_appsubtext {
  font-size: 24px;
}

.app_btn3 {
  position: absolute;
  width: 420px;
  top: 1070px;
  left: 50%;
  transform: translateX(-50%);
}



@media screen and (min-width: 600px) {
  #wrapper {
    max-width: 600px;
    margin: 0 auto;
  }
}


@media screen and (max-width:600px) {

  .section1_bg {
    width: calc(600 / 600 * 100vw);
  }

  .sub_text1 {
    padding: calc(5 / 600 * 100vw);
    font-size: calc(40 / 600 * 100vw);
    top: calc(50 / 600 * 100vw);
    left: calc(0 / 600 * 100vw);
  }

  .sub_text2 {
    padding: calc(5 / 600 * 100vw);
    font-size: calc(40 / 600 * 100vw);
    top: calc(130 / 600 * 100vw);
    left: calc(0 / 600 * 100vw);
  }

  .main-copy {
    width: calc(465 / 600 * 100vw);
    top: calc(230 / 600 * 100vw);
  }

  .sub-copy {
    top: calc(495 / 600 * 100vw);
    width: calc(480 / 600 * 100vw);
  }

  .circle1 {
    top: calc(580 / 600 * 100vw);
    width: calc(189 / 600 * 100vw);
    left: calc(15 / 600 * 100vw);
  }

  .circle2 {
    top: calc(580 / 600 * 100vw);
    width: calc(189 / 600 * 100vw);
  }

  .circle3 {
    top: calc(580 / 600 * 100vw);
    width: calc(189 / 600 * 100vw);
    right: calc(15 / 600 * 100vw);
  }


  .scroll {
    font-size: calc(28 / 600 * 100vw);
    color: #fff;
    top: calc(775 / 600 * 100vw);
    left: 50%;
    transform: translateX(-50%);
    font-weight: 400;
    text-align: center;
  }

  .scroll::after {
    content: "";
    top: calc(50 / 600 * 100vw);
    left: 50%;
    transform: translateX(-50%);
    width: calc(1 / 600 * 100vw);
    height: calc(100 / 600 * 100vw);
    background-color: rgba(255, 255, 255, 0.3);
  }

  .scroll::before {
    content: "";
    top: calc(30 / 600 * 100vw);
    left: 50%;
    width: calc(15 / 600 * 100vw);
    height: calc(15 / 600 * 100vw);
    background-color: #ffffff;
    border-radius: 50%;
    z-index: 99;
    transform: translateX(-50%);
    animation: scroll-dot 2s infinite ease-in-out;
  }



  .rose {
    width: calc(135 / 600 * 100vw);
    top: calc(775 / 600 * 100vw);
    right: calc(5 / 600 * 100vw);
  }

  #section2 {
    height: calc(3100 / 600 * 100vw);
  }

  .section2_title {
    font-size: calc(64 / 600 * 100vw);
    left: calc(30 / 600 * 100vw);
  }

  .section2_subtitle {
    font-size: calc(32 / 600 * 100vw);
    top: calc(75 / 600 * 100vw);
    left: calc(30 / 600 * 100vw);
  }

  .section2_sub_text1 {
    padding: calc(5 / 600 * 100vw);
    font-size: calc(40 / 600 * 100vw);
    top: calc(140 / 600 * 100vw);
    left: calc(30 / 600 * 100vw);
  }

  .section2_sub_text2 {
    padding: calc(5 / 600 * 100vw);
    font-size: calc(40 / 600 * 100vw);
    top: calc(220 / 600 * 100vw);
    left: calc(30 / 600 * 100vw);
  }

  .section2_dakihoudai {
    top: calc(310 / 600 * 100vw);
    left: calc(0 / 600 * 100vw);
  }

  .section2_dakihoudai_title {
    top: calc(840 / 600 * 100vw);
    font-size: calc(40 / 600 * 100vw);
  }

  .dotted-line1 {
    width: calc(520 / 600 * 100vw);
    top: calc(905 / 600 * 100vw);
  }

  .section2_dakihoudai_text {
    width: calc(520 / 600 * 100vw);
    top: calc(925 / 600 * 100vw);
    font-size: calc(28 / 600 * 100vw);

  }



  .section2_oyakodon {
    top: calc(1110 / 600 * 100vw);
    right: calc(0 / 600 * 100vw);
  }

  .section2_oyakodon_title {
    top: calc(1640 / 600 * 100vw);
    font-size: calc(40 / 600 * 100vw);
  }

  .dotted-line2 {
    width: calc(520 / 600 * 100vw);
    top: calc(1705 / 600 * 100vw);
  }

  .section2_oyakodon_text {
    width: calc(520 / 600 * 100vw);
    top: calc(1725 / 600 * 100vw);
    font-size: calc(28 / 600 * 100vw);
  }

  .section2_mugen {
    top: calc(1910 / 600 * 100vw);
    left: calc(0 / 600 * 100vw);
  }

  .section2_mugen_title {
    top: calc(2440 / 600 * 100vw);
    font-size: calc(40 / 600 * 100vw);
  }

  .dotted-line3 {
    width: calc(520 / 600 * 100vw);
    top: calc(2505 / 600 * 100vw);
  }

  .section2_mugen_text {
    width: calc(520 / 600 * 100vw);
    top: calc(2525 / 600 * 100vw);
    font-size: calc(28 / 600 * 100vw);
  }

  .section2_appbox {
    top: calc(2760 / 600 * 100vw);
  }

  .section2_appicon img {
    width: calc(120 / 600 * 100vw);
  }

  .section2_apptext {
    margin-left: calc(18 / 600 * 100vw);
  }

  .section2_appname {
    font-size: calc(40 / 600 * 100vw);
  }

  .section2_appsubtext {
    font-size: calc(24 / 600 * 100vw);
  }

  .app_btn {
    width: calc(420 / 600 * 100vw);
    top: calc(2900 / 600 * 100vw);
  }


  #section3 {
    position: relative;
    width: calc(600 / 600 * 100vw);
    background-color: #428BD0;
    background-image:
      radial-gradient(rgba(255, 255, 255, 0.15) 6px, transparent 6px),
      radial-gradient(rgba(255, 255, 255, 0.15) 6px, transparent 6px);
    background-size: 40px 40px;
    background-position: 0 0, 20px 20px;
    height: calc(1750 / 600 * 100vw);
  }

  .section3_title {
    font-size: calc(64 / 600 * 100vw);
    left: calc(30 / 600 * 100vw);
  }

  .section3_subtitle {
    font-size: calc(32 / 600 * 100vw);
    top: calc(75 / 600 * 100vw);
    left: calc(30 / 600 * 100vw);
  }

  .section3_sub_text1 {
    padding: calc(5 / 600 * 100vw);
    font-size: calc(40 / 600 * 100vw);
    top: calc(140 / 600 * 100vw);
    left: calc(30 / 600 * 100vw);
  }

  .section3_sub_text2 {
    padding: calc(5 / 600 * 100vw);
    font-size: calc(40 / 600 * 100vw);
    top: calc(220 / 600 * 100vw);
    left: calc(30 / 600 * 100vw);
  }

  .how-to-contents {
    top: calc(350 / 600 * 100vw);
    padding-left: calc(25 / 600 * 100vw);
  }

  .step-scroll-wrapper {
    display: flex;
    overflow-x: auto;
    gap: 0;
    padding-left: calc(50 / 600 * 100vw);
    padding-right: calc(150 / 600 * 100vw);
    scroll-snap-type: x mandatory;
    position: relative;
    z-index: 2;
  }


  .step-card {
    flex: 0 0 calc(450 / 600 * 100vw);
  }

  .step-header {
    margin-bottom: calc(30 / 600 * 100vw);
  }

  .step-number {
    width: calc(90 / 600 * 100vw);
    height: calc(90 / 600 * 100vw);
    font-size: calc(48 / 600 * 100vw);
  }

  .step-line {
    height: calc(4 / 600 * 100vw);
  }

  .one_text {
    font-size: calc(40 / 600 * 100vw);
  }

  .one_subtext {
    font-size: calc(28 / 600 * 100vw);
    padding-top: calc(10 / 600 * 100vw);
  }

  .phone-container {
    width: calc(400 / 600 * 100vw);
  }

  .phone-frame {
    width: calc(320 / 600 * 100vw);
    padding-top: calc(24 / 600 * 100vw);
  }

  .phone-screen {
    border-radius: calc(30 / 600 * 100vw);
  }

  .step-line.last-line {
    min-width: calc(500 / 600 * 100vw);
  }


  .phone_appicon {
    width: calc(90 / 600 * 100vw);
    top: calc(80 / 600 * 100vw);
    left: calc(20 / 600 * 100vw);
  }

  .phone_appname {
    top: calc(80 / 600 * 100vw);
    left: calc(125 / 600 * 100vw);
    font-size: calc(28 / 600 * 100vw);
  }

  .phone_appsubtitle {
    top: calc(45 / 600 * 100vw);
    left: calc(0 / 600 * 100vw);
    font-size: calc(12 / 600 * 100vw);
  }

  .phone_appdwn {
    top: calc(74 / 600 * 100vw);
    left: calc(0 / 600 * 100vw);
    font-size: calc(12 / 600 * 100vw);
    padding-top: calc(3 / 600 * 100vw);
    padding-bottom: calc(3 / 600 * 100vw);
    padding-right: calc(14 / 600 * 100vw);
    padding-left: calc(14 / 600 * 100vw);
    border-radius: calc(50 / 600 * 100vw);
  }

  .phone_appnaikakin {
    top: calc(80 / 600 * 100vw);
    left: calc(60 / 600 * 100vw);
    font-size: calc(8 / 600 * 100vw);
  }

  .phone_appline {
    width: calc(260 / 600 * 100vw);
    top: calc(195 / 600 * 100vw);
    left: calc(30 / 600 * 100vw);
    border: solid 1px #A8A8AB;
  }

  .phone_evaluation {
    font-size: calc(10 / 600 * 100vw);
    top: calc(210 / 600 * 100vw);
    left: calc(42 / 600 * 100vw);
  }

  .phone_evaluation_rate {
    font-size: calc(20 / 600 * 100vw);
    top: calc(226 / 600 * 100vw);
    left: calc(57 / 600 * 100vw);
  }

  /* .phone_evalution_img {

} */

  .phone_heightline1 {
    width: calc(1 / 600 * 100vw);
    top: calc(210 / 600 * 100vw);
    left: calc(114 / 600 * 100vw);
    height: calc(55 / 600 * 100vw);
  }

  .phone_age {
    font-size: calc(10 / 600 * 100vw);
    top: calc(210 / 600 * 100vw);
    left: calc(144 / 600 * 100vw);
  }

  .phone_age_rate {
    font-size: calc(20 / 600 * 100vw);
    top: calc(226 / 600 * 100vw);
    left: calc(137 / 600 * 100vw);
  }

  .phone_age2 {
    font-size: calc(10 / 600 * 100vw);
    top: calc(254 / 600 * 100vw);
    left: calc(149 / 600 * 100vw);
  }

  .phone_heightline2 {
    width: calc(1 / 600 * 100vw);
    top: calc(210 / 600 * 100vw);
    left: calc(189 / 600 * 100vw);
    height: calc(55 / 600 * 100vw);
  }

  .phone_category {
    font-size: calc(10 / 600 * 100vw);
    top: calc(210 / 600 * 100vw);
    left: calc(220 / 600 * 100vw);
  }

  .phone_category_img {
    width: calc(30 / 600 * 100vw);
    top: calc(226 / 600 * 100vw);
    left: calc(227 / 600 * 100vw);
  }

  .phone_category2 {
    font-size: calc(10 / 600 * 100vw);
    top: calc(254 / 600 * 100vw);
    left: calc(205 / 600 * 100vw);
  }

  /* and */

  .andphone_appicon {
    width: calc(80 / 600 * 100vw);
    top: calc(80 / 600 * 100vw);
    left: calc(20 / 600 * 100vw);
  }

  .andphone_appname {
    top: calc(80 / 600 * 100vw);
    left: calc(110 / 600 * 100vw);
    font-size: calc(28 / 600 * 100vw);
  }

  .andphone_appsubtitle {
    top: calc(55 / 600 * 100vw);
    left: calc(0 / 600 * 100vw);
    font-size: calc(12 / 600 * 100vw);
  }

  .andphone_appdwn {
    top: calc(250 / 600 * 100vw);
    left: calc(28 / 600 * 100vw);
    font-size: calc(16 / 600 * 100vw);
    padding-top: calc(3 / 600 * 100vw);
    padding-bottom: calc(3 / 600 * 100vw);
    padding-right: calc(85 / 600 * 100vw);
    padding-left: calc(85 / 600 * 100vw);
    border-radius: calc(5 / 600 * 100vw);
  }

  .andphone_appnaikakin {
    top: calc(80 / 600 * 100vw);
    left: calc(0 / 600 * 100vw);
    font-size: calc(8 / 600 * 100vw);
  }

  .andphone_appline {
    width: calc(260 / 600 * 100vw);
    top: calc(195 / 600 * 100vw);
    left: calc(30 / 600 * 100vw);
  }

  .andphone_evaluation {
    font-size: calc(10 / 600 * 100vw);
    top: calc(210 / 600 * 100vw);
    left: calc(42 / 600 * 100vw);
  }

  .andphone_evaluation_rate {
    font-size: calc(14 / 600 * 100vw);
    top: calc(190 / 600 * 100vw);
    left: calc(57 / 600 * 100vw);
  }

  /* .andphone_evalution_img {

} */

  .andphone_heightline1 {
    width: calc(1 / 600 * 100vw);
    top: calc(185 / 600 * 100vw);
    left: calc(120 / 600 * 100vw);
    height: calc(55 / 600 * 100vw);
  }

  .andphone_age {
    font-size: calc(10 / 600 * 100vw);
    top: calc(210 / 600 * 100vw);
    left: calc(134 / 600 * 100vw);
  }

  .andphone_age_rate {
    font-size: calc(14 / 600 * 100vw);
    top: calc(190 / 600 * 100vw);
    left: calc(140 / 600 * 100vw);
  }

  .andphone_age2 {
    font-size: calc(10 / 600 * 100vw);
    top: calc(254 / 600 * 100vw);
    left: calc(149 / 600 * 100vw);
  }

  .andphone_heightline2 {
    width: calc(1 / 600 * 100vw);
    top: calc(185 / 600 * 100vw);
    left: calc(205 / 600 * 100vw);
    height: calc(55 / 600 * 100vw);
  }

  .andphone_category {
    font-size: calc(10 / 600 * 100vw);
    top: calc(210 / 600 * 100vw);
    left: calc(220 / 600 * 100vw);
  }

  .andphone_category_img {
    top: calc(190 / 600 * 100vw);
    left: calc(227 / 600 * 100vw);
    font-size: calc(14 / 600 * 100vw);
  }

  .andphone_category2 {
    font-size: calc(10 / 600 * 100vw);
    top: calc(254 / 600 * 100vw);
    left: calc(205 / 600 * 100vw);
  }

  .section3_appbox {
    top: calc(1400 / 600 * 100vw);
    width: calc(540 / 600 * 100vw);
    padding-top: calc(20 / 600 * 100vw);
    padding-bottom: calc(170 / 600 * 100vw);
    border-radius: calc(30 / 600 * 100vw);
  }


  .section3_appicon img {
    width: calc(120 / 600 * 100vw);
  }

  .section3_apptext {
    margin-left: calc(18 / 600 * 100vw);
  }

  .section3_appname {
    font-size: calc(40 / 600 * 100vw);
    font-weight: 600;
  }

  .section3_appsubtext {
    font-size: calc(24 / 600 * 100vw);
  }

  .app_btn2 {
    width: calc(420 / 600 * 100vw);
    top: calc(1560 / 600 * 100vw);
    left: 50%;
    transform: translateX(-50%);
  }

  #section4 {
    height: calc(980 / 600 * 100vw);
  }

  .section4_title {
    font-size: calc(64 / 600 * 100vw);
    left: calc(30 / 600 * 100vw);
  }

  .section4_subtitle {
    font-size: calc(32 / 600 * 100vw);
    top: calc(75 / 600 * 100vw);
    left: calc(30 / 600 * 100vw);
  }

  .section4_sub_text1 {
    padding: calc(5 / 600 * 100vw);
    font-size: calc(40 / 600 * 100vw);
    top: calc(140 / 600 * 100vw);
    left: calc(30 / 600 * 100vw);
  }

  .user-voice-card {
    top: calc(250 / 600 * 100vw);
    left: 50%;
    transform: translateX(-50%);
    width: calc(540 / 600 * 100vw);
    background-color: #fff;
    border-radius: 40px 0px 40px 0px;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
  }

  .card-image {
    height: calc(340 / 600 * 100vw);
  }

  .card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 40px 0 0 0;
  }

  .arrow {
    top: calc(180 / 600 * 100vw);
    transform: translateY(-50%);
    width: calc(20 / 600 * 100vw);
    height: calc(20 / 600 * 100vw);
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
  }

  .arrow.left {
    left: calc(20 / 600 * 100vw);
    transform: translateY(-50%) rotate(-135deg);
  }

  .arrow.right {
    right: calc(20 / 600 * 100vw);
    transform: translateY(-50%) rotate(45deg);
  }

  .card-content {
    padding: calc(30 / 600 * 100vw) calc(20 / 600 * 100vw);
  }

  .card-title {
    font-size: calc(40 / 600 * 100vw);
    margin-bottom: calc(10 / 600 * 100vw);
  }

  .card-user-info {
    font-size: calc(28 / 600 * 100vw);
  }

  .card-divider {
    width: 100%;
    border-top: 2px dotted #ccc;
    margin: 15px 0;
  }

  .card-text {
    font-size: calc(26 / 600 * 100vw);
  }




  #section5 {
    position: relative;
    width: calc(600 / 600 * 100vw);
    background-color: #428BD0;
    background-image:
      radial-gradient(rgba(255, 255, 255, 0.15) 6px, transparent 6px),
      radial-gradient(rgba(255, 255, 255, 0.15) 6px, transparent 6px);
    background-size: 40px 40px;
    background-position: 0 0, 20px 20px;
    height: calc(1250 / 600 * 100vw);
  }

  .section5_next_title {
    top: calc(50 / 600 * 100vw);
    font-size: calc(48 / 600 * 100vw);
  }

  .section5_next_title::before,
  .section5_next_title::after {
    content: "";
    width: calc(12 / 600 * 100vw);
    height: calc(80 / 600 * 100vw);
  }

  .section5_next_title::before {
    margin-right: calc(20 / 600 * 100vw);
  }

  .section5_next_title::after {
    margin-left: calc(20 / 600 * 100vw);
  }

  .section5_img {
    width: calc(600 / 600 * 100vw);
    height: calc(506 / 600 * 100vw);
    top: calc(170 / 600 * 100vw);
  }


  .section5_rose {
    width: calc(135 / 600 * 100vw);
    top: calc(585 / 600 * 100vw);
    right: calc(5 / 600 * 100vw);
  }

  .section5_sub_text1 {
    padding: calc(5 / 600 * 100vw);
    font-size: calc(44 / 600 * 100vw);
    top: calc(720 / 600 * 100vw);
    width: calc(410 / 600 * 100vw);
  }

  .section5_sub_text2 {
    padding: calc(5 / 600 * 100vw);
    font-size: calc(44 / 600 * 100vw);
    top: calc(810 / 600 * 100vw);
    width: calc(510 / 600 * 100vw);
  }

  .section5_appbox {
    top: calc(910 / 600 * 100vw);
    width: calc(540 / 600 * 100vw);
    padding-top: calc(20 / 600 * 100vw);
    padding-bottom: calc(170 / 600 * 100vw);
    border-radius: calc(30 / 600 * 100vw);
  }


  .section5_appicon img {
    width: calc(120 / 600 * 100vw);
  }

  .section5_apptext {
    margin-left: calc(18 / 600 * 100vw);
  }

  .section5_appname {
    font-size: calc(40 / 600 * 100vw);
  }

  .section5_appsubtext {
    font-size: calc(24 / 600 * 100vw);
  }

  .app_btn3 {
    width: calc(420 / 600 * 100vw);
    top: calc(1070 / 600 * 100vw);
  }


}