@charset "UTF-8";
html, body {
  height: 100%;
  margin: 0;
  padding: 0;
}

*, *:after, *:before {
  box-sizing: border-box;
}

* {
  margin: 0;
  padding: 0;
  font-size: inherit;
  line-height: inherit;
}

pre, textarea {
  overflow: auto;
}

template {
  display: none;
}

details, main, summary {
  display: block;
}

input[type=number] {
  width: auto;
}

input[type=search] {
  -webkit-appearance: textfield;
}

input[type=search]::-webkit-search-cancel-button, input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

progress {
  display: inline-block;
}

small {
  font-size: 75%;
}

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

textarea {
  resize: vertical;
}

audio, canvas, iframe, img, svg, video {
  vertical-align: middle;
}

audio:not([controls]) {
  display: none;
}

img {
  max-width: 100%;
  height: auto;
  border: 0;
}

button, input, select, textarea {
  min-height: 1.5em;
  color: inherit;
  font-weight: inherit;
  font-style: inherit;
  font-family: inherit;
}

button {
  overflow: visible;
}

button, select {
  text-transform: none;
}

input {
  line-height: normal;
}

button, html input[type=button], input[type=reset], input[type=submit] {
  -webkit-appearance: button;
  cursor: pointer;
  border-style: none;
  background-color: transparent;
}

button[disabled], html input[disabled] {
  cursor: default;
}

button::-moz-focus-inner, input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

code, kbd, pre, samp {
  font-family: monospace;
}

ol, ul {
  list-style: none;
}

select {
  -moz-appearance: none;
  -webkit-appearance: none;
}

table {
  border-spacing: 0;
  border-collapse: collapse;
}

fieldset {
  border: 0;
}

:root {
  --color-white: #fff;
  --color-black: #231815;
  --color-gray: #cbcbcb;
  --color-gray-dark: #636363;
  --color-red: #d71718;
  --color-gl: #007f47;
  --color-grd-gl: #8ec43e 0%, #007f47 100%;
  --color-bpo: #002289;
  --color-grd-bpo: #0092d7 0%, #0052bd 50%, #000768 100%;
  --color-cx: #cc0000;
  --color-grd-cx: #ff8800 0%, #ea4701 50%, #cc0000 100%;
  --color-grd-gold: #e5aa16, #ca8613;
}

/* @font-face {
  font-family: galyon;
  src: url(/forum2026/font/galyon-book.woff) format("woff")
} */
:root {
  --typo-font-base: "Noto Sans JP", sans-serif;
  --typo-font-en: gotham, sans-serif;
  --typo-size-base: 1rem;
  --typo-weight-regular: 400;
  --typo-weight-medium: 500;
  --typo-weight-bold: 700;
  --letter-spacing-base: .05em;
}

@media (width <= 375px) {
  :root {
    --typo-size-base: min(4.2667vw, 1rem);
  }
}
@media (min-width: 768px) {
  .u-br_md {
    display: block;
  }
}
@media (min-width: 1024px) {
  .u-br_md {
    display: none;
  }
}
.u-nowrap {
  white-space: nowrap;
}

html {
  color-scheme: light;
  scroll-behavior: smooth;
  scroll-padding-top: 3rem;
}

@media (min-width: 1200px) {
  html {
    scroll-padding-top: 0;
  }
}
body {
  font-family: var(--typo-font-base);
  font-weight: var(--typo-weight-regular);
  color: var(--color-black);
  line-height: 1.5;
  -moz-text-size-adjust: 100%;
  text-size-adjust: 100%;
  overflow-x: clip;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
}

* {
  font-size: var(--typo-size-base);
}

img, button {
  vertical-align: bottom;
}

h1, h2, h3, h4, h5, h6, p {
  font-weight: 400;
  margin-block-start: 0;
  margin-block-end: 0;
}

button {
  outline: none;
}

button:focus-visible {
  outline: #3683bf solid 2px;
  outline-offset: 1px;
}

ul {
  padding: 0;
  margin: 0;
}

a {
  color: var(--color-black);
  opacity: 1;
  transition: opacity 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
  text-decoration: none;
}

@media (hover: hover) and (pointer: fine) {
  a:hover {
    opacity: 0.7;
  }
}
.accordion {
  margin-top: 1.5rem;
}

@media (min-width: 1024px) {
  .accordion {
    margin-top: 0;
  }
}
.accordion_item {
  border-bottom: 1px solid #cbcbcb;
  transition: opacity 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.accordion_item[open] .accordion_label:after {
  opacity: 0;
  transform: translateY(-50%) rotate(180deg);
}

@media (hover: hover) and (pointer: fine) {
  .accordion_label:hover {
    opacity: 0.7;
  }
}
.accordion_item :where(a:not([class])) {
  text-decoration: underline;
}

.accordion_label {
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  -moz-column-gap: 1rem;
  column-gap: 1rem;
  padding-block: 1rem;
  padding-inline-end: 2rem;
  font-weight: var(--typo-weight-bold);
  line-height: 1.6;
}

@media (min-width: 768px) {
  .accordion_label {
    padding-block: 2rem;
    padding-inline-end: 3rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  .accordion_label:hover {
    cursor: pointer;
  }
}
.accordion_label::-webkit-details-marker {
  display: none;
}

.accordion_label:before, .accordion_label:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0.5rem;
  transform: translateY(-50%);
  width: 1rem;
  height: 2px;
  background-color: var(--color-black);
}

.accordion_label:after {
  transition: transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1), opacity 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
  transform: translateY(-50%) rotate(90deg);
}

.accordion_label > span {
  width: 2rem;
  height: 2rem;
}

.accordion_content {
  overflow-wrap: anywhere;
  font-weight: var(--typo-weight-medium);
  line-height: 2;
  background-color: rgba(239, 239, 239, 0.6);
}

.accordion_content_grid {
  display: grid;
  font-weight: 400;
}

.accordion_content_inner {
  padding-block: 2rem;
  padding-inline-start: 3rem;
  padding-inline-end: 2rem;
}

.accordion_content_inner > * {
  line-height: 1.8;
  letter-spacing: var(--letter-spacing-base);
}

.accordion_content_inner > * + * {
  margin-block-start: 1.4em;
}

.text_bold:where(.accordion_item *) {
  font-weight: var(--typo-weight-bold);
}

.text_red:where(.accordion_item *) {
  color: var(--color-red);
}

.text_gray:where(.accordion_item *) {
  color: var(--color-gray-dark);
}

.text_block:where(.accordion_item *) {
  display: block;
  margin-block-start: 1.4em;
}

.c-buttonLink {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  padding: 1rem;
  width: 100%;
  max-width: 28.75rem;
  background: var(--color-black);
  transition: background 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
  border-radius: 2px;
  overflow: hidden;
}

@media (min-width: 1024px) {
  .c-buttonLink {
    gap: 2rem;
    padding: 2rem 1rem;
  }
}
.c-buttonLink:after {
  content: "";
  position: absolute;
  top: 0;
  left: -160%;
  width: 150%;
  height: 100%;
  transform: skew(-30deg);
  background-color: var(--color-white);
  z-index: 0;
  transition: 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.c-buttonLink > ._label {
  position: relative;
  z-index: 1;
  font-size: 1.25rem;
  font-weight: var(--typo-weight-medium);
  color: var(--color-white);
  text-transform: uppercase;
}

@media (min-width: 1024px) {
  .c-buttonLink > ._label {
    font-size: 1.5rem;
  }
}
.c-buttonLink > ._label > span {
  display: inline-block;
  font-size: inherit;
}

.c-buttonLink > ._arrow {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  aspect-ratio: 1/1;
  border-radius: 100%;
  background-color: var(--color-white);
}

.c-buttonLink > ._arrow:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 1.625rem;
  height: 1.625rem;
  background-color: var(--color-black);
  -webkit-mask-image: url(/forum2026/images/common/icon_arrow_link.svg);
  mask-image: url(/forum2026/images/common/icon_arrow_link.svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
}

@media (hover: hover) and (pointer: fine) {
  .c-buttonLink:hover:after {
    left: -10%;
  }
  .c-buttonLink:hover._gl, .c-buttonLink:hover._bpo, .c-buttonLink:hover._cx {
    opacity: 1;
  }
  .c-buttonLink:hover._gl > ._label {
    color: transparent;
    background: linear-gradient(180deg, var(--color-grd-gl));
    background-clip: text;
    -webkit-background-clip: text;
  }
  .c-buttonLink:hover._gl > ._arrow {
    background: linear-gradient(to left, var(--color-grd-gl));
  }
  .c-buttonLink:hover._gl > ._arrow:before {
    background: var(--color-white);
  }
  .c-buttonLink:hover._bpo > ._label {
    color: transparent;
    background: linear-gradient(180deg, var(--color-grd-bpo));
    background-clip: text;
    -webkit-background-clip: text;
  }
  .c-buttonLink:hover._bpo > ._arrow {
    background: linear-gradient(to left, var(--color-grd-bpo));
  }
  .c-buttonLink:hover._bpo > ._arrow:before {
    background: var(--color-white);
  }
  .c-buttonLink:hover._cx > ._label {
    color: transparent;
    background: linear-gradient(180deg, var(--color-grd-cx));
    background-clip: text;
    -webkit-background-clip: text;
  }
  .c-buttonLink:hover._cx > ._arrow {
    background: linear-gradient(to left, var(--color-grd-cx));
  }
  .c-buttonLink:hover._cx > ._arrow:before {
    background: var(--color-white);
  }
}
.c-end_message {
  padding: 1rem 1.25rem;
  text-align: center;
  background: rgba(239, 239, 239, 0.6);
}

@media (min-width: 768px) {
  .c-end_message {
    padding: 2rem;
    font-size: 1.5rem;
  }
}
.c-end_message > p > span {
  display: inline-block;
  font-size: 0.875rem;
  font-weight: var(--typo-weight-medium);
}

@media (min-width: 768px) {
  .c-end_message > p > span {
    font-size: 1.5rem;
    line-height: 2;
  }
}
.c-footer {
  display: grid;
  gap: 9.75rem;
  padding: 3rem 2.5rem;
  text-align: center;
}

@media (min-width: 768px) {
  .c-footer {
    padding: 3rem;
  }
}
.c-footer._gl, .c-footer._bpo, .c-footer._cx {
  color: var(--color-white);
}

.c-footer._gl .c-footer_toForum > a, .c-footer._bpo .c-footer_toForum > a, .c-footer._cx .c-footer_toForum > a {
  color: var(--color-white);
}

.c-footer._gl .c-footer_toForum > a > span:before, .c-footer._bpo .c-footer_toForum > a > span:before, .c-footer._cx .c-footer_toForum > a > span:before {
  background-color: var(--color-white);
}

.c-footer._gl {
  background: linear-gradient(180deg, var(--color-grd-gl));
}

.c-footer._bpo {
  background: linear-gradient(180deg, var(--color-grd-bpo));
}

.c-footer._cx {
  background: linear-gradient(180deg, var(--color-grd-cx));
}

.c-footer_toTop {
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}

.c-footer_toTop > a {
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 2rem;
  font-family: var(--typo-font-en);
  font-weight: var(--typo-weight-regular);
}

.c-footer_toTop > a > img {
  width: 2.25rem;
  height: 1rem;
}

.c-footer_toForum > a {
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 2rem;
  font-family: var(--typo-font-en);
  font-weight: var(--typo-weight-regular);
}

.c-footer_toForum > a > span {
  display: block;
  position: relative;
  width: 2.25rem;
  height: 1rem;
}

.c-footer_toForum > a > span:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-90deg);
  width: 2.25rem;
  height: 1rem;
  background-color: var(--color-black);
  -webkit-mask-image: url(/forum2026/images/common/icon_arrow_totop.svg);
  mask-image: url(/forum2026/images/common/icon_arrow_totop.svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
}

.copyright {
  font-size: 1rem;
  font-weight: var(--typo-weight-medium);
  font-family: var(--typo-font-en);
}

.c-gradientLink {
  padding: 0.125rem;
  width: 100%;
  font-size: 1rem;
  font-weight: var(--typo-weight-bold);
  color: var(--color-white);
  line-height: 1.8;
  background: var(--color-black);
  border-radius: 2px;
}

@media (hover: hover) and (pointer: fine) {
  .c-gradientLink:hover {
    opacity: 1;
  }
  .c-gradientLink:hover > .c-gradientLink_inner:after {
    left: -10%;
  }
  .c-gradientLink:hover._gl .c-gradientLink_inner._grid:before {
    background: linear-gradient(var(--color-grd-gl));
  }
  .c-gradientLink:hover._gl .c-gradientLink_place, .c-gradientLink:hover._gl .c-gradientLink_label {
    color: transparent;
    background: linear-gradient(-90deg, var(--color-grd-gl));
    background-clip: text;
    -webkit-background-clip: text;
  }
  .c-gradientLink:hover._gl .c-gradientLink_arrow {
    background: linear-gradient(-90deg, var(--color-grd-gl));
  }
  .c-gradientLink:hover._gl .c-gradientLink_arrow:before {
    background: var(--color-white);
  }
  .c-gradientLink:hover._bpo .c-gradientLink_inner._grid:before {
    background: linear-gradient(var(--color-grd-bpo));
  }
  .c-gradientLink:hover._bpo .c-gradientLink_place, .c-gradientLink:hover._bpo .c-gradientLink_label {
    color: transparent;
    background: linear-gradient(-90deg, var(--color-grd-bpo));
    background-clip: text;
    -webkit-background-clip: text;
  }
  .c-gradientLink:hover._bpo .c-gradientLink_arrow {
    background: linear-gradient(-90deg, var(--color-grd-bpo));
  }
  .c-gradientLink:hover._bpo .c-gradientLink_arrow:before {
    background: var(--color-white);
  }
  .c-gradientLink:hover._cx .c-gradientLink_inner._grid:before {
    background: linear-gradient(var(--color-grd-cx));
  }
  .c-gradientLink:hover._cx .c-gradientLink_place, .c-gradientLink:hover._cx .c-gradientLink_label {
    color: transparent;
    background: linear-gradient(-90deg, var(--color-grd-cx));
    background-clip: text;
    -webkit-background-clip: text;
  }
  .c-gradientLink:hover._cx .c-gradientLink_arrow {
    background: linear-gradient(-90deg, var(--color-grd-cx));
  }
  .c-gradientLink:hover._cx .c-gradientLink_arrow:before {
    background: var(--color-white);
  }
}
.c-gradientLink._gl {
  background: linear-gradient(-90deg, var(--color-grd-gl));
}

.c-gradientLink._gl .c-gradientLink_label:before {
  content: "GLフォーラムお申し込み";
}

.c-gradientLink._bpo {
  background: linear-gradient(-90deg, var(--color-grd-bpo));
}

.c-gradientLink._bpo .c-gradientLink_label:before {
  content: "BPOフォーラムお申し込み";
}

.c-gradientLink._cx {
  background: linear-gradient(-90deg, var(--color-grd-cx));
}

.c-gradientLink._cx .c-gradientLink_label:before {
  content: "CXフォーラムお申し込み";
}

.c-gradientLink._sales .c-gradientLink_label:before {
  content: "代理登録";
}

.c-gradientLink._sales._stop {
  pointer-events: none;
  background: grey;
}

.c-gradientLink._sales._stop._close {
  padding: 0.5rem 1rem 0.5rem 1.5rem;
}

@media (min-width: 1200px) {
  .c-gradientLink._bpo._sales._stop._close, .c-gradientLink._cx._sales._stop._close {
    translate: 0 -50px;
  }
}
.c-gradientLink._end {
  color: var(--color-black);
  pointer-events: none;
  background: var(--color-gray);
}

.c-gradientLink._end > .c-gradientLink_inner._grid {
  display: block;
  text-align: center;
}

.c-gradientLink._end > .c-gradientLink_inner._grid:before {
  content: revert;
}

.c-gradientLink._end._gl .c-gradientLink_label:before {
  content: "GLは終了しました";
}

.c-gradientLink._end._bpo .c-gradientLink_label:before {
  content: "BPOは終了しました";
}

.c-gradientLink._end._cx .c-gradientLink_label:before {
  content: "CXは終了しました";
}

.c-gradientLink._end .c-gradientLink_inner {
  justify-content: center;
}

.c-gradientLink._end .c-gradientLink_arrow, .c-gradientLink._end .c-gradientLink_place {
  display: none;
}

.c-gradientLink_inner {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.5rem 1rem 0.5rem 1.5rem;
  transition: background 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
  overflow: hidden;
}

.c-gradientLink_inner:after {
  content: "";
  position: absolute;
  top: 0;
  left: -160%;
  width: 150%;
  height: 100%;
  transform: skew(-30deg);
  background: var(--color-white);
  transition: 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
  z-index: 0;
}

.c-gradientLink_inner._grid {
  display: grid;
  -moz-column-gap: 1rem;
  column-gap: 1rem;
  grid-template-columns: 1fr 1fr;
  align-items: center;
}

.c-gradientLink_inner._grid:before {
  content: "";
  position: absolute;
  z-index: 1;
  top: 50%;
  right: 50%;
  transform: translate(-50%, -50%);
  width: 1px;
  height: 33.3%;
  background-color: var(--color-white);
}

.c-gradientLink_inner._grid .c-gradientLink_label {
  margin-top: -0.125rem;
  text-align: center;
}

.c-gradientLink_arrow {
  position: relative;
  width: 1rem;
  height: 1rem;
  border-radius: 100%;
  background-color: var(--color-white);
  z-index: 1;
}

.c-gradientLink_arrow:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 0.8125rem;
  height: 0.8125rem;
  background-color: transparent;
  -webkit-mask-image: url(/forum2026/images/common/icon_arrow_link.svg);
  mask-image: url(/forum2026/images/common/icon_arrow_link.svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
}

.c-gradientLink_arrow._gl:before {
  background: linear-gradient(var(--color-grd-gl));
}

.c-gradientLink_arrow._bpo:before {
  background: linear-gradient(var(--color-grd-bpo));
}

.c-gradientLink_arrow._cx:before {
  background: linear-gradient(var(--color-grd-cx));
}

.c-gradientLink_place {
  position: relative;
  z-index: 1;
  font-family: var(--typo-font-en);
  font-weight: var(--typo-weight-regular);
  font-size: 1.5rem;
  line-height: 1.2;
  text-transform: uppercase;
}

.c-gradientLink_label_container {
  display: inline-grid;
  grid-template-columns: 1fr auto;
  align-items: center;
}

.c-gradientLink_label {
  position: relative;
  z-index: 1;
}

.c-gradientLink._stop {
  pointer-events: none;
  background: #808080;
}

.c-header {
  position: sticky;
  top: 0;
  background-color: #fff;
  z-index: 100;
}

@media (min-width: 1200px) {
  .c-header {
    width: 100%;
    height: 100dvh;
    border-left: 1px solid var(--color-gray);
  }
}
.c-header._end .c-header_entry > a {
  color: var(--color-black);
  background-color: var(--color-gray);
  pointer-events: none;
}

.c-header._end .c-header_entry > a .c-header_entry_inner {
  border: none;
}

.c-header._end .c-header_entry > a .c-header_entry_inner:before {
  background: none;
}

.c-header._end .c-header_entry > a .c-header_entry_inner > ._label:after {
  content: "終了しました";
}

.c-header._end .c-header_nav_contentList_link > a {
  color: var(--color-black);
  background: var(--color-gray);
  pointer-events: none;
}

.c-header._end .c-header_nav_contentList_link > a .c-header_nav_contentList_link_inner {
  border: none;
}

.c-header._end .c-header_nav_contentList_link > a .c-header_nav_contentList_link_inner > ._label:after {
  content: "終了しました";
}

.c-header_inner {
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr auto auto;
  grid-template-areas: "logo corp entry nav";
  gap: 0.75rem;
  padding: 0.5rem 0.75rem;
  background: var(--color-white);
  z-index: 100;
  overflow: clip auto;
}

@media (min-width: 1200px) {
  .c-header_inner {
    grid-template-columns: auto;
    grid-template-rows: auto 1fr 1fr auto auto;
    grid-template-areas: "logo" "anchor" "nav" "entry" "corp";
    align-items: center;
    gap: 0;
    padding: 1.25rem 1.5rem;
    height: 100dvh;
  }
}
.c-header_logo {
  grid-area: logo;
  display: flex;
  align-items: center;
  max-width: 6.5rem;
  opacity: 1;
}

@media (min-width: 1200px) {
  .c-header_logo {
    width: 5rem;
  }
  .c-header_logo.is-hidden {
    opacity: 0;
  }
}
.c-header_logo._corp {
  grid-area: corp;
  max-width: 4.375rem;
}

@media (min-width: 1200px) {
  .c-header_logo._corp {
    margin-block-start: 3rem;
  }
  .c-header_logo._corp.is-hidden {
    opacity: 0;
  }
}
.c-header_nav {
  display: none;
  grid-area: anchor;
}

@media (min-width: 1200px) {
  .c-header_nav {
    display: block;
    margin-top: 1.5rem;
    max-width: 5rem;
  }
  .c-header_nav.is-hidden {
    opacity: 0;
  }
}
.c-header_nav > ul {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
  font-family: var(--typo-font-en);
  max-width: 3em;
}

.c-header_nav > ul > li > a {
  display: block;
  font-size: 1.25rem;
  font-weight: var(--typo-weight-medium);
  transition: 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
}

@media (hover: hover) and (pointer: fine) {
  .c-header_nav > ul > li > a:hover {
    opacity: 1;
  }
  .c-header_nav > ul > li > a:hover._gl, .c-header_nav > ul > li > a:hover._bpo, .c-header_nav > ul > li > a:hover._cx {
    color: var(--color-white);
    background-clip: initial;
    -webkit-background-clip: initial;
  }
}
.c-header_nav > ul > li > a._gl {
  color: transparent;
  background: linear-gradient(180deg, var(--color-grd-gl));
  background-clip: text;
  -webkit-background-clip: text;
}

.c-header_nav > ul > li > a._bpo {
  color: transparent;
  background: linear-gradient(180deg, var(--color-grd-bpo));
  background-clip: text;
  -webkit-background-clip: text;
}

.c-header_nav > ul > li > a._cx {
  color: transparent;
  background: linear-gradient(180deg, var(--color-grd-cx));
  background-clip: text;
  -webkit-background-clip: text;
}

.c-header_hamburger {
  position: relative;
  grid-area: nav;
  width: 2rem;
  height: 1.5rem;
  z-index: 999;
  align-self: center;
}

@media (min-width: 1200px) {
  .c-header_hamburger {
    width: 5rem;
    height: 3.75rem;
  }
}
.c-header_hamburger_wrap {
  display: block;
  position: relative;
  height: 100%;
}

@media (hover: hover) and (pointer: fine) {
  .c-header_hamburger_wrap:hover > span:first-of-type {
    top: 30%;
  }
}
@media (hover: hover) and (pointer: fine) and (min-width: 1200px) {
  .c-header_hamburger_wrap:hover > span:first-of-type {
    width: 4.5rem;
    transition: 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
  }
}
@media (hover: hover) and (pointer: fine) {
  .c-header_hamburger_wrap:hover > span:nth-of-type(2) {
    top: 50%;
    left: 14%;
    width: 1.5rem;
    height: 0.0625rem;
  }
}
@media (hover: hover) and (pointer: fine) and (min-width: 1200px) {
  .c-header_hamburger_wrap:hover > span:nth-of-type(2) {
    width: 3.25rem;
    transition: 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
  }
}
@media (hover: hover) and (pointer: fine) {
  .c-header_hamburger_wrap:hover > span:last-of-type {
    top: 65%;
    left: 9%;
    width: 2rem;
    height: 0.0625rem;
  }
}
@media (hover: hover) and (pointer: fine) and (min-width: 1200px) {
  .c-header_hamburger_wrap:hover > span:last-of-type {
    width: 4.5rem;
    transition: 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
  }
}
.c-header_hamburger_wrap > span {
  position: absolute;
  left: 0;
  background-color: var(--color-black);
  rotate: 150deg;
}

.c-header_hamburger_wrap > span:first-of-type {
  top: 30%;
  width: 2rem;
  height: 0.0625rem;
}

@media (min-width: 1200px) {
  .c-header_hamburger_wrap > span:first-of-type {
    top: 35%;
    width: 5rem;
    transition: 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
  }
}
.c-header_hamburger_wrap > span:nth-of-type(2) {
  top: 50%;
  left: 14%;
  width: 1.5rem;
  height: 0.0625rem;
}

@media (min-width: 1200px) {
  .c-header_hamburger_wrap > span:nth-of-type(2) {
    top: 50%;
    left: 14%;
    width: 3.75rem;
    transition: 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
  }
}
.c-header_hamburger_wrap > span:last-of-type {
  top: 65%;
  left: 9%;
  width: 2rem;
  height: 0.0625rem;
}

@media (min-width: 1200px) {
  .c-header_hamburger_wrap > span:last-of-type {
    top: 60%;
    left: 9%;
    width: 5rem;
    transition: 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
  }
}
.c-header_hamburger_wrap.is-active > span:first-of-type {
  top: 50%;
  left: 0;
  rotate: 20deg;
}

.c-header_hamburger_wrap.is-active > span:nth-of-type(2) {
  display: none;
}

.c-header_hamburger_wrap.is-active > span:last-of-type {
  top: 50%;
  left: 0;
  rotate: 160deg;
}

.c-header_nav_content {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1;
  background: rgba(0, 0, 0, 0.6);
  width: 100%;
  height: 100dvh;
  transition: background 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.c-header_nav_content[aria-hidden=true] {
  height: 0;
  background: transparent;
}

.c-header_nav_content_inner {
  position: absolute;
  top: 0;
  right: 0;
  padding: 4.875rem 1.5rem 2rem;
  width: 21.6875rem;
  height: 100dvh;
  overflow-y: auto;
  background: var(--color-white);
  transform: translate(100%);
  transition: transform 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
  z-index: 100;
}

@media (min-width: 1200px) {
  .c-header_nav_content_inner {
    padding: 8.625rem 4rem 4rem;
    width: 25rem;
  }
}
.c-header_nav_content_inner.is-active {
  transform: translate(0);
}

.c-header_nav_contentList_wrap {
  display: flex;
  align-items: center;
  padding: 8.625rem 0;
  max-height: 80dvh;
}

.c-header_nav_contentList {
  display: grid;
  grid-template-columns: auto;
  gap: 1.625rem;
}

@media (min-width: 1200px) {
  .c-header_nav_contentList {
    gap: 2rem;
  }
}
.c-header_nav_contentList_item > a {
  position: relative;
  display: flex;
  gap: 0.5rem;
  align-items: center;
  padding: 0.25rem 0;
}

.c-header_nav_contentList_item > a:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 1px;
  background-color: var(--color-black);
  transition: width 0.2s cubic-bezier(0.215, 0.61, 0.355, 1);
}

@media (hover: hover) and (pointer: fine) {
  .c-header_nav_contentList_item > a:hover:before {
    width: 100%;
  }
}
.c-header_nav_contentList_item > a._entry {
  justify-content: center;
  padding: 0.5rem 1rem;
  color: var(--color-white);
  font-weight: var(--typo-weight-bold);
  background-color: var(--color-red);
  max-width: 11.6875rem;
  clip-path: polygon(7% 0, 100% 0, 93% 100%, 0% 100%);
  filter: drop-shadow(0 -2px 0 var(--color-red)) drop-shadow(-2px 0 0 var(--color-red)) drop-shadow(0 2px 0 var(--color-red)) drop-shadow(2px 0 0 var(--color-red));
}

.c-header_nav_contentList_item > a._entry:after {
  content: "参加申し込み";
}

@media (hover: hover) and (pointer: fine) {
  .c-header_nav_contentList_item > a._entry:hover:before {
    width: 0;
  }
}
.c-header_nav_contentList_item > a > span {
  font-family: var(--typo-font-en);
  font-size: 0.75rem;
  color: var(--color-gray);
  text-transform: uppercase;
}

.c-header_nav_contentList_link {
  margin-top: 1rem;
}

.c-header_nav_contentList_link > a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-white);
  font-weight: var(--typo-weight-bold);
  background-color: var(--color-red);
  max-width: 11.6875rem;
  transform: skew(-30deg);
}

@media (hover: hover) and (pointer: fine) {
  .c-header_nav_contentList_link > a:hover {
    opacity: 1;
    color: var(--color-red);
  }
  .c-header_nav_contentList_link > a:hover > .c-header_nav_contentList_link_inner:before {
    content: "";
    left: -20%;
  }
}
@media (hover: hover) and (pointer: fine) and (min-width: 1200px) {
  .c-header_nav_contentList_link > a:hover > .c-header_nav_contentList_link_inner:before {
    top: 0;
  }
}
.c-header_nav_contentList_link_inner {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem 1rem;
  width: 100%;
  height: 100%;
  border: solid 2px var(--color-red);
  overflow: hidden;
}

.c-header_nav_contentList_link_inner:before {
  content: "";
  position: absolute;
  top: 0;
  left: -220%;
  width: 200%;
  height: 100%;
  background-color: var(--color-white);
  transition: left 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
  z-index: 0;
}

.c-header_nav_contentList_link_inner > ._label {
  transform: skew(30deg);
}

.c-header_nav_contentList_link_inner > ._label:after {
  content: "参加申し込み";
  position: relative;
  z-index: 1;
}

.c-header_nav_infoList {
  display: grid;
  grid-template-columns: auto;
  gap: 0.5rem;
  margin-top: 0.5rem;
}

.c-header_nav_infoList_item > a {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0 0.5rem;
  max-width: 4.5em;
  width: 100%;
  font-family: var(--typo-font-en);
  font-size: 1.5rem;
  font-weight: var(--typo-weight-medium);
  transition: 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
}

@media (min-width: 768px) {
  .c-header_nav_infoList_item > a {
    font-size: 2rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  .c-header_nav_infoList_item > a:hover {
    opacity: 1;
  }
  .c-header_nav_infoList_item > a:hover._gl, .c-header_nav_infoList_item > a:hover._bpo, .c-header_nav_infoList_item > a:hover._cx {
    color: var(--color-white);
    background-clip: initial;
    -webkit-background-clip: initial;
  }
  .c-header_nav_infoList_item > a:hover._gl > span, .c-header_nav_infoList_item > a:hover._bpo > span, .c-header_nav_infoList_item > a:hover._cx > span {
    background: var(--color-white);
  }
  .c-header_nav_infoList_item > a:hover._gl > span:before {
    background: linear-gradient(to right, var(--color-grd-gl));
  }
  .c-header_nav_infoList_item > a:hover._bpo > span:before {
    background: linear-gradient(to right, var(--color-grd-bpo));
  }
  .c-header_nav_infoList_item > a:hover._cx > span:before {
    background: linear-gradient(to right, var(--color-grd-cx));
  }
}
.c-header_nav_infoList_item > a._gl {
  color: transparent;
  background: linear-gradient(to right, var(--color-grd-gl));
  background-clip: text;
  -webkit-background-clip: text;
}

.c-header_nav_infoList_item > a._gl > span {
  background: linear-gradient(var(--color-grd-gl));
}

.c-header_nav_infoList_item > a._bpo {
  color: transparent;
  background: linear-gradient(to right, var(--color-grd-bpo));
  background-clip: text;
  -webkit-background-clip: text;
}

.c-header_nav_infoList_item > a._bpo > span {
  background: linear-gradient(var(--color-grd-bpo));
}

.c-header_nav_infoList_item > a._cx {
  color: transparent;
  background: linear-gradient(to right, var(--color-grd-cx));
  background-clip: text;
  -webkit-background-clip: text;
}

.c-header_nav_infoList_item > a._cx > span {
  background: linear-gradient(var(--color-grd-cx));
}

.c-header_nav_infoList_item > a > span {
  position: relative;
  width: 1rem;
  height: 1rem;
  border-radius: 100%;
  background-color: var(--color-white);
}

.c-header_nav_infoList_item > a > span:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 0.8125rem;
  height: 0.8125rem;
  background-color: var(--color-white);
  -webkit-mask-image: url(/forum2026/images/common/icon_arrow_link.svg);
  mask-image: url(/forum2026/images/common/icon_arrow_link.svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
}

@media (min-width: 1200px) {
  .c-header_nav_bg {
    position: fixed;
    top: 0;
    right: 0;
    width: 24.125rem;
    height: 8.625rem;
    transform: translate(100%);
    opacity: 0;
    transition: transform 0.4s cubic-bezier(0.215, 0.61, 0.355, 1), opacity 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
    z-index: 100;
    clip-path: polygon(0 0, 100% 0, 100% 75%, 85% 100%);
  }
  .c-header_nav_bg.is-active {
    transform: translate(0);
    background: linear-gradient(#d71718, #710c0d);
    opacity: 1;
  }
}
.c-header_entry {
  grid-column: entry;
  overflow: hidden;
}

@media (min-width: 1200px) {
  .c-header_entry {
    max-width: 5rem;
    overflow: visible;
  }
  .c-header_entry.is-hidden {
    opacity: 0;
  }
}
.c-header_entry > a {
  display: flex;
  position: relative;
  background-color: var(--color-red);
  color: var(--color-white);
}

@media (min-width: 1200px) {
  .c-header_entry > a {
    width: 100%;
    transform: skewY(-30deg);
    writing-mode: vertical-rl;
    letter-spacing: 0.25rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  .c-header_entry > a:hover {
    opacity: 1;
    color: var(--color-red);
  }
  .c-header_entry > a:hover > .c-header_entry_inner:before {
    left: -20%;
  }
}
@media (hover: hover) and (pointer: fine) and (min-width: 1200px) {
  .c-header_entry > a:hover > .c-header_entry_inner:before {
    top: 0;
  }
}
.c-header_entry_inner {
  position: relative;
  padding: 0.125rem 1.0625rem 0.25rem;
  width: 100%;
  height: 100%;
  border: solid 1px var(--color-red);
  overflow: hidden;
}

@media (min-width: 1200px) {
  .c-header_entry_inner {
    display: flex;
    align-items: center;
    padding: 3rem 1rem;
    border: solid 2px var(--color-red);
  }
}
.c-header_entry_inner:before {
  content: "";
  position: absolute;
  top: 0;
  left: -220%;
  width: 200%;
  height: 100%;
  transform: skew(-30deg);
  background-color: var(--color-white);
  transition: left 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
  z-index: 0;
}

@media (min-width: 1200px) {
  .c-header_entry_inner:before {
    top: -120%;
    left: 0;
    transform: none;
    transition: top 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
  }
}
.c-header_entry_inner > ._label {
  transform: skewY(30deg);
}

.c-header_entry_inner > ._label:after {
  content: "参加申し込み";
  position: relative;
  z-index: 1;
  font-size: 0.75rem;
  font-weight: var(--typo-weight-bold);
}

@media (min-width: 1200px) {
  .c-header_entry_inner > ._label:after {
    font-size: 1rem;
    font-weight: var(--typo-weight-medium);
  }
}
.modal-overlay {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.6);
  z-index: 200;
}

.modal-container {
  position: relative;
  background-color: #fff;
  max-height: 80vh;
  max-width: 43.75rem;
  width: 80%;
}

.modal-close {
  position: absolute;
  top: 0;
  right: 0;
  background: transparent;
  border: 0;
}

.modal-close:before {
  content: "✕";
  position: absolute;
  top: -3.375rem;
  right: 0;
  font-size: 2.5rem;
  color: var(--color-white);
}

.modal-content {
  max-height: 80vh;
  line-height: 1.5;
  overflow-y: auto;
}

.modal-content > img {
  width: 100%;
}

.modal-open {
  display: block;
}

@keyframes mmfadeIn {
  0% {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes mmfadeOut {
  0% {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes mmslideIn {
  0% {
    transform: translateY(15%);
  }
  to {
    transform: translateY(0);
  }
}
@keyframes mmslideOut {
  0% {
    transform: translateY(0);
  }
  to {
    transform: translateY(-10%);
  }
}
.micromodal-slide {
  display: none;
}

.micromodal-slide.is-open {
  display: block;
}

.micromodal-slide > .modal-container, .micromodal-slide > .modal-overlay {
  will-change: transform;
}

.micromodal-slide[aria-hidden=false] > .modal-overlay {
  animation: mmfadeIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.micromodal-slide[aria-hidden=false] > .modal-container {
  animation: mmslideIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.micromodal-slide[aria-hidden=true] > .modal-overlay {
  animation: mmfadeOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.micromodal-slide[aria-hidden=true] > .modal-container {
  animation: mmslideOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.outline_content > dl {
  margin-top: 1.625rem;
}

@media (min-width: 768px) {
  .outline_content > dl {
    margin-top: 0;
  }
}
.outline_content > dl > dt {
  font-weight: var(--typo-weight-bold);
  padding-top: 1.5rem;
  border-top: 1px solid var(--color-gray);
  letter-spacing: var(--letter-spacing-base);
}

@media (min-width: 768px) {
  .outline_content > dl > dt {
    padding-top: 0;
    border-top: none;
  }
}
.outline_content > dl > dt:not(:first-of-type) {
  padding-top: 1.5rem;
  border-top: 1px solid var(--color-gray);
}

@media (min-width: 768px) {
  .outline_content > dl > dt:not(:first-of-type) {
    padding-top: 1rem;
  }
}
.outline_content > dl > dd {
  letter-spacing: var(--letter-spacing-base);
  margin-top: 0.5rem;
  line-height: 1.8;
}

.outline_content > dl > dd:has(+ dt) {
  padding-bottom: 1.5rem;
}

@media (min-width: 768px) {
  .outline_content > dl > dd:has(+ dt) {
    padding-bottom: 1rem;
  }
}
.outline_content_box {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto;
}

.outline_content_box + .outline_content_box {
  margin-block-start: 0.25rem;
}

.outline_content_box > ._location {
  grid-area: 1/1/3/2;
}

.outline_content_box > ._date {
  grid-area: 1/2/2/3;
}

.outline_content_box > ._place {
  grid-area: 2/2/3/3;
}

.outline_content_box > ._place > span {
  display: inline-block;
}

.outline_content_box._schedule {
  -moz-column-gap: 1rem;
  column-gap: 1rem;
}

.program_anchor .outline_content_box._schedule {
  grid-area: schedule;
  grid-column: span 2;
  margin-top: 24px;
}

.outline_list_item {
  position: relative;
  padding-left: 1em;
}

.outline_list_item + .outline_list_item {
  margin-top: 0.25rem;
}

.outline_list_item:before {
  content: "・";
  margin-left: -1em;
}

.splide {
  margin: 0 auto;
}

@media (min-width: 768px) {
  .splide__track {
    overflow: visible !important;
  }
}
.splide__arrows {
  display: grid;
  grid-template-columns: auto 1fr;
  margin-block-start: 1rem;
}

@media (min-width: 768px) {
  .splide__arrows {
    margin-block-start: revert;
  }
}
.splide__arrow {
  display: grid;
  place-items: center;
  background-color: var(--color-white);
  width: 2.5rem;
  aspect-ratio: 1/1;
  border-radius: 2px;
}

@media (min-width: 768px) {
  .splide__arrow {
    position: absolute;
    z-index: 1;
    top: 50%;
    transform: translateY(-50%);
    width: 5rem;
    background-color: rgba(34, 34, 34, 0.6);
    border: 1px solid var(--color-white);
    backdrop-filter: blur(24px);
  }
}
.splide__arrow:before {
  content: "";
  width: 0.8125rem;
  aspect-ratio: 19/22;
  transition: translate 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
}

@media (min-width: 768px) {
  .splide__arrow:before {
    width: 1.1875rem;
  }
}
.splide__arrow--prev {
  left: -4rem;
}

.splide__arrow--prev:before {
  clip-path: polygon(0% 50%, 100% 0%, 100% 100%, 0% 50%);
}

@media (min-width: 768px) and (hover: hover) and (pointer: fine) {
  .splide__arrow--prev:hover:before {
    translate: -8px;
  }
}
.splide__arrow--next {
  justify-self: end;
  right: -4rem;
}

.splide__arrow--next:before {
  clip-path: polygon(0% 0%, 100% 50%, 100% 50%, 0% 100%);
}

@media (min-width: 768px) and (hover: hover) and (pointer: fine) {
  .splide__arrow--next:hover:before {
    translate: 8px;
  }
}
.forum._gl .splide__arrow:before {
  background: #45b035;
}

.forum._bpo .splide__arrow:before {
  background: #0075be;
}

.forum._cx .splide__arrow:before {
  background: #f08300;
}

.c-split_section_wrap {
  display: grid;
  grid-template-columns: auto;
  row-gap: 6rem;
  container-type: inline-size;
  margin: 0 auto;
  padding: 5rem 1rem;
  max-width: 75.75rem;
  box-sizing: content-box;
}

@media (min-width: 768px) {
  .c-split_section_wrap {
    padding: 5rem;
    row-gap: 10rem;
  }
}
@container (900px < width) {
  .c-split_section {
    display: grid;
    grid-template-columns: 27.7777777778vw 1fr;
  }
}
@media (min-width: 1440px) {
  .c-split_section {
    grid-template-columns: 25rem 1fr;
  }
}
.c-split_section_inner {
  position: relative;
  max-width: 75.75rem;
}

@container (900px < width) {
  .c-split_section_inner {
    display: grid;
    gap: 4rem;
    grid-template-columns: subgrid;
    grid-column: span 2;
  }
}
.c-split_section_title_wrap {
  position: sticky;
  top: 4rem;
}

@media (min-width: 1200px) {
  .c-split_section_title_wrap {
    top: 3rem;
  }
}
.c-split_section_title_wrap > h2 {
  font-family: var(--typo-font-en);
  font-size: 3rem;
  color: transparent;
  line-height: 1;
  text-transform: uppercase;
  background: linear-gradient(var(--color-grd-gold));
  background-clip: text;
  -webkit-background-clip: text;
}

@container (900px < width) {
  .c-split_section_title_wrap > h2 {
    font-size: 4.4444444444vw;
  }
}
@media (min-width: 1440px) {
  .c-split_section_title_wrap > h2 {
    font-size: 4rem;
  }
}
.c-split_section_title_wrap > p {
  margin-top: 0.5rem;
  font-weight: var(--typo-weight-medium);
}

@media (min-width: 768px) {
  .c-split_section_title_wrap > p {
    margin-top: 1.75rem;
  }
}
@media (min-width: 1200px) {
  .l-base {
    display: grid;
    grid-template-columns: 1fr 8rem;
    grid-template-rows: auto auto;
    grid-template-areas: "main header" "footer header";
  }
}
.l-header {
  position: sticky;
  top: 0;
  left: 0;
  grid-area: header;
  z-index: 100;
}

.l-main {
  grid-area: main;
  overflow-x: clip;
}

.l-footer {
  grid-area: footer;
}