﻿*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
:where([hidden]:not([hidden='until-found'])) {
  display: none !important;
}
:where(html) {
  -webkit-text-size-adjust: none;
  color-scheme: dark light;
  tab-size: 2;
}
@media (prefers-reduced-motion: no-preference) {
  :where(html:focus-within) {
    scroll-behavior: smooth;
  }
}
:where(body) {
  line-height: 1.5;
  font-family: system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
}
:where(button) {
  all: unset;
}
:where(input, button, textarea, select) {
  font: inherit;
  color: inherit;
}
:where(textarea) {
  resize: vertical;
  resize: block;
}
:where(button, label, select, summary, [role='button'], [role='option']) {
  cursor: pointer;
}
:where(:disabled) {
  cursor: not-allowed;
}
:where(label:has(> input:disabled), label:has(+ input:disabled)) {
  cursor: not-allowed;
}
:where(a) {
  color: inherit;
  text-underline-offset: 0.2ex;
}
:where(ul, ol) {
  list-style: none;
}
:where(img, svg, video, canvas, audio, iframe, embed, object) {
  display: block;
}
:where(img, picture, svg, video) {
  max-inline-size: 100%;
  block-size: auto;
}
:where(p, h1, h2, h3, h4, h5, h6) {
  overflow-wrap: break-word;
}
:where(h1, h2, h3) {
  line-height: calc(1em + 0.5rem);
}
:where(hr) {
  border: none;
  border-block-start: 1px solid;
  color: inherit;
  block-size: 0;
  overflow: visible;
}
:where(:focus-visible) {
  outline: 3px solid CanvasText;
  box-shadow: 0 0 0 5px Canvas;
  outline-offset: 1px;
}
:where(:focus-visible, :target) {
  scroll-margin-block: 8vh;
}
:where(.visually-hidden:not(:focus-within, :active)) {
  clip-path: inset(50%) !important;
  height: 1px !important;
  width: 1px !important;
  overflow: hidden !important;
  position: absolute !important;
  white-space: nowrap !important;
  border: 0 !important;
}
:root {
  --s1: 8px;
  --s2: 16px;
  --s3: 24px;
  --s4: 32px;
  --s5: 40px;
  --s6: 48px;
  --s7: 56px;
  --s8: 64px;
  --s9: 72px;
  --s10: 80px;
  --s11: 88px;
  --s12: 96px;
  --s13: 104px;
  --s14: 112px;
  --s15: 120px;
  --s16: 128px;
  --s17: 136px;
  --s18: 144px;
  --s19: 152px;
  --s20: 160px;
  --s21: 168px;
  --s22: 176px;
  --s23: 184px;
  --s24: 192px;
  --s25: 200px;
  --s26: 208px;
  --s27: 216px;
  --s28: 224px;
  --s29: 232px;
  --s30: 240px;
  --s31: 248px;
  --s32: 256px;
}
@media (max-width: 767px) {
  :root {
    --s1: 1.6vw;
    --s2: 3.2vw;
    --s3: 4.8vw;
    --s4: 6.4vw;
    --s5: 8vw;
    --s6: 9.6vw;
    --s7: 11.2vw;
    --s8: 12.8vw;
    --s9: 14.4vw;
    --s10: 16vw;
    --s11: 17.6vw;
    --s12: 19.2vw;
    --s13: 20.8vw;
    --s14: 22.4vw;
    --s15: 24vw;
    --s16: 25.6vw;
    --s17: 27.2vw;
    --s18: 28.8vw;
    --s19: 30.4vw;
    --s20: 32vw;
    --s21: 33.6vw;
    --s22: 35.2vw;
    --s23: 36.8vw;
    --s24: 38.4vw;
    --s25: 40vw;
    --s26: 41.6vw;
    --s27: 43.2vw;
    --s28: 44.8vw;
    --s29: 46.4vw;
    --s30: 48vw;
    --s31: 49.6vw;
    --s32: 51.2vw;
  }
}
:root {
  --color-white: #ffffff;
  --color-white-rgb: 255, 255, 255;
  --color-black: #222222;
  --color-bg: #000000;
  --color-black-rgb: rgba(0, 0, 0, 0.8);
  --key-grad: linear-gradient(72deg, #5028e6 0%, #2d96c8 40%, #64dcb4 100%);
  --color-kintone: #ffbf00;
  --color-kintone-rgb: rgba(255, 191, 0, 0.9);
  --color-dim: #121212;
  --color-gray: #7e7e7e;
  --color-darkest: #242424;
  --color-light: #b4b4b4;
  --color-lighter: #c6c6c6;
}
html,
body {
  width: 100%;
  height: auto;
}
html {
  font-size: 62.5%;
}
body {
  font-family: 'ヒラギノ角ゴ W5 JIS2004', sans-serif;
  width: 100%;
  height: 100%;
  letter-spacing: 0;
  word-wrap: break-word;
  -webkit-text-size-adjust: 100%;
  font-feature-settings: 'palt';
  color: var(--color-white);
  text-wrap: wrap;
}
code,
pre {
  font-family: 'Source Code', monospace;
}
a {
  text-decoration: none;
  color: var(--color-white);
}
ul,
ol,
dl {
  list-style: none;
  margin: 0;
  padding: 0;
}
strong {
  font-family: 'ヒラギノ角ゴ W8 JIS2004', sans-serif;
}
body {
  background: var(--key-grad);
}
@media (max-width: 767px) {
  body .--monitor {
    display: none;
  }
}
@media (min-width: 768px) {
  body .--mobile {
    display: none;
  }
}
._mb-10 {
  margin-bottom: 0;
}
.theme-container {
  background: rgba(0, 0, 0, 0);
}
.site-body__container {
  padding: var(--s2);
  min-width: 1340px;
}
@media (max-width: 767px) {
  .site-body__container {
    padding: var(--s2) var(--s2) var(--s12);
    min-width: auto;
  }
}
.site-menu__container {
  display: none;
}
.mobile-fixed-menu__container {
  display: none;
}
._overflow-hidden {
  overflow: auto;
}
@media (max-width: 767px) {
  ._overflow-hidden {
    overflow: hidden;
  }
}
.gl-hack_btn {
  position: relative;
}
.gl-hack_btn a {
  font-family: 'ヒラギノ角ゴ W7 JIS2004', sans-serif;
  display: inline-block;
  position: relative;
  font-size: 16px;
  line-height: 1.5em;
  padding: 0.5em 2em;
  color: var(--color-white);
  background-color: var(--color-black);
  border: 2px solid var(--color-white);
  text-decoration: none;
  transition: color 0.3s ease, background-color 0.3s ease,
    border-color 0.3s ease;
}
@media (max-width: 767px) {
  .gl-hack_btn a {
    font-size: 3.4666666667vw;
    padding: 0.5em 1em;
    border-width: 0.5333333333vw;
  }
}
.gl-hack_btn a::after {
  content: '';
  display: inline-block;
  translate: 0 0.05em;
  margin-left: 0.75em;
  width: 0.5em;
  aspect-ratio: 18/32;
  background: no-repeat center/100%
    url('https://dl.qloba.info/uploads/projects/page_image/image/42004/11899ef7-b594-4111-863a-108112850351.png');
}
@media (max-width: 767px) {
  .gl-hack_btn a::after {
    margin-left: 0.5em;
  }
}
.gl-hack_btn a:hover {
  background-color: var(--color-white);
  color: var(--color-black);
}
.gl-hack_btn a:hover::after {
  background-image: url('https://dl.qloba.info/uploads/projects/page_image/image/42116/ae31d796-12c0-43c9-8379-aa89cfea0b72.png');
}
.gl-hack_btn.--entry a {
  color: var(--color-black);
  background-color: var(--color-kintone);
  border-color: var(--color-black);
}
.gl-hack_btn.--entry a::after {
  background-image: url('https://dl.qloba.info/uploads/projects/page_image/image/42116/ae31d796-12c0-43c9-8379-aa89cfea0b72.png');
}
.gl-hack_btn.--entry a:hover {
  background-color: var(--color-white);
}
.gl-hack_btn.--large a {
  font-size: 32px;
  margin: 0 16px;
  font-weight: bold;
}
@media (max-width: 767px) {
  .gl-hack_btn.--large a {
    font-size: 5.8666666667vw;
    margin: 8px 0;
    font-weight: bold;
  }
}

/* .gl-hack_btn と --entry を両方持つ要素（親）に適用 */
.hack_header_cta .gl-hack_btn.--entry {
  display: inline-flex; /* 横並び */
  gap: 8px; /* 間隔 */
}

/* 中の a をグリッドのセルいっぱいに広げる */
.hack_header_cta .gl-hack_btn.--entry a {
  display: inline-block;
  white-space: nowrap;
}

@media (max-width: 767px) {
  .hack_header_cta .gl-hack_btn.--entry {
    flex-direction: column; /* 縦並び */
    gap: 8px; /* 間隔 */
  }
}

/* PC側は現状のままでOKとして、スマホだけ調整 */
@media (max-width: 767px) {
  /* 2つのブロックを縦並びにして、幅をそろえる */
  .hack_cta_wrapper {
    display: flex;
    flex-direction: column;
    gap: 8px;
  }

  /* 各 .gl-hack_btn を縦レイアウトにして、中身を上下に */
  .hack_cta_wrapper .gl-hack_btn.--entry {
    width: 100%;
  }

  /* ボタンを親の幅いっぱいにして、2つとも同じ幅にする */
  .hack_cta_wrapper .gl-hack_btn.--entry a {
    display: block;
    width: 100%;
    text-align: center;
  }
}

.gl-hack_btn.--flex {
  flex: 1;
}
@media (max-width: 767px) {
  .gl-hack_btn.--flex {
    width: 100%;
  }
}
.gl-hack_btn.--flex a {
  display: block;
}
.gl-hack_btn.--border a {
  border-color: var(--color-kintone);
}
.gl-hack_btn.--border a:hover {
  border-color: var(--color-white);
}
.gl-hack_btn.--icon::before {
  content: '';
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  display: block;
  width: 144px;
  aspect-ratio: 1/1;
  background-size: 100%;
  background-repeat: no-repeat;
  z-index: 1;
}
@media (max-width: 767px) {
  .gl-hack_btn.--icon::before {
    top: auto;
    bottom: -1.6vw;
    translate: 0 0;
    width: 15.4666666667vw;
  }
}
.gl-hack_btn.--engineer.--icon::before {
  left: calc(var(--s8) * -1);
  background-image: url('https://dl.qloba.info/uploads/projects/page_image/image/42131/9a7af7fa-aa28-4fe3-84cd-77ed8401fddf.png');
}
@media (max-width: 767px) {
  .gl-hack_btn.--engineer.--icon::before {
    left: auto;
    right: -6.9333333333vw;
    background-image: url('https://dl.qloba.info/uploads/projects/page_image/image/42132/fa93446d-c853-4e61-b332-c194ea2ed78f.png');
  }
}
.gl-hack_btn.--guest.--icon::before {
  right: calc(var(--s8) * -1);
  background-image: url('https://dl.qloba.info/uploads/projects/page_image/image/41840/dbcdba71-25d6-40fa-a95e-daf690906d4d.png');
}
@media (max-width: 767px) {
  .gl-hack_btn.--guest.--icon::before {
    right: -6.9333333333vw;
    background-image: url('https://dl.qloba.info/uploads/projects/page_image/image/42102/79709711-6212-41ab-89d4-1f57769cd484.png');
  }
}
.ly-floating {
  display: none;
  z-index: 9999;
  padding: 3.2vw;
  background-color: var(--color-bg);
}
@media (max-width: 767px) {
  .ly-floating {
    display: block;
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease-in-out;
  }
  .ly-floating.--active {
    opacity: 1;
    pointer-events: auto;
  }
}
@media (max-width: 767px) {
  .ly-floating .section__wrapper {
    padding: 0;
  }
}
@media (max-width: 767px) {
  .ly-floating .hack_header_cta {
    display: flex;
    flex-flow: row nowrap;
    align-items: flex-start;
    justify-content: center;
    gap: 3.2vw;
  }
}
.ly-floating .hack_header_cta .gl-hack_btn {
  flex: 1;
}
.ly-floating .hack_header_cta .gl-hack_btn a {
  display: block;
}
@media (max-width: 767px) {
  .ly-floating .hack_header_cta .gl-hack_btn a {
    padding: 0.5em;
  }
}
.ly-header {
  background-color: var(--color-bg);
}
.ly-header.--opacity {
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
}
.ly-header.--active {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  padding: var(--s2);
  opacity: 1;
  z-index: 999;
}
@media (max-width: 767px) {
  .ly-header.--active {
    position: relative;
  }
}
.ly-header.--active .section__wrapper {
  padding: 0;
}
@media (min-width: 768px) and (max-width: 868px) {
  .ly-header.--active .hack_header_cta .gl-hack_btn a {
    padding: 0.5em 0.75em;
  }
}
.ly-header .section__wrapper {
  padding: var(--s2) var(--s4);
  margin: 0;
  max-width: 100%;
}
@media (max-width: 767px) {
  .ly-header .section__wrapper {
    padding: var(--s2);
  }
}
.ly-header .table__columns {
  align-items: center;
  justify-content: space-between;
}
@media (max-width: 767px) {
  .ly-header .table__columns {
    display: flex;
  }
}
@media (max-width: 767px) {
  .ly-header .table__columns .table__column {
    margin-bottom: 0;
  }
}
.ly-header .table__columns ._w-6\/12 {
  width: auto;
}
.ly-header .hack_header_logo .image__wrapper {
  width: 215px;
  height: auto;
  aspect-ratio: 215/24;
  margin: 0;
}
@media (max-width: 767px) {
  .ly-header .hack_header_logo .image__wrapper {
    width: 48vw;
  }
}
.ly-header .hack_header_cta {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  gap: var(--s2);
}
.ly-header .hack_header_cta .gl-hack_x {
  width: var(--s5);
  height: auto;
  aspect-ratio: 1/1;
}
.ly-header .hack_header_cta .gl-hack_x:hover {
  opacity: 0.6;
}
.ly-cover {
  margin: var(--s2) 0;
}
.ly-cover.--space {
  margin: 92px 0 16px;
}
@media (max-width: 767px) {
  .ly-cover.--space {
    margin: var(--s2) 0;
  }
}
.ly-cover .section__wrapper {
  max-width: 1140px;
  padding: var(--s8) var(--s4);
  overflow: visible;
}
@media (max-width: 767px) {
  .ly-cover .section__wrapper {
    padding: var(--s5) var(--s4);
    max-width: 100%;
  }
}
.ly-cover .hack_cover_wrapper img {
  width: 100%;
}
.ly-cover .hack_cover_cta {
  margin-top: var(--s24);
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: center;
  gap: var(--s4);
}
@media (max-width: 767px) {
  .ly-cover .hack_cover_cta {
    flex-flow: column nowrap;
    gap: var(--s2);
    margin-top: var(--s18);
  }
}

.ly-entry {
  margin-bottom: var(--s2);
}
.ly-entry .section__wrapper {
  max-width: 1140px;
  padding: var(--s4);
}
.ly-entry .hack_entry {
  font-family: 'ヒラギノ角ゴ W7 JIS2004', sans-serif;
  font-size: 24px;
  line-height: 1.4em;
  padding: 0.3em 1em;
  background: var(--key-grad);
  width: fit-content;
  margin-inline: auto;
  margin-bottom: var(--s3);
}
@media (max-width: 767px) {
  .ly-entry .hack_entry {
    font-size: 5.3333333333vw;
  }
}
.ly-entry .hack_schedule {
  font-size: 48px;
  line-height: 1.2em;
}
@media (max-width: 767px) {
  .ly-entry .hack_schedule {
    font-size: 9.6vw;
    display: flex;
    flex-flow: column nowrap;
    align-items: center;
    gap: 3.2vw;
  }
}
.ly-entry .hack_schedule p {
  margin-top: 0;
}
.ly-entry .hack_schedule .hack_text {
  font-family: 'ヒラギノ角ゴ W7 JIS2004', sans-serif;
  font-size: 48px;
  line-height: 1.2em;
  display: inline-block;
}
@media (max-width: 767px) {
  .ly-entry .hack_schedule .hack_text {
    display: block;
    font-size: 9.6vw;
  }
}
.ly-entry .hack_schedule .hack_text_grad {
  display: inline-block;
  background: var(--key-grad);
  -webkit-background-clip: text;
  -webkit-text-fill-color: rgba(0, 0, 0, 0);
}
@media (max-width: 767px) {
  .ly-entry .hack_schedule .hack_text_grad {
    display: block;
    writing-mode: vertical-rl;
    font-size: 11.2vw;
  }
}
.ly-about {
  margin-bottom: var(--s2);
}
.ly-about .section__wrapper {
  max-width: 100%;
  padding: var(--s8) 0 0;
  overflow: visible;
}
.ly-about .table__column {
  overflow: visible;
}
.ly-about h2 {
  font-family: 'ヒラギノ角ゴ W8 JIS2004', sans-serif;
  position: relative;
  font-size: 56px;
  line-height: 1.2em;
  background: var(--key-grad);
  -webkit-background-clip: text;
  -webkit-text-fill-color: rgba(0, 0, 0, 0);
  margin-bottom: 0;
  padding-left: calc(var(--s5) * 1.25);
}
@media (max-width: 767px) {
  .ly-about h2 {
    font-size: 9.6vw;
    text-align: center;
    padding-left: 0;
    width: fit-content;
    margin-inline: auto;
  }
}
.ly-about h2::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  translate: 0% -50%;
  width: 22px;
  height: auto;
  aspect-ratio: 22/56;
  background-size: 100%;
  background-image: url('https://dl.qloba.info/uploads/projects/page_image/image/42016/b395c2a5-ece6-463b-bb59-ae764585708a.png');
}
@media (max-width: 767px) {
  .ly-about h2::before {
    width: 4.2666666667vw;
    left: -7.4666666667vw;
  }
}
.ly-about .hack_title {
  font-family: 'ヒラギノ角ゴ W7 JIS2004', sans-serif;
  font-size: 32px;
  line-height: 1.4em;
  margin-left: calc(var(--s5) * 1.25);
}
@media (max-width: 767px) {
  .ly-about .hack_title {
    font-size: 6.9333333333vw;
    margin-left: 0;
    text-align: center;
  }
}
.ly-about .hack_desc {
  margin-top: 1em;
  margin-left: calc(var(--s5) * 1.25);
}
@media (max-width: 767px) {
  .ly-about .hack_desc {
    margin-left: 0;
  }
}
.ly-about .hack_desc .hack_text {
  font-size: 18px;
  line-height: 1.6em;
}
@media (max-width: 767px) {
  .ly-about .hack_desc .hack_text {
    font-size: 4.2666666667vw;
  }
}
.ly-about .hack_desc .hack_text strong {
  color: var(--color-kintone);
}
.ly-about .hack_desc .hack_text:not(:first-of-type) {
  margin-top: 0.5em;
}
.ly-about .table__container {
  overflow: hidden;
  margin-top: 0;
}
.ly-about .table__columns:has(.hack_about_item) {
  max-width: 1140px;
  gap: var(--s6);
  margin-inline: auto;
}
@media (max-width: 767px) {
  .ly-about .table__columns:has(.hack_about_item) {
    display: flex;
    flex-flow: column nowrap;
    gap: 0;
    padding: 0 var(--s3);
  }
}
.ly-about .table__columns:has(.hack_about_item) .table__column {
  padding: 0;
}
.ly-about .hack_what_image .image__wrapper {
  width: 538px;
  height: auto;
}
@media (max-width: 767px) {
  .ly-about .hack_what_image .image__wrapper {
    width: 100%;
  }
}
.ly-about .table__columns:has(.hack_about_gallery) {
  height: var(--s16);
  overflow: hidden;
  margin-top: var(--s8);
}
@media (max-width: 767px) {
  .ly-about .table__columns:has(.hack_about_gallery) {
    display: flex;
    margin-top: 4.8vw;
  }
}
.ly-about .hack_about_gallery {
  height: var(--s16);
  overflow: hidden;
  position: relative;
}
.ly-about .hack_about_gallery .image__wrapper {
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  min-width: 100%;
  min-height: 100%;
}
.ly-about .hack_about_gallery .image__img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
  object-position: center;
}
.ly-content {
  margin-bottom: var(--s2);
}
.ly-content .section__wrapper {
  max-width: 1140px;
  padding: var(--s8) 0;
  overflow: visible;
}
@media (max-width: 767px) {
  .ly-content .section__wrapper {
    padding: var(--s8) var(--s3);
  }
}
.ly-content .table__column {
  overflow: visible;
  padding: 0;
}
.ly-content h2 {
  font-family: 'ヒラギノ角ゴ W8 JIS2004', sans-serif;
  position: relative;
  font-size: 56px;
  line-height: 1.2em;
  background: var(--key-grad);
  -webkit-background-clip: text;
  -webkit-text-fill-color: rgba(0, 0, 0, 0);
  margin-bottom: 0;
  padding-left: calc(var(--s5) * 1.25);
}
.ly-content h2::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  translate: 0% -50%;
  width: 22px;
  height: auto;
  aspect-ratio: 22/56;
  background-size: 100%;
  background-image: url('https://dl.qloba.info/uploads/projects/page_image/image/42016/b395c2a5-ece6-463b-bb59-ae764585708a.png');
}
@media (max-width: 767px) {
  .ly-content h2::before {
    width: 4.2666666667vw;
    left: -8.5333333333vw;
  }
}
@media (max-width: 767px) {
  .ly-content h2 {
    font-size: 9.6vw;
    text-align: center;
    padding-left: 0;
    width: fit-content;
    margin-inline: auto;
  }
}
.ly-content h3 {
  font-family: 'ヒラギノ角ゴ W8 JIS2004', sans-serif;
  font-size: 32px;
  line-height: 1.2em;
}
@media (max-width: 767px) {
  .ly-content h3 {
    font-size: 6.4vw;
  }
}
.ly-content .hack_desc {
  margin-top: 1em;
  margin-left: calc(var(--s5) * 1.25);
}
@media (max-width: 767px) {
  .ly-content .hack_desc {
    margin-left: 0;
  }
}
.ly-content .hack_desc .hack_text {
  font-size: 18px;
  line-height: 1.6em;
}
@media (max-width: 767px) {
  .ly-content .hack_desc .hack_text {
    font-size: 4.2666666667vw;
  }
}
.ly-content .hack_desc .hack_text strong {
  color: var(--color-kintone);
}
.ly-content .hack_desc .hack_text:not(:first-of-type) {
  margin-top: 0.5em;
}
.ly-content .table__columns:has(.hack_point_contents) {
  gap: var(--s8);
}
@media (max-width: 767px) {
  .ly-content .table__columns:has(.hack_point_contents) h2::before {
    top: auto;
    left: 13.3333333333vw;
    width: 3.7333333333vw;
    bottom: 1.6vw;
  }
}
.ly-content .hack_point_contents {
  flex: 1;
}
.ly-content .hack_point_contents h2::before {
  top: 0;
  translate: 0% 10%;
}
.ly-content .hack_judging {
  background-color: var(--color-darkest);
  padding: var(--s2);
  display: flex;
  flex-flow: row nowrap;
  justify-content: center;
  align-items: center;
  gap: var(--s2);
}
@media (max-width: 767px) {
  .ly-content .hack_judging {
    flex-flow: column nowrap;
  }
}
.ly-content .hack_judging .hack_judging_point {
  font-size: 14px;
  line-height: 1.6em;
  color: var(--color-light);
  text-align: center;
}
@media (max-width: 767px) {
  .ly-content .hack_judging .hack_judging_point {
    font-size: 3.2vw;
  }
}
.ly-content .hack_judging .hack_judging_list .hack_judging_item {
  font-size: 14px;
  line-height: 1.6em;
  padding: var(--s1) var(--s2);
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-start;
  gap: var(--s2);
  background-color: var(--color-dim);
}
@media (max-width: 767px) {
  .ly-content .hack_judging .hack_judging_list .hack_judging_item {
    font-size: 3.2vw;
    padding: var(--s1);
    gap: 2.1333333333vw;
  }
}
.ly-content
  .hack_judging
  .hack_judging_list
  .hack_judging_item
  .hack_judging_title {
  font-size: 14px;
  color: var(--color-gray);
}
@media (max-width: 767px) {
  .ly-content
    .hack_judging
    .hack_judging_list
    .hack_judging_item
    .hack_judging_title {
    font-size: 2.9333333333vw;
  }
}
.ly-content
  .hack_judging
  .hack_judging_list
  .hack_judging_item
  .hack_judging_text {
  color: var(--color-white);
  margin: 0;
}
@media (max-width: 767px) {
  .ly-content
    .hack_judging
    .hack_judging_list
    .hack_judging_item
    .hack_judging_text {
    flex: 1;
  }
}
.ly-content
  .hack_judging
  .hack_judging_list
  .hack_judging_item:not(:first-of-type) {
  margin-top: 0.8em;
}
.ly-content .hack_point {
  position: relative;
}
@media (max-width: 767px) {
  .ly-content .hack_point {
    margin-top: var(--s5);
  }
}
.ly-content .hack_point .hack_point_title {
  font-family: 'ヒラギノ角ゴ W8 JIS2004', sans-serif;
  position: relative;
  font-size: 28px;
  line-height: 1.2em;
  padding-left: 1.5em;
}
@media (max-width: 767px) {
  .ly-content .hack_point .hack_point_title {
    font-size: 6.4vw;
  }
}
.ly-content .hack_point .hack_point_title::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  translate: 0 -50%;
  width: 1em;
  height: 1em;
  border-radius: 50%;
  background: var(--key-grad);
}
.ly-content .hack_point .hack_point_title::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  translate: 0 -50%;
  width: 0.5em;
  height: 0.5em;
  background: var(--color-bg);
  border-radius: 50%;
  z-index: 1;
  margin-left: 0.25em;
}
.ly-content .hack_point .hack_point_text {
  font-size: 14px;
  line-height: 1.6em;
  margin-top: 0.85em;
}
@media (max-width: 767px) {
  .ly-content .hack_point .hack_point_text {
    font-size: 3.2vw;
  }
}
.ly-content .hack_point::before {
  content: '';
  position: absolute;
  width: 112px;
  height: auto;
  aspect-ratio: 1/1;
  display: block;
  right: 0;
  top: 0;
  background-size: 100%;
}
@media (max-width: 767px) {
  .ly-content .hack_point::before {
    width: 21.8666666667vw;
    right: -6.4vw;
    translate: 0% -50%;
  }
}
.ly-content .hack_point.--num01::before {
  background-image: url('https://dl.qloba.info/uploads/projects/page_image/image/41850/7ab24557-2827-4dd3-8d0e-3e09a23a9740.png');
}
.ly-content .hack_point.--num02 {
  margin-top: calc(var(--s1) * 5.5);
}
.ly-content .hack_point.--num02::before {
  background-image: url('https://dl.qloba.info/uploads/projects/page_image/image/41851/08997f85-d020-4f84-b6c9-c114fa339225.png');
}
.ly-content .hack_point.--num03 {
  margin-top: calc(var(--s1) * 5.5);
}
.ly-content .hack_point.--num03::before {
  background-image: url('https://dl.qloba.info/uploads/projects/page_image/image/41852/23851971-83bc-44ad-aeac-0f17847e1407.png');
}
.ly-content .table__columns:has(.hack_qualifier_wrapper) {
  gap: var(--s12);
  justify-content: center;
  margin-top: var(--s8);
}
@media (max-width: 767px) {
  .ly-content .table__columns:has(.hack_qualifier_wrapper) {
    display: flex;
    flex-flow: column nowrap;
    gap: var(--s6);
    padding: 0 6.9333333333vw;
  }
}
.ly-content .hack_qualifier_wrapper,
.ly-content .hack_unlimited_wrapper {
  padding: var(--s3);
  border-radius: var(--s2);
  text-align: center;
  width: 352px;
}

.ly-content .hack_unlimited_wrapper_name {
  padding: var(--s3);
  border-radius: var(--s2);
  text-align: center;
}

@media (max-width: 767px) {
  .ly-content .hack_qualifier_wrapper,
  .ly-content .hack_unlimited_wrapper {
    padding: var(--s2);
    flex: 1;
    width: auto;
    margin: 0;
  }
  .ly-content .hack_unlimited_wrapper_name {
    padding: var(--s2);
    flex: 1;
    width: auto;
    margin: 0;
  }
}
.ly-content .hack_qualifier_wrapper {
  position: relative;
  border: solid 2px var(--color-white);
  overflow: visible;
}
.ly-content .hack_qualifier_wrapper::before {
  content: '';
  position: absolute;
  width: 34px;
  height: auto;
  aspect-ratio: 34/60;
  top: 50%;
  right: calc(var(--s4) * -1.2);
  translate: 100% -50%;
  background-image: url('https://dl.qloba.info/uploads/projects/page_image/image/42004/11899ef7-b594-4111-863a-108112850351.png');
  background-size: 100%;
}
@media (max-width: 767px) {
  .ly-content .hack_qualifier_wrapper::before {
    top: auto;
    bottom: 0%;
    right: 50%;
    translate: 50% 100%;
    transform: rotate(90deg);
    width: 5.8666666667vw;
  }
}
.ly-content .hack_unlimited_wrapper {
  position: relative;
  z-index: 0;
  border-radius: var(--s2);
  background: var(--key-grad);
}
.ly-content .hack_unlimited_wrapper::before {
  content: '';
  position: absolute;
  width: calc(100% - 4px);
  height: calc(100% - 4px);
  top: 2px;
  left: 2px;
  background: var(--color-bg);
  border-radius: calc(var(--s2) - 1px);
  z-index: -1;
}

.ly-content .hack_unlimited_wrapper_name {
  position: relative;
  z-index: 0;
  border-radius: var(--s2);
  background: var(--key-grad);
}
.ly-content .hack_unlimited_wrapper_name::before {
  content: '';
  position: absolute;
  width: calc(100% - 4px);
  height: calc(100% - 4px);
  top: 2px;
  left: 2px;
  background: var(--color-bg);
  border-radius: calc(var(--s2) - 1px);
  z-index: -1;
}

.ly-content .hack_qualifier,
.ly-content .hack_unlimited {
  font-family: 'ヒラギノ角ゴ W8 JIS2004', sans-serif;
  font-size: 16px;
  line-height: 1.4em;
  padding: 0.2em 1em;
  border-radius: 100vw;
  margin-bottom: 1.25em;
}
@media (max-width: 767px) {
  .ly-content .hack_qualifier,
  .ly-content .hack_unlimited {
    font-size: 4vw;
  }
}
.ly-content .hack_qualifier {
  background-color: var(--color-white);
  color: var(--color-black);
}
.ly-content .hack_unlimited {
  background: var(--key-grad);
}
.ly-content .hack_schedule {
  font-family: 'ヒラギノ角ゴ W8 JIS2004', sans-serif;
  font-size: 4.8rem;
  line-height: 1.2em;
}
@media (max-width: 767px) {
  .ly-content .hack_schedule {
    font-size: 9.0666666667vw;
  }
}
.ly-content .hack_office {
  font-family: 'ヒラギノ角ゴ W8 JIS2004', sans-serif;
  font-size: 2.4rem;
  line-height: 1.2em;
  margin-top: 0.5em;
}
@media (max-width: 767px) {
  .ly-content .hack_office {
    font-size: 4.8vw;
  }
}
.ly-content .hack_office.--nowrap {
  white-space: nowrap;
}
@media (max-width: 767px) {
  .ly-content .hack_office.--nowrap {
    white-space: normal;
  }
}
.ly-content .hack_annotation {
  text-align: center;
  font-size: 16px;
  line-height: 1.4em;
  color: var(--color-light);
}
@media (max-width: 767px) {
  .ly-content .hack_annotation {
    margin-top: 1em;
    font-size: 3.4666666667vw;
  }
}
.ly-content .hack_heading {
  display: flex;
  flex-flow: row nowrap;
  justify-content: center;
  align-items: center;
  gap: var(--s3);
}
@media (max-width: 767px) {
  .ly-content .hack_heading {
    flex-flow: column nowrap;
    gap: 1.0666666667vw;
  }
}
.ly-content .hack_heading .hack_heading_title {
  font-family: 'ヒラギノ角ゴ W8 JIS2004', sans-serif;
  position: relative;
  font-size: 28px;
  line-height: 1.2em;
  background: var(--key-grad);
  -webkit-background-clip: text;
  -webkit-text-fill-color: rgba(0, 0, 0, 0);
  padding-left: var(--s3);
  margin: 0;
}
@media (max-width: 767px) {
  .ly-content .hack_heading .hack_heading_title {
    font-size: 5.3333333333vw;
    padding-left: 0;
  }
}
.ly-content .hack_heading .hack_heading_title.--large {
  font-size: 56px;
  line-height: 1.2em;
  padding-left: 0;
  padding-right: var(--s3);
}
@media (max-width: 767px) {
  .ly-content .hack_heading .hack_heading_title.--large {
    font-size: 9.0666666667vw;
    padding: 0 6.4vw;
  }
  .ly-content .hack_heading .hack_heading_title.--large::before {
    content: '';
    position: absolute;
    top: 50%;
    width: 4.2666666667vw;
    left: 0;
    translate: 0 -50%;
    height: auto;
    aspect-ratio: 22/56;
    background-size: 100%;
    background-image: url('https://dl.qloba.info/uploads/projects/page_image/image/42016/b395c2a5-ece6-463b-bb59-ae764585708a.png');
  }
}
.ly-content .hack_heading .hack_heading_title.--large::after {
  content: '';
  position: absolute;
  top: 50%;
  right: calc(var(--s3) * -1);
  width: 22px;
  translate: 0% -50%;
  height: auto;
  aspect-ratio: 22/56;
  background-size: 100%;
  background-image: url('https://dl.qloba.info/uploads/projects/page_image/image/42016/b395c2a5-ece6-463b-bb59-ae764585708a.png');
}
@media (max-width: 767px) {
  .ly-content .hack_heading .hack_heading_title.--large::after {
    width: 4.2666666667vw;
    right: 0;
    translate: 0 -50%;
  }
}
.ly-content .hack_heading .hack_heading_title.--lightning::before {
  content: '';
  position: absolute;
  top: 50%;
  left: calc(var(--s3) * -1);
  width: 22px;
  translate: 0% -50%;
  height: auto;
  aspect-ratio: 22/56;
  background-size: 100%;
  background-image: url('https://dl.qloba.info/uploads/projects/page_image/image/42016/b395c2a5-ece6-463b-bb59-ae764585708a.png');
}
@media (max-width: 767px) {
  .ly-content .hack_heading .hack_heading_title.--lightning::before {
    display: none;
  }
}
.ly-content .table__columns:has(.hack_feature_item) {
  gap: var(--s4);
  margin-top: var(--s4);
}
@media (max-width: 767px) {
  .ly-content .table__columns:has(.hack_feature_item) {
    display: flex;
    flex-flow: column nowrap;
    padding: 0 var(--s2);
  }
}
.ly-content .hack_feature_item {
  padding: 0;
}
.ly-content .hack_feature_item h3 {
  font-family: 'ヒラギノ角ゴ W8 JIS2004', sans-serif;
  position: relative;
  font-size: 32px;
  line-height: 1.2em;
  padding-bottom: 0.5em;
  margin: 0;
}
@media (max-width: 767px) {
  .ly-content .hack_feature_item h3 {
    font-size: 5.3333333333vw;
  }
}
.ly-content .hack_feature_item .hack_feature_text {
  position: relative;
  font-size: 14px;
  line-height: 1.6em;
  padding-top: var(--s2);
}
@media (max-width: 767px) {
  .ly-content .hack_feature_item .hack_feature_text {
    font-size: 3.4666666667vw;
  }
}
.ly-content .hack_feature_item .hack_feature_text::after {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: calc(100% - var(--s8));
  height: 2px;
  background: var(--key-grad);
  margin: 0 var(--s4);
}
.ly-content .hack_feature_item .hack_feature_text_champion {
  position: relative;
  font-size: 14px;
  line-height: 1.6em;
  padding-top: var(--s2);
}
@media (max-width: 767px) {
  .ly-content .hack_feature_item .hack_feature_text_champion {
    font-size: 3.4666666667vw;
  }
}
.ly-content .hack_feature_item .hack_feature_text_champion::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: var(--key-grad);
}

.ly-content .table__columns:has(.gl-hack_heading) {
  justify-content: space-between;
  align-items: flex-end;
}
@media (max-width: 767px) {
  .ly-content .table__columns:has(.gl-hack_heading) {
    display: flex;
    align-items: center;
    flex-flow: column nowrap;
  }
}
.ly-content .table__columns:has(.gl-hack_heading) .gl-hack_heading {
  width: fit-content;
}
.ly-content .gl-hack_desc {
  font-family: 'ヒラギノ角ゴ W7 JIS2004', sans-serif;
  font-size: 24px;
  line-height: 1.6em;
  color: var(--color-light);
}
@media (max-width: 767px) {
  .ly-content .gl-hack_desc {
    font-size: 4.8vw;
    text-align: center;
  }
}
.ly-content .table__columns:has(.hack_voice_item) {
  gap: var(--s4);
  justify-content: center;
  margin-top: var(--s4);
}
@media (max-width: 767px) {
  .ly-content .table__columns:has(.hack_voice_item) {
    display: flex;
    flex-flow: column nowrap;
    gap: var(--s6);
    padding: 0 var(--s2);
  }
}
.ly-content .table__columns:has(.hack_voice_item) .table__column {
  overflow: visible;
}
.ly-content .hack_voice_item {
  position: relative;
  background: var(--key-grad);
  padding: var(--s2);
  height: fit-content;
  z-index: 0;
}
.ly-content .hack_voice_item::before {
  content: '';
  position: absolute;
  width: calc(100% - var(--s1));
  height: calc(100% - var(--s1));
  top: calc(var(--s1) / 2);
  left: calc(var(--s1) / 2);
  background: var(--color-white);
  z-index: -1;
}
.ly-content .hack_voice_item::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  translate: 0 100%;
  width: 36px;
  height: auto;
  aspect-ratio: 1/1;
  background-image: url('https://dl.qloba.info/uploads/projects/page_image/image/41995/d2cf313d-743b-485c-8e4c-2d9a8855d20a.png');
  background-size: 100%;
}
@media (max-width: 767px) {
  .ly-content .hack_voice_item::after {
    width: 9.0666666667vw;
  }
}
.ly-content .hack_voice_item:nth-of-type(odd) {
  margin-top: var(--s6);
}
@media (max-width: 767px) {
  .ly-content .hack_voice_item:nth-of-type(odd) {
    margin-top: 0;
  }
}
.ly-content .hack_voice_item .hack_voice_text {
  font-size: 16px;
  line-height: 1.6em;
}
@media (max-width: 767px) {
  .ly-content .hack_voice_item .hack_voice_text {
    font-size: 3.7333333333vw;
  }
}
.ly-content .table__columns:has(.hack_article_item) {
  gap: var(--s4);
  margin-top: var(--s4);
}
@media (max-width: 767px) {
  .ly-content .table__columns:has(.hack_article_item) {
    display: flex;
    flex-flow: column nowrap;
    padding: 0 var(--s2);
  }
}
.ly-content .hack_article_item {
  text-align: center;
}
.ly-content .hack_article_item .hack_article_decs {
  font-family: 'ヒラギノ角ゴ W7 JIS2004', sans-serif;
  font-size: 14px;
  line-height: 1.4em;
  margin-bottom: 0.5em;
}
@media (max-width: 767px) {
  .ly-content .hack_article_item .hack_article_decs {
    font-size: 3.4666666667vw;
  }
}
.ly-content .hack_article_item .hack_article_title {
  font-family: 'ヒラギノ角ゴ W7 JIS2004', sans-serif;
  font-size: 28px;
  line-height: 1.4em;
  margin-bottom: 0.5em;
}
@media (max-width: 767px) {
  .ly-content .hack_article_item .hack_article_title {
    font-size: 6.4vw;
  }
}
.ly-content .hack_article_item .hack_article_link .hack_article_text {
  font-family: 'ヒラギノ角ゴ W8 JIS2004', sans-serif;
  font-size: 18px;
  line-height: 1.4em;
  background: var(--key-grad);
  -webkit-background-clip: text;
  -webkit-text-fill-color: rgba(0, 0, 0, 0);
}
.ly-content .hack_article_item .hack_article_link a {
  font-family: 'ヒラギノ角ゴ W7 JIS2004', sans-serif;
  display: inline-block;
  position: relative;
  font-size: 14px;
  line-height: 1.4em;
  padding: 0.3em 3em 0.3em 2em;
  background: var(--key-grad);
  text-decoration: none;
}
@media (max-width: 767px) {
  .ly-content .hack_article_item .hack_article_link a {
    font-size: 3.4666666667vw;
  }
}
.ly-content .hack_article_item .hack_article_link a::after {
  content: '';
  position: absolute;
  right: 2em;
  top: 50%;
  translate: 0 -50%;
  display: block;
  width: var(--s1);
  height: auto;
  aspect-ratio: 8/14;
  background-size: 100%;
  background-repeat: no-repeat;
  background-image: url('https://dl.qloba.info/uploads/projects/page_image/image/42004/11899ef7-b594-4111-863a-108112850351.png');
}
.ly-content .hack_article_item .hack_article_link a:hover {
  color: var(--color-black);
}
.ly-content .hack_article_item .hack_article_link a:hover::after {
  background-image: url('https://dl.qloba.info/uploads/projects/page_image/image/42116/ae31d796-12c0-43c9-8379-aa89cfea0b72.png');
}
.ly-cta {
  margin-bottom: var(--s2);
}
.ly-cta .section__wrapper {
  max-width: 1140px;
  overflow: visible;
}
.ly-cta .hack_cta_wrapper {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: center;
  gap: var(--s4);
}
@media (max-width: 767px) {
  .ly-cta .hack_cta_wrapper {
    flex-flow: column nowrap;
    padding: 0 var(--s3);
  }
}
.ly-cta .hack_cta_text {
  font-family: 'ヒラギノ角ゴ W7 JIS2004', sans-serif;
  position: relative;
  width: fit-content;
  margin-inline: auto;
  font-size: 20px;
  line-height: 1.4em;
  margin-bottom: 0.5em;
  padding: 0 1em;
  color: var(--color-white);
}
@media (max-width: 767px) {
  .ly-cta .hack_cta_text {
    font-size: 4.2666666667vw;
  }
}
.ly-cta .hack_cta_text::before,
.ly-cta .hack_cta_text::after {
  content: '';
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  background-image: url('https://dl.qloba.info/uploads/projects/page_image/image/42015/85efe41a-7b20-4942-b243-79e319b7bc5c.png');
  background-size: cover;
  width: 0.4em;
  height: auto;
  aspect-ratio: 9/20;
}
.ly-cta .hack_cta_text::before {
  left: 0;
}
.ly-cta .hack_cta_text::after {
  right: 0;
  transform: scaleX(-1);
}
.ly-footer {
  padding: var(--s4);
}
.ly-footer .section__wrapper {
  max-width: 100%;
  padding: 0;
}
.ly-footer .table__column {
  width: auto;
  padding: 0;
}
.ly-footer .table__columns:has(.hack_footer_item) {
  justify-content: space-between;
  align-items: flex-start;
  gap: var(--s6);
  margin: 0;
}
@media (max-width: 767px) {
  .ly-footer .table__columns:has(.hack_footer_item) {
    display: flex;
    flex-flow: column nowrap;
    align-items: center;
    gap: var(--s5);
  }
}
.ly-footer .table__columns:has(.hack_footer_item) .image__wrapper {
  width: var(--s10);
  height: auto;
  aspect-ratio: 10/9;
  margin: 0;
}
@media (max-width: 767px) {
  .ly-footer .table__columns:has(.hack_footer_item) .image__wrapper {
    margin-inline: auto;
  }
}
.ly-footer .hack_footer_navi {
  list-style: none;
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  gap: 28px 12px;
  padding-left: 0;
}
@media (max-width: 767px) {
  .ly-footer .hack_footer_navi {
    gap: 1.6vw;
    flex-flow: column nowrap;
    align-items: center;
    justify-content: center;
  }
}
.ly-footer .hack_footer_navi li {
  position: relative;
  font-size: 14px;
  line-height: 1.4em;
  padding-left: 1.5em;
  color: var(--color-lighter);
  transition: opacity 0.3s ease-in-out;
}
@media (max-width: 767px) {
  .ly-footer .hack_footer_navi li {
    font-size: 3.2vw;
    padding-left: 0;
  }
}
.ly-footer .hack_footer_navi li a {
  text-decoration-line: none;
}
.ly-footer .hack_footer_navi li::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  translate: 0 -50%;
  width: 1em;
  height: 1em;
  border-radius: 50%;
  border: 0.25em solid var(--color-gray);
}
@media (max-width: 767px) {
  .ly-footer .hack_footer_navi li::before {
    display: none;
  }
}
.ly-footer .hack_footer_navi li:hover {
  opacity: 0.6;
}
.ly-footer .hack_footer_logo {
  width: auto;
}
@media (max-width: 767px) {
  .ly-footer .hack_footer_logo {
    margin-bottom: 0;
  }
}
.ly-footer .hack_footer_logo .footer_logo_wrapper {
  display: flex;
  flex-flow: row nowrap;
  justify-content: center;
  gap: var(--s3);
}
.ly-footer .hack_footer_logo .footer_logo_wrapper .footer_logo_image {
  height: var(--s4);
  width: auto;
}
@media (max-width: 767px) {
  .ly-footer .hack_footer_logo .footer_logo_wrapper .footer_logo_image {
    height: 8.5333333333vw;
  }
}
.ly-footer .hack_footer_logo .footer_logo_wrapper .footer_logo_image img {
  height: 100%;
}
.ly-footer .hack_footer_logo .hack_footer_text {
  font-size: 12px;
  line-height: 1.4em;
  color: var(--color-gray);
  margin-top: 3.6em;
}
@media (max-width: 767px) {
  .ly-footer .hack_footer_logo .hack_footer_text {
    font-size: 2.9333333333vw;
    text-align: center;
  }
}
.ly-footer .hack_footer_logo .hack_footer_copyright {
  font-size: 12px;
  line-height: 1.4em;
  color: var(--color-gray);
  margin-top: 0.5em;
}
@media (max-width: 767px) {
  .ly-footer .hack_footer_logo .hack_footer_copyright {
    font-size: 2.9333333333vw;
    text-align: center;
  }
}
