@charset "UTF-8";

/* ================================================== */
/* base */
/* ================================================== */
@font-face {
  font-family: 'Material Icons';
  font-style: normal;
  font-weight: 400;
  src: url(https://example.com/MaterialIcons-Regular.eot); /* For IE6-8 */
  src: local('Material Icons'),
    local('MaterialIcons-Regular'),
    url(https://example.com/MaterialIcons-Regular.woff2) format('woff2'),
    url(https://example.com/MaterialIcons-Regular.woff) format('woff'),
    url(https://example.com/MaterialIcons-Regular.ttf) format('truetype');
}

html {
  font-size: 62.5%;
  height: 100%;
}

body {
  color: #12003B;
  font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', Helvetica,
  '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック','Yu Gothic',
  'Hiragino Kaku Gothic ProN','メイリオ', arial, Meiryo,
  'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
  -webkit-font-feature-settings: "pkna";
  font-feature-settings: "pkna";
  font-size: 1.6rem;
  font-weight: 400;
  height: 100%;
  line-height: 1.8;
  width: 100%;
}

img {
  vertical-align: top;
}

/* ================================================== */
/* background */
/* ================================================== */
.background_gradient_light {
  background-image: linear-gradient(to bottom, #FFFFFF, #E1DFE6);
}

.background_polygon_deep {
  background: url(../../images/2025/background_deep.jpg) no-repeat bottom center;
  background-attachment: fixed;
  background-size: cover;
}

.background_polygon_light {
  background: url(../../images/2025/background_light.jpg) no-repeat bottom center;
  background-attachment: fixed;
  background-size: cover;
}

/* ================================================== */
/* button */
/* ================================================== */
.button {
  background-color: transparent;
  border: none;
  border-radius: 0;
  cursor: auto;
  display: block;
  height: auto;
  padding: 0;
  text-align: left;
}

.button a,
.toggle a {
  line-height: 1.5;
}

.button a {
  background-color: #12003B;
  border-radius: 5rem;
  color: #ffffff;
  display: inline-block;
  font-size: 2.4rem;
  padding: 2rem 4rem;
}
.button a:hover {
  background-color: #8654ff;
  color: #ffffff;
  text-decoration: none;
}

.button_small a {
  font-size: 1.8rem;
  padding: 2rem;
}

.toggle {
  display: flex;
  margin: 0 1.5rem;
}

.toggle li:last-child::before {
  content: '|';
  font-weight: 300;
  margin: 0 .5rem;
}

.toggle li a {
  padding: .5rem;
}

.toggle .toggle_enable a {
  border-bottom: 3px solid #ffffff;
  color: #ffffff;
}
.toggle .toggle_enable a:hover {
  border-color: #8654ff;
}

@media screen and (max-width: 1023px) {
  .toggle li a {
    align-items: center;
    height: 48px;
  }
}

/* ================================================== */
/* cards */
/* ================================================== */
.cards {
  align-items: stretch;
  display: flex;
}

.cards_card {
  align-items: stretch;
  display: flex;
  flex: 1;
  flex-direction: column;
  margin-right: 4rem;
  overflow: hidden;
}

.cards_card:last-child {
  margin-right: 0;
}

.cards_card_content {
  background-color: #ffffff;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  padding: 4rem;
}

.cards-tickets {
  justify-content: center;
}
.cards-tickets .cards_card {
  border-radius: 0;
  box-shadow: 0px 2px 4px rgba(0, 0, 0, .2);
  margin-right: 1rem;
}
.cards-tickets .cards_card:last-child {
  margin-right: 0;
}

.cards-tickets .cards_card figure {
  position: relative;
}

.cards-tickets .cards_card figure img {
  max-height: 232px;
}

.cards-tickets .cards_card figure.sold-out::after {
  background: url(../../images/2024/tickets_sold-out.png) no-repeat center;
  background-size: cover;
  content: '';
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

.cards-tickets .cards_card_content {
  padding: 2rem 1.5rem;
}

.cards-tickets dl {
  line-height: 1.5;
}

.cards-tickets dl dt,
.cards-tickets dl dd {
  font-size: 1.4rem;
}

.cards-tickets dl dt {
  align-items: center;
  display: flex;
  flex-grow: 1;
  margin: 0;
}

.cards-tickets dl dt .trainer {
  font-weight: 400;
}

.cards-tickets dl .price {
  font-size: 2rem;
  font-weight: 800;
  margin: .5rem 0 0;
}

.cards-tickets dl .button {
  margin: 1rem 0 0;
}

.cards-tickets dl .button a,
.cards-tickets dl .button_disable {
  font-size: 1.4rem;
  padding: 1rem 1.5rem;
  text-align: center;
  width: 100%;
}

.cards-tickets dl .button_disable {
  border: 1px solid #12003B;
  border-radius: 5rem;
  color: #12003B;
  display: inline-block;
  font-weight: 800;
}

@media screen and (max-width: 767px) {
  .cards {
    flex-direction: column;
  }

  .cards_card {
    margin: 0 0 2rem;
  }
  .cards_card:last-child {
    margin: 0;
  }

  .cards-tickets .cards_card {
    margin: 0 0 2rem;
  }
  .cards-tickets .cards_card:last-child {
    margin: 0;
  }
}

/* ================================================== */
/* color */
/* ================================================== */
.bc_blue {
  background-color: #006DAC;
}

.bc_deep-purple {
  background-color: #12003B;
}

.bc_light-purple {
  background-color: #e1dfe6;
}

.bc_purple {
  background-color: #2B1B52;
}

.c_purple {
  color: #2B1B52;
}

.c_white {
  color: #ffffff;
}

.c_yellow {
  color: #FFE200;
}

/* ================================================== */
/* label */
/* ================================================== */
.label_content {
  border: 1px solid #12003B;
  color: #12003B;
  display: inline-block;
  font-size: 1.2rem;
  font-weight: 800;
  padding: .2rem .4rem;
}

.label_content-important,
.label_content-inprogress {
  color: #fff;
}

.label_content-important {
  background-color: #887F9C;
  border: 1px solid #887F9C;
}

.label_content-inprogress {
  background-color: #12003B;
}

.label_content-place {
  border: 1px solid #887F9C;
  color: #887F9C;
}

/* ================================================== */
/* layout */
/* ================================================== */
section {
  padding: 10rem 0;
}

.narrow-content {
  margin: 0 auto;
  max-width: 768px;
  width: 100%;
}

.group {
  margin-bottom: 5rem;
}
.group:last-child {
  margin-bottom: 0;
}

.group_group {
  margin-bottom: 4rem;
}
.group_group:last-child {
  margin-bottom: 0;
}

.group_group_group {
  margin-bottom: 3rem;
}
.group_group_group:last-child {
  margin-bottom: 0;
}

.layout_buttons {
  display: flex;
}

.layout_buttons .button {
  flex: 1;
  margin-right: 2rem;
}
.layout_buttons .button:last-child {
  margin-right: 0;
}

.layout_buttons .button a {
  width: 100%;
}

.layout_image-text,
.layout_text-image {
  display: flex;
}

.layout_image-text .layout_image-text_image,
.layout_text-image .layout_text-image_image {
  flex-shrink: 0;
  line-height: 0;
  max-width: 347px;
  width: 100%;
}

.layout_image-text .layout_image-text_image {
  margin-right: 5rem;
}

.layout_text-image .layout_text-image_image {
  margin-left: 5rem;
}

.layout_image-list_images {
  display: flex;
  width: 100%;
}

.layout_image-list_images_image {
  border-radius: 4rem;
  flex-grow: 1;
  margin-right: 4rem;
  overflow: hidden;
}
.layout_image-list_images_image:last-child {
  margin-right: 0;
}

.layout_image-list_images_image img {
  width: 100%;
}

.layout_image-list figcaption {
  display: flex;
  font-size: 1.6rem;
  margin: 1rem 0 0;
}
.layout_image-list figcaption::before {
  content: '▲';
  padding: 0 .5rem 0 0;
}

figure img.image-circle {
  border-radius: 20rem;
}

figure.banner img {
  border: 1px solid #e1dfe6;
}
figure.banner figcaption {
  margin-top: 1rem;
}

.responsive-image {
  margin: 0 auto;
  max-width: 347px;
  width: 100%;
}

.br_4 {
  border-radius: 4rem;
}

.d_block {
  display: block;
}

.d_none {
  display: none;
}

.ta_center {
  text-align: center;
}

.ws_nowrap {
  white-space: nowrap;
}

@media screen and (min-width: 1024px) {
  .container {
    margin: 0 auto;
    max-width: 1080px!important;
    padding: 0 1rem;
    width: 100%;
  }
}

@media screen and (max-width: 1023px) {
  .container {
    max-width: 768px;
    padding: 0 2rem;
  }

  .layout_image-text,
  .layout_text-image {
    align-items: center;
  }

  .layout_image-text {
    flex-direction: column;
  }

  .layout_text-image {
    flex-direction: column-reverse;
  }

  .layout_image-text .layout_image-text_image,
  .layout_text-image .layout_text-image_image {
    margin: 0 0 5rem;
  }
}

@media screen and (max-width: 767px) {
  .layout_buttons {
    flex-direction: column;
  }

  .layout_buttons .button {
    margin: 0 0 2rem;
  }
  .layout_buttons .button:last-child {
    margin: 0;
  }
  
  .layout_image-list_images {
    flex-direction: column;
  }

  .layout_image-list_images_image {
    margin: 0 0 2rem;
  }
  .layout_image-list_images_image:last-child {
    margin: 0;
  }
}

/* ================================================== */
/* list */
/* ================================================== */
dl dt {
  font-weight: 800;
  margin-bottom: 1rem;
}

ol > li {
  font-weight: 800;
  margin-top: 4rem;
}
ol li ul {
  margin-top: 1rem;
}
ol li ul li {
  font-weight: 400;
}

.list_disc li {
  list-style: disc inside;
  padding-left: 1.3em;
  text-indent: -1.3em;
}
.list_disc li ul li {
  list-style-type: circle;
}

.list_note {
  font-size: 1.4rem;
}

.list_note li {
  padding-left: 1.1em;
  text-indent: -1.1em;
}
.list_note li::before {
  content: '*';
  margin-right: .5rem;
}

/* ================================================== */
/* sponsors */
/* ================================================== */
.sponsors .group_group_group {
  margin-bottom: 1rem;
}
.sponsors .group_group_group:last-child {
  margin-bottom: 0;
}

.sponsors .sponsors_venue h3 {
  color: #5c39b2;
}
.sponsors .sponsors_venue h3::before,
.sponsors .sponsors_venue h3::after {
  background-color: #5c39b2;
}
.sponsors .sponsors_platinum h3 {
  color: #396ab2;
}
.sponsors .sponsors_platinum h3::before,
.sponsors .sponsors_platinum h3::after {
  background-color: #396ab2;
}
.sponsors .sponsors_gold h3 {
  color: #b29439;
}
.sponsors .sponsors_gold h3::before,
.sponsors .sponsors_gold h3::after {
  background-color: #b29439;
}
.sponsors .sponsors_silver h3 {
  color: #939393;
}
.sponsors .sponsors_silver h3::before,
.sponsors .sponsors_silver h3::after {
  background-color: #939393;
}
.sponsors .sponsors_service h3 {
  color: #39b288;
}
.sponsors .sponsors_service h3::before,
.sponsors .sponsors_service h3::after {
  background-color: #39b288;
}
.sponsors .sponsors_white h3 {
  color: #fff;
}
.sponsors .sponsors_white h3::before,
.sponsors .sponsors_white h3::after {
  background-color: #fff;
}

.sponsors .logos {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.sponsors .logos li {
  margin: 1rem;
}

.sponsors .logos li a:hover {
  opacity: 1;
}

.sponsors .logos-xlarge li {
  max-width: 510px; /* 2 */
}

.sponsors .logos-large li {
  max-width: 333px; /* 3 */
}

.sponsors .logos-medium li {
  max-width: 245px; /* 4 */
}

.sponsors .logos-small li {
  max-width: 192px; /* 5 */
}

.sponsors .logos figure {
  align-items: center;
  display: flex;
  flex-direction: column;
}

.sponsors .logos figure figcaption {
  font-size: 1.4rem;
  line-height: 1.5;
}

.sponsors .logos-none {
  flex-wrap: wrap;
  font-size: 1.4rem;
  justify-content: center;
  line-height: 1.5;
  margin-top: 3rem;
}

.sponsors .logos-none li {
  padding: 1rem;
}

.sponsors .cards .group_group {
  margin-bottom: 4rem;
}
.sponsors .cards .group_group:last-child {
  margin-bottom: 0;
}

.sponsors .video {
  margin: 0 auto;
  max-width: 560px;
  width: 100%;
}

.sponsors .video iframe {
  width: 100%;
}

@media screen and (max-width: 767px) {
  .sponsors .logos {
    flex-direction: column;
  }

  .sponsors .cards p.ta_center {
    text-align: left;
  }
}

/* ================================================== */
/* table */
/* ================================================== */
table {
  table-layout: fixed;
  width: 100%;
}

table th,
table td {
  border: 2px solid #2B1B52;
  line-height: 1.8;
}

table th {
  color: #ffffff;
  font-weight: 400;
}
table th.table_th {
  vertical-align: bottom;
}
table th.table_date {
  font-size: 1.6rem;
  text-align: center;
}
table th.table_time {
  font-size: 1.4rem;
  text-align: center;
  width: 100px;
}

table td {
  background-color: #ffffff;
  font-size: 1.6rem;
  font-weight: 800;
  padding: 1rem;
}
table td.table_special {
  background-color: #ecfff5;
  border: 4px solid #60dc9a;
}

.speaker {
  display: flex;
  margin-bottom: 2rem;
}
.speaker:last-child {
  margin-bottom: 0;
}

.speaker figure {
  flex-shrink: 0;
  line-height: 0;
  margin-right: .5rem;
}

.speaker figure img {
  border-radius: 4rem;
  width: 48px;
}

.speaker dl dt {
  font-size: 1.6rem;
  margin-bottom: 0;
}

.speaker dl dd {
  font-size: 1.4rem;
  font-weight: 400;
}

.speaker_sponsor figure {
  margin: 0;
  width: 100%;
}

.speaker_sponsor figure img {
  max-width: 280px;
  width: 100%;
}

.speaker_sponsor_circle figure {
  align-items: center;
  display: flex;
}
.speaker_sponsor_circle figure img:not(:last-child) {
  margin-right: 2rem;
}
.speaker_sponsor_circle figure img.circle-icon {
  border-radius: 4rem;
  width: 48px;
}

table td .table_content {
  align-items: flex-start;
  border-bottom: 1px solid #2B1B52;
  display: flex;
  justify-content: space-between;
  margin: 0 0 1rem;
  padding: 0 0 1rem;
}
table td .table_content:last-child {
  border-bottom: none;
  margin: 0;
  padding: 0;
}
table td .table_content .detail .label {
  margin: 0 0 1rem;
}
table td .table_content .detail dl dt {
  font-size: 2rem;
}
table td .table_content .detail dl dt:last-child {
  margin: 0;
}
table td .table_content .detail dl dd {
  font-size: 1.4rem;
  font-weight: 400;
  margin: 0 0 .5rem;
}
table td .table_content .detail dl dd:last-child {
  margin: 0;
}
table td .table_content .speaker {
  align-items: center;
  flex-shrink: 0;
  margin: 0 0 0 5rem;
  width: 348px;
}
table td .table_content .speaker dl {
  line-height: 1.5;
}
table td .table_content .speaker dl dt {
  font-size: 1.6rem;
}

table td.table_parallel {
  padding: 0;
}
table td.table_parallel .table_content {
  align-items: stretch;
  border-bottom: none;
  padding: 0;
}
table td.table_parallel .table_content .detail {
  border-right: 2px solid #2B1B52;
  display: flex;
  padding: 1rem;
}
table td.table_parallel .table_content .detail:last-child {
  border-right: none;
}
table td.table_parallel .table_content .detail dl {
  display: flex;
  flex-direction: column;
}
table td.table_parallel .table_content .detail dl dd {
  margin: 0;
}
table td.table_parallel .table_content .detail dl dd.session-description {
  flex-grow: 1;
}
table td.table_parallel .table_content .detail .speaker {
  margin: 0;
  width: 100%;
}
table td.table_parallel .table_content .detail .speaker figure {
  margin: 0 auto;
  max-width: 192px;
  width: 100%;
}
table td.table_parallel .table_content .detail .speaker figure img {
  border-radius: 0;
  width: 100%;
}

@media screen and (max-width: 1023px) {
  .speaker figure img {
    width: 38px;
  }

  .speaker_sponsor figure img {
    width: 100%;
  }

  table td .table_content {
    flex-direction: column;
  }
  table td .table_content .speaker {
    margin: 2rem 0 0;
    width: 100%;
  }

  table td.table_parallel .table_content .detail {
    border-bottom: 2px solid #2B1B52;
    display: flex;
    padding: 1rem;
  }
  table td.table_parallel .table_content .detail:last-child {
    border-bottom: none;
  }
}

@media screen and (max-width: 767px) {
  .speaker_sponsor_circle figure {
    flex-direction: column;
  }

  .speaker_sponsor_circle figure img:not(:last-child) {
    margin-right: 0;
    margin-bottom: 1rem;
  }
}

/* ================================================== */
/* typography */
/* ================================================== */
a, h1, h2, h3, h4 {
  font-weight: 800;
}

a {
  color: #12003B;
}
a:hover {
  color: #8654ff;
}

h1, h2, h3 {
  line-height: 1.5;
}

h1 {
  font-size: 2rem;
}

h2 {
  font-size: 3.6rem;
}

h3 {
  font-size: 2.4rem;
}

.h2_small,
.h3_small {
  display: block;
}

.h2_small {
  font-size: 2.5rem;
}

.h3_small {
  font-size: 1.6rem;
}

.h3_border {
  align-items: center;
  color: #12003B;
  display: flex;
  text-align: center;
}

.h3_border::before,
.h3_border::after {
  background-color: #12003B;
  content: '';
  flex-grow: 1;
  height: 1px;
}

.h3_border::before {
  margin-right: 1rem;
}
.h3_border::after {
  margin-left: 1rem;
}

p {
  margin-bottom: 2rem;
}
p:last-child {
  margin-bottom: 0;
}

a.link-color-white {
  color: #ffffff;
}
a.link-color-white:hover {
  color: #8654ff;
}

.link-target-blank-icon::after {
  content: '\e89e';
  font-family: 'Material Icons';
  margin: 0;
}

.fs_small {
  font-size: 1.4rem;
}

.fw_bold {
  font-weight: 800;
}

.fw_normal {
  font-weight: 400;
}

.only-show-desktop {
  display: block;
}

.only-show-tablet {
  display: none;
}

@media screen and (max-width: 1023px) {
  .only-show-desktop {
    display: none;
  }

  .only-show-tablet {
    display: block;
  }
}

/* ================================================== */
/* video */
/* ================================================== */
.video-container {
  position: relative;
  width: 100%;
  padding-bottom: 56.25%; /* 16:9 の場合 (height / width * 100) */
  height: 0;
  overflow: hidden;
}

.video-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* ================================================== */
/* header */
/* ================================================== */
header {
  background-color: rgba(0,0,0,.9);
  font-size: 1.4rem;
  padding: 1rem;
  position: fixed;
  width: 100%;
  z-index: 8888;
}

header .container {
  padding: 0;
}

header #header_pc-and-tablet,
header #header_pc-and-tablet a {
  color: #ffffff;
}

header #header_pc-and-tablet {
  display: flex;
  justify-content: space-between;
}

header #header_pc-and-tablet a:hover {
  color: #8654ff;
}

header #header_pc-and-tablet .header_pc-and-tablet_left {
  flex-shrink: 0;
  line-height: 0;
}

header #header_pc-and-tablet .header_pc-and-tablet_left img {
  height: 48px;
}

header #header_pc-and-tablet .header_pc-and-tablet_right {
  align-items: center;
  display: flex;
  justify-content: end;
}

header #header_pc-and-tablet .header_pc-and-tablet_right .header_pc-and-tablet_right_text {
  display: flex;
  margin: 0 2rem;
}

header #header_pc-and-tablet .header_pc-and-tablet_right .header_pc-and-tablet_right_text li {
  margin-right: 2rem;
}
header #header_pc-and-tablet .header_pc-and-tablet_right .header_pc-and-tablet_right_text li:last-child {
  margin-right: 0;
}

header #header_mobile {
  display: none;
}

@media screen and (max-width: 1023px) {
  header {
    padding: 1rem 1rem 0;
  }

  header .container {
    padding: 0;
  }

  header #header_pc-and-tablet {
    display: none;
  }

  header #header_mobile,
  header #header_mobile a {
    color: #ffffff;
  }
  
  header #header_mobile {
    display: block;
  }

  header #header_mobile .header_mobile_top {
    align-items: center;
    display: flex;
    justify-content: space-between;
  }
  
  header #header_mobile .header_mobile_top img {
    height: 48px;
  }

  header #header_mobile .header_mobile_bottom {
    display: flex;
    justify-content: center;
    margin-top: 1rem;
  }

  header #header_mobile .header_mobile_bottom li a {
    align-items: center;
    display: flex;
    height: 48px;
    padding: 1rem;
  }
}

/* ================================================== */
/* footer */
/* ================================================== */
footer {
  border-top: 1px solid #EBEBEB;
  font-size: 1.4rem;
  padding: 2rem;
  text-align: center;
}

footer nav {
  margin-bottom: .5rem;
}

footer nav ul {
  display: flex;
  justify-content: center;
}

footer nav ul li {
  margin-right: 2rem;
}
footer nav ul li:last-child {
  margin-right: 0;
}