@charset "UTF-8";
/* CSS Document */

:root {
   --fs-sm: clamp(0.66rem, 0.02vi + 0.65rem, 0.67rem);
   --fs-base: clamp(0.88rem, 0.23vi + 0.82rem, 1rem);
   --fs-md: clamp(1.16rem, 0.61vi + 1.01rem, 1.5rem);
   --fs-lg: clamp(1.55rem, 1.28vi + 1.23rem, 2.25rem);
   --fs-xl: clamp(2.06rem, 2.39vi + 1.46rem, 3.38rem);
   --fs-xxl: clamp(2.74rem, 4.23vi + 1.68rem, 5.06rem);
   --fs-xxxl: clamp(3.64rem, 7.19vi + 1.84rem, 7.59rem);

   --color--gry: #778781;
   --color--ash: #a3a1a1;
   --color--lgry: #D9D4CF;
   --color--blk: #242424;
   --color--wht: #F8F9FA;
   --color--dwht: #d4d6d9;

   --color--red: #d64d2e;
   --color--smnpink: #fb6f77;
   --color--org: #f07e3d;
   --color--yel: #f1c150;
   --color--vyel: #fdcf41;
   --color--lblu: #96c7ed;
   --color--paleblu: #77a0b1;
   --color--dblu: #1e4e76;

   --color--trsp--wht: #F8F9FAB8;
   --color--trsp--lblu: #96c7ed76;
   --color--trsp--lgry: #77878176;
}

html {
   font-size: 1.8vmin;
    color: #0f0f0f;
    scroll-behavior: smooth;
}

* {
   box-sizing: border-box;
}

body {
   margin: 0;
   padding: 0;
   width: 100vw;
}

body.no-scroll {
   overflow: hidden;
}

.cover {
   overflow-x: hidden;
   height: auto;
}

header {
   padding: 5vw 65px;
   position: fixed;
   top: 0;
   width: 100%;
   display: flex;
   align-items: flex-start;
   justify-content: space-between;
   font-family: "sofia-pro", "Helcetica Neue", Arial, Helvetica, sans-serif;
   letter-spacing: 0.1rem;
   font-weight: 700;
   z-index: 100;
   pointer-events: none;
}
a {	
   text-decoration: none;
}
ul {
   list-style: none;
   margin: 0;
   padding: 0;
   display: flex;
}
li {
   font-size: clamp(1rem, 0.875rem + 0.5vw, 1.25rem);
   list-style: none;
}

h1 {
   font-size: var(--fs-xxxl);
}

h2 {
   font-size: var(--fs-xxl);
}

h3 {
   font-size: var(--fs-xl);
}

h4 {
   font-size: var(--fs-lg);
}

h5 {
   font-size: var(--fs-md);
}

h6 {
   font-size: var(--fs-base);
}

.font-1 {
   font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, "ＭＳ Ｐゴシック", sans-serif !important;
   letter-spacing: 0.3rem;
   line-height: 2;
}
.font-2 {
   font-family: "Kiwi Maru", "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, "ＭＳ Ｐゴシック", sans-serif !important;
   letter-spacing: 0.3rem;
   line-height: 2;
}
.font-3 {
   font-family: "Outfit", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
   letter-spacing: 0.3rem;
   line-height: 2;
}
.font-4 {
   font-family: "Gaegu", "Outfit", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
}

header a {
   font-size: clamp(0.75rem, 0.659rem + 0.45vw, 1rem);
   pointer-events: all;
}

img {
   pointer-events: none;
}

.header-nav-container {
   display: flex;
   flex-direction: row;
   width: 100%;
   align-items: center;
   pointer-events: all;
}

.header-line {
   height: 2px;
   width: 100%;
   border-bottom: solid;
   margin: 1vw;
   display: block;
}


header ul {
   padding: 10px 10px;
   background: #F6F9FA;
   border-radius: 100px;
}

header li {
   padding: 10px 10px;
   margin: 1vw 1vw;
   text-wrap: nowrap;
}

.media {
   margin: auto 0; 
   padding:16px; 
   background: #DFDFDF; 
   border-radius: 100px;
   display: flex;
   align-content: center;
   justify-content: center;
}

@media screen and (min-width: 2000px) {
   header {
      padding: 5vw 15vw; 
   }
}

.header-nav {
   animation: poyoyon3 2.5s infinite;
   opacity: 1;
}
@keyframes poyoyon3 {
   0%, 40% {
     transform: skew(0deg, 0deg);
   }
   5% {
     transform: skew(2deg, 2deg);
   }
   10% {
     transform: skew(-1.8deg, -1.8deg);
   }
   15% {
     transform: skew(1deg, 1deg);
   }
   20% {
     transform: skew(-0.8deg, -0.8deg);
   }
   25% {
     transform: skew(0.6deg, 0.6deg);
   }
   30% {
     transform: skew(-0.3deg, -0.3deg);
   }
   35% {
     transform: skew(0.1deg, 0.1deg);
   }
 }

 .hamburger {
   display: none;
 }

 .header-back {
   background: #F6F9FA;
   opacity: 0.8;
   z-index: -1;
   border-radius: 100vw;
   width: 100%;
   height: 100%;
   padding: 100% 150%;
   transition: all 1s ease-in-out;
   opacity: 0;
   transform: translate(50%, 50%);
   display: none;
 }

 .pc-hide {
   display: none;
 }
 .sp-hide {
   display: block;
 }

 @media screen and (max-width: 820px) {
   .logo-top {
      width: 15vw !important;
   }

   .logo-back {
      width: 13vw !important;
   }
   
   .pc-hide {
      display: block;
      .jinbe-logo {
         border-radius: 0;
         background: #F6F9FAB3;
         top: 50%;
         left: 50%;
         transform: translate(-50%,0);
         transition: all 0.35s ease-in-out;
         width: 100%;
         &:hover {
            background: #FFE603;
         }
      }
   }
   .sp-hide {
      display: none;
   }

   .header-back {
      display: block;
   }

   .hamburger {
      display: block;
      position: absolute;
      z-index: 10;
      top: 65px;
      right: 65px;
      background: #F6F9FAB3;
      width: 80px;
      height: 80px;
      border-radius: 100px;
   }
   
   .header-nav {
      animation: none;
      flex-direction: column;
   }

   .header-nav ul {
      top: 50%;
      left: 50%;
      transform: translate(-50%,-50%);
      transition: opacity 0.35s ease-in-out;
      opacity: 0;
      position: absolute;
      flex-direction: column;
      background: none;
      background: #F6F9FAB3;
      text-align: center;
      padding: 5vh 10px;
      .media {
         padding: 10px;
         margin: 1vw;
         transition: all 0.3s ease-in-out;
      }
   }

   .header-line {
      display: none;
   }

   header {
      top: 50%;
      left: 50%;
      transform: translate(-50%,-50%);
      height: 100vh;

      &.is-active {
         .header-nav ul{
            transform: translate(-50%,-50%);
            opacity: 1;
            transition: opacity 0.6s ease-in-out;
         }

         .header-back {
            opacity: 0.9;
            transform: translate(-10%, 0);
            transition: all 0.8s ease-in-out;
         }
      }
   }
}

.lang {
   width: 10vw;
   height: 10vw;
   max-width: 180px;
   max-height: 180px;
   border-radius: 5vw;
   background-color: #86e7ff;
   margin-top: 2vh;
   display: flex;
   align-items: center;
   justify-content: center;
   margin-left: auto;
   transition: all 0.35s ease-in-out;
   &:hover {
      background-color: #FFE603;
   }
}

.lang-change::before {
   content: "";
   display: inline-block;
   width: 10px;
   height: 10px;
   position: relative;
   bottom: 4px;
   border-top: solid 2px #030DFF;
   border-right: solid 2px #030DFF;
   -webkit-transform: rotate(-135deg) translateY(-50%);
   transform: rotate(-135deg) translateY(-50%);
   margin-right: 0.6vw;
}

.lang h5 {
   font-family: "sofia-pro", "Helvetica Neue", Helvetica, Arial, sans-serif;
   font-size: clamp(0.625rem, 0.534rem + 0.45vw, 0.875rem);
   letter-spacing: 0.2rem;
   font-weight: 500;
}

.lang-change-sp {
   background: #86e7ff;
   padding: 30px 10px;
   margin: 1vw;
   border-radius: 100vh;
   &:hover {
      background-color: #FFE603;
   }
}

.lang-change-sp h5 {
   font-family: "sofia-pro", "Helvetica Neue", Helvetica, Arial, sans-serif;
   font-size: clamp(0.625rem, 0.534rem + 0.45vw, 0.875rem);
   letter-spacing: 0.2rem;
   font-weight: 500;
}

.lang-change-sp h5::before {
   content: "";
   display: inline-block;
   width: 10px;
   height: 10px;
   position: relative;
   bottom: 4px;
   border-top: solid 2px #030DFF;
   border-right: solid 2px #030DFF;
   -webkit-transform: rotate(-135deg) translateY(-50%);
   transform: rotate(-135deg) translateY(-50%);
   margin-right: 0.6vw;
}


.header-links {
   display: flex;
   flex-direction: column;
}

.media{
   transition: all 0.3s ease-in-out;
   &:hover {
      background: #FFE603;
   }
}

footer {
   height: 90vh;
   background: rgb(12,23,39);
   background: linear-gradient(0deg, rgba(12,23,39,1) 0%, rgba(16,34,61,1) 100%);
   display: flex;
   flex-direction: column;
   justify-content: center;
   align-items: center;
}

.foot-logo-area {
   width: 40vh;
   height: 40vh;
   color: #1E1E1E;
   font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, "ＭＳ Ｐゴシック", sans-serif;

font-weight: 700;
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: center;
   position: relative;
   z-index: 5;
   overflow: hidden;
}

.foot-inquiry {
   color: #1E1E1E;
   background: #E9EEF1;
   transition: all 0.35s ease-in-out;
   position: relative;
   overflow: hidden;
   display: inline-block;
   border-radius: 20vh;
}

 .foot-inquiry:before {
   content: "";
   position: absolute;
   left: 50%;
   transform: translateX(-50%) scaleY(1) scaleX(1.25);
   top: 100%;
   width: 140%;
   height: 180%;
   background-color: rgba(0, 0, 0, 0.05);
   border-radius: 50%;
   display: block;
   transition: all 0.5s 0.1s cubic-bezier(0.55, 0, 0.1, 1);
 }
 .foot-inquiry:after {
   content: "";
   position: absolute;
   left: 55%;
   transform: translateX(-50%) scaleY(1) scaleX(1.45);
   top: 180%;
   width: 160%;
   height: 190%;
   background-color: #FFE603;
   border-radius: 50%;
   display: block;
   transition: all 0.5s 0.1s cubic-bezier(0.55, 0, 0.1, 1);
 }
 .foot-inquiry:hover {
   color: #E9EEF1;
   border-radius: 10px;
 }
 .foot-inquiry:hover:before {
   top: -35%;
   background-color: #FFE603;
   transform: translateX(-50%) scaleY(1.3) scaleX(0.8);
 }
 .foot-inquiry:hover:after {
   top: -45%;
   background-color: #FFE603;
   transform: translateX(-50%) scaleY(1.3) scaleX(0.8);
 }
 .foot-arrow {
   position: absolute;
   z-index: 15;
   cursor: pointer;
 }
 .foot-inquiry:hover .foot-arrow {
   transform: translate(10%);
 }

.foot-logo {
   width: 30vh;
}

.footer-nav {
   display: flex;
   flex-direction: row;
   justify-content: space-between;
   gap: 20vw;
   width: 70%;
}

.footer-area {
   display: flex;
   flex-direction: row;
   gap: 4vw;
   color: #F6F9FA;
}

.pc-footer-nav-eng ul,.pc-footer-nav-jap ul {
   flex-direction: column;
   gap: 4vmin;
}

.pc-footer-nav-eng a {
   font-size: var(--fs-base);
   font-weight: 700;
   letter-spacing: 0.2rem;
   transition: all 0.3s ease-in-out;
   &:hover {
      opacity: 0.7;
   }
}

.pc-footer-nav-jap a {
   font-size: var(--fs-base);
   font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, "ＭＳ Ｐゴシック", sans-serif;

font-weight: 700;
   letter-spacing: 0.1rem;
   transition: all 0.3s ease-in-out;
   &:hover {
      opacity: 0.7;
   }
}

.copy h6 {
   font-family: "sofia-pro", "Helvetica Neue", Helvetica, Arial, sans-serif;
   font-weight: 700;
   letter-spacing: 0.2vw;
   color: #F6F9FA;
}

@media screen and (max-width: 820px) {
   .pc-footer-nav-eng a {
      font-size: var(--fs-md);
   }
   
   .pc-footer-nav-jap a {
      font-size: var(--fs-md);
   }
   
   .foot-logo-area {
      height: 60vw;
      width: 60vw;
      max-width: 35vh;
      max-height: 35vh;
      border-radius: 0;
   }

   .foot-logo {
      width: 40vw;
      max-width: 30vh;
   }

   .footer-nav {
      flex-direction: column;
      gap: 3vh;
   }
}




.marker {
   background: linear-gradient(transparent 0%, #FFE603 0%);
}

.bold {
   font-weight: 700;
}






.index {
   font-family: "sofia-pro", "Helcetica Neue", Arial, Helvetica, sans-serif;
   letter-spacing: 0.3vw;
   font-weight: 900;
   background: #F6F9FA;
   color: #1E1E1E;
   padding: 3px 5px;
}

.index-switch {
   font-family: "sofia-pro", "Helcetica Neue", Arial, Helvetica, sans-serif;
   letter-spacing: 0.3vw;
   font-weight: 900;
   background: #1E1E1E;
   color: #F6F9FA;
   padding: 3px 5px;
}

.black-button {
   padding: 16px 24px;
   position: relative;
   outline: none;
   text-decoration: none;
   display: flex;
   justify-content: center;
   align-items: center;
   opacity: 1;
   overflow: hidden;
   background: #1E1E1E;
}

.slide-button {
   width: 100%;
   height: 100%;
   left: -100%;
   position: absolute;
   transition: all 0.35s ease-in-out;
   bottom: 0;
   background: #FFE603;
}

.black-button:hover .slide-button {
   left: 0;
 }

.black-button span {
   font-family: "sofia-pro", "Helcetica Neue", Arial, Helvetica, sans-serif;
   font-weight: 700;
   color: #F6F9FA;
   transition: all 0.35s ease-in-out;
   letter-spacing: 0.4rem;
}

.black-button:hover {
   animation: rotation 0.7s ease-in-out both;
}

.black-button:hover span {
   color: #1E1E1E;
   transition: all 0.35s ease-in-out;
   animation: storm 0.7s ease-in-out both;
   animation-delay: 0.06s;
}

.black-button span::after {
   content:url(img/koban.svg);
   background-repeat:  no-repeat;
   width: 60px;
   margin-left: 1vw;
   display: inline-block;
   transition: all 0.35s ease-in-out;
}

.black-button:hover span::after {
   content: url(img/koban-black.svg);
}
    
@keyframes rotation {
    0% {
        transform: rotate(0deg) translate3d(0, 0, 0);
    } 25% {
        transform: rotate(3deg) translate3d(0, 0, 0);
    } 50% {
        transform: rotate(-3deg) translate3d(0, 0, 0);
    } 75% {
        transform: rotate(1deg) translate3d(0, 0, 0);
    } 100% {
        transform: rotate(0deg) translate3d(0, 0, 0);
    }
}
  
@keyframes storm {
    0% {
        transform: translate3d( 0, 0, 0) translateZ(0);
    } 25% {
        transform: translate3d( 4px, 0, 0) translateZ(0);
    } 50% {
        transform: translate3d( -3px, 0, 0) translateZ(0);
    } 75% {
        transform: translate3d( 2px, 0, 0) translateZ(0);
    } 100%{
        transform: translate3d( 0, 0, 0) translateZ(0);
    }
}

@media screen and (min-width: 2000px) {
   .index {
      letter-spacing: 0.4rem;
   }

   .index-switch {
      letter-spacing: 0.4rem;
   }

   .black-button {
      letter-spacing: 0.4rem;
   }
}






.jinbe-logo {
   position: relative;
   width: 15vw;
   height: 10vw;
   max-width: 180px;
   max-height: 100px;
   border-radius: 7vw;
   background: #F6F9FA;
   display: flex;
   justify-content: center;
   padding: 20px;
   transition: all 0.35s ease-in-out;
   &:hover {
      background: #FFE603;
   }
}

.logo-top {
   position: absolute;
   mix-blend-mode: difference;
   color: #F6F9FA;
   width: 11vw;
   max-width: 120px;
   top: 50%;
   left: 50%;
   transform: translate(-50%, -50%);
}


.hero {
   height: 100vh;
   min-height: 500px;
   background: rgb(233,238,241);
   background: linear-gradient(0deg, rgba(233,238,241,1) 0%, rgba(234,243,250,1) 100%);
   overflow: hidden;
   color: #1E1E1E;
}

.vid-container {
   width: 100vw;
   height: 100vh;
   overflow-x: hidden;
   box-sizing: border-box;
   position: relative;
}

.playable-img {
   height: 80vh;
   position: absolute;
   top: 50%;
   left: 50%;
   transform: translate(-50%, -50%);
   display: block;
   z-index: 10;
}

.top-vid-container {
   height: 100vh;
   display: flex;
   justify-content: center;
   align-items: center;
}

.top-vid-container video {
   height: 79vh;
}

.vid-alternative-image {
   display: none;
}



.hero-catch {
   position: absolute;
   top: 30vmin;
   left: 5vmin;
   transform: translate(0, -50%);
   font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, "ＭＳ Ｐゴシック", sans-serif;
   font-weight: 700;
   letter-spacing: 0.5vw;
   z-index: 20;
   text-wrap: nowrap;
}

@media screen and (min-width: 2000px) {
   .hero-catch {
      left: 15vw;
   }
}

@media screen and (max-width: 390px) {
   .hero-catch {
      letter-spacing: 0.2rem;
      left: 50%;
      transform: translate(-50%, -50%);
   }

   .hero-catch h2 {
      font-size: 1rem;
   }
}

.hero-info {
   position: absolute;
   bottom: 10vw;
   right: 5vw;
   transform: translate(0, 0);
   font-weight: 700;
   letter-spacing: 0.2vw;
   z-index: 20;
   text-wrap: nowrap;
   display: flex;
   flex-direction: column;
   gap: 24px;
   align-items: flex-end;
   color: #FF1203;
}

.hero-info-en {
   position: absolute;
   bottom: 10vw;
   right: 5vw;
   transform: translate(0, 0);
   font-weight: 700;
   letter-spacing: 0.2vw;
   z-index: 20;
   text-wrap: nowrap;
   display: flex;
   flex-direction: column;
   gap: 24px;
   align-items: flex-end;
   color: #030DFF;
}

@media screen and (min-width: 2000px) {
   .hero-info{
      letter-spacing: 0.3rem;
      right: 15vw;
   }

   .hero-info-en{
      letter-spacing: 0.3rem;
      right: 15vw;
   }
}


/* _:lang(x)+_:-webkit-full-screen-document,
   .top-vid-container video{
      display: none;
   }
   _:lang(x)+_:-webkit-full-screen-document,
   .vid-container .playable-img{
      display: none;
   }
_:lang(x)+_:-webkit-full-screen-document,
   .vid-container .alternative-container {
      display: block;
      height: 80vh;
   } */

.philosophy {
   width: auto;
   height: 100vh;
   min-height: 500px;
   display: flex;
   flex-direction: column;
   justify-content: center;
   align-items: center;
   gap: 8vh;
   padding: 0 10vw;
}

.philosophy-title {
   background: url("img/color-bar.png") no-repeat center center;
   background-size: 105% 200%;
   font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, "ＭＳ Ｐゴシック", sans-serif;
font-weight: 700;
   line-height: 2;
   letter-spacing: 0.3vw;
   -webkit-background-clip: text;
   background-clip: text;
   color: transparent;
}

.philosophy-intro {
   font-weight: 400;
   line-height: 2.4;
   letter-spacing: 0.3vw;
}

@media screen and (min-width: 2000px) {
   .philosophy-title {
      letter-spacing: 0.3rem;
   }

   .philosophy-intro {
      letter-spacing: 0.3rem;
   }
}

.service {
   width: auto;
   height: 100vh;
   min-height: 500px;
   background: rgb(0,33,54);
   background: linear-gradient(0deg, rgba(0,33,54,1) 0%, rgba(10,93,158,1) 100%);
   display: flex;
   flex-direction: column;
   justify-content: center;
   align-items: flex-start;
   gap: 8vh;
   padding: 0 10vw;
}

.service img {
   width: 50vw;
}

.service-intro {
   width: 45vw;
   font-family: "toppan-bunkyu-gothic-pr6n", "ヒラギノ角ゴ Pro W3", メイリオ, Meiryo, "ＭＳ Ｐゴシック", sans-serif;
   font-weight: 400;
   line-height: 2.4;
   letter-spacing: 0.3vw;
   color: #F6F9FA;
}

@media screen and (min-width: 2000px) {
   .service img {
      width: 30vw;
   }
   
   .service-intro {
      letter-spacing: 0.3rem;
      width: 20vw;
   }
}

.logo-service {
   position: absolute;
   width: 80%;
   right: 0;
   transform: translate(0,-60%);
}

.news {
   width: auto;
   height: 75vh;
   min-height: 500px;
   color: #1E1E1E;
   background: #E9EEF1;
   display: flex;
   flex-direction: column;
   justify-content: center;
   align-items: flex-start;
   gap: 4vh;
   padding: 0 10vw;
}

.news-topics {
   display: flex;
   flex-direction: row;
   gap: 5vw;
}

.topic {
   width: 18vw;
   height: 30vh;
   color: #1E1E1E;
   text-wrap: wrap;
   overflow-y: scroll;
   transition: all 0.3s ease-in-out;
   &:hover {
      opacity: 0.7;
   }
}

.topic h5 {
   font-weight: 300;
   letter-spacing: 0.1rem;
   margin-bottom: 12px;
}

.topic h4 {
   font-weight: 500;
   letter-spacing: 0.2rem;
   margin-bottom: 24px;
}

.topic p {
   font-size: clamp(0.625rem, 0.534rem + 0.45vw, 0.875rem);
   font-weight: 600;
   line-height: 2.2;
   letter-spacing: 0.2vw;
}

@media screen and (min-width: 2000px) {
   .topic {
      width: 10vw;
      height: 24vh;
   }

   .topic p {
     letter-spacing: 0.2rem;
   }
}

@media screen and (max-width: 820px) {
   .news-topics {
      flex-direction: column;
   }

   .news-detail {
      display: flex;
      flex-direction: row;
      align-items: flex-end;
      gap: 20px;
   }
   
   .topic {
      width: 75vw;
      height: 10vh;
      overflow-y: auto;
   }

   .topic h5, .topic h4 {
      margin-bottom: 10px !important;
   }
}

.news-all {
   width: auto;
   min-height: 100vh;
   color: #1E1E1E;
   background: #E9EEF1;
   display: flex;
   flex-direction: column;
   justify-content: center;
   align-items: flex-start;
   gap: 4vh;
   padding: 10vh 10vw;
}

.news-topics-all {
   display: flex;
   flex-direction: column;
   gap: 5vw;
}

.topic-all {
   width: auto !important;
   height: auto !important;
}

a.link-anime {
   background-image: linear-gradient( #030DFF, #030DFF );
   background-size: 0 2px;
   background-position: left bottom;
   background-repeat: no-repeat;
   transition: all .3s;
   padding-bottom: 5px;
}

a.link-anime:hover {
   background-size: 100% 2px;
 }

.nom-hero {
   position: relative;
   height: 100vh;
}

.nom-catch {
   position: absolute;
   font-family: "square-peg", "sofia-pro", "Helvetica Neue", Helvetica, Arial, sans-serif;
   letter-spacing: 1vw;
   color: #1E1E1E;
   top: 50%;
   left: 50%;
   transform: translate(-50%, -50%);
   padding: 20px;
   font-weight: 400;
}

.nom-hero svg {
   position: absolute;
   top: 50%;
   left: 40%;
   transform: translate(-60%,0);
   z-index: 10;
}

.nom-hero img {
   position: absolute;
   top: 30%;
   left: 60%;
   transform: translate(0, -50%);
   width: 30vw;
   max-width: 500px;
}

@media screen and (max-width: 820px) {
   .nom-hero img {
      left: 40%;
      width: 40vw;
   }
}

@media screen and (min-width: 1060px) {
   .nom-hero svg {
      transform: translate(-60%, -50%);
   }
}

.hero-line {
   height: 50vh;
   background-size: 32px 0.2vw;
   background-image: linear-gradient(to right, #1E1E1E 16px, transparent 16px);
   background-repeat: repeat-x;
   background-position: center bottom;
   padding-bottom: 5px;
}

.cls-1 {
   fill: none;
   stroke: #1E1E1E;
   stroke-miterlimit: 10;
}

.cls-2 {
   fill: none;
   stroke: #030dff;
   stroke-miterlimit: 10;
   stroke-width: 2px;
}

.cls-3 {
   fill: none;
   stroke: #FF6D03;
   stroke-miterlimit: 10;
   stroke-width: 2px;
}

.cls-4 {
   fill: none;
   stroke: #41b24c;
   stroke-miterlimit: 10;
   stroke-width: 2px;
}

.cls-5 {
   fill: none;
   stroke: #9F03FF;
   stroke-miterlimit: 10;
   stroke-width: 2px;
}

.who-message {
   height: 100vh;
   min-height: 500px;
   position: relative;
   background: #E9EEF1;
}

.message {
   position: absolute;
   top: 50%;
   left: 50%;
   transform: translate(-50%, -50%);
}

.message a {
   display: block;
   font-size: clamp(0.75rem, 0.659rem + 0.45vw, 1rem);
   font-family: "toppan-bunkyu-gothic-pr6n", "ヒラギノ角ゴ Pro W3", メイリオ, Meiryo, "ＭＳ Ｐゴシック", sans-serif;
   font-weight: 400;
   color: #1E1E1E;
   letter-spacing: 0.2rem;
   margin-bottom: 2vh;
}

.message img {
   height: 30px;
}

.line {
   margin-left: 2vw;
   padding-left: 1vw;
   border-left: solid 1px #1E1E1E;
}

.space {
   margin-bottom: 4vh !important;
}

.big {
   font-size: clamp(1rem, 0.9rem + 0.45vw, 1.5rem);
}

.xl {
   font-size: 1.6rem;
}

.xxxl {
   font-size: 2rem;
}

.who-philosophy {
   height: 100vh;
   background: #0C87CD;
   position: relative;
}

.who-philosophy-tex {
   position: absolute;
   top: 50%;
   left: 50%;
   transform: translate(-50%, -50%);
   color: #F6F9FA;
   display: flex;
   flex-direction: column;
   gap: 8vh;
   width: 70vw;
}

.who-philosophy-info {
   width: 75vw;
}

.who-philosophy-tex h3 {
   font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, "ＭＳ Ｐゴシック", sans-serif;

   font-weight: 700;
   letter-spacing: 0.3rem;
   line-height: 1.6;
}

.who-philosophy-tex h5 {
   font-family: "sofia-pro", "Helvetica Neue", Helvetica, Arial, sans-serif;
   font-weight: 900;
   letter-spacing: 0.2rem;
}

.who-philosophy-tex p {
   font-size: clamp(0.75rem, 0.659rem + 0.45vw, 1rem);
   font-family: "toppan-bunkyu-gothic-pr6n", "ヒラギノ角ゴ Pro W3", メイリオ, Meiryo, "ＭＳ Ｐゴシック", sans-serif;
   font-weight: 400;
   letter-spacing: 0.2rem;
   line-height: 1.8;
}

.strength {
   height: 100vh;
   background: #E9EEF1;
   position: relative;
}

.strength-tex {
   position: absolute;
   top: 50%;
   left: 50%;
   transform: translate(-50%, -50%);
   color: #1E1E1E;
   display: flex;
   flex-direction: column;
   gap: 8vh;
}

.strength-tex h3 {
   font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, "ＭＳ Ｐゴシック", sans-serif;
font-weight: 700;
   letter-spacing: 0.3rem;
   line-height: 1.6;
}

.strength-contents {
   font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, "ＭＳ Ｐゴシック", sans-serif;
font-weight: 700;
   letter-spacing: 0.3rem;
   line-height: 1.6;
   text-align: center;
}

.stcircle-big {
   width: 24vw;
   height: 24vw;
   border-radius: 50vh;
   position: absolute;
   display: flex;
   flex-direction: column;
   justify-content: center;
   padding: 0 3%;
}

.stcircle-medium {
   width: 20vw;
   height: 20vw;
   border-radius: 50vh;
   position: absolute;
   display: flex;
   flex-direction: column;
   justify-content: center;
   padding: 0 3%;
}

.stcircle-small {
   width: 16vw;
   height: 16vw;
   max-width: 400px;
   max-height: 400px;
   border-radius: 50vh;
   position: absolute;
   display: flex;
   flex-direction: column;
   justify-content: center;
   padding: 0 2%;
   letter-spacing: 0.2rem;
}

@media screen and (max-width: 820px) {
   .stcircle-big {
      border-radius: 10px;
      width: 36vw;
      height: auto;
      padding: 5%;
   }
   .stcircle-medium {
      border-radius: 10px;
      width: 28vw;
      height: auto;
      padding: 5%;
   }
   .stcircle-small {
      border-radius: 10px;
      width: 20vw;
      height: auto;
      padding: 5%;
   }
}

@media screen and (max-width: 520px) {
   .strength-contents h5 {
      font-size: clamp(0.75rem, 0.659rem + 0.45vw, 1rem);
      writing-mode: vertical-rl;
   }
   .strength-contents h6 {
      font-size: clamp(0.625rem, 0.534rem + 0.45vw, 0.875rem);
      writing-mode: vertical-rl;
   }
   .stcircle-big,.stcircle-medium,.stcircle-small {
      width: auto;
   }
}

#st1 {
   top: calc(3/16*100%);
   left: calc(2/16*100%);
}

#st2 {
   top: calc(4/16*100%);
   left: calc(19/32*100%);
}

#st3 {
   top: calc(9/16*100%);
   left: calc(7/32*100%);
}

#st4 {
   top: calc(8/16*100%);
   left: calc(23/32*100%);
}

#st5 {
   top: calc(11/16*100%);
   left: calc(9/16*100%);
}

.know-more {
   height: 100vh;
   background: #F6F9FA;
   position: relative;
}

.more-hikidashi {
   position: absolute;
   top: 40%;
   left: 40%;
   transform: translate(-50%, -50%);
   color: #1E1E1E;
   font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, "ＭＳ Ｐゴシック", sans-serif;
font-weight: 700;
   letter-spacing: 0.2rem;
   line-height: 1.6;
   font-size: clamp(1rem, 0.9rem + 0.45vw, 1.5rem);
}

.more-project {
   position: absolute;
   top: 60%;
   left: 60%;
   transform: translate(-50%, -50%);
   color: #1E1E1E;
   font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, "ＭＳ Ｐゴシック", sans-serif;
font-weight: 700;
   letter-spacing: 0.2rem;
   line-height: 1.6;
   font-size: clamp(1rem, 0.9rem + 0.45vw, 1.5rem);
}

.comp-info {
   background: rgb(180,210,221);
   background: linear-gradient(0deg, rgba(180,210,221,1) 0%, rgba(246,249,250,1) 100%);
   height: 100vh;
   position: relative;
   min-height: 500px;
}

.comp-info img {
   position: absolute;
   width: 70vw;
   left: 40%;
   transform: translate(0,-50%);
}

.info-table {
   position: absolute;
   top: 50%;
   left: 30%;
   transform: translate(-40%, -50%);
   color: #1E1E1E;
   display: flex;
   flex-direction: column;
   gap: 8vh;
}

.info-table table {
   border-collapse: collapse;
}

.info-table th {
   font-family: "toppan-bunkyu-gothic-pr6n", "ヒラギノ角ゴ Pro W3", メイリオ, Meiryo, "ＭＳ Ｐゴシック", sans-serif;
   font-weight: 400;
   letter-spacing: 0.3rem;
   font-size: clamp(0.75rem, 0.659rem + 0.45vw, 1rem);
   line-height: 1.6;
   padding: 4vw;
   text-wrap: nowrap;
}

.info-table td {
   font-family: "toppan-bunkyu-gothic-pr6n", "ヒラギノ角ゴ Pro W3", メイリオ, Meiryo, "ＭＳ Ｐゴシック", sans-serif;
   font-weight: 600;
   letter-spacing: 0.2rem;
   font-size: clamp(0.75rem, 0.659rem + 0.45vw, 1rem);
   line-height: 1.6;
   padding: 4vw 0;
}

.info-table h4 {
   font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, "ＭＳ Ｐゴシック", sans-serif;
font-weight: 200;
   letter-spacing: 0.3rem;
}

.info-table a {
   color: #0C87CD;
   border-bottom: 1px #0C87CD solid;
}

@media screen and (max-width: 820px) {
   .info-table {
      left: 50%;
   }
}

.table-line {
   border-bottom: 1px #1E1E1E solid;
}

.members {
   font-family: "sofia-pro", "Helvetica Neue", Helvetica, Arial, sans-serif;
   letter-spacing: 0.2rem;
   font-weight: 700;
   display: flex;
   flex-direction: column;
   gap: 10vh;
   min-height: 100vh;
   justify-content: center;
   align-items: center;
   background: #b4d2dd;
   color: #1E1E1E;
   padding: 5vh 0;
}

.members-row {
   display: grid;
   grid-template-areas: 
      "ceoA  cooA  cfo1A"
      "cfo2A ctoA  cmoA"
      "man1A menA  ----";
   position: relative;
   z-index: 5;
}

.members-row:has(.mem-back.open) {
   pointer-events: none;
}

.banner-area {
   opacity: 0;
   transition: opacity 0.35s ease-in-out;
   width: 100vw;
   height: 100vh;
   cursor: pointer;
   position: fixed;
   top: 0;
   left: 0;
   pointer-events: none;
   z-index: 5;
}

.banner-area.open {
   background: #1E1E1E;
   opacity: 0.5;
   pointer-events: all;
}

.banner {
   width: 70vw;
   max-width: 70vh;
   height: 70vh;
   background: #F6F9FA;
   border-radius: 12px;
   z-index: 10;
   position: fixed;
   top: 55%;
   left: 50%;
   transform: rotate(-90deg) translate(-120%, -120%);
   transform-origin:-10% 110%;
   transition: all 0.7s ease-out;
   padding: 5%;
   pointer-events: all;
   overflow: scroll;
}

.mem-info {
   display: flex;
   flex-direction: column;
   gap: 2vw;
   position: relative;
   z-index: 5;
}

.mem-info h4,.mem-info h6,.mem-info a {
   background-color: #F6F9FA80;
   margin-right: auto;
}

.mem-disc {
   display: flex;
   flex-direction: column;
   gap: 1.5vh;
   position: relative;
   z-index: 5;
   margin-top: 30%;

   h6 {
      font-size: clamp(0.5rem, 0.409rem + 0.45vw, 0.75rem);
      background-color: #F6F9FA80;
      font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, "ＭＳ Ｐゴシック", sans-serif;

      font-weight: 300;
      letter-spacing: 0.3rem;
      margin-right: auto;
      line-height: 1.5;
   }
}

.face {
   width: 12vw;
   height: 12vw;
   max-width: 240px;
   max-height: 240px;
   border-radius: 6vw;
   background-size: cover;
   transition: all 0.35s ease-in-out;
   background-position: center;
   background-repeat: no-repeat;
}

.mem-back {
   background: #F6F9FA;
   border-radius: 100vh;
   opacity: 1;
   transition: opacity 0.35s ease-in-out;
}

.mem-back.open {
   opacity: 0;
}

#ceo,#ceo-en {
   grid-area: ceoA;
   display: flex;
   margin: 5vh 1vw;
   cursor: pointer;
}

.ceo {
   border: solid 4px #FF1203;
   background-image: url(img/face/taiho.png);
   background-size: cover;
   transition: all 0.35s ease-in-out;
}

.banner-ceo {
   border: solid 4px #FF1203;
}

.banner-ceo.open {
   transform: rotate(0deg) translate(-50%, -50%);
}

#coo,#coo-en {
   grid-area: cooA;
   display: flex;
   margin: 5vh 1vw;
   cursor: pointer;
}

.coo {
   border: solid 4px #FF6D03;
   background-image: url(img/face/haruta.png);
   background-size: cover;
   transition: all 0.35s ease-in-out;
}

.banner-coo {
   border: solid 4px #FF6D03;
}

.banner-coo.open {
   transform: rotate(0deg) translate(-50%, -50%);
}

#cfo1,#cfo1-en {
   grid-area: cfo1A;
   display: flex;
   margin: 5vh 1vw;
   cursor: pointer;
}

.cfo1 {
   border: solid 4px #FFE603;
   background-image: url(img/face/cfo-q.svg);
   background-size: cover;
   transition: all 0.35s ease-in-out;
}

.banner-cfo1 {
   border: solid 4px #FFE603;
}

.banner-cfo1.open {
   transform: rotate(0deg) translate(-50%, -50%);
}

#cfo2,#cfo2-en {
   grid-area: cfo2A;
   display: flex;
   margin: 5vh 1vw;
   cursor: pointer;
}

.cfo2 {
   border: solid 4px #FFE603;
   background-image: url(img/face/cfo-q.svg);
   background-size: cover;
   transition: all 0.35s ease-in-out;
}

.banner-cfo2 {
   border: solid 4px #FFE603;
}

.banner-cfo2.open {
   transform: rotate(0deg) translate(-50%, -50%);
}

#cto,#cto-en {
   grid-area: ctoA;
   display: flex;
   margin: 5vh 1vw;
   cursor: pointer;
}

.cto {
   border: solid 4px #03FF1C;
   background-image: url(img/face/tsuguha.png);
   background-size: cover;
   transition: all 0.35s ease-in-out;
}

.banner-cto {
   border: solid 4px #03FF1C;
}

.banner-cto.open {
   transform: rotate(0deg) translate(-50%, -50%);
}

#cmo,#cmo-en {
   grid-area: cmoA;
   display: flex;
   margin: 5vh 1vw;
   cursor: pointer;
}

.cmo {
   border: solid 4px #0386FF;
   background-image: url(img/face/cmo-q.svg);
   background-size: cover;
   transition: all 0.35s ease-in-out;
}

.banner-cmo {
   border: solid 4px #0386FF;
}

.banner-cmo.open {
   transform: rotate(0deg) translate(-50%, -50%);
}

#man1,#man1-en {
   grid-area: man1A;
   display: flex;
   margin: 5vh 1vw;
   cursor: pointer;
}

.man1 {
   border: solid 4px #030DFF;
   background-image: url(img/face/manager-q.svg);
   background-size: cover;
   transition: all 0.35s ease-in-out;
}

.banner-man1 {
   border: solid 4px #030DFF;
}

.banner-man1.open {
   transform: rotate(0deg) translate(-50%, -50%);
}

#men,#men-en {
   grid-area: menA;
   display: flex;
   margin: 5vh 1vw;
   cursor: pointer;
}

.men {
   border: solid 4px #9F03FF;
   background-image: url(img/face/mentor-q.svg);
}

.banner-men {
   border: solid 4px #9F03FF;
}

.banner-men.open {
   transform: rotate(0deg) translate(-50%, -50%);
}

@media screen and (max-width: 820px) {
   .members-row {
      grid-template-areas: 
         "ceoA  cooA"
         "cfo1A cfo2A"
         "ctoA  cmoA"
         "man1A menA";
   }

   #ceo,#coo,#cfo1,#cfo2,#cto,#cmo,#man1,#men {
      margin: 2vh 2vw;
      align-items: center;
   }
}

.mem-role {
   font-family: "sofia-pro", "Helvetica Neue", Helvetica, Arial, sans-serif;
   letter-spacing: 0.2rem;
   font-weight: 700;
   color: #1E1E1E;
   margin: 1vw 4vw 0 1vw;
}

.mem-role a {
   margin-top: 0.1rem;
   font-size: clamp(0.625rem, 0.534rem + 0.45vw, 0.875rem);
   color: #929292;
}

.mem-role h6 {
   margin-bottom: 0.3rem;
}

@media screen and (max-width: 820px) {
   .mem-role {
      margin-left: 3vw;
      margin-bottom: 1vw;
   }
}

.mem-face {
   width: 35vw;
   height: auto;
   max-width: 40vh;
   border-radius: 25vw;
   background: #F6F9FA;
   position: absolute;
   right: 5%;
   top: 5%;
}

.pos {
   display: flex;
   flex-direction: row;
   gap: 2vw;
}

.pos h5 {
   font-family: "sofia-pro", "Helvetica Neue", Helvetica, Arial, sans-serif;
   letter-spacing: 0.2rem;
   font-weight: 900;
   background-color: #F6F9FA80;
}

.pos a {
   font-family: "toppan-bunkyu-gothic-pr6n", "ヒラギノ角ゴ Pro W3", メイリオ, Meiryo, "ＭＳ Ｐゴシック", sans-serif;
   font-weight: 400;
   letter-spacing: 0.2rem;
   font-size: clamp(0.625rem, 0.534rem + 0.45vw, 0.875rem);
}

.member-banner h4 {
   font-family: "toppan-bunkyu-gothic-pr6n", "ヒラギノ角ゴ Pro W3", メイリオ, Meiryo, "ＭＳ Ｐゴシック", sans-serif;
   font-weight: 600;
   letter-spacing: 0.2rem;
}

.member-banner h6 {
   font-family: "sofia-pro", "Helvetica Neue", Helvetica, Arial, sans-serif;
   letter-spacing: 0.2rem;
   font-weight: 300;
}

.producers {
   background: #F6F9FA;
   font-family: "sofia-pro", "Helvetica Neue", Helvetica, Arial, sans-serif;
   letter-spacing: 0.2rem;
   font-weight: 700;
   display: flex;
   flex-direction: column;
   gap: 10vh;
   justify-content: center;
   align-items: center;
   padding: 10% 0;
}

.producers h3 {
   color: #1E1E1E;
}

.producer-container {
   width: 85vw;
   border: solid 1px #030DFF;
   display: flex;
   flex-direction: row;
   align-items: center;
   padding: 5% 10%;
   border-radius: 50px;
   gap: 5vw;
   margin: 3vh 0;
}

@media screen and(max-width: 820px) {
   .producer-container {
      border-radius: 50px;
   }   
}

.pro-face {
   border-radius: 100vh;
   border: solid 1px #1E1E1E;
   width: 20vw;
   height: 20vw;
   background-size: cover;
   background-repeat: no-repeat;
   display: inline-block;
}

.pro-info {
   color: #1E1E1E;
   letter-spacing: 0.2rem;
   line-height: 1.6;
   width: 40vw;
}

.pro-info h4{
   font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, "ＭＳ Ｐゴシック", sans-serif;

   font-weight: 700;
}

.pro-info h6 {
   font-family: "toppan-bunkyu-gothic-pr6n", "ヒラギノ角ゴ Pro W3", メイリオ, Meiryo, "ＭＳ Ｐゴシック", sans-serif;
   font-weight: 400;
   color: #1E1E1E;
}

.pro-name {
   display: flex;
   gap: 5%;
   align-items: center;
   justify-content: center;
   text-wrap: nowrap;
   margin-bottom: 5vw;
}

.pro-name h4 {
   color: #1E1E1E;
}

.pro-name h6 {
   color: #929292;
}

.advisors {
   background: #F6F9FA;
   font-family: "sofia-pro", "Helvetica Neue", Helvetica, Arial, sans-serif;
   letter-spacing: 0.2rem;
   font-weight: 700;
   display: flex;
   flex-direction: column;
   gap: 10vh;
   justify-content: center;
   align-items: center;
   padding: 10% 0;
}

.adv-title {
   display: flex;
   gap: 10%;
   align-items: center;
   justify-content: center;
   text-wrap: nowrap;
}

.adv-title h3 {
   color: #1E1E1E;
}

.adv-title h6 {
   color: #929292;
}

.adv-container {
   width: 85vw;
   border: solid 1px #FF1203;
   display: flex;
   flex-direction: row;
   align-items: center;
   padding: 5% 10%;
   border-radius: 50px;
   gap: 5vw;
   margin: 3vh 0;
}

.adv-face {
   border-radius: 100vh;
   border: solid 1px #1E1E1E;
   width: 20vw;
   height: 20vw;
   background-size: cover;
   background-repeat: no-repeat;
   display: inline-block;
}

.adv-info {
   color: #1E1E1E;
   letter-spacing: 0.2rem;
   line-height: 1.6;
   width: 40vw;
}

.adv-info h4{
   font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, "ＭＳ Ｐゴシック", sans-serif;

   font-weight: 700;
}

.adv-info h6 {
   font-family: "toppan-bunkyu-gothic-pr6n", "ヒラギノ角ゴ Pro W3", メイリオ, Meiryo, "ＭＳ Ｐゴシック", sans-serif;
   font-weight: 400;
   color: #1E1E1E;
}

.adv-name {
   display: flex;
   gap: 5%;
   align-items: center;
   justify-content: center;
   text-wrap: nowrap;
   margin-bottom: 5vw;
}

.adv-name h4 {
   color: #1E1E1E;
}

.adv-name h6 {
   color: #929292;
}

.instructors {
   background: #F6F9FA;
   font-family: "sofia-pro", "Helvetica Neue", Helvetica, Arial, sans-serif;
   letter-spacing: 0.2rem;
   font-weight: 700;
   display: flex;
   flex-direction: column;
   gap: 10vh;
   justify-content: center;
   align-items: center;
   padding: 10% 0;
}

.inst-title {
   display: flex;
   gap: 10%;
   align-items: center;
   justify-content: center;
   text-wrap: nowrap;
}

.inst-title h3 {
   color: #1E1E1E;
}

.inst-title h6 {
   color: #929292;
}

.inst-container {
   width: 85vw;
   border: solid 1px #FF6D03;
   display: flex;
   flex-direction: row;
   align-items: center;
   padding: 5% 10%;
   border-radius: 50px;
   gap: 5vw;
   margin: 3vh 0;
}

.inst-face {
   border-radius: 100vh;
   border: solid 1px #1E1E1E;
   width: 20vw;
   height: 20vw;
   background-size: cover;
   background-repeat: no-repeat;
   display: inline-block;
}

.inst-info {
   color: #1E1E1E;
   letter-spacing: 0.2rem;
   line-height: 1.6;
   width: 40vw;
}

.inst-info h4{
   font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, "ＭＳ Ｐゴシック", sans-serif;

   font-weight: 700;
   margin-bottom: 5vw;
}

.inst-info h6 {
   font-family: "toppan-bunkyu-gothic-pr6n", "ヒラギノ角ゴ Pro W3", メイリオ, Meiryo, "ＭＳ Ｐゴシック", sans-serif;
   font-weight: 400;
   color: #1E1E1E;
}

.business-info {
   background: var(--color--lgry);
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: center;
   padding: 20vmin;
   gap: 10vh;
}

.business-info-special {
   background: var(--color--vyel);
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: center;
   padding: 20vmin;
   gap: 10vh;
}

.business-text {
   text-align: left;
   font-family: "toppan-bunkyu-gothic-pr6n", "ヒラギノ角ゴ Pro W3", メイリオ, Meiryo, "ＭＳ Ｐゴシック", sans-serif;
   font-weight: 600;
   letter-spacing: 0.2rem;
   line-height: 1.6;
}

.business-text-strong {
   background: url("img/color-bar.png") no-repeat center center;
   background-size: 105% 200%;
   font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, "ＭＳ Ｐゴシック", sans-serif;

font-weight: 700;
   line-height: 2;
   letter-spacing: 0.3vw;
   -webkit-background-clip: text;
   background-clip: text;
   color: transparent;
}

.story-container {
   letter-spacing: 0.2rem;
   font-weight: 700;
   display: flex;
   flex-direction: column;
   gap: 10vh;
   height: 100vh;
   justify-content: center;
   align-items: center;
   background: #E9F1EA;
   color: #1E1E1E;
}

.story-message {
   width: 70vw;
}

.story-message a {
   display: block;
   font-size: clamp(0.625rem, 0.534rem + 0.45vw, 0.875rem);
   font-family: "toppan-bunkyu-gothic-pr6n", "ヒラギノ角ゴ Pro W3", メイリオ, Meiryo, "ＭＳ Ｐゴシック", sans-serif;
   font-weight: 400;
   color: #1E1E1E;
   letter-spacing: 0.2rem;
   margin-bottom: 0.8vh;
   line-height: 2;
}

.big-message {
   font-size: clamp(1rem, 0.9rem + 0.45vw, 1.5rem) !important;
   font-weight: 600 !important;
}

.space-message {
   margin-bottom: 3vh !important;
}

 /* ↓ スライドの外枠 */
 .slide-wrapper {
   width: 100%;
   height: 80vh;
   position: relative;
   overflow: hidden;
 }
 /*  ↓ スライド（コンテンツ） */
 .slide {
   width: 300%;
   height: 100%;
   display: flex;
   transition: all 0.3s;
 }
 .slide img{
   width: 100%;
   height: auto;
}
 .slide div {
   width: 33.33%;
   height: 100%;
   font-size: 16px;
   display: flex;
   text-align: center;
   justify-content: center;
   align-items: center;
 }
 .slide1 { /* スライドさせるために必要なクラス */
   transform: translateX(0);
 }
 .slide2 { /* スライドさせるために必要なクラス */
   transform: translateX(-33.33%);
 }
 .slide3 { /* スライドさせるために必要なクラス */
   transform: translateX(-66.66%);
 }
 .slide div:nth-of-type(1){ /* 背景色 */
   background-color: #F1E9F1;
 }
 .slide div:nth-of-type(2){ /* 背景色 */
   background-color: #F1E9F1;
 }
 .slide div:nth-of-type(3){ /* 背景色 */
   background-color: #F1E9F1;
 }
 /* ↓ 左右のボタン */
 .next {
   position: absolute;
   width: 15px;
   height: 15px;
   right: 10px;
   bottom: 50%;
   z-index: 10;
   cursor: pointer;
   border-top: solid 3px #1E1E1E;
   border-right: solid 3px #1E1E1E;
   -webkit-transform: rotate(45deg) translateY(50%);
   transform: rotate(45deg) translateY(50%);
 }
 .prev {
   position: absolute;
   width: 15px;
   height: 15px;
   left: 25px;
   bottom: 50%;
   z-index: 10;
   cursor: pointer;
   border-top: solid 3px #1E1E1E;
   border-right: solid 3px #1E1E1E;
   -webkit-transform: rotate(-135deg) translateY(-50%);
   transform: rotate(-135deg) translateY(-50%);
 }
 /* ↓ インジケーター */
 .indicator {
   width: 100%;
   position: absolute;
   bottom: 20px;
   display: flex;
   column-gap: 18px;
   z-index: 10;
   justify-content: center;
   align-items: center;
 }
 .indicator li {
   width: 12px;
   height: 12px;
   border-radius: 50%;
   list-style: none;
   background-color: #E9EEF1;
   border: 1px #1E1E1E solid;
   cursor: pointer;
 }
 .indicator li:first-of-type {
   background-color: #1E1E1E;
 }

 .works-container {
   height: 100vh;
   background: #F1E9F1;
   display: flex;
   justify-content: center;
   align-items: center;
 }

.news-container {
   background: #EBF3F9;
   display: flex;
   flex-direction: column;
   justify-content: flex-start;
   align-items: center;
}

.news-contents {
   margin-top: calc(140px + 2vh);
   color: #1E1E1E;
   width: 75%;
}

.news-nav {
   margin-bottom: 5vh;
   color: #030DFF;
}

.news-nav::before {
   content: "";
   display: inline-block;
   width: 10px;
   height: 10px;
   position: relative;
   bottom: 2px;
   border-top: solid 2px #030DFF;
   border-right: solid 2px #030DFF;
   -webkit-transform: rotate(-135deg) translateY(-50%);
   transform: rotate(-135deg) translateY(-50%);
   margin-right: 1vw;
}

.news-nav a {
   font-family: "sofia-pro", "Helvetica Neue", Helvetica, Arial, sans-serif;
   font-size: clamp(0.625rem, 0.534rem + 0.45vw, 0.875rem);
   letter-spacing: 0.2rem;
   font-weight: 500;
}

.news-contents a {
   font-family: "sofia-pro", "Helvetica Neue", Helvetica, Arial, sans-serif;
   font-size: clamp(0.625rem, 0.534rem + 0.45vw, 0.875rem);
   letter-spacing: 0.2rem;
   font-weight: 500;
}

.news-contents h6 {
   font-family: "sofia-pro", "Helvetica Neue", Helvetica, Arial, sans-serif;
   letter-spacing: 0.2rem;
   font-weight: 300;
   margin-bottom: 1vh;
}

.news-contents h3 {
   font-family: "sofia-pro", "Helvetica Neue", Helvetica, Arial, sans-serif;
   letter-spacing: 0.2rem;
   font-weight: 500;
   margin-bottom: 2vh;
}

.news-contents p {
   font-size: clamp(0.75rem, 0.659rem + 0.45vw, 1rem);
   font-family: "toppan-bunkyu-gothic-pr6n", "ヒラギノ角ゴ Pro W3", メイリオ, Meiryo, "ＭＳ Ｐゴシック", sans-serif;
   font-weight: 600;
   letter-spacing: 0.3rem;
   line-height: 2;
}

.privacy-policy {
   width: 75%;
   margin: 30vh 5vw 5vh; 
   line-height: 1.8;
}

.privacy-policy h3 {
   font-family: "sofia-pro", "Helvetica Neue", Helvetica, Arial, sans-serif;
   letter-spacing: 0.4rem;
   font-weight: 700;
   margin-bottom: 10vh;
}

.privacy-policy h5 {
   font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, "ＭＳ Ｐゴシック", sans-serif;

letter-spacing: 0.2rem;
   font-weight: 700;
   margin-bottom: 1vh;
}

.privacy-policy h6 {
   font-family: "toppan-bunkyu-gothic-pr6n", "ヒラギノ角ゴ Pro W3", メイリオ, Meiryo, "ＭＳ Ｐゴシック", sans-serif;
   letter-spacing: 0.2rem;
   font-weight: 600;
   margin-bottom: 5vh;
}

.privacy-policy ol {
   list-style-type: lower-latin;
   margin-bottom: 5vh;
}
.privacy-policy li {
   font-family: "toppan-bunkyu-gothic-pr6n", "ヒラギノ角ゴ Pro W3", メイリオ, Meiryo, "ＭＳ Ｐゴシック", sans-serif;
   letter-spacing: 0.2rem;
   font-weight: 600;
   margin-bottom: 1vh;
   font-size: clamp(0.625rem, 0.534rem + 0.45vw, 0.875rem);
   list-style-type: lower-latin;
   left: 2em;
   position: relative;
}

.privacy-policy ol li ol {
   list-style-type: decimal;
   margin-bottom: 1vh;
}
.privacy-policy ol li ol li {
   list-style-type: decimal;
   left: 5vw;
}

.align-right {
   text-align: right;
}


.fadein {
   opacity: 0;
   transition: all 1.5s;
   transform: translate(-30px,0);
   &.scrollin{
      opacity: 1;
      transform: translate(0, 0);
    }
}

.commercial-transactions-area {
   padding: 20% 120px;
   font-family: "toppan-bunkyu-gothic-pr6n", "ヒラギノ角ゴ Pro W3", メイリオ, Meiryo, "ＭＳ Ｐゴシック", sans-serif;
   letter-spacing: 0.2rem;
   h5 {
      margin-bottom: 1rem;
   }
   td,th {
      vertical-align: middle;
      line-height: 1.5;
   }  
   th {
      width: 40%;
      padding: 2%;
      font-weight: 600;
   }
}

@media screen and (max-width: 820px) {
   .commercial-transactions-area {
      td,th {
         float: left;
         width: 100% !important;
      }
      td {
         margin-bottom: 1rem;
         padding: 2%;
      }
   }
}

.banner-commercial {
   padding: 5%;
   background-color: var(--color--wht);
   display: flex;
   justify-content: center;
   align-items: center;
   picture {
      display: flex;
      justify-content: center;
      align-items: center;
   }
}

.application {
   padding: 2%;
   text-align: center;
   background-color: var(--color--blk);
   border: var(--color--wht) 2px solid;
   font-weight: 700;
   border-radius: 9999px;
   transition: 0.5s ease-in-out;
   display: inline-block;
   position: relative;
   left: 50%;
   transform: translate(-50%, 0);
   white-space: nowrap;
   letter-spacing: 0.2rem;
   font-family: "toppan-bunkyu-gothic-pr6n", "ヒラギノ角ゴ Pro W3", メイリオ, Meiryo, "ＭＳ Ｐゴシック", sans-serif;
   h2,h3,h4,h5,h6 {
       margin: 1rem;
       color: var(--color--wht);
   }   
}

.application:hover {
   background-color: var(--color--vyel);
   h2,h3,h4,h5,h6 {
       color: var(--color--blk);
   }
}

.application-business {
   background-color: var(--color--red);
   padding: 10% 30%;
}