@charset "UTF-8";

/* フォントサイズのベースを10pxにする場合の記述　10pxは1remになる */
html {
  font-size: 62.5%;
}

/* アニメーションを止めている人へのアクセシビリティ対応 */
@media (prefers-reduced-motion: no-preference) {
  html {
    scroll-behavior: smooth;
  }
}

body {
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: 0.05em;
  line-height: 1.5;
  color: #1D1E1E;
  font-size: 1.6rem;
}

/* ----- header ----- */
.header {
  position: fixed;
  top: 0;
  left: 50%;
  translate: -50% 0;
  width: 100%;
  max-width: 500px;
  z-index: 100;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 24px;
}

@media screen and (min-width: 768px) {
  .header {
    left: unset;
    right: 0;
    translate: 0 0;
  }
}

@media screen and (min-width: 1260px) {
  .header {
    right: unset;
    top: 0;
    left: 50%;
    translate: -50% 0;
  }
}

.header_logo {
  width: 65%;
}

.header_list {
  display: flex;
  gap: 6px;
  align-items: center;
  justify-content: flex-end;
}

.header_item {
  width: 50px;
  height: 50px;
}

.header_link {
  display: inline-block;
  width: 100%;
  height: 100%;
  position: relative;
}

.header_link img {
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
}

.header_link img:nth-child(2) {
  width: 84%;
  animation: spin 12s linear infinite;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}


/* ----- footer ----- */
.footer {
  width: 100%;
  background-color: #C08B4E;
}

.footer_inner {
  max-width: 500px;
  margin-inline: auto;
  padding: 3.6rem 2rem 3rem;
  background-image: url(../img/footer_bg.webp);
  background-size: cover;
}


@media screen and (min-width: 768px) {
  .footer_inner {
    width: 500px;
    margin-left: auto;
    margin-right: 0;
  }
}

@media screen and (min-width: 1260px) {
  .footer_inner {
    margin-inline: auto;
  }
}

.footer_logo {
  width: 38.4%;
}

.footer_address {
  margin-top: 0.4rem;
  font-size: clamp(10px, 3.3vw, 16px);
  color: #FFFFFF;
  font-weight: bold;
  line-height: 1.2;
}

.footer_address_num {
  font-family:  "Jost", sans-serif;
}

.footer_tel {
  margin-top: 0.5rem;
  font-weight: 500;
  color: #FFFFFF;
  font-size: clamp(10px, 3.5vw, 16px);
  font-family:  "Jost", sans-serif;
}

.footer_tel_sm {
  font-size: clamp(8px, 3vw, 14px);
}

.footer_check {
  margin-top: 2.2rem;
  width: 39%;
  margin-inline: auto;
}

.footer_list {
  display: flex;
  gap: 14px;
  align-items: center;
  justify-content: center;
  padding: 24px;
}

.footer_item {
  width: 70px;
  height: 70px;
}

.footer_link {
  display: inline-block;
  width: 100%;
  height: 100%;
  position: relative;
}

.footer_link img {
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
}

.footer_item:nth-child(1) img:nth-child(2) {
  width: 84%;
}
.footer_item:nth-child(2) img:nth-child(2) {
  width: 82%;
}

@media (any-hover: hover) {
  .footer_link:hover img:nth-child(2) {
    animation: spin 3s linear infinite;
  }  
}

.footer_tb {
  width: 21.8%;
  margin-left: auto;
}

.footer_copy_right {
  margin-top: 1.8rem;
  font-size: 1rem;
  color: #FFFFFF;
  font-weight: 500;
  text-align: center;
  line-height: 1;
}

.footer_copy_right_en {
  font-family:  "Jost", sans-serif;
}

/* ---------- module ---------- */

/* ---------- utility ---------- */

/* ---------- top ---------- */
.top_loading {
  width: 100vw;
  height: 100vh;
  display: grid;
  place-content: center;
  opacity: 1;
  transition: opacity 0.6s ease;
  pointer-events: auto;
  position: fixed;
  inset: 0;   
  z-index: 9999;
  background-color: #7A5E3D;
  display: none; /* ←最初は出さない */
}

.top_loading.is-hide {
  opacity: 0;
  pointer-events: none;
}

.top_loading_character {
  width: 15rem;
}

.top_loading_character img {
  transform-origin: center bottom;
  animation: swing 2s ease-in-out infinite;
}

@keyframes swing {
  0% { transform: rotate(0deg); }
  25% { transform: rotate(15deg); }
  50% { transform: rotate(0deg); }
  75% { transform: rotate(-15deg); }
  100% { transform: rotate(0deg); }
}

.top_loading_text svg text {
  opacity: 0;
  transform: translate(0, 0);
}

.top_loading_character img {
  width: 100%;
  height: 100%;
}

.top_loading_text {
  margin-top: 24px;
  width: 14.3rem;
}

.sidebar_left {
  display: none;
}

@media screen and (min-width: 768px) {
  .sidebar_left {
    display: grid;
    position: fixed;
    top: 0;
    left: 0;
    height: 100vh;
    place-content: center;
    width: calc(100% - 50rem);
  }

  .sidebar_left_button-wrapper {
    max-width: 70%;
    margin-inline: auto;
    position: relative;
  }

  .sidebar_left_link img:nth-child(1){
    animation: tapPulse_slow 4s ease-in-out infinite;
  }

  .sidebar_left_link img:nth-child(2){
    position: absolute;
    width: 17%;
    right: 4px;
    bottom: 8px;
  }
}

@keyframes tapPulse_slow {
  0% {
    transform: scale(1);
  }
  10% {
    transform: scale(1.1);
  }
  20% {
    transform: scale(0.95);
  }
  30% {
    transform: scale(1.05);
  }
  40% {
    transform: scale(1);
  }
  100% {
    transform: scale(1);
  }
}


@media screen and (min-width: 1260px) {
  .sidebar_left {
    width: calc((100% - 500px) / 2);
  }
}

.main {
  width: clamp(30rem, 100%, 50rem);
}

@media screen and (min-width: 768px) {
  .main {
    width: 50rem;
    margin-left: auto;
  }
}

@media screen and (min-width: 1260px) {
  .main {
    margin-inline: auto;
  }
}

.sidebar-right {
  display: none;
}

@media screen and (min-width: 1260px) {
  .sidebar-right {
    display: block;
    width: calc((100% - 500px) / 2);
    height: 100vh;
    position: fixed;
    top: 0;
    right: 0;
  }

  .sidebar-right_logo_wrapper {
    margin-top: 31.5rem;
    width: 74.5%;
    margin-inline: auto;
  }

  .sidebar-right_character_image {
    position: absolute;
    bottom: 0;
    left: 50%;
    translate: -50% 0;
    width: 72.3%;
  }
}

.page_container {
  display: flex;
  justify-content: center;
  background-color: #C08B4E;
  position: relative;
}


.top_kv {
  opacity: 0;
  transition: opacity 0.6s ease;
  width: 100%;
  height: 90svh;
  position: relative;
  background-color: #FFFFFF;
  z-index: 2;
}

.top_kv.is-show {
  opacity: 1;
}

/* スライド背景 */
.top_kv_slides {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.top_kv_slides img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 80%;
  object-fit: cover;
  opacity: 0;
  animation: kvSlide 9s infinite; /* 2秒×3枚 = 6秒で1周 */
}

.top_kv_slides img:nth-child(1) { animation-delay: 0s; }
.top_kv_slides img:nth-child(2) { animation-delay: 3s; }
.top_kv_slides img:nth-child(3) { animation-delay: 6s; }

@keyframes kvSlide {
  0% { opacity: 0; }
  10% { opacity: 1; }
  30% { opacity: 1; }
  35% { opacity: 0; }
  100% { opacity: 0; }
}

.top_kv_logo {
  width: max(200px, 64.1%);
  position: absolute;
  top: 20.7rem;
  left: 50%;
  translate: -50% 0;
}

.cta_link {
  margin-top: 0.8rem;
  margin-left: -0.8rem;
  width: calc(100% - 28px);
  max-width: 44rem;
  position: relative;
  margin-inline: auto;
}

.cta_link_kv {
  position: absolute;
  bottom: 0;
  left: 50%;
  translate: -50% 0;
  z-index: 2; /* 背景より前 */
}

.cta_link img {
  transition: translate 0.1s ease-in;
}

.cta_link img:nth-child(1){
  animation: tapPulse_slow 4s ease-in-out infinite;
}


.cta_link img:nth-child(2){
  position: absolute;
  width: 16%;
  right: 8px;
  bottom: 8px;
}

.top_kv_under {
  background-color: #FFFFFF;
  border-bottom: 3px solid #000000;
  overflow: hidden;
  position: relative;
  bottom: 0;
  height: 10svh;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1;
}


.top_kv_under .marquee {
  display: flex;
  gap: 5px;
  animation: marquee 8s linear infinite;
}

@keyframes marquee {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

/* 画像サイズは元のまま width:72%  */
.top_kv_under .marquee img {
  flex-shrink: 0;                 /* 縮まないように */
  width: 72%;
}

/* ----- top_worries ----- */
.top_worries {
  padding-top: 6rem;
  padding-bottom: 16rem;
  background-color: #DBDBDB;
  background-image:
  /* 縦線 */
  linear-gradient(to right, rgba(255, 255, 255, 20%) 1px, transparent 1px),
  /* 横線 */
  linear-gradient(to bottom, rgba(255, 255, 255, 20%) 1px, transparent 1px);
  background-size: 20px 20px;
  overflow: hidden;
}

.top_worries_card {
  width: 84.6%;
  margin-inline: auto;
  padding: 5.2rem 2.4rem 6.2rem;
  background-color: #FFFFFF;
  border-radius: 1rem;
  border: 3px solid #1D1E1E;
  box-shadow: 3px 3px #B6B6B6;
  position: relative;
}

.top_worries_card img:nth-child(2) {
  width: 66.3%;
  margin-top: 2.5rem;
}

.top_worries_card img:nth-child(3) {
  margin-top: 2.5rem;
}

.top_worries_card img:nth-child(4) {
  margin-top: 3rem;
}

.top_worries_card img:nth-child(5) {
  position: absolute;
  top: -10%;
  left: 50%;
  translate: -50% 0;
  width: 39.4%;
}

.top_worries_conclusion {
  position: relative;
  margin-top: 1.8rem;
}

.top_worries_arrow {
  position: absolute;
  left: 50%;
  bottom: -4.5rem;
  translate: -50% 0;
  width: 13%;
}

.top_worries_arrow svg {
  width: 100%;
}

.top_worry_before_after {
  background-color: #FFFFFF;
  margin-top: 7rem;
  padding-bottom: 2.5rem;
  position: relative;
  background-image: url(../img/top_worry_bg.webp);
  background-size: 80%;
  background-position: center;
  background-repeat: no-repeat;
  border-bottom: 3px solid #000000;
}

.top_worry_before_after_head {
  position: absolute;
  top: 0;
  left: 50%;
  translate: -50% -30%;
  width: calc(100% - 16px);
}

.top_worry_before_after_main {
  padding-top: 13.5rem;
  display: flex;
  justify-content: center;
}

.top_worry_before_after_main img {
  object-fit: contain;

}

.top_worry_before_after_main img:nth-child(1) {
  width: 35%;
  margin-top: 6rem;
}

.top_worry_before_after_main img:nth-child(2) {
  width: 65%;
  margin-left: -3.5rem;
}

.top_worry_before_after_button {
  margin-top: 2.4rem;
  margin-left: 8.5%;
  width: 75.6%;
  position: relative;
}

.top_worry_before_after_button img:nth-child(1) {
  animation: tapPulse_slow 4s ease-in-out infinite;
}

.top_worry_before_after_button img:nth-child(2) {
  position: absolute;
  width: 33%;
  right: 0;
  top: 50%;
  translate: 50% -52%;
}

/* ----- top_solution ----- */
.top_solution {
  margin-top: -12rem;
  overflow: hidden;
  background-image: url(../img/top_solution_bg.webp);
  background-size: cover;
  position: relative;
}

.top_solution_image {
  position: relative;
  width: 78.4%;
  margin-inline: auto;
  padding-top: 5rem;
}

.top_solution_image img {
  opacity: 0;
  transform: translateY(20px);
}

.top_solution_image img:nth-child(2) {
  margin-top: 2rem;
}
.top_solution_image img:nth-child(3) {
  margin-top: 18rem;
}
.top_solution_image img:nth-child(4) {
  margin-top: 2rem;
}


.top_solution_face {
  position: absolute;
  width: 30%;
  top: 42%;
  left: 50%;
  translate: -50% -50%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.top_solution_face img {
  position: absolute;
  width: 100%;
  opacity: 0;
  transform: scale(0);
}

.top_text_animation_under {
  padding: 1rem 0;
  background-color: #1D1E1E;
  overflow: hidden;
}

.top_text_animation_under .marquee {
  display: flex;
  gap: 5px;
  animation: marquee 8s linear infinite;
}

.top_solution_under img {
  width: 37.9%;
}

/* ---------- try ---------- */
.top_try {
  position: relative;
  padding: 7.6rem 0 8.4rem;
  background-color: #E2E2E2;
  overflow: hidden;
}

.top_try::before {
  content: "";
  position: absolute;
  top: -100%;
  left: -100%;
  width: 300%;
  height: 300%;
  background-image: url('/img/pa.svg'); /* SVG画像のパス */
  background-repeat: repeat;
  background-size: 100px 100px; /* 星の密度：調整可 */
  animation: topTryStarScroll 20s linear infinite;
  pointer-events: none; /* 背景だけ反応なし */
  z-index: 0;
}

.top_try > * {
  position: relative;
  z-index: 1;
}

@keyframes topTryStarScroll {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: -300px 300px;
  }
}

.top_try_head {
  display: flex;
  width: 91.8%;
  margin-inline: auto;
  gap: 0.5rem;
}

.top_try_head img:nth-child(1) {
  width: 10.6%;
  animation: tapPulse 1.2s ease-in-out infinite;
  transform-origin: center;
}

@keyframes tapPulse {
  0% {
    transform: scale(1);
  }
  20% {
    transform: scale(1.2);
  }
  40% {
    transform: scale(0.9);
  }
  60% {
    transform: scale(1.1);
  }
  80% {
    transform: scale(1);
  }
  100% {
    transform: scale(1);
  }
}

.top_try_head img:nth-child(2) {
  width: 89.4%;
}

.top_try_car {
  margin-top: 0.4rem;
  width: 88.2%;
  margin-inline: auto;
  position: relative;
}

.top_try_car_button {
  position: absolute;
  transition: scale 0.1s ease-in, filter 0.1s ease-in;
}

.top_try_car_button.is-active {
  scale: 1.1;
  filter: brightness(0.8);
}

@media (any-hover: hover) {
  .top_try_car_button:hover {
    scale: 1.1;
  }
}

.top_try_car_button01 {
  top: 36%;
  left: 0;
}

.top_try_car_button02 {
  top: 25%;
  left: 24%;
}

.top_try_car_button03 {
  top: 36%;
  left: 43%;
}

.top_try_car_button04 {
  top: 65%;
  left: 83%;
}

.top_try_list {
  margin-top: 3.5rem;
}

.top_try_item {
  width: 89.7%;
  margin-inline: auto;
  position: relative;
  display: none;
}


.top_try_item.is-active {
  display: block;
}

.top_try_before-after {
  position: absolute;
  top: 13.8%;
  left: 50%;
  translate: -50% 0;
  width: 90.8%;
  height: 52.9%;
  background-color: gray;
  border-radius: 1rem;
  overflow: hidden;
}

.top_try_before-after_inner {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.top_try_before-after_inner img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  user-select: none;
  pointer-events: none;
}

.top_try_before-after_inner img.after {
  clip-path: inset(0 0 0 50%);
}

/* スライダーUI */
.slider-group {
  position: absolute;
  top: 50%;
  left: 50%;
  display: flex;
  align-items: center;
  transform: translate(-50%, -50%);
  cursor: ew-resize;
  z-index: 10;
  height: 100%;
  aspect-ratio: 34 / 238;
}

.slider-group img.slider {
  width: 100%;
  height: 100%;
  width: auto;
  pointer-events: none;
  user-select: none;
}

.slider-group {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 10;
  cursor: ew-resize;
  display: flex;
  justify-content: center;
  align-items: center;
  pointer-events: auto;
}

.slider-group img.slider {
  height: 100%; /* スライダー画像の高さ（調整OK） */
  width: auto;
  user-select: none;
  pointer-events: none; /* ドラッグ操作は親で処理 */
}

/* ----- cta ----- */
.cta {
  background-color: #FFFFFF;
  padding: 2rem 0;
}

.cta_link__mt {
  margin-top: -8rem;
}

/* ----- flow ----- */
.top_flow {
  padding-top: 5rem;
  padding-bottom: 2rem;
  background-color: #7A5E3D;
  border-top: 3px solid #000000;
  border-bottom: 3px solid #000000;
}

.top_flow_head {
  width: 41.5%;
  margin-inline: auto;
}

.top_flow_list {
  margin-top: 1.5rem;
}

.top_flow_item {
  width: 89.7%;
  margin-inline: auto;
  position: relative;
}

.top_flow_item:not(:first-child) {
  margin-top: 1rem;
}

.top_flow_item img:nth-child(2), .top_flow_item img:nth-child(3){
  position: absolute;  
}

.top_flow_item:nth-child(1) img:nth-child(2) {
  width: 29.7%;
  top: 30%;
  left: 6%;
}

.top_flow_item:nth-child(1) img:nth-child(3) {
  width: 35%;
  left: 17%;
  bottom: -6%;
}

.top_flow_item:nth-child(2) img:nth-child(2) {
  width: 39.4%;
  top: 15%;
  left: 55%;
}

.top_flow_item:nth-child(2) img:nth-child(3) {
  width: 45%;
  left: 60%;
  bottom: 8%;
}

.top_flow_item:nth-child(3) img:nth-child(2) {
  width: 37%;
  top: 15%;
  left: 6%;
}

.top_flow_item:nth-child(3) img:nth-child(3) {
  width: 35%;
  left: 0;
  bottom: 0%;
}

.top_flow_item:nth-child(4) img:nth-child(2) {
  width: 44%;
  top: 5%;
  left: 50%;
}

.top_flow_item:nth-child(4) img:nth-child(3) {
  width: 45%;
  left: 55%;
  bottom: 0%;
}

.top_flow_item img:nth-child(2) {
  animation: swingXRotate 1s ease-in-out infinite alternate;
}

.top_flow_item:nth-child(1) img:nth-child(2) {
  animation-delay: 0s;
  transform-origin: 100% 80%;
}

.top_flow_item:nth-child(2) img:nth-child(2) {
  animation-delay: 0.3s;
  transform-origin: 80% center;
}

.top_flow_item:nth-child(3) img:nth-child(2) {
  animation-delay: 0.6s;
  transform-origin: 0% 100%;
}

.top_flow_item:nth-child(4) img:nth-child(2) {
  animation-delay: 0.9s;
  transform-origin: 100% 0%;
}

@keyframes swingXRotate {
  0% {
    transform: translateX(-5px) rotate(-1deg);
  }
  100% {
    transform: translateX(5px) rotate(1deg);
  }
}

/* ----- voice ----- */
.top_voice {
  padding-top: 4rem;
  padding-bottom: 8rem;
  background-color: #D2842D;
  background-image: repeating-linear-gradient(
    -45deg,             /* ← 斜め方向（右下） */
    #D07F27 0px,          /* 線の色 */
    #D07F27 8px,          /* 線の太さ */
    transparent 8px,   /* 空白開始 */
    transparent 16px   /* 空白幅 + 線幅 */
  );
  position: relative;
}

.top_voice_head {
  font-size: clamp(18px, 6.6vw, 26px);
  text-align: center;
  font-weight: bold;
  color: #FFFFFF;
}

.top_voice_slider {
  margin-top: 1rem;
}

.top_voice_list {
  align-items: center;
}

.top_voice_item {
  width: 300px;
  padding: 0 4rem;
}

.top_voice_item img {
  width: 100%;
}

.custom-arrow {
  width: 1.4rem;
  top: 70%;
}

.swiper-button-prev {
  scale: -1 1;
}

.swiper-button-prev::after,
.swiper-button-next::after {
  display: none;
}

.swiper-pagination {
  top: auto;
  bottom: 10% !important;
}

.swiper-pagination-bullet {
  background-color: #FFFFFF;
  opacity: 1;
}

.swiper-pagination-bullet-active {
  background-color: #B0B0B0;
}

.swiper-pagination-bullet {
  width: 5px;
  height: 5px;
}

/* ----- sns ----- */
.top_sns {
  background-image: url(/img/top_sns_bg.webp);
  background-size: cover;
  background-repeat: no-repeat;
  padding-top: 4.2rem;
  padding-bottom: 1.4rem;
}

.top_sns_image {
  width: 83%;
  margin-inline: auto;
  border-radius: 10px;
  border: 4px solid #FFFFFF;
  aspect-ratio: 302 / 170;
  position: relative;
}

.top_sns_image img.beat-animation {
  animation: beat 0.465s ease-in-out infinite;
}

@keyframes beat {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.01);
  }
}

.top_sns_image::before, .top_sns_image::after {
  content: "";
  display: inline-block;
  position: absolute;
  background-size: contain;
  background-repeat: no-repeat;
  z-index: 2;
}

.top_sns_image::before {
  top: 0;
  right: 2%;
  translate: 50% -50%;
  width: 27%;
  aspect-ratio: 145 / 123 ;
  background-image: url(../img/top_sns_character01.webp);
}

.top_sns_image::after {
  bottom: 6%;
  left: -1%;
  translate: -50% 50%;
  width: 25%;
  aspect-ratio: 7 / 6;
  background-image: url(../img/top_sns_character02.webp);
}

.top_sns_image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 6px;
}

.top_sns_music-button {
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  width: 50px;
  height: 50px;
  aspect-ratio: 1 / 1;
}

.top_sns_music-button img {
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.top_sns_music-button img:nth-child(2) {
  width: 32px;
}

.top_sns_music-button img:nth-child(3) {
  width: 12px;
}
.top_sns_music-button img:nth-child(4) {
  width: 10px;
  opacity: 0;
}


.rotating {
  animation: rotate-center 2s linear infinite;
}

/* 回転アニメーション（中心軸） */
@keyframes rotate-center {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/* 擬似要素を親ごと回転させるためのラッパー */
.top_sns_image.rotating-wrapper::before,
.top_sns_image.rotating-wrapper::after {
  animation: orbit 6s linear infinite;
}

/* 擬似要素が親要素の周囲を回転するアニメーション */
@keyframes orbit {
  0% {
    transform: rotate(0deg) translateX(0) translateY(0);
  }
  100% {
    transform: rotate(360deg) translateX(0) translateY(0);
  }
}


.top_sns_slider {
  margin-top: 4.8rem;
}

.swiper-wrapper_sns {
  transition-timing-function: linear;
}

.top_sns_item {
  aspect-ratio:  9 / 16;
  overflow: hidden;
}

.top_sns_item img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* 中央トリミングして高さ揃える */
  display: block;
  border-radius: 0.5rem;
}

.swiper-pagination_sns {
  padding-top: 15px;
  text-align: center;
} 

.top_sns_link-list {
  display: flex;
  gap: 6px;
  align-items: center;
  justify-content: flex-end;
  padding: 24px;
}

.top_sns_link-item {
  width: 50px;
  height: 50px;
}

.top_sns_link {
  display: inline-block;
  width: 100%;
  height: 100%;
  position: relative;
}

.top_sns_link img {
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
}

.top_sns_link img:nth-child(2) {
  width: 85%;
}

.top_sns_link img:nth-child(2) {
  animation: spin 10s linear infinite;
}


/* ----- price ----- */
.top_price {
  padding-top: 3rem;
  background-color: #FFFFFF;
  position: relative;
}

.top_price::before {
  content: "";
  width: clamp(60px, 25.6vw, 120px);
  aspect-ratio: 2 / 3;
  background-image: url(../img/price_chatacter.webp);
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  left: 4.1%;
  top: -22%;
}

.top_price_title {
  font-size: clamp(18px, 6.6vw, 26px);
  text-align: center;
  font-weight: bold;
  color: #E37900;
}

.top_price_table_wrapper {
  height: 20rem;
  overflow: auto;
  margin-top: 2.5rem;
  width: 87.4%;
  margin-inline: auto;
  padding-right: 1rem;
}

.top_price_table_wrapper::-webkit-scrollbar {
  width: 6px; /* ← 横スクロールなら height に変更 */
}

.top_price_table_wrapper::-webkit-scrollbar-track {
  background: #D9D9D9; /* トラック背景色 */
  border-radius: 4px;
}

.top_price_table_wrapper::-webkit-scrollbar-thumb {
  background-color: #f57c00; /* スクロールバー色 */
  border-radius: 4px;
}


.top_price_head, .top_price_data {
  padding: 1rem;
  height: 5rem;
}

.top_price_head {
  background-color: #F0F0F0;
  border-bottom: 1px solid #D9D9D9;
  font-weight: 500;
}

.top_price_data {
  font-family: "Jost", sans-serif;
  font-weight: 500;
  font-size: clamp(1.2rem, 3.8vw, 1.6rem);
  border-right: 1px solid #D9D9D9;
  border-bottom: 1px solid #D9D9D9;
}

.top_price_data_sm {
  font-size: clamp(1.1rem, 3vw, 1.6rem);
}

.top_text_animation_under__price {
  margin-top: 4rem;
}


