@charset "UTF-8";


/*---------------------------------------------------------------*\
$thanks
\*---------------------------------------------------------------*/

#thanks {
  margin: 100px auto 51px;
  gap: 20px;
}

#thanks .headline_thanks {
  font-size: 28px;
}

#thanks .description_thanks {
  font-size: 16px;
}


@media screen and (max-width: 600px) {

  #thanks {
    align-items: flex-start;
    margin: 50px auto 49px;
    width: calc((100% - 50px));
  }

  #thanks .headline_thanks {
    text-align: left;
    font-size: 18px;
  }

  #thanks .description_thanks {
    text-align: left;
  }
}



/*---------------------------------------------------------------*\
$finished_event
\*---------------------------------------------------------------*/

.finished {
  background-color: rgb(1 1 1 / 65%) !important;
}



/*---------------------------------------------------------------*\
$two columns
\*---------------------------------------------------------------*/

.two_columns {
  max-width: 1260px !important;
  align-items: normal;
}

.main {
  width: calc((100% - 387px + 70px));
  gap: 40px;
}

.form {
  width: 387px;
  padding: 0 16px;
  overflow: hidden;
  height: fit-content;
  position: relative;
  box-shadow: 0px 0px 34px rgba(0, 0, 0, .05);
}

.form iframe {
  width: 100% !important;
}


@media screen and (max-width: 1400px) {

  .two_columns {
    width: calc((100% - 50px));
  }
}


@media screen and (max-width: 1080px) {

  .two_columns {
    flex-direction: column;
  }

  .main {
    width: 100%;
  }

  .form {
    width: 100%;
    padding: 0;
    box-shadow: inherit;
    margin: 20px 0 0 0;
  }
}



/*---------------------------------------------------------------*\
$breadcrumb
\*---------------------------------------------------------------*/

.wrap_breadcrumbs {
  margin: 16px auto 0;
  max-width: 1000px;
}


@media screen and (max-width: 1080px) {

  .wrap_breadcrumbs {
    width: calc((100% - 50px)) !important;
  }
}



/*---------------------------------------------------------------*\
$block content elements
\*---------------------------------------------------------------*/

/* button */
.wp-block-button__link, .wp-element-button {
  font-size: 16px;
  border: solid 1px #0047BB;
  background-color: #fff;
  color: #0047BB;
}

/* headlines */
#article_body h2,
#article_body h2 strong {
  font-size: 26px;
  font-weight: bold;
}

#article_body h3,
#article_body h3 strong {
  font-size: 21px;
  font-weight: bold;
  border-bottom: solid 1px #ddd;
  padding: 0 0 24px 0;
}

#article_body h4,
#article_body h4 strong {
  font-size: 21px;
  font-weight: bold;
  display: flex;
  align-items: baseline;
  gap: 6px;
}

#article_body h4:before {
  content: '';
  display: flex;
  width: 18px;
  height: 18px;
  background-color: #222;
}

#article_body h5,
#article_body h5 strong {
  font-size: 21px;
  font-weight: bold;
}

/* list */
#article_body ul {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 16px;
}

#article_body ul li {
  position: relative;
  display: flex;
  align-items: baseline;
}

#article_body ul li:before {
  content: '・';
  display: flex;
  font-size: 16px;
  font-weight: bold;
  margin: 0 4px 0 0;
}

/* dropdown */
details.wp-block-details summary,
details.is-layout-flow summary,
details.wp-block-details-is-layout-flow summary {
  margin: 0 0 24px 0;
}

/* quote */
blockquote.wp-block-quote,
blockquote.is-layout-flow,
blockquote.wp-block-quote-is-layout-flow {
  background-color: #f7f7f7;
  padding: 20px 24px;
  width: 100%;
  position: relative;
}

blockquote.wp-block-quote:before,
blockquote.is-layout-flow:before,
blockquote.wp-block-quote-is-layout-flow:before {
  display: block;
  content: '"';
  position: absolute;
  top: 0;
  left: 0;
  font-size: 30px;
  font-style: italic;
  color: #888;
}

blockquote.wp-block-quote:after,
blockquote.is-layout-flow:after,
blockquote.wp-block-quote-is-layout-flow:after {
  display: block;
  content: '"';
  position: absolute;
  bottom: 0;
  right: 0;
  font-size: 30px;
  font-style: italic;
  color: #888;
}

blockquote.wp-block-quote cite,
blockquote.is-layout-flow cite,
blockquote.wp-block-quote-is-layout-flow cite {
  font-size: 14px;
  color: #888;
}

/* pullquote */
.wp-block-pullquote {
  padding: 40px 0;
  background-color: #f7f7f7;
}

.wp-block-pullquote blockquote {
  font-size: 17px;
  color: #888;
}

.wp-block-pullquote blockquote cite {
  font-size: 15px;
  color: #888;
}

/* sns link */
ul.wp-block-social-links,
ul.is-layout-flex,
ul.wp-block-social-links-is-layout-flex {
  flex-direction: row !important;
  gap: 12px !important;
}

ul.wp-block-social-links li,
ul.is-layout-flex li,
ul.wp-block-social-links-is-layout-flex li {
  display: block !important;
  width: 56px !important;
  height: 56px !important;
}

ul.wp-block-social-links li:before,
ul.is-layout-flex li:before,
ul.wp-block-social-links-is-layout-flex li:before {
  content: '' !important;
  display: inherit !important;
}

ul.wp-block-social-links li a,
ul.is-layout-flex li a,
ul.wp-block-social-links-is-layout-flex li a {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  height: 100% !important;
  padding: inherit !important;
}

ul.wp-block-social-links li a svg,
ul.is-layout-flex li a svg,
ul.wp-block-social-links-is-layout-flex li a svg {
  fill: #fff !important;
  font-size: 26px !important;
}



/* img+texts two column */
@media screen and (max-width: 600px) {

  .wp-block-media-text .wp-block-media-text__content {
    padding: 0;
  }

  .wp-block-media-text.is-stacked-on-mobile {
    gap: 16px;
  }
}


/* original list - blue */
ul.blue_background_list {
  width: 100%;
  background-color: #EEF4FF;
  border-radius: 10px;
  overflow: hidden;
  padding: 30px 40px;
}

ul.blue_background_list li {
  color: #0047BB;
  font-weight: 900;
  font-size: 16px;
}

ul.blue_background_list li:before {
  font-weight: 900 !important;
}


@media screen and (max-width: 600px) {

  ul.blue_background_list {
    padding: 20px;
  }
}


/* original list - gray */
ul.gray_background_list {
  width: 100%;
  background-color: #F4F4F4;
  border-radius: 10px;
  overflow: hidden;
  padding: 30px 40px;
}

ul.gray_background_list li {
  color: #222;
  font-weight: 900;
}

ul.gray_background_list li:before {
  font-weight: 900 !important;
}


@media screen and (max-width: 600px) {

  ul.gray_background_list {
    padding: 20px;
  }
}


/* image */
.wp-block-image img {
  border-radius: 20px;
  overflow: hidden;
}



/*---------------------------------------------------------------*\
$body
\*---------------------------------------------------------------*/

#article_body p,
#article_body li,
#article_body td,
#article_body summary,
#article_body .content p a,
#article_body .content p a span {
  font-size: 16px;
}

#article_body {
  max-width: 1000px;
  margin: 80px auto 72px;
  gap: 40px;
}

#article_body .wrap_info {
  gap: 15px;
}

#article_body .title {
  font-size: 28px;
  line-height: 1.4;
}

#article_body .date_posted {
  font-size: 18px;
}

/* content */
#article_body .content {
  gap: 40px;
}

#article_body .content p {
  line-height: 2;
}

#article_body .content p a,
#article_body .content p a span {
  color: #0047BB;
  text-decoration: underline;
  word-break: break-all;
}

#article_body img {
  border: solid 1px #e5e5e5;
}


@media screen and (max-width: 1080px) {

  #article_body {
    width: calc((100% - 50px));
  }
}


@media screen and (max-width: 600px) {

  #article_body {
    margin: 32px auto 143px;
  }

  #article_body .title {
    font-size: 18px;
  }

  #article_body .date_posted {
    font-size: 16px;
  }
}