@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: -.5em
}
sub {
  bottom: -.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(/forum2025/font/galyon-book.woff) format("woff")
}
:root {
  --typo-font-base: "Noto Sans JP", sans-serif;
  --typo-font-en: galyon, 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;
  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 .3s cubic-bezier(.215, .61, .355, 1);
  text-decoration: none
}
@media (hover: hover) and (pointer: fine) {
  a:hover {
    opacity: .7
  }
}
.accordion {
  margin-top: 1.5rem
}
@media (min-width: 1024px) {
  .accordion {
    margin-top: 0
  }
}
.accordion_item {
  border-bottom: 1px solid #cbcbcb;
  transition: opacity .3s cubic-bezier(.215, .61, .355, 1)
}
.accordion_item[open] .accordion_label:after {
  opacity: 0;
  transform: translateY(-50%) rotate(180deg)
}
@media (hover: hover) and (pointer: fine) {
  .accordion_item:hover {
    opacity: .7
  }
}
.accordion_item :where(a:not([class])) {
  text-decoration: underline
}
.accordion_label {
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  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: .5rem;
  transform: translateY(-50%);
  width: 1rem;
  height: 2px;
  background-color: var(--color-black)
}
.accordion_label:after {
  transition: transform .3s cubic-bezier(.215, .61, .355, 1), opacity .3s cubic-bezier(.215, .61, .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: #efefef99
}
.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)
}
.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 .3s cubic-bezier(.215, .61, .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: .5s cubic-bezier(.215, .61, .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(/forum2025/images/common/icon_arrow_link.svg);
  mask-image: url(/forum2025/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: #efefef99
}
@media (min-width: 768px) {
  .c-end_message {
    padding: 2rem;
    font-size: 1.5rem
  }
}
.c-end_message>p>span {
  display: inline-block;
  font-size: .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: 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(/forum2025/images/common/icon_arrow_totop.svg);
  mask-image: url(/forum2025/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: .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._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: .5rem 1rem .5rem 1.5rem;
  transition: background .3s cubic-bezier(.215, .61, .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: .5s cubic-bezier(.215, .61, .355, 1);
  z-index: 0
}
.c-gradientLink_inner._grid {
  display: grid;
  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: -.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: .8125rem;
  height: .8125rem;
  background-color: transparent;
  -webkit-mask-image: url(/forum2025/images/common/icon_arrow_link.svg);
  mask-image: url(/forum2025/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-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: .75rem;
  padding: .5rem .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: .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: .5s cubic-bezier(.215, .61, .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: .3s cubic-bezier(.215, .61, .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: .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: .3s cubic-bezier(.215, .61, .355, 1)
  }
}
@media (hover: hover) and (pointer: fine) {
  .c-header_hamburger_wrap:hover>span:last-of-type {
    top: 65%;
    left: 9%;
    width: 2rem;
    height: .0625rem
  }
}
@media (hover: hover) and (pointer: fine) and (min-width: 1200px) {
  .c-header_hamburger_wrap:hover>span:last-of-type {
    width: 4.5rem;
    transition: .3s cubic-bezier(.215, .61, .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: .0625rem
}
@media (min-width: 1200px) {
  .c-header_hamburger_wrap>span:first-of-type {
    top: 35%;
    width: 5rem;
    transition: .3s cubic-bezier(.215, .61, .355, 1)
  }
}
.c-header_hamburger_wrap>span:nth-of-type(2) {
  top: 50%;
  left: 14%;
  width: 1.5rem;
  height: .0625rem
}
@media (min-width: 1200px) {
  .c-header_hamburger_wrap>span:nth-of-type(2) {
    top: 50%;
    left: 14%;
    width: 3.75rem;
    transition: .3s cubic-bezier(.215, .61, .355, 1)
  }
}
.c-header_hamburger_wrap>span:last-of-type {
  top: 65%;
  left: 9%;
  width: 2rem;
  height: .0625rem
}
@media (min-width: 1200px) {
  .c-header_hamburger_wrap>span:last-of-type {
    top: 60%;
    left: 9%;
    width: 5rem;
    transition: .3s cubic-bezier(.215, .61, .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: #0009;
  width: 100%;
  height: 100dvh;
  transition: background .3s cubic-bezier(.215, .61, .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 .4s cubic-bezier(.215, .61, .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: .5rem;
  align-items: center;
  padding: .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 .2s cubic-bezier(.215, .61, .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: .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: .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: .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 .6s cubic-bezier(.215, .61, .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: .5rem;
  margin-top: .5rem
}
.c-header_nav_infoList_item>a {
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: 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: .5s cubic-bezier(.215, .61, .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: .8125rem;
  height: .8125rem;
  background-color: var(--color-white);
  -webkit-mask-image: url(/forum2025/images/common/icon_arrow_link.svg);
  mask-image: url(/forum2025/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 .4s cubic-bezier(.215, .61, .355, 1), opacity .4s cubic-bezier(.215, .61, .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: .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: .125rem 1.0625rem .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 .5s cubic-bezier(.215, .61, .355, 1);
  z-index: 0
}
@media (min-width: 1200px) {
  .c-header_entry_inner:before {
    top: -120%;
    left: 0;
    transform: none;
    transition: top .4s cubic-bezier(.215, .61, .355, 1)
  }
}
.c-header_entry_inner>._label {
  transform: skewY(30deg)
}
.c-header_entry_inner>._label:after {
  content: "参加申し込み";
  position: relative;
  z-index: 1;
  font-size: .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: #0009;
  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 .3s cubic-bezier(0, 0, .2, 1)
}
.micromodal-slide[aria-hidden=false]>.modal-container {
  animation: mmslideIn .3s cubic-bezier(0, 0, .2, 1)
}
.micromodal-slide[aria-hidden=true]>.modal-overlay {
  animation: mmfadeOut .3s cubic-bezier(0, 0, .2, 1)
}
.micromodal-slide[aria-hidden=true]>.modal-container {
  animation: mmslideOut .3s cubic-bezier(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: .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: .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_list_item {
  position: relative;
  padding-left: 1em
}
.outline_list_item+.outline_list_item {
  margin-top: .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: #2229;
    border: 1px solid var(--color-white);
    -webkit-backdrop-filter: blur(24px);
    backdrop-filter: blur(24px)
  }
}
.splide__arrow:before {
  content: "";
  width: .8125rem;
  aspect-ratio: 19/22;
  transition: translate .5s cubic-bezier(.215, .61, .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: .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
}
.kv {
  margin-block-start: -12.8vw;
  min-height: 164vw
}
@media (min-width: 768px) {
  .kv {
    margin-block-start: 0;
    min-height: 49.6527777778vw
  }
}
.program_anchor {
  position: relative;
  border-top: 1px solid var(--color-gray);
  padding: 2.5rem 1.5rem 3rem;
  margin-block-start: -12.8vw;
  background: #fffc;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px)
}
@media (min-width: 768px) {
  .program_anchor {
    margin-block-start: 0;
    container-type: inline-size;
    padding: 5.5555555556vw
  }
}
@media (min-width: 1440px) {
  .program_anchor {
    padding: 5rem
  }
}
.program_anchor_inner {
  display: grid;
  gap: 3.75rem
}
@media (min-width: 768px) {
  .program_anchor_inner {
    grid-template-columns: repeat(3, 1fr);
    gap: 6.25vw;
    margin: 0 auto;
    width: 100%;
    max-width: 75.75rem
  }
}
@media (min-width: 1440px) {
  .program_anchor_inner {
    gap: 5.625rem
  }
}
.program_anchor_link {
  display: grid;
  grid-template-columns: max-content auto;
  grid-template-areas: "arrow category" "arrow date";
  column-gap: 2rem
}
@media (min-width: 768px) {
  .program_anchor_link {
    grid-template-rows: 11.1111111111vw auto;
    column-gap: 2.2222222222vw;
    row-gap: .5rem
  }
}
@media (min-width: 1440px) {
  .program_anchor_link {
    grid-template-rows: 10rem auto;
    column-gap: 2rem
  }
}
@media (hover: hover) and (pointer: fine) {
  .program_anchor_link:hover {
    opacity: 1
  }
  .program_anchor_link:hover .program_anchor_arrow:before {
    animation: hoverArrowBefore .5s forwards
  }
  .program_anchor_link:hover .program_anchor_arrow:after {
    animation: hoverArrowAfter .5s forwards
  }
}
@keyframes hoverArrowBefore {
  0% {
    transform: translate(-50%, -50%) rotate(90deg);
    opacity: 1
  }
  to {
    transform: translate(-50%, 100%) rotate(90deg);
    opacity: 0
  }
}
@keyframes hoverArrowAfter {
  0% {
    transform: translate(-50%, -50%) rotate(90deg);
    opacity: 0
  }
  to {
    transform: translate(-50%, 50%) rotate(90deg);
    opacity: 1
  }
}
.program_anchor_category {
  grid-area: category;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: subgrid;
  grid-row: span 1;
  max-width: 15.4375rem
}
@media (min-width: 768px) {
  .program_anchor_category {
    max-width: 15.7638888889vw
  }
}
@media (min-width: 1440px) {
  .program_anchor_category {
    max-width: 14.1875rem
  }
}
.program_anchor_arrow {
  grid-area: arrow;
  position: relative;
  width: 3rem;
  height: 3rem;
  border-radius: 100%
}
@media (min-width: 768px) {
  .program_anchor_arrow {
    width: 4.4444444444vw;
    height: 4.4444444444vw
  }
}
@media (min-width: 1440px) {
  .program_anchor_arrow {
    width: 4rem;
    height: 4rem
  }
}
.program_anchor_arrow:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(90deg);
  width: 3rem;
  height: 3rem;
  background-color: var(--color-white);
  -webkit-mask-image: url(/forum2025/images/common/icon_arrow_link.svg);
  mask-image: url(/forum2025/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: 768px) {
  .program_anchor_arrow:before {
    width: 4.4444444444vw;
    height: 4.4444444444vw
  }
}
@media (min-width: 1440px) {
  .program_anchor_arrow:before {
    width: 4rem;
    height: 4rem
  }
}
.program_anchor_arrow:after {
  content: "";
  position: absolute;
  top: -50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(90deg);
  width: 3rem;
  height: 3rem;
  background-color: var(--color-white);
  -webkit-mask-image: url(/forum2025/images/common/icon_arrow_link.svg);
  mask-image: url(/forum2025/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: 768px) {
  .program_anchor_arrow:after {
    width: 4.4444444444vw;
    height: 4.4444444444vw
  }
}
@media (min-width: 1440px) {
  .program_anchor_arrow:after {
    width: 4rem;
    height: 4rem
  }
}
.program_anchor_arrow._gl {
  background: linear-gradient(-90deg, var(--color-grd-gl))
}
.program_anchor_arrow._bpo {
  background: linear-gradient(-90deg, var(--color-grd-bpo))
}
.program_anchor_arrow._cx {
  background: linear-gradient(-90deg, var(--color-grd-cx))
}
.program_anchor_date_wrap {
  grid-area: date;
  margin-top: 1.5rem
}
.program_anchor_date {
  display: grid;
  grid-template-columns: 9.5625rem 0;
  grid-template-areas: "day weekday" "day place";
  column-gap: 1.25rem;
  font-family: var(--typo-font-en)
}
@media (min-width: 768px) {
  .program_anchor_date {
    grid-template-columns: max-content 1fr;
    column-gap: .875rem
  }
}
.program_anchor_date+.program_anchor_date {
  margin-top: 1.25rem
}
@media (min-width: 768px) {
  .program_anchor_date+.program_anchor_date {
    margin-top: 1.875rem
  }
}
.program_anchor_date>._day {
  grid-area: day;
  font-size: 4rem;
  line-height: .7
}
@media (min-width: 768px) {
  .program_anchor_date>._day {
    font-size: 4.4444444444vw
  }
}
@media (min-width: 1440px) {
  .program_anchor_date>._day {
    font-size: 4rem
  }
}
.program_anchor_date>._weekday {
  grid-area: weekday;
  text-transform: uppercase;
  line-height: 1.4
}
@media (min-width: 768px) {
  .program_anchor_date>._weekday {
    font-size: 1.1111111111vw
  }
}
@media (min-width: 1440px) {
  .program_anchor_date>._weekday {
    font-size: 1rem
  }
}
.program_anchor_date>._place {
  grid-area: place;
  text-transform: uppercase;
  line-height: 1.4
}
@media (min-width: 768px) {
  .program_anchor_date>._place {
    font-size: 1.1111111111vw
  }
}
@media (min-width: 1440px) {
  .program_anchor_date>._place {
    font-size: 1rem
  }
}
.theme {
  position: relative;
  padding: 5rem 1.5rem;
  border-top: 1px solid var(--color-gray);
  overflow: clip
}
@media (min-width: 768px) {
  .theme {
    padding: 5.75rem 5rem 5rem
  }
}
.theme_inner {
  position: relative;
  z-index: 1;
  margin: 0 auto;
  max-width: 75.75rem;
  opacity: 0
}
.theme_inner.is-active {
  animation: themeTextAnime .8s cubic-bezier(.215, .61, .355, 1) forwards
}
@keyframes themeTextAnime {
  0% {
    opacity: 0;
    transform: translateY(20%)
  }
  to {
    opacity: 1;
    transform: translateY(0)
  }
}
.theme_title {
  font-size: .875rem;
  line-height: 2
}
@media (min-width: 768px) {
  .theme_title {
    font-size: 1rem;
    line-height: 1.8
  }
}
.theme_text_container {
  display: grid;
  row-gap: 2.5rem
}
@media (min-width: 768px) {
  .theme_text_container {
    row-gap: 2rem
  }
}
.theme_text_container>p {
  font-size: .875rem;
  line-height: 2
}
@media (min-width: 768px) {
  .theme_text_container>p {
    font-size: 1rem;
    line-height: 1.8
  }
}
.theme_text_container>p>span {
  display: inline-block;
  font-size: inherit
}
.theme_anime {
  position: absolute;
  bottom: 0;
  right: -35%;
  width: 180%;
  z-index: 0
}
@media (min-width: 768px) {
  .theme_anime {
    right: -10%;
    width: 130%
  }
}
@media (min-width: 1024px) {
  .theme_anime {
    width: 120%
  }
}
@media (min-width: 1440px) {
  .theme_anime {
    width: 80%;
    right: 0;
    bottom: -10%
  }
}
@media (min-width: 1200px) {
  .forum {
    max-width: calc(100vw - 127px);
    overflow-x: clip
  }
}
.forum>h3>img {
  width: 100vw
}
.forum._gl {
  background-color: var(--color-gl)
}
.forum._gl .forum_slide_title, .forum._gl .tc_forum_slide_title {
  color: var(--color-gl)
}
.forum._gl .forum_slide_profile_name>span:before, .forum._gl .tc_forum_slide_name>span:before {
  background: linear-gradient(180deg, var(--color-grd-gl))
}
.forum._bpo {
  background-color: var(--color-bpo)
}
.forum._bpo .forum_slide_title, .forum._bpo .tc_forum_slide_title {
  color: var(--color-bpo)
}
.forum._bpo .forum_slide_profile_name>span:before, .forum._bpo .tc_forum_slide_name>span:before {
  background: linear-gradient(180deg, var(--color-grd-bpo))
}
.forum._cx {
  background-color: var(--color-cx)
}
.forum._cx .forum_slide_title, .forum._cx .tc_forum_slide_title {
  color: var(--color-cx)
}
.forum._cx .forum_slide_profile_name>span:before, .forum._cx .tc_forum_slide_name>span:before {
  background: linear-gradient(180deg, var(--color-grd-cx))
}
.forum_inner {
  margin: 0 auto;
  padding: 3rem 1rem;
  max-width: 75.75rem;
  box-sizing: content-box
}
#gl .forum_inner, #bpo .forum_inner, #cx .forum_inner {
  padding: 3rem 1rem 1rem;
}
@media (min-width: 768px) {
  .forum_inner {
    padding: 6rem 5rem
  }
  #gl .forum_inner, #bpo .forum_inner, #cx .forum_inner {
    padding: 6rem 5rem 2rem
  }
  .forum_title._subtitle{
    text-align: center;
  }
}
.forum_main_title img {
  width: 100%
}
.forum_title {
  font-weight: var(--typo-weight-medium);
  color: var(--color-white)
}
@media (min-width: 768px) {
  .forum_title {
    font-size: 2rem
  }
}
.forum_title._comingSoon {
  font-size: 1.5rem;
  text-align: center
}
#gl .forum_title._comingSoon, #bpo .forum_title._comingSoon, #cx .forum_title._comingSoon {
  font-size: 1.0rem;
}
@media (min-width: 768px) {
  .forum_title._comingSoon {
    font-size: 3rem
  }
  #gl .forum_title._comingSoon, #bpo .forum_title._comingSoon, #cx .forum_title._comingSoon {
    font-size: 2rem
  }
}
.forum_title+.forum_splide {
  margin-top: 1rem
}
@media (min-width: 768px) {
  .forum_title+.forum_splide {
    margin-top: 2rem
  }
}
.forum_slide {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 1rem;
  background-color: var(--color-white)
}
@media (min-width: 768px) {
  .forum_slide {
    padding: 4rem
  }
}
.forum_slide_title_container {
  display: grid;
  row-gap: .25rem
}
.forum_slide_title_container.multiple {
  padding-top: 1rem;
  border-top: 1px solid var(--color-gray-dark);
}
.forum_slide_category {
  font-size: .75rem;
  font-weight: var(--typo-weight-bold)
}
@media (min-width: 768px) {
  .forum_slide_category {
    font-size: 1.25rem;
    font-weight: var(--typo-weight-medium)
  }
}
.forum_slide_title {
  font-size: .875rem;
  font-weight: var(--typo-weight-medium);
  color: transparent;
  letter-spacing: var(--letter-spacing-base)
}
@media (min-width: 768px) {
  .forum_slide_title {
    font-size: 2rem;
    letter-spacing: revert
  }
}
.forum_slide_profile_container {
  display: grid;
  row-gap: 1.5rem;
  margin-top: .75rem
}
@media (min-width: 768px) {
  .forum_slide_profile_container {
    row-gap: 2rem;
    margin-top: 2rem
  }
}
.forum_slide_profile {
  display: flex;
  flex-direction: column;
  gap: .5rem
}
@media (min-width: 1024px) {
  .forum_slide_profile {
    flex-direction: row;
    align-items: center;
    column-gap: 1.5rem
  }
}
@media (min-width: 1200px) {
  .forum_slide_profile {
    row-gap: 1rem
  }
}
.forum_slide_profile_image {
  display: flex;
  align-items: flex-end;
  flex-shrink: 0;
  gap: 1rem;
  max-width: 5.5rem
}
@media (min-width: 768px) {
  .forum_slide_profile_image {
    max-width: 11.1111111111vw
  }
}
@media (min-width: 1024px) {
  .forum_slide_profile_image {
    max-width: 10rem
  }
}
.forum_slide_profile_image>img {
  border-radius: calc(infinity * 1px);
  width: 100%
}
.forum_slide_profile_box {
  display: grid;
  gap: .5rem;
  align-items: center
}
@media (min-width: 1024px) {
  .forum_slide_profile_box {
    gap: 1rem;
    width: 100%;
    grid-template-columns: auto minmax(auto, 29.5rem)
  }
}
.forum_slide_profile_name_wrap {
  display: flex;
  flex-direction: column;
  column-gap: 3rem;
  row-gap: 1.25rem
}
@media (min-width: 1024px) {
  .forum_slide_profile_name_wrap {
    align-items: flex-start
  }
}
.forum_slide_profile_name {
  display: flex;
  align-items: flex-end;
  gap: .75rem;
  flex-shrink: 0
}
@media (min-width: 1024px) {
  .forum_slide_profile_name._sm {
    display: none
  }
}
.forum_slide_profile_name._lg {
  display: none
}
@media (min-width: 1024px) {
  .forum_slide_profile_name._lg {
    display: flex;
    font-size: 1.25rem;
    gap: 1rem
  }
}
@media (min-width: 1024px) {
  .forum_slide_profile_name._lg {
    align-items: center
  }
}
.forum_slide_profile_name>span {
  display: flex;
  align-items: flex-end;
  column-gap: 1rem;
  position: relative;
  padding-left: 1.5rem;
  font-size: 1.25rem;
  font-weight: var(--typo-weight-medium)
}
@media (min-width: 768px) {
  .forum_slide_profile_name>span {
    padding-left: 2.5rem;
    font-size: 1.5rem;
    column-gap: 1.5rem
  }
}
.forum_slide_profile_name>span:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: .9375rem;
  height: 1.25rem;
  clip-path: polygon(60% 0%, 100% 0%, 40% 100%, 0% 100%)
}
@media (min-width: 768px) {
  .forum_slide_profile_name>span:before {
    width: 2rem;
    height: 2.5rem
  }
}
@media (min-width: 768px) {
  .forum_slide_profile_name>span>span {
    font-size: 1.25rem
  }
}
.forum_slide_profile_affiliation {
  display: grid;
  grid-template-columns: auto;
  gap: .25rem
}
.forum_slide_profile_affiliation>._organization>span {
  display: block;
  font-size: .75rem;
  font-weight: var(--typo-weight-bold)
}
@media (min-width: 768px) {
  .forum_slide_profile_affiliation>._organization>span {
    font-size: .75rem
  }
}
.forum_slide_profile_affiliation>._position {
  display: grid;
  font-size: .75rem
}
.forum_slide_profile_affiliation>._position>span>span {
  font-weight: 700
}
.forum_slide_profile_affiliation>._position span {
  font-size: inherit
}
.forum_slide_profile_text>p {
  font-size: .75rem
}
@media (min-width: 768px) {
  .forum_slide_profile_text>p {
    font-size: .875rem
  }
}
.forum_slide_theme_container {
  display: grid;
  row-gap: .5rem;
  margin-block-start: .75rem
}
@media (min-width: 1024px) {
  .forum_slide_theme_container {
    grid-template-columns: auto 1fr;
    align-items: center;
    column-gap: 1.5rem;
    margin-block-start: 2rem
  }
}
.forum_slide_theme_container>p {
  font-size: .75rem;
  line-height: 1.5
}
@media (min-width: 768px) {
  .forum_slide_theme_container>p {
    font-size: .875rem
  }
}
.forum_slide_theme_image {
  width: 100%;
  max-width: 5.5rem
}
@media (min-width: 1024px) {
  .forum_slide_theme_image {
    max-width: 10rem
  }
}
.forum_slide_theme_image img {
  width: 100%;
  height: 100%
}
.tc_forum {
  display: grid;
  gap: .25rem;
  padding-top: 1rem;
  border-top: 1px solid var(--color-gray-dark);
  margin-block-start: .75rem
}
@media (min-width: 768px) {
  .tc_forum {
    margin-block-start: 2rem;
    grid-template-columns: auto
  }
}
@media (min-width: 1200px) {
  .tc_forum {
    grid-template-columns: auto minmax(0, 29.5rem);
    gap: 2rem
  }
}
.tc_forum_slide_title {
  font-size: .75rem;
  font-weight: var(--typo-weight-bold);
  color: transparent;
  line-height: 1.6
}
@media (min-width: 768px) {
  .tc_forum_slide_title {
    font-size: .875rem;
    font-weight: var(--typo-weight-medium)
  }
}
.tc_forum_slide_name_wrap {
  display: flex;
  gap: .5rem;
  flex-direction: column
}
@media (min-width: 768px) {
  .tc_forum_slide_name_wrap {
    flex-direction: row;
    row-gap: 1.5rem;
    column-gap: 2.75rem;
    flex-shrink: 0
  }
}
@media (min-width: 1024px) {
  .tc_forum_slide_name_wrap {
    column-gap: 4.25rem
  }
}
.tc_forum_slide_name {
  margin-left: .5rem
}
.tc_forum_slide_name>span {
  display: block;
  position: relative;
  padding-left: 1.5rem;
  font-size: .875rem;
  font-weight: var(--typo-weight-bold)
}
@media (min-width: 768px) {
  .tc_forum_slide_name>span {
    font-size: 1.25rem;
    font-weight: var(--typo-weight-medium)
  }
}
.tc_forum_slide_name>span:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: .9375rem;
  height: 1.25rem;
  clip-path: polygon(60% 0%, 100% 0%, 40% 100%, 0% 100%)
}
.tc_forum_slide_division {
  display: flex;
  flex-direction: column;
  font-size: .75rem;
  row-gap: .25rem
}
@media (min-width: 768px) {
  .tc_forum_slide_division {
    gap: .5rem;
    font-size: .75rem
  }
}
@media (min-width: 1200px) {
  .tc_forum_slide_division {
    max-width: 16.4375rem
  }
}
.tc_forum_slide_division_title {
  font-size: .75rem;
  font-weight: var(--typo-weight-bold)
}
.tc_forum_slide_division_group {
  display: inline-grid
}
.tc_forum_slide_division_group>span {
  font-size: .75rem
}
.forum_link {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  margin-top: 2rem
}
.forum_link._disabled>a {
  pointer-events: none;
  opacity: .5
}
.forum_link._disabled>span {
  font-family: var(--typo-font-en);
  font-size: 1.5rem;
  color: var(--color-white);
  text-transform: uppercase
}
.access_venue {
  margin-top: 1.5rem
}
@media (min-width: 768px) {
  .access_venue {
    margin-top: 0
  }
}
.access_venue>h3 {
  font-weight: var(--typo-weight-bold)
}
.venue_content_wrap {
  display: grid;
  grid-template-columns: 1fr;
  gap: 3rem;
  margin-top: 1.25rem
}
@media (min-width: 768px) {
  .venue_content_wrap {
    grid-template-columns: 1fr 1fr;
    gap: 4.5833333333vw
  }
}
@media (min-width: 1440px) {
  .venue_content_wrap {
    gap: 4.125rem
  }
}
.venue_map {
  max-width: 31.25rem;
  position: relative;
  margin-top: .75rem
}
@media (min-width: 768px) {
  .venue_map {
    max-width: revert
  }
}
.venue_map>button {
  position: absolute;
  bottom: .5rem;
  right: .5rem;
  width: 2.5rem;
  height: 2.5rem
}
.venue_name {
  margin-top: .5rem;
  font-weight: var(--typo-weight-bold);
  letter-spacing: var(--letter-spacing-base)
}
.venue_name>span {
  display: block;
  margin-top: .25rem;
  font-size: .875rem;
  font-weight: var(--typo-weight-regular);
  line-height: 2
}
.venue_address {
  margin-top: .25rem;
  font-size: .875rem;
  line-height: 1.5;
  letter-spacing: var(--letter-spacing-base)
}
.venue_tel, .venue_route {
  font-size: .875rem;
  line-height: 1.5;
  letter-spacing: var(--letter-spacing-base)
}
.special_benefits {
  margin-top: 1.5rem;
  line-height: 1.8;
  letter-spacing: var(--letter-spacing-base)
}
@container (900px < width) {
  .special_benefits {
    margin-top: 0
  }
}
.special_benefits_image_container {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: .5rem;
  margin-top: 1rem
}
@media (min-width: 768px) {
  .special_benefits_image_container {
    margin-top: 2rem
  }
}
.special_benefits_image {
  aspect-ratio: 112/64
}
@media (min-width: 768px) {
  .special_benefits_image {
    aspect-ratio: 235/160
  }
}
.special_benefits_image img {
  width: 100%;
  height: 100%;
  object-fit: cover
}
.special_benefits_note {
  margin-top: .25rem;
  text-align: right
}
@media (min-width: 768px) {
  .special_benefits_note {
    margin-top: .5rem
  }
}
.special_benefits_note:before {
  content: "※"
}