.subpage-page {
  position: relative;
  background:
    radial-gradient(circle at 2% 28%,rgba(40,184,232,.1),transparent 24%),
    radial-gradient(circle at 95% 66%,rgba(114,184,42,.1),transparent 26%),
    #fff;
}
.subpage-hero {
  position: relative; overflow: hidden; padding: 70px 0 64px;
  color: var(--black);
  background:
    radial-gradient(circle at 12% 15%,rgba(244,63,133,.14),transparent 28%),
    radial-gradient(circle at 88% 78%,rgba(34,188,143,.18),transparent 32%),
    linear-gradient(120deg,#fff 0%,#fff8fb 48%,#edfbf6 100%);
  border-top: 10px solid var(--pink);
}
.subpage-hero::after {
  position: absolute; right: -80px; bottom: -75px; width: 430px; height: 180px;
  background: repeating-linear-gradient(90deg,rgba(17,159,48,.09) 0 18px,transparent 18px 38px);
  content: ""; transform: rotate(-16deg);
}
.subpage-hero-inner { position: relative; z-index: 1; width: min(1060px,calc(100% - 80px)); margin: auto; }
.subpage-kicker { margin: 0 0 17px; color: var(--green-dark); font-size: 11px; font-weight: 900; letter-spacing: .23em; }
.subpage-hero h1 { margin: 0; font-size: clamp(54px,7vw,92px); font-weight: 900; line-height: .88; letter-spacing: -.025em; }
.subpage-title-ja { margin: 23px 0 0; color: var(--green-dark); font-size: 20px; font-weight: 900; letter-spacing: .09em; }
.subpage-lead { max-width: 700px; margin: 20px 0 0; color: #54615b; font-size: 16px; font-weight: 650; line-height: 1.9; }
.subpage-content { position: relative; z-index: 1; width: min(1060px,calc(100% - 80px)); margin: auto; padding: 70px 0 124px; }
.prizepage-prize-1block { margin: 0; }
.basic-content-block {
  margin: 0 0 46px; overflow: hidden; background: rgba(255,255,255,.94);
  border: 1px solid var(--line); box-shadow: 0 16px 38px rgba(17,19,24,.075);
}
.contenttable-midashi2023 {
  padding: 19px 25px; color: var(--black);
  background: linear-gradient(90deg,#ebfaf4 0%,#fff 58%,#fff7fa 100%);
  border-left: 7px solid var(--green); border-bottom: 1px solid var(--line);
  font-size: 21px; font-weight: 900; line-height: 1.5; letter-spacing: .03em;
}
.basic-content-block-text { padding: 28px 30px 31px; color: #404844; font-size: 16px; font-weight: 600; line-height: 2; }
.basic-content-block-text a { color: var(--green-dark); font-weight: 900; text-decoration: underline; text-underline-offset: 3px; }
.flowchart-img { display: block; width: 100%; height: auto; margin: auto; }
.regulation-compassimg { display: block; width: min(320px,100%); height: auto; margin: 24px 0 5px; }
.teaser-midashi-robot {
  margin: 96px 0 0; color: var(--black); font-size: clamp(42px,6vw,72px);
  font-weight: 900; line-height: 1; letter-spacing: -.05em;
}
.teaser-midashi-robot-labeltext { margin: 15px 0 34px; color: var(--muted); font-size: 16px; font-weight: 750; line-height: 1.8; }
.slidetoggle_menu {
  margin: 0 0 9px !important; overflow: hidden; background: #fff;
  border: 1px solid var(--line) !important;
}
.slidetoggle_menu dt {
  position: relative; margin: 0; padding: 17px 54px 17px 21px; cursor: pointer;
  color: var(--black); background: #fff; font-size: 17px; font-weight: 900; line-height: 1.55;
  transition: color .2s ease,background .2s ease;
}
.slidetoggle_menu dt:hover,.slidetoggle_menu dt:focus-visible { color: var(--green-dark); background: var(--gray); outline: none; }
.slidetoggle_menu dt::after {
  position: absolute; top: 50%; right: 20px; width: 25px; height: 25px;
  background-color: var(--green);
  background-image: linear-gradient(#fff,#fff),linear-gradient(#fff,#fff);
  background-position: center; background-repeat: no-repeat;
  background-size: 11px 2px,2px 11px;
  box-shadow: 0 0 0 rgba(17,159,48,0);
  content: ""; transform: translateY(-50%);
  transition: background-color .2s ease,box-shadow .2s ease;
}
.slidetoggle_menu.is-open dt::after {
  background-color: var(--green-dark);
  background-image: linear-gradient(#fff,#fff);
  background-size: 11px 2px;
  box-shadow: 0 3px 8px rgba(17,159,48,.16);
}
.slidetoggle_menu dd {
  display: grid; grid-template-rows: 0fr; margin: 0; padding: 0;
  overflow: hidden; opacity: 0; color: #4c5550; background: var(--gray);
  font-size: 15px; font-weight: 600; line-height: 1.9;
  transition: grid-template-rows .38s cubic-bezier(.22,.8,.24,1),opacity .24s ease;
}
.slidetoggle_menu.is-open dd { grid-template-rows: 1fr; opacity: 1; }
.accordion-panel-clip { min-height: 0; overflow: hidden; }
.accordion-panel-inner { padding: 21px 23px 23px; }
.regulation-world-marker {
  display: block; margin-top: 10px; padding: 12px 14px;
  color: var(--green-dark); background: rgba(17,159,48,.08); border-left: 4px solid var(--green);
  font-weight: 800;
}
.color-sweet-bold { color: #e93279; }
.color-bitter-bold { color: #159fca; }
.color-cherry-bold { color: #0c9a58; }
.color-shiny-bold { color: #d99d0b; }
.color-passion-bold { color: #e5484d; }
.color-compass-bold { color: #ee8415; }
.color-takumi-bold { color: #718e35; }
.color-u25-bold { color: #aa8a22; }
.color-liver-bold { color: #8054b8; }
.regulation-page .color-sweet-bold { color: #e5059c; }
.regulation-page .color-bitter-bold { color: #02a0e9; }
.regulation-page .color-cherry-bold { color: #02a641; }
.regulation-page .color-shiny-bold { color: #fa735b; }
.regulation-page .color-passion-bold { color: #e10914; }
.regulation-page .color-compass-bold { color: #ff8808; }
.regulation-page .color-all-bold { color: #c6024d; }
.regulation-page .color-takumi-bold { color: #7c9b43; }
.regulation-page .color-u25-bold { color: #cab45d; }
.regulation-page .color-liver-bold { color: #000000; }
.subpage-entry-cta { margin-top: 70px; text-align: center; }
.subpage-entry-cta a {
  position: relative; display: inline-flex; min-width: min(420px,100%); padding: 21px 54px;
  align-items: center; justify-content: center;
  color: #fff; background: var(--pink); box-shadow: 0 14px 32px rgba(244,63,133,.24);
  font-size: 17px; font-weight: 900; transition: transform .2s ease,background .2s ease;
}
.subpage-entry-cta a:hover { background: #d92d70; transform: translateY(-3px); }
.subpage-entry-cta span { position: absolute; top: 50%; right: 24px; font-size: 22px; transform: translateY(-50%); }

@media (max-width: 980px) {
  .slidetoggle_menu[id^="division-"] { scroll-margin-top: 76px; }
}

@media (max-width: 680px) {
  .subpage-hero { padding: 50px 0 46px; border-top-width: 7px; }
  .subpage-hero-inner,.subpage-content { width: calc(100% - 36px); }
  .subpage-hero h1 { font-size: clamp(48px,15vw,66px); }
  .subpage-title-ja { margin-top: 17px; font-size: 17px; }
  .subpage-lead { margin-top: 14px; font-size: 14px; }
  .subpage-content { padding: 62px 0 86px; }
  .basic-content-block { margin-bottom: 32px; }
  .contenttable-midashi2023 { padding: 16px 17px; border-left-width: 6px; font-size: 18px; }
  .basic-content-block-text { padding: 21px 18px 24px; font-size: 15px; line-height: 1.9; }
  .slidetoggle_menu dt { padding: 15px 48px 15px 15px; font-size: 15px; }
  .slidetoggle_menu dt::after { right: 14px; }
  .slidetoggle_menu dd { font-size: 14px; }
  .accordion-panel-inner { padding: 18px 16px 20px; }
  .teaser-midashi-robot { margin-top: 70px; font-size: 40px; }
  .teaser-midashi-robot-labeltext { margin-bottom: 27px; font-size: 14px; }
  .subpage-entry-cta { margin-top: 52px; }
}

@media (prefers-reduced-motion: reduce) {
  .slidetoggle_menu dd,.slidetoggle_menu dt::after { transition: none; }
}
