/* =========================================================
   wakatsuki.css
   若月新コンテンツ専用CSS
   path: /wp-content/themes/hello-elementor/wakatsuki/css/wakatsuki.css
   ========================================================= */

html {
  scroll-behavior: smooth;
}

.wakatsuki-page {
  /* color */
  --black: #050505;
  --white: #ffffff;
  --accent: #e4007f;
  --topics-blue: #3264ff;
  --gray: #f4f4f4;
  --text: #111111;
  --muted: #787878;
  --line: #d8d8d8;
  --max: 1080px;

  /* font size */
  --font-xs: 12px;
  --font-sm: 14px;
  --font-md: 16px;
  --font-body: 18px;
  --font-lg: 22px;
  --font-xl: 28px;
  --font-xxl: 36px;

  overflow-x: hidden;
  color: var(--text);
  background: var(--white);
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
  line-height: 1.8;
  letter-spacing: 0.04em;
}

.wakatsuki-page,
.wakatsuki-page * {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
}

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

.wakatsuki-img {
  display: block;
  max-width: 100%;
  height: auto;
}

.wakatsuki-img-cover {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.wakatsuki-fv-img {
  display: block;
  width: 100%;
  max-width: none;
  height: auto;
}

.wakatsuki-link {
  color: inherit;
  text-decoration: none;
}

.wakatsuki-page .container {
  width: calc(100% - 40px);
  max-width: var(--max);
  margin: 0 auto;
}

.wakatsuki-page .section {
  margin: 0;
  padding: 0;
}

.wakatsuki-page .section-space {
  padding: 96px 0;
}

.wakatsuki-page .section--white {
  background: var(--white);
}

.wakatsuki-page .section--black {
  color: var(--white);
  background: var(--black);
}

.wakatsuki-page .section--gray {
  background: var(--gray);
}

.wakatsuki-page .visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* =========================================================
   Responsive line break
   ========================================================= */

/* SPだけ改行する */
.wakatsuki-page .br-sp {
  display: none;
}

/* PCだけ改行する */
.wakatsuki-page .br-pc {
  display: inline;
}

/* =========================================================
   FV
   左：FVtitle.svg / 右：写真 + FVname001.svg
   PC
   ========================================================= */

.wakatsuki-page .fv {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: start;

  width: 100%;
  min-height: 0;

  margin: 0;
  padding: 0;

  overflow: visible;

  /* コピーライト分だけ右側が下に伸びるので、全体背景は白 */
  background: var(--white);
}

/* 左側：黒背景 + タイトルSVG */
.wakatsuki-page .fv__titleArea {
  position: relative;

  display: flex;
  align-items: center;
  justify-content: center;

  width: 100%;
  aspect-ratio: 1 / 1;
  min-height: 0;

  margin: 0;
  padding: 0;

  overflow: hidden;
  background: var(--black);
}

.wakatsuki-page .fv__titleSvg {
  display: block;

  width: 100%;
  height: 100%;
  max-width: none;

  margin: 0;
  padding: 0;

  object-fit: contain;
}

/* 右側：写真 + コピーライト */
.wakatsuki-page .fv__visual {
  display: block;

  width: 100%;
  min-height: 0;

  margin: 0;
  padding: 0;

  overflow: visible;
  background: var(--white);
}

/* 写真だけを左黒エリアと同じ正方形にする */
.wakatsuki-page .fv__photo-frame {
  position: relative;
  display: block;

  width: 100%;
  aspect-ratio: 1 / 1;
  min-height: 0;

  margin: 0;
  padding: 0;

  overflow: hidden;
  background: var(--white);

  /* 右写真の下の薄いグレー線 */
  border-bottom: 0;
}

.wakatsuki-page .fv__photo {
  display: block;

  width: 100%;
  height: 100%;
  max-width: none;

  margin: 0;
  padding: 0;

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

  border: 0;
  outline: 0;
  box-shadow: none;
}

/* 右写真に重ねる名前ロゴ */
.wakatsuki-page .fv__name {
  position: absolute;

  left: clamp(36px, 5vw, 76px);
  bottom: 10px;
  z-index: 2;

  display: block;
  max-width: 120%;
  height: auto;

  margin: 0;
  padding: 0;

  pointer-events: none;
}

/* 写真の下、外側に表示するコピーライト */
.wakatsuki-page .fv__copyright {
  position: static;
  display: block;

  width: 100%;
  height: auto;

  margin: 0;
  padding: 6px 12px 5px 0;

  color: #555555;
  background: var(--white);

  font-size: var(--font-sm);
  line-height: 1.2;
  font-weight: 400;
  letter-spacing: 0.02em;

  text-align: right;
  white-space: nowrap;
}

/* =========================================================
   FV
   「彼女のストーリーを見る」透明リンク
   ========================================================= */

.wakatsuki-page .fv__story-link {
  position: absolute;
  z-index: 10;

  left: 12.5%;
  top: 73%;
  width: 33%;
  height: 7%;

  display: block;

  background: transparent;
  text-indent: -9999px;
  overflow: hidden;

  cursor: pointer;
}

/* =========================================================
   Topix
   ========================================================= */

.wakatsuki-page .topics-space {
  padding-top: 120px;
  padding-bottom: 120px;
}

.wakatsuki-page .topics__inner {
  position: relative;
  width: calc(100% - 40px);
  max-width: 1320px;
  margin: 0 auto;
}

.wakatsuki-page .topics__head {
  position: relative;
}

.wakatsuki-page .topics__head::after {
  content: "";
  position: absolute;
  left: calc((100vw - 100%) / -2);
  right: 80px;
  bottom: 0;
  height: 1px;
  background: #111111;
}

.wakatsuki-page .topics__title {
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
  padding: 0 0 2px;
  color: #999999;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 42px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0.12em;
}

.wakatsuki-page .topics__body {
  position: relative;
  width: 100%;
  max-width: 1320px;
  margin: 0 auto;

  padding: 32px 0;

  border-bottom: 0;
}

.wakatsuki-page .topics__body::after {
  content: "";
  position: absolute;
  left: 80px;
  right: calc((100vw - 100%) / -2);
  bottom: 0;
  height: 1px;
  background: #111111;
}

.wakatsuki-page .topics__content {
  display: grid;
  grid-template-columns: 130px 1fr;
  column-gap: 46px;
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
}

.wakatsuki-page .topics__label {
  margin: 0;
  color: var(--topics-blue);
  font-size: var(--font-md);
  line-height: 1.8;
  letter-spacing: 0.08em;
  text-align: left;
}

.wakatsuki-page .topics__list {
  display: grid;
  gap: 6px;
  margin: 0;
}

.wakatsuki-page .topics__item {
  display: grid;
  grid-template-columns: 120px 122px 1fr;
  column-gap: 30px;
  align-items: center;
  margin: 0;
  font-size: var(--font-md);
  line-height: 1.5;
}

.wakatsuki-page .topics__date,
.wakatsuki-page .topics__item time {
  color: #111111;
  font-family: Arial, "Helvetica Neue", sans-serif;
  font-size: var(--font-md);
  letter-spacing: 0.02em;
}

.wakatsuki-page .topics__category {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 23px;
  padding: 1px 14px;
  border: 1px solid var(--topics-blue);
  color: var(--topics-blue);
  font-size: var(--font-sm);
  line-height: 1.4;
  letter-spacing: 0.08em;
  text-align: center;
}

.wakatsuki-page .topics__text {
  color: #111111;
  font-size: var(--font-md);
  line-height: 1.6;
  letter-spacing: 0.02em;
}

.wakatsuki-page .topics__text-link,
.wakatsuki-page .topics__text-link:link,
.wakatsuki-page .topics__text-link:visited,
.wakatsuki-page .topics__text-link:hover,
.wakatsuki-page .topics__text-link:active {
  margin: 0;
  padding: 0;

  color: #111111;
  font-size: var(--font-sm);
  line-height: 1.6;
  letter-spacing: 0.02em;

  text-decoration: none;
}

/* =========================================================
   Topix
   もっと見る
   ========================================================= */

.wakatsuki-page .topics__more {
  position: absolute;

  right: 80px;
  bottom: 4px;

  display: flex;
  justify-content: flex-end;

  width: auto;

  margin: 0;
  padding: 0;
}


.wakatsuki-page .topics__more-link,
.wakatsuki-page .topics__more-link:link,
.wakatsuki-page .topics__more-link:visited,
.wakatsuki-page .topics__more-link:hover,
.wakatsuki-page .topics__more-link:active {
  display: inline-block;

  margin: 0;
  padding: 0;

  color: var(--topics-blue);

  font-size: var(--font-md);
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.04em;

  text-decoration: none;
}


.wakatsuki-page .topics__more-link:hover {
  text-decoration: underline;
}


.wakatsuki-page .ranking__content picture,
.wakatsuki-page .profile__content picture {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
}

.wakatsuki-page .ranking__content picture img,
.wakatsuki-page .profile__content picture img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  object-fit: contain;
}

/* =========================================================
   Ouen message
   Topix下の応援リンクSVG
   ========================================================= */

.wakatsuki-page .ouen-message {
  margin: 0;
  padding: 52px 0 92px;
  background: var(--white);
}

.wakatsuki-page .ouen-message__inner {
  width: calc(100% - 80px);
  max-width: none;
  margin: 0 auto;
  padding: 0;
}

.wakatsuki-page .ouen-message__svg {
  position: relative;
  width: min(560px, 48vw);
  margin-left: auto;
  margin-right: 80px;
}

.wakatsuki-page .ouen-message__img {
  display: block;
  width: 100%;
  height: auto;
  max-width: none;
}

.wakatsuki-page .ouen-message__error {
  margin: 0;
  color: #ff3b3b;
  font-size: 14px;
  text-align: right;
}

/* SVGの上に透明リンクを重ねる */
.wakatsuki-page .ouen-message__links {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
}

.wakatsuki-page .ouen-message__link {
  position: absolute;
  display: block;
  text-indent: -9999px;
  overflow: hidden;
  pointer-events: auto;
}

/* 左の「若月選手を応援しよう！」ボタン部分 */
.wakatsuki-page .ouen-message__link--message {
  left: 0;
  top: 22%;
  width: 50%;
  height: 56%;
}

/* Instagram */
.wakatsuki-page .ouen-message__link--instagram {
  left: 78%;
  top: 16%;
  width: 7%;
  height: 68%;
}

/* Facebook */
.wakatsuki-page .ouen-message__link--facebook {
  left: 81%;
  top: 22%;
  width: 8%;
  height: 56%;
}

/* HOME */
.wakatsuki-page .ouen-message__link--home {
  left: 92%;
  top: 18%;
  width: 8%;
  height: 64%;
}

/* =========================================================
   Split sections
   ========================================================= */

.wakatsuki-page .split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: stretch;
  min-height: 0;
}

.wakatsuki-page .split__image {
  min-height: 0;
  margin: 0;
}

.wakatsuki-page .split__image .wakatsuki-img-cover {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.wakatsuki-page .split__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 80px;
}

.wakatsuki-page .section-kicker {
  margin: 0 0 32px;
  font-size: 34px;
  line-height: 1.3;
}

.wakatsuki-page .ranking__numbers {
  display: grid;
  gap: 22px;
}

.wakatsuki-page .ranking__numbers p {
  display: flex;
  align-items: baseline;
  gap: 16px;
  margin: 0;
}

.wakatsuki-page .ranking__numbers span {
  min-width: 150px;
  color: #dadada;
  font-size: var(--font-lg);
}

.wakatsuki-page .ranking__numbers strong {
  font-family: Georgia, serif;
  font-size: 120px;
  font-weight: 400;
  line-height: 0.9;
}

.wakatsuki-page .ranking__numbers em {
  font-style: normal;
  font-size: var(--font-xl);
}

.wakatsuki-page .box-label,
.wakatsuki-page .black-label,
.wakatsuki-page .outline-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-width: 160px;
  min-height: 28px;
  margin: 0 0 26px;
  padding: 2px 18px;
  border: 1px solid rgba(255, 255, 255, 0.55);
  font-size: var(--font-md);
  font-weight: 700;
  letter-spacing: 0.16em;
}

.wakatsuki-page .box-label--light,
.wakatsuki-page .black-label {
  color: var(--white);
  background: var(--black);
  border-color: var(--black);
}

.wakatsuki-page .mission__content h2 {
  margin: 0;
  font-size: 48px;
  line-height: 1.35;
}

/* =========================================================
   Profile
   ========================================================= */

.wakatsuki-page .profile {
  margin: 0;
  padding: 0;
  background: var(--black);
}

.wakatsuki-page .profile__layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: stretch;
  width: 100%;
  margin: 0;
  padding: 0;
  background: var(--black);
}

.wakatsuki-page .profile__image {
  width: 100%;
  min-height: 620px;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background: var(--black);
}

.wakatsuki-page .profile__image .wakatsuki-img-cover {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 620px;
  margin: 0;
  padding: 0;
  object-fit: cover;
  object-position: center center;
}

.wakatsuki-page .profile__content {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 620px;
  margin: 0;
  padding: 80px;
  color: var(--white);
  background: var(--black);
}

.wakatsuki-page .profile__headline-image {
  display: block;
  width: 100%;
  height: auto;
  max-width: none;
  margin: 0;
  padding: 0;
}

.wakatsuki-page .profile__box {
  width: 100%;
  max-width: 560px;
  margin: 0;
  padding: 0;
}

.wakatsuki-page .profile__content h2 {
  margin: 28px 0 24px;
  color: var(--white);
  font-size: 30px;
  line-height: 1.4;
  font-weight: 900;
}

.wakatsuki-page .profile__content h2 span {
  font-size: var(--font-body);
  font-weight: 700;
}

.wakatsuki-page .profile__list {
  margin: 0;
  padding-left: 1.4em;
  color: var(--white);
  font-size: var(--font-md);
  line-height: 2;
  font-weight: 700;
}

.wakatsuki-page .profile__list li {
  margin: 0 0 6px;
}

.wakatsuki-page .profile + .sponsor {
  margin-top: 0;
}

/* =========================================================
   Sponsor / Records
   ここは市松レイアウトではない
   ========================================================= */

.wakatsuki-page .sponsor,
.wakatsuki-page .records,
.wakatsuki-page .past-records {
  margin: 0;
  padding: 0;
}

.wakatsuki-page .sponsor {
  padding: 64px 0 112px;
  background: var(--white);
}

.wakatsuki-page .records,
.wakatsuki-page .past-records {
  background: var(--gray);
}

/*
   PDFに近づけるため、スポンサー〜戦績エリアは広めに使う
   920pxだと狭すぎる
*/
.wakatsuki-page .records-container {
  width: calc(100% - 120px);
  max-width: 1280px;
  margin: 0 auto;
  padding: 0;
}

/* セクションタイトル */
.wakatsuki-page .section-box-title {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 230px;
  height: 40px;
  margin: 0 0 40px;
  padding: 0;
  font-size: var(--font-body);
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.08em;
}

.wakatsuki-page .section-box-title--white {
  color: var(--black);
  background: var(--white);
  border: 1px solid var(--black);
}

.wakatsuki-page .section-box-title--black {
  color: var(--white);
  background: var(--black);
  border: 1px solid var(--black);
}

/* =========================================================
   Sponsor
   ========================================================= */

.wakatsuki-page .sponsor {
  margin: 0;
  padding: 64px 0 112px;
  background: var(--white);
}

.wakatsuki-page .sponsor__content {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 420px;
  align-items: center;
  column-gap: 72px;
  width: calc(100% - 100px);
  margin: 0 0 0 70px;
  padding: 0;
}

.wakatsuki-page .sponsor__message {
  min-width: 0;
  margin: 0;
  padding: 0;
}

.wakatsuki-page .sponsor__copy {
  margin: 0;
  padding: 0;
  color: var(--black);
  font-size: 52px;
  font-weight: 900;
  line-height: 1.35;
  letter-spacing: 0.02em;
  text-align: left;
}

.wakatsuki-page .sponsor__copy-nowrap {
  white-space: nowrap;
}

.wakatsuki-page .sponsor__logo {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 420px;
  margin: 0;
  padding: 0;
  transform: translateY(-66px);
}

.wakatsuki-page .sponsor__logo picture {
  display: block;
  width: 380px;
  margin: 0;
  padding: 0;
}

.wakatsuki-page .sponsor__logo-image {
  display: block;
  width: 100%;
  height: auto;
  max-width: none;
  margin: 0;
  padding: 0;
  border: 0;
}

/* =========================================================
   Records latest
   ========================================================= */

.wakatsuki-page .records {
  padding: 96px 0 64px;
}

.wakatsuki-page .records__latest {
  display: grid;
  grid-template-columns: 1fr 1.35fr;
  column-gap: 150px;
  align-items: start;
  width: calc(100% - 120px);
  margin-left: 60px;
}

.wakatsuki-page .records__column {
  margin: 0;
  padding: 0;
}

.wakatsuki-page .records__subheading {
  margin: 0 0 10px;
  color: var(--black);
  font-size: var(--font-body);
  line-height: 1.7;
  font-weight: 800;
}

.wakatsuki-page .records__subheading--space {
  margin-top: 40px;
}

.wakatsuki-page .records__column p,
.wakatsuki-page .past-records__item p {
  margin: 0;
  color: var(--black);
  font-size: var(--font-body);
  line-height: 2;
  font-weight: 400;
}

.wakatsuki-page .past-records__item {
  margin: 0 0 36px;
  padding: 0;
}

/* =========================================================
   Past records
   ========================================================= */

.wakatsuki-page .past-records {
  padding: 64px 0 120px;
}

.wakatsuki-page .past-records__body {
  width: calc(100% - 120px);
  max-width: 860px;
  margin-left: 60px;
  padding: 0;
}

.wakatsuki-page .past-records__item {
  margin: 0 0 28px;
  padding: 0;
}

.wakatsuki-page .past-records__item:last-child {
  margin-bottom: 0;
}

/* =========================================================
   Wakatsuki Story
   PDFデザイン寄せ
   ========================================================= */

.wakatsuki-page .story {
  padding: 160px 0 180px;
  background: var(--black);
  color: var(--white);
  overflow: visible;
}

.wakatsuki-page .story__inner {
  position: relative;
  width: calc(100% - 120px);
  max-width: 1180px;
  margin: 0 auto;
  padding: 0;
  overflow: visible;
}

.wakatsuki-page .story__label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 260px;
  min-height: 38px;
  margin: 0 0 120px;
  padding: 0 18px;
  border: 1px solid rgba(255, 255, 255, 0.9);
  color: var(--white);
  background: transparent;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
  font-size: var(--font-xl);
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.08em;
}

.wakatsuki-page .story-timeline {
  position: relative;
  margin: 0;
  padding: 0 0 0 96px;
  overflow: visible;
}

.wakatsuki-page .story-timeline::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 96px;
  width: 1px;
  background: rgba(255, 255, 255, 0.85);
}

.wakatsuki-page .story-item {
  position: relative;
  margin: 0;
  padding: 0 0 190px;
  overflow: visible;
}

.wakatsuki-page .story-item:last-child {
  padding-bottom: 0;
}

/* =========================================================
   Story 年表ライン
   丸・年・矢印・説明文
   ========================================================= */

.wakatsuki-page .story-item__line {
  --story-line-y: 15px;
  --story-arrow-left: 15px;
  --story-arrow-width: 300px;
  --story-text-gap: 36px;

  position: relative;
  min-height: 58px;
  margin: 0 0 150px;
  color: var(--white);
  overflow: visible;
}

/* 丸 */
.wakatsuki-page .story-item__circle {
  position: absolute;
  left: -15px;
  top: var(--story-line-y);
  width: 30px;
  height: 30px;
  transform: translateY(-50%);
  border: 1px solid var(--white);
  border-radius: 50%;
  background: var(--black);
  z-index: 4;
}

/* 丸の中を通る横線 */
.wakatsuki-page .story-item__circle::before {
  content: "";
  position: absolute;
  left: -22px;
  top: 50%;
  width: 52px;
  height: 1px;
  transform: translateY(-50%);
  background: var(--white);
  z-index: 5;
}

/* 丸の中を通る縦線 */
.wakatsuki-page .story-item__circle::after {
  content: "";
  position: absolute;
  left: 50%;
  top: -18px;
  width: 1px;
  height: 66px;
  transform: translateX(-50%);
  background: var(--white);
  z-index: 5;
}

/* 丸から文章へ伸びる矢印 */
.wakatsuki-page .story-item__bar {
  position: absolute;
  left: var(--story-arrow-left);
  top: var(--story-line-y);
  width: var(--story-arrow-width);
  height: 1px;
  background: var(--white);
  z-index: 1;
}

/* 矢印の先 */
.wakatsuki-page .story-item__bar::after {
  content: "";
  position: absolute;
  right: -2px;
  top: 50%;
  width: 6px;
  height: 6px;
  border-top: 1px solid var(--white);
  border-right: 1px solid var(--white);
  transform: translateY(-50%) rotate(45deg);
}

/* 年：矢印の中央に置く */
.wakatsuki-page .story-item__year {
  position: absolute;
  left: calc(var(--story-arrow-left) + (var(--story-arrow-width) / 2));
  top: var(--story-line-y);

  /* ここで年を上に上げる */
  transform: translate(-50%, -26px);

  z-index: 4;
  display: block;
  width: max-content;
  margin: 0;
  padding: 0;
  color: var(--white);
  background: transparent;
  font-size: 20px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0.02em;
  white-space: nowrap;
  text-align: center;
}

/* 説明文：矢印の先から少し離す */
.wakatsuki-page .story-item__summary {
  position: relative;
  z-index: 3;
  margin: 0;
  padding-left: calc(
    var(--story-arrow-left) + var(--story-arrow-width) + var(--story-text-gap)
  );
}

.wakatsuki-page .story-item__summary p {
  margin: 0 0 8px;
  color: var(--white);
  font-size: var(--font-md);
  line-height: 1.7;
  font-weight: 400;
  letter-spacing: 0.02em;
}

.wakatsuki-page .story-item__summary p:last-child {
  margin-bottom: 0;
}

/* =========================================================
   Story 本文・写真エリア
   ========================================================= */

.wakatsuki-page .story-item__content {
  display: grid;
  grid-template-columns: 1fr 330px;
  align-items: center;
  column-gap: 150px;
  width: calc(100% - 170px);
  margin-left: 170px;
}

.wakatsuki-page .story-item--left .story-item__content {
  grid-template-columns: 330px 1fr;
  column-gap: 140px;
  width: calc(100% - 170px);
  margin-left: 170px;
}

.wakatsuki-page .story-item__catch {
  color: var(--white);
  font-family: "Yu Mincho", "Hiragino Mincho ProN", "Noto Serif JP", serif;
  font-size: 48px;
  font-weight: 400;
  line-height: 1.45;
  letter-spacing: 0.12em;
  white-space: nowrap;
}

.wakatsuki-page .story-item__photo {
  width: 330px;
  margin: 0;
  padding: 0;
}

.wakatsuki-page .story-item__photo .wakatsuki-img-cover {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 4.2;
  object-fit: cover;
  object-position: center center;
}

.wakatsuki-page .story-item--left .story-item__photo {
  grid-column: 1;
}

.wakatsuki-page .story-item--left .story-item__catch {
  grid-column: 2;
}

/* =========================================================
   Schedule
   年間スケジュール
   ========================================================= */

.wakatsuki-page .schedule {
  padding: 150px 0 170px;
  background: var(--white);
  color: var(--black);
}

.wakatsuki-page .schedule__inner {
  width: calc(100% - 120px);
  max-width: 1180px;
  margin: 0 auto;
  padding: 0;
}

/* タイトルは過去の戦績と同じ黒ベタ */
.wakatsuki-page .schedule .section-box-title {
  color: var(--white);
  background: var(--black);
  border: 1px solid var(--black);
}

/* スケジュール本体 */
.wakatsuki-page .schedule__grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  column-gap: 36px;
  row-gap: 132px;
  align-items: stretch;

  /* activity-card と同じ実質幅にする */
  width: calc(100% - 120px);
  margin: 120px auto 0;
  padding: 0;
}

/* 上段4つ：4等分 */
.wakatsuki-page .schedule-card:nth-child(1),
.wakatsuki-page .schedule-card:nth-child(2),
.wakatsuki-page .schedule-card:nth-child(3),
.wakatsuki-page .schedule-card:nth-child(4) {
  grid-column: span 3;
}

/* 下段3つ：3等分で幅広 */
.wakatsuki-page .schedule-card:nth-child(5),
.wakatsuki-page .schedule-card:nth-child(6),
.wakatsuki-page .schedule-card:nth-child(7) {
  grid-column: span 4;
}

/* 各項目 */
.wakatsuki-page .schedule-card {
  position: relative;
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 38px 28px 36px;
  background: #f2f2f2;
  border: 1px solid #bfbfbf;
  text-align: left;
}

/* 上段の四角枠は高さを揃える */
.wakatsuki-page .schedule-card:nth-child(1),
.wakatsuki-page .schedule-card:nth-child(2),
.wakatsuki-page .schedule-card:nth-child(3),
.wakatsuki-page .schedule-card:nth-child(4) {
  min-height: 320px;
}

/* 下段の四角枠は高さを揃える */
.wakatsuki-page .schedule-card:nth-child(5),
.wakatsuki-page .schedule-card:nth-child(6),
.wakatsuki-page .schedule-card:nth-child(7) {
  min-height: 245px;
  padding: 36px 22px 34px;
}

/* 下の横線 */
.wakatsuki-page .schedule-card::before {
  content: "";
  position: absolute;
  left: 0;
  right: -36px;
  bottom: -42px;
  height: 1px;
  background: #9c9c9c;
}

/* 行末は線を止める */
.wakatsuki-page .schedule-card:nth-child(4)::before,
.wakatsuki-page .schedule-card:nth-child(7)::before {
  right: 0;
}

/* 下向き三角 */
.wakatsuki-page .schedule-card::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -58px;
  width: 0;
  height: 0;
  transform: translateX(-50%);
  border-left: 13px solid transparent;
  border-right: 13px solid transparent;
  border-top: 24px solid #9c9c9c;
}

.wakatsuki-page .schedule-card h3 {
  width: fit-content;
  min-width: 120px;
  margin: 0 auto 28px;
  padding: 0 0 8px;
  color: var(--black);
  border-bottom: 1px solid var(--black);
  font-size: var(--font-xl);
  line-height: 1.3;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-align: center;
}

.wakatsuki-page .schedule-card p {
  margin: 0;
  color: var(--black);
  font-size: var(--font-body);
  line-height: 1.85;
  font-weight: 400;
  letter-spacing: 0.04em;
}

/* 年間スケジュール：月見出し付き本文 */
.wakatsuki-page .schedule-card__events {
  display: grid;
  row-gap: 18px;
  width: 100%;
  margin: 0;
  padding: 0;
}

.wakatsuki-page .schedule-card .schedule-card__event {
  display: grid;
  grid-template-columns: 2.6em minmax(0, 1fr);
  column-gap: 0.1em;
  align-items: start;
  margin: 0;
  padding: 0;
  color: var(--black);
  font-size: var(--font-body);
  line-height: 1.85;
  font-weight: 400;
  letter-spacing: 0.04em;
}

.wakatsuki-page .schedule-card__month {
  display: block;
  white-space: nowrap;
}

.wakatsuki-page .schedule-card__text {
  display: block;
  min-width: 0;
}

/* 年月 */
.wakatsuki-page .schedule-card time {
  position: absolute;
  left: 50%;
  bottom: -105px;
  transform: translateX(-50%);
  color: #9a9a9a;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
  font-size: var(--font-xxl);
  line-height: 1;
  font-weight: 400;
  letter-spacing: 0.08em;
  white-space: nowrap;
}

/* =========================================================
   Schedule competition image
   年間スケジュール下：各大会イメージ
   ========================================================= */

.wakatsuki-page .schedule-competition-image {
  width: calc(100% - 120px);
  margin: 300px auto 0;
  padding: 0;
}

.wakatsuki-page .schedule .section-box-title--competition {
  color: var(--white);
  background: #777777;
  border: 1px solid #777777;
}

.wakatsuki-page .schedule-competition-image__body {
  width: 100%;
  margin: 64px 0 0;
  padding: 0;
}

.wakatsuki-page .schedule-competition-image__img {
  display: block;
  width: 100%;
  height: auto;
  max-width: none;
  margin: 0;
  padding: 0;
  border: 0;
}

/* 各大会イメージ下：ワールドカップとは */
.wakatsuki-page .schedule-competition-note {
  width: 100%;
  margin: 220px 0 0;
  padding: 0;
}

/* =========================================================
   大会説明
   PC
   図と＜ワールドカップ＞の間の余白
   ========================================================= */

.wakatsuki-page .schedule-competition-sp-note {
  display: block;
  width: 100%;
  margin: 100px 0 0;
  padding: 0;
  color: var(--black);
}

.wakatsuki-page .schedule-competition-note__body {
  width: 100%;
  margin: 28px 0 0;
  padding: 0;
}

.wakatsuki-page .schedule-competition-note__body p {
  margin: 0 0 28px;
  color: var(--black);
  font-size: var(--font-sm);
  line-height: 2;
  font-weight: 400;
  letter-spacing: 0.04em;
}

.wakatsuki-page .schedule-competition-note__body p:last-child {
  margin-bottom: 0;
}


/* =========================================================
   大会説明
   PC
   ========================================================= */

.wakatsuki-page .schedule-competition-sp-note__block {
  width: 100%;
  margin: 0;
  padding: 0;
}


/* 2件目以降の見出しの上だけ空ける */
.wakatsuki-page
.schedule-competition-sp-note__block
+
.schedule-competition-sp-note__block {
  margin-top: 28px;
}


/* 見出し */
.wakatsuki-page .schedule-competition-sp-note__title {
  margin: 0 0 4px;
  padding: 0;
}


/* 本文 */
.wakatsuki-page .schedule-competition-sp-note__block p {
  margin: 0;
  padding: 0;
}

/* =========================================================
   Schedule training
   ワールドカップとは下：トレーニング説明
   ========================================================= */

.wakatsuki-page .schedule-training-list {
  width: 100%;
  margin: 150px 0 0;
  padding: 0;
}

.wakatsuki-page .schedule-training-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  column-gap: 120px;
  align-items: start;
  width: 100%;
  margin: 0 0 150px;
  padding: 0;
}

.wakatsuki-page .schedule-training-item:last-child {
  margin-bottom: 0;
}

.wakatsuki-page .schedule-training-item__text {
  min-width: 0;
  margin: 0;
  padding: 0;
}

.wakatsuki-page .schedule-training-item__title {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 300px;
  height: 40px;
  margin: 0 0 56px;
  padding: 0 18px;
  color: var(--black);
  background: var(--white);
  border: 1px solid #777777;
  font-size: var(--font-body);
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0.08em;
}

.wakatsuki-page .schedule-training-item__body {
  width: 100%;
  margin: 0;
  padding: 0;
}

.wakatsuki-page .schedule-training-item__body p {
  margin: 0 0 34px;
  color: var(--black);
  font-size: var(--font-body);
  line-height: 2;
  font-weight: 400;
  letter-spacing: 0.04em;
}

.wakatsuki-page .schedule-training-item__body p:last-child {
  margin-bottom: 0;
}

.wakatsuki-page .schedule-training-item__image {
  width: 300px;
  margin: 0;
  padding: 0;
}

.wakatsuki-page .schedule-training-item__image img {
  display: block;
  width: 100%;
  height: auto;
  max-width: none;
  margin: 0;
  padding: 0;
  border: 1px solid #eeedff;
  box-sizing: border-box;
}

/* =========================================================
   Messages / Footer
   ========================================================= */

.wakatsuki-page .messages {
  margin: 0;
  padding: 0;
  background: var(--white);
}

/*
   背景グレー範囲
   応援メッセージタイトルの上から、
   メール案内の下あたりまでグレーにする
*/
.wakatsuki-page .messages__gray {
  margin: 0;
  padding: 200px 0 200px;
  background: var(--gray);
}

.wakatsuki-page .messages__white {
  margin: 0;
  padding: 0;
  background: var(--white);
}

.wakatsuki-page .messages__inner {
  width: calc(100% - 120px);
  max-width: 1180px;
  margin: 0 auto;
  padding: 0;
}

/* 応援メッセージ タイトル */
.wakatsuki-page .messages .black-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 230px;
  min-height: 40px;
  margin: 0 0 96px;
  padding: 0 24px;
  color: var(--white);
  background: var(--black);
  border: 1px solid var(--black);
  font-size: var(--font-body);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.08em;
}

/* メッセージ白ボックス */
.wakatsuki-page .message-box {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 82px 72px 86px;
  background: var(--white);
  border: 1px solid #777777;
  border-radius: 48px;
}

/* 1件ごとのメッセージ */
.wakatsuki-page .message-box article {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  column-gap: 28px;
  row-gap: 4px;
  align-items: end;
  margin: 0 0 56px;
  padding: 0;
  border: 0;
}

.wakatsuki-page .message-box article:last-child {
  margin-bottom: 0;
}

.wakatsuki-page .message-box h3 {
  grid-column: 1 / -1;
  margin: 0;
  color: var(--black);
  font-size: var(--font-body);
  line-height: 1.7;
  font-weight: 400;
  letter-spacing: 0.04em;
}

.wakatsuki-page .message-box p {
  margin: 0;
  color: var(--black);
  font-size: var(--font-body);
  line-height: 1.7;
  font-weight: 400;
  letter-spacing: 0.04em;
}

.wakatsuki-page .message-box time {
  align-self: end;

  margin: 0 0 3px;
  padding: 0;

  color: #888888;

  font-size: 13px;
  font-weight: 400;
  line-height: 1.4;

  white-space: nowrap;
  text-align: right;
}

.message-box__name {
    font-size: inherit;
}

.message-box__san {
    font-size: 0.85em;
    font-weight: inherit;
}

/* =========================================================
   もっと見る
   ========================================================= */

.message-more {
    width: 100%;

    margin: 10px 0 0;

    padding-right: 68px;

    box-sizing: border-box;

    text-align: right;
}


.message-more__link {
    display: inline-block;

    color: #315fff;

    font-size: 16px;

    line-height: 1.5;

    text-decoration: none;
}


.message-more__link:hover {
    text-decoration: underline;
}

/* 応援メッセージ下 メールアイコン */
.wakatsuki-page .message-note {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  width: 100%;
  margin: 42px 0 0;
  padding: 0;
  color: #8f8f8f;
  text-align: center;
  font-size: var(--font-md);
  line-height: 1.6;
}

.wakatsuki-page .message-note__text {
  margin: 0;
  color: #a0a0a0;
  font-size: var(--font-body);
  line-height: 1.6;
}

.wakatsuki-page .message-note__mail {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 52px;
  color: inherit;
  text-decoration: none;
}

.wakatsuki-page .message-note__mail-svg {
  display: block;
  width: 64px;
  height: auto;
  line-height: 0;
}

.wakatsuki-page .message-note__mail-icon {
  display: block;
  width: 100%;
  height: auto;
}

.wakatsuki-page .message-note__mail-error {
  color: #ff3b3b;
  font-size: 12px;
}

/* footer */
.wakatsuki-page .footer {
  padding: 200px 20px 36px;
  color: var(--black);
  background: var(--white);
  text-align: center;
}

.wakatsuki-page .footer__mark {
  position: relative;
  width: 330px;
  max-width: 52vw;
  margin: 0 auto;
}

.wakatsuki-page .footer__mark svg,
.wakatsuki-page .footer__mark-svg {
  display: block;
  width: 100%;
  height: auto;
  max-width: none;
}

.wakatsuki-page .footer__mark-error {
  margin: 0;
  color: #ff3b3b;
  font-size: 14px;
}

/* SVGの上に透明リンクを重ねる */
.wakatsuki-page .footer__hotlinks {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
}

.wakatsuki-page .footer__hotlink {
  position: absolute;
  display: block;
  text-indent: -9999px;
  overflow: hidden;
  pointer-events: auto;
}

/* Instagram */
.wakatsuki-page .footer__hotlink--instagram {
  left: 26%;
  top: 48%;
  width: 18%;
  height: 42%;
}

/* Homepage */
.wakatsuki-page .footer__hotlink--homepage {
  left: 58%;
  top: 48%;
  width: 18%;
  height: 42%;
}

.wakatsuki-page .footer__hotlink {
  display: block;
  width: 100%;
  height: 100%;
  text-indent: -9999px;
  overflow: hidden;
}

/* PC / タブレット横 */
.wakatsuki-page .footer__mark-pc {
  display: block;
}

.wakatsuki-page .footer__mark-sp {
  display: none;
}

/* =========================================================
   Page top link
   Footer内：ページTOPに戻る
   ========================================================= */

.wakatsuki-page .page-top-link {
  width: calc(100% - 120px);
  max-width: 1180px;
  margin: 200px auto 0;
  padding: 0;
  text-align: right;
}

.wakatsuki-page .page-top-link__anchor,
.wakatsuki-page .page-top-link__anchor:link,
.wakatsuki-page .page-top-link__anchor:visited,
.wakatsuki-page .page-top-link__anchor:hover,
.wakatsuki-page .page-top-link__anchor:active {
  display: inline-block;
  margin: 0;
  padding: 0;
  color: var(--black);
  font-size: var(--font-mg);
  line-height: 1.6;
  font-weight: 400;
  letter-spacing: 0.04em;
  text-decoration: none;
}

/* =========================================================
   Wakatsuki Message Form Page
   /wakatsuki-message/
   ========================================================= */

/* 固定ページの自動タイトルを非表示 */
body.page-id-411155 .entry-title,
body.page-id-411155 h1.entry-title,
body.page-id-411155 .page-title,
body.page-id-411155 h1.page-title,
body.page-id-411155 .page-header,
body.page-id-411155 .entry-header {
  display: none !important;
}

/* ページ全体 */
body.page-id-411155 {
  background: #ffffff;
}

body.page-id-411155 .wakatsuki-form-page {
  min-height: 100vh;
  padding: 56px 20px 80px;
  background: #ffffff;
  color: #111111;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
}

/* 白いカード */
body.page-id-411155 .wakatsuki-form-card {
  width: 100%;
  max-width: 760px;
  margin: 0 auto;
  padding: 56px 64px 48px;
  background: #ffffff;
  border: 1px solid #eeeeee;
  border-radius: 24px;
  box-shadow: 0 18px 46px rgba(0, 0, 0, 0.12);
}

/* タイトル */
body.page-id-411155 .wakatsuki-form-page__title {
  margin: 0 0 18px;
  color: #111111;
  font-size: 30px;
  line-height: 1.45;
  font-weight: 900;
  letter-spacing: 0.04em;
  text-align: center;
}

/* 説明文 */
body.page-id-411155 .wakatsuki-form-page__lead {
  margin: 0 0 42px;
  color: #777777;
  font-size: 16px;
  line-height: 1.8;
  text-align: center;
}

/* Contact Form 7 全体 */
body.page-id-411155 .wakatsuki-form-page .wpcf7 {
  width: 100%;
  margin: 0;
  padding: 0;
}

/* 各項目 */
body.page-id-411155 .wakatsuki-contact-form__field {
  margin: 0 0 26px;
}

body.page-id-411155 .wakatsuki-contact-form__field label {
  display: block;
  margin: 0;
  color: #111111;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.6;
}

body.page-id-411155 .wakatsuki-contact-form__field label span {
  display: block;
  margin: 0 0 8px;
}

/* 入力欄 */
body.page-id-411155 .wakatsuki-contact-form input[type="text"],
body.page-id-411155 .wakatsuki-contact-form input[type="email"],
body.page-id-411155 .wakatsuki-contact-form textarea {
  display: block;
  width: 100%;
  margin: 0;
  padding: 13px 14px;
  border: 1px solid #cfcfcf;
  border-radius: 8px;
  background: #ffffff;
  color: #111111;
  font-size: 15px;
  line-height: 1.6;
  box-shadow: none;
  box-sizing: border-box;
  appearance: none;
  -webkit-appearance: none;
}

body.page-id-411155 .wakatsuki-contact-form textarea {
  min-height: 180px;
  resize: vertical;
}

body.page-id-411155 .wakatsuki-contact-form input[type="text"]:focus,
body.page-id-411155 .wakatsuki-contact-form input[type="email"]:focus,
body.page-id-411155 .wakatsuki-contact-form textarea:focus {
  border-color: #e4007f;
  outline: none;
  box-shadow: 0 0 0 3px rgba(228, 0, 127, 0.12);
}

/* チェックボックス */
body.page-id-411155 .wakatsuki-contact-form__field--check {
  margin: 0 0 10px;
  color: #333333;
  font-size: 14px;
  line-height: 1.7;
  font-weight: 400;
}

body.page-id-411155 .wakatsuki-contact-form__field--check .wpcf7-list-item {
  margin: 0;
}

body.page-id-411155 .wakatsuki-contact-form__field--check label {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.7;
}

body.page-id-411155 .wakatsuki-contact-form__field--check input[type="checkbox"] {
  margin-top: 5px;
}

/* 送信ボタン */
body.page-id-411155 .wakatsuki-contact-form__submit {
  margin: 36px 0 0;
  text-align: center;
}

body.page-id-411155 .wakatsuki-contact-form p:has(input[type="submit"]) {
  margin: 36px 0 0;
  text-align: center;
}

body.page-id-411155 .wakatsuki-contact-form input[type="submit"],
body.page-id-411155 .wakatsuki-contact-form .wpcf7-submit {
  display: flex;
  align-items: center;
  justify-content: center;

  width: 220px;
  height: 50px;
  min-width: 220px;
  min-height: 50px;
  margin: 0 auto;
  padding: 0;

  border: 1px solid #e4007f;
  border-radius: 999px;
  background: #e4007f;
  color: #ffffff;

  font-size: 16px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0.08em;
  text-align: center;

  cursor: pointer;
  box-sizing: border-box;
  appearance: none;
  -webkit-appearance: none;
}

body.page-id-411155 .wakatsuki-contact-form input[type="submit"]:hover,
body.page-id-411155 .wakatsuki-contact-form .wpcf7-submit:hover {
  background: #ffffff;
  color: #e4007f;
}

body.page-id-411155 .wakatsuki-contact-form input[type="submit"]:disabled,
body.page-id-411155 .wakatsuki-contact-form .wpcf7-submit:disabled {
  border-color: #cccccc;
  background: #dddddd;
  color: #999999;
  cursor: not-allowed;
}

/* 閉じるボタン */
body.page-id-411155 .wakatsuki-form-close {
  margin: 34px 0 0;
  text-align: center;
}

body.page-id-411155 .wakatsuki-form-close__button {
  display: flex;
  align-items: center;
  justify-content: center;

  width: 220px;
  height: 50px;
  min-width: 220px;
  min-height: 50px;
  margin: 0 auto;
  padding: 0;

  border: 1px solid #111111;
  border-radius: 999px;
  background: #111111;
  color: #ffffff;

  font-size: 16px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0.08em;
  text-align: center;

  cursor: pointer;
  box-sizing: border-box;
  appearance: none;
  -webkit-appearance: none;
}

body.page-id-411155 .wakatsuki-form-close__button:hover {
  background: #ffffff;
  color: #111111;
}

body.page-id-411155 .wakatsuki-form-close__note {
  margin: 14px 0 0;
  color: #888888;
  font-size: 13px;
  line-height: 1.6;
}

/* エラー・完了メッセージ */
body.page-id-411155 .wakatsuki-form-page .wpcf7-response-output {
  margin: 28px 0 0;
  padding: 14px 18px;
  border-radius: 8px;
  font-size: 14px;
  line-height: 1.7;
}

body.page-id-411155 .wakatsuki-form-page .wpcf7-not-valid-tip {
  margin-top: 6px;
  color: #d60000;
  font-size: 13px;
}

/* フォームページ Tablet */
@media screen and (max-width: 980px) {
  body.page-id-411155 .wakatsuki-form-page {
    padding: 56px 20px 72px;
  }

  body.page-id-411155 .wakatsuki-form-card {
    max-width: 720px;
    padding: 48px 48px 44px;
  }
}

/* フォームページ Mobile */
@media screen and (max-width: 767px) {
  body.page-id-411155 .wakatsuki-form-page {
    padding: 40px 16px 56px;
  }

  body.page-id-411155 .wakatsuki-form-card {
    padding: 36px 22px 34px;
    border-radius: 18px;
  }

  body.page-id-411155 .wakatsuki-form-page__title {
    font-size: 23px;
  }

  body.page-id-411155 .wakatsuki-form-page__lead {
    margin-bottom: 32px;
    font-size: 14px;
  }

  body.page-id-411155 .wakatsuki-contact-form input[type="submit"],
  body.page-id-411155 .wakatsuki-contact-form .wpcf7-submit,
  body.page-id-411155 .wakatsuki-form-close__button {
    width: 100%;
    min-width: 0;
  }
}






/* @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
   @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
   @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
   Mobile
   @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
   @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
   @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ */

@media screen and (max-width: 767px),
screen and (min-width: 768px) and (orientation: portrait) {
  .wakatsuki-page {
    line-height: 1.75;
  }

  .wakatsuki-page .container {
    width: calc(100% - 32px);
  }

  .wakatsuki-page .section-space {
    padding: 56px 0;
  }

   /* =========================================================
   Responsive line break
   ========================================================= */

  .wakatsuki-page .br-sp {
    display: block;
  }

  .wakatsuki-page .br-pc {
    display: none;
  }

/* =========================================================
   FV
   Mobile / Tablet portrait
   タイトル・写真を正方形にする
   ========================================================= */

.wakatsuki-page .fv {
  display: grid;
  grid-template-columns: 1fr;
  width: 100%;
  min-height: 0;
  margin: 0;
  padding: 0;
  background: var(--black);
}

/* タイトル部分を正方形 */
.wakatsuki-page .fv__titleArea {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;

  width: 100%;
  min-height: 0;
  aspect-ratio: 1 / 1;

  margin: 0;
  padding: 0;

  overflow: hidden;
  background: var(--black);
}

/* タイトルSVG */
.wakatsuki-page .fv__titleSvg {
  display: block;

  width: 100%;
  height: 100%;
  max-width: none;

  margin: 0;
  padding: 0;

  object-fit: contain;
}

/* FV「彼女のストーリーを見る」リンク */
.wakatsuki-page .fv__story-link {
  left: 13%;
  top: 71%;
  width: 36%;
  height: 8%;
}

/* =========================================================
   FV photo
   Mobile / Tablet portrait
   写真の下にコピーライトを置く
   ========================================================= */

.wakatsuki-page .fv__visual {
  display: flex;
  flex-direction: column;

  position: relative;

  width: 100%;
  min-height: 0;
  aspect-ratio: auto;

  margin: 0;
  padding: 0;

  overflow: visible;
  background: var(--white);

  border: 0;
  border-bottom: 1px solid #f5f5f5;
}

/* 写真だけを正方形にする */
.wakatsuki-page .fv__photo-frame {
  position: relative;

  width: 100%;
  aspect-ratio: 1 / 1;

  margin: 0;
  padding: 0;

  overflow: hidden;
  background: var(--white);
}

/* 写真本体 */
.wakatsuki-page .fv__photo,
.wakatsuki-page .fv__visual .fv__photo {
  display: block;

  width: 100%;
  height: 100%;
  max-width: none;

  margin: 0;
  padding: 0;

  border: 0;
  outline: 0;
  box-shadow: none;

  object-fit: cover;
  object-position: center center;
}

/* ARATA WAKATSUKI */
.wakatsuki-page .fv__name {
  position: absolute;

  right: 4px;
  left: auto;
  bottom: 18px;
  z-index: 2;

  width: 360px;
  max-width: 82%;

  height: auto;
  margin: 0;
  padding: 0;

  transform: none;
  pointer-events: none;
}

/* 写真の下、外側に表示するコピーライト */
.wakatsuki-page .fv__copyright {
  position: static;
  display: block;

  width: 100%;
  margin: 0;
  padding: 4px 0px 3px 0;

  color: #555555;
  background: var(--white);

  font-size: var(--font-xs);
  line-height: 1.2;
  font-weight: 400;
  letter-spacing: 0.02em;

  text-align: right;
  white-space: nowrap;
}

/* =========================================================
   Topix
   Mobile
   ========================================================= */

.wakatsuki-page .topics-space {
  padding-top: 48px;
  padding-bottom: 72px;
}

/*
  Topix全体は画面幅いっぱい使う
  タイトル下線を左端ジャストから出すため
*/
.wakatsuki-page .topics__inner {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

/* タイトル部分 */
.wakatsuki-page .topics__head {
  position: relative;
  width: 100%;
  margin: 0;
  padding: 0;
}

/*
  Topixタイトル自体は
  年間スケジュールと同じ左位置
*/
.wakatsuki-page .topics__title {
  width: calc(100% - 48px);
  max-width: none;
  margin: 0 auto;
  padding: 0 0 2px;

  color: #999999;
  font-size: 30px;
}

/*
  タイトル下線
  左端は画面左端ジャスト
  右側はサンプルに合わせて少し余白を残す
*/
.wakatsuki-page .topics__head::after {
  content: "";
  position: absolute;

  left: 0;
  right: 64px;
  bottom: 0;

  height: 1px;
  background: #111111;
}

/* =========================================================
   Topix本文
   年間スケジュールと同じ横幅
   ========================================================= */

.wakatsuki-page .topics__body {
  position: relative;
  width: 100%;
  max-width: 1320px;
  margin: 0 auto;

  /* 上下を同じ余白にする */
  padding: 16px 0;

  border-bottom: 0;
}

/*
  Topix一番下の横線
  本文幅いっぱい
*/
.wakatsuki-page .topics__body::after {
  content: "";
  position: absolute;

  left: 0;
  right: 0;
  bottom: 0;

  height: 1px;
  background: #999999;
}

.wakatsuki-page .topics__content {
  display: grid;
  grid-template-columns: 1fr;
  row-gap: 14px;

  width: 100%;
  max-width: none;

  margin: 0;
  padding: 0;
}

/* 新着情報 */
.wakatsuki-page .topics__label {
  margin: 0 0 16px;
  padding: 0;

  color: var(--topics-blue);
  font-size: var(--font-md);
  line-height: 1.8;
  letter-spacing: 0.08em;
  text-align: left;
}

/* 記事一覧 */
.wakatsuki-page .topics__list {
  display: grid;
  gap: 0;

  width: 100%;
  margin: 0;
  padding: 0;
}

/* 1記事 */
.wakatsuki-page .topics__item {
  display: grid;
  grid-template-columns: 1fr;
  row-gap: 4px;

  width: 100%;
  margin: 0;
  padding: 18px 0;

  border-bottom: 1px solid #999999;

  font-size: var(--font-md);
  line-height: 1.5;
}

/*
  最後の記事も下線を残す
  topics__body::after と重複するなら
  こちらを0にしてもOK
*/
.wakatsuki-page .topics__item:last-child {
  border-bottom: 0;
}

/* 日付 */
.wakatsuki-page .topics__date,
.wakatsuki-page .topics__item time {
  margin: 0;
  padding: 0;

  color: #111111;
  font-size: var(--font-sm);
  line-height: 1.5;
}

/* カテゴリ */
.wakatsuki-page .topics__category {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  width: 102px;
  min-height: 22px;

  margin: 0;
  padding: 1px 10px;

  border: 1px solid var(--topics-blue);
  color: var(--topics-blue);

  font-size: 12px;
  line-height: 1.4;
  letter-spacing: 0.08em;
  text-align: center;
}

/* 本文 */
.wakatsuki-page .topics__text {
  margin: 0;
  padding: 0;

  color: #111111;
  font-size: var(--font-sm);
  line-height: 1.6;
  letter-spacing: 0.02em;
}

/* =========================================================
   Topix
   WordPress投稿リンク
   ========================================================= */

.wakatsuki-page .topics__text-link,
.wakatsuki-page .topics__text-link:link,
.wakatsuki-page .topics__text-link:visited,
.wakatsuki-page .topics__text-link:hover,
.wakatsuki-page .topics__text-link:active {
  display: block;
  min-width: 0;
  margin: 0;
  padding: 0;

  color: #111111;
  font-size: var(--font-md);
  line-height: 1.6;
  letter-spacing: 0.02em;

  text-decoration: none;
}

.wakatsuki-page .topics__text-link:hover {
  text-decoration: underline;
}

/*
 * カテゴリー未設定時でも
 * PCの3列レイアウトを崩さないための空枠
 */
.wakatsuki-page .topics__category--empty {
  border-color: transparent;
}

/*
 * 投稿が0件の場合
 */
.wakatsuki-page .topics__empty {
  margin: 0;
  padding: 0;

  color: #777777;
  font-size: var(--font-md);
  line-height: 1.7;
}

  /* 応援リンク */
  .wakatsuki-page .ouen-message {
    padding: 36px 0 56px;
  }

  .wakatsuki-page .ouen-message__inner {
    width: calc(100% - 48px);
    max-width: none;
  }

  .wakatsuki-page .ouen-message__svg {
    width: 100%;
    max-width: 360px;
    margin-left: auto;
    margin-right: auto;
  }

  /* profile */
/* =========================================================
   Profile
   モバイルでは写真と文字部分を正方形にする
   ========================================================= */

.wakatsuki-page .profile__layout {
  display: grid;
  grid-template-columns: 1fr;
  width: 100%;
  margin: 0;
  padding: 0;
  gap: 0;
  background: var(--black);
}

/* 写真部分 */
.wakatsuki-page .profile__image {
  width: 100%;
  min-width: 0;
  min-height: 0;
  aspect-ratio: 1 / 1;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background: var(--black);
}

/* 写真を正方形いっぱいに表示 */
.wakatsuki-page .profile__image .wakatsuki-img-cover {
  display: block;
  width: calc(100% + 2px);
  height: calc(100% + 2px);
  min-height: 0;
  max-width: none;
  margin: -1px;
  padding: 0;
  object-fit: cover;
  object-position: center center;
}

/* 文字SVG部分 */
.wakatsuki-page .profile__content {
  display: flex;
  align-items: center;
  justify-content: center;

  width: 100%;
  min-width: 0;
  min-height: 0;
  aspect-ratio: 1 / 1;

  margin: 0;
  padding: 24px;

  overflow: hidden;

  color: var(--white);
  background: var(--black);
}

/*
  pictureを挟んでいるため、
  picture自体も黒い正方形の中で中央配置する
*/
.wakatsuki-page .profile__content picture {
  display: flex;
  align-items: center;
  justify-content: center;

  width: 100%;
  height: 100%;

  margin: 0;
  padding: 0;
}

/*
  モバイル用プロフィールSVG
  縦横比を維持して黒背景内に収める
*/
.wakatsuki-page .profile__headline-image {
  display: block;

  width: 100%;
  height: auto;
  max-width: 100%;
  max-height: 100%;

  margin: 0;
  padding: 0;

  object-fit: contain;
  transform: none;
}

/* =========================================================
   Sponsor
   モバイル表示
   ========================================================= */

.wakatsuki-page .sponsor {
  width: 100%;
  margin: 0;
  padding: 48px 0 0;
  overflow: visible;
  background: var(--white);
}

/*
  見出しを除いた本文領域を正方形にする
*/
.wakatsuki-page .sponsor__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  width: 100%;
  aspect-ratio: 1 / 1;
  margin: 0;
  padding: 20px 0;
  row-gap: 44px;

  overflow: visible;
  background: var(--white);
}

/*
  文章の固まり自体は中央に配置するが、
  文章は左揃え
*/
.wakatsuki-page .sponsor__message {
  width: fit-content;
  max-width: 100%;
  margin: 0 auto;
  padding: 0;
}

.wakatsuki-page .sponsor__copy {
  margin: 0;
  padding: 0;

  color: var(--black);
  font-size: clamp(19px, 5.5vw, 25px);
  font-weight: 900;
  line-height: 1.45;
  letter-spacing: 0.01em;
  text-align: left;
}

.wakatsuki-page .sponsor__copy-nowrap {
  white-space: nowrap;
}

/*
  SP用ロゴ
*/
.wakatsuki-page .sponsor__logo {
  display: flex;
  align-items: center;
  justify-content: center;

  width: 100%;
  margin: 0;
  padding: 0;
  transform: none;
}

.wakatsuki-page .sponsor__logo picture {
  display: block;
  width: 180px;
  max-width: 52vw;
  margin: 0 auto;
  padding: 0;
}

.wakatsuki-page .sponsor__logo-image {
  display: block;
  width: 100%;
  height: auto;
  max-width: none;
  margin: 0;
  padding: 0;
  border: 0;
}

.wakatsuki-page .records,
.wakatsuki-page .past-records {
  background: var(--white);
}

/* =========================================================
   Sponsor / Records / Past records
   モバイル時の共通左位置
   ========================================================= */

.wakatsuki-page .sponsor .records-container,
.wakatsuki-page .records .records-container,
.wakatsuki-page .past-records .records-container {
  width: calc(100% - 48px);
  max-width: none;
  margin-right: auto;
  margin-left: auto;
  padding: 0;
}

/*
  3つのタイトルを同じ左端へ揃える
*/
.wakatsuki-page .sponsor .section-box-title,
.wakatsuki-page .records .section-box-title,
.wakatsuki-page .past-records .section-box-title {
  width: 180px;
  height: 34px;
  margin-right: 0;
  margin-left: 0;
  padding: 0;

  font-size: var(--font-md);
  line-height: 1;
}

/* =========================================================
   Records
   モバイルでは左右2列にせず、縦1列にする
   ========================================================= */

.wakatsuki-page .records {
  margin: 0;
  padding: 64px 0 56px;
  background: var(--white);
}

/*
  戦績見出し下の余白
*/
.wakatsuki-page .records .section-box-title {
  margin-bottom: 38px;
}

/*
  タブレット用の2列指定を解除
*/
.wakatsuki-page .records__latest {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  row-gap: 48px;
  column-gap: 0;

  width: 100%;
  margin: 0;
  padding: 0;
}

/*
  各本文ブロック
*/
.wakatsuki-page .records__column {
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0;
}

.wakatsuki-page .records__subheading {
  margin: 0 0 8px;
  color: var(--black);
  font-size: var(--font-sm);
  font-weight: 800;
  line-height: 1.7;
  letter-spacing: 0.02em;
}

/*
  2024年主な戦績の前だけ余白を設ける
*/
.wakatsuki-page .records__subheading--space {
  margin-top: 36px;
}

.wakatsuki-page .records__column p {
  margin: 0;
  color: var(--black);
  font-size: var(--font-sm);
  font-weight: 400;
  line-height: 1.9;
  letter-spacing: 0.02em;
}

/* =========================================================
   Past records
   戦績と同じ左位置に揃える
   ========================================================= */

.wakatsuki-page .past-records {
  margin: 0;
  padding: 64px 0 96px;
  background: var(--white);
}

.wakatsuki-page .past-records .section-box-title {
  margin-bottom: 38px;
}

.wakatsuki-page .past-records__body {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

.wakatsuki-page .past-records__item {
  width: 100%;
  margin: 0 0 32px;
  padding: 0;
}

.wakatsuki-page .past-records__item:last-child {
  margin-bottom: 0;
}

.wakatsuki-page .past-records__item p {
  margin: 0;
  color: var(--black);
  font-size: var(--font-sm);
  font-weight: 400;
  line-height: 1.9;
  letter-spacing: 0.02em;
}


/* =========================================================
   Wakatsuki Story
   Mobile
   ========================================================= */

.wakatsuki-page .story {
  margin: 0;
  padding: 80px 0 100px;
  color: var(--white);
  background: var(--black);
  overflow: hidden;
}

.wakatsuki-page .story__inner {
  position: relative;
  width: calc(100% - 48px);
  max-width: none;
  margin: 0 auto;
  padding: 0;
  overflow: visible;
}

/* =========================================================
   Storyタイトル
   ========================================================= */

.wakatsuki-page .story__label {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  width: 180px;
  height: 34px;
  min-width: 0;
  min-height: 0;

  margin: 0 0 72px;
  padding: 0 12px;

  border: 1px solid rgba(255, 255, 255, 0.9);
  color: var(--white);
  background: transparent;

  font-family:
    "Noto Sans JP",
    "Hiragino Kaku Gothic ProN",
    "Yu Gothic",
    Meiryo,
    sans-serif;

  font-size: 16px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.08em;
}

/* =========================================================
   年表全体
   ========================================================= */

.wakatsuki-page .story-timeline {
  /*
    タイトル左枠から約2px右に縦線を置く
  */
  --story-axis-x: 2px;

  /*
    各項目の丸と横線の高さ
  */
  --story-line-y: 28px;

  /*
    丸の直径
  */
  --story-circle-size: 14px;

  /*
    年の開始位置
  */
  --story-year-left: 32px;

  /*
    年の右端より数字1文字程度右の位置。
    説明文・写真・キャプションをすべてここに揃える
  */
  --story-content-left: 78px;

  /*
    写真とキャプションの共通幅
  */
  --story-photo-width: 210px;

  position: relative;
  width: 100%;
  margin: 0;
  padding: 0;
  overflow: visible;
}

/*
  年表全体を通る縦線

  ・最初の丸より少し上から開始
  ・すべての丸の中心を貫通
  ・下の項目まで連続して伸びる
*/
.wakatsuki-page .story-timeline::before {
  content: "";
  position: absolute;

  top: calc(var(--story-line-y) - 8px);
  bottom: 0;
  left: var(--story-axis-x);

  width: 1px;
  background: rgba(255, 255, 255, 0.85);
}

/* =========================================================
   年表1項目
   ========================================================= */

.wakatsuki-page .story-item {
  position: relative;

  display: flex;
  flex-direction: column;

  width: 100%;
  margin: 0;
  padding: 84px 0 110px;

  overflow: visible;
}

.wakatsuki-page .story-item:last-child {
  padding-bottom: 0;
}

/*
  line自体の箱をなくして、
  circle / year / bar / summary を
  story-itemの子として並べ替え可能にする
*/
.wakatsuki-page .story-item__line {
  display: contents;
}

/*
  過去に追加した疑似要素の横線は使用しない
*/
.wakatsuki-page .story-item__line::before,
.wakatsuki-page .story-item__line::after {
  content: none;
  display: none;
}

/* =========================================================
   丸
   ========================================================= */

.wakatsuki-page .story-item__circle {
  position: absolute;

  /*
    丸の中心を縦線のX位置へ合わせる
  */
  left: calc(
    var(--story-axis-x) - (var(--story-circle-size) / 2)
  );

  top: var(--story-line-y);
  z-index: 4;

  display: block;
  width: var(--story-circle-size);
  height: var(--story-circle-size);
  margin: 0;
  padding: 0;

  transform: translateY(-50%);

  border: 1px solid var(--white);
  border-radius: 50%;
  background: var(--black);
}

/*
  丸を横方向に貫通する短い線

  左側へ少しだけ飛び出す
*/
.wakatsuki-page .story-item__circle::before {
  content: "";
  position: absolute;

  left: -5px;
  top: 50%;
  z-index: 5;

  width: 24px;
  height: 1px;

  transform: translateY(-50%);
  background: var(--white);
}

/*
  丸を縦方向に貫通する短い線

  丸の上へ少しだけ飛び出す
*/
.wakatsuki-page .story-item__circle::after {
  content: "";
  position: absolute;

  left: 50%;
  top: -7px;
  z-index: 5;

  width: 1px;
  height: 28px;

  transform: translateX(-50%);
  background: var(--white);
}

/* =========================================================
   横線
   ========================================================= */

/*
  丸の右側から右端まで伸びる横線

  story__innerの右端より2pxだけ外側へ伸ばす。
  これにより黒背景右端との余白は、
  タイトル左マージンより約2px狭くなる。
*/
.wakatsuki-page .story-item__bar {
  position: absolute;

  left: calc(
    var(--story-axis-x) + (var(--story-circle-size) / 2)
  );

  right: -2px;
  top: var(--story-line-y);
  z-index: 1;

  display: block;
  width: auto;
  height: 1px;

  background: rgba(255, 255, 255, 0.85);
}

/* サンプルに合わせて右端の矢印は表示しない */
.wakatsuki-page .story-item__bar::after {
  content: none;
  display: none;
}

/* =========================================================
   年
   ========================================================= */

.wakatsuki-page .story-item__year {
  position: absolute;

  left: var(--story-year-left);
  top: var(--story-line-y);
  z-index: 4;

  display: block;
  width: max-content;
  margin: 0;
  padding: 0;

  /*
    横線より少し上へ配置
  */
  transform: translateY(-24px);

  color: var(--white);
  background: transparent;

  font-size: 15px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0.02em;
  white-space: nowrap;
  text-align: left;
}

.wakatsuki-page .story-item__year::after {
  content: none;
  display: none;
}


/* =========================================================
   説明文
   写真の下へ移動
   ========================================================= */

.wakatsuki-page .story-item__summary {
  order: 3;

  position: static;
  z-index: auto;

  width: calc(100% - var(--story-content-left));

  margin: 28px 0 0 var(--story-content-left);
  padding: 0;
}

.wakatsuki-page .story-item__summary p {
  margin: 0 0 5px;
  padding: 0;

  color: var(--white);
  font-size: 12px;
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0.01em;
}

.wakatsuki-page .story-item__summary p:last-child {
  margin-bottom: 0;
}

/* =========================================================
   写真・キャプション
   ========================================================= */

/*
  contentの箱もなくす。

  photoとcatchをstory-item直下と同じように扱い、
  summaryとの順番入れ替えを可能にする
*/
.wakatsuki-page .story-item__content,
.wakatsuki-page .story-item--left .story-item__content,
.wakatsuki-page .story-item--right .story-item__content {
  display: contents;
}

/*
  PC用の左右入れ替えレイアウトを解除
*/
.wakatsuki-page .story-item--left .story-item__photo,
.wakatsuki-page .story-item--left .story-item__catch,
.wakatsuki-page .story-item--right .story-item__photo,
.wakatsuki-page .story-item--right .story-item__catch {
  grid-column: auto;
  grid-row: auto;
}

/* 写真：キャプションの下 */
.wakatsuki-page .story-item__photo {
  order: 2;

  width: var(--story-photo-width);
  max-width: 100%;

  margin: 0 0 0 var(--story-content-left);
  padding: 0;

  overflow: hidden;
}

/* 写真本体 */
.wakatsuki-page .story-item__photo .wakatsuki-img-cover {
  display: block;

  width: 100%;
  height: auto;
  aspect-ratio: 3 / 4.2;

  margin: 0;
  padding: 0;

  object-fit: cover;
  object-position: center center;
}

/* =========================================================
   キャプション
   写真の上へ移動
   ========================================================= */

.wakatsuki-page .story-item__catch {
  order: 1;

  width: var(--story-photo-width);
  max-width: 100%;

  margin: 0 0 22px var(--story-content-left);
  padding: 0;

  color: var(--white);

  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    "Noto Serif JP",
    serif;

  font-size: 20px;
  font-weight: 400;
  line-height: 1.55;
  letter-spacing: 0.08em;
  white-space: normal;
  text-align: left;
}



/* =========================================================
   Schedule
   Mobile
   横線・三角・年月をカードの上へ配置
   ========================================================= */

.wakatsuki-page .schedule {
  margin: 0;
  padding: 80px 0 100px;
  color: var(--black);
  background: var(--white);
}

.wakatsuki-page .schedule__inner {
  width: calc(100% - 48px);
  max-width: none;
  margin: 0 auto;
  padding: 0;
}

/* 年間スケジュール見出し */
.wakatsuki-page .schedule .section-box-title {
  width: 180px;
  height: 34px;
  margin: 0 0 72px;
  padding: 0;
  font-size: var(--font-md);
  line-height: 1;
}

/*
  一覧全体

  各カードの上側に、
  横線・三角・年月を配置するための余白を確保する
*/
.wakatsuki-page .schedule__grid {
  display: grid;
  grid-template-columns: 1fr;

  width: 100%;
  margin: 0;
  padding: 0;

  /*
    カード同士の余白
  */
  row-gap: 150px;
}

/*
  PC・タブレット用のgrid-column指定を解除
*/
.wakatsuki-page .schedule-card:nth-child(1),
.wakatsuki-page .schedule-card:nth-child(2),
.wakatsuki-page .schedule-card:nth-child(3),
.wakatsuki-page .schedule-card:nth-child(4),
.wakatsuki-page .schedule-card:nth-child(5),
.wakatsuki-page .schedule-card:nth-child(6),
.wakatsuki-page .schedule-card:nth-child(7) {
  grid-column: auto;

  position: relative;
  display: flex;
  flex-direction: column;

  width: 100%;
  min-height: 0;

  margin: 82px 0 0;
  padding: 30px 24px 32px;

  color: var(--black);
  background: #f2f2f2;
  border: 1px solid #bfbfbf;
  text-align: left;
}

/* カード上の横線 */
.wakatsuki-page .schedule-card::before {
  content: "";
  position: absolute;

  left: 0;
  right: 0;
  top: -82px;
  bottom: auto;

  height: 1px;
  background: #9c9c9c;
}

/* 横線の中央を通る下向き三角 */
.wakatsuki-page .schedule-card::after {
  content: "";
  position: absolute;

  left: 50%;

  /*
    三角の高さ22pxなので、
    横線 top:-82px が三角の中央を通るように
    半分の11pxだけ上へずらす
  */
  top: -93px;
  bottom: auto;

  width: 0;
  height: 0;

  transform: translateX(-50%);

  border-left: 12px solid transparent;
  border-right: 12px solid transparent;
  border-top: 22px solid #9c9c9c;
}

/*
  年月

  横線・三角の下、
  カードの上に配置
*/
.wakatsuki-page .schedule-card time {
  position: absolute;

  left: 50%;
  top: -54px;
  bottom: auto;

  display: block;
  width: max-content;
  margin: 0;
  padding: 0;

  transform: translateX(-50%);

  color: #9a9a9a;
  font-size: 28px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.06em;
  white-space: nowrap;
}

/* カード見出し */
.wakatsuki-page .schedule-card h3 {
  width: fit-content;
  min-width: 108px;

  margin: 0 auto 24px;
  padding: 0 0 8px;

  color: var(--black);
  border-bottom: 1px solid var(--black);

  font-size: 23px;
  font-weight: 900;
  line-height: 1.3;
  letter-spacing: 0.08em;
  text-align: center;
}

/* カード本文 */
.wakatsuki-page .schedule-card p {
  margin: 0;
  padding: 0;

  color: var(--black);
  font-size: var(--font-md);
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.04em;
}

/* 月付きの本文一覧 */
.wakatsuki-page .schedule-card__events {
  display: grid;
  row-gap: 14px;

  width: 100%;
  margin: 0;
  padding: 0;
}

.wakatsuki-page .schedule-card .schedule-card__event {
  display: grid;
  grid-template-columns: 2.6em minmax(0, 1fr);
  column-gap: 0.1em;
  align-items: start;

  margin: 0;
  padding: 0;

  color: var(--black);
  font-size: var(--font-md);
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.04em;
}

.wakatsuki-page .schedule-card__month {
  display: block;
  white-space: nowrap;
}

.wakatsuki-page .schedule-card__text {
  display: block;
  min-width: 0;
}

/* =========================================================
   Schedule competition image
   Mobile
   ========================================================= */

/*
  各大会イメージ全体

  schedule__innerいっぱいを使用することで、
  「各大会イメージ」の左端を
  「年間スケジュール」の左端と揃える
*/
.wakatsuki-page .schedule-competition-image {
  width: 100%;
  max-width: none;
  margin: 180px 0 0;
  padding: 0;
}

/*
  「各大会イメージ」見出し

  年間スケジュール見出しと同じサイズ・左位置
*/
.wakatsuki-page .schedule .section-box-title--competition {
  width: 180px;
  height: 34px;
  margin: 0 0 48px;
  padding: 0;

  color: var(--white);
  background: #777777;
  border: 1px solid #777777;

  font-size: var(--font-md);
  line-height: 1;
}

/*
  三角図

  年間スケジュールのカードより
  左右12pxずつ広げる
*/
.wakatsuki-page .schedule-competition-image__body {
  width: calc(100% + 24px);
  margin: 0 0 0 -12px;
  padding: 0;
}

/*
  pictureも全幅
*/
.wakatsuki-page .schedule-competition-image__body picture {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
}

/*
  三角図SVG
*/
.wakatsuki-page .schedule-competition-image__img {
  display: block;
  width: 100%;
  height: auto;
  max-width: none;
  margin: 0;
  padding: 0;
  border: 0;
}

/* =========================================================
   大会説明
   Mobileのみ
   ========================================================= */

.wakatsuki-page .schedule-competition-sp-note {
  display: block;

  /*
    年間スケジュールカードと同じ横幅
  */
  width: 100%;
  margin: 52px 0 0;
  padding: 0;

  color: var(--black);
}

/* 各説明ブロック */
.wakatsuki-page .schedule-competition-sp-note__block {
  width: 100%;
  margin: 0 0 16px;
  padding: 0;
}

.wakatsuki-page .schedule-competition-sp-note__block:last-child {
  margin-bottom: 0;
}

/* ＜ワールドカップ＞など */
.wakatsuki-page .schedule-competition-sp-note__title {
  margin: 0 0 4px;
  padding: 0;

  color: var(--black);
  font-size: var(--font-sm);
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0.02em;
}

/* 説明本文 */
.wakatsuki-page .schedule-competition-sp-note__block p {
  margin: 0;
  padding: 0;

  color: var(--black);
  font-size: var(--font-sm);
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0.02em;
}

/*
  タイトルにも上記p指定が当たるので
  タイトルの下余白だけ戻す
*/
.wakatsuki-page .schedule-competition-sp-note__block
.schedule-competition-sp-note__title {
  margin-bottom: 4px;
}


/* =========================================================
   Schedule training
   Mobile
   文章上・写真下
   年間スケジュールカードと同じ横幅
   ========================================================= */

/*
  親の「各大会イメージ」エリアを
  年間スケジュールカードと同じ横幅に戻す
*/
.wakatsuki-page .schedule-competition-image {
  width: 100%;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
}

/* トレーニング一覧 */
.wakatsuki-page .schedule-training-list {
  width: 100%;
  margin: 100px 0 0;
  padding: 0;
}

/*
  各トレーニング
  PCの左右2列を解除して、
  文章 → 写真 の縦並びにする
*/
.wakatsuki-page .schedule-training-item {
  display: flex;
  flex-direction: column;

  width: 100%;
  margin: 0 0 100px;
  padding: 0;

  row-gap: 36px;
}

.wakatsuki-page .schedule-training-item:last-child {
  margin-bottom: 0;
}

/* 文章側 */
.wakatsuki-page .schedule-training-item__text {
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0;
}

/* 各トレーニングタイトル */
.wakatsuki-page .schedule-training-item__title {
  display: flex;
  align-items: center;
  justify-content: center;

  width: fit-content;
  min-width: 0;
  height: 32px;

  margin: 0 0 28px;
  padding: 0 12px;

  color: var(--black);
  background: var(--white);
  border: 1px solid #777777;

  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.04em;
}

/* 文章 */
.wakatsuki-page .schedule-training-item__body {
  width: 100%;
  margin: 0;
  padding: 0;
}

.wakatsuki-page .schedule-training-item__body p {
  width: 100%;
  margin: 0 0 20px;
  padding: 0;

  color: var(--black);
  font-size: var(--font-sm);
  font-weight: 400;
  line-height: 1.9;
  letter-spacing: 0.02em;
}

.wakatsuki-page .schedule-training-item__body p:last-child {
  margin-bottom: 0;
}

/*
  写真
  必ず文章の下へ配置
*/
.wakatsuki-page .schedule-training-item__image {
  display: block;

  width: 100%;
  max-width: none;

  margin: 0;
  padding: 0;
}

/* 写真本体 */
.wakatsuki-page .schedule-training-item__image img {
  display: block;

  width: 100%;
  height: auto;
  max-width: none;

  margin: 0;
  padding: 0;

  border: 0;
}

  /* =========================================================
     Ranking / Mission
     モバイルのみ2列の正方形にする
     PC・タブレットには影響させない
     ========================================================= */

  .wakatsuki-page .ranking .split,
  .wakatsuki-page .mission .split {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    min-height: 0;
    margin: 0;
    padding: 0;
    gap: 0;
  }

  .wakatsuki-page .ranking .split__image,
  .wakatsuki-page .ranking .split__content,
  .wakatsuki-page .mission .split__image,
  .wakatsuki-page .mission .split__content {
    width: 100%;
    min-width: 0;
    min-height: 0;
    aspect-ratio: 1 / 1;
    margin: 0;
    overflow: hidden;
  }

  /* 写真側 */
  .wakatsuki-page .ranking .split__image,
  .wakatsuki-page .mission .split__image {
    padding: 0;
  }

  .wakatsuki-page .ranking .split__image .wakatsuki-img-cover,
  .wakatsuki-page .mission .split__image .wakatsuki-img-cover {
    display: block;
    width: calc(100% + 2px);
    height: calc(100% + 2px);
    max-width: none;
    margin: -1px;
    padding: 0;
    object-fit: cover;
  }

  /* 黒背景＋文字SVG側 */
  .wakatsuki-page .ranking .split__content,
  .wakatsuki-page .mission .split__content {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    background: var(--black);
  }

  /*
   現在のHTMLでは見出しSVGにも fv__titleSvg が付いているため、
   ランキング・ミッション内だけ正方形へ収める
  */
  .wakatsuki-page .ranking .split__content .fv__titleSvg,
  .wakatsuki-page .mission .split__content .fv__titleSvg {
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    object-fit: contain;
  }

  /* ランキング：左写真、右文字 */
  .wakatsuki-page .ranking .split__image {
    order: 1;
  }

  .wakatsuki-page .ranking .split__content {
    order: 2;
  }

  /* ミッション：左文字、右写真 */
  .wakatsuki-page .mission .split__content {
    order: 1;
  }

  .wakatsuki-page .mission .split__image {
    order: 2;
  }

  /* =========================================================
   Messages
   Mobile
   年間スケジュールと左右位置・横幅を揃える
   ========================================================= */

.wakatsuki-page .messages {
  width: 100%;
  margin: 0;
  padding: 0;
  background: var(--white);
}

.wakatsuki-page .messages__gray {
  width: 100%;
  margin: 0;
  padding: 80px 0 80px;
  background: var(--gray);
}

/*
  年間スケジュールと同じ横幅
*/
.wakatsuki-page .messages__inner {
  width: calc(100% - 48px);
  max-width: none;
  margin: 0 auto;
  padding: 0;
}

/*
  「応援メッセージ」
  年間スケジュールタイトルと同じ左端・サイズ
*/
.wakatsuki-page .messages .black-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  width: 180px;
  min-width: 180px;
  height: 34px;
  min-height: 34px;

  margin: 0 0 48px;
  padding: 0;

  color: var(--white);
  background: var(--black);
  border: 1px solid var(--black);

  font-size: var(--font-md);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.08em;
}

/*
  メッセージBOX
  年間スケジュールカードと同じ横幅
*/
.wakatsuki-page .message-box {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 34px 24px 38px;

  background: var(--white);
  border: 1px solid #bfbfbf;
  border-radius: 22px;
}

/* 1件ごとのメッセージ */
.wakatsuki-page .message-box article {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  column-gap: 28px;
  row-gap: 4px;
  align-items: end;
  margin: 0 0 56px;
  padding: 0;
  border: 0;
}

.wakatsuki-page .message-box article:last-child {
  margin-bottom: 0;
}

.wakatsuki-page .message-box h3 {
  grid-column: 1 / -1;
  margin: 0;
  color: var(--black);
  font-size: var(--font-body);
  line-height: 1.7;
  font-weight: 400;
  letter-spacing: 0.04em;
}

.wakatsuki-page .message-box p {
  margin: 0;
  padding: 0;

  color: var(--black);
  font-size: var(--font-sm);
  font-weight: 400;
  line-height: 1.7;
}

.wakatsuki-page .message-box time {
  align-self: end;
  margin: 0 0 2px;
  padding: 0;

  color: #888888;

  font-size: 13px;
  line-height: 1.4;
  font-weight: 400;

  white-space: nowrap;
  text-align: right;
}

/* =========================================================
   応援メッセージ募集案内
   文章は左揃え、文章の塊を中央配置
   ========================================================= */

.wakatsuki-page .messages .message-note {
  display: flex;
  flex-direction: column;
  align-items: center;

  width: 100%;
  margin: 32px 0 0;
  padding: 0;

  gap: 10px;
}

/*
  文章の実幅でブロックを作る
  ブロック自体は中央
  中の文字は左揃え
*/
.wakatsuki-page .messages .message-note .message-note__text {
  display: block;

  width: max-content;
  max-width: 100%;

  margin: 0 0 1.7em;
  padding: 0;

  color: #a0a0a0;
  font-size: var(--font-sm);
  line-height: 1.7;

  text-align: left !important;
}
/* }

@media screen and (max-width: 767px) { */


  .wakatsuki-page .footer {
    padding: 96px 20px 24px;
    background: var(--white);
  }

  /* Footer SVG切り替え */
  .wakatsuki-page .footer__mark-pc {
    display: none;
  }

  .wakatsuki-page .footer__mark-sp {
    display: block;
  }

  .wakatsuki-page .footer__hotlinks {
    left: 10%;
    right: 10%;
    bottom: 4%;
    height: 42%;
    column-gap: 8%;
  }

  .wakatsuki-page .page-top-link {
    width: calc(100% - 8px);
    max-width: none;

    margin: 64px auto 0;
    padding: 0;

    text-align: right;
  }

  .wakatsuki-page .page-top-link__anchor {
    display: inline-block;
    margin: 0;
    padding: 0;

    color: var(--black);
    font-size: var(--font-mg);
    line-height: 1.6;
    font-weight: 400;
    letter-spacing: 0.04em;
    text-decoration: none;
  }
}

/* =========================================================
   Photo border reset
   写真まわりの黒枠・疑似要素・余計な線を消す
   ========================================================= */
.wakatsuki-page .split__image,
.wakatsuki-page .profile__image,
.wakatsuki-page .activity-card__image,
.wakatsuki-page .story-item__photo,
.wakatsuki-page figure {
  border: 0;
  outline: 0;
  box-shadow: none;
  background: transparent;
}

.wakatsuki-page .fv__visual::before,
.wakatsuki-page .fv__visual::after,
.wakatsuki-page .split__image::before,
.wakatsuki-page .split__image::after,
.wakatsuki-page .profile__image::before,
.wakatsuki-page .profile__image::after,
.wakatsuki-page .activity-card__image::before,
.wakatsuki-page .activity-card__image::after,
.wakatsuki-page .story-item__photo::before,
.wakatsuki-page .story-item__photo::after {
  content: none;
  display: none;
}

.wakatsuki-page .fv__photo,
.wakatsuki-page .split__image img,
.wakatsuki-page .split__image .wakatsuki-img-cover,
.wakatsuki-page .profile__image img,
.wakatsuki-page .profile__image .wakatsuki-img-cover,
.wakatsuki-page .activity-card__image img,
.wakatsuki-page .activity-card__image .wakatsuki-img-cover,
.wakatsuki-page .story-item__photo img,
.wakatsuki-page .story-item__photo .wakatsuki-img-cover {
  display: block;
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  box-shadow: none;
}

/* 市松レイアウトの境目はgapだけゼロにして、写真や黒背景は重ねない */
.wakatsuki-page .fv,
.wakatsuki-page .split,
.wakatsuki-page .profile__layout {
  gap: 0;
  column-gap: 0;
  row-gap: 0;
}

/* =========================================================
   Image edge crop
   写真の端に出る黒枠・グレー線を画像ごと1px外へ逃がす
   ========================================================= */

.wakatsuki-page .split__image,
.wakatsuki-page .profile__image,
.wakatsuki-page .activity-card__image,
.wakatsuki-page .story-item__photo {
  overflow: hidden;
  border: 0;
  outline: 0;
  box-shadow: none;
}

.wakatsuki-page .fv__photo,
.wakatsuki-page .split__image img,
.wakatsuki-page .split__image .wakatsuki-img-cover,
.wakatsuki-page .profile__image img,
.wakatsuki-page .profile__image .wakatsuki-img-cover,
.wakatsuki-page .activity-card__image img,
.wakatsuki-page .activity-card__image .wakatsuki-img-cover,
.wakatsuki-page .story-item__photo img,
.wakatsuki-page .story-item__photo .wakatsuki-img-cover {
  display: block;
  width: calc(100% + 2px);
  height: calc(100% + 2px);
  max-width: none;
  margin: -1px;
  padding: 0;
  border: 0;
  outline: 0;
  box-shadow: none;
  object-fit: cover;
}

