html,
body {
  overflow: clip;
}

body {
  /*notoSansフォント
  <weight>: Use a value from 100 to 900
  <uniquifier>: Use a unique and descriptive class name*/
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 200;
  font-style: normal;
  color: white;
  letter-spacing: 0.16rem;
  font-size: 16px;
}

img {
  display: block;
}

@media (max-width: 620px) {
  body {
    font-size: 14px;
  }
}

/* フォント-------------------------------- */

h1,
h2,
h3,
h4,
h5,
h6 {
  /*VDL-メガGフォント*/
  font-family: vdl-megag, sans-serif;
  font-style: normal;
  font-weight: 400;
  display: block;
  width: fit-content;
}

.megaG {
  font-family: vdl-megag, sans-serif;
  font-style: normal;
  font-weight: 400;
}

.notoSans {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 200;
  font-style: normal;
  letter-spacing: 0.16rem;
}

/*中央揃え----------------------------------------*/
.center {
  display: flex;
  flex-flow: column;
  align-items: center;
  gap: 32px;
}

@media (max-width: 620px) {
  .center {
    gap: 16px;
  }
}

/*最大幅----------------------------------------*/

.contentMaxWidth {
  max-width: 1100px;
  width: 90%;
}

/* ボタンスタイル----------------------------------------*/
.button {
  display: flex;
  justify-content: center;
  width: fit-content;
  gap: 10px;
  padding: 24px 64px;
  margin-top: 32px;
  border-radius: 16px;
  background-color: rgb(255, 255, 255, 0.1);
  box-shadow: inset 0.5px 0.5px 4px 0px rgba(255, 255, 255, 0.5),
    inset -2px -2px 8px 0px rgba(53, 33, 95, 0.8);

  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);

  font-family: vdl-megag, sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 16px;
}

@media (max-width: 620px) {
  .button {
    gap: 10px;
    padding: 24px 32px;
    border-radius: 16px;
    font-size: 12px;
  }
}

/* 長方形コンテンツスタイル----------------------------------------*/
.content_nobackP {
  display: block;
  position: relative;
  border-radius: 32px;
  overflow: hidden;

  text-align: justify;
}

.content_nobackC {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 32px;
  background-color: rgb(255, 255, 255, 0);
  box-shadow: inset 0.5px 0.5px 4px 0px rgba(255, 255, 255, 0.5),
    inset -2px -2px 8px 0px rgba(53, 33, 95, 0.8);
  line-height: 24px;

  pointer-events: none;
}

.content_nobackP img {
  display: block;
  height: 100%;
  width: auto;
}

.content_nobackP video {
  display: block;
  width: 100%;
  height: auto;
}

.content_whiteback {
  width: 100%;
  height: 100%;
  padding: 40px;
  border-radius: 32px;
  overflow: hidden;
  background-color: rgb(255, 255, 255, 0.1);
  box-shadow: inset 0.5px 0.5px 4px 0px rgba(255, 255, 255, 0.5),
    inset -2px -2px 8px 0px rgba(53, 33, 95, 0.8);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);

  text-align: justify;
  line-height: 24px;

  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 48px;
}

.content_whiteback h3 {
  display: block;
  font-size: 24px;
  width: 8vw;
}

.content_whiteback p {
  display: block;
  flex: 1;
}

.content_whiteback a {
  display: block;
  width: fit-content;
}

@media (max-width: 620px) {
  .content_whiteback {
    padding: 32px;
    border-radius: 20px;
    line-height: 24px;

    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }

  .content_nobackP {
    border-radius: 20px;
  }

  .content_nobackC {
    border-radius: 20px;
  }
}

/* グラデーション----------------------------------------*/
.gradationFont {
  background: linear-gradient(140deg, #ff4587 10%, #ff8d00 40%, #cbff51 95%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
}

.gradationBack {
  background: linear-gradient(140deg, #ff4587 10%, #ff8d00 40%, #cbff51 95%);
}

/* メニュー----------------------------------------- */

#menu {
  width: 100vw;
  height: 100dvh;
  position: fixed;
  z-index: 5;
  font-size: 24px;
  opacity: 0;
  transition: opacity 0.4s ease;
  pointer-events: none; /* 非表示時にクリック不可に */
  transition: opacity 0.3s ease;
  background: linear-gradient(
    140deg,
    rgb(255, 69, 135, 0.9) 10%,
    rgb(255, 141, 0, 0.9) 40%,
    rgb(203, 255, 81, 0.8) 95%
  );
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

#menu nav {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center; /* 横方向中央 */
  align-items: center;
}

#menu ul {
  gap: 56px;
}

#menu.visible {
  opacity: 1;
  pointer-events: auto;
}

.hidden {
  display: none;
}

/* クロス状態（Hactive） */
#humbergers.Hactive div:nth-child(1) {
  top: 50%;
  transform: rotate(225deg);
}

#humbergers.Hactive div:nth-child(2) {
  opacity: 0;
}

#humbergers.Hactive div:nth-child(3) {
  top: 50%;
  transform: rotate(-225deg);
}

/* メニュー（お好みで） */
.menu {
  transition: all 0.4s ease;
}
.menu.hidden {
  display: none;
}
.menu.visible {
  display: block;
}

/* 固定部分（ヘッダー、ハンバーガーメニュー、コピーライト）　----------------------------------------*/

h1 {
  font-size: 24px;
}

.koteiWrapper {
  width: 100vw;
  height: 100dvh;
  /* position設定*/
  position: fixed;
  display: flex;
  flex-flow: column;
  justify-content: space-between;
  z-index: 5;
  pointer-events: none;
}

.header {
  display: flex;
  justify-content: space-between;
  padding: 72px;
  pointer-events: auto;
}

#humbergers {
  width: 40px;
  height: 24px;
  display: flex;
  flex-wrap: wrap;
  flex-flow: column;
  justify-content: space-between;
  position: relative;
}

.humbergerBorder {
  position: absolute;
  background-color: white;
  width: 100%;
  height: 3px;

  transition: transform 0.7s cubic-bezier(0.35, 1.4, 0.59, 0.98), top 0.5s ease,
    opacity 0.5s ease;
}

/* 初期位置 */
#humbergers div:nth-child(1) {
  top: 0;
}
#humbergers div:nth-child(2) {
  top: 50%;
}
#humbergers div:nth-child(3) {
  top: 100%;
}

.copy {
  font-size: 12px;
  padding: 72px;
}

@media (max-width: 620px) {
  h1 {
    visibility: hidden;
    width: 0;
    height: 0;
  }

  .koteiWrapper {
    align-items: center;
  }

  .header {
    padding: 0px;
    margin-top: 32px;
    width: 90%;
  }

  .copy {
    font-size: 8px;
    padding: 0;
    padding-bottom: 32px;
    display: block;
    width: 90%;
  }

  #humbergers {
    width: 56px;
    height: 56px;
    align-items: center;
    border-radius: 12px;
    background: linear-gradient(
      90deg,
      rgb(30, 15, 58, 0.3) 0%,
      rgb(30, 15, 58, 0.6) 100%
    );
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);

    transition: 0.5s ease;
  }

  #humbergers.Hactive {
    background: linear-gradient(
      90deg,
      rgb(30, 15, 58, 0) 0%,
      rgb(30, 15, 58, 0) 100%
    );
  }

  /* 初期位置 */
  #humbergers div:nth-child(1) {
    top: 35%;
  }
  #humbergers div:nth-child(2) {
    top: 50%;
  }
  #humbergers div:nth-child(3) {
    top: 65%;
  }

  .humbergerBorder {
    position: absolute;
    background-color: white;
    width: 50%;
    height: 2px;

    transition: transform 0.7s cubic-bezier(0.35, 1.4, 0.59, 0.98),
      top 0.5s ease, opacity 0.5s ease;
  }
}

/* 固定背景-------------------------------------- */

.koteiBack {
  width: 100vw;
  height: 100vh;
  /* background-image: url(../img/haikei.svg); */
  background: linear-gradient(
    90deg,
    rgb(53, 33, 95, 1) 0%,
    rgb(24, 10, 49, 1) 100%
  );
  background-size: cover;
  background-repeat: repeat-y;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
}

/* top ---------------------------------------------------------
-------------------------------------------------------------------------------*/

/* main ----------------------------------------*/

.main {
  width: 100vw;
  height: 100vh;
  /* 水平・垂直方向の中央揃え */
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: visible;
}

.mainTitle {
  width: auto;
  height: auto;
  display: flex;
  flex-flow: column;
  align-items: center;
  transform: translate(0, 10%);
}

.mainTitle img {
  width: 42vw;
  height: auto;
}

.subTitle {
  font-size: 0.9vw;
  display: block;
  width: fit-content;
  margin-top: 48px;
}

.scroll {
  position: relative;
  width: auto;
  height: auto;
  margin-top: 72px;
  display: flex;
  flex-flow: column;
  align-items: center;
}

.scrollLine {
  width: 1px;
  height: 80px;
  background-color: white;
}

.scrollBall {
  position: absolute;
  top: 0;
  width: 8px;
  height: 8px;
  border-radius: 128px;
  background-color: white;
  animation: scrollBallMove 5s ease-in-out infinite;
}

@keyframes scrollBallMove {
  0% {
    top: 0;
  }
  50% {
    top: 72px; /* scrollLineの高さ80pxに近い位置まで */
  }
  100% {
    top: 0;
  }
}

.scroll p {
  font-size: 0.9vw;
  padding-top: 16px;
  display: block;
  width: fit-content;
}

@media (max-width: 620px) {
  .main {
    height: 100dvh;
  }

  .mainTitle img {
    width: 80vw;
    height: auto;
  }

  .subTitle {
    font-size: 2vw;
    display: block;
    width: fit-content;
    margin-top: 24px;
  }

  .scroll {
    margin-top: 32px;
  }

  .scroll p {
    font-size: 2vw;
  }

  .scrollLine {
    height: 56px;
  }

  @keyframes scrollBallMove {
    0% {
      top: -4px;
    }
    50% {
      top: 52px; /* scrollLineの高さ80pxに近い位置まで */
    }
    100% {
      top: -4px;
    }
  }
}

/* メインビジュアル背景---------------------------------------- */

/* 点線飾り */

.dotR {
  width: 44%;
  height: auto;
  position: absolute;
  top: -3.5vh;
  left: 63.3vw;
}

.dotL {
  width: 44vw;
  height: auto;
  position: absolute;
  top: 72vh;
  left: -7vw;
}

/* 宝石 */

.kazariWrapper {
  width: 100%;
  height: 100%;
  z-index: -1;
  top: 0;
  left: 0;
  position: absolute;
  pointer-events: none;

  overflow: visible;
  transform: translateZ(0);
}

.kazariContainerWrapper {
  width: 100%;
  height: 100%;
}

.kazariContainer {
  position: relative;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;

  overflow-x: clip;
}

.houseki {
  width: 10vw;
  height: auto;
  position: absolute;
  opacity: 1;
}

.housekiNoBlur {
  width: 100%;
  height: auto;
}

.housekiBlur {
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  filter: blur(30px);
  -webkit-filter: blur(30px);
}

.housekiLineBlur {
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  filter: blur(10px);
  -webkit-filter: blur(10px);
}

.mH-number1 {
  width: 9.1vw;
  top: -3.6vw;
  left: 49vw;
}

.mH-number2 {
  width: 7.9vw;
  top: 36vh;
  left: 16vw;
}

.mH-number3 {
  width: 4.8vw;
  top: 52vh;
  left: 6.7vw;
}

.mH-number4 {
  width: 26vw;
  top: 67vh;
  left: -4.6vw;
}

.mH-number5 {
  width: 19.6vw;
  top: 6.7vh;
  left: 68.4vw;
}

.mH-number6 {
  width: 29vw;
  top: 36.7vh;
  left: 70vw;
}

.mH-number7 {
  width: 10vw;
  top: 69vh;
  left: 62vw;
  opacity: 0.7;
}

.mH-number8 {
  width: 31.5vw;
  top: -5.8vw;
  left: -5.8vw;
  opacity: 0.6;
}

.mH-number9 {
  width: 27vw;
  top: 36.8vh;
  left: 23.8vw;
  opacity: 0.4;
}

/* about---------------------------------------- */

/* about背景 */

/* ドット */

.dot_about {
  position: absolute;
  top: 0;
  left: 0;
}

/* 宝石 */

.aH-number1 {
  width: 25vw;
  top: -6.5vh;
  left: 8vw;
}

.aH-number2 {
  width: 5.6vw;
  top: 27vh;
  left: 74vw;
}

.aH-number3 {
  width: 34vw;
  top: 78vh;
  left: 74vw;
}

.aH-number4 {
  width: 15vw;
  bottom: -20vh;
  left: 7.8vw;
}

/* aboutコンテンツ */

.about {
  width: 100vw;
  height: auto;
  margin-top: 350px;
  margin-bottom: 400px;
  position: relative;
}

.aboutContentWrapper {
  display: flex;
  flex-flow: column;
  align-items: flex-start;
  width: auto;
  height: auto;
  gap: 260px;
}

.aboutContentWrapper h3 {
  font-size: 2.12vw;
  line-height: 5.3vw;
}

@media (max-width: 620px) {
  .about {
    margin: 0;
  }

  .aboutContentWrapper {
    gap: 0;
    margin-left: 4%;
  }

  .aboutContentWrapper h3 {
    display: block;
    font-size: 5.3vw;
    line-height: 12.8vw;
  }

  .aboutContentWrapper div {
    height: 100vh;
    display: flex;
    align-items: center;
  }

  .aboutContentWrapper .aboutPart3 {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
  }
}

/* works---------------------------------------- */

/* works背景 */

.dot_works1 {
  width: 105vw;
  height: auto;
  position: absolute;
  top: -37vh;
  left: -2.2vw;
}

.dot_works2 {
  width: 100vw;
  height: auto;
  position: absolute;
  bottom: -55vh;
  left: -2.2vw;
}

/* works一覧コンテンツ */

#works {
  position: relative;
  padding-top: 120px;
  width: 100%;
}

.worksTitle {
  position: relative;
  height: auto;
  min-height: 200px;
}

.worksTitle img {
  display: block;
  width: 100%;
  height: auto;
}

.worksTitle h2 {
  position: absolute;
  transform: translate(-50%, -50%);
  top: 50%;
  left: 50%;
  font-size: 64px;
  filter: drop-shadow(0px 0px 20px rgba(255, 69, 135, 1));
  -webkit-filter: drop-shadow(0px 0px 20px rgba(255, 69, 135, 1));
}

.category {
  margin: 80px 0;
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}

.category a {
  display: block;
  padding: 16px 32px;
  margin: 0;
  white-space: nowrap;

  font-size: 12px;
  box-shadow: inset 0.5px 0.5px 2px 0px rgba(255, 255, 255, 0.8),
    inset -2px -2px 4px 0px rgba(53, 33, 95, 0.5);
  filter: drop-shadow(0px 0px 16px rgba(255, 255, 255, 0));
  -webkit-filter: drop-shadow(0px 0px 16px rgba(255, 255, 255, 0));
  background: rgb(255, 255, 255, 0.15);
  /* background: linear-gradient(
    120deg,
    rgb(255, 69, 135, 0.5) 5%,
    rgb(255, 141, 0, 0.5) 65%,
    rgb(203, 255, 81, 0.7) 100%
  ); */

  transition: filter 0.3s ease, background 0.3s ease;
}

.worksGrid {
  width: 100%;
  display: grid;
  gap: 32px;
  grid-template-columns: 1fr 1fr 1fr;
}

.worksItem {
  width: 100%;
  aspect-ratio: 1/1;

  font-size: 16px;
}

.worksItem p {
  font-feature-settings: "palt";
}

.categoryContainer {
  width: 100%;
  height: auto;
  display: flex;
  flex-wrap: wrap;

  margin-top: 16px;
  gap: 8px 16px;
}

.categoryContainer li {
  list-style: none;
  flex: 0 0 auto;
  white-space: nowrap;
  font-size: 12px;
  line-height: 12px;
}

@media (max-width: 620px) {
  .category {
    margin: 40px 0;
    gap: 8px;
    justify-content: flex-start;
  }

  .category a {
    display: block;
    padding: 16px;
    margin: 0;

    font-size: 10px;
  }

  .worksGrid {
    gap: 12px;
    grid-template-columns: 1fr 1fr;
  }

  .worksTitle h2 {
    font-size: 32px;
    filter: drop-shadow(0px 0px 12px rgba(255, 69, 135, 1));
    -webkit-filter: drop-shadow(0px 0px 12px rgba(255, 69, 135, 1));
  }
}

/* works一覧コンテンツ　ホバー */
@media (hover: hover) {
  .categoryList a:hover {
    filter: drop-shadow(0px 0px 8px rgba(255, 255, 255, 0.3));
    background: linear-gradient(
      120deg,
      rgb(255, 69, 135, 1) 5%,
      rgb(255, 141, 0, 1) 65%,
      rgb(203, 255, 81, 1) 100%
    );
  }

  .worksItem:hover .worksItemHoverContent {
    opacity: 1;
    filter: blur(0px);
    -webkit-filter: blur(0px);
  }

  .worksItem:hover img {
    transform: scale(1.01);
  }
}

.worksItem img {
  transform: scale(1);
  transition: transform 0.3s ease;
}

.worksItemHoverContent {
  line-height: 24px;
  width: 100%;
  height: 100%;
  padding: 32px;
  position: absolute;
  top: 0;
  left: 0;
  background-color: rgb(53, 33, 95, 0.6);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  filter: blur(4px);
  -webkit-filter: blur(4px);
  opacity: 0;
  transition: opacity 0.4s ease, filter 0.35s ease, -webkit-filter 0.35s ease;
}

/* works一覧コンテンツ　カテゴリ分け表示 */

.categoryList .active {
  filter: drop-shadow(0px 0px 8px rgba(255, 255, 255, 0.3));
  background: linear-gradient(
    120deg,
    rgb(255, 69, 135, 1) 5%,
    rgb(255, 141, 0, 1) 65%,
    rgb(203, 255, 81, 1) 100%
  );
}

.worksItem {
  display: none;
}

.worksItem.show {
  display: block;
}

/* footer---------------------------------------- */

/* 背景飾り */

/* ドット */

.dot_footer1 {
  width: 38vw;
  height: auto;
  position: absolute;
  top: -73.5vh;
  left: -1.6vw;
}

.dot_footer2 {
  width: 45vw;
  height: auto;
  position: absolute;
  top: -40vh;
  right: 0vw;
}

.dot_footer3 {
  width: 50vw;
  height: auto;
  position: absolute;
  bottom: 0vh;
  left: 0vw;
}

/* 宝石 */

.fH-number1 {
  width: 15vw;
  top: 26vh;
  left: 4.36vw;
}

.fH-number2 {
  width: 25vw;
  bottom: -18vh;
  left: 56vw;
}

.fH-number3 {
  width: 42vw;
  top: -30vh;
  right: -10vw;
}

.fH-number4 {
  width: 15vw;
  top: 16vh;
  right: 17vw;
}

.fH-number5 {
  width: 17.7vw;
  top: -10vh;
  left: 20.5vw;
}

.fH-number6 {
  width: 7.3vw;
  bottom: 12vh;
  left: 20.4vw;
}

/* footerコンテンツ */

.footer {
  position: relative;
  margin-top: 500px;
  /* z-index: -1; */
}

.footerTitle {
  position: relative;
  width: fit-content;
  height: fit-content;
}

.footerTitle img:first-child {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
  filter: blur(1vw);
  opacity: 0.8;
}

.footerMenu {
  margin-top: 96px;
}

.footerMenu ul {
  display: flex;
  font-size: 1.58vw;
  gap: 1vw;
}

.footerMenu li {
  width: auto;
  height: auto;
}

.footerMenu a {
  display: block;

  padding: 0.52vw;
}

/* works詳細ページ---------------------------------------------------------
---------------------------------------------------------------*/

/* 背景飾り */

/* ドット */
.dot_worksDitail1 {
  width: 105vw;
  height: auto;
  position: absolute;
  top: 110vh;
  left: -2.2vw;
}

.dot_worksDitail2 {
  width: 70vw;
  height: auto;
  position: absolute;
  top: -55vh;
  left: -17vw;
  opacity: 0.8;
}

/* 宝石 */

.worksDitail .kazariWrapper {
  height: 100%;
}

.wDH-number1 {
  width: 12vw;
  top: -8vh;
  left: 64vw;
}

.wDH-number2 {
  width: 40vw;
  top: 75vh;
  left: -15vw;
  opacity: 0.5;
}

.wDH-number3 {
  width: 27vw;
  top: 201vh;
  right: -5vw;
  opacity: 0.5;
}

/* works詳細コンテンツ */

.worksContent {
  margin-top: 300px;
  line-height: 24px;
}

.worksContent h2 {
  font-size: 24px;
  font-weight: 300;
  line-height: 40px;
}

.categoryTag {
  width: fit-content;
  margin-top: 24px;
  margin-bottom: 96px;
}

.categoryTag ul {
  display: flex;
  gap: 16px;

  flex-wrap: wrap;
}

.categoryTag li {
  display: block;
  font-size: 16px;
}
.worksVisual {
  width: 100%;
}

.worksVisual img {
  width: 100%;
}

.worksVisual video {
  width: 100%;
}

.worksExplain {
  margin-top: 64px;
}

.worksNavigation {
  display: flex;
  justify-content: space-between;
  margin-top: 160px;
}

@media (max-width: 620px) {
  .worksContent {
    margin-top: 250px;
    line-height: 24px;
  }

  .worksContent h2 {
    font-size: 20px;
    line-height: 32px;
  }

  .categoryTag {
    margin-top: 16px;
    margin-bottom: 64px;
  }

  .categoryTag ul {
    gap: 12px;
  }

  .categoryTag li {
    font-size: 3vw;
  }

  .worksExplain {
    margin-top: 40px;
  }

  .worksNavigation {
    display: flex;
    justify-content: flex-start;
    margin-top: 80px;
    gap: 8px;
  }

  .prev {
    order: 1;
    width: 50%;
  }
  .return_works {
    order: 3;
  }
  .next {
    order: 2;
    width: 50%;
  }
}

/* aboutページ----------------------------------------------------------
---------------------------------------------------------------*/

/* メイン背景 */

.aboutDitail .kazariWrapper {
  opacity: 0.8;
}

/* about詳細コンテンツ */

.aboutTitle h3 {
  font-size: 3.7vw;
  text-align: center;
  line-height: 5.3vw;
}

.aboutTitle h2 {
  font-size: 2vw;
}

/* aboutコンテンツ背景 */

/* ドット */
.dot_aboutDitail1 {
  width: 105vw;
  height: auto;
  position: absolute;
  top: 50vh;
  left: -2.2vw;
}

/* 宝石 */
.aDH-number2 {
  width: 40vw;
  top: 25vh;
  left: -15vw;
  opacity: 0.5;
}

.aDH-number3 {
  width: 27vw;
  top: 80vh;
  right: -5vw;
  opacity: 0.5;
}

/* aboutコンテンツ */

.aboutContent {
  width: 100%;
  height: auto;
  margin-top: 100px;
  position: relative;
}

.aboutContentTop {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  height: 25vw;
  gap: 32px;
}

.profile {
  flex: 1;
  flex-direction: column;
}

.itsMe {
  aspect-ratio: 1/1;
}

.itsMe img {
  width: 100%;
}
