@charset "UTF-8";
/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  text-decoration: underline dotted;
  /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type=checkbox],
[type=radio] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

/**
 * 変数
 */
/**
* 画面の高さを基準としたフォントサイズのclamp関数を返す
* 最小フォントサイズと最大フォントサイズ、可変にする画面の高さの範囲を指定
* 例）m-fontsize__h(12, 24, 480, 768) とした場合、
* 　　高さ480px以下は12px、768px以上は24px、480～768pxの間は可変となる。
* 　　font-size: clamp(12px, -8px + 0.0417 * 100vw, 24px);
*
* @param  $minSize    最小フォントサイズ
* @param  $maxSize    最大フォントサイズ
* @param  $minHeight  フォントサイズを可変にする画面サイズの範囲（開始）
* @param  $maxHeight  フォントサイズを可変にする画面サイズの範囲（終了）
* @return clamp(最小値, 基準値, 最大値)　
*/
/**
* 画面の幅を基準としたフォントサイズのclamp関数を返す
* 最小フォントサイズと最大フォントサイズ、可変にする画面幅の範囲を指定
* 例）m-fontsize__w(12, 24, 480, 768) とした場合、
* 　　幅480px以下は12px、768px以上は24px、480～768pxの間は可変となる。
* 　　font-size: clamp(12px, -8px + 0.0417 * 100vw, 24px);
*
* @param  $minSize    最小フォントサイズ
* @param  $maxSize    最大フォントサイズ
* @param  $minWidth   フォントサイズを可変にする画面サイズの範囲（開始）
* @param  $maxWidth   フォントサイズを可変にする画面サイズの範囲（終了）
* @return clamp(最小値, 基準値, 最大値)　
*/
/**
* 2つの数値からパーセンテージを求める（小数点第一位以下四捨五入）
*
* @param  $num  数値1
* @param  $max  数値2
* @return 数値2を100%とした場合の数値1の割合
*/
/**
* 値から単位を取り除く
*
* @param  $num  値
* @return 数値
*/
html, body, h1, h2, h3, h4, h5, h6, ul, ol, dl, li, dt, dd, p, div, span, a, em {
  font-weight: 400;
  font-family: "Noto Sans JP", serif;
  color: #023034;
  line-height: 1.6;
  position: relative;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-size: 16px;
}

li {
  list-style: none;
}

a {
  text-decoration: none;
}

img {
  display: block;
  image-rendering: -webkit-optimize-contrast;
}

figure {
  margin: 0;
}

/**
 * 共通
 */
.grecaptcha-badge {
  visibility: hidden;
}

.l-wrapper {
  width: 100%;
  position: relative;
  background-color: #fff;
/*   background-image: url(../img/common/img_header.webp); */
  background-position: top center;
  background-size: 1580px auto;
  background-repeat: no-repeat;
}
@media screen and (max-width: 1024px) {
  .l-wrapper {
    background: none;
  }
}
.l-wrapper.--underlayer {
  background: none;
}
@media screen and (min-width: 1024px) {
  .l-wrapper.--fixed-header {
    margin-top: 145px;
  }
}
.l-wrapper.--deactivate {
  height: 100vh;
  overflow: hidden;
}
.l-wrapper > article {
  width: 100%;
}
.l-wrapper > article .l-section__inner {
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
  padding: 50px 0;
  box-sizing: border-box;
}
@media screen and (max-width: 1200px) {
  .l-wrapper > article .l-section__inner {
    width: calc(100% - 80px);
  }
}
@media screen and (max-width: 1024px) {
  .l-wrapper > article .l-section__inner {
    width: calc(100% - 60px);
  }
}
@media screen and (max-width: 768px) {
  .l-wrapper > article .l-section__inner {
    width: calc(100% - 40px);
    padding: 30px 0;
  }
}

/**
 * 下層ページのヘッダ
 * 使用しているページ : ポイントランキング、ギャラリー
 */
.l-subheader {
  width: 100%;
  height: 322px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

/**
 * 新着情報
 * 使用しているページ : トップトップページ、各大会トップページ
 */
.l-news .l-news__wrapper {
  width: 1088px;
  margin: auto;
}
@media screen and (max-width: 1170px) {
  .l-news .l-news__wrapper {
    width: calc(100% - 40px);
  }
}
@media screen and (max-width: 600px) {
  .l-news .l-news__wrapper .l-news__container {
    padding: 30px 10px;
    background-color: #F2F2F2;
    border-radius: 10px;
  }
}
.l-news .l-news__wrapper .l-news__container .l-news__header {
  display: none;
}
@media screen and (max-width: 600px) {
  .l-news .l-news__wrapper .l-news__container .l-news__header {
    display: block;
  }
}
.l-news .l-news__wrapper .l-news__container .l-news__header h3 {
  font-size: 18px;
  font-weight: 600;
  letter-spacing: normal;
  line-height: 1.0555555556;
  color: #3190EF;
  margin-bottom: 20px;
}
@media screen and (max-width: 600px) {
  .l-news .l-news__wrapper .l-news__container .l-news__swiper {
    overflow: visible;
  }
}
.l-news .l-news__wrapper .l-news__container .l-news__swiper .l-news__swiper-wrapper {
  display: flex;
  align-items: stretch;
  transition: transform 0.5s ease-in-out;
}
@media screen and (max-width: 600px) {
  .l-news .l-news__wrapper .l-news__container .l-news__swiper .l-news__swiper-wrapper {
    border-top: 1px solid #E3E3E3;
    flex-wrap: wrap;
  }
}
.l-news .l-news__wrapper .l-news__container .l-news__swiper .l-news__swiper-wrapper .l-news__content {
  margin-right: 30px;
  height: auto;
}
@media screen and (max-width: 600px) {
  .l-news .l-news__wrapper .l-news__container .l-news__swiper .l-news__swiper-wrapper .l-news__content {
    padding: 12px;
    border-bottom: 1px solid #E3E3E3;
  }
}
@media screen and (max-width: 600px) {
  .l-news .l-news__wrapper .l-news__container .l-news__swiper .l-news__swiper-wrapper .l-news__content a {
    display: flex;
  }
}
.l-news .l-news__wrapper .l-news__container .l-news__swiper .l-news__swiper-wrapper .l-news__content a:hover figure img {
  opacity: 0.7;
}
.l-news .l-news__wrapper .l-news__container .l-news__swiper .l-news__swiper-wrapper .l-news__content a figure {
  aspect-ratio: 251/191;
  margin-bottom: 15px;
}
@media screen and (max-width: 600px) {
  .l-news .l-news__wrapper .l-news__container .l-news__swiper .l-news__swiper-wrapper .l-news__content a figure {
    width: 100px;
    margin-right: 12px;
  }
}
.l-news .l-news__wrapper .l-news__container .l-news__swiper .l-news__swiper-wrapper .l-news__content a figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 1;
  transition: opacity 0.3s ease-in-out;
}
@media screen and (max-width: 600px) {
  .l-news .l-news__wrapper .l-news__container .l-news__swiper .l-news__swiper-wrapper .l-news__content a div {
    width: calc(100% - 100px - 12px);
  }
}
.l-news .l-news__wrapper .l-news__container .l-news__swiper .l-news__swiper-wrapper .l-news__content a div time {
  font-family: "Barlow Condensed", serif;
  font-weight: 400;
  font-size: 14px;
  font-style: normal;
  letter-spacing: -0.001em;
  line-height: 2.3571428571;
}
@media screen and (max-width: 600px) {
  .l-news .l-news__wrapper .l-news__container .l-news__swiper .l-news__swiper-wrapper .l-news__content a div time {
    font-size: 12px;
    line-height: 2.75;
  }
}
.l-news .l-news__wrapper .l-news__container .l-news__swiper .l-news__swiper-wrapper .l-news__content a div p {
  margin-top: 10px;
  font-weight: 600;
  letter-spacing: -0.001em;
  line-height: 1.625;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  transition: color 0.2s ease-in-out;
}
@media screen and (max-width: 600px) {
  .l-news .l-news__wrapper .l-news__container .l-news__swiper .l-news__swiper-wrapper .l-news__content a div p {
    line-height: 1.375;
  }
}
.l-news .l-news__wrapper .l-news__container .l-news__nav {
  width: 852px;
  margin: 50px auto 0 auto;
  position: relative;
}
@media screen and (max-width: 1050px) {
  .l-news .l-news__wrapper .l-news__container .l-news__nav {
    width: calc(100% - 40px - 148px);
  }
}
@media screen and (max-width: 768px) {
  .l-news .l-news__wrapper .l-news__container .l-news__nav {
    margin-top: 30px;
  }
}
.l-news .l-news__wrapper .l-news__container .l-news__nav ul {
  display: flex;
  flex-wrap: wrap;
  height: 50px;
}
.l-news .l-news__wrapper .l-news__container .l-news__nav ul li {
  width: 50%;
  height: 50px;
  position: relative;
}
.l-news .l-news__wrapper .l-news__container .l-news__nav ul li.l-news__swiper-prev, .l-news .l-news__wrapper .l-news__container .l-news__nav ul li.l-news__swiper-next {
  transition: left 0.3s ease-in-out, right 0.3s ease-in-out;
  opacity: 1;
}
@media screen and (max-width: 600px) {
  .l-news .l-news__wrapper .l-news__container .l-news__nav ul li.l-news__swiper-prev, .l-news .l-news__wrapper .l-news__container .l-news__nav ul li.l-news__swiper-next {
    display: none;
  }
}
.l-news .l-news__wrapper .l-news__container .l-news__nav ul li.l-news__swiper-prev:hover, .l-news .l-news__wrapper .l-news__container .l-news__nav ul li.l-news__swiper-next:hover {
  opacity: 0.7;
}
.l-news .l-news__wrapper .l-news__container .l-news__nav ul li.l-news__swiper-prev::before, .l-news .l-news__wrapper .l-news__container .l-news__nav ul li.l-news__swiper-next::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  box-shadow: none;
  background: none;
}
.l-news .l-news__wrapper .l-news__container .l-news__nav ul li.l-news__swiper-prev::after, .l-news .l-news__wrapper .l-news__container .l-news__nav ul li.l-news__swiper-next::after {
  content: none;
}
.l-news .l-news__wrapper .l-news__container .l-news__nav ul li.l-news__swiper-prev a, .l-news .l-news__wrapper .l-news__container .l-news__nav ul li.l-news__swiper-next a {
  position: absolute;
  top: 0;
  transition: opacity 0.3s ease-in-out;
  opacity: 1;
}
@media screen and (max-width: 768px) {
  .l-news .l-news__wrapper .l-news__container .l-news__nav ul li.l-news__swiper-prev a, .l-news .l-news__wrapper .l-news__container .l-news__nav ul li.l-news__swiper-next a {
    width: 74px;
  }
}
.l-news .l-news__wrapper .l-news__container .l-news__nav ul li.l-news__swiper-prev a::before, .l-news .l-news__wrapper .l-news__container .l-news__nav ul li.l-news__swiper-next a::before {
  position: absolute;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 50px;
  font-family: "Barlow Condensed", serif;
  font-weight: 400;
  font-size: 22px;
  letter-spacing: -0.001em;
  line-height: 0.2268041237;
}
.l-news .l-news__wrapper .l-news__container .l-news__nav ul li.l-news__swiper-prev a:hover, .l-news .l-news__wrapper .l-news__container .l-news__nav ul li.l-news__swiper-next a:hover {
  opacity: 0.7;
}
.l-news .l-news__wrapper .l-news__container .l-news__nav ul li.l-news__swiper-prev a span, .l-news .l-news__wrapper .l-news__container .l-news__nav ul li.l-news__swiper-next a span {
  display: flex;
  width: 50px;
  height: 50px;
  position: absolute;
  top: 0;
}
.l-news .l-news__wrapper .l-news__container .l-news__nav ul li.l-news__swiper-prev a span::before, .l-news .l-news__wrapper .l-news__container .l-news__nav ul li.l-news__swiper-prev a span::after, .l-news .l-news__wrapper .l-news__container .l-news__nav ul li.l-news__swiper-next a span::before, .l-news .l-news__wrapper .l-news__container .l-news__nav ul li.l-news__swiper-next a span::after {
  content: "";
  position: absolute;
  top: -50%;
  bottom: -50%;
  margin: auto;
}
.l-news .l-news__wrapper .l-news__container .l-news__nav ul li.l-news__swiper-prev a span::before, .l-news .l-news__wrapper .l-news__container .l-news__nav ul li.l-news__swiper-next a span::before {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background-color: #fff;
  box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.35);
}
.l-news .l-news__wrapper .l-news__container .l-news__nav ul li.l-news__swiper-prev a span::after, .l-news .l-news__wrapper .l-news__container .l-news__nav ul li.l-news__swiper-next a span::after {
  width: 8px;
  height: 8px;
  border: 2px solid;
  border-color: transparent transparent #023034 #023034;
}
.l-news .l-news__wrapper .l-news__container .l-news__nav ul li.l-news__swiper-prev.swiper-button-disabled, .l-news .l-news__wrapper .l-news__container .l-news__nav ul li.l-news__swiper-next.swiper-button-disabled {
  visibility: hidden;
}
.l-news .l-news__wrapper .l-news__container .l-news__nav ul li.l-news__swiper-prev {
  left: -25px;
}
.l-news .l-news__wrapper .l-news__container .l-news__nav ul li.l-news__swiper-prev:hover {
  left: -30px;
}
.l-news .l-news__wrapper .l-news__container .l-news__nav ul li.l-news__swiper-prev a {
  left: 0;
}
.l-news .l-news__wrapper .l-news__container .l-news__nav ul li.l-news__swiper-prev a::before {
  content: "Preview";
  left: -74px;
  justify-content: flex-end;
}
.l-news .l-news__wrapper .l-news__container .l-news__nav ul li.l-news__swiper-prev a::after {
  transform: rotate(45deg);
  left: 22px;
}
.l-news .l-news__wrapper .l-news__container .l-news__nav ul li.l-news__swiper-prev a span {
  left: 0;
}
.l-news .l-news__wrapper .l-news__container .l-news__nav ul li.l-news__swiper-prev a span::after {
  transform: rotate(45deg);
  left: 22px;
}
.l-news .l-news__wrapper .l-news__container .l-news__nav ul li.l-news__swiper-next {
  right: -25px;
}
.l-news .l-news__wrapper .l-news__container .l-news__nav ul li.l-news__swiper-next:hover {
  right: -30px;
}
.l-news .l-news__wrapper .l-news__container .l-news__nav ul li.l-news__swiper-next a {
  right: 0;
}
.l-news .l-news__wrapper .l-news__container .l-news__nav ul li.l-news__swiper-next a::before {
  content: "Next";
  right: -74px;
  justify-content: flex-start;
}
.l-news .l-news__wrapper .l-news__container .l-news__nav ul li.l-news__swiper-next a::after {
  transform: rotate(-135deg);
  right: 22px;
}
.l-news .l-news__wrapper .l-news__container .l-news__nav ul li.l-news__swiper-next a span {
  right: 0;
}
.l-news .l-news__wrapper .l-news__container .l-news__nav ul li.l-news__swiper-next a span::after {
  transform: rotate(-135deg);
  right: 22px;
}
.l-news .l-news__wrapper .l-news__container .l-news__nav .l-news__tolist {
  position: absolute;
  top: 4px;
  left: -50%;
  right: -50%;
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 200px;
  width: 100%;
  height: 50px;
  margin: auto;
  font-size: 17px;
  font-weight: 600;
  line-height: 2.7058823529;
  color: #023034;
  background-color: #fff;
  border-radius: 25px;
  box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.35);
  transition: all 0.3s ease-in-out;
  opacity: 1;
}
@media screen and (max-width: 680px) {
  .l-news .l-news__wrapper .l-news__container .l-news__nav .l-news__tolist {
    top: 80px;
  }
}
@media screen and (max-width: 600px) {
  .l-news .l-news__wrapper .l-news__container .l-news__nav .l-news__tolist {
    top: 0;
  }
}
.l-news .l-news__wrapper .l-news__container .l-news__nav .l-news__tolist:hover {
  opacity: 0.7;
}

/**
 * エディター
 * 使用しているページ : 各大会トップページ、ポイントランキング、ギャラリー
 */
.l-content .l-content__wrapper {
  width: 900px;
  padding: 40px 0 60px 0;
  margin: auto;
}
@media screen and (max-width: 980px) {
  .l-content .l-content__wrapper {
    width: calc(100% - 40px);
  }
}
.l-content .l-content__wrapper > h3 {
  margin-top: 60px;
  padding: 20px 0;
  border-top: 1px solid #023034;
  text-align: center;
  font-size: 28px;
  line-height: 1.3214285714;
}
@media screen and (max-width: 768px) {
  .l-content .l-content__wrapper > h3 {
    /**
      * font-size … min:20px,max:28px
      * viewport … min:480px,max:768px
      */
    font-size: clamp(1.25rem, 0.417rem + 2.78vw, 1.75rem);
  }
}

/**
 * バナー（サイト内リンク）
 * 使用しているページ : トップトップページ、ポイントランキング、ギャラリー
 */
.l-banner {
  width: 100%;
  background-color: #fff;
}
.l-banner ul {
  display: flex;
  flex-wrap: wrap;
}
.l-banner ul li {
  display: flex;
}
@media screen and (max-width: 768px) {
  .l-banner ul li {
    width: 100%;
  }
}
.l-banner ul li:nth-of-type(1), .l-banner ul li:nth-of-type(2) {
  width: calc((100% - 4px) / 2);
  aspect-ratio: 683/300;
}
@media screen and (max-width: 768px) {
  .l-banner ul li:nth-of-type(1), .l-banner ul li:nth-of-type(2) {
    width: 100%;
  }
}
.l-banner ul li:nth-of-type(1) {
  margin-right: 4px;
}
@media screen and (max-width: 768px) {
  .l-banner ul li:nth-of-type(1) {
    margin-right: 0;
  }
}
@media screen and (max-width: 768px) {
  .l-banner ul li:nth-of-type(2) {
    margin-top: 4px;
  }
}
.l-banner ul li:nth-of-type(3) {
  margin-top: 4px;
  aspect-ratio: 1366/300;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .l-banner ul li:nth-of-type(3) {
    aspect-ratio: 683/300;
  }
}
.l-banner ul li:nth-of-type(1) a::before {
  background-color: rgba(0, 0, 0, 0.32);
}
.l-banner ul li:nth-of-type(2) a::before {
  background-color: rgba(0, 0, 0, 0.32);
}
.l-banner ul li:nth-of-type(3) a::before {
  background-color: rgba(0, 0, 0, 0.32);
  mix-blend-mode: multiply;
}
.l-banner ul li a {
  position: relative;
  display: flex;
  width: 100%;
  height: 100%;
}
.l-banner ul li a::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  transition: all 0.3s ease-in-out;
}
.l-banner ul li a figure {
  width: 100%;
  height: 100%;
}
.l-banner ul li a figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.l-banner ul li a .l-banner__wrapper {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  z-index: 2;
  transition: all 0.3s ease-in-out;
}
.l-banner ul li a .l-banner__wrapper .l-banner__inner {
  width: calc(100% - 260px);
  height: 90px;
  position: relative;
}
@media screen and (max-width: 1280px) {
  .l-banner ul li a .l-banner__wrapper .l-banner__inner {
    width: calc(100% - 160px);
  }
}
@media screen and (max-width: 940px) {
  .l-banner ul li a .l-banner__wrapper .l-banner__inner {
    width: calc(100% - 120px);
  }
}
@media screen and (max-width: 480px) {
  .l-banner ul li a .l-banner__wrapper .l-banner__inner {
    width: calc(100% - 80px);
  }
}
@media screen and (max-width: 400px) {
  .l-banner ul li a .l-banner__wrapper .l-banner__inner {
    width: calc(100% - 40px);
  }
}
.l-banner ul li a .l-banner__wrapper .l-banner__inner::before, .l-banner ul li a .l-banner__wrapper .l-banner__inner::after {
  content: "";
  position: absolute;
  top: -50%;
  bottom: -50%;
  margin: auto;
}
.l-banner ul li a .l-banner__wrapper .l-banner__inner::before {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background-color: #fff;
  box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.35);
  right: 0;
}
.l-banner ul li a .l-banner__wrapper .l-banner__inner::after {
  width: 8px;
  height: 8px;
  border: 2px solid;
  border-color: transparent transparent #023034 #023034;
  transform: rotate(-135deg);
  right: 22px;
}
.l-banner ul li a .l-banner__wrapper .l-banner__inner h2 {
  color: #fff;
  text-align: left;
  text-shadow: 0px 0px 16px rgba(0, 0, 0, 0.75);
}
@media screen and (max-width: 940px) {
  .l-banner ul li a .l-banner__wrapper .l-banner__inner h2 {
    font-size: 42px;
    line-height: 1.1904761905;
  }
}
@media screen and (max-width: 768px) {
  .l-banner ul li a .l-banner__wrapper .l-banner__inner h2 {
    font-size: clamp(2.625rem, 0.958rem + 5.56vw, 3.625rem);
    line-height: 1.2068965517;
  }
}
.l-banner ul li a .l-banner__wrapper .l-banner__inner h2 span {
  color: #fff;
  text-shadow: 0px 0px 16px rgba(0, 0, 0, 0.75);
}
@media screen and (max-width: 940px) {
  .l-banner ul li a .l-banner__wrapper .l-banner__inner h2 span {
    font-size: 17px;
    line-height: 1.9411764706;
  }
}
@media screen and (max-width: 768px) {
  .l-banner ul li a .l-banner__wrapper .l-banner__inner h2 span {
    font-size: clamp(1rem, 0.792rem + 0.69vw, 1.125rem);
    line-height: 1.3333333333;
  }
}

/**
 * レーススケジュール
 * 使用しているページ : 各大会トップページ、ポイントランキング、ギャラリー
 */
.l-schedule {
  padding: 40px 0;
  background-color: #023034;
}
.l-schedule h3 {
  font-size: 26px;
  color: #023034;
  line-height: 1.3461538462;
  color: #fff;
  text-align: center;
  margin-bottom: 20px;
}
.l-schedule .l-schedule__swiper .l-schedule__swiper-wrapper .l-schedule__slide {
  background-color: #fff;
  height: auto;
  border-right: 1px dashed #023034;
}
.l-schedule .l-schedule__swiper .l-schedule__swiper-wrapper .l-schedule__slide > a {
  display: block;
  width: 100%;
  height: 100%;
  transition: all 0.3s ease-in-out;
}
.l-schedule .l-schedule__swiper .l-schedule__swiper-wrapper .l-schedule__slide > a:hover {
  opacity: 0.7;
}
.l-schedule .l-schedule__swiper .l-schedule__swiper-wrapper .l-schedule__slide .l-schedule__header {
  display: flex;
  background-color: #EBEBEB;
  height: 80px;
}
.l-schedule .l-schedule__swiper .l-schedule__swiper-wrapper .l-schedule__slide .l-schedule__header img {
  margin: auto;
  max-width: 90%;
}
.l-schedule .l-schedule__swiper .l-schedule__swiper-wrapper .l-schedule__slide .l-schedule__content {
  position: relative;
  padding: 10px 0 70px 0;
  text-align: center;
}
.l-schedule .l-schedule__swiper .l-schedule__swiper-wrapper .l-schedule__slide .l-schedule__content time {
  display: inline-block;
  font-family: "Barlow Condensed", serif;
  font-weight: 600;
  font-style: normal;
  font-size: 17px;
  color: #023034;
  line-height: 1.1764705882;
}
.l-schedule .l-schedule__swiper .l-schedule__swiper-wrapper .l-schedule__slide .l-schedule__content time span {
  font-size: 14px;
  line-height: 1.4285714286;
  color: #023034;
  margin-left: 10px;
}
.l-schedule .l-schedule__swiper .l-schedule__swiper-wrapper .l-schedule__slide .l-schedule__content h4 {
  font-size: 12px;
  color: #023034;
  line-height: 1.25;
  margin-top: 7px;
  padding: 0 10px;
}
.l-schedule .l-schedule__swiper .l-schedule__swiper-wrapper .l-schedule__slide .l-schedule__open,
.l-schedule .l-schedule__swiper .l-schedule__swiper-wrapper .l-schedule__slide .l-schedule__end,
.l-schedule .l-schedule__swiper .l-schedule__swiper-wrapper .l-schedule__slide .l-schedule__entryclosed,
.l-schedule .l-schedule__swiper .l-schedule__swiper-wrapper .l-schedule__slide .l-schedule__closed {
  position: absolute;
  left: -50%;
  right: -50%;
  bottom: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(100% - 40px);
  height: 30px;
  margin: auto;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.0833333333;
  color: #fff;
  border-radius: 13px;
}
.l-schedule .l-schedule__swiper .l-schedule__swiper-wrapper .l-schedule__slide .l-schedule__open {
  background-color: #F54242;
}
.l-schedule .l-schedule__swiper .l-schedule__swiper-wrapper .l-schedule__slide .l-schedule__end {
  background-color: #707070;
}
.l-schedule .l-schedule__swiper .l-schedule__swiper-wrapper .l-schedule__slide .l-schedule__entryclosed {
  background-color: #336BB4;
}
.l-schedule .l-schedule__swiper .l-schedule__swiper-wrapper .l-schedule__slide .l-schedule__closed {
  background-color: #333D3E;
}

/**
 * 新着情報 - 詳細ページ用ナビゲーション
 * 使用しているページ : 全シリーズ用と各大会用の新着情報 - 詳細ページ
 */
.l-news-single-nav {
  width: 852px;
  margin: 50px auto 0 auto;
  position: relative;
}
@media screen and (max-width: 1050px) {
  .l-news-single-nav {
    width: calc(100% - 40px - 148px);
  }
}
@media screen and (max-width: 768px) {
  .l-news-single-nav {
    margin-top: 30px;
  }
}
.l-news-single-nav ul {
  display: flex;
  flex-wrap: wrap;
}
.l-news-single-nav ul li {
  width: 50%;
  height: 50px;
  position: relative;
}
.l-news-single-nav ul li.l-news-single-nav__prev a, .l-news-single-nav ul li.l-news-single-nav__next a {
  position: absolute;
  top: 0;
  transition: all 0.3s ease-in-out;
  opacity: 1;
}
@media screen and (max-width: 768px) {
  .l-news-single-nav ul li.l-news-single-nav__prev a, .l-news-single-nav ul li.l-news-single-nav__next a {
    width: 74px;
  }
}
.l-news-single-nav ul li.l-news-single-nav__prev a::before, .l-news-single-nav ul li.l-news-single-nav__next a::before {
  position: absolute;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 50px;
  font-family: "Barlow Condensed", serif;
  font-weight: 400;
  font-size: 22px;
  letter-spacing: -0.001em;
  line-height: 0.2268041237;
}
.l-news-single-nav ul li.l-news-single-nav__prev a:hover, .l-news-single-nav ul li.l-news-single-nav__next a:hover {
  opacity: 0.7;
}
.l-news-single-nav ul li.l-news-single-nav__prev a span, .l-news-single-nav ul li.l-news-single-nav__next a span {
  display: flex;
  width: 50px;
  height: 50px;
  position: absolute;
  top: 0;
}
.l-news-single-nav ul li.l-news-single-nav__prev a span::before, .l-news-single-nav ul li.l-news-single-nav__prev a span::after, .l-news-single-nav ul li.l-news-single-nav__next a span::before, .l-news-single-nav ul li.l-news-single-nav__next a span::after {
  content: "";
  position: absolute;
  top: -50%;
  bottom: -50%;
  margin: auto;
}
.l-news-single-nav ul li.l-news-single-nav__prev a span::before, .l-news-single-nav ul li.l-news-single-nav__next a span::before {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background-color: #fff;
  box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.35);
}
.l-news-single-nav ul li.l-news-single-nav__prev a span::after, .l-news-single-nav ul li.l-news-single-nav__next a span::after {
  width: 8px;
  height: 8px;
  border: 2px solid;
  border-color: transparent transparent #023034 #023034;
}
.l-news-single-nav ul li.l-news-single-nav__prev a {
  left: 0;
}
.l-news-single-nav ul li.l-news-single-nav__prev a:hover {
  left: -10px;
}
.l-news-single-nav ul li.l-news-single-nav__prev a::before {
  content: "Preview";
  left: -74px;
  justify-content: flex-end;
}
.l-news-single-nav ul li.l-news-single-nav__prev a span {
  left: 0;
}
.l-news-single-nav ul li.l-news-single-nav__prev a span::after {
  transform: rotate(45deg);
  left: 22px;
}
.l-news-single-nav ul li.l-news-single-nav__next a {
  right: 0;
}
.l-news-single-nav ul li.l-news-single-nav__next a:hover {
  right: -10px;
}
.l-news-single-nav ul li.l-news-single-nav__next a::before {
  content: "Next";
  right: -74px;
  justify-content: flex-start;
}
.l-news-single-nav ul li.l-news-single-nav__next a span {
  right: 0;
}
.l-news-single-nav ul li.l-news-single-nav__next a span::after {
  transform: rotate(-135deg);
  right: 22px;
}
.l-news-single-nav .l-news-single-nav__tolist {
  position: absolute;
  top: 0;
  left: -50%;
  right: -50%;
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 200px;
  width: 100%;
  height: 50px;
  margin: auto;
  font-size: 17px;
  font-weight: 600;
  line-height: 2.7058823529;
  color: #023034;
  border-radius: 25px;
  box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.35);
  transition: all 0.3s ease-in-out;
  opacity: 1;
}
@media screen and (max-width: 680px) {
  .l-news-single-nav .l-news-single-nav__tolist {
    top: 80px;
  }
}
.l-news-single-nav .l-news-single-nav__tolist:hover {
  opacity: 0.7;
}

.l-totop {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 80;
  cursor: pointer;
  transition: all 0.3s ease-in-out;
  display: flex;
  width: 50px;
  height: 50px;
  opacity: 1;
}
@media screen and (max-width: 480px) {
  .l-totop {
    bottom: 80px;
  }
}
.l-totop:hover {
  opacity: 0.7;
}
.l-totop::before, .l-totop::after {
  content: "";
  position: absolute;
  top: -50%;
  bottom: -50%;
  left: -50%;
  right: -50%;
  margin: auto;
}
.l-totop::before {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background-color: #fff;
  box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.35);
}
.l-totop::after {
  width: 8px;
  height: 8px;
  border: 2px solid;
  border-color: transparent transparent #023034 #023034;
  transform: rotate(135deg);
  bottom: -30px;
}

.l-sns {
  width: 230px;
  margin: 37px auto 0 auto;
  position: fixed;
  bottom: 20px;
  left: 20px;
  z-index: 80;
  transition: bottom 0.3s ease-in-out;
}
@media screen and (max-width: 480px) {
  .l-sns {
    width: 100%;
    height: 70px;
    background-color: rgba(255, 255, 255, 0.84);
    display: flex;
    align-items: center;
    justify-content: center;
    bottom: 0;
    left: 0;
  }
}
.l-sns.--hide {
  bottom: -80px;
}
.l-sns p {
  font-family: "Barlow Condensed", serif;
  font-weight: 400;
  font-size: 14px;
  font-style: italic;
  letter-spacing: 0.07em;
  line-height: 1.2142857143;
}
@media screen and (max-width: 480px) {
  .l-sns p {
    display: flex;
    align-items: center;
    width: 50px;
    height: 50px;
    margin-right: 10px;
  }
}
.l-sns p br {
  display: none;
}
@media screen and (max-width: 480px) {
  .l-sns p br {
    display: inline;
  }
}
.l-sns ul {
  display: flex;
  margin-top: 10px;
}
@media screen and (max-width: 480px) {
  .l-sns ul {
    margin-top: 0;
  }
}
.l-sns ul li {
  width: 50px;
  height: 50px;
  margin-right: 10px;
  border-radius: 50%;
  box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.16);
}
.l-sns ul li:last-child {
  margin-right: 0;
}
.l-sns ul li a {
  width: 100%;
  height: 100%;
}
.l-sns ul li a:hover img {
  opacity: 0.7;
}
.l-sns ul li a img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 1;
  transition: opacity 0.3s ease-in-out;
}

/**
 * ヘッダ
 */
.l-hd {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  width: 100%;
  height: 145px;
  transition: top 0.3s ease-in-out;
  position: relative;
  z-index: 20;
}
.l-hd.--fix {
  position: fixed;
}
.l-hd.--underlayer {
  position: sticky;
}
.l-hd.--fix, .l-hd.--underlayer {
  height: 63px;
  top: 0;
  left: 0;
  z-index: 20;
  background-color: #fff;
  box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.16);
}
@media screen and (max-width: 1024px) {
  .l-hd.--fix, .l-hd.--underlayer {
    /*position: relative;
    top: auto;*/
    height: 83px;
  }
}
@media screen and (max-width: 480px) {
  .l-hd.--fix, .l-hd.--underlayer {
    height: 75px;
  }
}
.l-hd.--fix .l-hd__inner, .l-hd.--underlayer .l-hd__inner {
  height: 46px;
}
@media screen and (max-width: 1024px) {
  .l-hd.--fix .l-hd__inner, .l-hd.--underlayer .l-hd__inner {
    justify-content: flex-start;
  }
}
@media screen and (max-width: 480px) {
  .l-hd.--fix .l-hd__inner, .l-hd.--underlayer .l-hd__inner {
    align-items: center;
  }
}
.l-hd.--fix .l-hd__inner > a img, .l-hd.--underlayer .l-hd__inner > a img {
  width: 173px;
  height: auto;
}
@media screen and (max-width: 1024px) {
  .l-hd.--fix .l-hd__inner > a img, .l-hd.--underlayer .l-hd__inner > a img {
    width: 150px;
    height: auto;
  }
}
@media screen and (max-width: 480px) {
  .l-hd.--fix .l-hd__inner > a img, .l-hd.--underlayer .l-hd__inner > a img {
    width: 100px;
  }
}
.l-hd .l-hd__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 1290px;
  height: 97px;
  margin: auto;
}
@media screen and (max-width: 1350px) {
  .l-hd .l-hd__inner {
    width: calc(100% - 40px);
  }
}
@media screen and (max-width: 1024px) {
  .l-hd .l-hd__inner {
    justify-content: center;
  }
}
@media screen and (max-width: 480px) {
  .l-hd .l-hd__inner {
    width: calc(100% - 20px);
    height: calc(100% - 20px);
    align-items: flex-end;
  }
}
.l-hd .l-hd__inner > a img {
  width: 294px;
  height: 97px;
  /*@media screen and (max-width: $switch3width){
    width: 256px;
  }*/
}
@media screen and (max-width: 1200px) {
  .l-hd .l-hd__inner > a img {
    width: 230px;
    height: auto;
  }
}
@media screen and (max-width: 410px) {
  .l-hd .l-hd__inner > a img {
    width: 230px;
  }
}
@media screen and (max-width: 1024px) {
  .l-hd .l-hd__inner nav {
    display: none;
  }
}
.l-hd .l-hd__inner nav > ul {
  display: flex;
}
.l-hd .l-hd__inner nav > ul > li {
  margin: 0 20px;
  position: relative;
}
@media screen and (max-width: 1200px) {
  .l-hd .l-hd__inner nav > ul > li {
    margin: 0 15px;
  }
}
@media screen and (max-width: 1100px) {
  .l-hd .l-hd__inner nav > ul > li {
    margin: 0 12px;
  }
}
.l-hd .l-hd__inner nav > ul > li:first-child {
  margin-left: 0;
}
.l-hd .l-hd__inner nav > ul > li:last-child {
  margin-right: 0;
}
.l-hd .l-hd__inner nav > ul > li:hover div {
  max-height: 100vh;
  padding: 20px;
}
.l-hd .l-hd__inner nav > ul > li > a, .l-hd .l-hd__inner nav > ul > li > span {
  transition: color 0.2s ease-in-out;
  cursor: pointer;
}
@media screen and (max-width: 1120px) {
  .l-hd .l-hd__inner nav > ul > li > a, .l-hd .l-hd__inner nav > ul > li > span {
    /**
      * font-size … min:15px,max:16px
      * viewport … min:1024px,max:1120px
      */
    font-size: clamp(0.938rem, 0.271rem + 1.04vw, 1rem);
  }
}
.l-hd .l-hd__inner nav > ul > li > a:hover, .l-hd .l-hd__inner nav > ul > li > span:hover {
  color: #B10000;
}
.l-hd .l-hd__inner nav > ul > li div {
  position: absolute;
  top: 34px;
  width: 340px;
  max-height: 0;
  padding: 0 20px;
  overflow: hidden;
  background-color: #B10000;
  transition: all 0.2s ease-in-out;
}
.l-hd .l-hd__inner nav > ul > li div p {
  font-weight: 600;
  font-size: 14px;
  letter-spacing: 0.03em;
  line-height: 2.2142857143;
  color: #fff;
}
.l-hd .l-hd__inner nav > ul > li div > a {
  font-weight: 300;
  font-size: 17px;
  letter-spacing: 0.03em;
  line-height: 1.8235294118;
  color: #fff;
  transition: color 0.2s ease-in-out;
}
.l-hd .l-hd__inner nav > ul > li div > a:hover {
  color: #FFF969;
}
.l-hd .l-hd__inner nav > ul > li div ul {
  margin-top: 12px;
  margin-bottom: 30px;
}
.l-hd .l-hd__inner nav > ul > li div ul li {
  margin-bottom: 12px;
  padding-left: 14px;
  position: relative;
}
.l-hd .l-hd__inner nav > ul > li div ul li::before {
  content: "";
  position: absolute;
  top: -50%;
  bottom: -50%;
  left: 0;
  width: 6px;
  height: 6px;
  margin: auto;
  border: 1px solid;
  transform: rotate(-135deg);
  border-color: transparent transparent #fff #fff;
}
.l-hd .l-hd__inner nav > ul > li div ul li a {
  font-weight: 300;
  letter-spacing: 0.03em;
  color: #fff;
  transition: color 0.2s ease-in-out;
}
.l-hd .l-hd__inner nav > ul > li div ul li a:hover {
  color: #FFF969;
}

/**
 * 大会ページ用サブナビ
 */
.l-hd__event {
  position: fixed;
  top: 63px;
  left: 0;
  z-index: 19;
  width: 100%;
  background-color: #333D3E;
}
@media screen and (max-width: 1024px) {
  .l-hd__event {
    position: static;
  }
}
.l-hd__event.--active nav {
  max-height: 200px;
}
@media screen and (max-width: 1024px) {
  .l-hd__event.--active nav {
    max-height: 0;
  }
}
.l-hd__event.--active nav ul li a::after {
  border-color: transparent transparent #023034 #023034;
}
.l-hd__event .l-hd__wrapper {
  display: flex;
}
.l-hd__event .l-hd__wrapper h1 {
  position: relative;
  width: 50%;
  height: 70px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding-left: 20px;
  background-color: #F54242;
  font-size: 23px;
  line-height: 1.1304347826;
  letter-spacing: 0.03em;
  color: #fff;
}
@media screen and (max-width: 1024px) {
  .l-hd__event .l-hd__wrapper h1 {
    width: 100%;
  }
}
@media screen and (max-width: 480px) {
  .l-hd__event .l-hd__wrapper h1 {
    /**
     * font-size … min:21px,max:23px
     * viewport … min:375px,max:480px
     */
    font-size: clamp(1.313rem, 0.866rem + 1.9vw, 1.438rem);
  }
}
.l-hd__event .l-hd__wrapper h1::after {
  content: "";
  width: 35px;
  height: 80px;
  background-color: #F54242;
  position: absolute;
  bottom: 35px;
  right: -35px;
  transform: skewY(-64deg);
}
@media screen and (max-width: 1024px) {
  .l-hd__event .l-hd__wrapper h1::after {
    content: none;
  }
}
.l-hd__event .l-hd__wrapper .l-nav__hamburger {
  display: block;
  background-color: #697C7E;
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 90;
  transition: all 0.4s ease;
}
@media screen and (max-width: 1024px) {
  .l-hd__event .l-hd__wrapper .l-nav__hamburger {
    background-color: #B10000;
    position: fixed;
    top: 10px;
    right: 138px;
  }
}
@media screen and (max-width: 480px) {
  .l-hd__event .l-hd__wrapper .l-nav__hamburger {
    right: 130px;
  }
}
.l-hd__event .l-hd__wrapper .l-nav__hamburger.--active {
  background-color: #697C7E;
  right: 10px;
  z-index: 110;
}
.l-hd__event .l-hd__wrapper .l-nav__hamburger::after {
  content: "大会情報メニュー";
  display: flex;
  align-items: center;
  justify-content: flex-end;
  width: 120px;
  height: 20px;
  position: absolute;
  top: -50%;
  bottom: -50%;
  left: -150px;
  margin: auto;
  font-size: 13px;
  line-height: 2;
  letter-spacing: 0.03em;
  color: #fff;
}
@media screen and (max-width: 1024px) {
  .l-hd__event .l-hd__wrapper .l-nav__hamburger::after {
    content: none;
  }
}
.l-hd__event nav {
  width: 1088px;
  margin: auto;
  max-height: 0;
  transition: max-height 0.3s ease-in-out;
}
@media screen and (max-width: 1170px) {
  .l-hd__event nav {
    width: calc(100% - 60px);
  }
}
.l-hd__event nav ul {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  padding: 27px 0 34px 0;
  visibility: hidden;
}
.l-hd__event nav ul li {
  width: calc((100% - 50px) / 6);
  margin-right: 10px;
  padding-bottom: 8px;
  border-bottom: 1px solid #fff;
}
.l-hd__event nav ul li:nth-of-type(6n) {
  margin-right: 0;
}
.l-hd__event nav ul li:nth-of-type(n + 7) {
  margin-top: 12px;
}
.l-hd__event nav ul li a {
  display: flex;
  width: 100%;
  position: relative;
  font-size: 14px;
  font-weight: 300;
  line-height: 1.4285714286;
  color: #fff;
  letter-spacing: 0.03em;
}
.l-hd__event nav ul li a::before, .l-hd__event nav ul li a::after {
  content: "";
  position: absolute;
  top: -50%;
  bottom: -50%;
  margin: auto;
}
.l-hd__event nav ul li a::before {
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background-color: #fff;
  right: 0;
}
.l-hd__event nav ul li a::after {
  width: 2.5px;
  height: 2.5px;
  border: 1px solid;
  border-color: transparent transparent transparent transparent;
  transform: rotate(-135deg);
  right: 6.5px;
}

/**
 * フッタ
 */
footer .l-ft__support .l-ft__wrapper {
  border-top: 1px solid #EBEBEB;
  width: 100%;
  padding: 40px 0;
}
@media screen and (max-width: 480px) {
  footer .l-ft__support .l-ft__wrapper {
    padding: 20px 0;
  }
}
footer .l-ft__support .l-ft__wrapper .l-ft__secondary,
footer .l-ft__support .l-ft__wrapper .l-ft__quaternary,
footer .l-ft__support .l-ft__wrapper .l-ft__quinary,
footer .l-ft__support .l-ft__wrapper .l-ft__tertiary {
  margin: auto;
  display: flex;
  flex-wrap: wrap;
}


/* ダイヤモンド */
footer .l-ft__support .l-ft__wrapper .l-ft__primary {
  width: 600px;
  margin: auto;
}
@media screen and (max-width: 540px) {
  footer .l-ft__support .l-ft__wrapper .l-ft__primary {
    width: 300px;
  }
}
@media screen and (max-width: 375px) {
  footer .l-ft__support .l-ft__wrapper .l-ft__primary {
    width: 280px;
  }
}
.p-sponsor.p-sponsor--series .p-sponsor__wrapper p,
footer .l-ft__support.--race-mode .l-ft__support.--other-mode .l-ft__wrapper p,
footer .l-ft__support.--top-mode .l-ft__wrapper p,
footer .l-ft__support .l-ft__wrapper .l-ft__primary p {
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Barlow Condensed", serif;
  font-weight: 500;
  font-style: italic;
  font-size: 19px;
  letter-spacing: 0.01em;
  line-height: 1.2105263158;
  margin: 0 auto 40px;
}
@media screen and (max-width: 540px) {
	.p-sponsor.p-sponsor--series .p-sponsor__wrapper p,
	footer .l-ft__support.--race-mode .l-ft__support.--other-mode .l-ft__wrapper p,
	footer .l-ft__support.--top-mode .l-ft__wrapper p,
  footer .l-ft__support .l-ft__wrapper .l-ft__primary p {
    font-size: 15px;
  }
}
footer .l-ft__support .l-ft__wrapper .l-ft__primary a {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: auto;
}
footer .l-ft__support .l-ft__wrapper .l-ft__primary a:nth-of-type(n + 2) {
  margin-top: 20px;
}
footer .l-ft__support .l-ft__wrapper .l-ft__primary a img {
  width: 100%;
  opacity: 1;
  transition: opacity 0.3s ease-in-out;
}
@media screen and (max-width: 540px) {
  footer .l-ft__support .l-ft__wrapper .l-ft__primary a img {
    width: 215px;
  }
}
@media screen and (max-width: 375px) {
  footer .l-ft__support .l-ft__wrapper .l-ft__primary a img {
    width: 200px;
  }
}
footer .l-ft__support .l-ft__wrapper .l-ft__primary a img:hover {
  opacity: 0.7;
}


/* プラチナ */
footer .l-ft__support .l-ft__wrapper .l-ft__secondary {
  width: 460px;
  margin: auto;
}
@media screen and (max-width: 540px) {
  footer .l-ft__support .l-ft__wrapper .l-ft__secondary {
    width: 300px;
  }
}
@media screen and (max-width: 375px) {
  footer .l-ft__support .l-ft__wrapper .l-ft__secondary {
    width: 280px;
  }
}
footer .l-ft__support .l-ft__wrapper .l-ft__secondary p {
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Barlow Condensed", serif;
  font-weight: 500;
  font-style: italic;
  font-size: 19px;
  letter-spacing: 0.01em;
  line-height: 1.2105263158;
}
@media screen and (max-width: 540px) {
  footer .l-ft__support .l-ft__wrapper .l-ft__secondary p {
    font-size: 15px;
  }
}
footer .l-ft__support .l-ft__wrapper .l-ft__secondary a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 460px;
  margin: auto;
}
footer .l-ft__support .l-ft__wrapper .l-ft__secondary a:nth-of-type(n + 2) {
  margin-top: 20px;
}
footer .l-ft__support .l-ft__wrapper .l-ft__secondary a img {
  width: 100%;
  opacity: 1;
  transition: opacity 0.3s ease-in-out;
}
@media screen and (max-width: 540px) {
  footer .l-ft__support .l-ft__wrapper .l-ft__secondary a img {
    width: 215px;
  }
}
@media screen and (max-width: 375px) {
  footer .l-ft__support .l-ft__wrapper .l-ft__secondary a img {
    width: 160px;
  }
}
footer .l-ft__support .l-ft__wrapper .l-ft__secondary a img:hover {
  opacity: 0.7;
}


/* ゴールド */
footer .l-ft__support .l-ft__wrapper .l-ft__tertiary {
  width: 900px;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
@media screen and (max-width: 600px) {
  footer .l-ft__support .l-ft__wrapper .l-ft__tertiary {
    width: calc(100% - 40px);
  }
}
footer .l-ft__support .l-ft__wrapper .l-ft__tertiary li {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  width: 48%;
}
footer .l-ft__support .l-ft__wrapper .l-ft__tertiary li:nth-of-type(2n) {
  margin-right: 0;
}
footer .l-ft__support .l-ft__wrapper .l-ft__tertiary li:nth-of-type(n + 2) {
  margin-top: 20px;
}
footer .l-ft__support .l-ft__wrapper .l-ft__tertiary li img {
  width: 100%;
  opacity: 1;
  transition: opacity 0.3s ease-in-out;
}
footer .l-ft__support .l-ft__wrapper .l-ft__tertiary li img:hover {
  opacity: 0.7;
}


/* シルバー */
footer .l-ft__support .l-ft__wrapper .l-ft__quaternary {
  width: 900px;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
@media screen and (max-width: 600px) {
  footer .l-ft__support .l-ft__wrapper .l-ft__quaternary {
    width: calc(100% - 40px);
  }
}
footer .l-ft__support .l-ft__wrapper .l-ft__quaternary li {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  width: 27%;
}
footer .l-ft__support .l-ft__wrapper .l-ft__quaternary li:nth-of-type(3n) {
  margin-right: 0;
}
footer .l-ft__support .l-ft__wrapper .l-ft__quaternary li:nth-of-type(n + 3) {
  margin-top: 20px;
}
footer .l-ft__support .l-ft__wrapper .l-ft__quaternary li img {
  width: 100%;
  opacity: 1;
  transition: opacity 0.3s ease-in-out;
}
footer .l-ft__support .l-ft__wrapper .l-ft__quaternary li img:hover {
  opacity: 0.7;
}


/* ブロンズ */
footer .l-ft__support .l-ft__wrapper .l-ft__quinary {
  width: 900px;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
@media screen and (max-width: 600px) {
  footer .l-ft__support .l-ft__wrapper .l-ft__quinary {
    width: calc(100% - 40px);
  }
}
footer .l-ft__support .l-ft__wrapper .l-ft__quinary li {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  width: 22%;
}
footer .l-ft__support .l-ft__wrapper .l-ft__quinary li:nth-of-type(4n) {
  margin-right: 0;
}
footer .l-ft__support .l-ft__wrapper .l-ft__quinary li:nth-of-type(n + 4) {
  margin-top: 20px;
}
footer .l-ft__support .l-ft__wrapper .l-ft__quinary li img {
  width: 100%;
  opacity: 1;
  transition: opacity 0.3s ease-in-out;
}
footer .l-ft__support .l-ft__wrapper .l-ft__quinary li img:hover {
  opacity: 0.7;
}






/* トップスポンサー */
footer .l-ft__support.--top-mode .l-ft__wrapper .l-ft__series_sponsor {
  width: 900px;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin: 0 auto;
}
@media screen and (max-width: 600px) {
  footer .l-ft__support.--top-mode .l-ft__wrapper .l-ft__series_sponsor {
    width: calc(100% - 40px);
  }
}
footer .l-ft__support.--top-mode .l-ft__wrapper .l-ft__series_sponsor li {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  width: 22%;
}
footer .l-ft__support.--top-mode .l-ft__wrapper .l-ft__series_sponsor li:nth-of-type(4n) {
  margin-right: 0;
}
footer .l-ft__support.--top-mode .l-ft__wrapper .l-ft__series_sponsor li:nth-of-type(n + 4) {
  margin-top: 20px;
}
footer .l-ft__support.--top-mode .l-ft__wrapper .l-ft__series_sponsor li img {
  width: 100%;
  opacity: 1;
  transition: opacity 0.3s ease-in-out;
}
footer .l-ft__support.--top-mode .l-ft__wrapper .l-ft__series_sponsor li img:hover {
  opacity: 0.7;
}


/* トップ以外スポンサー */
footer .l-ft__support.--other-mode .l-ft__wrapper .l-ft__series_sponsor {
  width: 900px;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  margin: 0 auto;
}
@media screen and (max-width: 600px) {
  footer .l-ft__support.--other-mode .l-ft__wrapper .l-ft__series_sponsor {
    width: calc(100% - 40px);
  }
}
footer .l-ft__support.--other-mode .l-ft__wrapper .l-ft__series_sponsor li {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  width: 24%;
}
footer .l-ft__support.--other-mode .l-ft__wrapper .l-ft__series_sponsor li:nth-of-type(4n) {
  margin-right: 0;
}
footer .l-ft__support.--other-mode .l-ft__wrapper .l-ft__series_sponsor li:nth-of-type(n + 4) {
  margin-top: 20px;
}
footer .l-ft__support.--other-mode .l-ft__wrapper .l-ft__series_sponsor li img {
	max-width: 200px;
  width: 100%;
  opacity: 1;
  transition: opacity 0.3s ease-in-out;
}
footer .l-ft__support.--other-mode .l-ft__wrapper .l-ft__series_sponsor li img:hover {
  opacity: 0.7;
}



/*

footer .l-ft__support .l-ft__wrapper .l-ft__tertiary {
  width: 720px;
}
@media screen and (max-width: 780px) {
  footer .l-ft__support .l-ft__wrapper .l-ft__tertiary {
    width: calc(100% - 40px);
  }
}
footer .l-ft__support .l-ft__wrapper .l-ft__tertiary li {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: calc((100% - 112px) / 5);
  margin-right: 28px;
}
@media screen and (max-width: 768px) {
  footer .l-ft__support .l-ft__wrapper .l-ft__tertiary li {
    width: calc((100% - 30px) / 4);
    margin-right: 10px;
  }
}
footer .l-ft__support .l-ft__wrapper .l-ft__tertiary li:nth-of-type(5n) {
  margin-right: 0;
}
@media screen and (max-width: 768px) {
  footer .l-ft__support .l-ft__wrapper .l-ft__tertiary li:nth-of-type(5n) {
    margin-right: 10px;
  }
}
@media screen and (max-width: 768px) {
  footer .l-ft__support .l-ft__wrapper .l-ft__tertiary li:nth-of-type(4n) {
    margin-right: 0;
  }
}
footer .l-ft__support .l-ft__wrapper .l-ft__tertiary li:nth-of-type(n + 6) {
  margin-top: 28px;
}
@media screen and (max-width: 768px) {
  footer .l-ft__support .l-ft__wrapper .l-ft__tertiary li:nth-of-type(n + 6) {
    margin-top: auto;
  }
}
@media screen and (max-width: 768px) {
  footer .l-ft__support .l-ft__wrapper .l-ft__tertiary li:nth-of-type(n + 5) {
    margin-top: 10px;
  }
}
footer .l-ft__support .l-ft__wrapper .l-ft__tertiary li img {
  width: 100%;
  opacity: 1;
  transition: opacity 0.3s ease-in-out;
}
footer .l-ft__support .l-ft__wrapper .l-ft__tertiary li img:hover {
  opacity: 0.7;
}
*/
footer .l-ft__inner {
  background-color: #F2F2F2;
}
footer .l-ft__inner .l-ft__nav {
  background-color: #023034;
  width: 100%;
  padding: 60px 0;
}
@media screen and (max-width: 1024px) {
  footer .l-ft__inner .l-ft__nav {
    padding: 40px 0;
  }
}
footer .l-ft__inner .l-ft__nav nav {
  margin: auto;
  width: calc(100% - 40px);
  max-width: 1088px;
  display: flex;
  flex-wrap: wrap;
}
@media screen and (max-width: 920px) {
  footer .l-ft__inner .l-ft__nav nav {
    padding: 0;
  }
}
footer .l-ft__inner .l-ft__nav nav .l-ft__menu,
footer .l-ft__inner .l-ft__nav nav .l-ft__race,
footer .l-ft__inner .l-ft__nav nav .l-ft__cycling {
  width: 33.3333333333%;
  padding: 10px;
  border-left: 1px solid #314041;
}
@media screen and (max-width: 1024px) {
  footer .l-ft__inner .l-ft__nav nav .l-ft__menu,
footer .l-ft__inner .l-ft__nav nav .l-ft__race,
footer .l-ft__inner .l-ft__nav nav .l-ft__cycling {
    padding: 30px 10px;
  }
}
@media screen and (max-width: 1024px) {
  footer .l-ft__inner .l-ft__nav nav .l-ft__menu,
footer .l-ft__inner .l-ft__nav nav .l-ft__race,
footer .l-ft__inner .l-ft__nav nav .l-ft__cycling {
    width: 100%;
    border-left: none;
    border-bottom: 1px solid #314041;
  }
}
footer .l-ft__inner .l-ft__nav nav .l-ft__menu li a,
footer .l-ft__inner .l-ft__nav nav .l-ft__race li a,
footer .l-ft__inner .l-ft__nav nav .l-ft__cycling li a {
  color: #fff;
  transition: color 0.2s ease-in-out;
}
footer .l-ft__inner .l-ft__nav nav .l-ft__menu li a:hover,
footer .l-ft__inner .l-ft__nav nav .l-ft__race li a:hover,
footer .l-ft__inner .l-ft__nav nav .l-ft__cycling li a:hover {
  color: #F54242;
}
footer .l-ft__inner .l-ft__nav nav .l-ft__menu > a,
footer .l-ft__inner .l-ft__nav nav .l-ft__race > a,
footer .l-ft__inner .l-ft__nav nav .l-ft__cycling > a {
  display: inline-block;
  font-size: 17px;
  font-weight: 300;
  line-height: 1.8235294118;
  letter-spacing: 0.03em;
  color: #fff;
}
footer .l-ft__inner .l-ft__nav nav .l-ft__menu li {
  margin-bottom: 30px;
}
footer .l-ft__inner .l-ft__nav nav .l-ft__menu li:last-child {
  margin-bottom: 0;
}
footer .l-ft__inner .l-ft__nav nav .l-ft__menu li a {
  font-size: 17px;
  font-weight: 300;
  line-height: 1.8235294118;
  letter-spacing: 0.03em;
}
footer .l-ft__inner .l-ft__nav nav .l-ft__race p,
footer .l-ft__inner .l-ft__nav nav .l-ft__cycling p {
  font-size: 14px;
  font-weight: 600;
  line-height: 2.2142857143;
  letter-spacing: 0.03em;
  color: #fff;
  margin-bottom: 12px;
}
footer .l-ft__inner .l-ft__nav nav .l-ft__race ul li,
footer .l-ft__inner .l-ft__nav nav .l-ft__cycling ul li {
  padding-left: 15px;
  margin-bottom: 10px;
  position: relative;
}
@media screen and (max-width: 1024px) {
  footer .l-ft__inner .l-ft__nav nav .l-ft__race ul li,
footer .l-ft__inner .l-ft__nav nav .l-ft__cycling ul li {
    margin-bottom: 30px;
  }
}
footer .l-ft__inner .l-ft__nav nav .l-ft__race ul li:last-child,
footer .l-ft__inner .l-ft__nav nav .l-ft__cycling ul li:last-child {
  margin-bottom: 0;
}
footer .l-ft__inner .l-ft__nav nav .l-ft__race ul li::before,
footer .l-ft__inner .l-ft__nav nav .l-ft__cycling ul li::before {
  content: "";
  width: 5px;
  height: 5px;
  border: 1px solid;
  border-color: transparent transparent #fff #fff;
  position: absolute;
  left: 0;
  top: -50%;
  bottom: -50%;
  margin: auto;
  transform: rotate(-135deg);
}
footer .l-ft__inner .l-ft__nav nav .l-ft__race ul li a,
footer .l-ft__inner .l-ft__nav nav .l-ft__cycling ul li a {
  font-weight: 300;
  line-height: 1.9375;
  letter-spacing: 0.03em;
}
footer .l-ft__inner .l-ft__nav nav .l-ft__cycling {
  border-right: 1px solid #314041;
}
@media screen and (max-width: 1024px) {
  footer .l-ft__inner .l-ft__nav nav .l-ft__cycling {
    border-right: none;
  }
}
footer .l-ft__inner .l-ft__nav nav .l-ft__cycling ul {
  margin-bottom: 40px;
}
footer .l-ft__inner .l-ft__bottom {
  padding: 24px 34px 60px 26px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 1024px) {
  footer .l-ft__inner .l-ft__bottom {
    display: block;
    padding: 40px;
  }
}
footer .l-ft__inner .l-ft__bottom .l-ft__container {
  display: flex;
  flex-wrap: wrap;
}
@media screen and (max-width: 1024px) {
  footer .l-ft__inner .l-ft__bottom .l-ft__container {
    width: 580px;
    margin: auto;
  }
}
@media screen and (max-width: 680px) {
  footer .l-ft__inner .l-ft__bottom .l-ft__container {
    display: block;
    width: 300px;
  }
}
footer .l-ft__inner .l-ft__bottom .l-ft__container > img {
  width: 376px;
  height: 128px;
}
@media screen and (max-width: 1100px) {
  footer .l-ft__inner .l-ft__bottom .l-ft__container > img {
    width: 300px;
    height: auto;
  }
}
@media screen and (max-width: 680px) {
  footer .l-ft__inner .l-ft__bottom .l-ft__container > img {
    margin: auto;
  }
}
footer .l-ft__inner .l-ft__bottom .l-ft__container .l-ft__sns {
  width: 230px;
  margin: 24px 0 0 40px;
  /*@media screen and (max-width: $switch3width){
    width: 100%;
    height: 70px;
    background-color: rgba(255, 255, 255, 0.84);
    display: flex;
    align-items: center;
    justify-content: center;
    bottom: 0;
    left: 0;
  }*/
}
@media screen and (max-width: 680px) {
  footer .l-ft__inner .l-ft__bottom .l-ft__container .l-ft__sns {
    margin: 24px auto 0 auto;
  }
}
footer .l-ft__inner .l-ft__bottom .l-ft__container .l-ft__sns p {
  font-family: "Barlow Condensed", serif;
  font-weight: 400;
  font-size: 14px;
  font-style: italic;
  letter-spacing: 0.07em;
  line-height: 1.2142857143;
  /*@media screen and (max-width: $switch3width){
    display: flex;
    align-items: center;
    width: 50px;
    height: 50px;
    margin-right: 10px;
  }*/
}
@media screen and (max-width: 680px) {
  footer .l-ft__inner .l-ft__bottom .l-ft__container .l-ft__sns p {
    text-align: center;
  }
}
footer .l-ft__inner .l-ft__bottom .l-ft__container .l-ft__sns ul {
  display: flex;
  margin-top: 10px;
}
@media screen and (max-width: 480px) {
  footer .l-ft__inner .l-ft__bottom .l-ft__container .l-ft__sns ul {
    margin-top: 0;
  }
}
footer .l-ft__inner .l-ft__bottom .l-ft__container .l-ft__sns ul li {
  width: 50px;
  height: 50px;
  margin-right: 10px;
  border-radius: 50%;
  box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.16);
}
footer .l-ft__inner .l-ft__bottom .l-ft__container .l-ft__sns ul li:last-child {
  margin-right: 0;
}
footer .l-ft__inner .l-ft__bottom .l-ft__container .l-ft__sns ul li a {
  width: 100%;
  height: 100%;
}
footer .l-ft__inner .l-ft__bottom .l-ft__container .l-ft__sns ul li a:hover img {
  opacity: 0.7;
}
footer .l-ft__inner .l-ft__bottom .l-ft__container .l-ft__sns ul li a img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 1;
  transition: opacity 0.3s ease-in-out;
}
footer .l-ft__inner .l-ft__bottom .l-ft__sponsor {
  width: 344px;
}
@media screen and (max-width: 1024px) {
  footer .l-ft__inner .l-ft__bottom .l-ft__sponsor {
    margin: 40px auto 0 auto;
  }
}
@media screen and (max-width: 680px) {
  footer .l-ft__inner .l-ft__bottom .l-ft__sponsor {
    margin-top: 24px;
  }
}
@media screen and (max-width: 440px) {
  footer .l-ft__inner .l-ft__bottom .l-ft__sponsor {
    width: 300px;
  }
}
footer .l-ft__inner .l-ft__bottom .l-ft__sponsor > ul {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  margin-bottom: 30px;
}
footer .l-ft__inner .l-ft__bottom .l-ft__sponsor > ul li {
  width: calc((100% - 20px) / 2);
}
footer .l-ft__inner .l-ft__bottom .l-ft__sponsor > ul li:first-child {
  margin-right: 20px;
}
footer .l-ft__inner .l-ft__bottom .l-ft__sponsor > ul li img {
  width: 100%;
  transition: opacity 0.3s ease-in-out;
  opacity: 1;
}
footer .l-ft__inner .l-ft__bottom .l-ft__sponsor > ul li img:hover {
  opacity: 0.7;
}
footer .l-ft__inner .l-ft__bottom .l-ft__sponsor > p {
  color: #023034;
  font-size: 11px;
  font-weight: 600;
  line-height: 2.8181818182;
  text-align: right;
  padding-right: 15px;
}
@media screen and (max-width: 1024px) {
  footer .l-ft__inner .l-ft__bottom .l-ft__sponsor > p {
    text-align: center;
  }
}

/**
 * ナビ
 */
.l-nav__hamburger {
  display: none;
  width: 50px;
  height: 50px;
  background-color: #023034;
  border-radius: 4px;
  transition: 0.2s ease 0.1s;
  position: fixed;
  top: 10px;
  right: 10px;
  z-index: 100;
  transform: matrix(1, 0, 0, 1, 0, 0);
  cursor: pointer;
}
@media screen and (max-width: 1024px) {
  .l-nav__hamburger {
    display: block;
  }
}
@media screen and (max-width: 1024px) {
  .l-nav__hamburger.--event {
    display: block;
    width: 118px;
  }
}
@media screen and (max-width: 480px) {
  .l-nav__hamburger.--event {
    width: 110px;
  }
}
.l-nav__hamburger.--event > p, .l-nav__hamburger.--event > p span {
  font-weight: 600;
  font-size: 12px;
  letter-spacing: 0.06em;
  line-height: 1.1666666667;
  color: #fff;
}
.l-nav__hamburger.--event > p {
  display: none;
  position: absolute;
  top: 10px;
  left: 10px;
}
@media screen and (max-width: 1024px) {
  .l-nav__hamburger.--event > p {
    display: block;
  }
}
.l-nav__hamburger.--active {
  background-color: #697C7E;
}
.l-nav__hamburger.--active > div .l-nav__border {
  transform: translateX(0);
  transition: top 0.1s ease-in-out, margin 0.2s cubic-bezier(0.36, 0, 0.59, 0.99) 0.3s, transform 0.25s ease 0s;
}
.l-nav__hamburger.--active > div .l-nav__border.l-nav__border--top {
  margin-top: 10px;
  transform: rotateZ(45deg);
  transition: margin 0.2s cubic-bezier(0.36, 0, 0.59, 0.99) 0.1s, transform 0.25s ease 0.36s;
}
.l-nav__hamburger.--active > div .l-nav__border.l-nav__border--middle {
  width: 1px;
  background-color: #023034;
  transform: rotateZ(-45deg);
  transition: transform 0.25s ease 0.36s, width 0.2s cubic-bezier(0.36, 0, 0.59, 0.99) 0.1s, background-color 0.2s cubic-bezier(0.36, 0, 0.59, 0.99) 0.1s;
}
.l-nav__hamburger.--active > div .l-nav__border.l-nav__border--bottom {
  margin-bottom: 10px;
  transform: rotateZ(-45deg);
  transition: margin 0.2s cubic-bezier(0.36, 0, 0.59, 0.99) 0.1s, transform 0.25s ease 0.36s;
}
.l-nav__hamburger > p {
  display: none;
}
.l-nav__hamburger > div {
  width: 31px;
  height: 20px;
  position: absolute;
  top: -50%;
  right: -50%;
  bottom: -50%;
  left: -50%;
  margin: auto;
}
@media screen and (max-width: 1024px) {
  .l-nav__hamburger > div {
    right: 10px;
    left: auto;
  }
}
.l-nav__hamburger > div .l-nav__border {
  display: block;
  width: 100%;
  height: 1px;
  background-color: #fff;
  position: absolute;
  left: 0;
  opacity: 1;
  transition: 0.2s ease 0.1s;
  z-index: 100;
}
.l-nav__hamburger > div .l-nav__border.l-nav__border--top {
  top: 0;
  transform: translateX(0);
  transition: top 0.1s ease-in-out, margin 0.2s cubic-bezier(0.36, 0, 0.59, 0.99) 0.3s, transform 0.25s ease 0s;
}
.l-nav__hamburger > div .l-nav__border.l-nav__border--middle {
  top: -50%;
  bottom: -50%;
  left: -50%;
  right: -50%;
  margin: auto;
  z-index: 100;
  transition: width 0.25s ease 0.36s, background-color 0.25s ease 0.36s, transform 0.25s ease 0.36s;
}
.l-nav__hamburger > div .l-nav__border.l-nav__border--bottom {
  bottom: 0;
  transform: translateX(0);
  transition: bottom 0.1s ease-in-out, margin 0.2s cubic-bezier(0.36, 0, 0.59, 0.99) 0.3s, transform 0.25s ease 0s;
}

/**
 * SPナビ
 */
.l-nav {
  display: none;
  opacity: 0;
  visibility: hidden;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 90;
  width: 100%;
  height: auto;
  background-color: #023034;
  transition: background-color 0.5s ease 0s, opacity 0.5s ease 0s;
}
.l-nav.--active {
  display: block;
  visibility: visible;
  opacity: 1;
}
.l-nav.--event {
  background-color: #B10000;
}
.l-nav nav {
  width: 100%;
  margin-top: 80px;
  position: relative;
}
.l-nav nav .l-nav__menu,
.l-nav nav .l-nav__event ul {
  padding: 0 35px;
  margin: auto;
}
.l-nav nav .l-nav__menu > li,
.l-nav nav .l-nav__event ul > li {
  text-align: center;
  padding: 25px 0;
}
.l-nav nav .l-nav__menu > li > a, .l-nav nav .l-nav__menu > li span,
.l-nav nav .l-nav__event ul > li > a,
.l-nav nav .l-nav__event ul > li span {
  font-size: 17px;
  font-weight: 600;
  line-height: 1.8421052632;
  color: #fff;
}
.l-nav nav .l-nav__menu > li > a br, .l-nav nav .l-nav__menu > li span br,
.l-nav nav .l-nav__event ul > li > a br,
.l-nav nav .l-nav__event ul > li span br {
  display: none;
}
@media screen and (max-width: 420px) {
  .l-nav nav .l-nav__menu > li > a br, .l-nav nav .l-nav__menu > li span br,
.l-nav nav .l-nav__event ul > li > a br,
.l-nav nav .l-nav__event ul > li span br {
    display: inline;
  }
}
.l-nav nav .l-nav__menu {
  padding-bottom: 20px;
}
.l-nav nav .l-nav__menu > li {
  border-top: 1px solid #EBEBEB;
}
.l-nav nav .l-nav__menu > li:first-child {
  border-top: 0;
}
.l-nav nav .l-nav__event.--race {
  background-color: #B10000;
}
.l-nav nav .l-nav__event.--race > p {
  color: #B10000;
}
.l-nav nav .l-nav__event.--cycling {
  background-color: #3190EF;
}
.l-nav nav .l-nav__event.--cycling > p {
  color: #3190EF;
}
.l-nav nav .l-nav__event ul {
  padding-top: 30px;
  padding-bottom: 60px;
}
.l-nav nav .l-nav__event ul > li {
  border-bottom: 1px solid #EBEBEB;
}
.l-nav nav .l-nav__event ul > li:first-child {
  border-top: 1px solid #EBEBEB;
}
.l-nav nav .l-nav__event > p {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 30px;
  background-color: #fff;
  font-size: 19px;
  font-weight: 600;
  line-height: 1.8421052632;
}
.l-nav nav > em {
  display: block;
  font-size: 21px;
  font-weight: 600;
  font-style: normal;
  line-height: 1.2380952381;
  letter-spacing: 0.03em;
  color: #fff;
  padding: 0 35px 60px 35px;
}
.l-nav > div {
  padding: 50px 0 60px 0;
  background-color: #fff;
}
.l-nav > div img {
  width: 256px;
  margin: auto;
}

/**
 * アンカータグ
 */
.c-a__button {
  width: 300px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 17px;
  font-weight: 600;
  line-height: 2.7058823529;
  color: #023034;
  background-color: #fff;
  border-radius: 25px;
  box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.35);
  transition: all 0.3s ease-in-out;
  opacity: 1;
}
.c-a__button:hover {
  opacity: 0.7;
}

/**
 * 改行
 */
.c-br__sitch1width__under {
  display: none;
}
@media screen and (max-width: 1024px) {
  .c-br__sitch1width__under {
    display: inline;
  }
}

.c-br__sitch1width__over {
  display: inline;
}
@media screen and (max-width: 1024px) {
  .c-br__sitch1width__over {
    display: none;
  }
}

.c-br__sitch2width__under {
  display: none;
}
@media screen and (max-width: 768px) {
  .c-br__sitch2width__under {
    display: inline;
  }
}

.c-br__sitch2width__over {
  display: inline;
}
@media screen and (max-width: 768px) {
  .c-br__sitch2width__over {
    display: none;
  }
}

.c-br__sitch3width__under {
  display: none;
}
@media screen and (max-width: 480px) {
  .c-br__sitch3width__under {
    display: inline;
  }
}

.c-br__sitch3width__over {
  display: inline;
}
@media screen and (max-width: 480px) {
  .c-br__sitch3width__over {
    display: none;
  }
}

/**
 * ボタン
 */
.c-btn__more {
  width: 113px;
  height: 40px;
  border: solid 1px #F54242;
  border-radius: 40px;
  font-size: clamp(12px, 4.8571428571px + 0.0119 * 100vw, 14px);
  font-weight: 700;
  letter-spacing: 0.09em;
  display: flex;
  gap: 0 15px;
  justify-content: center;
  align-items: center;
  position: relative;
  overflow: hidden;
  transition: 0.3s ease-in-out;
}
.c-btn__more::before {
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #F54242;
  display: block;
  position: absolute;
  top: 50%;
  left: -5px;
  z-index: -1;
  transform: translateY(-50%);
  transition: 0.3s ease-in-out;
}
@media screen and (max-width: 480px) {
  .c-btn__more::before {
    width: 8px;
    height: 8px;
  }
}
.c-btn__more::after {
  content: "";
  width: 100%;
  height: 100%;
  background-color: #fff;
  position: absolute;
  top: 0;
  z-index: -2;
}
.c-btn__more span {
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  transition: 0.3s ease;
}
.c-btn__more:hover {
  color: #fff;
}
.c-btn__more:hover::before {
  transform: translateY(-50%) scale(100);
}
@media screen and (max-width: 480px) {
  .c-btn__more.--reserve::before {
    background-color: #D00000;
  }
}
@media screen and (max-width: 480px) {
  .c-btn__more.--reserve::after {
    background-color: #F54242;
  }
}
.c-btn__more.--reserve span {
  width: 34px;
  height: 38px;
  background-image: url("../img/common/ico_calendar_black.svg");
}
@media screen and (max-width: 480px) {
  .c-btn__more.--reserve span {
    background-image: url("../img/common/ico_calendar_white.svg");
  }
}
.c-btn__more.--reserve:hover::before {
  background-color: #F54242;
}
@media screen and (max-width: 480px) {
  .c-btn__more.--reserve:hover::before {
    background-color: #D00000;
    transform: translateY(-50%) scale(150);
  }
}
.c-btn__more.--reserve:hover span {
  background-image: url("../img/common/ico_calendar_white.svg");
}
@media screen and (max-width: 480px) {
  .c-btn__more.--contact::before {
    background-color: #266000;
  }
}
@media screen and (max-width: 480px) {
  .c-btn__more.--contact::after {
    background-color: #F54242;
  }
}
.c-btn__more.--contact span {
  width: 38px;
  height: 25px;
  background-image: url("../img/common/ico_mail_black.svg");
}
@media screen and (max-width: 480px) {
  .c-btn__more.--contact span {
    background-image: url("../img/common/ico_mail_white.svg");
  }
}
.c-btn__more.--contact:hover::before {
  background-color: #F54242;
}
@media screen and (max-width: 480px) {
  .c-btn__more.--contact:hover::before {
    background-color: #266000;
    transform: translateY(-50%) scale(150);
  }
}
.c-btn__more.--contact:hover span {
  background-image: url("../img/common/ico_mail_white.svg");
}
@media screen and (max-width: 480px) {
  .c-btn__more.--line::before {
    background-color: #009048;
  }
}
@media screen and (max-width: 480px) {
  .c-btn__more.--line::after {
    background-color: #00C652;
  }
}
.c-btn__more.--line span {
  width: 38px;
  height: 38px;
  background-image: url("../img/common/ico_line.png");
}
@media screen and (max-width: 480px) {
  .c-btn__more.--line span {
    margin-left: -0.5em;
  }
}
.c-btn__more.--line:hover::before {
  background-color: #06C755;
}
@media screen and (max-width: 480px) {
  .c-btn__more.--line:hover::before {
    background-color: #009048;
    transform: translateY(-50%) scale(150);
  }
}

/**
 * フォーム
 */
/**
 * 見出し
 *
 * clamp関数の値を計算するサイト
 * https://min-max-calculator.9elements.com/
 */
.c-hd__subtitle {
  font-family: "Barlow Condensed", serif;
  font-weight: 500;
  font-style: italic;
  font-size: 58px;
  letter-spacing: 0.01em;
  line-height: 1.2068965517;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .c-hd__subtitle {
    /**
     * font-size … min:42px,max:58px
     * viewport … min:480px,max:768px
     */
    font-size: clamp(2.625rem, 0.958rem + 5.56vw, 3.625rem);
  }
}
.c-hd__subtitle span {
  display: block;
  font-family: "Noto Sans JP", serif;
  font-weight: 600;
  font-size: 18px;
  font-style: normal;
  line-height: 1.3333333333;
}
@media screen and (max-width: 768px) {
  .c-hd__subtitle span {
    /**
     * font-size … min:16px,max:18px
     * viewport … min:480px,max:768px
     */
    font-size: clamp(1rem, 0.792rem + 0.69vw, 1.125rem);
  }
}

/**
 * リスト
 */
.c-list {
  border-top: 1px dashed #171918;
}
.c-list .c-list__item {
  display: flex;
  gap: 30px;
  justify-content: space-between;
  padding: 20px 0;
  border-bottom: 1px dashed #171918;
}
.c-list .c-list__item .c-list__time {
  font-weight: 500;
  font-size: 12px;
}
.c-list .c-list__item .c-list__head {
  font-weight: 500;
  font-size: 16px;
}
@media screen and (max-width: 480px) {
  .c-list .c-list__item .c-list__head {
    font-size: 14px;
  }
}
.c-list .c-list__item .c-list__img {
  width: 170px;
  height: 108px;
  border-radius: 5px;
  overflow: hidden;
  flex-shrink: 0;
}
@media screen and (max-width: 480px) {
  .c-list .c-list__item .c-list__img {
    width: 86px;
    height: 89px;
  }
}
.c-list .c-list__item .c-list__img img {
  width: 100%;
  height: auto;
  aspect-ratio: 170/108;
  object-fit: cover;
}
@media screen and (max-width: 480px) {
  .c-list .c-list__item .c-list__img img {
    aspect-ratio: 86/89;
  }
}

/**
 * span
 */
/**
 * svg
 */
/**
 * テーブル
 */
/**
 * テキスト
 */
.c-txt__disc {
  padding-left: 16px;
  box-sizing: border-box;
  position: relative;
}
.c-txt__disc::before {
  content: "〇";
  width: 16px;
  height: 16px;
  position: absolute;
  top: 0;
  left: 0;
}

.c-txt__dott {
  padding-left: 16px;
  box-sizing: border-box;
  position: relative;
}
.c-txt__dott::before {
  content: "・";
  width: 16px;
  height: 16px;
  position: absolute;
  top: 0;
  left: 0;
}

.c-txt__kome {
  padding-left: 16px;
  box-sizing: border-box;
  position: relative;
}
.c-txt__kome::before {
  content: "※";
  width: 16px;
  height: 16px;
  position: absolute;
  top: 0;
  left: 0;
}

/**
 * 復興への想い
 *
 * clamp関数の値を計算するサイト
 * https://min-max-calculator.9elements.com/
 */
.p-about .p-about__subheader {
  display: flex;
  flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  .p-about .p-about__subheader {
    height: auto;
  }
}
.p-about .p-about__subheader div {
  width: 50%;
  height: 100%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
@media screen and (max-width: 768px) {
  .p-about .p-about__subheader div {
    width: 100%;
    aspect-ratio: 376/177;
  }
}
.p-about .p-about__subheader div:nth-of-type(1) {
  background-image: url(../img/about/img_header_01.webp);
}
.p-about .p-about__subheader div:nth-of-type(2) {
  background-image: url(../img/about/img_header_02.webp);
}
.p-about .p-about__hope {
  background-color: #FAFAFA;
  padding: 60px 0 160px 0;
}
.p-about .p-about__hope .p-about__wrapper {
  width: 900px;
  margin: auto;
}
@media screen and (max-width: 960px) {
  .p-about .p-about__hope .p-about__wrapper {
    width: calc(100% - 40px);
  }
}
.p-about .p-about__hope .p-about__wrapper h3 {
  font-weight: 700;
  font-size: 32px;
  line-height: 1.375;
  margin-bottom: 18px;
}
@media screen and (max-width: 768px) {
  .p-about .p-about__hope .p-about__wrapper h3 {
    /**
     * font-size … min:20px,max:32px
     * viewport … min:480px,max:768px
     */
    font-size: clamp(1.25rem, 4.17vw, 2rem);
    line-height: 1.4;
  }
}
.p-about .p-about__hope .p-about__wrapper p {
  font-size: 15px;
  line-height: 1.9333333333;
  letter-spacing: -0.001em;
}
.p-about .p-about__message {
  padding-top: 110px;
}
@media screen and (max-width: 700px) {
  .p-about .p-about__message {
    padding-top: 80px;
  }
}
.p-about .p-about__message .p-about__wrapper {
  width: 900px;
  margin: auto;
}
@media screen and (max-width: 980px) {
  .p-about .p-about__message .p-about__wrapper {
    width: calc(100% - 40px);
  }
}
.p-about .p-about__message .p-about__wrapper h2 {
  margin-bottom: 100px;
}
@media screen and (max-width: 700px) {
  .p-about .p-about__message .p-about__wrapper h2 {
    margin-bottom: 60px;
  }
}
.p-about .p-about__message .p-about__wrapper .p-about__inner {
  display: flex;
  flex-wrap: wrap;
  padding-bottom: 180px;
}
@media screen and (max-width: 480px) {
  .p-about .p-about__message .p-about__wrapper .p-about__inner {
    padding-bottom: 60px;
  }
}
.p-about .p-about__message .p-about__wrapper .p-about__inner:nth-of-type(2) {
  border-top: 1px solid #EBEBEB;
  padding-top: 100px;
}
@media screen and (max-width: 700px) {
  .p-about .p-about__message .p-about__wrapper .p-about__inner:nth-of-type(2) {
    padding-top: 80px;
  }
}
.p-about .p-about__message .p-about__wrapper .p-about__inner figure {
  width: 280px;
  margin-right: 60px;
}
@media screen and (max-width: 768px) {
  .p-about .p-about__message .p-about__wrapper .p-about__inner figure {
    margin: 0 auto 40px auto;
  }
}
@media screen and (max-width: 480px) {
  .p-about .p-about__message .p-about__wrapper .p-about__inner figure {
    width: 190px;
  }
}
.p-about .p-about__message .p-about__wrapper .p-about__inner figure img {
  width: 100%;
}
.p-about .p-about__message .p-about__wrapper .p-about__inner figure figcaption {
  padding: 20px;
  background-color: #EBEBEB;
  text-align: center;
}
.p-about .p-about__message .p-about__wrapper .p-about__inner figure figcaption h3 {
  font-size: 20px;
  font-weight: 600;
  line-height: 1.3;
}
.p-about .p-about__message .p-about__wrapper .p-about__inner figure figcaption h3 span {
  display: block;
  font-size: 17px;
  font-weight: 300;
  line-height: 1.5294117647;
  margin-bottom: 6px;
}
@media screen and (max-width: 700px) {
  .p-about .p-about__message .p-about__wrapper .p-about__inner figure figcaption h3 span {
    line-height: 1.2857142857;
    /**
    * font-size … min:14px,max:17px
    * viewport … min:375px,max:700px
    */
    font-size: clamp(0.875rem, 0.659rem + 0.92vw, 1.063rem);
  }
}
.p-about .p-about__message .p-about__wrapper .p-about__inner > div {
  width: calc(100% - 280px - 60px);
}
@media screen and (max-width: 768px) {
  .p-about .p-about__message .p-about__wrapper .p-about__inner > div {
    width: 100%;
  }
}
.p-about .p-about__message .p-about__wrapper .p-about__inner > div h3 {
  margin-bottom: 60px;
  font-size: 25px;
  line-height: 1.68;
}
@media screen and (max-width: 700px) {
  .p-about .p-about__message .p-about__wrapper .p-about__inner > div h3 {
    margin-bottom: 30px;
    line-height: 1.6;
    /**
    * font-size … min:20px,max:25px
    * viewport … min:375px,max:700px
    */
    font-size: clamp(1.25rem, 0.889rem + 1.54vw, 1.563rem);
  }
}
.p-about .p-about__message .p-about__wrapper .p-about__inner > div p {
  font-size: 17px;
  font-weight: 300;
  line-height: 2;
}
.p-about .p-about__series {
  background-color: #FAFAFA;
  padding: 100px 0 75px 0;
}
@media screen and (max-width: 700px) {
  .p-about .p-about__series {
    padding-top: 80px;
  }
}
@media screen and (max-width: 480px) {
  .p-about .p-about__series {
    padding-bottom: 60px;
  }
}
.p-about .p-about__series .p-about__wrapper {
  width: 900px;
  margin: auto;
}
@media screen and (max-width: 960px) {
  .p-about .p-about__series .p-about__wrapper {
    width: calc(100% - 40px);
  }
}
.p-about .p-about__series .p-about__wrapper h2 {
  margin-bottom: 100px;
}
@media screen and (max-width: 700px) {
  .p-about .p-about__series .p-about__wrapper h2 {
    margin-bottom: 40px;
  }
}
.p-about .p-about__series .p-about__wrapper h3 {
  font-size: 26px;
  line-height: 1.6153846154;
  text-align: center;
  margin-bottom: 100px;
}
@media screen and (max-width: 700px) {
  .p-about .p-about__series .p-about__wrapper h3 {
    margin-bottom: 30px;
    line-height: 1.6;
    /**
    * font-size … min:20px,max:26px
    * viewport … min:375px,max:700px
    */
    font-size: clamp(1.25rem, 0.817rem + 1.85vw, 1.625rem);
  }
}
.p-about .p-about__series .p-about__wrapper ul {
  display: flex;
  flex-wrap: wrap;
}
.p-about .p-about__series .p-about__wrapper ul li {
  display: flex;
  align-items: stretch;
  flex-flow: column;
  width: calc((100% - 28px) / 2);
  background-color: #F2F2F2;
}
@media screen and (max-width: 700px) {
  .p-about .p-about__series .p-about__wrapper ul li {
    width: 100%;
  }
}
.p-about .p-about__series .p-about__wrapper ul li:nth-of-type(2n) {
  margin-left: 28px;
}
@media screen and (max-width: 700px) {
  .p-about .p-about__series .p-about__wrapper ul li:nth-of-type(2n) {
    margin-left: 0;
  }
}
@media screen and (max-width: 700px) {
  .p-about .p-about__series .p-about__wrapper ul li:nth-of-type(2) {
    margin-top: 40px;
  }
}
.p-about .p-about__series .p-about__wrapper ul li:nth-of-type(n + 3) {
  margin-top: 100px;
}
@media screen and (max-width: 700px) {
  .p-about .p-about__series .p-about__wrapper ul li:nth-of-type(n + 3) {
    margin-top: 40px;
  }
}
.p-about .p-about__series .p-about__wrapper ul li figure {
  width: 100%;
  height: auto;
  position: relative;
  overflow: hidden;
}
.p-about .p-about__series .p-about__wrapper ul li figure::before {
  content: "";
  display: block;
  padding-top: 62%;
}
.p-about .p-about__series .p-about__wrapper ul li figure img {
  /*width: 100%;
  height: 100%;
  object-fit: cover;*/
  position: absolute;
  top: -50%;
  bottom: -50%;
  left: -50%;
  right: -50%;
  width: 120%;
  height: auto;
  margin: auto;
}
.p-about .p-about__series .p-about__wrapper ul li > div {
  display: flex;
  flex-grow: 1;
}
.p-about .p-about__series .p-about__wrapper ul li > div > div {
  position: relative;
  width: 100%;
  padding: 30px 20px 160px 20px;
}
@media screen and (max-width: 480px) {
  .p-about .p-about__series .p-about__wrapper ul li > div > div {
    padding-bottom: 130px;
  }
}
.p-about .p-about__series .p-about__wrapper ul li > div > div > span,
.p-about .p-about__series .p-about__wrapper ul li > div > div h4,
.p-about .p-about__series .p-about__wrapper ul li > div > div time {
  display: block;
  text-align: center;
}
.p-about .p-about__series .p-about__wrapper ul li > div > div > span {
  font-weight: 600;
  font-size: 18px;
  line-height: 1.4444444444;
}
.p-about .p-about__series .p-about__wrapper ul li > div > div h4 {
  font-size: 26px;
  line-height: 1;
  margin: 6px 0 10px 0;
}
@media screen and (max-width: 700px) {
  .p-about .p-about__series .p-about__wrapper ul li > div > div h4 {
    margin-bottom: 20px;
  }
}
@media screen and (max-width: 480px) {
  .p-about .p-about__series .p-about__wrapper ul li > div > div h4 {
    /**
    * font-size … min:22px,max:26px
    * viewport … min:375px,max:480px
    */
    font-size: clamp(1.375rem, 0.482rem + 3.81vw, 1.625rem);
  }
}
.p-about .p-about__series .p-about__wrapper ul li > div > div time {
  font-family: "Barlow Condensed", serif;
  font-weight: 600;
  font-size: 25px;
  font-style: normal;
  line-height: 1.2;
  color: #707070;
  margin-bottom: 20px;
}
@media screen and (max-width: 480px) {
  .p-about .p-about__series .p-about__wrapper ul li > div > div time {
    /**
    * font-size … min:21px,max:25px
    * viewport … min:375px,max:480px
    */
    font-size: clamp(1.313rem, 0.42rem + 3.81vw, 1.563rem);
  }
}
.p-about .p-about__series .p-about__wrapper ul li > div > div time span {
  font-family: "Barlow Condensed", serif;
  font-weight: 600;
  font-size: 25px;
  font-style: normal;
  line-height: 1.2;
  color: #707070;
}
@media screen and (max-width: 480px) {
  .p-about .p-about__series .p-about__wrapper ul li > div > div time span {
    /**
    * font-size … min:21px,max:25px
    * viewport … min:375px,max:480px
    */
    font-size: clamp(1.313rem, 0.42rem + 3.81vw, 1.563rem);
  }
}
.p-about .p-about__series .p-about__wrapper ul li > div > div p {
  font-weight: 300;
  line-height: 1.625;
}
.p-about .p-about__series .p-about__wrapper ul li > div > div a {
  position: absolute;
  bottom: 60px;
  left: -50%;
  right: -50%;
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 200px;
  width: 100%;
  height: 50px;
  margin: auto;
  font-size: 17px;
  font-weight: 600;
  line-height: 2.7058823529;
  color: #023034;
  border-radius: 25px;
  background-color: #fff;
  box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.35);
  transition: all 0.3s ease-in-out;
  opacity: 1;
}
@media screen and (max-width: 480px) {
  .p-about .p-about__series .p-about__wrapper ul li > div > div a {
    bottom: 40px;
  }
}
.p-about .p-about__series .p-about__wrapper ul li > div > div a:hover {
  opacity: 0.7;
}

/**
 * POST一覧ページ
 */
.wp-pagenavi {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  padding-bottom: 75px;
}
@media screen and (max-width: 480px) {
  .wp-pagenavi {
    padding-bottom: 86px;
  }
}
.wp-pagenavi a, .wp-pagenavi span {
  font-size: 22px;
  font-weight: 700;
}
.wp-pagenavi a.page-numbers::after, .wp-pagenavi span.page-numbers::after {
  content: ".";
  font-size: inherit;
  font-weight: inherit;
}
.wp-pagenavi a.page-numbers.lastpage::after, .wp-pagenavi span.page-numbers.lastpage::after {
  content: none;
}
.wp-pagenavi a.page-numbers.prev, .wp-pagenavi a.page-numbers.next, .wp-pagenavi span.page-numbers.prev, .wp-pagenavi span.page-numbers.next {
  font-size: clamp(12px, 8.4285714286px + 0.006 * 100vw, 13px);
  font-weight: 500;
}
@media screen and (max-width: 480px) {
  .wp-pagenavi a.page-numbers.prev, .wp-pagenavi a.page-numbers.next, .wp-pagenavi span.page-numbers.prev, .wp-pagenavi span.page-numbers.next {
    position: absolute;
    bottom: 40px;
  }
}
.wp-pagenavi a.page-numbers.prev::after, .wp-pagenavi a.page-numbers.next::after, .wp-pagenavi span.page-numbers.prev::after, .wp-pagenavi span.page-numbers.next::after {
  content: "";
  width: 38px;
  height: 38px;
  border: solid 2px #F54242;
  border-radius: 50%;
  display: block;
}
.wp-pagenavi a.page-numbers.prev em, .wp-pagenavi a.page-numbers.next em, .wp-pagenavi span.page-numbers.prev em, .wp-pagenavi span.page-numbers.next em {
  font-size: clamp(12px, -2.2857142857px + 0.0238 * 100vw, 16px);
  font-style: normal;
  color: #747474;
}
.wp-pagenavi a.page-numbers.prev, .wp-pagenavi span.page-numbers.prev {
  padding-right: 50px;
  margin-right: 40px;
  text-align: right;
}
@media screen and (max-width: 480px) {
  .wp-pagenavi a.page-numbers.prev, .wp-pagenavi span.page-numbers.prev {
    left: calc(50% - 130px);
  }
}
.wp-pagenavi a.page-numbers.prev::before, .wp-pagenavi span.page-numbers.prev::before {
  content: "";
  width: 15px;
  height: 15px;
  background-image: url("../img/common/img_pagenavi.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: block;
  position: absolute;
  top: 50%;
  right: 14px;
  transform: translateY(-50%) scale(-1, 1);
}
.wp-pagenavi a.page-numbers.prev::after, .wp-pagenavi span.page-numbers.prev::after {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
.wp-pagenavi a.page-numbers.next, .wp-pagenavi span.page-numbers.next {
  padding-left: 50px;
  margin-left: 40px;
}
@media screen and (max-width: 480px) {
  .wp-pagenavi a.page-numbers.next, .wp-pagenavi span.page-numbers.next {
    right: calc(50% - 130px);
  }
}
.wp-pagenavi a.page-numbers.next::before, .wp-pagenavi span.page-numbers.next::before {
  content: "";
  width: 15px;
  height: 15px;
  background-image: url("../img/common/img_pagenavi.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: block;
  position: absolute;
  top: 50%;
  left: 14px;
  transform: translateY(-50%);
}
.wp-pagenavi a.page-numbers.next::after, .wp-pagenavi span.page-numbers.next::after {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
.wp-pagenavi span.current {
  color: #8FD014;
  font-size: 28px;
}

/**
 * お問い合わせ
 *
 * clamp関数の値を計算するサイト
 * https://min-max-calculator.9elements.com/
 */
.p-contact.--send .p-contact__wrapper .p-contact__header {
  padding-bottom: 100px;
}
.p-contact.--send .p-contact__wrapper .p-contact__header .p-contact__message {
  text-align: center;
  padding: 48px 0;
  border-top: 1px solid #707070;
  border-bottom: 1px solid #707070;
}
.p-contact.--send .p-contact__wrapper .p-contact__header .p-contact__message h2 {
  font-size: 30px;
  font-weight: 600;
  margin-bottom: 42px;
}
@media screen and (max-width: 600px) {
  .p-contact.--send .p-contact__wrapper .p-contact__header .p-contact__message h2 {
    font-size: 22px;
  }
}
@media screen and (max-width: 480px) {
  .p-contact.--send .p-contact__wrapper .p-contact__header .p-contact__message h2 {
    font-size: 18px;
  }
}
@media screen and (max-width: 375px) {
  .p-contact.--send .p-contact__wrapper .p-contact__header .p-contact__message h2 {
    font-size: 17px;
  }
}
.p-contact.--send .p-contact__wrapper .p-contact__header .p-contact__message p {
  font-size: 15px;
  line-height: 2.4666666667;
  margin-bottom: 40px;
}
@media screen and (max-width: 480px) {
  .p-contact.--send .p-contact__wrapper .p-contact__header .p-contact__message p {
    text-align: left;
  }
}
.p-contact.--send .p-contact__wrapper .p-contact__header .p-contact__message address {
  display: block;
  font-size: 15px;
  font-style: normal;
  line-height: 1.8;
  margin-bottom: 40px;
}
@media screen and (max-width: 420px) {
  .p-contact.--send .p-contact__wrapper .p-contact__header .p-contact__message address {
    font-size: 13px;
  }
}
.p-contact.--send .p-contact__wrapper .p-contact__header .p-contact__message a {
  display: block;
  font-size: 25px;
  font-weight: 600;
  line-height: 1.48;
}
@media screen and (max-width: 480px) {
  .p-contact.--send .p-contact__wrapper .p-contact__header .p-contact__message a {
    font-size: 20px;
  }
}
.p-contact.--send .p-contact__wrapper .p-contact__header .p-contact__message span {
  font-size: 15px;
  line-height: 2.4666666667;
}
.p-contact.--confirm .p-contact__wrapper .p-contact__header p {
  font-size: 24px;
  font-weight: 600;
  line-height: 1.4166666667;
  text-align: center;
}
@media screen and (max-width: 600px) {
  .p-contact.--confirm .p-contact__wrapper .p-contact__header p {
    font-size: 18px;
  }
}
@media screen and (max-width: 375px) {
  .p-contact.--confirm .p-contact__wrapper .p-contact__header p {
    font-size: 17px;
  }
}
.p-contact.--confirm .p-contact__wrapper .p-contact__form {
  margin-top: 40px;
}
.p-contact .p-contact__wrapper {
  width: 720px;
  margin: 60px auto 0 auto;
}
@media screen and (max-width: 780px) {
  .p-contact .p-contact__wrapper {
    width: calc(100% - 40px);
  }
}
.p-contact .p-contact__wrapper .p-contact__header h1 {
  margin-bottom: 80px;
}
.p-contact .p-contact__wrapper .p-contact__header p {
  font-size: 14px;
  line-height: 2.4285714286;
}
.p-contact .p-contact__wrapper .p-contact__form {
  margin-top: 100px;
  padding-bottom: 100px;
}
.p-contact .p-contact__wrapper .p-contact__form.--confirm form dl {
  padding: 50px 0 24px 0;
  border-bottom: 1px solid #707070;
}
@media screen and (max-width: 480px) {
  .p-contact .p-contact__wrapper .p-contact__form.--confirm form dl {
    padding-top: 30px;
  }
}
.p-contact .p-contact__wrapper .p-contact__form.--confirm form dl dt {
  margin-bottom: 26px;
}
.p-contact .p-contact__wrapper .p-contact__form.--confirm form dl dd {
  margin-bottom: 0;
}
.p-contact .p-contact__wrapper .p-contact__form form dl dt.p-contact__required::after {
  content: "※必須";
  margin-left: 18px;
  font-size: 13px;
  font-weight: 600;
  line-height: 2.6153846154;
  color: #B10000;
}
.p-contact .p-contact__wrapper .p-contact__form form dl dt p {
  display: inline-block;
  font-weight: 600;
  line-height: 2.125;
}
.p-contact .p-contact__wrapper .p-contact__form form dl dd {
  margin-bottom: 30px;
}
.p-contact .p-contact__wrapper .p-contact__form form dl dd.p-contact__event .wpcf7-list-item {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  margin-left: 0;
}
.p-contact .p-contact__wrapper .p-contact__form form dl dd.p-contact__event .wpcf7-list-item input[type=checkbox] {
  margin: 7px 15px 0 0;
}
.p-contact .p-contact__wrapper .p-contact__form form dl dd input[type=text],
.p-contact .p-contact__wrapper .p-contact__form form dl dd input[type=email],
.p-contact .p-contact__wrapper .p-contact__form form dl dd textarea {
  width: 100%;
  box-sizing: border-box;
}
.p-contact .p-contact__wrapper .p-contact__form form dl dd input[type=text],
.p-contact .p-contact__wrapper .p-contact__form form dl dd input[type=email] {
  height: 50px;
  padding: 0 10px;
}
.p-contact .p-contact__wrapper .p-contact__form form dl dd textarea {
  height: 200px;
  padding: 10px;
}
.p-contact .p-contact__wrapper .p-contact__form form dl dd .wpcf7-not-valid-tip {
  color: #B10000;
  font-weight: 600;
  font-size: 14px;
  margin-top: 4px;
}
.p-contact .p-contact__wrapper .p-contact__form .p-contact__recaptcha {
  margin-top: 30px;
  font-size: 14px;
  text-align: center;
}
.p-contact .p-contact__wrapper .p-contact__policy {
  margin-top: 30px;
}
.p-contact .p-contact__wrapper .p-contact__policy h2 {
  font-size: 16px;
  font-weight: 600;
  line-height: 2.125;
}
.p-contact .p-contact__wrapper .p-contact__policy .p-contact__policy-wrapper {
  width: 100%;
  height: 130px;
  padding: 13px 20px;
  border: 1px solid #707070;
  overflow-y: scroll;
}
.p-contact .p-contact__wrapper .p-contact__policy .p-contact__policy-wrapper h3, .p-contact .p-contact__wrapper .p-contact__policy .p-contact__policy-wrapper h4, .p-contact .p-contact__wrapper .p-contact__policy .p-contact__policy-wrapper h5 {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.6428571429;
}
.p-contact .p-contact__wrapper .p-contact__policy .p-contact__policy-wrapper h3:nth-of-type(n + 2) {
  margin-top: 30px;
}
.p-contact .p-contact__wrapper .p-contact__policy .p-contact__policy-wrapper p {
  font-size: 14px;
  font-weight: 300;
  line-height: 1.6428571429;
}
.p-contact .p-contact__wrapper .p-contact__policy .p-contact__policy-wrapper p:nth-of-type(n + 2) {
/*   margin-top: 30px; */
  margin-top: 0;
}
.p-contact .p-contact__wrapper .p-contact__policy .p-contact__policy-wrapper h4, .p-contact .p-contact__wrapper .p-contact__policy .p-contact__policy-wrapper h5 {
  position: relative;
}
.p-contact .p-contact__wrapper .p-contact__policy .p-contact__policy-wrapper h4::before, .p-contact .p-contact__wrapper .p-contact__policy .p-contact__policy-wrapper h5::before {
  position: absolute;
  top: 0;
  left: -15px;
}
.p-contact .p-contact__wrapper .p-contact__policy .p-contact__policy-wrapper h4::before {
  content: "●";
}
.p-contact .p-contact__wrapper .p-contact__policy .p-contact__policy-wrapper h5::before {
  content: "▼";
}
.p-contact .p-contact__wrapper .p-contact__policy .p-contact__policy-wrapper > ul > li {
  padding-left: 15px;
}
.p-contact .p-contact__wrapper .p-contact__policy .p-contact__policy-wrapper > ul > li:nth-of-type(n + 2) {
  margin-top: 30px;
}
.p-contact .p-contact__wrapper .p-contact__policy .p-contact__policy-wrapper > ul > li > ul {
  margin-top: 30px;
}
.p-contact .p-contact__wrapper .p-contact__policy .p-contact__policy-wrapper > ul > li > ul li {
  padding-left: 15px;
}
.p-contact .p-contact__wrapper .p-contact__policy .p-contact__policy-wrapper > ul > li > ul li:nth-of-type(n + 2) {
  margin-top: 30px;
}
.p-contact .p-contact__wrapper .p-contact__button.--confirm > p {
  width: 550px;
  display: flex;
  flex-wrap: wrap;
  margin: auto;
}
@media screen and (max-width: 600px) {
  .p-contact .p-contact__wrapper .p-contact__button.--confirm > p {
    width: 260px;
  }
}
.p-contact .p-contact__wrapper .p-contact__button.--confirm > p br {
  display: none;
}
.p-contact .p-contact__wrapper .p-contact__button.--confirm > p .wpcf7-spinner {
  position: absolute;
  left: -50%;
  right: -50%;
  top: 50px;
  margin: auto;
}
.p-contact .p-contact__wrapper .p-contact__button.--confirm > p input[type=submit] {
  margin-right: 20px;
  background-color: #F54242;
  color: #fff;
}
@media screen and (max-width: 600px) {
  .p-contact .p-contact__wrapper .p-contact__button.--confirm > p input[type=submit] {
    margin-right: 0;
  }
}
.p-contact .p-contact__wrapper .p-contact__button.--confirm > p input[type=button] {
  background-color: #697C7E;
  color: #fff;
}
@media screen and (max-width: 600px) {
  .p-contact .p-contact__wrapper .p-contact__button.--confirm > p input[type=button] {
    margin-top: 40px;
  }
}
.p-contact .p-contact__wrapper .p-contact__button .p-contact__agree {
  margin-top: 50px;
}
.p-contact .p-contact__wrapper .p-contact__button .p-contact__agree .wpcf7-form-control-wrap .wpcf7-list-item {
  display: block;
  text-align: center;
  margin-left: 0;
}
.p-contact .p-contact__wrapper .p-contact__button .p-contact__agree .wpcf7-form-control-wrap .wpcf7-list-item input {
  margin-right: 15px;
}
.p-contact .p-contact__wrapper .p-contact__button .p-contact__agree .wpcf7-form-control-wrap .wpcf7-list-item .wpcf7-list-item-label {
  font-weight: 600;
  line-height: 2.125;
}
@media screen and (max-width: 400px) {
  .p-contact .p-contact__wrapper .p-contact__button .p-contact__agree .wpcf7-form-control-wrap .wpcf7-list-item .wpcf7-list-item-label {
    font-size: 15px;
  }
}
.p-contact .p-contact__wrapper .p-contact__button .p-contact__agree .wpcf7-form-control-wrap .wpcf7-list-item .wpcf7-list-item-label span {
  margin-left: 18px;
  font-size: 13px;
  font-weight: 600;
  line-height: 2.6153846154;
  color: #B10000;
}
.p-contact .p-contact__wrapper .p-contact__button input[type=button],
.p-contact .p-contact__wrapper .p-contact__button input[type=submit] {
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 260px;
  width: 100%;
  height: 70px;
  margin: 60px auto 0 auto;
  font-size: 17px;
  font-weight: 600;
  line-height: 2.7058823529;
  background-color: #fff;
  color: #023034;
  border: none;
  border-radius: 35px;
  box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.35);
  transition: all 0.3s ease-in-out;
  opacity: 1;
  cursor: pointer;
}
.p-contact .p-contact__wrapper .p-contact__button input[type=button]:hover,
.p-contact .p-contact__wrapper .p-contact__button input[type=submit]:hover {
  opacity: 0.7;
}
.p-contact .p-contact__wrapper .p-contact__button input[type=button]:disabled,
.p-contact .p-contact__wrapper .p-contact__button input[type=submit]:disabled {
  filter: brightness(0.8);
  cursor: not-allowed;
  opacity: 0.4;
}

/**
 * エラー
 */
/**
 * 大会ページ
 *
 * clamp関数の値を計算するサイト
 * https://min-max-calculator.9elements.com/
 */
.p-event {
  margin-top: 70px;
  /**
   * 共通パーツ
   */
}
@media screen and (max-width: 1024px) {
  .p-event {
    margin-top: 0;
  }
}
.p-event.--00 .p-event__mv {
  width: 100%;
  background-color: #023034;
  margin-top: 200px;
}
@media screen and (max-width: 1024px) {
  .p-event.--00 .p-event__mv {
	  margin-top: 0px;
  }
}
@media screen and (max-width: 680px) {
  .p-event.--00 .p-event__mv {
    background-color: #fff;
	  margin-top: 0px;
  }
}
.p-event.--00 .p-event__mv .p-event__wrapper {
  width: 1088px;
  margin: auto;
}
@media screen and (max-width: 1200px) {
  .p-event.--00 .p-event__mv .p-event__wrapper {
    width: calc(100% - 70px);
  }
}
@media screen and (max-width: 680px) {
  .p-event.--00 .p-event__mv .p-event__wrapper {
    width: calc(100% - 40px);
    margin: 30px auto 0 auto;
  }
}
.p-event.--00 .p-event__mv .p-event__wrapper .p-event__swiper .p-event__swiper-wrapper .p-event__slide {
  display: flex;
  flex-wrap: wrap;
}
.p-event.--00 .p-event__mv .p-event__wrapper .p-event__swiper .p-event__swiper-wrapper .p-event__slide > div,
.p-event.--00 .p-event__mv .p-event__wrapper .p-event__swiper .p-event__swiper-wrapper .p-event__slide figure {
  width: 50%;
}
.p-event.--00 .p-event__mv .p-event__wrapper .p-event__swiper .p-event__swiper-wrapper .p-event__slide > div {
  background-color: #FAFAFA;
}
.p-event.--00 .p-event__mv .p-event__wrapper .p-event__swiper .p-event__swiper-wrapper .p-event__slide > div img {
  width: 90%;
  max-width: 440px;
}
.p-event.--00 .p-event__mv .p-event__wrapper .p-event__swiper .p-event__swiper-wrapper .p-event__slide figure {
  aspect-ratio: 530/400;
}
@media screen and (max-width: 480px) {
  .p-event.--00 .p-event__mv .p-event__wrapper .p-event__swiper .p-event__swiper-wrapper .p-event__slide figure {
    aspect-ratio: 165/192;
  }
}
.p-event.--00 .p-event__mv .p-event__wrapper .p-event__swiper .p-event__swiper-wrapper .p-event__slide figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-event.--00 .p-event__mv .p-event__swiper-prev,
.p-event.--00 .p-event__mv .p-event__swiper-next {
  width: 50px;
  height: 50px;
  transition: left 0.3s ease-in-out, right 0.3s ease-in-out;
  opacity: 1;
}
@media screen and (max-width: 680px) {
  .p-event.--00 .p-event__mv .p-event__swiper-prev,
.p-event.--00 .p-event__mv .p-event__swiper-next {
    display: none;
  }
}
.p-event.--00 .p-event__mv .p-event__swiper-prev:hover,
.p-event.--00 .p-event__mv .p-event__swiper-next:hover {
  opacity: 0.7;
}
.p-event.--00 .p-event__mv .p-event__swiper-prev::before, .p-event.--00 .p-event__mv .p-event__swiper-prev::after,
.p-event.--00 .p-event__mv .p-event__swiper-next::before,
.p-event.--00 .p-event__mv .p-event__swiper-next::after {
  content: "";
  position: absolute;
}
.p-event.--00 .p-event__mv .p-event__swiper-prev::before,
.p-event.--00 .p-event__mv .p-event__swiper-next::before {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background-color: #fff;
  box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.35);
}
.p-event.--00 .p-event__mv .p-event__swiper-prev::after,
.p-event.--00 .p-event__mv .p-event__swiper-next::after {
  width: 8px;
  height: 8px;
  border: 2px solid;
  border-color: transparent transparent #023034 #023034;
}
.p-event.--00 .p-event__mv .p-event__swiper-prev.swiper-button-disabled,
.p-event.--00 .p-event__mv .p-event__swiper-next.swiper-button-disabled {
  visibility: hidden;
}
.p-event.--00 .p-event__mv .p-event__swiper-prev {
  left: -25px;
}
.p-event.--00 .p-event__mv .p-event__swiper-prev:hover {
  left: -30px;
}
.p-event.--00 .p-event__mv .p-event__swiper-prev::after {
  transform: rotate(45deg);
  left: 22px;
}
.p-event.--00 .p-event__mv .p-event__swiper-next {
  right: -25px;
}
.p-event.--00 .p-event__mv .p-event__swiper-next:hover {
  right: -30px;
}
.p-event.--00 .p-event__mv .p-event__swiper-next::after {
  transform: rotate(-135deg);
  right: 22px;
}
.p-event.--00 .p-event__info .p-event__wrapper {
  width: 1088px;
  margin: auto;
}
@media screen and (max-width: 1170px) {
  .p-event.--00 .p-event__info .p-event__wrapper {
    width: calc(100% - 40px);
  }
}
.p-event.--00 .p-event__info .p-event__wrapper p {
  font-weight: 600;
  line-height: 1.3125;
  letter-spacing: 0.06em;
}
.p-event.--00 .p-event__info .p-event__wrapper dl {
  display: flex;
  flex-wrap: wrap;
}
.p-event.--00 .p-event__info .p-event__wrapper dl:nth-of-type(1) {
  margin: 70px 0 24px 0;
}
@media screen and (max-width: 680px) {
  .p-event.--00 .p-event__info .p-event__wrapper dl:nth-of-type(1) {
    margin-bottom: 30px;
  }
}
.p-event.--00 .p-event__info .p-event__wrapper dl dt {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 138px;
  height: 30px;
  background-color: #023034;
  border-radius: 6px;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.5294117647;
  letter-spacing: 0.14em;
  color: #fff;
}
@media screen and (max-width: 680px) {
  .p-event.--00 .p-event__info .p-event__wrapper dl dt {
    width: 100%;
    font-size: clamp(1rem, 0.923rem + 0.33vw, 1.063rem);
  }
}
.p-event.--00 .p-event__info .p-event__wrapper dl dd {
  padding-left: 13px;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.0833333333;
}
@media screen and (max-width: 680px) {
  .p-event.--00 .p-event__info .p-event__wrapper dl dd {
    width: 100%;
    padding-left: 0;
    margin-top: 20px;
    text-align: center;
    font-size: clamp(1.125rem, 0.664rem + 1.97vw, 1.5rem);
  }
}
.p-event.--00 .p-event__news {
  padding: 100px 0;
  border-top: 1px solid #023034;
}
.p-event.--00 .p-event__news > div h2 {
  margin-bottom: 30px;
}
@media screen and (max-width: 600px) {
  .p-event.--00 .p-event__news > div h2 {
    display: none;
  }
}
.p-event.--00 .p-event__content {
  background-color: #F2F2F2;
}
.p-event.--01 .p-event__news.--single {
  padding-bottom: 130px;
}
.p-event.--01 .p-event__news .p-event__list,
.p-event.--01 .p-event__news .p-event__single {
  width: 900px;
  margin: auto;
}
@media screen and (max-width: 960px) {
  .p-event.--01 .p-event__news .p-event__list,
.p-event.--01 .p-event__news .p-event__single {
    width: calc(100% - 40px);
  }
}
@media screen and (max-width: 900px) {
  .p-event.--01 .p-event__news .p-event__list ul {
    border-top: 1px solid #E3E3E3;
  }
}
.p-event.--01 .p-event__news .p-event__list ul li {
  padding: 30px 0;
  border-top: 1px solid #E3E3E3;
}
@media screen and (max-width: 900px) {
  .p-event.--01 .p-event__news .p-event__list ul li {
    border-top: none;
    border-bottom: 1px solid #E3E3E3;
  }
}
.p-event.--01 .p-event__news .p-event__list ul li a {
  display: flex;
  flex-wrap: wrap;
}
.p-event.--01 .p-event__news .p-event__list ul li a:hover figure img {
  opacity: 0.7;
}
.p-event.--01 .p-event__news .p-event__list ul li a:hover div p {
  color: #F54242;
}
.p-event.--01 .p-event__news .p-event__list ul li a figure {
  width: 158px;
  aspect-ratio: 158/120;
  margin-right: 30px;
}
@media screen and (max-width: 600px) {
  .p-event.--01 .p-event__news .p-event__list ul li a figure {
    width: 100%;
    margin-right: 0;
    margin-bottom: 10px;
  }
}
.p-event.--01 .p-event__news .p-event__list ul li a figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 1;
  transition: opacity 0.3s ease-in-out;
}
.p-event.--01 .p-event__news .p-event__list ul li a div {
  width: calc(100% - 158px - 30px);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
}
@media screen and (max-width: 900px) {
  .p-event.--01 .p-event__news .p-event__list ul li a div {
    display: block;
  }
}
@media screen and (max-width: 600px) {
  .p-event.--01 .p-event__news .p-event__list ul li a div {
    width: 100%;
  }
}
.p-event.--01 .p-event__news .p-event__list ul li a div time {
  width: 90px;
  font-family: "Barlow Condensed", serif;
  font-weight: 400;
  font-size: 16px;
  font-style: normal;
  letter-spacing: -0.001em;
  line-height: 2.0625;
}
@media screen and (max-width: 900px) {
  .p-event.--01 .p-event__news .p-event__list ul li a div time {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .p-event.--01 .p-event__news .p-event__list ul li a div time {
    /**
     * font-size … min:20px,max:32px
     * viewport … min:480px,max:768px
     */
    font-size: clamp(1.063rem, 0.764rem + 1.27vw, 1.375rem);
  }
}
.p-event.--01 .p-event__news .p-event__list ul li a div p {
  width: calc(100% - 90px);
  font-weight: 300;
  font-size: 22px;
  letter-spacing: -0.001em;
  line-height: 1.65;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  transition: color 0.2s ease-in-out;
}
@media screen and (max-width: 900px) {
  .p-event.--01 .p-event__news .p-event__list ul li a div p {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .p-event.--01 .p-event__news .p-event__list ul li a div p {
    /**
     * font-size … min:20px,max:32px
     * viewport … min:480px,max:768px
     */
    font-size: clamp(1.063rem, 0.764rem + 1.27vw, 1.375rem);
  }
}
.p-event.--01 .p-event__news .p-event__single {
  padding-top: 100px;
}
.p-event.--01 .p-event__news .p-event__single .p-event__newsheader {
  margin-bottom: 80px;
  padding-bottom: 30px;
  border-bottom: 1px solid #E3E3E3;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-event.--01 .p-event__news .p-event__single .p-event__newsheader {
    margin-bottom: 50px;
    padding-top: 30px;
    padding-bottom: 0;
    border-bottom: none;
    border-top: 1px solid #E3E3E3;
    text-align: left;
  }
}
.p-event.--01 .p-event__news .p-event__single .p-event__newsheader time {
  font-family: "Barlow Condensed", serif;
  font-weight: 400;
  font-size: 20px;
  font-style: normal;
  letter-spacing: -0.001em;
  line-height: 1.65;
}
@media screen and (max-width: 768px) {
  .p-event.--01 .p-event__news .p-event__single .p-event__newsheader time {
    /**
     * font-size … min:16px,max:20px
     * viewport … min:375px,max:768px
     */
    font-size: clamp(1rem, 0.761rem + 1.02vw, 1.25rem);
  }
}
.p-event.--01 .p-event__news .p-event__single .p-event__newsheader h3 {
  margin-top: 30px;
  font-weight: 600;
  font-size: 30px;
  line-height: 1.1;
  letter-spacing: -0.001em;
}
@media screen and (max-width: 768px) {
  .p-event.--01 .p-event__news .p-event__single .p-event__newsheader h3 {
    margin-top: 10px;
    line-height: 1.1818181818;
    /**
     * font-size … min:17px,max:30px
     * viewport … min:375px,max:768px
     */
    font-size: clamp(1.063rem, 0.287rem + 3.31vw, 1.875rem);
  }
}
.p-event.--01 .p-event__news .p-event__single .p-event__note {
  margin-top: 80px;
}
@media screen and (max-width: 768px) {
  .p-event.--01 .p-event__news .p-event__single .p-event__note {
    margin-top: 60px;
  }
}
@media screen and (max-width: 480px) {
  .p-event.--01 .p-event__news .p-event__single .p-event__note {
    margin-top: 30px;
  }
}
.p-event.--01 .p-event__news .p-event__pager {
  width: 852px;
  margin: 50px auto 0 auto;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
@media screen and (max-width: 1050px) {
  .p-event.--01 .p-event__news .p-event__pager {
    width: calc(100% - 40px);
  }
}
@media screen and (max-width: 768px) {
  .p-event.--01 .p-event__news .p-event__pager {
    margin-top: 30px;
  }
}
.p-event.--01 .p-event__news .p-event__pager a,
.p-event.--01 .p-event__news .p-event__pager .current,
.p-event.--01 .p-event__news .p-event__pager .dots {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  height: 50px;
  font-family: "Barlow Condensed", serif;
  font-weight: 400;
  font-size: 24px;
  color: #707070;
  letter-spacing: -0.001em;
  line-height: 1.1666666667;
}
.p-event.--01 .p-event__news .p-event__pager .current {
  font-size: 32px;
  line-height: 1.0625;
  color: #F54242;
}
.p-event.--01 .p-event__news .p-event__pager .page-numbers:has(+ .dots)::after {
  content: none !important;
}
.p-event.--01 .p-event__news .p-event__pager .dots {
  margin: 0 10px;
}
.p-event.--01 .p-event__news .p-event__pager a:not(.prev):not(.next):not(.lastpage)::after,
.p-event.--01 .p-event__news .p-event__pager .current:not(.lastpage)::after {
  content: ".";
  display: flex;
  width: 20px;
  height: 100%;
  align-items: flex-end;
  justify-content: center;
  font-size: 20px;
  color: #707070;
}
.p-event.--01 .p-event__news .p-event__pager a.prev, .p-event.--01 .p-event__news .p-event__pager a.next {
  width: 50px;
  position: relative;
  font-size: 0;
  margin-top: 9px;
}
.p-event.--01 .p-event__news .p-event__pager a.prev::before, .p-event.--01 .p-event__news .p-event__pager a.prev::after, .p-event.--01 .p-event__news .p-event__pager a.next::before, .p-event.--01 .p-event__news .p-event__pager a.next::after {
  content: "";
  position: absolute;
  top: -50%;
  bottom: -50%;
  margin: auto;
  transition: all 0.3s ease-in-out;
  opacity: 1;
}
.p-event.--01 .p-event__news .p-event__pager a.prev:hover::before, .p-event.--01 .p-event__news .p-event__pager a.prev:hover::after, .p-event.--01 .p-event__news .p-event__pager a.next:hover::before, .p-event.--01 .p-event__news .p-event__pager a.next:hover::after {
  opacity: 0.7;
}
.p-event.--01 .p-event__news .p-event__pager a.prev::before, .p-event.--01 .p-event__news .p-event__pager a.next::before {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background-color: #fff;
  box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.35);
}
.p-event.--01 .p-event__news .p-event__pager a.prev::after, .p-event.--01 .p-event__news .p-event__pager a.next::after {
  width: 8px;
  height: 8px;
  border: 2px solid;
  border-color: transparent transparent #023034 #023034;
}
.p-event.--01 .p-event__news .p-event__pager a.prev {
  margin-right: 20px;
}
.p-event.--01 .p-event__news .p-event__pager a.prev::after {
  transform: rotate(45deg);
  left: 22px;
}
.p-event.--01 .p-event__news .p-event__pager a.next {
  margin-left: 20px;
}
.p-event.--01 .p-event__news .p-event__pager a.next::after {
  transform: rotate(-135deg);
  right: 22px;
}
.p-event.--08 section {
  padding-top: 50px;
}
.p-event.--08 section .p-event__faq {
  padding: 30px 20px 40px 20px;
  background-color: #EBEBEB;
  margin-bottom: 70px;
}
.p-event.--08 section .p-event__faq.--open {
  background-color: #fff;
  border: 1px solid #EBEBEB;
}
.p-event.--08 section .p-event__faq.--open .p-event__answer {
  max-height: 999px;
  margin-top: 40px;
  padding-top: 40px;
  border-top: 1px solid #707070;
}
.p-event.--08 section .p-event__faq.--open .p-event__answer::before {
  visibility: visible;
}
.p-event.--08 section .p-event__faq .p-event__question,
.p-event.--08 section .p-event__faq .p-event__answer {
  display: flex;
}
.p-event.--08 section .p-event__faq .p-event__question::before,
.p-event.--08 section .p-event__faq .p-event__answer::before {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  width: 70px;
  font-family: "Barlow Condensed", serif;
  font-weight: 500;
  font-style: italic;
  font-size: 58px;
  letter-spacing: 0.01em;
  line-height: 1;
  color: #B10000;
}
@media screen and (max-width: 480px) {
  .p-event.--08 section .p-event__faq .p-event__question::before,
.p-event.--08 section .p-event__faq .p-event__answer::before {
    font-size: 46px;
    width: 46px;
  }
}
.p-event.--08 section .p-event__faq .p-event__question::before {
  content: "Q";
}
.p-event.--08 section .p-event__faq .p-event__question p {
  width: calc(100% - 70px);
  font-size: 20px;
  font-weight: 600;
  line-height: 1.7;
}
@media screen and (max-width: 768px) {
  .p-event.--08 section .p-event__faq .p-event__question p {
    /**
     * font-size … min:15px,max:17px
     * viewport … min:480px,max:768px
     */
    font-size: clamp(0.938rem, 0.729rem + 0.69vw, 1.063rem);
  }
}
@media screen and (max-width: 480px) {
  .p-event.--08 section .p-event__faq .p-event__question p {
    width: calc(100% - 46px);
  }
}
.p-event.--08 section .p-event__faq .p-event__answer {
  max-height: 0;
  transition: all 0.3s;
}
.p-event.--08 section .p-event__faq .p-event__answer::before {
  content: "A";
  visibility: hidden;
  transition: all 0.1s ease-in-out;
}
.p-event.--08 section .p-event__faq .p-event__answer .p-event__detail {
  width: calc(100% - 70px);
  padding: 0;
  background-color: transparent;
}
.p-event.--08 section .p-event__faq .p-event__opener {
  display: flex;
  /*align-items: center;
  justify-content: center;*/
  width: 50px;
  height: 50px;
  border-radius: 50%;
  box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.35);
  position: absolute;
  bottom: -25px;
  left: -50%;
  right: -50%;
  margin: auto;
  background-color: #fff;
  cursor: pointer;
  transition: opacity 0.3s ease-in-out;
}
.p-event.--08 section .p-event__faq .p-event__opener:hover {
  opacity: 0.7;
}
.p-event.--08 section .p-event__faq .p-event__opener::before, .p-event.--08 section .p-event__faq .p-event__opener::after {
  content: "";
  position: absolute;
  left: -50%;
  right: -50%;
  top: -50%;
  bottom: -50%;
  margin: auto;
  width: 2px;
  height: 8px;
  background-color: #023034;
  transition: all 0.3s ease-in-out;
}
.p-event.--08 section .p-event__faq .p-event__opener::before {
  transform: translate(2.5px, 0) rotate(45deg);
}
.p-event.--08 section .p-event__faq .p-event__opener::after {
  transform: translate(-2.5px, 0) rotate(-45deg);
}
.p-event.--08 section .p-event__faq .p-event__opener.--active {
  background-color: #707070;
}
.p-event.--08 section .p-event__faq .p-event__opener.--active::before, .p-event.--08 section .p-event__faq .p-event__opener.--active::after {
  height: 14px;
  background-color: #fff;
}
.p-event.--08 section .p-event__faq .p-event__opener.--active::before {
  transform: translate(0, 0) rotate(45deg);
}
.p-event.--08 section .p-event__faq .p-event__opener.--active::after {
  transform: translate(0, 0) rotate(-45deg);
}
.p-event .p-event__header {
  width: 100%;
  height: 213px;
  background-color: #023034;
  margin-top: 200px;
}
@media all and (max-width: 1024px) {
.p-event .p-event__header {
  margin-top: 0;
}
}
.p-event .p-event__header h1 {
  color: #fff;
}
.p-event .p-event__header h1 span {
  color: #fff;
}
.p-event .p-event__content {
  background-color: #F2F2F2;
}

/**
 * ギャラリー
 *
 * clamp関数の値を計算するサイト
 * https://min-max-calculator.9elements.com/
 */
.p-gallery .p-gallery__subheader {
  background-image: url(../img/gallery/img_header.webp);
}
.p-gallery .p-gallery__content > h1 {
  margin: 60px 0;
}
.p-gallery .p-gallery__event {
  background-color: #F2F2F2;
  padding: 100px 0;
}
.p-gallery .p-gallery__event .p-gallery__wrapper {
  width: 933px;
  margin: auto;
  padding: 60px 30px;
  background-color: #fff;
  border-radius: 10px;
}
@media screen and (max-width: 1000px) {
  .p-gallery .p-gallery__event .p-gallery__wrapper {
    width: calc(100% - 40px);
  }
}
@media screen and (max-width: 600px) {
  .p-gallery .p-gallery__event .p-gallery__wrapper {
    padding: 40px 20px;
  }
}
.p-gallery .p-gallery__event .p-gallery__wrapper h2 {
  font-size: 28px;
  font-weight: 600;
  letter-spacing: normal;
  line-height: 1.3214285714;
  text-align: center;
  margin-bottom: 40px;
}
@media screen and (max-width: 600px) {
  .p-gallery .p-gallery__event .p-gallery__wrapper h2 {
    font-size: 22px;
  }
}
.p-gallery .p-gallery__event .p-gallery__wrapper .p-gallery__container {
  margin-bottom: 50px;
}
.p-gallery .p-gallery__event .p-gallery__wrapper .p-gallery__container .p-gallery__swiper {
  /*@media screen and (max-width: 600px){
    overflow: visible;
  }*/
}
.p-gallery .p-gallery__event .p-gallery__wrapper .p-gallery__container .p-gallery__swiper .p-gallery__swiper-wrapper {
  display: flex;
  align-items: stretch;
  transition: transform 0.5s ease-in-out;
  /*@media screen and (max-width: 600px){
    border-top: 1px solid $subcolor11;
    flex-wrap: wrap;
  }*/
}
.p-gallery .p-gallery__event .p-gallery__wrapper .p-gallery__container .p-gallery__swiper .p-gallery__swiper-wrapper .p-gallery__slide {
  /*@media screen and (max-width: 600px){
    width: calc((100% - 10px) / 2);
  }

  &:nth-of-type(2n){
    @media screen and (max-width: 600px){
      margin-left: 10px;
    }
  }

  &:nth-of-type(n + 3){
    @media screen and (max-width: 600px){
      margin-top: 10px;
    }
  }*/
}
.p-gallery .p-gallery__event .p-gallery__wrapper .p-gallery__container .p-gallery__swiper .p-gallery__swiper-wrapper .p-gallery__slide figure {
  aspect-ratio: 271/167;
}
.p-gallery .p-gallery__event .p-gallery__wrapper .p-gallery__container .p-gallery__swiper .p-gallery__swiper-wrapper .p-gallery__slide figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-gallery .p-gallery__event .p-gallery__wrapper .p-gallery__container .p-gallery__swiper-prev,
.p-gallery .p-gallery__event .p-gallery__wrapper .p-gallery__container .p-gallery__swiper-next {
  width: 50px;
  height: 50px;
  transition: left 0.3s ease-in-out, right 0.3s ease-in-out;
  opacity: 1;
  /*@media screen and (max-width: 600px){
    display: none;
  }*/
}
.p-gallery .p-gallery__event .p-gallery__wrapper .p-gallery__container .p-gallery__swiper-prev:hover,
.p-gallery .p-gallery__event .p-gallery__wrapper .p-gallery__container .p-gallery__swiper-next:hover {
  opacity: 0.7;
}
.p-gallery .p-gallery__event .p-gallery__wrapper .p-gallery__container .p-gallery__swiper-prev::before, .p-gallery .p-gallery__event .p-gallery__wrapper .p-gallery__container .p-gallery__swiper-prev::after,
.p-gallery .p-gallery__event .p-gallery__wrapper .p-gallery__container .p-gallery__swiper-next::before,
.p-gallery .p-gallery__event .p-gallery__wrapper .p-gallery__container .p-gallery__swiper-next::after {
  content: "";
  position: absolute;
}
.p-gallery .p-gallery__event .p-gallery__wrapper .p-gallery__container .p-gallery__swiper-prev::before,
.p-gallery .p-gallery__event .p-gallery__wrapper .p-gallery__container .p-gallery__swiper-next::before {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background-color: #fff;
  box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.35);
}
.p-gallery .p-gallery__event .p-gallery__wrapper .p-gallery__container .p-gallery__swiper-prev::after,
.p-gallery .p-gallery__event .p-gallery__wrapper .p-gallery__container .p-gallery__swiper-next::after {
  width: 8px;
  height: 8px;
  border: 2px solid;
  border-color: transparent transparent #023034 #023034;
}
.p-gallery .p-gallery__event .p-gallery__wrapper .p-gallery__container .p-gallery__swiper-prev.swiper-button-disabled,
.p-gallery .p-gallery__event .p-gallery__wrapper .p-gallery__container .p-gallery__swiper-next.swiper-button-disabled {
  visibility: hidden;
}
.p-gallery .p-gallery__event .p-gallery__wrapper .p-gallery__container .p-gallery__swiper-prev {
  left: -25px;
}
.p-gallery .p-gallery__event .p-gallery__wrapper .p-gallery__container .p-gallery__swiper-prev:hover {
  left: -30px;
}
.p-gallery .p-gallery__event .p-gallery__wrapper .p-gallery__container .p-gallery__swiper-prev::after {
  transform: rotate(45deg);
  left: 22px;
}
.p-gallery .p-gallery__event .p-gallery__wrapper .p-gallery__container .p-gallery__swiper-next {
  right: -25px;
}
.p-gallery .p-gallery__event .p-gallery__wrapper .p-gallery__container .p-gallery__swiper-next:hover {
  right: -30px;
}
.p-gallery .p-gallery__event .p-gallery__wrapper .p-gallery__container .p-gallery__swiper-next::after {
  transform: rotate(-135deg);
  right: 22px;
}
.p-gallery .p-gallery__event .p-gallery__wrapper .p-gallery__note {
  padding: 0;
}
.p-gallery .p-gallery__event .p-gallery__wrapper .p-gallery__note p {
  font-size: 17px;
  font-weight: 300;
  line-height: 1.5294117647;
}
.p-gallery .p-gallery__event .p-gallery__wrapper h3 {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  height: 34px;
  background-color: #B10000;
  color: #fff;
  border-radius: 4px;
  padding-left: 10px;
  margin: 100px 0 30px 0;
  font-weight: 600;
  font-size: 17px;
  line-height: 1.5294117647;
}
.p-gallery .p-gallery__event .p-gallery__wrapper .p-gallery__list {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
}
.p-gallery .p-gallery__event .p-gallery__wrapper .p-gallery__list li {
  width: calc((100% - 60px) / 3);
  margin-right: 30px;
}
@media screen and (max-width: 600px) {
  .p-gallery .p-gallery__event .p-gallery__wrapper .p-gallery__list li {
    width: calc(100% - 40px);
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 18px;
  }
}
.p-gallery .p-gallery__event .p-gallery__wrapper .p-gallery__list li:nth-of-type(3n) {
  margin-right: 0;
}
.p-gallery .p-gallery__event .p-gallery__wrapper .p-gallery__list li:nth-of-type(n + 4) {
  margin-top: 30px;
}
.p-gallery .p-gallery__event .p-gallery__wrapper .p-gallery__list li a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  min-height: 60px;
  margin: auto;
  padding: 20px;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.2941176471;
  letter-spacing: -0.001em;
  color: #023034;
  background-color: #fff;
  border-radius: 30px;
  box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.16);
  transition: all 0.3s ease-in-out;
  opacity: 1;
}
.p-gallery .p-gallery__event .p-gallery__wrapper .p-gallery__list li a:hover {
  opacity: 0.7;
}

/**
 * トップページ
 *
 * clamp関数の値を計算するサイト
 * https://min-max-calculator.9elements.com/
 */
.p-home .p-home__mv .p-home__wrapper {
  width: 1366px;
  margin: auto;
  display: flex;
  flex-wrap: wrap;
}
@media screen and (max-width: 1366px) {
  .p-home .p-home__mv .p-home__wrapper {
    width: 100%;
  }
}
.p-home .p-home__mv .p-home__wrapper a {
  display: flex;
  width: 50%;
  aspect-ratio: 683/467;
  position: relative;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
@media screen and (max-width: 768px) {
  .p-home .p-home__mv .p-home__wrapper a {
    width: 100%;
  }
}
.p-home .p-home__mv .p-home__wrapper a:nth-of-type(1) {
  background-image: url(../img/home/img_mv_race.webp);
}
.p-home .p-home__mv .p-home__wrapper a:nth-of-type(1)::after {
  background-image: url(../img/home/img_mv_race_layer.webp);
}
.p-home .p-home__mv .p-home__wrapper a:nth-of-type(1):hover::before {
  background-color: rgba(245, 66, 66, 0.68);
}
.p-home .p-home__mv .p-home__wrapper a:nth-of-type(2) {
  background-image: url(../img/home/img_mv_cycling.webp);
}
.p-home .p-home__mv .p-home__wrapper a:nth-of-type(2)::after {
  background-image: url(../img/home/img_mv_cycling_layer.webp);
}
.p-home .p-home__mv .p-home__wrapper a:nth-of-type(2):hover::before {
  background-color: rgba(49, 144, 239, 0.68);
}
.p-home .p-home__mv .p-home__wrapper a::after, .p-home .p-home__mv .p-home__wrapper a::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.p-home .p-home__mv .p-home__wrapper a::before {
  mix-blend-mode: multiply;
  background-color: rgba(2, 48, 52, 0.14);
  transition: all 0.4s ease-in-out;
}
.p-home .p-home__mv .p-home__wrapper a::after {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
.p-home .p-home__info {
  padding: 80px 0 160px 0;
}
@media screen and (max-width: 600px) {
  .p-home .p-home__info {
    padding: 60px 0;
  }
}
@media screen and (max-width: 600px) {
  .p-home .p-home__info .p-home__wrapper {
    display: flex;
    flex-direction: column;
  }
}
.p-home .p-home__info .p-home__wrapper > h2 {
  margin-bottom: 30px;
}
@media screen and (max-width: 600px) {
  .p-home .p-home__info .p-home__wrapper > h2 {
    display: none;
  }
}
.p-home .p-home__info .p-home__wrapper .p-home__news {
  margin-top: 30px;
}
@media screen and (max-width: 600px) {
  .p-home .p-home__info .p-home__wrapper .p-home__news {
    order: 2;
  }
}
.p-home .p-home__info .p-home__wrapper .p-home__video {
  width: 100%;
  margin-top: 140px;
  padding: 20px 30px;
  background-color: #F54242;
  border-radius: 10px;
}
@media screen and (max-width: 600px) {
  .p-home .p-home__info .p-home__wrapper .p-home__video {
    order: 1;
    margin-top: 0;
    padding: 20px 15px 10px 15px;
  }
}
.p-home .p-home__info .p-home__wrapper .p-home__video .p-home__header {
  margin-bottom: 20px;
  position: relative;
}
.p-home .p-home__info .p-home__wrapper .p-home__video .p-home__header h3 {
  font-size: 27px;
  font-weight: 600;
  letter-spacing: -0.001em;
  line-height: 1.4074074074;
  color: #fff;
  text-align: center;
}
@media screen and (max-width: 600px) {
  .p-home .p-home__info .p-home__wrapper .p-home__video .p-home__header h3 {
    font-size: 18px;
    letter-spacing: normal;
    line-height: 1.0555555556;
    text-align: left;
  }
}
.p-home .p-home__info .p-home__wrapper .p-home__video .p-home__header a {
  position: absolute;
  top: -50%;
  bottom: -50%;
  right: 0;
  margin: auto;
  width: 100px;
  height: 27px;
  border-radius: 25px;
  font-size: 12px;
  font-weight: 300;
  line-height: 1.6666666667;
  background-color: #fff;
  color: #023034;
  box-shadow: 0px 3px 16px 0px rgba(0, 0, 0, 0.16);
  opacity: 1;
  transition: opacity 0.3s ease-in-out;
}
.p-home .p-home__info .p-home__wrapper .p-home__video .p-home__header a:hover {
  opacity: 0.7;
}
@media screen and (max-width: 600px) {
  .p-home .p-home__info .p-home__wrapper .p-home__video .p-home__video-swiper {
    overflow: hidden;
  }
}
@media screen and (max-width: 600px) {
  .p-home .p-home__info .p-home__wrapper .p-home__video .p-home__video-swiper .swiper-wrapper {
    flex-wrap: nowrap;
  }
}
.p-home .p-home__info .p-home__wrapper .p-home__video .p-home__video-swiper .swiper-wrapper .p-home__content iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 505/280;
}
.p-home .p-home__info .p-home__wrapper .p-home__video .p-home__video-swiper-prev {
  left: 6px;
}
@media screen and (max-width: 600px) {
  .p-home .p-home__info .p-home__wrapper .p-home__video .p-home__video-swiper-prev {
    left: -15px;
  }
}
.p-home .p-home__info .p-home__wrapper .p-home__video .p-home__video-swiper-prev:hover {
  left: -4px;
}
@media screen and (max-width: 600px) {
  .p-home .p-home__info .p-home__wrapper .p-home__video .p-home__video-swiper-prev:hover {
    left: -19px;
  }
}
.p-home .p-home__info .p-home__wrapper .p-home__video .p-home__video-swiper-next {
  right: 6px;
}
@media screen and (max-width: 600px) {
  .p-home .p-home__info .p-home__wrapper .p-home__video .p-home__video-swiper-next {
    right: -15px;
  }
}
.p-home .p-home__info .p-home__wrapper .p-home__video .p-home__video-swiper-next:hover {
  right: -4px;
}
@media screen and (max-width: 600px) {
  .p-home .p-home__info .p-home__wrapper .p-home__video .p-home__video-swiper-next:hover {
    right: -19px;
  }
}
.p-home .p-home__support {
  padding: 40px 0 50px 0;
  border-bottom: 1px solid #EBEBEB;
  background-color: #fff;
}
.p-home .p-home__support .p-home__wrapper {
  display: flex;
  flex-wrap: wrap;
  width: 950px;
  margin: auto;
}
@media screen and (max-width: 1000px) {
  .p-home .p-home__support .p-home__wrapper {
    width: 480px;
  }
}
@media screen and (max-width: 540px) {
  .p-home .p-home__support .p-home__wrapper {
    width: calc(100% - 40px);
  }
}
.p-home .p-home__support .p-home__wrapper div, .p-home .p-home__support .p-home__wrapper ul {
  display: flex;
  width: 100%;
  justify-content: center;
}
@media screen and (max-width: 1000px) {
  .p-home .p-home__support .p-home__wrapper div, .p-home .p-home__support .p-home__wrapper ul {
    width: 100%;
  }
}
.p-home .p-home__support .p-home__wrapper div {
  justify-content: center;
  width: 400px;
  margin: 0 auto 10px auto;
}
@media screen and (max-width: 1000px) {
  .p-home .p-home__support .p-home__wrapper div {
    justify-content: center;
    width: 400px;
    margin: 0 auto 10px auto;
  }
}
@media screen and (max-width: 540px) {
  .p-home .p-home__support .p-home__wrapper div {
    width: 268px;
  }
}
.p-home .p-home__support .p-home__wrapper div p {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 120px;
  font-family: "Barlow Condensed", serif;
  font-weight: 500;
  font-style: italic;
  font-size: 19px;
  letter-spacing: 0.01em;
  line-height: 1.2105263158;
}
@media screen and (max-width: 540px) {
  .p-home .p-home__support .p-home__wrapper div p {
    font-size: 15px;
  }
}
.p-home .p-home__support .p-home__wrapper div img {
  width: 282px;
  opacity: 1;
  transition: opacity 0.3s ease-in-out;
}
@media screen and (max-width: 540px) {
  .p-home .p-home__support .p-home__wrapper div img {
    width: 181px;
  }
}
.p-home .p-home__support .p-home__wrapper div img:hover {
  opacity: 0.7;
}
.p-home .p-home__support .p-home__wrapper ul li {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  width: 24%;
}
@media screen and (max-width: 1000px) {
  .p-home .p-home__support .p-home__wrapper ul li {
    width: calc((100% - 40px) / 4);
    margin-right: 10px;
  }
}
.p-home .p-home__support .p-home__wrapper ul li:last-child {
  margin-right: 0;
}
.p-home .p-home__support .p-home__wrapper ul li img {
  width: 100%;
  max-width: 200px;
  opacity: 1;
  transition: opacity 0.3s ease-in-out;
}
.p-home .p-home__support .p-home__wrapper ul li img:hover {
  opacity: 0.7;
}
.p-home .p-home__schedule {
  background-color: #FAFAFA;
  padding: 80px 0 110px 0;
}
@media screen and (max-width: 768px) {
  .p-home .p-home__schedule {
    padding-top: 60px;
  }
}
@media screen and (max-width: 600px) {
  .p-home .p-home__schedule {
    background-color: #fff;
    padding: 60px 0 60px 0;
  }
}
.p-home .p-home__schedule .p-home__wrapper {
  width: 1110px;
  margin: auto;
}
@media screen and (max-width: 1200px) {
  .p-home .p-home__schedule .p-home__wrapper {
    width: calc(100% - 60px);
  }
}
@media screen and (max-width: 600px) {
  .p-home .p-home__schedule .p-home__wrapper {
    width: calc(100% - 40px);
  }
}
.p-home .p-home__schedule .p-home__wrapper .p-home__container {
  padding-bottom: 30px;
}
@media screen and (max-width: 600px) {
  .p-home .p-home__schedule .p-home__wrapper .p-home__container {
    padding-bottom: 0;
  }
}
@media screen and (max-width: 600px) {
  .p-home .p-home__schedule .p-home__wrapper .p-home__container .p-home__race-swiper-prev,
.p-home .p-home__schedule .p-home__wrapper .p-home__container .p-home__race-swiper-next,
.p-home .p-home__schedule .p-home__wrapper .p-home__container .p-home__cycling-swiper-prev,
.p-home .p-home__schedule .p-home__wrapper .p-home__container .p-home__cycling-swiper-next {
    display: none;
  }
}
.p-home .p-home__schedule .p-home__wrapper .p-home__container.--race {
  border-top: 4px solid #F54242;
  margin-bottom: 30px;
}
@media screen and (max-width: 600px) {
  .p-home .p-home__schedule .p-home__wrapper .p-home__container.--race {
    border-bottom: none;
    border-top: 4px solid #F54242;
    padding-top: 35px;
    margin-bottom: 60px;
  }
}
.p-home .p-home__schedule .p-home__wrapper .p-home__container.--race h3 {
  color: #F54242;
}
.p-home .p-home__schedule .p-home__wrapper .p-home__container.--race .p-home__eventinfo .p-home__header figcaption,
.p-home .p-home__schedule .p-home__wrapper .p-home__container.--race .p-home__eventtype {
  background-color: #F54242;
}
.p-home .p-home__schedule .p-home__wrapper .p-home__container.--cycling {
  border-top: 4px solid #3190EF;
}
@media screen and (max-width: 600px) {
  .p-home .p-home__schedule .p-home__wrapper .p-home__container.--cycling {
    border-bottom: none;
    border-top: 4px solid #3190EF;
    padding-top: 35px;
  }
}
.p-home .p-home__schedule .p-home__wrapper .p-home__container.--cycling h3 {
  color: #3190EF;
}
.p-home .p-home__schedule .p-home__wrapper .p-home__container.--cycling .p-home__eventinfo .p-home__header figcaption,
.p-home .p-home__schedule .p-home__wrapper .p-home__container.--cycling .p-home__eventtype {
  background-color: #3190EF;
}

.p-home .p-home__schedule .p-home__wrapper .p-home__container.--otherrace {
  border-top: 4px solid #54636a;
}
@media screen and (max-width: 600px) {
  .p-home .p-home__schedule .p-home__wrapper .p-home__container.--otherrace {
    border-bottom: none;
    border-top: 4px solid #54636a;
    padding-top: 35px;
  }
}
.p-home .p-home__schedule .p-home__wrapper .p-home__container.--otherrace h3 {
  color: #54636a;
}
.p-home .p-home__schedule .p-home__wrapper .p-home__container.--otherrace .p-home__eventinfo .p-home__header figcaption,
.p-home .p-home__schedule .p-home__wrapper .p-home__container.--otherrace .p-home__eventtype {
  background-color: #54636a;
}


.p-home .p-home__schedule .p-home__wrapper .p-home__container h3 {
  font-size: 27px;
  font-weight: 600;
  line-height: 1.3333333333;
  margin-bottom: 30px;
  margin-top: 30px;
}
@media screen and (max-width: 768px) {
  .p-home .p-home__schedule .p-home__wrapper .p-home__container h3 {
    /**
     * font-size … min:20px,max:27px
     * viewport … min:480px,max:768px
     */
    font-size: clamp(1.25rem, 0.521rem + 2.43vw, 1.688rem);
  }
}
@media screen and (max-width: 480px) {
  .p-home .p-home__schedule .p-home__wrapper .p-home__container h3 {
    /**
     * font-size … min:17px,max:20px
     * viewport … min:360px,max:480px
     */
    font-size: clamp(1.063rem, 0.5rem + 2.5vw, 1.25rem);
  }
}
@media screen and (max-width: 600px) {
  .p-home .p-home__schedule .p-home__wrapper .p-home__container h3 {
    text-align: center;
  }
}
.p-home .p-home__schedule .p-home__wrapper .p-home__container > div .p-home__eventinfo {
  clip-path: inset(0 0 0 0 round 10px);
  background-color: #fff;
  border: 1px solid #EBEBEB;
  border-radius: 10px;
}
@media screen and (max-width: 600px) {
  .p-home .p-home__schedule .p-home__wrapper .p-home__container > div .p-home__eventinfo {
    width: calc((100% - 10px) / 2);
  }
}
@media screen and (max-width: 600px) {
  .p-home .p-home__schedule .p-home__wrapper .p-home__container > div .p-home__eventinfo:nth-of-type(2n) {
    margin-left: 10px;
  }
}
@media screen and (max-width: 600px) {
  .p-home .p-home__schedule .p-home__wrapper .p-home__container > div .p-home__eventinfo:nth-of-type(n + 3) {
    margin-top: 10px;
  }
}
.p-home .p-home__schedule .p-home__wrapper .p-home__container > div .p-home__eventinfo > a {
  display: block;
  width: 100%;
  height: 100%;
  transition: all 0.3s ease-in-out;
}
.p-home .p-home__schedule .p-home__wrapper .p-home__container > div .p-home__eventinfo > a:hover {
  opacity: 0.7;
}
.p-home .p-home__schedule .p-home__wrapper .p-home__container > div .p-home__eventinfo .p-home__header figure {
  width: 100%;
  height: auto;
  position: relative;
  overflow: hidden;
}
.p-home .p-home__schedule .p-home__wrapper .p-home__container > div .p-home__eventinfo .p-home__header figure::before {
  content: "";
  display: block;
  padding-top: 53%;
}
.p-home .p-home__schedule .p-home__wrapper .p-home__container > div .p-home__eventinfo .p-home__header figure img {
  position: absolute;
  top: -50%;
  bottom: -50%;
  left: -50%;
  right: -50%;
  width: 100%;
  height: auto;
  margin: auto;
}
.p-home .p-home__schedule .p-home__wrapper .p-home__container > div .p-home__eventinfo .p-home__header figure figcaption {
  position: absolute;
  top: 10px;
  left: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 66px;
  height: 23px;
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  border-radius: 5px;
}
.p-home .p-home__schedule .p-home__wrapper .p-home__container > div .p-home__eventinfo .p-home__eventtype {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 18px;
  font-size: 12px;
  font-weight: 600;
  color: #fff;
  line-height: 1.3333333333;
}
.p-home .p-home__schedule .p-home__wrapper .p-home__container > div .p-home__eventinfo .p-home__content {
  position: relative;
  padding: 10px 10px 50px 10px;
  text-align: center;
}
.p-home .p-home__schedule .p-home__wrapper .p-home__container > div .p-home__eventinfo .p-home__content img {
  width: 148px;
  max-width: 100%;
  margin: auto;
}
.p-home .p-home__schedule .p-home__wrapper .p-home__container > div .p-home__eventinfo .p-home__content h4 {
  font-size: 14px;
  color: #023034;
  line-height: 1.2647058824;
  padding-bottom: 10px;
  margin: 10px 0;
  border-bottom: 1px solid #EBEBEB;
}
.p-home .p-home__schedule .p-home__wrapper .p-home__container > div .p-home__eventinfo .p-home__content time {
  display: inline-block;
  margin-bottom: 10px;
  font-family: "Barlow Condensed", serif;
  font-weight: 600;
  font-style: normal;
  font-size: 16px;
  color: #707070;
  line-height: 1.1875;
}
.p-home .p-home__schedule .p-home__wrapper .p-home__container > div .p-home__eventinfo .p-home__content time span {
  font-size: 14px;
  line-height: 1.4285714286;
  color: #707070;
  margin-left: 10px;
}
.p-home .p-home__schedule .p-home__wrapper .p-home__container > div .p-home__eventinfo .p-home__content address {
  font-size: 12px;
  font-style: normal;
}
.p-home .p-home__schedule .p-home__wrapper .p-home__container > div .p-home__eventinfo .p-home__scheduleinfo {
  position: absolute;
  left: -50%;
  right: -50%;
  bottom: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(100% - 20px);
  height: 30px;
  margin: auto;
  font-size: 14px;
  font-weight: 600;
  color: #fff;
  border-radius: 13px;
}
.p-home .p-home__schedule .p-home__wrapper .p-home__container > div .p-home__eventinfo .p-home__scheduleinfo.--open {
  background-color: #F54242;
}
.p-home .p-home__schedule .p-home__wrapper .p-home__container > div .p-home__eventinfo .p-home__scheduleinfo.--end {
  background-color: #707070;
}
.p-home .p-home__schedule .p-home__wrapper .p-home__container > div .p-home__eventinfo .p-home__scheduleinfo.--entryclosed {
  background-color: #336BB4;
}
.p-home .p-home__schedule .p-home__wrapper .p-home__container > div .p-home__eventinfo .p-home__scheduleinfo.--closed {
  background-color: #333D3E;
}
.p-home .p-home__schedule .p-home__wrapper .p-home__container > div .p-home__eventinfo .p-home__scheduleinfo.--detail {
  background-color: #F54242;
}

@media screen and (max-width: 600px) {
  .p-home .swiper {
    overflow: visible;
  }
}
.p-home .swiper .swiper-wrapper {
  display: flex;
  align-items: stretch;
  transition: transform 0.5s ease-in-out;
}
@media screen and (max-width: 600px) {
  .p-home .swiper .swiper-wrapper {
    flex-wrap: wrap;
  }
}
.p-home .swiper .swiper-wrapper .swiper-slide {
  height: auto;
}
.p-home .swiper-button-prev,
.p-home .swiper-button-next {
  width: 50px;
  height: 50px;
  transition: left 0.3s ease-in-out, right 0.3s ease-in-out;
  opacity: 1;
}
.p-home .swiper-button-prev:hover,
.p-home .swiper-button-next:hover {
  opacity: 0.7;
}
.p-home .swiper-button-prev::before, .p-home .swiper-button-prev::after,
.p-home .swiper-button-next::before,
.p-home .swiper-button-next::after {
  content: "";
  position: absolute;
}
.p-home .swiper-button-prev::before,
.p-home .swiper-button-next::before {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background-color: #fff;
  box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.35);
}
.p-home .swiper-button-prev::after,
.p-home .swiper-button-next::after {
  width: 8px;
  height: 8px;
  border: 2px solid;
  border-color: transparent transparent #023034 #023034;
}
.p-home .swiper-button-prev.swiper-button-disabled,
.p-home .swiper-button-next.swiper-button-disabled {
  visibility: hidden;
}
.p-home .swiper-button-prev {
  left: -25px;
}
.p-home .swiper-button-prev:hover {
  left: -30px;
}
.p-home .swiper-button-prev::after {
  transform: rotate(45deg);
  left: 22px;
}
.p-home .swiper-button-next {
  right: -25px;
}
.p-home .swiper-button-next:hover {
  right: -30px;
}
.p-home .swiper-button-next::after {
  transform: rotate(-135deg);
  right: 22px;
}
.p-home .p-home__hope {
  background-color: #FAFAFA;
  display: flex;
  flex-wrap: wrap;
  margin-top: 80px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-home .p-home__hope {
    flex-direction: column;
    background-color: #fff;
    margin-top: 120px;
  }
}
.p-home .p-home__hope h2 {
  text-align: left;
  position: absolute;
  top: 100px;
  left: calc(50% - 544px);
  z-index: 1;
}
@media screen and (max-width: 1170px) {
  .p-home .p-home__hope h2 {
    left: 30px;
  }
}
@media screen and (max-width: 768px) {
  .p-home .p-home__hope h2 {
    position: relative;
    top: auto;
    left: auto;
    margin: 0 auto 30px auto;
  }
}
@media screen and (max-width: 768px) {
  .p-home .p-home__hope h2 span {
    text-align: center;
  }
}
.p-home .p-home__hope .p-home__wrapper {
  width: 50%;
  background-color: #FAFAFA;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
@media screen and (max-width: 768px) {
  .p-home .p-home__hope .p-home__wrapper {
    width: 100%;
    order: 2;
  }
}
.p-home .p-home__hope .p-home__wrapper .p-home__inner {
  width: 544px;
  height: 100%;
  padding: 200px 28px 100px 0;
}
@media screen and (max-width: 1170px) {
  .p-home .p-home__hope .p-home__wrapper .p-home__inner {
    width: 100%;
    padding-left: 30px;
  }
}
@media screen and (max-width: 768px) {
  .p-home .p-home__hope .p-home__wrapper .p-home__inner {
    padding-top: 0;
  }
}
.p-home .p-home__hope .p-home__wrapper .p-home__inner h3 {
  font-weight: 700;
  font-size: 32px;
  line-height: 1.375;
  margin-bottom: 18px;
}
@media screen and (max-width: 1024px) {
  .p-home .p-home__hope .p-home__wrapper .p-home__inner h3 {
    /**
     * font-size … min:20px,max:32px
     * viewport … min:480px,max:768px
     */
    font-size: clamp(1.25rem, -1rem + 4.69vw, 2rem);
  }
}
@media screen and (max-width: 768px) {
  .p-home .p-home__hope .p-home__wrapper .p-home__inner h3 {
    /**
     * font-size … min:20px,max:32px
     * viewport … min:480px,max:768px
     */
    font-size: clamp(1.25rem, 4.17vw, 2rem);
    line-height: 1.4;
  }
}
.p-home .p-home__hope .p-home__wrapper .p-home__inner p {
  font-size: 15px;
  line-height: 1.9333333333;
  letter-spacing: -0.001em;
}
.p-home .p-home__hope .p-home__wrapper .p-home__inner a {
  margin-top: 50px;
}
@media screen and (max-width: 768px) {
  .p-home .p-home__hope .p-home__wrapper .p-home__inner a {
    margin: 60px auto 0 auto;
  }
}
.p-home .p-home__hope .p-home__image {
  width: 50%;
  display: flex;
  flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  .p-home .p-home__hope .p-home__image {
    width: 100%;
    order: 1;
  }
}
.p-home .p-home__hope .p-home__image div {
  width: 100%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
@media screen and (max-width: 768px) {
  .p-home .p-home__hope .p-home__image div {
    width: 100%;
    min-height: auto;
    aspect-ratio: 376/177;
  }
}
.p-home .p-home__hope .p-home__image div:nth-of-type(1) {
  background-image: url(../img/home/img_hope1.webp);
}
.p-home .p-home__hope .p-home__image div:nth-of-type(2) {
  background-image: url(../img/home/img_hope2.webp);
}

/**
 * 新着情報
 *
 * clamp関数の値を計算するサイト
 * https://min-max-calculator.9elements.com/
 */
.p-news {
  padding: 100px 0 130px 0;
}
.p-news .p-news__wrapper {
  /*.p-news__nav{
    width: 852px;
    margin: 50px auto 0 auto;
    position: relative;

    @media screen and (max-width: 1050px){
      width: calc(100% - (20px * 2) - (74px * 2));
    }

    @media screen and (max-width: $switch2width){
      margin-top: 30px;
    }

    ul{
      display: flex;
      flex-wrap: wrap;


      li{
        width: 50%;
        height: 50px;
        position: relative;

        &.p-news__prev,
        &.p-news__next{
          a{
            position: absolute;
            top: 0;
            transition: all 0.3s ease-in-out;
            opacity: 1;

            @media screen and (max-width: $switch2width){
              width: 74px;
            }

            &::before{
              position: absolute;
              top: 0;
              display: flex;
              align-items: center;
              justify-content: center;
              width: 60px;
              height: 50px;
              font-family: "Barlow Condensed", serif;
              font-weight: 400;
              font-size: 22px;
              letter-spacing: -0.001em;
              line-height: calc(22 / 97);
            }

            &:hover{
              opacity: 0.7;
            }

            span{
              display: flex;
              width: 50px;
              height: 50px;
              position: absolute;
              top: 0;

              &::before, 
              &::after{
                content: "";
                position: absolute;
                top: -50%;
                bottom: -50%;
                margin: auto;
              }

              &::before{
                width: 100%;
                height: 100%;
                border-radius: 50%;
                background-color: #fff;
                box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.35);
              }

              &::after{
                width: 8px;
                height: 8px;
                border: 2px solid;
                border-color: transparent transparent $maincolor $maincolor;
              }
            }
          }
        }

        &.p-news__prev{
          a{
            left: 0;

            &:hover{
              left: -10px;
            }

            &::before{
              content: "Preview";
              left: -74px;
              justify-content: flex-end;
            }

            span{
              left: 0;

              &::after{
                transform: rotate(45deg);
                left: 22px;
              }
            }
          }
        }

        &.p-news__next{
          a{
            right: 0;

            &:hover{
              right: -10px;
            }

            &::before{
              content: "Next";
              right: -74px;
              justify-content: flex-start;
            }

            span{
              right: 0;

              &::after{
                transform: rotate(-135deg);
                right: 22px
              }
            }
          }
        }
      }
    }

    .p-news__tolist{
      position: absolute;
      top: 0;
      left: -50%;
      right: -50%;
      display: flex;
      align-items: center;
      justify-content: center;
      max-width: 200px;
      width: 100%;
      height: 50px;
      margin: auto;
      font-size: 17px;
      font-weight: 600;
      line-height: calc(46 / 17);
      color: $maincolor;
      border-radius: 25px;
      box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.35);
      transition: all 0.3s ease-in-out;
      opacity: 1;

      @media screen and (max-width: 680px){
        top: 80px;
      }

      &:hover{
        opacity: 0.7;
      }
    }
  }*/
}
.p-news .p-news__wrapper > h2 {
  margin-bottom: 80px;
}
@media screen and (max-width: 900px) {
  .p-news .p-news__wrapper > h2 {
    margin-bottom: 60px;
  }
}
.p-news .p-news__wrapper .p-news__list,
.p-news .p-news__wrapper .p-news__single {
  width: 900px;
  margin: auto;
}
@media screen and (max-width: 960px) {
  .p-news .p-news__wrapper .p-news__list,
.p-news .p-news__wrapper .p-news__single {
    width: calc(100% - 40px);
  }
}
@media screen and (max-width: 900px) {
  .p-news .p-news__wrapper .p-news__list ul {
    border-top: 1px solid #E3E3E3;
  }
}
.p-news .p-news__wrapper .p-news__list ul li {
  padding: 30px 0;
  border-top: 1px solid #E3E3E3;
}
@media screen and (max-width: 900px) {
  .p-news .p-news__wrapper .p-news__list ul li {
    border-top: none;
    border-bottom: 1px solid #E3E3E3;
  }
}
.p-news .p-news__wrapper .p-news__list ul li a {
  display: flex;
  flex-wrap: wrap;
}
.p-news .p-news__wrapper .p-news__list ul li a:hover figure img {
  opacity: 0.7;
}
.p-news .p-news__wrapper .p-news__list ul li a:hover div p {
  color: #F54242;
}
.p-news .p-news__wrapper .p-news__list ul li a figure {
  width: 158px;
  aspect-ratio: 158/120;
  margin-right: 30px;
}
@media screen and (max-width: 600px) {
  .p-news .p-news__wrapper .p-news__list ul li a figure {
    width: 100%;
    margin-right: 0;
    margin-bottom: 10px;
  }
}
.p-news .p-news__wrapper .p-news__list ul li a figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 1;
  transition: opacity 0.3s ease-in-out;
}
.p-news .p-news__wrapper .p-news__list ul li a div {
  width: calc(100% - 158px - 30px);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
}
@media screen and (max-width: 900px) {
  .p-news .p-news__wrapper .p-news__list ul li a div {
    display: block;
  }
}
@media screen and (max-width: 600px) {
  .p-news .p-news__wrapper .p-news__list ul li a div {
    width: 100%;
  }
}
.p-news .p-news__wrapper .p-news__list ul li a div time {
  width: 90px;
  font-family: "Barlow Condensed", serif;
  font-weight: 400;
  font-size: 16px;
  font-style: normal;
  letter-spacing: -0.001em;
  line-height: 2.0625;
}
@media screen and (max-width: 900px) {
  .p-news .p-news__wrapper .p-news__list ul li a div time {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .p-news .p-news__wrapper .p-news__list ul li a div time {
    /**
     * font-size … min:20px,max:32px
     * viewport … min:480px,max:768px
     */
    font-size: clamp(1.063rem, 0.764rem + 1.27vw, 1.375rem);
  }
}
.p-news .p-news__wrapper .p-news__list ul li a div p {
  width: calc(100% - 90px);
  font-weight: 300;
  font-size: 22px;
  letter-spacing: -0.001em;
  line-height: 1.65;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  transition: color 0.2s ease-in-out;
}
@media screen and (max-width: 900px) {
  .p-news .p-news__wrapper .p-news__list ul li a div p {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .p-news .p-news__wrapper .p-news__list ul li a div p {
    /**
     * font-size … min:20px,max:32px
     * viewport … min:480px,max:768px
     */
    font-size: clamp(1.063rem, 0.764rem + 1.27vw, 1.375rem);
  }
}
.p-news .p-news__wrapper .p-news__single .p-news__header {
  margin-bottom: 80px;
  padding-bottom: 30px;
  border-bottom: 1px solid #E3E3E3;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-news .p-news__wrapper .p-news__single .p-news__header {
    margin-bottom: 50px;
    padding-top: 30px;
    padding-bottom: 0;
    border-bottom: none;
    border-top: 1px solid #E3E3E3;
    text-align: left;
  }
}
.p-news .p-news__wrapper .p-news__single .p-news__header time {
  font-family: "Barlow Condensed", serif;
  font-weight: 400;
  font-size: 20px;
  font-style: normal;
  letter-spacing: -0.001em;
  line-height: 1.65;
}
@media screen and (max-width: 768px) {
  .p-news .p-news__wrapper .p-news__single .p-news__header time {
    /**
     * font-size … min:16px,max:20px
     * viewport … min:375px,max:768px
     */
    font-size: clamp(1rem, 0.761rem + 1.02vw, 1.25rem);
  }
}
.p-news .p-news__wrapper .p-news__single .p-news__header h3 {
  margin-top: 30px;
  font-weight: 600;
  font-size: 30px;
  line-height: 1.1;
  letter-spacing: -0.001em;
}
@media screen and (max-width: 768px) {
  .p-news .p-news__wrapper .p-news__single .p-news__header h3 {
    margin-top: 10px;
    line-height: 1.1818181818;
    /**
     * font-size … min:17px,max:30px
     * viewport … min:375px,max:768px
     */
    font-size: clamp(1.063rem, 0.287rem + 3.31vw, 1.875rem);
  }
}
.p-news .p-news__wrapper .p-news__single .p-news__note {
  margin-top: 80px;
}
@media screen and (max-width: 768px) {
  .p-news .p-news__wrapper .p-news__single .p-news__note {
    margin-top: 60px;
  }
}
@media screen and (max-width: 480px) {
  .p-news .p-news__wrapper .p-news__single .p-news__note {
    margin-top: 30px;
  }
}
.p-news .p-news__wrapper .p-news__pager {
  width: 852px;
  margin: 50px auto 0 auto;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
@media screen and (max-width: 1050px) {
  .p-news .p-news__wrapper .p-news__pager {
    width: calc(100% - 40px);
  }
}
@media screen and (max-width: 768px) {
  .p-news .p-news__wrapper .p-news__pager {
    margin-top: 30px;
  }
}
.p-news .p-news__wrapper .p-news__pager a,
.p-news .p-news__wrapper .p-news__pager .current,
.p-news .p-news__wrapper .p-news__pager .dots {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  height: 50px;
  font-family: "Barlow Condensed", serif;
  font-weight: 400;
  font-size: 24px;
  color: #707070;
  letter-spacing: -0.001em;
  line-height: 1.1666666667;
}
.p-news .p-news__wrapper .p-news__pager .current {
  font-size: 32px;
  line-height: 1.0625;
  color: #F54242;
}
.p-news .p-news__wrapper .p-news__pager .page-numbers:has(+ .dots)::after {
  content: none !important;
}
.p-news .p-news__wrapper .p-news__pager .dots {
  margin: 0 10px;
}
.p-news .p-news__wrapper .p-news__pager a:not(.prev):not(.next):not(.lastpage)::after,
.p-news .p-news__wrapper .p-news__pager .current:not(.lastpage)::after {
  content: ".";
  display: flex;
  width: 20px;
  height: 100%;
  align-items: flex-end;
  justify-content: center;
  font-size: 20px;
  color: #707070;
}
.p-news .p-news__wrapper .p-news__pager a.prev, .p-news .p-news__wrapper .p-news__pager a.next {
  width: 50px;
  position: relative;
  font-size: 0;
  margin-top: 9px;
}
.p-news .p-news__wrapper .p-news__pager a.prev::before, .p-news .p-news__wrapper .p-news__pager a.prev::after, .p-news .p-news__wrapper .p-news__pager a.next::before, .p-news .p-news__wrapper .p-news__pager a.next::after {
  content: "";
  position: absolute;
  top: -50%;
  bottom: -50%;
  margin: auto;
  transition: all 0.3s ease-in-out;
  opacity: 1;
}
.p-news .p-news__wrapper .p-news__pager a.prev:hover::before, .p-news .p-news__wrapper .p-news__pager a.prev:hover::after, .p-news .p-news__wrapper .p-news__pager a.next:hover::before, .p-news .p-news__wrapper .p-news__pager a.next:hover::after {
  opacity: 0.7;
}
.p-news .p-news__wrapper .p-news__pager a.prev::before, .p-news .p-news__wrapper .p-news__pager a.next::before {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background-color: #fff;
  box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.35);
}
.p-news .p-news__wrapper .p-news__pager a.prev::after, .p-news .p-news__wrapper .p-news__pager a.next::after {
  width: 8px;
  height: 8px;
  border: 2px solid;
  border-color: transparent transparent #023034 #023034;
}
.p-news .p-news__wrapper .p-news__pager a.prev {
  margin-right: 20px;
}
.p-news .p-news__wrapper .p-news__pager a.prev::after {
  transform: rotate(45deg);
  left: 22px;
}
.p-news .p-news__wrapper .p-news__pager a.next {
  margin-left: 20px;
}
.p-news .p-news__wrapper .p-news__pager a.next::after {
  transform: rotate(-135deg);
  right: 22px;
}
/**
 * ポイントランキング
 *
 * clamp関数の値を計算するサイト
 * https://min-max-calculator.9elements.com/
 */
.p-ranking .p-ranking__subheader {
  background-image: url(../img/ranking/img_header.webp);
}
.p-ranking .p-ranking__content > h1 {
  margin-top: 60px;
}

/**
 * リザルト
 *
 */
.p-result .p-result__subheader {
  background-image: url(../img/result/img_header.webp);
}
.p-result .p-result__content > h1 {
  margin-top: 60px;
}


/**
 * POST詳細ページ
 *
 * clamp関数の値を計算するサイト
 * https://min-max-calculator.9elements.com/
 */
.p-single__editor {
  width: 100%;
  padding: 20px 10px;
  background-color: #fff;
  overflow: hidden;
}
.p-single__editor h1, .p-single__editor h2, .p-single__editor h3, .p-single__editor h4, .p-single__editor h5, .p-single__editor h6, .p-single__editor ul, .p-single__editor ol, .p-single__editor dl, .p-single__editor li, .p-single__editor dt, .p-single__editor dd, .p-single__editor p, .p-single__editor div, .p-single__editor span, .p-single__editor img, .p-single__editor a, .p-single__editor table, .p-single__editor tr, .p-single__editor th, .p-single__editor td {
  margin: 0;
  padding: 0;
  border: 0;
  letter-spacing: 1px;
  font-weight: 400;
  font-size: clamp(14px, 10.6666666667px + 0.0069 * 100vw, 16px);
  vertical-align: baseline;
  box-sizing: border-box;
  line-height: 160%;
  word-wrap: break-word;
  max-width: 100%;
}
.p-single__editor h1, .p-single__editor h2, .p-single__editor h3, .p-single__editor h4, .p-single__editor h5, .p-single__editor h6 {
  clear: both;
  font-weight: 600;
  margin-bottom: 10px;
}
.p-single__editor h1 {
  font-size: 20px;
  line-height: 1.3;
  padding: 8px;
  border-bottom: dashed 1px #023034;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-single__editor h1 {
    /**
     * font-size … min:17px,max:20px
     * viewport … min:480px,max:768px
     */
    font-size: clamp(1.063rem, 0.75rem + 1.04vw, 1.25rem);
  }
}
.p-single__editor h1::before, .p-single__editor h1::after {
  content: "";
  width: 50%;
  height: 1px;
  position: absolute;
  top: 0;
}
.p-single__editor h1::before {
  left: 0;
  background-color: #F54242;
}
.p-single__editor h1::after {
  left: 50%;
  background-color: #3190EF;
}
.p-single__editor h2 {
  font-size: 18px;
  line-height: 1.4444444444;
  padding: 8px;
  border-top: solid 1px #023034;
  border-bottom: dashed 1px #023034;
}
@media screen and (max-width: 768px) {
  .p-single__editor h2 {
    /**
     * font-size … min:17px,max:18px
     * viewport … min:480px,max:768px
     */
    font-size: clamp(1.063rem, 0.958rem + 0.35vw, 1.125rem);
  }
}
.p-single__editor h3 {
  font-size: 17px;
  line-height: 1.5294117647;
  background-color: #EBEBEB;
  border-radius: 4px;
  padding: 8px;
}
@media screen and (max-width: 768px) {
  .p-single__editor h3 {
    /**
     * font-size … min:15px,max:17px
     * viewport … min:480px,max:768px
     */
    font-size: clamp(0.938rem, 0.729rem + 0.69vw, 1.063rem);
  }
}
.p-single__editor h4 {
  font-size: 17px;
  line-height: 1.5294117647;
  color: #fff;
  background-color: #B10000;
  border-radius: 4px;
  padding: 8px;
}
@media screen and (max-width: 768px) {
  .p-single__editor h4 {
    /**
     * font-size … min:15px,max:17px
     * viewport … min:480px,max:768px
     */
    font-size: clamp(0.938rem, 0.729rem + 0.69vw, 1.063rem);
  }
}
.p-single__editor h5 {
  font-size: 17px;
  line-height: 1.5294117647;
}
@media screen and (max-width: 768px) {
  .p-single__editor h5 {
    /**
     * font-size … min:15px,max:17px
     * viewport … min:480px,max:768px
     */
    font-size: clamp(0.938rem, 0.729rem + 0.69vw, 1.063rem);
  }
}
.p-single__editor h6 {
  font-size: 26px;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .p-single__editor h6 {
    /**
     * font-size … min:22px,max:26px
     * viewport … min:480px,max:768px
     */
    font-size: clamp(1.375rem, 0.958rem + 1.39vw, 1.625rem);
  }
}
.p-single__editor pre {
  white-space: normal;
}
.p-single__editor ul {
  padding-left: 23px;
}
.p-single__editor ul li {
  list-style-type: disc;
}
.p-single__editor ol {
  padding-left: 23px;
}
.p-single__editor ol li {
  list-style-type: decimal;
}
.p-single__editor iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 896/504;
}
.p-single__editor p {
  font-size: 17px;
  font-weight: 300;
  line-height: 1.5294117647;
}
@media screen and (max-width: 768px) {
  .p-single__editor p {
    /**
     * font-size … min:15px,max:17px
     * viewport … min:480px,max:768px
     */
    font-size: clamp(0.938rem, 0.729rem + 0.69vw, 1.063rem);
  }
}
.p-single__editor a {
  color: #023034;
}
.p-single__editor img {
  height: auto;
  max-width: 100%;
}
.p-single__editor .alignleft {
  float: left;
  margin: 10px 10px 10px 0;
}
.p-single__editor .alignright {
  float: right;
  margin: 10px 0 10px 10px;
}
.p-single__editor .aligncenter {
  clear: both;
  margin: 10px auto;
}
.p-single__editor .wp-caption {
  background: transparent;
  border: none;
  margin: 0 0 28px 0;
  max-width: 100%;
  padding: 0;
  text-align: inherit;
}
.p-single__editor .wp-caption.alignleft {
  margin: 10px 10px 10px 0;
}
.p-single__editor .wp-caption.alignright {
  margin: 10px 0 10px 10px;
}
.p-single__editor .wp-caption.aligncenter {
  margin: 10px auto;
}
.p-single__editor .wp-caption .wp-caption-text,
.p-single__editor .wp-caption-dd {
  line-height: 160%;
  padding: 7px 0;
}

.p-single__pagenavi {
  margin-top: 150px;
}
@media screen and (max-width: 480px) {
  .p-single__pagenavi {
    margin-top: 54px;
  }
}
.p-single__pagenavi--job {
  margin-top: 75px;
}
@media screen and (max-width: 480px) {
  .p-single__pagenavi--job {
    margin-top: 40px;
  }
}
.p-single__pagenavi .wp-pagenavi {
  justify-content: space-between;
}
@media screen and (max-width: 480px) {
  .p-single__pagenavi .wp-pagenavi {
    justify-content: center;
    flex-wrap: nowrap;
  }
  .p-single__pagenavi .wp-pagenavi a.page-numbers.next {
    margin-left: 10px;
  }
  .p-single__pagenavi .wp-pagenavi a.page-numbers.prev {
    margin-right: 10px;
  }
}
.p-single__pagenavi > a {
  margin: -136px auto 0 auto;
  width: 375px;
  height: 80px;
  border-radius: 40px;
}
@media screen and (max-width: 480px) {
  .p-single__pagenavi > a {
    margin-top: 0;
    width: 250px;
    height: 50px;
  }
}

/**
 * Zwift VR Series
 *
 * clamp関数の値を計算するサイト
 * https://min-max-calculator.9elements.com/
 */
.p-zwift {
  margin-top: 0;
}
.p-zwift .p-zwift__image {
  aspect-ratio: 1380/516;
  margin-bottom: 15px;
}
.p-zwift .p-zwift__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-zwift .p-zwift__buttons {
  width: 900px;
  margin: auto;
  padding-bottom: 60px;
}
@media screen and (max-width: 980px) {
  .p-zwift .p-zwift__buttons {
    width: calc(100% - 40px);
  }
}
.p-zwift .p-zwift__buttons.--single {
  max-width: 260px;
}
.p-zwift .p-zwift__buttons.--single ul .p-zwift__button {
  width: 100%;
}
.p-zwift .p-zwift__buttons.--twins {
  max-width: 546px;
}
.p-zwift .p-zwift__buttons.--twins ul .p-zwift__button {
  width: calc((100% - 26px) / 2);
}
.p-zwift .p-zwift__buttons.--triplets ul .p-zwift__button {
  width: calc((100% - 52px) / 3);
}
@media screen and (max-width: 740px) {
  .p-zwift .p-zwift__buttons.--single, .p-zwift .p-zwift__buttons.--twins, .p-zwift .p-zwift__buttons.--triplets {
    max-width: 260px;
  }
  .p-zwift .p-zwift__buttons.--single ul .p-zwift__button, .p-zwift .p-zwift__buttons.--twins ul .p-zwift__button, .p-zwift .p-zwift__buttons.--triplets ul .p-zwift__button {
    width: 100%;
  }
}
.p-zwift .p-zwift__buttons ul {
  display: flex;
  flex-wrap: wrap;
}
.p-zwift .p-zwift__buttons ul .p-zwift__button {
  height: 60px;
}
.p-zwift .p-zwift__buttons ul .p-zwift__button:nth-of-type(n + 2) {
  margin-left: 26px;
}
@media screen and (max-width: 740px) {
  .p-zwift .p-zwift__buttons ul .p-zwift__button:nth-of-type(n + 2) {
    margin-left: 0;
    margin-top: 20px;
  }
}
.p-zwift .p-zwift__buttons ul .p-zwift__button.--first a {
  background-color: #fff;
  color: #023034;
}
.p-zwift .p-zwift__buttons ul .p-zwift__button.--second a {
  background-color: #E86B00;
}
.p-zwift .p-zwift__buttons ul .p-zwift__button.--third a {
  background-color: #F54242;
}
.p-zwift .p-zwift__buttons ul .p-zwift__button a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  border-radius: 30px;
  box-shadow: 0px 0px 16px 0px rgba(0, 0, 0, 0.16);
  font-size: 17px;
  font-weight: 600;
  letter-spacing: -0.001em;
  line-height: 1.2941176471;
  color: #fff;
  opacity: 1;
  transition: opacity 0.3s ease-in-out;
}
.p-zwift .p-zwift__buttons ul .p-zwift__button a:hover {
  opacity: 0.7;
}

/*----------------------------------------
  clearfix
----------------------------------------*/
.u-cf::after {
  content: "";
  display: block;
  clear: both;
}

/*----------------------------------------
  font
----------------------------------------*/
.u-ff__yumincho {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "Noto Serif JP", serif;
}

.u-ff__heebo {
  font-family: "Heebo", sans-serif;
}

/*----------------------------------------
  margin
----------------------------------------*/
.u-mt__wide {
  margin-top: 120px;
}
@media screen and (max-width: 768px) {
  .u-mt__wide {
    margin-top: 60px;
  }
}
.u-mt__normal {
  margin-top: 60px;
}
@media screen and (max-width: 480px) {
  .u-mt__normal {
    margin-top: 60px;
  }
}

.u-mt__narrow {
  margin-top: 0px;
}
@media screen and (max-width: 480px) {
  .u-mt__narrow {
    margin-top: 0px;
  }
}

.u-mb__wide {
  margin-bottom: 120px;
}
@media screen and (max-width: 768px) {
  .u-mb__wide {
    margin-bottom: 60px;
  }
}
.u-mb__normal {
  margin-bottom: 60px;
}
@media screen and (max-width: 480px) {
  .u-mb__normal {
    margin-bottom: 60px;
  }
}

.u-mb__narrow {
  margin-bottom: 0px;
}
@media screen and (max-width: 480px) {
  .u-mb__narrow {
    margin-bottom: 0px;
  }
}

/*----------------------------------------
  padding
----------------------------------------*/
.u-pt__wide {
  padding-top: 120px;
}
@media screen and (max-width: 480px) {
  .u-pt__wide {
    padding-top: 60px;
  }
}

.u-pt__normal {
  padding-top: 60px;
}
@media screen and (max-width: 480px) {
  .u-pt__normal {
    padding-top: 60px;
  }
}

.u-pt__narrow {
  padding-top: 0px;
}
@media screen and (max-width: 480px) {
  .u-pt__narrow {
    padding-top: 0px;
  }
}

.u-pb__wide {
  padding-bottom: 120px;
}
@media screen and (max-width: 480px) {
  .u-pb__wide {
    padding-bottom: 60px;
  }
}

.u-pb__normal {
  padding-bottom: 60px;
}
@media screen and (max-width: 480px) {
  .u-pb__normal {
    padding-bottom: 60px;
  }
}

.u-pb__narrow {
  padding-bottom: 0px;
}
@media screen and (max-width: 480px) {
  .u-pb__narrow {
    padding-bottom: 0px;
  }
}

/*----------------------------------------
	position
----------------------------------------*/
.u-pos__flex__center {
  display: flex;
  align-items: center;
  justify-content: center;
}
.u-pos__flex__center--left {
  justify-content: flex-start;
}
.u-pos__flex__center--right {
  justify-content: flex-end;
}

/*# sourceMappingURL=app.css.map */


/* racelink～のアンカーは、ヘッダー分（140px）オフセットする */
/*
[id^="racelink"] {
  position: relative;
  padding-top: 140px;
  margin-top: -140px;
}
*/
/*----------------------------------------
	追加
----------------------------------------*/

/* =========================
   FV（ヒーロー動画）
   SP：縦長 / PC：100vh
========================= */

/* 横スクロール完全防止（保険） */
html, body {
  overflow-x: clip;
}

/* ===== 共通（＝SP基準） ===== */
.p-hero {
  width: 100%;
  height: 75vh;              /* ← SPは縦長 */
  position: relative;
  overflow: hidden;
}

.p-hero__video {
  position: absolute;
  top: 50%;
  left: 50%;

  width: 100%;
  height: 100%;

  transform: translate(-50%, -50%);
  object-fit: cover;
  object-position: center center;

  border-radius: 0;
  display: block;
}

/* ===== PCだけ上書き ===== */
@media screen and (min-width: 1024px) {
  .p-hero {
    height: calc(100vh - 145px);  /* ★ ヘッダー分を引く */
  }
}

/* =========================
   FV：SPだけ縦長に固定（強制上書き）
   ※ 必ずCSSの一番最後に置く
========================= */

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

  /* 親に「高さ」を強制（PCのautoを潰す） */
  .p-hero{
    width: 100% !important;
    height: 55vh !important;      /* ← 縦長（70〜95vhで調整） */
    overflow: hidden !important;
    position: relative !important;
  }

  /* videoを親に100%で張り付けて cover する */
  .p-hero__video{
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    width: 100% !important;
    height: 100% !important;
    transform: translate(-50%, -50%) !important;

    object-fit: cover !important;
    object-position: center center !important;

    border-radius: 0 !important;
    display: block !important;
  }
}


.gtranslate_wrapper{
	margin: 0 0 0 10px;
}
.langage{
	width: 80px;
}
.langage_footer > .fs12{
	font-size: 12px;
}
@media screen and (max-width: 1024px) {
.langage{
	display: none;	
}
}
.langage_footer{
    text-align: center;
    padding: 15px 0;
    background-color: #fff;
}
.langage_footer .gtranslate_wrapper {
    margin: 0 0 0 0;
    text-align: center;
    display: flex;
	align-items: center;
	justify-content: center;
}

/* =========================
   2ボタン横並びコンテナ
========================= */
.c-fv-buttons{
  display:flex;
  width:100%;
  max-width:1366px;      /* ←ご希望：合計の上限 */
  margin:0 auto;
  padding:0 12px;
  box-sizing:border-box;
}

.c-fv-button{
  position:relative;
  flex:1;
  min-width:0;
  display:block;          /* ←a要素をブロック化（iOS対策にも有効） */
  overflow:hidden;
  text-decoration:none;
  color:#fff;
  box-sizing:border-box;
  aspect-ratio:16 / 11;   /* PC/対応ブラウザ用 */
}

/* ★SPで aspect-ratio が効かない端末の“高さ保険” */
@media (max-width:767px){
  .c-fv-buttons{
    flex-direction:column;
    padding:0 12px;
  }
  .c-fv-button{
    width:100%;
    aspect-ratio:auto;                  /* ←効かない前提で切る */
    min-height: clamp(160px, 80vw, 520px);  /* ←ここで縦サイズを確保（好みで調整） */
  }
}

/* 背景 */
.c-fv-button__bg{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  transition:transform .6s ease;
  z-index:1;
}

/* hover前の暗さ（共通） */
.c-fv-button__shade{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,0.5);
  z-index:2;
}

/* hoverオーバーレイ */
.c-fv-button__overlay{
  position:absolute;
  inset:0;
  opacity:0;
  transition:opacity .4s ease;
  z-index:3;
}

.c-fv-button:hover .c-fv-button__bg{ transform:scale(1.05); }
.c-fv-button:hover .c-fv-button__overlay{ opacity:1; }

/* テキスト */
.c-fv-button__text{
  position:absolute;
  top:2%;
  left:50%;
  transform:translateX(-50%);
  width:100%;
  padding:0 24px;
  text-align:center;
  z-index:4;
  color:#fff;
}

.c-fv-button__title{
  font-family:'Barlow Condensed', sans-serif;
  font-style:italic;
  font-weight:500; /* Medium相当 */
  font-size: clamp(56px, 8vw, 120px);
  letter-spacing:.10em;
  line-height:1.1;
  margin:0;
  color:#fff;
  text-shadow:0 2px 8px rgba(0,0,0,.45);
}

.c-fv-button__subtitle{
  display:block;
  font-size: clamp(16px, 2vw, 24px);
  letter-spacing:.08em;
  margin:0;
  font-weight:700;
  color:#fff;
  text-shadow:0 2px 6px rgba(0,0,0,.4);
}

/* 下の丸アイコン */
.c-fv-button__icon{
  position:absolute;
  bottom:24px;
  left:50%;
  transform:translateX(-50%);
  width:56px;
  height:56px;
  background:#fff;
  border-radius:50%;
  z-index:4;
  display:flex;
  align-items:center;
  justify-content:center;
}
.c-fv-button__icon span{
  width:10px;
  height:10px;
  border-right:2px solid #111;
  border-bottom:2px solid #111;
  transform:rotate(45deg);
  margin-top:-4px;
}

/* SP：丸アイコン小さく */
@media (max-width:1100px){
  .c-fv-button__icon{
    width:40px;
    height:40px;
    bottom:16px;
  }
  .c-fv-button__icon span{
    width:7px;
    height:7px;
    margin-top:-2px;
  }
}

/* 個別（赤） */
.c-fv-button.--race{ border:10px solid #e64032; }
.c-fv-button.--race .c-fv-button__bg{
  background-image:url("../img/home/img_mv_race.webp");
}
.c-fv-button.--race .c-fv-button__overlay{
  background:rgba(220, 40, 40, 0.65);
  mix-blend-mode:multiply;
}

/* 個別（青） */
.c-fv-button.--cycling{ border:10px solid #2f7fe3; }
.c-fv-button.--cycling .c-fv-button__bg{
  background-image:url("../img/home/img_mv_cycling.webp");
}
.c-fv-button.--cycling .c-fv-button__overlay{
  background:rgba(40, 110, 220, 0.65);
  mix-blend-mode:multiply;
}

/* SP：枠を少し細く */
@media (max-width:767px){
  .c-fv-button.--race{ border:7px solid #e64032; }
  .c-fv-button.--cycling{ border:7px solid #2f7fe3; }
}

/* ==============================
   UCI HERO セクション
   ============================== */
.p-uci-hero {
  padding: 100px 0;
  background: #fff;
  text-align: center;
}

.p-uci-hero__inner {
  margin: 0 auto;
  max-width: 900px;
}

.p-uci-hero__logo {
  display: block;
  margin: 0 auto 50px;
  width: 100%;
  max-width: 400px;
  height: auto;
}

.p-uci-hero__text {
  margin-top: 0;
}

/* キャッチコピー */
.p-uci-hero__catch {
  font-size: 30px;
  font-weight: bold;
  color: #0b0b0b;
  margin-bottom: 50px;
  line-height: 1.3;
}

/* リード文 */
.p-uci-hero__lead {
  font-size: 17px;
  color: #444;
  line-height: 1.8;
  margin-bottom: 0;
}
@media (max-width: 767px) {
  .p-uci-hero__title {
    text-align: center;
  }
  .p-uci-hero__text {
    text-align: left;
  }
  .p-uci-hero__catch {
    font-size: 22px;
    line-height: 1.4;
    margin-bottom: 30px;
    text-align: center;
  }
  .p-uci-hero__lead {
    font-size: 15px;
    line-height: 1.7;
  }
}


/* ==============================
   max-width レスポンシブ
   ============================== */


/* タブレット・小さめPC（〜1024px） */
@media screen and (max-width: 1024px) {
  .p-uci-hero__logo {
    max-width: 360px;
    margin-bottom: 22px;
  }
  .p-uci-hero__catch {
    font-size: 30px;
  }
  .p-uci-hero__lead {
    font-size: 17px;
  }
  .p-uci-hero {
    padding: 38px 20px;
  }
}
/* スマホ大〜タブレット（〜768px） */
@media screen and (max-width: 768px) {
  .p-uci-hero__logo {
    max-width: 320px;
    margin-bottom: 50px;
  }
  .p-uci-hero__catch {
    font-size: 26px;
  }
  .p-uci-hero__lead {
    font-size: 16px;
  }
  .p-uci-hero {
    padding: 60px 18px;
  }
}
/* スマホ（〜480px） */
@media screen and (max-width: 480px) {
  .p-uci-hero__logo {
    max-width: 260px;
    margin-bottom: 30px;
  }
  .p-uci-hero__catch {
    font-size: 22px;
    margin-bottom: 30px;
  }
  .p-uci-hero__lead {
    font-size: 14px;
  }
  .p-uci-hero {
    padding: 60px 15px;
  }
}


/* ==============================
   gallaryタブ表示
   ============================== */
.p-gallery__tabs{
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  margin: 40px auto 0;
  width: 100%;
  flex-wrap: wrap; /* 2027,2028…増えてもOK */
}

.p-gallery__tab{
  appearance: none;
  padding: 12px 22px;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  border: 1px solid #e5e5e5;
  border-bottom: none;
  background: #fff;
  color: #333;
  cursor: pointer;
  transition: 
    background .15s ease,
    transform .15s ease,
    box-shadow .15s ease,
    border-color .15s ease;
}

.p-gallery__tab:hover{
  background: #fff;
}

.p-gallery__tab.is-active{
  background: #F2F2F2;
  border-color: #111;
  box-shadow: 0 10px 20px rgba(0,0,0,.08);
  font-weight: 700;
}

/* スマホ */
@media (max-width: 767px){
  .p-gallery__tab{
    padding: 10px 16px;
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
  }
}

.p-gallery__tabContent{ display:none; }
.p-gallery__tabContent.is-active{ display:block; }




/* =========================
   FV直下：シリーズスポンサー
========================= */


.p-sponsor.p-sponsor--series {
  padding: 40px 0 50px 0;
  border-bottom: 1px solid #EBEBEB;
  background-color: #fff;
}
.p-sponsor.p-sponsor--series .p-sponsor__wrapper {
  display: flex;
  flex-wrap: wrap;
  width: 950px;
  margin: auto;
}
@media screen and (max-width: 1000px) {
  .p-sponsor.p-sponsor--series .p-sponsor__wrapper {
    width: 480px;
  }
}
@media screen and (max-width: 540px) {
  .p-sponsor.p-sponsor--series .p-sponsor__wrapper {
    width: calc(100% - 40px);
  }
}
.p-sponsor.p-sponsor--series .p-sponsor__wrapper div, .p-sponsor.p-sponsor--series .p-sponsor__wrapper ul {
  display: flex;
  width: 100%;
  justify-content: center;
}
@media screen and (max-width: 1000px) {
  .p-sponsor.p-sponsor--series .p-sponsor__wrapper div, .p-sponsor.p-sponsor--series .p-sponsor__wrapper ul {
    width: 100%;
  }
}
.p-sponsor.p-sponsor--series .p-sponsor__wrapper div {
  justify-content: center;
  width: 400px;
  margin: 0 auto 10px auto;
}
@media screen and (max-width: 1000px) {
  .p-sponsor.p-sponsor--series .p-sponsor__wrapper div {
    justify-content: center;
    width: 400px;
    margin: 0 auto 10px auto;
  }
}
@media screen and (max-width: 540px) {
  .p-sponsor.p-sponsor--series .p-sponsor__wrapper div {
    width: 268px;
  }
}
.p-sponsor.p-sponsor--series .p-sponsor__wrapper div p {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 120px;
  font-family: "Barlow Condensed", serif;
  font-weight: 500;
  font-style: italic;
  font-size: 19px;
  letter-spacing: 0.01em;
  line-height: 1.2105263158;
}
@media screen and (max-width: 540px) {
  .p-sponsor.p-sponsor--series .p-sponsor__wrapper div p {
    font-size: 15px;
  }
}
.p-sponsor.p-sponsor--series .p-sponsor__wrapper div img {
  width: 282px;
  opacity: 1;
  transition: opacity 0.3s ease-in-out;
}
@media screen and (max-width: 540px) {
  .p-sponsor.p-sponsor--series .p-sponsor__wrapper div img {
    width: 181px;
  }
}
.p-sponsor.p-sponsor--series .p-sponsor__wrapper div img:hover {
  opacity: 0.7;
}
.p-sponsor.p-sponsor--series .p-sponsor__wrapper ul li {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  width: 24%;
}
@media screen and (max-width: 1000px) {
  .p-sponsor.p-sponsor--series .p-sponsor__wrapper ul li {
    width: calc((100% - 40px) / 4);
    margin-right: 10px;
  }
}
.p-sponsor.p-sponsor--series .p-sponsor__wrapper ul li:last-child {
  margin-right: 0;
}
.p-sponsor.p-sponsor--series .p-sponsor__wrapper ul li img {
  width: 100%;
  max-width: 200px;
  opacity: 1;
  transition: opacity 0.3s ease-in-out;
}
.p-sponsor.p-sponsor--series .p-sponsor__wrapper ul li img:hover {
  opacity: 0.7;
}

.p-sponsor.p-sponsor--series .p-sponsor__wrapper ul li:nth-of-type(n + 4) {
    margin-top: 20px;
}


/* =========================
   トップバナー設置
========================= */
.p-topBanner{
  width: 100%;
  margin: 100px 0;
}
.p-topBanner__inner{
  width: min(1110px, 100%);
  margin: 0 auto;
  padding: 0 12px;
}
@media screen and (max-width: 540px) {
.p-topBanner{
  width: 100%;
  margin: 60px 0;
}
.p-topBanner__inner{
  padding: 0 12px;
}
}
.p-topBanner__list{
  display: grid;
  gap: 12px;
}
.p-topBanner__img{
  width: 100%;
  height: auto;
  display: block;
}
.p-topBanner__item a picture img{
	width: 100%;
	display: block;
}
.p-topBanner__item a img {
  transition: opacity 0.3s ease;
}
.p-topBanner__item a:hover img {
  opacity: 0.7;
}


.c-fv-button{
  position:relative;  /* 念のため */
}

.c-fv-button__title {
    font-family: 'Barlow Condensed', sans-serif;
    font-style: italic;
    font-weight: 500;
    font-size: clamp(56px, 8vw, 120px);
    letter-spacing: .10em;
    line-height: 1.1;
    margin: 0;
    color: #fff;
    text-shadow: 0 2px 8px rgba(0, 0, 0, .45);
}
.c-fv-button__text{
  position:absolute;
  inset:0;                       /* 画像の上に全面配置 */
  display:flex;
  flex-direction:column;
  align-items:center;            /* 横方向の基準を中央に */
  justify-content:flex-start;        /* 縦方向の基準を中央に */
  text-align:center;
  padding:clamp(16px, 3vw, 36px);
}

/* 下の丸ボタン分だけ少し上に寄せて “見た目の中央” にする */
.c-fv-button__text{
  transform:translateY(-4%);
}

.c-fv-button__list{
  margin:0 auto;                 /* ブロックを中央へ */
  padding:0;
  list-style:none;
  display:inline-block;          /* “内容の幅” で箱を作り、中央に置ける */
  text-align:left;               /* 行の中身（date/sep/name）は左揃えのまま */
  max-width:min(720px, 90%);
  font-size:clamp(14px, 2.2vw, 20px);
}

/* 行は既存のflexのままでOK */
.c-fv-button__list li{
  display:flex;
  align-items:baseline;
  line-height:1.6;
}

/* date列幅（必要に応じて微調整） */
.c-fv-button__list .date{
  width:9.2ch;
  flex:0 0 9.2ch;
  white-space:nowrap;
}

.c-fv-button__list .sep{
  width:1.6ch;
  flex:0 0 1.6ch;
  text-align:center;
}

.c-fv-button__list .name{
  flex:1 1 auto;
  min-width:0;
}

/* “– ○○” 行の開始位置を日付後ろに揃える */
.c-fv-button__list li.is-sub{
  padding-left:9.2ch;
}


@media (max-width: 480px){
  .c-fv-button__list .date{ width:8.6ch; flex-basis:8.6ch; }
  .c-fv-button__list li.is-sub{ padding-left:8.6ch; }
}
@media (max-width: 480px){
  .c-fv-button__list{
    font-size:clamp(15px, 4vw, 18px);
  }
}
.c-fv-button__text,
.c-fv-button__title,
.c-fv-button__list,
.c-fv-button__list li,
.c-fv-button__list .date,
.c-fv-button__list .sep,
.c-fv-button__list .name{
  color:#fff;
}
