@import "./common.css";

/* ヘッダー */
.FV {
  width: 100%;
  position: relative;
  height: 500vh;
}
.FV-wrap {
  position: absolute;
  width: 100%;
  height: 400vh;
  z-index: 10;
}
.FV-catch01,
.FV-catch02 {
  width: 100%;
  position: relative;
  position: fixed;
}
.FV-catch01 > div,
.FV-catch02 > div {
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
}
.FV-catch02 {
  display: none;
  background: center 60% / min(70%, 1066.5px) no-repeat url(../img/circle_ri_bg.png);
}
.ryo-kun-konsaru {
  font-size: 7.5rem;
  text-align: center;
  color: #fff;
}
.bg-white {
  background: #fff;
  color: #747474;
}
.FV-bg {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  width: 100%;
  height: 100vh;
  z-index: -1;
}
.FV-bg::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.3);
}
.FV-bg video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.contact-btn {
  border: 2px solid #747474;
  width: 200px;
  border-radius: 22px;
  overflow: hidden;
  text-align: center;
  font-size: 1.5rem;
  font-weight: 500;
  position: absolute;
  top: 20px;
  right: 30px;
  z-index: 1;
  transition: all 0.3s;
}
.contact-text {
  display: block;
  background: #ffffff;
  width: 100%;
  height: 100%;
  padding: 10px 0;
  transition: all 0.3s;
}
.contact-circle {
  width: 24px;
  height: 24px;
  background: #d9d9d9;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 10px;
  border-radius: 50%;
  transition: all 0.2s;
}
.contact-circle::before {
  content: "";
  position: absolute;
  width: 8px;
  height: 8px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: linear-gradient(180deg, #02f7f8 0%, #f73736 92.47%);
  transition: all 0.2s;
}
.contact-circle::after {
  content: "";
  position: absolute;
  width: 3.75px;
  height: 6.75px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0);
  background: center / cover no-repeat url(../img/contact_arrow.png);
  transition: all 0.3s;
}
.contact-btn:hover .contact-text {
  opacity: 0.5;
}
.contact-btn:hover {
  border: 2px solid #747474;
}
.contact-btn:hover .contact-circle::before {
  width: 19.5px;
  height: 19.5px;
}
.contact-btn:hover .contact-circle::after {
  transform: translate(-50%, -50%) scale(1);
}
.logo-catch {
  text-align: center;
}
.logo-catch h1 {
  font-size: 20rem;
  color: #ffffffb2;
  line-height: 1;
  font-weight: 700;
}
.header-catch {
  font-size: 1.5rem;
  color: #ffffff;
  letter-spacing: 0.5em;
  font-weight: 700;
}
.catch-blue {
  color: rgba(2, 247, 248, 0.7);
}
.catch-red {
  color: rgba(247, 54, 54, 0.7);
}
.header-nav {
  width: 100%;
  position: -webkit-sticky;
  position: fixed;
  left: 0;
  bottom: 0;
}
.header-nav.stop {
  position: -webkit-sticky;
  position: absolute;
  bottom: 0;
}
.header-nav ul {
  display: flex;
  color: #ffffff;
  justify-content: center;
  padding: 0;
  font-size: 1.8rem;
  letter-spacing: 0.21em;
}
.header-nav ul li {
  list-style: none;
}
.header-nav ul li a {
  display: block;
  text-decoration: underline;
  padding: 15px 25px;
}
.scroll-icon-wrap {
  color: #fff;
  position: -webkit-sticky;
  position: fixed;
  display: flex;
  flex-direction: column;
  align-items: center;
  bottom: 120px;
  right: 30px;
  z-index: 10;
}
.scroll-mouse-icon {
  width: 10px;
}
.scroll-arrow {
  width: 4px;
  margin: 10px 0 10px 2px;
}
.scroll-text {
  writing-mode: vertical-rl;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: vertical-rl;
}

main {
  margin-top: -100vh;
  position: relative;
  z-index: 10;
  background: #000000;
}

/* ABOUT USからSERVICEは一つの背景で繋げる */
.black-bg-wrap {
  background: linear-gradient(322.35deg, #000000 4.12%, rgba(0, 0, 0, 0.81) 44.73%, #000000 88.72%),
    linear-gradient(182.37deg, rgba(0, 0, 0, 0.2) 1.99%, rgba(0, 0, 0, 0) 98.07%), #fff;
  position: relative;
}
.black-bg-wrap::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: center/cover no-repeat fixed url(../img/about_us_bg.png);
  opacity: var(--bg-opacity); /* CSS変数でopacityを制御 */
}

/* ABOUT US */
.about-us {
  padding: 60px 0 40px;
  overflow-x: visible;
  position: relative;
}
.about-us-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 10px;
  position: relative;
}
.about-us-text,
.about-us-img {
  width: 50%;
}
.about-us-text {
  color: #ffffff;
  padding-right: 30px;
}
.about-us-text h2 {
  font-size: 5rem;
  margin-top: 10px;
  line-height: 2;
  font-weight: 400;
}
.about-us-title-large {
  font-size: 143%;
  position: relative;
}
.about-us-title-ruby {
  font-size: 30%;
  color: #ffffff;
  position: absolute;
  left: calc(50% + 0.4em);
  transform: translateX(-50%);
  bottom: 100%;
  white-space: nowrap;
  letter-spacing: 0.8em;
}
.white-bg {
  background-color: #ffffff;
  color: #474747;
  display: inline-block;
  line-height: 1;
}
.about-us-text p {
  font-size: 1.4rem;
  margin: 20px 0 20px 20px;
  line-height: 2;
  letter-spacing: 0.1em;
}
.about-us-text-inner {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: auto;
}
.about-us .view-more-btn {
  margin-left: auto;
}
.about-us-bg-circle {
  position: absolute;
  z-index: -1;
}
.about-us-bg-circle.blue {
  background: radial-gradient(
    rgba(3, 247, 247, 0.3) -50%,
    rgba(3, 247, 247, 0.2) 40%,
    transparent 70%
  );
  width: 900px;
  height: 700px;
  top: -250px;
  left: -360px;
}
.about-us-bg-circle.red {
  background: radial-gradient(
    rgba(247, 54, 54, 0.5) -50%,
    rgba(247, 54, 54, 0.2) 40%,
    transparent 70%
  );
  width: 900px;
  height: 700px;
  bottom: 0;
  right: -250px;
  transform: translateY(60%);
}

/* WORKS */
.works {
  padding: 30vh 0;
  margin: 30vh 0 10vw;
  position: relative;
  z-index: 1;
}
.works .large-highlight-text {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
}
.works .bottom-sticky-content {
  z-index: 10;
}
.works-wrap {
  position: relative;
}
.works-inner {
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  position: relative;
  z-index: 10;
  transform: translateY(max(-30%, -200px));
}
.works-phone-wrap {
  width: 45%;
  max-width: 350px;
  position: relative;
  aspect-ratio: 0.487;
}
.works-phone-slide {
  width: 92%;
  margin: 3.5% auto 0;
  border-radius: 20px;
  overflow: hidden;
  cursor: url(../img/hover_cursor.png), pointer;
}
.works-phone-slide-item video,
.works-phone-slide-item > div {
  display: block;
  width: 100%;
  aspect-ratio: 0.4647;
  -o-object-fit: cover;
  object-fit: cover;
  margin: 0;
  padding: 0;
}
.mok_frame_img {
  position: absolute;
  width: 100%;
  z-index: 10;
  top: 0;
  left: 0;
  pointer-events: none;
}
.works-phone-shadow {
  width: 120%;
  position: absolute;
  bottom: -8%;
  left: -10%;
}
.works-text-wrap {
  width: 55%;
  position: relative;
  z-index: 100;
  padding: 0 0 40px 30px;
}
.works-text-slide {
  color: #ffffff;
  position: relative;
  padding: 45px 93.75px 14px 20px;
  cursor: url(../img/hover_cursor.png), pointer;
  background: radial-gradient(circle at 300px 50%, #3b3d40 0%, #292d31 52%, #222426 100%);
  border-radius: 40px;
  box-shadow: 4px 4px 11px 0px #121314e5, -4px -4px 9px 0px #4a4d52e5, 4px -4px 9px 0px #12131433,
    -4px 4px 9px 0px #12131433, -1px -1px 2px 0px #12131480 inset, 1px 1px 2px 0px #4a4d524d inset;
  margin: min(9vw, 140px) 11px 11px;
}
.work-case-num {
  font-size: 2.9rem;
}
.work-case-description {
  font-size: 2.2rem;
  margin: 10px 0 50px 10px;
}
.work-case-name {
  font-size: 2.2rem;
  letter-spacing: 0.41em;
  width: 55%;
  min-width: -webkit-fit-content;
  min-width: -moz-fit-content;
  min-width: fit-content;
  border-bottom: 1px solid #ffffff;
  padding-left: 10px;
  margin-left: 5px;
  position: relative;
}
.work-case-name::before {
  content: "";
  width: 2.5px;
  height: 80%;
  background-color: #ffffff;
  position: absolute;
  top: 5%;
  left: -3px;
}
.work-case-name-rubi {
  transform: scale(0.44);
  transform-origin: left top;
  margin-bottom: -0.66em;
  white-space: nowrap;
  line-height: 1.2;
}
.wroks-text {
  position: relative;
  z-index: 10;
}
.work-case-amount {
  display: flex;
  justify-content: space-between;
  margin-top: 30px;
  position: relative;
  z-index: 10;
}
.work-case-amount-box {
  background: linear-gradient(
    109.83deg,
    rgba(2, 247, 248, 0.1) 2.85%,
    rgba(255, 255, 255, 0.1) 49.61%,
    rgba(247, 55, 54, 0.1) 96.26%
  );
  box-shadow: -10px -10px 6px 0px #f737361a inset,
    -25px -25px 26.433332443237305px 0px #f737361a inset,
    26.433332443237305px 25px 26.433332443237305px 0px #02f7f81a inset,
    10px 10px 6px 0px #02f7f81a inset, 0px 4px 17px 0px #ffffff80 inset;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  width: calc(50% - 10px);
  padding: 10px 20px 15px;
  border-radius: 20px;
}
.work-case-amount-type {
  font-size: 3.15rem;
}
.work-case-amount-num {
  text-align: center;
  font-size: 3rem;
}
.spin-num {
  font-size: 254%;
  line-height: 1;
  font-weight: 600;
}
.works-influencer-img {
  width: 42%;
  position: absolute;
  left: 50%;
  transform: translateX(-12%);
  bottom: 110px;
  opacity: 0;
}
.slick-active .works-influencer-img {
  -webkit-animation: workSlideImageFadein 0.5s ease-in 1s forwards,
    workSlideImageFadeout 0.3s 5.2s forwards;
  animation: workSlideImageFadein 0.5s ease-in 1s forwards, workSlideImageFadeout 0.3s 5.2s forwards;
}
@-webkit-keyframes workSlideImageFadein {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes workSlideImageFadein {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@-webkit-keyframes workSlideImageFadeout {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes workSlideImageFadeout {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
.slide-dots {
  position: absolute;
  right: 26.5px;
  top: 170px;
}
.slide-dots button {
  display: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
  padding: 0;
  border: none;
  background-color: transparent;
}
.slide-dots li {
  width: 7px;
  height: 7px;
  background-color: #fff;
  border-radius: 50%;
  margin: 15px 0;
  position: relative;
  list-style: none;
}
.slide-dots li.slick-active {
  background-color: #02f7f8;
}
.slide-dots li.slick-active::before {
  content: "";
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 1px solid #02f7f8;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.slide-arrow {
  position: absolute;
  width: 20px;
  padding: 5px;
  right: 20px;
  z-index: 10;
  background-color: transparent;
  border: none;
  outline: none;
}
.prev-arrow {
  top: 155px;
}
.next-arrow {
  top: 280px;
}
.work-modal-wrap {
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.8);
  z-index: 100;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s;
}
.work-modal-wrap.active {
  opacity: 1;
  visibility: visible;
}
.work-modal {
  background: center/cover no-repeat url(../img/modal_bg_img.png),
    linear-gradient(303.94deg, #13181c 5.65%, #222425 91.88%);
  color: #fff;
  border-radius: 20px;
  overflow-y: auto;
  overflow: hidden;
  position: relative;
}
.work-modal > div {
  max-height: 95dvh;
  padding: 20px;
  overflow-y: auto;
}
.work-modal::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-filter: blur(5px);
  filter: blur(5px);
  z-index: -1;
}
.modal-case-num {
  font-size: 3.5rem;
}
.modal-case-desc {
  font-size: 3rem;
  padding-left: 4.5rem;
  font-weight: 900;
}
.modal-content-wrap {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-top: 20px;
}
.modal-content {
  width: 47%;
}
.modal-content table {
  margin-top: 20px;
}
.modal-content th,
.modal-content td {
  text-align: left;
  padding: 5px 0;
  font-size: 1.6rem;
  font-weight: 700;
}
.modal-content th div {
  padding-right: 20px;
  border-right: 1px solid #fff;
}
.modal-content td div {
  padding-left: 15px;
}
.modal-right {
  width: 100%;
  height: 100%;
  box-shadow: -12.15px 12.15px 12.15px 0px #ffffff47 inset,
    12.15px -12.15px 12.15px 0px #b6b6b647 inset;
  -webkit-backdrop-filter: blur(234.4306640625px);
  backdrop-filter: blur(234.4306640625px);
  border-radius: 20px;
  padding: 60px 35px 30px;
}
.modal-case-amount {
  display: flex;
  justify-content: center;
  font-size: 3.5rem;
}
.modal-case-view {
  font-weight: 500;
}
.modal-case-amount-num {
  margin-left: 20px;
  white-space: nowrap;
}
.modal-case-amount-symbol {
  font-weight: 400;
  color: #b3b3b3;
}
.modal-right-text {
  margin-top: 55px;
}
.modal-right-text p {
  font-size: 1.6rem;
}
.modal-links {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  font-size: 4rem;
}
.modal-links a:first-of-type {
  font-size: 3.3rem;
  margin-right: 20px;
}

/* service */
.service {
  padding: 0 0 100vh;
  transition: all 0.3s;
  position: relative;
  z-index: 20;
}
.service-bg::after {
  content: "";
  display: block;
  width: 100%;
  height: 10vw;
  -webkit-clip-path: polygon(0 100%, 100% 100%, 100% 0);
  clip-path: polygon(0 100%, 100% 100%, 100% 0);
  background: #d9d9d9;
  position: absolute;
  left: 0;
  top: -9.94vw;
}
.service-bg {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: linear-gradient(170.39deg, #d9d9d9 45.44%, #c5c5c5 91.55%);
  position: absolute;
  top: 0;
  left: 0;
}
.service-inner {
  position: relative;
  z-index: 1;
}
.service-wrap {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  margin-top: -90px;
}
.service-text-wrap {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.service-text-wrap h2 {
  font-size: 4.5rem;
}
.service-text-wrap p {
  font-size: 1.8rem;
  margin: 30px 0 20px;
}
.service-text-content {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.service-text-wrap .view-more-btn {
  position: relative;
  z-index: 10;
  margin-left: auto;
}
.service-circle-wrap {
  width: 500px;
  height: 450px;
  background: center bottom / 330px no-repeat url(../img/service_circle.png);
  position: relative;
  margin-bottom: 20px;
}
.service-circle {
  width: 200px;
  height: 200px;
  background: linear-gradient(135deg, #cecece 0%, #e4e4e4 100%);
  box-shadow: 14.5px 14.5px 36.5px 0px #898989e5, -14.5px -14.5px 29px 0px #ffffffe5,
    14.5px -14.5px 29px 0px #89898933, -14.5px 14.5px 29px 0px #89898933,
    -1px -1px 2px 0px #89898980 inset, 1px 1px 2px 0px #ffffff4d inset;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.95rem;
  text-align: center;
}
.service-circle-inner {
  width: calc(100% - 6px);
  height: calc(100% - 6px);
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  background: linear-gradient(135deg, #cecece 0%, #e4e4e4 100%);
  box-shadow: 16px 16px 40px 0px #a7a7a7e5, -16px -16px 32px 0px #ffffffe5,
    16px -16px 32px 0px #a7a7a733, -16px 16px 32px 0px #a7a7a733, -1px -1px 2px 0px #a7a7a780 inset,
    1px 1px 2px 0px #ffffff4d inset;
}
.service-circle01 {
  margin: auto;
}
.service-circle02 {
  position: absolute;
  left: 0;
  bottom: 0;
  transform: translateY(20px);
}
.service-circle03 {
  position: absolute;
  right: 0;
  bottom: 0;
  transform: translateY(20px);
}

/* MEMBER */
.member {
  background: right top / cover no-repeat url(../img/member_bg.png);
  padding: 90vh 0 100vh;
  position: relative;
  margin-top: -70vh;
  z-index: 10;
  transition: all 0.3s;
}
.member::before {
  content: "";
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: right top / cover no-repeat url(../img/member_bg_img.png);
  z-index: -1;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s;
}
.member.active::before {
  opacity: 1;
  visibility: visible;
}
.member.hidden {
  opacity: 0;
}
.member .large-highlight-text {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
}
.member-wrap {
  margin-top: 60px;
}
.member-wrap-box {
  height: 39vw;
  max-height: 560px;
  display: flex;
  align-items: flex-end;
  overflow-x: auto;
}
.member-inner {
  min-width: 100%;
  white-space: nowrap;
  text-align: center;
  margin: 15px 0;
}
.member-card {
  display: inline-block;
  width: 10%;
  background: #ffffff03;
  box-shadow: 0px 49px 50px 0px #acf5ff40 inset, 0px 2px 9px 0px #92ced24d inset,
    0px 1px 20px 0px #deffff33 inset, 0px 5px 28px 0px #ffffff80 inset,
    0px 1px 4px 0px #ffffff inset, 0px -41px 34px 0px #4998984d inset;
  -webkit-backdrop-filter: blur(106.67752838134766px);
  backdrop-filter: blur(106.67752838134766px);
  position: relative;
  overflow: hidden;
  padding-top: 5%;
  border-radius: 20px;
  transition: all 0.5s;
}
.member-card:not(:first-child) {
  margin-left: 33px;
}
.member-name {
  writing-mode: vertical-rl;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: vertical-rl;
  position: absolute;
  left: 0;
  bottom: 0;
  color: #e7e7e7;
  text-shadow: 10px 7px 4px #00000040;
  font-size: 2.25rem;
  letter-spacing: 0.18em;
}
.member-position {
  margin-bottom: 10px;
}
.member-img {
  width: 150%;
  margin-left: -15%;
  transition: all 0.5s;
}
.member-card.active {
  padding-top: 0;
  width: 25%;
  box-shadow: 0px 49px 50px 0px #acf5ff40 inset, 0px 2px 9px 0px #92ced24d inset,
    0px 1px 20px 0px #deffff33 inset, 0px 5px 28px 0px #ffffff80 inset,
    0px 1px 4px 0px #ffffff inset, 0px -41px 34px 0px #4998984d inset,
    23.47px -1.07px 13.01px 0px #f7373624, 13.87px 4.27px 13.01px 0px #02f7f824;
}
.member-card.active .member-img {
  width: 100%;
  margin-left: 0;
}
.member-card.active .member-name {
  width: 100%;
  padding: 5px 50px;
  -webkit-writing-mode: horizontal-tb;
  -ms-writing-mode: lr-tb;
  writing-mode: horizontal-tb;
  bottom: 0;
  background: linear-gradient(
      91.23deg,
      rgba(2, 247, 248, 0.2) 2.28%,
      rgba(255, 255, 255, 0.08) 97.92%
    ),
    linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(247, 55, 54, 0.2) 100%);
  text-decoration: underline;
  font-size: 3.75rem;
  text-align: left;
}
.member-card.active .member-position {
  display: block;
  font-size: 60%;
}
.member-modal-wrap {
  width: 100%;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  visibility: hidden;
  background: rgba(0, 0, 0, 0.8);
}
.member-modal {
  width: 94%;
  max-width: 1440px;
  box-shadow: 32px 25px 88px 0px #00000021, 127px 98px 160px 0px #0000001f,
    285px 221px 216px 0px #00000012, 506px 393px 256px 0px #00000005,
    791px 614px 280px 0px #00000000, -85.16px 85.16px 85.16px 0px #ffffff1a inset,
    85.16px -85.16px 85.16px 0px #c2c2c21a inset;
  -webkit-backdrop-filter: blur(170.31927490234375px);
  backdrop-filter: blur(170.31927490234375px);
  border-radius: 38px;
  overflow: hidden;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  visibility: hidden;
  opacity: 0;
  transition: all 0.3s;
}
.member-modal > div {
  display: flex;
  max-height: 95dvh;
  overflow-y: auto;
}
.member-modal-wrap.active,
.member-modal.active {
  visibility: visible;
  opacity: 1;
}
.member-modal-text {
  width: 52.5%;
  color: #fff;
  padding: 46.35px 33.9675px 38.175px 54.5325px;
}
.member-modal-img {
  width: 47.5%;
}
.member-modal-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.member-modal-name-en {
  font-size: 6.8rem;
  font-weight: 700;
  max-width: 520px;
  border-bottom: 1px solid #fff;
  line-height: 1.3;
}
.member-modal-name-jp {
  margin-top: 13.7px;
  font-size: 3.4rem;
  font-weight: 700;
}
.member-modal-desc {
  font-size: 1.6rem;
  font-weight: 700;
  margin: 49.6125px 0 13.7px;
}

/* BLOG */
.blog {
  background: linear-gradient(180deg, #dcdcdc 0%, #ffffff 100%);
  box-shadow: 0px 4px 4px 0px #00000040;
  margin-top: -50vw;
  padding: 50vw 0 80px;
}

.blog .view-more-btn {
  margin: auto;
}

/* ノートPC */
@media screen and (max-width: 1279px) {
  .header-nav ul {
    font-size: 1.2rem;
  }
  .about-us-text h2 {
    font-size: 3.5rem;
  }
  .about-us-text p,
  .service-text-wrap p {
    font-size: 1.2rem;
  }
  .works-phone-wrap {
    width: 35%;
  }
  .works-text-wrap {
    width: 65%;
  }
  .works-text-slide {
    margin: 5vw 11px 11px;
  }
  .work-case-num {
    font-size: 2.4rem;
  }
  .work-case-description,
  .work-case-name {
    font-size: 1.8rem;
  }
  .work-case-description {
    margin: 10px 0 60px 10px;
  }
  .work-case-name::before {
    height: 33px;
  }
  .works-influencer-img {
    width: 40%;
  }
  .work-case-amount-num {
    font-size: 2.5rem;
  }
  .modal-right-text {
    margin-top: 40px;
  }
  .modal-case-num {
    font-size: 3.75rem;
  }
  .modal-case-desc {
    font-size: 3.5rem;
  }
  .modal-content th,
  .modal-content td {
    font-size: 2rem;
  }
  .modal-case-amount {
    font-size: 3rem;
  }
  .service-text-wrap h2 {
    font-size: 3rem;
  }
  .service-circle-wrap {
    width: 320px;
    height: 290px;
    background: center bottom / 230px no-repeat url(../img/service_circle.png);
  }
  .service-circle {
    width: 130px;
    height: 130px;
    font-size: 1.3rem;
  }
  .service-wrap {
    margin-top: -45px;
  }
  .member-card {
    width: 20%;
  }
  .member-card.active {
    width: 40%;
  }
  .member-wrap-box {
    height: 60vw;
    max-height: none;
  }
  .member-name {
    font-size: 1.5rem;
  }
  .member-card.active .member-name {
    font-size: 2.5rem;
  }
}

/* タブレット */
@media screen and (max-width: 959px) {
  .ryo-kun-konsaru {
    font-size: 6rem;
  }
  .logo-catch h1 {
    font-size: 15rem;
  }
  .header-nav ul li a {
    padding: 15px;
  }
  .work-case-num {
    font-size: 2.3rem;
  }
  .work-case-description {
    font-size: 1.6rem;
  }
  .work-case-amount-type {
    font-size: 3rem;
  }
  .work-case-amount-num {
    font-size: 2.25rem;
  }
  .works-inner {
    margin-top: -20px;
    transform: translateY(0);
  }
  .works-text-slide {
    padding: 45px 20px 14px;
  }
  .works-influencer-img {
    width: 45%;
    transform: translateX(0);
  }
  .works-text-wrap {
    padding: 0 0 0 30px;
  }
  .modal-case-desc {
    font-size: 2.75rem;
  }
  .modal-right {
    padding: 40px 20px 25px;
  }
  .modal-case-amount {
    font-size: 2rem;
  }
  .modal-content th,
  .modal-content td {
    font-size: 1.6rem;
  }
  .modal-right-text p {
    font-size: 1.4rem;
  }
  .slide-dots {
    right: 36.5px;
  }
  .slide-arrow {
    right: 30px;
  }
  .service-wrap {
    padding-top: 20px;
  }
  .service-text-wrap h2 {
    font-size: 2.7rem;
  }
  .service-circle {
    font-size: 1.2rem;
    width: 110px;
    height: 110px;
  }
  .service-circle-wrap {
    width: 285px;
    height: 270px;
  }
  .service-circle02,
  .service-circle03 {
    transform: translateY(-5px);
  }
  .member-modal-name-en {
    font-size: 5rem;
  }
  .member-modal-name-jp {
    font-size: 2.3rem;
  }
  .member-modal-desc {
    font-size: 1.6rem;
    margin: 20px 0 10px;
  }
  .member-modal-text {
    padding: 30px 10px 20px 20px;
  }
  .blog-card-date {
    font-size: 1rem;
  }
  .blog-card-title {
    font-size: 1.4rem;
  }
}

/* スマホ */
@media screen and (max-width: 767px) {
  .ryo-kun-konsaru {
    font-size: 3rem;
  }
  .FV-catch02 {
    background: center / min(95%, 1066.5px) no-repeat url(../img/circle_ri_bg.png);
  }
  .logo-catch h1 {
    font-size: 10rem;
  }
  .header-catch {
    font-size: 1.4rem;
    margin-top: 40px;
  }
  .hamburger-btn {
    width: 34px;
    height: 18px;
    margin: 40px 15px 0 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-end;
    background-color: transparent;
    border: none;
    outline: none;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 1000;
  }
  .hamburger-btn span {
    width: 100%;
    height: 2px;
    background-color: #fff;
  }
  .hamburger-btn::before {
    content: "";
    width: 100%;
    height: 2px;
    background-color: #fff;
  }
  .hamburger-btn::after {
    content: "";
    width: 20px;
    height: 2px;
    background-color: #fff;
  }
  .header-nav {
    top: 0;
    right: 0;
    left: auto;
    bottom: auto;
  }
  .header-nav-content {
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.6);
    position: fixed;
    top: 0;
    left: 0;
    display: flex;
    align-self: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s;
  }
  .header-nav-content.active {
    opacity: 1;
    visibility: visible;
    z-index: 100;
  }
  .header-nav ul {
    flex-direction: column;
    text-align: center;
  }
  .scroll-icon-wrap {
    right: 50%;
    bottom: calc((50% - 80px) * 0.5);
    transform: translate(50%, 50%);
  }
  .phone-scroll-text {
    font-size: 1.2rem;
  }
  .black-bg-wrap::before {
    background: center/ 100vw 100vh no-repeat fixed url(../img/sp_about_us_bg.png);
  }
  .about-us {
    padding: 0 0 10px;
  }
  .about-us-wrap {
    flex-direction: column;
  }
  .about-us-text,
  .about-us-text-inner {
    width: 100%;
  }
  .about-us-text {
    padding-right: 0;
  }
  .about-us-text h2 {
    font-size: 3rem;
  }
  .about-us-img {
    width: 70%;
    margin: 10px 0 0 auto;
  }
  .about-us-text p {
    font-size: 1.4rem;
    margin: 20px 0 30px;
    letter-spacing: 0.1em;
  }
  .about-us .view-more-btn {
    margin: auto;
    position: relative;
    z-index: 10;
  }
  .about-us-bg-circle.blue {
    background: radial-gradient(rgba(3, 247, 247, 0.3) 0%, #02f8f800 95%);
    width: 250px;
    height: 250px;
    top: 0;
  }
  .about-us-bg-circle.red {
    background: radial-gradient(rgba(247, 54, 54, 0.5) 10%, #f7373600 75%);
    width: 250px;
    height: 300px;
    transform: translateY(25%);
    right: -60px;
  }
  .works-text-slide {
    padding: 50px 0 0;
    background: transparent;
    box-shadow: none;
    margin: 20px 0 0;
  }
  .works-text-wrap {
    width: 100%;
    padding: 0;
    margin-bottom: 20px;
  }
  .works-phone-wrap {
    width: calc(50% - 15px);
    max-width: 200px;
    position: absolute;
    left: 25%;
    transform: translateX(-50%);
    bottom: 245px;
  }
  .work-case-num {
    text-align: right;
  }
  .work-case-amount {
    flex-direction: column;
  }
  .work-case-amount-box {
    margin-left: auto;
    padding: 5px 15px 10px;
    margin-bottom: 20px;
  }
  .work-case-amount-type,
  .work-case-amount-num,
  .work-case-name {
    font-size: 1.6rem;
  }
  .wroks-phone-text {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    background: radial-gradient(41.75% 43.42% at 50% 50%, #3b3d40 0%, #292d31 52%, #222426 100%);
    box-shadow: 2.3655171394348145px 2.3655171394348145px 6.045210838317871px 0px #121314e5,
      -2.3655171394348145px -2.3655171394348145px 4.731034278869629px 0px #4a4d52e5,
      2.3655171394348145px -2.3655171394348145px 4.731034278869629px 0px #12131433,
      -2.3655171394348145px 2.3655171394348145px 4.731034278869629px 0px #12131433,
      -0.2628352642059326px -0.2628352642059326px 0.5256705284118652px 0px #12131480 inset,
      0.2628352642059326px 0.2628352642059326px 0.5256705284118652px 0px #4a4d524d inset;
    border-radius: 20px;
    max-width: 343px;
    margin: 55px auto 0;
  }
  .wroks-text-left {
    padding: 14px 0 0 15px;
  }
  .work-case-name {
    width: 160px;
    min-width: auto;
    border-bottom: 0.26px solid #ffffff;
  }
  .work-case-name::before {
    width: 1px;
    height: 26px;
  }
  .work-case-description {
    font-size: 1.2rem;
    margin: 5px 0 60px 5px;
  }
  .works-influencer-img {
    position: static;
    width: 130px;
    transform: translateX(0);
    margin: -60px 0 0 10px;
  }
  .work-modal > div {
    padding: 10px;
  }
  .modal-content-wrap {
    display: block;
    margin-top: 10px;
  }
  .modal-content:first-of-type {
    width: 80%;
    margin: auto;
  }
  .modal-content:last-of-type {
    width: 100%;
  }
  .modal-case-num,
  .modal-case-desc {
    padding-left: 10px;
  }
  .modal-case-num {
    font-size: 1.8rem;
  }
  .modal-case-desc {
    font-size: 1.4rem;
  }
  .modal-content table {
    width: 100%;
    margin-top: 10px;
  }
  .modal-content th,
  .modal-content td {
    display: block;
    padding: 3px 13px;
  }
  .modal-content td div {
    padding: 0;
  }
  .modal-content th div {
    border-right: none;
  }
  .modal-content th {
    font-size: 1rem;
  }
  .modal-content td {
    font-size: 1.2rem;
    color: #d1d1d1;
  }
  .modal-content tr {
    display: block;
    padding-bottom: 7px;
  }
  .modal-right {
    box-shadow: -2.17px 2.17px 2.17px 0px #ffffff47 inset, 2.17px -2.17px 2.17px 0px #b6b6b647 inset;
    -webkit-backdrop-filter: blur(41.880062103271484px);
    backdrop-filter: blur(41.880062103271484px);
    padding: 25px 20px 10px;
  }
  .modal-case-amount {
    font-size: 1.4rem;
    gap: 18px;
  }
  .modal-right-text {
    margin-top: 0;
  }
  .modal-right-text {
    font-size: 1.2rem;
  }
  .modal-right-text p {
    font-size: 1.2rem;
  }
  .modal-links a:first-of-type {
    font-size: 1.4rem;
    margin-right: 14px;
  }
  .modal-links a:last-of-type {
    font-size: 1.8rem;
  }
  .next-arrow {
    top: auto;
    bottom: 15px;
    left: 50%;
    transform: rotate(90deg) translateY(130px);
  }
  .slide-dots {
    display: flex;
    right: auto;
    left: 50%;
    top: auto;
    bottom: 19px;
    transform: translateX(-113px);
  }
  .slide-dots li {
    margin: 0 5px;
  }
  .prev-arrow {
    top: auto;
    right: auto;
    left: 50%;
    bottom: 15px;
    transform: rotate(90deg) translateY(49px);
    z-index: 10;
  }
  .service-wrap {
    display: block;
    padding-top: 0;
    padding-bottom: 20px;
    margin-top: -20px;
  }
  .service-text-wrap {
    width: 100%;
  }
  .service-text-wrap h2 {
    font-size: 2rem;
  }
  .service-circle-wrap {
    margin: 20px auto;
  }
  .service-text-wrap p {
    font-size: 1.4rem;
    letter-spacing: 0.1em;
  }
  .service-text-wrap .view-more-btn {
    margin: auto;
  }
  .member-wrap {
    margin-top: 0;
  }
  .member-wrap-box {
    height: 350px;
  }
  .member-card {
    width: 100px;
    padding-top: 10px;
  }
  .member-card:not(:first-child) {
    margin-left: 15px;
  }
  .member-card.active {
    width: 200px;
  }
  .member-card.active .member-name {
    font-size: 1.6rem;
    padding: 5px 20px;
  }
  .member-modal > div {
    flex-direction: column-reverse;
  }
  .member-modal-text,
  .member-modal-img {
    width: 100%;
  }
  .member-modal-name-en {
    font-size: 2.4rem;
  }
  .member-modal-name-jp {
    font-size: 1.6rem;
    margin-top: 5px;
  }
  .member-modal-desc {
    font-size: 1rem;
  }
  .blog {
    padding: 20px 0 60px;
  }
  .blog .large-highlight-text {
    margin-left: 0;
  }
  .blog-wrapper {
    padding: 20px 25px 0;
  }
}
