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

body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

ul,
ol {
  list-style: none;
  margin: 0;
  padding: 0;
}

body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

img,
picture {
  max-width: 100%;
  display: block;
}

input,
button,
textarea,
select {
  font: inherit;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
html {
  scroll-behavior: smooth;
  width: 100%;
  overflow-x: hidden;
  font-family: "kozuka-gothic-pr6n", sans-serif;
}

body {
  width: 100%;
  overflow-x: hidden;
  font-family: "kozuka-gothic-pr6n", sans-serif;
  margin: 0;
  padding: 0;
}
body.no-scroll {
  overflow: hidden;
}

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

ul {
  list-style: none;
}

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

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

:focus-visible {
  outline: 2px solid #cf87ff;
  outline-offset: 4px;
}

.wrap {
  width: 100%;
  max-width: 750px;
  margin: 0 auto;
  text-align: left;
  position: relative;
  background-color: #fff;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
  overflow: hidden;
}
.wrap .global-side-bg {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  z-index: 1;
}
.wrap .global-side-bg img {
  width: 100%;
  display: block;
  object-fit: cover;
}
.wrap .global-side-bg2 {
  position: relative;
  width: 118.12%;
  z-index: 1;
}
.wrap .global-side-bg2 img {
  position: absolute;
  width: 100%;
  display: block;
  object-fit: cover;
  margin-top: 65%;
  margin-left: -14.7%;
}
.wrap .global-side-bg3 {
  position: relative;
  width: 112.8%;
  z-index: 0;
}
.wrap .global-side-bg3 img {
  position: absolute;
  width: 100%;
  display: block;
  right: 0;
  object-fit: cover;
  margin-top: 83.5%;
}
.wrap .global-side-bg5 {
  position: relative;
  width: 96%;
  max-width: 642px;
  margin-left: -6.1%;
  z-index: 0;
}
.wrap .global-side-bg5 img {
  position: absolute;
  width: 100%;
  display: block;
}

.inner {
  max-width: 90%;
  margin: 0 auto;
}

.kern-1 {
  letter-spacing: -0.1em;
}

.kern-2 {
  letter-spacing: -0.12em;
}

.kern-3 {
  letter-spacing: -0.02em;
}

.kern-4 {
  letter-spacing: -0.06em;
}

h3 {
  font-family: "din-2014-narrow", sans-serif;
  font-size: clamp(32px, 13.2vw, 99px);
  font-weight: 700;
  line-height: 1.06;
  color: #000;
  letter-spacing: 0.01em;
  margin-bottom: 0.5em;
}

section p:not([class*=description]):not([class*=card_text]):not([class*=title]):not([class*=data-points]):not([class*=main-logo]):not([class*=sub-copy]):not([class*=message]) {
  font-family: "kozuka-gothic-pr6n", sans-serif;
  font-size: min(3.86vw, 29px);
  font-weight: 400;
  line-height: 2.2;
  color: #000;
  margin-bottom: 20px;
}

.fade-in-up {
  opacity: 0;
  transform: translate3d(0, 40px, 0);
  transition: opacity 0.8s cubic-bezier(0.165, 0.84, 0.44, 1), transform 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
  will-change: opacity, transform;
}
.fade-in-up.slide-left {
  transform: translate3d(-100px, 0, 0);
}
.fade-in-up.slide-right {
  transform: translate3d(100px, 0, 0);
}
.fade-in-up.slide-down {
  transform: translate3d(0, -100%, 0);
}
.fade-in-up.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.delay-100 {
  transition-delay: 0.1s;
}

.delay-200 {
  transition-delay: 0.2s;
}

.delay-300 {
  transition-delay: 0.3s;
}

.delay-400 {
  transition-delay: 0.4s;
}

.delay-500 {
  transition-delay: 0.5s;
}

.delay-600 {
  transition-delay: 0.6s;
}

.delay-700 {
  transition-delay: 0.7s;
}

.delay-800 {
  transition-delay: 0.8s;
}

.delay-900 {
  transition-delay: 0.9s;
}

.delay-1000 {
  transition-delay: 1s;
}

.js-parallax {
  will-change: transform;
  backface-visibility: hidden;
  transform-style: preserve-3d;
}

.header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: fixed;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: 750px;
  padding: 40px 0;
  z-index: 100;
  color: #000;
  background-color: transparent;
  transition: background-color 0.2s ease, padding 0.2s ease;
}
.header.is-scrolled {
  background-color: rgba(255, 255, 255, 0.9);
  padding-top: 15px;
  padding-bottom: 15px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}
.header_logo {
  width: 27.3%;
  z-index: 100;
  margin-left: 6.8%;
}
.header_logo img {
  width: 100%;
  display: block;
}
.header_nav {
  display: flex;
  align-items: center;
  margin-right: 5.6%;
}
.header_nav.is-open .icon-bars .bar {
  background-color: #fff;
}
.header_nav.is-open .icon-bars .top {
  height: 3px !important;
  width: 40px !important;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
}
.header_nav.is-open .icon-bars .middle {
  opacity: 0;
  transform: scale(0);
}
.header_nav.is-open .icon-bars .bottom {
  height: 3px !important;
  width: 40px !important;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-45deg);
}
.header_menu-icon {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  z-index: 110;
  cursor: pointer;
  width: min(5.33vw, 40px);
  margin-right: min(5.73vw, 43px);
}
.header_menu-icon .menu-text {
  font-family: "kozuka-gothic-pr6n", sans-serif;
  font-size: min(2.165vw, 16.24px);
  margin-bottom: 6px;
  line-height: 1;
  font-weight: 200;
  width: 100%;
  text-align: center;
  white-space: nowrap;
  transition: color 0.2s;
  text-indent: -3%;
}
.header_nav.is-open .header_menu-icon .menu-text {
  color: #fff;
}
.header .icon-bars {
  position: relative;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
  height: min(8vw, 60px);
}
.header .icon-bars .bar {
  display: block;
  width: 12.5%;
  height: 100%;
  background-color: #000;
  transition: all 0.2s cubic-bezier(0.25, 0.1, 0.25, 1);
}
.header .icon-bars .bar.top {
  height: 65%;
}
.header_menu-wrapper {
  position: fixed;
  top: 0;
  right: 0;
  width: 100%;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.95);
  transform: translateX(100%);
  visibility: hidden;
  opacity: 0;
  transition: transform 0.2s ease-in-out, opacity 0.2s ease-in-out, visibility 0.2s ease-in-out;
  z-index: 100;
  display: flex;
  justify-content: center;
  align-items: center;
}
.header_nav.is-open .header_menu-wrapper {
  transform: translateX(0);
  visibility: visible;
  opacity: 1;
}
.header_menu-list {
  text-align: center;
}
.header_menu-list li {
  margin: 20px 0;
}
.header_menu-list li a {
  font-family: "din-2014-narrow", sans-serif;
  font-size: min(7.43vw, 55.73px);
  color: #fff;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}
.header_menu-list li a:hover {
  color: #cf87ff;
}

.fv {
  position: relative;
  width: 100%;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-bottom: 70%;
}
.fv_bg {
  position: absolute;
  top: -19.8%;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.fv_bg .hero__layer img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.fv .hero__content {
  position: relative;
  z-index: 1;
  width: 88.93%;
  padding-top: 33.5%;
}
.fv .hero__title-area {
  margin-bottom: 15%;
}
.fv .hero__title-area .main-logo-svg {
  width: 101%;
  margin-left: -5.2%;
  margin-bottom: 10.5%;
}
.fv .hero__title-area .main-logo-svg img {
  width: 100%;
}
.fv .hero__title-area .sub-copy {
  font-family: "din-2014-narrow", sans-serif;
  font-size: min(23.18vw, 173.91px);
  line-height: 0.8;
  font-weight: bold;
  width: fit-content;
  background: #000;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  margin-bottom: 6%;
}
.fv .hero__title-area .message {
  font-family: "futura", sans-serif;
  font-size: min(2.26vw, 17px);
  letter-spacing: 0.154em;
  font-weight: medium;
  padding-left: 2%;
}
.fv .hero__scroll-area {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 30%;
  padding-right: 1%;
}
.fv .hero__scroll-area .scroll-down-btn {
  display: flex;
  align-items: center;
  gap: 15px;
  color: #000;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  transition: transform 0.3s ease;
}
.fv .hero__scroll-area .scroll-down-btn .text {
  font-family: "kozuka-gothic-pr6n", sans-serif;
  font-size: min(1.6vw, 12px);
  letter-spacing: 0.05em;
  font-weight: 500;
}
.fv .hero__scroll-area .scroll-down-btn img {
  width: 11.73vw;
  max-width: 88px;
}
.fv .hero__scroll-area .scroll-down-btn:hover {
  transform: translateY(-2px);
}
.fv .hero__bottom {
  width: 51.73vw;
  max-width: 388px;
  margin: auto;
}
.fv .hero__bottom img {
  margin-left: 5%;
}

.concept {
  position: relative;
  width: 100%;
  padding: 0 0 75%;
}
.concept_side-text {
  position: absolute;
  top: 31.3%;
  left: 87.5%;
  z-index: 5;
  font-family: "din-2014-narrow", sans-serif;
  font-size: min(32.26vw, 212px);
  line-height: 1;
  font-weight: bold;
  color: #000;
  writing-mode: vertical-rl;
  white-space: nowrap;
  pointer-events: none;
}
.concept .inner {
  position: relative;
  z-index: 1;
  width: 88%;
  max-width: 622px;
  margin: 0 auto 0 8.6%;
}
.concept .concept_area {
  margin-bottom: 26%;
  color: #000;
}
.concept .concept_area h3 {
  margin-bottom: 22%;
}
.concept .concept_area .concept_lead {
  font-family: "din-2014-narrow", sans-serif;
  font-size: min(7.43vw, 55.73px);
  font-weight: bold;
  line-height: 1.3;
  margin-bottom: 7%;
}
.concept .concept_area .concept_lead .equal {
  line-height: 2;
}
.concept .concept_area .concept_lead .font-sub {
  font-family: "kozuka-gothic-pr6n", sans-serif;
  font-size: min(7.2vw, 54px);
}
.concept .concept_area .concept_text {
  margin-bottom: 16% !important;
  position: relative;
}
.concept .concept_area .concept_text::before {
  content: "";
  position: absolute;
  top: 0;
  right: -11%;
  width: 124.5vw;
  max-width: 886px;
  height: auto;
  aspect-ratio: 606/4999;
  background-image: url(../img/bg2.webp);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  z-index: -1;
}
.concept .concept_area .concept_text strong {
  font-weight: 900;
}
.concept .concept_area .concept_deco-squares {
  width: 39.38%;
  position: relative;
}
.concept .intro_area {
  color: #000;
}
.concept .intro_area .intro_title-en {
  line-height: 1.06;
  margin-bottom: 6.5%;
}
.concept .intro_area .intro_title-jp {
  margin-bottom: 6.5%;
  font-weight: bold;
}
.concept .intro_area .intro_title-jp .sub {
  display: block;
  font-size: min(7.43vw, 55.73px);
  margin-bottom: 0.8%;
  font-weight: normal;
  letter-spacing: 0.075em;
}
.concept .intro_area .intro_title-jp .main {
  display: block;
  font-size: min(7.2vw, 54px);
  line-height: 1.3;
  letter-spacing: 0.047em;
}
.concept .intro_area .intro_text {
  font-size: min(3.7vw, 15px);
  line-height: 2.2;
  font-weight: 500;
  margin-bottom: 6.5% !important;
  letter-spacing: 0.075em;
}
.concept .intro_area .intro_text .highlight-black {
  background-color: #000;
  color: #fff;
  padding: 0.36em 0.35em;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  margin-left: -1.5%;
  letter-spacing: 0.075em;
}
.concept .intro_area .intro_text .large {
  font-weight: 900;
}
.concept .intro_area .intro_arrow-icon {
  width: 14%;
  margin-bottom: 8.5%;
}
.concept .intro_area .intro_arrow-icon img {
  width: 100%;
}
.concept .intro_area .platform_title {
  background-color: #000;
  color: #cf87ff;
  font-family: "kozuka-gothic-pr6n", sans-serif;
  font-size: min(5.42vw, 33.76px);
  font-weight: bold;
  padding: 0.45em 1.1em;
  display: block;
  width: 92%;
  margin-bottom: 4.7%;
  letter-spacing: 0.075em;
}
.concept .intro_area .platform_text {
  font-size: min(7.2vw, 54px) !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  margin-bottom: 0 !important;
}
.concept .intro_area .platform_text strong {
  font-weight: 500;
}

.mission {
  position: relative;
  width: 100%;
  color: #fff;
  padding-bottom: 16%;
  z-index: 1;
}
.mission .inner {
  width: 88.93%;
  margin: 0 auto 0 8.6%;
}
.mission h3 {
  font-size: min(13.2vw, 99px);
  line-height: 1;
  margin-bottom: 13%;
  color: #fff;
}
.mission .mission_divider {
  width: 100%;
  height: 2px;
  background-color: #fff;
  margin-top: 4%;
  margin-bottom: 10%;
}
.mission .mission_block .mission_lead {
  font-size: min(7.2vw, 54px);
  font-weight: 600;
  line-height: 1.29;
  margin-bottom: 6.5%;
}
.mission .mission_block .mission_text {
  color: #fff !important;
  letter-spacing: 0.075em;
}
.mission .vision_block h3 {
  font-size: min(7.43vw, 55.73px);
  font-weight: 600;
  margin-bottom: 6.4%;
}
.mission .vision_block .vision_lead {
  font-size: min(7.2vw, 54px);
  font-weight: 500;
  line-height: 1.29;
  margin-bottom: 30px;
}
.mission .vision_block .vision_text {
  color: #fff !important;
  letter-spacing: 0.075em;
}

.business {
  position: relative;
  width: 100%;
  margin-bottom: 28%;
  z-index: 1;
}
.business .inner {
  width: 88.93%;
  max-width: 651px;
}
.business_title-en {
  font-size: min(13.2vw, 99px);
  line-height: 1;
  margin-bottom: 40px;
  color: #9D8BF2;
}
.business_card {
  background-image: url(../img/bg.webp);
  background-size: cover;
  padding: 11% 0% 9.3% 6.2%;
  color: #000;
  margin-left: -8%;
}
.business_intro {
  margin-bottom: 6%;
  padding-left: 2%;
}
.business_intro .sub-title {
  font-size: min(7.43vw, 55.73px);
  letter-spacing: 0.075em;
}
.business_intro .main-title {
  font-size: min(7.2vw, 54px);
  font-weight: 700;
  line-height: 1.29;
  letter-spacing: 0.047em;
  margin-bottom: 6%;
}
.business_intro .description {
  font-size: min(3.86vw, 29px);
  font-weight: 900;
  line-height: 2.2;
  margin-bottom: 6%;
  letter-spacing: 0.075em;
}
.business .service_container {
  background-color: #fff;
  padding: 6% 7.55% 2.57% 2.73%;
}
.business .platform_logo-strip {
  margin-bottom: 5%;
}
.business .platform_logo-strip img {
  width: 100%;
}
.business .service_item {
  border: 6px solid transparent;
  border-image: linear-gradient(90deg, #93c8f6 0%, #8776e8 24%, #c563d8 41.3%, #ef70cc 54%, #fdbda0 68%);
  border-image-slice: 1;
  margin-bottom: 30px;
  background-color: #fff;
}
.business .service_item:last-child {
  margin-bottom: 0;
}
.business .service_item .service_head {
  display: flex;
  align-items: center;
  border-bottom: 6px solid transparent;
  border-image: linear-gradient(90deg, #93c8f6 0%, #8776e8 24%, #c563d8 41.3%, #ef70cc 54%, #fdbda0 68%);
  border-image-slice: 1;
}
.business .service_item .service_head .num-icon {
  width: 23.71%;
  aspect-ratio: 1;
  font-size: min(13.2vw, 99px);
  font-weight: bold;
  background: linear-gradient(135deg, #c563d8 0%, #ef70cc 27%, #fdbda0 70%);
  margin-right: 6.5%;
}
.business .service_item .service_head .num-icon .num {
  font-family: "din-2014-narrow", sans-serif;
  color: #fff;
  display: block;
  width: 100%;
  text-align: center;
}
.business .service_item .service_head .service_logo {
  width: 63.5%;
  max-width: 363px;
}
.business .service_item .service_head .service_logo img {
  width: 100%;
}
.business .service_item.item-2 .num-icon {
  background: linear-gradient(315deg, #c563d8 0%, #ef70cc 27%, #fdbda0 70%);
}
.business .service_item .service_body {
  padding: 8.59% 11.5% 12% 7.3%;
}
.business .service_item .service_body .catch {
  font-weight: bold !important;
  margin-bottom: 3% !important;
  line-height: 1.65 !important;
  letter-spacing: 0.075em !important;
}
.business .service_item .service_body .service_name {
  font-size: min(5.63vw, 42.26px);
  font-weight: bold;
  line-height: 1.29;
  letter-spacing: 0.047em;
  margin-bottom: 10.6%;
  white-space: nowrap;
}
.business .service_item .service_body .tag_row {
  display: flex;
  align-items: center;
  margin-bottom: 10px;
}
.business .service_item .service_body .tag_row .tag {
  background: linear-gradient(135deg, #93c8f6 0%, #8776e8 0%, #c563d8 55%, #ef70cc 71%, #fdbda0 100%);
  color: #fff;
  font-size: min(3.86vw, 29px);
  font-weight: 400;
  line-height: 1;
  padding: 2.22% 0;
  margin-right: 3.2%;
  letter-spacing: 0.075em;
  white-space: nowrap;
  width: min(17.82vw, 118px);
  text-align: center;
}
.business .service_item .service_body .tag_row .line {
  height: 3px;
  flex-grow: 1;
  background: linear-gradient(90deg, #93c8f6 0%, #8776e8 24%, #c563d8 41.3%, #ef70cc 54%, #fdbda0 68%);
  opacity: 0.5;
}
.business .service_item .service_body .text {
  font-size: min(3.8vw, 15px);
  line-height: 1.8;
  font-weight: 500;
  margin-bottom: 25px;
}
.business .service_item .service_body .text:last-child {
  margin-bottom: 0;
}
.business .achievements {
  margin-top: 19%;
  text-align: center;
  position: relative;
}
.business .achieve_lp {
  margin-bottom: 17%;
}
.business .achieve_lp .label_badge {
  position: relative;
  font-size: min(3.8vw, 14px);
  margin-bottom: 5%;
}
.business .achieve_lp .label_badge .capsule-frame {
  display: block;
  width: 70.66%;
  height: auto;
  margin: auto;
}
.business .achieve_lp .label_badge .label-text {
  position: absolute;
  top: 18%;
  left: 0;
  right: 0;
  margin: auto;
  width: 100%;
  white-space: nowrap;
  font-weight: 600;
  font-size: min(3.8vw, 14px);
  font-family: "hiragino-kaku-gothic-pro", sans-serif;
  line-height: 1.1;
  letter-spacing: 0.02em;
  background: linear-gradient(90deg, #93c8f6 0%, #8776e8 34.6%, #c563d8 65%, #ef70cc 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}
.business .achieve_lp .label_badge .label-text span {
  background: none !important;
  -webkit-text-fill-color: inherit !important;
  color: inherit !important;
  margin-left: -0.7%;
  display: inline-block;
}
.business .achieve_lp .label_badge .label-text span:nth-child(1) {
  font-family: "poppins", sans-serif;
  font-size: min(6.074vw, 45.56px);
  letter-spacing: -0.02em;
}
.business .achieve_lp .label_badge .label-text span:nth-child(2) {
  font-family: "kozuka-gothic-pr6n", sans-serif;
  font-size: min(3.037vw, 22.78px);
}
.business .achieve_lp .label_badge .label-text span:nth-child(3) {
  font-size: min(3.588vw, 26.91px);
  font-family: "kozuka-gothic-pr6n", sans-serif;
}
.business .achieve_lp .label_badge .label-text span:nth-child(4) {
  font-family: "kozuka-gothic-pr6n", sans-serif;
  font-weight: 400;
  font-size: min(3.037vw, 22.78px);
}
.business .achieve_lp .label_badge .label-text span:nth-child(5) {
  font-family: "poppins", sans-serif;
  font-size: min(4.634vw, 34.76px);
  font-weight: 500;
}
.business .achieve_lp .label_badge .label-text span:nth-child(6) {
  font-family: "hiragino-kaku-gothic-pro", sans-serif;
  font-size: min(3.588vw, 26.91px);
}
.business .achieve_lp .lp_image {
  width: 107.5%;
  display: flex;
  overflow-x: auto;
  padding-bottom: 20px;
  -webkit-overflow-scrolling: touch;
  gap: 20px;
  scrollbar-width: thin;
  scrollbar-color: #D6A4E8 #f0f0f0;
  -webkit-mask-image: linear-gradient(to right, black 85%, transparent 100%);
  mask-image: linear-gradient(to right, black 85%, transparent 100%);
}
.business .achieve_lp .lp_image::-webkit-scrollbar {
  display: block;
  height: 4px;
}
.business .achieve_lp .lp_image::-webkit-scrollbar-track {
  background: #f0f0f0;
  border-radius: 2px;
}
.business .achieve_lp .lp_image::-webkit-scrollbar-thumb {
  background: linear-gradient(90deg, #8CA6F2, #E882B6);
  border-radius: 2px;
}
.business .achieve_lp .lp_image img {
  width: 100%;
  margin-right: 20px;
}
.business .achieve_numbers {
  margin-bottom: 28%;
  position: relative;
}
.business .achieve_numbers::before {
  content: "";
  position: absolute;
  top: 9%;
  left: 50%;
  transform: translateX(-50%);
  width: 100vw;
  max-width: 750px;
  height: auto;
  aspect-ratio: 553/3000;
  background-image: url(../img/bg3.webp);
  background-size: cover;
  background-position: top center;
  background-repeat: no-repeat;
  z-index: -1;
}
.business .achieve_numbers .section_title {
  font-size: min(5.63vw, 42.26px);
  font-weight: bold;
  letter-spacing: 0.047em;
  margin-bottom: 3%;
}
.business .achieve_numbers .results_title_capsule {
  position: relative;
  font-weight: bold;
  margin-bottom: 6%;
  z-index: 1;
  line-height: 1;
  white-space: nowrap;
  letter-spacing: 0.02em;
}
.business .achieve_numbers .results_title_capsule .capsule-frame {
  display: block;
  width: 70.66%;
  height: auto;
  margin: auto;
}
.business .achieve_numbers .results_title_capsule .label-text {
  position: absolute;
  top: 18%;
  left: 0;
  right: 0;
  margin: auto;
  width: 100%;
  white-space: nowrap;
  line-height: 1.1;
  font-weight: bold;
  letter-spacing: 0.02em;
  background: linear-gradient(90deg, #93c8f6 0%, #8776e8 35%, #c563d8 70%, #e882b6 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}
.business .achieve_numbers .results_title_capsule .label-text span {
  background: none !important;
  -webkit-text-fill-color: inherit !important;
  color: inherit !important;
  margin-left: -0.7%;
}
.business .achieve_numbers .results_title_capsule .label-text span:nth-child(1) {
  font-family: "poppins", sans-serif !important;
  font-size: min(6.074vw, 45.56px) !important;
  font-weight: 600;
}
.business .achieve_numbers .results_title_capsule .label-text span:nth-child(2) {
  font-family: "hiragino-kaku-gothic-pro", sans-serif;
  font-size: min(3.03vw, 22.78px);
}
.business .achieve_numbers .results_title_capsule .label-text span:nth-child(3) {
  font-size: min(3.588vw, 26.91px);
}
.business .achieve_numbers .results_title_capsule .label-text span:nth-child(4) {
  font-size: min(3.037vw, 22.78px);
  font-weight: 400;
}
.business .achieve_numbers .results_title_capsule .label-text span:nth-child(5) {
  font-size: min(3.588vw, 26.91px);
}
.business .achieve_numbers .num_cards_grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: min(2vw, 27px);
  max-width: 650px;
  margin: auto;
}
.business .achieve_numbers .num_card {
  width: calc(33% - 7px);
  max-width: 198.6px;
  aspect-ratio: 1/1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: #fff !important;
  transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 100%;
}
.business .achieve_numbers .num_card:nth-child(1) {
  background-image: url(../img/card1.webp);
}
.business .achieve_numbers .num_card:nth-child(2) {
  background-image: url(../img/card2.webp);
}
.business .achieve_numbers .num_card:nth-child(3) {
  background-image: url(../img/card3.webp);
}
.business .achieve_numbers .num_card:nth-child(4) {
  background-image: url(../img/card4.webp);
}
.business .achieve_numbers .num_card:nth-child(5) {
  background-image: url(../img/card5.webp);
}
.business .achieve_numbers .num_card:nth-child(6) {
  background-image: url(../img/card6.webp);
}
.business .achieve_numbers .num_card:nth-child(7) {
  background-image: url(../img/card7.webp);
}
.business .achieve_numbers .num_card:hover {
  transform: translateY(-8px) scale(1.02);
}
.business .achieve_numbers .num_card .category {
  font-size: min(2.67vw, 20.25px) !important;
  margin-bottom: 0 !important;
  font-weight: bold;
  color: #fff !important;
  letter-spacing: 0.1em;
  line-height: 1.4 !important;
}
.business .achieve_numbers .num_card .count {
  font-family: "din-2014-narrow", sans-serif !important;
  font-size: min(14.48vw, 108.6px) !important;
  line-height: 0.9 !important;
  font-weight: bold !important;
  color: #fff !important;
  margin: 5px 0 !important;
}
.business .achieve_numbers .num_card .count .unit {
  font-size: min(2.67vw, 20.25px) !important;
  font-family: "kozuka-gothic-pr6n", sans-serif !important;
  margin-left: 2px;
}
.business .achieve_numbers .num_card .per {
  font-family: "poppins", sans-serif !important;
  font-size: min(3.5vw, 24px) !important;
  letter-spacing: 0.1em;
  color: #fff !important;
  line-height: 1.2 !important;
  margin-bottom: 0 !important;
}
.business .achieve_numbers .note {
  width: 100%;
  text-align: right;
  font-size: min(2.49vw, 18.71px) !important;
  display: inline-block;
  position: absolute;
  bottom: 0;
  right: 41%;
  margin-bottom: 0 !important;
  line-height: 1 !important;
}
.business .achieve_genres {
  background: linear-gradient(50deg, #e663d3 0%, #fdbfa0 60%);
  padding: 11% 0 10% 10.7%;
  color: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  overflow: hidden;
}
.business .achieve_genres .genre_header {
  flex: 0 0 auto;
  width: 100%;
  text-align: left;
  margin-bottom: 9%;
}
.business .achieve_genres .genre_header .en {
  font-family: "din-2014-narrow", sans-serif;
  font-size: min(7.916vw, 59.37px);
  line-height: 1.06;
  letter-spacing: 0.011em;
}
.business .achieve_genres .genre_header .jp {
  line-height: 1 !important;
  color: #fff !important;
  font-weight: 100 !important;
  margin-bottom: 0 !important;
  letter-spacing: 0.075em;
}
.business .achieve_genres .genre_header .jp .slash {
  font-weight: 100 !important;
}
.business .achieve_genres .genre_header .jp .small {
  font-family: "din-2014-narrow", sans-serif;
  font-size: min(3.998vw, 29.99px);
  letter-spacing: 0.011em;
  font-weight: bold;
}
.business .achieve_genres .marquee_wrapper {
  width: 100%;
  overflow: hidden;
  padding-bottom: 5px;
}
.business .achieve_genres .genre_list {
  display: grid;
  grid-template-rows: repeat(5, auto);
  grid-auto-flow: column;
  gap: min(4vw, 30px);
  width: max-content;
  animation: marqueeScroll 20s linear infinite;
}
.business .achieve_genres .genre_list:hover {
  animation-play-state: paused;
}
.business .achieve_genres .genre_list span {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #fff;
  color: #000;
  font-size: min(3.637vw, 27.28px);
  padding: 9.27% 0;
  width: min(38.8vw, 291px);
  white-space: nowrap;
  box-shadow: 0 0 10px rgba(255, 255, 255, 0.5);
  letter-spacing: 0.01em;
  line-height: 1;
}

@keyframes marqueeScroll {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    transform: translate3d(-50%, 0, 0);
  }
}
.service {
  position: relative;
  width: 100%;
  padding-bottom: 33.4%;
  text-align: left;
  z-index: 1;
}
.service .inner {
  width: 88.93%;
  max-width: 900px;
  margin: 0 auto;
}
.service .service_block:last-child {
  margin-bottom: 0;
}
.service .service_content {
  margin-bottom: 6%;
  background-image: url(../img/bg-f.webp);
  border-radius: 0 min(42.66vw, 320px) 0 0;
  padding-top: 22.5%;
}
.service .service_content .service_label {
  display: flex;
  align-items: center;
  margin-left: -7.2%;
  margin-bottom: 15%;
}
.service .service_content .service_label .bar {
  width: min(5.07vw, 44px);
  height: min(17.47vw, 131px);
  background-color: #738ced;
  margin-right: 4.5%;
}
.service .service_content .service_label .text {
  font-family: "din-2014-narrow", sans-serif;
  font-size: min(13.2vw, 99px);
  color: #738ced;
  font-weight: bold;
  line-height: 1.06;
  letter-spacing: 0.011em;
}
.service .service_content .service_head {
  margin-bottom: 30px;
}
.service .service_content .service_head .logo-text {
  font-family: "din-2014-narrow", sans-serif;
  font-size: min(10vw, 48px);
  font-weight: bold;
  line-height: 1.2;
  margin-bottom: 2%;
  background: linear-gradient(90deg, #8CA6F2, #D6A4E8, #E882B6);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  display: inline-block;
  width: 77.9%;
}
.service .service_content .service_head .sub-copy {
  font-size: min(5.06vw, 38px);
  font-weight: bold;
  text-indent: -4.5%;
  line-height: 1.47;
  letter-spacing: 0.047em;
}
.service .service_content .service_description {
  font-size: min(3.86vw, 29px);
  line-height: 2.2;
  margin-bottom: 6%;
  letter-spacing: 0.075em;
}
.service .service_content .service_description strong {
  font-weight: 900;
}
.service .service_content .service_points {
  margin-bottom: 28%;
}
.service .service_content .service_points .point_label {
  background: linear-gradient(137deg, #93c8f6 0%, #8776e8 1%, #c563d8 42%, #ef70cc 70%, #fdbda0 94%);
  color: #fff;
  font-size: min(3.86vw, 29px);
  line-height: 1.2;
  padding: 1.45% 5% 1.5% 3.9%;
  display: inline-block;
  margin-bottom: 6%;
  letter-spacing: 0.075em;
}
.service .service_content .service_points .point_list li {
  display: flex;
  align-items: center;
  font-weight: bold;
  font-size: min(5.06vw, 38px);
  margin-bottom: 3%;
  line-height: 1.53;
  letter-spacing: 0.047em;
}
.service .service_content .service_points .point_list li .num {
  display: flex;
  justify-content: center;
  align-items: center;
  padding-top: 0.1em;
  width: min(7.06vw, 53px);
  aspect-ratio: 1;
  border-radius: 50%;
  background: linear-gradient(142deg, #93c8f6 0%, #8776e8 34%, #c563d8 78%, #ef70cc 90%, #fdbda0 84%);
  color: #fff;
  font-size: min(4.29vw, 32.2px);
  font-weight: bold;
  margin-right: 1%;
  flex-shrink: 0;
  font-family: "kozuka-gothic-pr6n", sans-serif;
  line-height: 1;
  letter-spacing: -0.02em;
}
.service .service_content .service_points .point_list li:nth-child(2) .num {
  background: linear-gradient(142deg, #93c8f6 0%, #8776e8 0, #c563d8 10%, #ef70cc 50%, #fdbda0 90%);
}
.service .service_content .service_points .point_list li .small {
  font-size: min(4vw, 30px);
  margin-top: 1%;
}
.service .service_content .detail_box {
  background-color: #F0F0F0;
  padding: 17.3% 0 18% 0;
  margin-bottom: 8%;
  margin-left: 1.5%;
  position: relative;
  border-radius: 32px 0 0 0;
}
.service .service_content .detail_box .box_header {
  margin-bottom: 7.5%;
}
.service .service_content .detail_box .box_header .en {
  position: absolute;
  top: -6%;
  left: 0;
  width: 90%;
  max-width: 605px;
  height: auto;
  display: block;
}
.service .service_content .detail_box .box_header .jp {
  background: linear-gradient(50deg, #93c8f6 0%, #8776e8 0%, #c563d8 50%, #ef70cc 85%, #fdbda0 100%);
  padding: 4.4% 6% 2.39% 8%;
  display: inline-block;
  font-weight: bold !important;
  font-size: min(5.728vw, 42.96px) !important;
  line-height: 1.29 !important;
  letter-spacing: 0.047em;
  width: 103%;
  margin-left: -8%;
  margin-bottom: 0 !important;
  white-space: nowrap;
}
.service .service_content .detail_box .detail_list {
  background: linear-gradient(180deg, #9082F8 0%, #6DB6FF 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  padding: 0 4.5%;
}
.service .service_content .detail_box .detail_list li {
  display: flex;
  align-items: center;
  margin-bottom: 5%;
  line-height: 1.5;
}
.service .service_content .detail_box .detail_list li .plus {
  display: inline-block;
  width: min(5.9vw, 44.2px);
  height: min(6.24vw, 46.8px);
  flex-shrink: 0;
  margin-right: 5%;
  background: linear-gradient(180deg, #9082F8 0%, #6DB6FF 100%);
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 44.2 46.8'%3E%3Cpath d='M26.6 0H17.6V18.9H0V27.9H17.6V46.8H26.6V27.9H44.2V18.9H26.6V0Z'/%3E%3C/svg%3E");
  -webkit-mask-size: 100% 100%;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 44.2 46.8'%3E%3Cpath d='M26.6 0H17.6V18.9H0V27.9H17.6V46.8H26.6V27.9H44.2V18.9H26.6V0Z'/%3E%3C/svg%3E");
  mask-size: 100% 100%;
  mask-repeat: no-repeat;
  mask-position: center;
}
.service .service_content .detail_box .detail_list li .text {
  color: #000;
  font-size: min(3.86vw, 29px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.075em;
  padding-top: 0.35em;
  white-space: nowrap;
}
.service .service_content .detail_box .detail_list li:nth-child(1) .plus {
  background: linear-gradient(180deg, #9082F8 0%, #888FF9 100%);
}
.service .service_content .detail_box .detail_list li:nth-child(2) .plus {
  background: linear-gradient(180deg, #888FF9 0%, #809CFB 100%);
}
.service .service_content .detail_box .detail_list li:nth-child(3) .plus {
  background: linear-gradient(180deg, #809CFB 0%, #77A9FC 100%);
}
.service .service_content .detail_box .detail_list li:nth-child(4) .plus {
  background: linear-gradient(180deg, #77A9FC 0%, #6FB6FD 100%);
}
.service .service_content .detail_box .detail_list li:nth-child(5) {
  margin-bottom: 0;
}
.service .service_content .detail_box .detail_list li:nth-child(5) .plus {
  background: linear-gradient(180deg, #6FB6FD 0%, #6DB6FF 100%);
}
.service .service_content .closing_message {
  font-size: min(3.86vw, 29px);
  line-height: 2.2;
  letter-spacing: 0.075em;
  margin-left: 6%;
}
.service .service_content .closing_message span {
  display: inline-block;
}
.service .service_01 .service_label .bar {
  background-color: #c148e0;
}
.service .service_01 .service_label .text {
  color: #c148e0;
}
.service .service_01 .service_label .service_head .sub-copy {
  margin-left: -3.5%;
}
.service .service_image {
  width: 112.6%;
  margin-left: -6%;
}
.service .service_image img {
  width: 100%;
  height: auto;
  display: block;
}
.service .service_02 .service_label .bar {
  background-color: #8CA6F2;
}
.service .service_02 .service_label .text {
  color: #8CA6F2;
}
.service .service_02 .service_head .logo-text {
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  display: inline-block;
}
.service .service_02 .service_head .sub-copy {
  text-indent: 0;
}
.service .service_02 .service_description_highlight {
  font-size: min(3.86vw, 29px);
  line-height: 2.2;
  font-weight: bold;
  margin-bottom: 19%;
}
.service .service_02 .service_description_highlight p {
  margin-bottom: 1.89% !important;
}
.service .service_02 .service_description_highlight p:first-child {
  margin-left: 2.1%;
  margin-bottom: 0 !important;
}
.service .service_02 .service_description_highlight .mt-20 {
  margin-left: 2.1%;
  margin-bottom: 0 !important;
}
.service .service_02 .service_description_highlight .highlight-blue,
.service .service_02 .service_description_highlight .highlight-purple {
  color: #fff;
  padding: 0 3%;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  display: inline-block;
  letter-spacing: 0.075em;
  font-weight: 700;
  margin-left: -1%;
}
.service .service_02 .service_description_highlight .highlight-blue {
  background: linear-gradient(135deg, #6895ee 0%, #a480ee 100%);
}
.service .service_02 .service_description_highlight .highlight-purple {
  background: linear-gradient(135deg, #8083ec 0%, #ad60e4 100%);
}
.service .service_02 .service_description_highlight .small {
  font-weight: 400;
}
.service .service_02 .service_points .point_label_blue {
  background-color: #6b98ef;
  color: #fff;
  font-size: min(3.86vw, 29px);
  line-height: 2.2;
  padding: 0 5% 0 4%;
  display: inline-block;
  margin-bottom: 6%;
  border-radius: 2px;
}
.service .service_02 .service_points .point_list_blue li {
  display: flex;
  align-items: center;
  font-weight: bold;
  font-size: min(4.93vw, 37px);
  margin-bottom: 3%;
  letter-spacing: 0.047em;
  white-space: nowrap;
}
.service .service_02 .service_points .point_list_blue li .num {
  display: flex;
  justify-content: center;
  align-items: center;
  width: min(7.06vw, 53px);
  aspect-ratio: 1;
  border-radius: 50%;
  color: #fff;
  padding-top: 0.1em;
  font-size: min(4.29vw, 32.2px);
  font-weight: bold;
  font-family: "kozuka-gothic-pr6n", sans-serif;
  letter-spacing: -0.01em;
  margin-right: min(1.06vw, 8.6px);
  flex-shrink: 0;
  background: linear-gradient(155deg, #93c8f6 0%, #8776e8 100%);
}
.service .service_02 .service_points .point_list_blue li:nth-child(1) .num, .service .service_02 .service_points .point_list_blue li:nth-child(2) .num, .service .service_02 .service_points .point_list_blue li:nth-child(4) .num {
  background: linear-gradient(155deg, #93c8f6 0%, #8776e8 148%);
}
.service .service_02 .service_points .point_list_blue li:nth-child(3) .num {
  background: linear-gradient(155deg, #93c8f6 0%, #8776e8 157%);
}
.service .service_02 .service_points .point_list_blue li .small {
  font-size: min(4vw, 30px);
  margin-top: 1%;
}
.service .service_02 .service_image_area {
  text-align: center;
  padding-top: 10.6%;
  position: relative;
}
.service .service_02 .service_image_area::after {
  content: "";
  position: absolute;
  top: 0;
  left: 57%;
  transform: translateX(-50%);
  width: 127%;
  max-width: 845px;
  height: auto;
  aspect-ratio: 758/4999;
  background-image: url(../img/bg5.webp);
  background-size: cover;
  background-position: top center;
  background-repeat: no-repeat;
  z-index: -1;
  pointer-events: none;
}
.service .service_02 .service_image_area .works_showcase {
  margin-bottom: 48%;
  position: relative;
}
.service .service_02 .service_image_area .works_showcase .section_label_blue {
  position: relative;
  color: #fff;
  font-size: min(4.66vw, 35px);
  margin-bottom: 6%;
  z-index: 1;
}
.service .service_02 .service_image_area .works_showcase .section_label_blue .capsule-frame {
  display: block;
  width: 70.66%;
  height: auto;
  margin: auto;
}
.service .service_02 .service_image_area .works_showcase .section_label_blue .label-text {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 100%;
  text-align: center;
  white-space: nowrap;
  letter-spacing: 0.22em;
  line-height: 2.1;
}
.service .service_02 .service_image_area .works_showcase .work_card {
  width: 90.3%;
  max-width: 601px;
  margin: auto;
  background-color: #efefef;
  border-radius: 10px;
  padding-top: 5%;
  padding-bottom: 2%;
  box-shadow: 7px 7px 5px rgba(188, 188, 188, 0.3);
  margin-bottom: 7%;
  overflow: hidden;
  transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.service .service_02 .service_image_area .works_showcase .work_card:hover {
  transform: translateY(-8px) scale(1.02);
}
.service .service_02 .service_image_area .works_showcase .work_card .card_label {
  display: inline-block;
  color: #fff;
  font-weight: bold;
  font-family: "poppins", sans-serif;
  font-style: italic;
  padding: 1.55% 16.1%;
  border-radius: 20px;
  font-size: min(6.268vw, 47.01px);
  letter-spacing: 0.025em;
}
.service .service_02 .service_image_area .works_showcase .work_card .card_label.purple, .service .service_02 .service_image_area .works_showcase .work_card .card_label.pink {
  background-color: #b478c8;
}
.service .service_02 .service_image_area .works_showcase .work_card .card_desc {
  font-family: "hiragino-kaku-gothic-pro", sans-serif !important;
  font-size: min(3.16vw, 23.7px) !important;
  margin-bottom: 0 !important;
  line-height: 2.92 !important;
}
.service .service_02 .service_image_area .works_showcase .work_card .card_img img {
  width: 100%;
  height: auto;
  display: block;
  margin-left: -2%;
}
.service .service_02 .service_image_area .results_area {
  position: relative;
  margin-bottom: 11%;
}
.service .service_02 .service_image_area .results_area .results_title_capsule,
.service .service_02 .service_image_area .results_area .section_label_dark {
  position: relative;
  color: #fff;
  font-size: min(4.66vw, 35px);
  font-weight: 100;
  margin-bottom: 6%;
  z-index: 1;
}
.service .service_02 .service_image_area .results_area .results_title_capsule .capsule-frame,
.service .service_02 .service_image_area .results_area .section_label_dark .capsule-frame {
  display: block;
  width: 70.66%;
  height: auto;
  margin: auto;
}
.service .service_02 .service_image_area .results_area .results_title_capsule .label-text,
.service .service_02 .service_image_area .results_area .section_label_dark .label-text {
  position: absolute;
  top: 12%;
  left: 0;
  right: 0;
  margin: auto;
  width: 100%;
  text-align: center;
  white-space: nowrap;
  letter-spacing: 0.22em;
}
.service .service_02 .service_image_area .results_area .num_cards_grid {
  display: flex;
  justify-content: space-between;
  max-width: 650px;
  margin: 0 auto;
}
.service .service_02 .service_image_area .results_area .num_card {
  width: calc(33.333% - 7px);
  max-width: 198.6px;
  aspect-ratio: 1/1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: #fff !important;
  padding: 5px;
  transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 100%;
}
.service .service_02 .service_image_area .results_area .num_card:nth-child(1) {
  background-image: url(../img/card8.webp);
}
.service .service_02 .service_image_area .results_area .num_card:nth-child(2) {
  background-image: url(../img/card9.webp);
}
.service .service_02 .service_image_area .results_area .num_card:nth-child(3) {
  background-image: url(../img/card10.webp);
}
.service .service_02 .service_image_area .results_area .num_card:hover {
  transform: translateY(-8px) scale(1.02);
}
.service .service_02 .service_image_area .results_area .num_card .category {
  font-size: min(2.67vw, 20.25px) !important;
  margin-bottom: 0 !important;
  font-weight: bold;
  color: #fff !important;
  letter-spacing: 0.1em;
  line-height: 2.3 !important;
}
.service .service_02 .service_image_area .results_area .num_card .count {
  font-family: "din-2014-narrow", sans-serif !important;
  font-size: min(14.48vw, 108.6px) !important;
  line-height: 0.8 !important;
  font-weight: bold !important;
  color: #fff !important;
  margin-bottom: 0 !important;
}
.service .service_02 .service_image_area .results_area .num_card .count .unit {
  font-size: min(2.67vw, 20.25px) !important;
  font-family: "kozuka-gothic-pr6n", sans-serif !important;
  margin-left: 2px;
  color: #fff !important;
  margin-bottom: 0 !important;
}
.service .service_02 .service_image_area .results_area .num_card .per {
  font-family: "poppins", sans-serif !important;
  font-size: min(4vw, 30px) !important;
  letter-spacing: 0.1em;
  color: #fff !important;
  line-height: 1.8 !important;
  margin-bottom: 0 !important;
}
.service .service_02 .service_image_area .results_area .num_card .per .unit {
  font-size: min(2.494vw, 18.71px);
  display: block;
  margin-top: 10%;
}
.service .service_02 .service_image_area .results_area .note {
  width: 100%;
  text-align: right;
  color: #fff !important;
  font-family: "poppins", sans-serif !important;
  font-size: min(2.494vw, 18.71px) !important;
  line-height: 1 !important;
  padding-right: 2%;
  margin-top: 10px;
}
.service .service_02 .service_image_area .affiliate_results .results_title_capsule .label-text {
  letter-spacing: 0.02em !important;
}
.service .service_02 .service_image_area .affiliate_results .num_card:nth-child(1) {
  background-image: url(../img/card11.webp);
}
.service .service_02 .service_image_area .affiliate_results .num_card:nth-child(2) {
  background-image: url(../img/card12.webp);
}
.service .service_02 .service_image_area .affiliate_results .num_card:nth-child(3) {
  background-image: url(../img/card13.webp);
}

.world-view {
  position: relative;
  width: 100%;
  color: #fff;
  text-align: left;
  overflow: hidden;
  z-index: 0;
  padding-top: 21.4%;
}
.world-view::before {
  content: "";
  position: absolute;
  top: 0;
  left: 51.5%;
  transform: translateX(-50%);
  width: 116%;
  max-width: 776px;
  height: 104%;
  background-image: url(../img/bg6.webp);
  background-size: cover;
  background-position: top center;
  background-repeat: no-repeat;
  z-index: -1;
}
.world-view .inner {
  width: 86.4%;
  max-width: 648px;
  margin: 0 auto;
}
.world-view .wv_content {
  margin-bottom: 39%;
  padding-left: 6%;
}
.world-view .wv_content .wv_title {
  font-family: "din-2014-narrow", sans-serif;
  font-size: min(13.2vw, 99px);
  margin-bottom: 28.6%;
  color: #000;
  line-height: 0.73;
}
.world-view .wv_content .wv_sub {
  font-size: min(7.43vw, 55.73px) !important;
  margin-bottom: 13% !important;
  letter-spacing: 0.075em !important;
  color: #fff !important;
  line-height: 1 !important;
}
.world-view .wv_content .wv_lead {
  font-size: min(7.2vw, 54px);
  font-weight: bold;
  line-height: 1.3;
  margin-bottom: 9%;
  letter-spacing: 0.047em;
  white-space: nowrap;
}
.world-view .wv_content .wv_text {
  line-height: 2.6 !important;
  color: #fff !important;
  font-weight: 300 !important;
  letter-spacing: 0.074em;
}
.world-view .contact_area {
  width: 100%;
  margin-bottom: 30%;
}
.world-view .contact_area .contact_title {
  font-family: "acumin-variable", sans-serif;
  font-variation-settings: "slnt" 0, "wdth" 115, "wght" 100;
  font-size: min(14.5893vw, 109.42px);
  font-weight: 100;
  margin-bottom: 19%;
  letter-spacing: 0.02em;
  color: #fff;
  text-align: center;
  white-space: nowrap;
}
.world-view .contact_area .contact_text {
  font-size: min(4.76vw, 35.71px) !important;
  line-height: 1.5 !important;
  color: #fff !important;
  font-weight: 100 !important;
  padding-left: 7%;
  margin-bottom: 15% !important;
}
.world-view .contact_area .contact_btn {
  display: block;
  width: 100%;
  max-width: 600px;
  background-color: #fff;
  color: #000;
  text-align: center;
  font-family: "acumin-variable", sans-serif;
  font-variation-settings: "slnt" 0, "wdth" 115, "wght" 100;
  font-weight: 100;
  padding: 15px 0;
  text-decoration: none;
  font-size: min(7.54vw, 56.86px);
  letter-spacing: 0.02em;
  position: relative;
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  margin: auto;
}
.world-view .contact_area .contact_btn::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
  z-index: 0;
}
.world-view .contact_area .contact_btn:hover {
  transform: translateY(-2px);
}
.world-view .contact_area .contact_btn:hover::after {
  transform: scaleX(1);
  transform-origin: left;
}
.world-view .gallery_wrapper_outer {
  position: relative;
  width: 93%;
  margin: 0 auto 105% auto;
  height: clamp(600px, 150vw, 1165px);
}
.world-view .gallery_wrapper_outer .gallery_area {
  width: 85%;
  height: 100%;
  max-height: 1165px;
  overflow: hidden;
  margin: 0 auto;
}
.world-view .gallery_wrapper_outer .gallery_scroll_wrapper {
  display: flex;
  justify-content: center;
  gap: 7.72%;
  height: 100%;
}
.world-view .gallery_wrapper_outer .gallery_column {
  width: 100%;
  max-width: 259px;
  height: 100%;
  position: relative;
  overflow: hidden;
}
.world-view .gallery_wrapper_outer .scrolling_track {
  display: flex;
  flex-direction: column;
  gap: 2em;
  animation-duration: 20s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  will-change: transform;
  backface-visibility: hidden;
}
.world-view .gallery_wrapper_outer .gallery_item {
  width: 100%;
}
.world-view .gallery_wrapper_outer .gallery_item img {
  width: 100%;
  height: auto;
  object-fit: contain;
  display: block;
}
.world-view .gallery_wrapper_outer .gallery_item:last-child {
  margin-bottom: 2em;
}
.world-view .gallery_wrapper_outer .track_down {
  animation-name: scrollDown;
}
.world-view .gallery_wrapper_outer .track_up {
  animation-name: scrollUp;
  animation-duration: 15s;
}
.world-view .gallery_wrapper_outer .gallery_text_wrapper {
  position: absolute;
  top: clamp(-85%, -130vw, -66%);
  right: -3%;
  writing-mode: vertical-rl;
  z-index: 10;
  width: fit-content;
  display: flex;
  justify-content: center;
  align-items: center;
}
.world-view .gallery_vertical_text {
  font-size: min(3.2vw, 24px) !important;
  letter-spacing: 0.1em;
  color: #fff !important;
  font-family: "acumin-variable", sans-serif !important;
  line-height: 1.94 !important;
  font-variation-settings: "slnt" 0, "wdth" 115, "wght" 100;
  white-space: nowrap;
}
.world-view .info_lead {
  padding-bottom: 6.5%;
}
.world-view .info_lead h2 {
  font-family: "acumin-variable", sans-serif;
  font-size: min(31.7vw, 237.77px);
  font-variation-settings: "slnt" 0, "wdth" 115, "wght" 100;
  font-weight: 100;
  color: #333;
  letter-spacing: -0.02em;
  line-height: 1;
}

@keyframes scrollDown {
  0% {
    transform: translate3d(0, -66.66666%, 0);
  }
  100% {
    transform: translate3d(0, -33.33333%, 0);
  }
}
@keyframes scrollUp {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    transform: translate3d(0, -33.33333%, 0);
  }
}
.footer {
  background-color: #fff;
  color: #333;
  padding-top: 60px;
  text-align: left;
  font-family: "Yu Gothic", "YuGothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif, sans-serif;
}
.footer .inner {
  width: 86.66%;
  padding-top: 18.75%;
  padding-bottom: 13%;
}
.footer_head {
  margin-bottom: 30px;
}
.footer_logo {
  width: 32.13%;
  margin-bottom: 5.5%;
}
.footer_logo img {
  width: 100%;
  height: auto;
  display: block;
}
.footer_company {
  font-size: min(4vw, 30px);
  letter-spacing: 0.01em;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.05em;
}
.footer_divider {
  border-bottom: 1px dashed #333;
  margin: 9.5% 0;
}
.footer .divider_wide {
  margin: 11% 0;
}
.footer_office {
  font-size: min(4vw, 30px);
  letter-spacing: 0.01em;
  line-height: 1;
}
.footer_office .office_title {
  font-size: min(4.93vw, 37px);
  font-weight: bold;
  margin-bottom: 6.4%;
}
.footer_office .office_title span {
  display: inline-block;
  font-weight: 100;
}
.footer_office .office_title span:first-child {
  margin-right: 0.2em;
}
.footer_office .office_title span:last-child {
  margin-left: 0.2em;
}
.footer_office .office_zip {
  margin-bottom: 5.5%;
}
.footer_office .office_address-jp {
  margin-bottom: 8%;
}
.footer_office .office_address-en {
  font-family: "century-gothic", sans-serif;
  font-size: min(3.2vw, 24px);
  line-height: 2.08;
  letter-spacing: 0.075em;
  color: rgba(179, 179, 179, 0.7019607843);
  margin-bottom: 10%;
}
.footer_office .office_tel {
  letter-spacing: 0.05em;
  margin-top: 10px;
}
.footer_office .office_tel a {
  text-decoration: none;
  color: inherit;
  transition: opacity 0.3s;
}
.footer_office .office_tel a:hover {
  opacity: 0.6;
}
.footer_advisors .advisor_row {
  display: flex;
  align-items: center;
  margin-bottom: 5.5%;
  padding-left: 0.5em;
}
.footer_advisors .advisor_row:last-child {
  margin-bottom: 0;
}
.footer_advisors .advisor_role {
  width: 30%;
  font-size: min(4vw, 30px);
  letter-spacing: 0.01em;
}
.footer_advisors .advisor_info {
  padding-left: 3.2%;
  border-left: 1px solid #333;
  font-size: min(4vw, 30px);
  letter-spacing: 0.01em;
}
.footer_advisors .advisor_info .name {
  margin-bottom: 5px;
  line-height: 1.4;
}
.footer_advisors .advisor_info .url {
  display: block;
  font-size: min(4vw, 30px);
  letter-spacing: 0.01em;
  color: #333;
  text-decoration: none;
  word-break: break-all;
}
.footer_advisors .advisor_info .url:hover {
  text-decoration: underline;
  opacity: 0.7;
}
.footer_copyright {
  font-family: "century-gothic", sans-serif;
  background-color: #e6e6e6;
  padding-top: 10%;
  padding-bottom: 22%;
  text-align: center;
}
.footer_copyright p {
  font-size: min(3.2vw, 24px);
  color: #333;
  letter-spacing: 0.075em;
  line-height: 0.7;
  width: 86.66%;
  text-align: left;
  margin: auto;
  display: flex;
  align-items: center;
}
.footer_copyright .copy-mark {
  font-size: 1.1em;
  position: relative;
  margin-right: 5px;
  left: -1px;
}

@media (min-width: 600px) {
  .inner {
    max-width: 85%;
  }
  .service_cards {
    flex-direction: row;
    justify-content: space-between;
  }
  .service_cards .card {
    flex: 1;
    margin: 0 10px;
  }
  .aboutus .inner {
    display: flex;
    align-items: center;
    gap: 40px;
  }
  .aboutus .content-left,
  .aboutus .content-right {
    flex: 1;
  }
  .aboutus .image-box {
    margin-bottom: 0;
    height: 300px;
  }
  .recruit_content {
    flex-direction: row;
    align-items: center;
    gap: 40px;
  }
  .recruit .text-area {
    flex: 1;
    order: 2;
  }
  .recruit .image-box {
    flex: 1;
    order: 1;
    height: 350px;
  }
}
/* ==========================================
   アコーディオンフォーム用スタイル
   ========================================== */
.contact-form-accordion {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.6s cubic-bezier(0.22, 1, 0.36, 1);
  overflow: hidden;
  margin-bottom: 50px;
}

.contact-form-accordion.is-open {
  grid-template-rows: 1fr;
}

.contact-form-accordion .contact-form-inner {
  min-height: 0;
  overflow: hidden;
}

.top-contact-form {
  background-color: transparent;
  margin-top: 0;
  padding: 0 40px;
  border: 1px solid transparent;
  transition: all 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}

.contact-form-accordion.is-open .top-contact-form {
  background-color: rgba(0, 0, 0, 0.85);
  margin-top: 30px;
  padding: clamp(30px, 8vw, 60px) clamp(20px, 5vw, 40px);
  border-color: rgba(255, 255, 255, 0.3);
}

/* ==========================================
   Contact Form 7 フォーム本体のスタイル（完全強制・ダミー再現版）
   ========================================== */
.dad-contact-wrapper {
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
  color: #fff;
  box-sizing: border-box;
  /* ▼ CF7特有のラッパー要素を完全に制御 ▼ */
}
.dad-contact-wrapper .wpcf7-form-control-wrap {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  position: relative;
}
.dad-contact-wrapper {
  /* 行のレイアウト */
}
.dad-contact-wrapper .form-row {
  display: flex;
  align-items: center;
  margin-bottom: min(4vw, 30px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  padding-bottom: 10px;
  transition: border-color 0.3s ease;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
.dad-contact-wrapper .form-row:focus-within {
  border-color: #fff;
}
@media (max-width: 600px) {
  .dad-contact-wrapper .form-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }
}
.dad-contact-wrapper {
  /* ラベル (左側) */
}
.dad-contact-wrapper .form-label {
  width: 35%;
  font-size: min(2.5vw, 18px);
  font-weight: bold;
  letter-spacing: 0.15em;
  color: #fff;
  text-transform: uppercase;
  flex-shrink: 0;
}
@media (max-width: 600px) {
  .dad-contact-wrapper .form-label {
    width: 100%;
  }
}
.dad-contact-wrapper .form-label .req {
  color: #ff4d4d;
  margin-left: 4px;
}
.dad-contact-wrapper {
  /* 入力エリア (右側) */
}
.dad-contact-wrapper .form-input {
  width: 65%;
  max-width: 100%;
  flex-grow: 1;
}
@media (max-width: 600px) {
  .dad-contact-wrapper .form-input {
    width: 100%;
  }
}
.dad-contact-wrapper .form-input {
  /* ▼ 魔法の強制上書き！クラス名に頼らずタグを直接指定 ▼ */
}
.dad-contact-wrapper .form-input input[type=text],
.dad-contact-wrapper .form-input input[type=email],
.dad-contact-wrapper .form-input input[type=tel],
.dad-contact-wrapper .form-input textarea {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  /* size属性・cols属性の無効化 */
  box-sizing: border-box !important;
  background: rgba(255, 255, 255, 0.05);
  border: none;
  color: #fff;
  font-size: min(3vw, 22px);
  outline: none;
  padding: 12px 15px !important;
  border-radius: 4px;
  transition: background 0.3s ease;
  display: block !important;
  margin: 0 !important;
}
.dad-contact-wrapper .form-input input[type=text]:focus,
.dad-contact-wrapper .form-input input[type=email]:focus,
.dad-contact-wrapper .form-input input[type=tel]:focus,
.dad-contact-wrapper .form-input textarea:focus {
  background: rgba(255, 255, 255, 0.1);
}
.dad-contact-wrapper .form-input {
  /* テキストエリア（詳細）専用のスタイル */
}
.dad-contact-wrapper .form-input textarea {
  background: #fff !important;
  color: #000 !important;
  height: min(20vw, 180px) !important;
  min-height: 120px !important;
  resize: vertical !important;
  margin-top: 10px !important;
}
.dad-contact-wrapper {
  /* チェックボックス */
}
.dad-contact-wrapper .checkbox-group {
  display: flex;
  gap: min(5vw, 40px);
  flex-wrap: wrap;
}
.dad-contact-wrapper .checkbox-group .wpcf7-list-item {
  margin: 0;
  display: inline-block;
  margin-right: 10%;
}
.dad-contact-wrapper .checkbox-group label {
  display: flex;
  align-items: center;
  gap: 12px;
  cursor: pointer;
  font-size: min(3vw, 20px);
  font-weight: bold;
  color: #fff;
}
.dad-contact-wrapper .checkbox-group input[type=checkbox] {
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  cursor: pointer;
  margin: 0 !important;
}
.dad-contact-wrapper {
  /* 送信ボタンエリア */
}
.dad-contact-wrapper .form-footer {
  text-align: center;
  margin-top: clamp(30px, 8vw, 60px);
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  padding-top: clamp(30px, 8vw, 50px);
  display: flex;
  justify-content: center;
  gap: 20px;
  flex-wrap: wrap;
}
@media (max-width: 480px) {
  .dad-contact-wrapper .form-footer {
    flex-direction: column-reverse;
    gap: 0;
  }
}
.dad-contact-wrapper .form-footer .wpcf7-submit,
.dad-contact-wrapper .form-footer .form-close-btn {
  background: none;
  color: #fff;
  cursor: pointer;
  transition: all 0.3s ease;
  text-transform: uppercase;
  box-sizing: border-box;
  max-width: 100%;
}
.dad-contact-wrapper .form-footer .wpcf7-submit {
  border: 1px solid #fff;
  padding: 15px clamp(30px, 10vw, 80px);
  font-size: min(2.5vw, 16px);
  letter-spacing: 0.3em;
}
.dad-contact-wrapper .form-footer .wpcf7-submit:hover {
  background: #fff;
  color: #000;
}
.dad-contact-wrapper .form-footer .form-close-btn {
  border: 1px solid rgba(255, 255, 255, 0.5);
  color: rgba(255, 255, 255, 0.5);
  padding: 15px clamp(20px, 5vw, 40px);
  font-size: min(2.2vw, 14px);
  letter-spacing: 0.3em;
}
.dad-contact-wrapper .form-footer .form-close-btn:hover {
  border-color: #fff;
  color: #fff;
  background: rgba(255, 255, 255, 0.1);
}
.dad-contact-wrapper {
  /* CF7特有のエラーメッセージ等の調整 */
}
.dad-contact-wrapper .wpcf7-response-output {
  width: 100%;
  box-sizing: border-box;
  margin-top: 20px;
  border-radius: 4px;
  font-size: min(3vw, 14px);
}
.dad-contact-wrapper .wpcf7-not-valid-tip {
  font-size: 12px;
  margin-top: 5px;
  display: block;
  color: #ff4d4d;
}/*# sourceMappingURL=style.css.map */