html {
  font-size: 62.5%;
  scroll-behavior: smooth;
}

@property --_w {
  syntax: "<length>";
  inherits: true;
  initial-value: 100vw;
}
body {
  --wmin: 375;
  --wmax: 1440;
  --w: tan(atan2(var(--_w), 1px));
  --scale: calc((var(--w) - var(--wmin)) / (var(--wmax) - var(--wmin)));
  --func: calc(var(--scale) * var(--scale));
  --min: 14;
  --max: 18;
  --unit: 1px;
  font-size: calc(clamp(var(--min), var(--min) + var(--func) * (var(--max) - var(--min)), var(--max)) * var(--unit));
  --orange: #FF3203;
  --label-width: 300px;
  overflow-x: hidden;
}

h1 {
  --wmin: 375;
  --wmax: 1440;
  --w: tan(atan2(var(--_w), 1px));
  --scale: calc((var(--w) - var(--wmin)) / (var(--wmax) - var(--wmin)));
  --func: calc(var(--scale) * var(--scale));
  --min: 1.5;
  --max: 2.25;
  --unit: 1em;
  font-size: calc(clamp(var(--min), var(--min) + var(--func) * (var(--max) - var(--min)), var(--max)) * var(--unit));
}

h2 {
  --wmin: 375;
  --wmax: 1440;
  --w: tan(atan2(var(--_w), 1px));
  --scale: calc((var(--w) - var(--wmin)) / (var(--wmax) - var(--wmin)));
  --func: calc(var(--scale) * var(--scale));
  --min: 1.2;
  --max: 1.6;
  --unit: 1em;
  font-size: calc(clamp(var(--min), var(--min) + var(--func) * (var(--max) - var(--min)), var(--max)) * var(--unit));
}

small {
  --wmin: 375;
  --wmax: 1440;
  --w: tan(atan2(var(--_w), 1px));
  --scale: calc((var(--w) - var(--wmin)) / (var(--wmax) - var(--wmin)));
  --func: calc(var(--scale) * var(--scale));
  --min: 0.9;
  --max: 0.8;
  --unit: 1em;
  font-size: calc(clamp(var(--min), var(--min) + var(--func) * (var(--max) - var(--min)), var(--max)) * var(--unit));
}

body {
  font-family: "kiwi-maru", sans-serif;
  font-weight: 500;
  font-style: normal;
}

section {
  margin-top: -50px;
  padding-top: 72px;
  margin-bottom: 128px;
  padding-right: 1em;
  padding-left: 1em;
}
section > * {
  max-width: 1000px;
  margin-right: auto;
  margin-left: auto;
}

:where(section).hero {
  margin: 0;
}

:where(section).box {
  margin-bottom: 72px;
  padding-top: 72px;
  padding-bottom: 128px;
}

.block-small > :has(+ *) {
  margin-bottom: 1em;
}

.block-mideum > :has(+ *) {
  margin-bottom: 2em;
}

.box-header {
  padding: 0.3em 0em;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-right: auto;
  margin-left: auto;
  text-align: center;
  font-size: 2.4rem;
}
@media screen and (max-width: 768px) {
  .box-header {
    font-size: 2rem;
  }
}

.th-box {
  border: 1px solid #ff3203;
}

.box-small {
  padding: 2.4rem 1.6rem 3.2rem 1.6rem;
}

.box-mideum {
  padding: 4.8rem 3.2rem 6.4rem 3.2rem;
}

.box-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 32px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.box-flex > * {
  width: 272px;
}

.box-oneline > * {
  display: inline-block;
  vertical-align: middle;
}
.box-oneline > * + * {
  margin-left: 1em;
      text-decoration: none;
}

.card {
  text-align: center;
  border-radius: 32px;
  padding: 4px 4px 0 4px;
  -webkit-box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.2);
          box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.2);
}
.card > :where(figure) {
  border-radius: 30px 30px 0 0;
  overflow: hidden;
}
.card > :where(figure) :where(img) {
  aspect-ratio: 3/2;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding: 0em 1em;
  position: sticky;
  position: -webkit-sticky;
  top: 0;
  z-index: 100;
  background-color: #FAF4F0;
}
@media (max-width: 768px) {
  header {
    padding: 0.5em 1em;
  }
}
@media (max-width: 768px) {
  header .box-oneline {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
    text-align: center;
  }
}
@media (max-width: 768px) {
  header .box-oneline a {
    width: 50%;
  }
}

.header__nav {
  margin-left: auto;
  padding: 1em 5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .header__nav {
    padding: 0.5em;
  }
}

.color-white {
  color: #fff;
}

.color-orange {
  color: var(--orange);
}

.bgcolor-orange {
  background-color: var(--orange);
}

._underlined {
  border-bottom: 2px solid #000;
  color: #000;
  text-decoration: none;
}

.bgcolor-cream {
  background-color: #FAF4F0;
}

.block-film__film {
  width: 80%;
  margin-right: auto;
  margin-left: auto;
}
@media (max-width: 768px) {
  .block-film__film {
    width: 100%;
    padding-right: 1em;
    padding-left: 1em;
  }
}

.block-banner {
  padding-top: 2em;
  padding-right: 0;
  padding-left: 0;
}
.block-banner > * {
  max-width: 100vw;
  width: 100vw;
}

.block-banner__main {
  overflow-x: hidden;
}

.block-banner__slides-container {
  overflow-x: scroll;
}

.block-banner__slides {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  min-width: 1200px;
}

:has(> .overlap-text) {
  position: relative;
}

.overlap-text {
  position: absolute;
  inset: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.logo_40years-container {
  pointer-events: none;
}

.logo_40years-container :where(img) {
  width: 400px;
}

.aniv__banner {
  background: -webkit-gradient(linear, left top, right top, from(#FEE7A2), color-stop(79%, #FD8478), to(#FD7A74));
  background: linear-gradient(to right, #FEE7A2 0%, #FD8478 79%, #FD7A74 100%);
}

.aniv__banner__track {
  width: 450px;
  margin: -2em auto 0 auto;
  position: relative;
  z-index: 1;
}

.aniv__event__header {
  width: var(--label-width);
  color: #fff;
  background: -webkit-gradient(linear, left top, right top, from(#F6BBE0), to(#FD7A74));
  background: linear-gradient(to right, #F6BBE0 0%, #FD7A74 100%);
}

.aniv__event .card {
  background-color: #fff;
}

.aniv__goods__header {
  width: var(--label-width);
  color: #fff;
  background: -webkit-gradient(linear, left top, right top, from(#7CC5E2), to(#47CBB0));
  background: linear-gradient(to right, #7CC5E2 0%, #47CBB0 100%);
}

.aniv__goods .card {
  color: #fff;
  background: -webkit-gradient(linear, right top, left top, from(#7CC5E2), to(#47CBB0));
  background: linear-gradient(to left, #7CC5E2 0%, #47CBB0 100%);
}

.hero {
  position: relative;
  margin-top: 4em;
  padding: 0;
}

.hero__deco {
  position: absolute;
  top: -14em;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  max-width: unset;
  width: 110vw;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .hero__deco {
    left: 45%;
    top: -12em;
  }
}

.hero__main {
  max-width: 300px;
  margin-right: auto;
  margin-left: auto;
}
@media (max-width: 768px) {
  .hero__main {
    width: 40%;
  }
}

.hero__content {
  max-width: unset;
  margin-top: -4em;
  padding-top: 8em;
  padding-bottom: 6em;
  background-image: url(/wp-content/themes/kochi-seikyou-comunity/assets/images/40th/1x/hero_bg.png);
  background-position: center top;
  background-size: 110% 100%;
  background-repeat: no-repeat;
  text-align: center;
  line-height: 1.5;
  font-size: 2rem;
}
@media (max-width: 818.1818181818px) {
  .hero__content {
    background-size: 900px 100%;
  }
}
@media (max-width: 768px) {
  .hero__content {
    padding-top: 15vw;
  }
}
@media (max-width: 550px) {
  .hero__content {
    padding-top: 20vw;
  }
}
.hero__content :where(p) {
  max-width: calc(800px + 2em);
  width: 80vw;
  margin-right: auto;
  margin-left: auto;
  padding-right: 1em;
  padding-left: 1em;
}

.history {
  position: relative;
}

.history__top {
  max-width: 1440px;
  width: 100%;
  margin-top: 1em;
  padding-right: 16px;
  padding-left: 16px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.history__top > :where(figure) {
  width: 32%;
}

.history__scroll {
  max-width: 832px;
  margin-right: auto;
  margin-left: auto;
  padding-top: 8em;
  padding-right: 16px;
  padding-left: 16px;
}
.history__scroll > :where(div) {
  position: relative;
}
.history__scroll > :where(div) > :where(.road) {
  position: absolute;
  background-color: #E6E6E6;
}
.history__scroll :where(img) {
  display: block;
}
.history__scroll .start {
  width: 50%;
  margin-right: auto;
  margin-left: auto;
}
.history__scroll .start :where(figure) {
  width: 30%;
  margin-right: auto;
  margin-left: auto;
}
.history__scroll .start :where(h2) {
  margin-top: 0.5em;
  font-size: 2em;
  color: #FF3203;
  text-align: center;
  paint-order: stroke;
  -webkit-text-stroke: 0.2em white;
}
.history__scroll ._goal :where(figure) {
  margin-right: auto;
  margin-left: auto;
}
.history__scroll :where(figure) {
  width: 60%;
  position: relative;
}
.history__scroll :where(figure) :where(figcaption) {
  position: absolute;
  padding: 8px;
  white-space: nowrap;
}
.history__scroll :where(figure) .position-16 {
  right: -114px;
}
@media (min-width: 768.2px) {
  .history__scroll :where(.history15) figure {
    width: 45%;
    -webkit-transform: translateX(30%);
            transform: translateX(30%);
  }
}
.history__scroll :where(.small figure),
.history__scroll :where(.vertical figure) {
  width: 35%;
}
.history__scroll :where(.vertical-small figure) {
  width: 30%;
}
.history__scroll :where(strong) {
  color: #FF3203;
  opacity: 25%;
  font-size: 4em;
}
.history__scroll ._center :where(figure) {
  margin-right: auto;
  margin-left: auto;
  width: 30%;
}
.history__scroll ._right :where(figure) {
  margin-left: auto;
}
.history__scroll ._left :where(figure) {
  margin-right: auto;
}

[data-caption^=top] figcaption {
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
  top: 0;
}

[data-caption^=right] figcaption {
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
  right: 0;
}

[data-caption^=bottom] figcaption {
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
  bottom: 0;
}

[data-caption^=left] figcaption {
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%);
  left: 0;
}

[data-caption$=top] figcaption {
  top: -25px;
}

[data-caption$=right] figcaption {
  right: -37px;
}

[data-caption$=bottom] figcaption {
  bottom: 0;
}

[data-caption$=left] figcaption {
  left: 0;
}

.road-start {
  width: 50px;
  height: 200px;
  border-radius: 1000px 1000px 0 0;
  background-color: #E50012;
  position: relative;
  margin-top: 1em;
  margin-right: auto;
  margin-left: auto;
}
.road-start > div {
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.4em;
  top: 1em;
  left: 50%;
  -webkit-transform: translateX(calc(-50% + 0.1em)) rotate(90deg) translateX(35%);
          transform: translateX(calc(-50% + 0.1em)) rotate(90deg) translateX(35%);
  font-size: 1.3em;
  color: #fff;
}
.road-start > div::after {
  content: "";
  display: block;
  height: 0.5em;
  aspect-ratio: 1.73/2;
  background-color: currentColor;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  -webkit-transform: translateY(0.1em);
          transform: translateY(0.1em);
}

.corner {
  width: 100px;
  aspect-ratio: 1/1;
  position: absolute;
}
.corner > div {
  width: 75%;
  aspect-ratio: 1/1;
  background-color: #E6E6E6;
  position: absolute;
}
.corner > div > div {
  width: 33.3333333333%;
  aspect-ratio: 1/1;
  background-color: white;
  position: absolute;
}
.corner.top-left div {
  right: 0;
  bottom: 0;
  border-radius: 75% 0 0 0;
}
.corner.top-right div {
  bottom: 0;
  left: 0;
  border-radius: 0 75% 0 0;
}
.corner.bottom-right div {
  top: 0;
  left: 0;
  border-radius: 0 0 75% 0;
}
.corner.bottom-left div {
  top: 0;
  right: 0;
  border-radius: 0 0 0 75%;
}

div:has(> .road1-1, > .road6-1, > .road12-1) {
  margin-bottom: 6em;
}

div:has(> .road10-1) {
  margin-bottom: -18px;
}

.road1-1,
.road6-1,
.road10-1,
.road12-1 {
  height: 50px;
  width: calc(25% - 35px);
  bottom: 20%;
  right: 40%;
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
}

.corner1,
.corner6,
.corner10,
.corner12 {
  bottom: calc(20% - 25px);
  right: calc(15% + 35px);
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
}

.road1-2,
.road6-2,
.road10-2,
.road12-2 {
  width: 50px;
  height: calc(6em + 20% - 5px);
  right: calc(15% + 10px);
  bottom: calc(20% - 15px);
  -webkit-transform: translate(100%, 100%);
          transform: translate(100%, 100%);
}

div:has(> .road2-1) {
  margin-bottom: 16px;
}

.road2-1 {
  height: 50px;
  width: calc(25% - 35px);
  top: 50%;
  left: 40%;
  -webkit-transform: translate(-100%, -50%);
          transform: translate(-100%, -50%);
}

.corner2 {
  top: 50%;
  left: calc(15% + 35px);
  -webkit-transform: translate(-100%, -50%);
          transform: translate(-100%, -50%);
}

.road2-2 {
  width: 50px;
  height: calc(50% - 30px);
  top: calc(50% + 100px);
  left: calc(15% + 10px);
  -webkit-transform: translate(-100%, -50%);
          transform: translate(-100%, -50%);
}

div:has(> .road3-1) {
  margin-bottom: -20%;
}

.road3-1 {
  height: 50px;
  width: 10%;
  right: 50%;
  bottom: 5%;
  -webkit-transform: translateX(calc(-100% - 1px));
          transform: translateX(calc(-100% - 1px));
}

.corner3, .road3-2 {
  display: none;
}

div:has(> .road4-1) {
  margin-bottom: 180px;
}

.road4-1 {
  width: 50px;
  height: calc(20% + 180px);
  right: 30%;
  bottom: 0;
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
}

.corner4 {
  right: 30%;
  bottom: calc(-20% - 180px);
  -webkit-transform: translate(25px, 100%);
          transform: translate(25px, 100%);
}

div:has(> .road5-1) {
  margin-bottom: 90px;
}

.road5-1 {
  width: 50px;
  height: 90px;
  bottom: 0;
  left: 15%;
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
}

.corner5 {
  display: none;
}

div:has(> .road7-1, > .road9-1, > .road14-1) {
  margin-bottom: 54px;
}

.road7-1 {
  height: 50px;
  width: calc(25% - 50px);
  right: 60%;
  bottom: 20%;
}

.road9-1 {
  height: 50px;
  width: calc(50% - 50px);
  right: 35%;
  bottom: 20%;
}

.road14-1 {
  height: 50px;
  width: calc(15% - 50px);
  right: 60%;
  bottom: 20%;
}

.corner7,
.corner9 {
  bottom: calc(20% - 25px);
  left: 15%;
  -webkit-transform: translateX(-25px);
          transform: translateX(-25px);
}

.corner14 {
  bottom: calc(20% - 25px);
  left: 25%;
  -webkit-transform: translateX(-25px);
          transform: translateX(-25px);
}

.road7-2,
.road9-2 {
  width: 50px;
  height: calc(20% + 54px);
  bottom: calc(20% - 125px);
  left: 15%;
}

.road14-2 {
  width: 50px;
  height: calc(20% + 54px);
  bottom: calc(20% - 125px);
  left: 25%;
}

div:has(> .road8-1) {
  margin-bottom: 135px;
}

.road8-1 {
  width: 50px;
  height: 18px;
  bottom: 0;
  left: 15%;
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
}

.corner8-1 {
  bottom: -18px;
  left: calc(15% - 25px);
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
}

.road8-2 {
  width: 60%;
  height: 50px;
  bottom: -43px;
  left: calc(15% + 50px);
  -webkit-transform: translate(0, 100%);
          transform: translate(0, 100%);
}

.corner8-2 {
  right: calc(15% + 35px);
  bottom: -118px;
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
}

.road8-3 {
  width: 50px;
  height: 18px;
  right: calc(15% + 10px);
  bottom: -118px;
  -webkit-transform: translate(100%, 100%);
          transform: translate(100%, 100%);
}

div:has(> .road11-1) {
  margin-bottom: 54px;
}

.road11-1 {
  height: 50px;
  width: calc(50% - 50px);
  top: 50%;
  right: 35%;
}

.corner11 {
  top: calc(50% - 25px);
  left: 15%;
  -webkit-transform: translateX(-25px);
          transform: translateX(-25px);
}

.road11-2 {
  width: 50px;
  height: calc(50% + 54px);
  top: calc(50% + 75px);
  left: 15%;
}

div:has(> .road13-1) {
  margin-bottom: 90px;
}

.road13-1 {
  width: 50px;
  height: 90px;
  bottom: 0;
  right: calc(15% + 10px);
  -webkit-transform: translate(100%, 100%);
          transform: translate(100%, 100%);
}

.corner13 {
  display: none;
}

div:has(> .road15-1) {
  margin-bottom: 6em;
}

.road15-1 {
  height: 50px;
  width: calc(15% - 50px);
  bottom: 20%;
  right: 65%;
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
  display: none;
}

.corner15 {
  bottom: calc(20% - 25px);
  right: calc(50% + 50px);
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
  display: none;
}

.road15-2 {
  width: 50px;
  height: calc(6em + 20% - 5px);
  right: calc(50% + 25px);
  bottom: 0;
  -webkit-transform: translate(100%, 100%);
          transform: translate(100%, 100%);
}

div:has(> .road-goal-2) {
  margin-bottom: 128px;
}

.road-goal-2 {
  width: 50px;
  height: 90px;
  bottom: 0;
  left: 50%;
  -webkit-transform: translate(-50%, 100%);
          transform: translate(-50%, 100%);
  border-radius: 0 0 1000px 1000px;
}

.corner-goal, .road-goal-1 {
  display: none;
}

@media (max-width: 768px) {
  .history__scroll {
    padding-top: 4em;
  }
  .history__scroll > div + div + div {
    margin-bottom: 120px;
  }
  .history__scroll :where(figure) {
    width: 65%;
    position: relative;
  }
  .history__scroll :where(.small figure, .vertical figure) {
    width: 38.5%;
  }
  .history__scroll :where(.vertical-small figure) {
    width: 33%;
  }
  .history__scroll figcaption {
    top: unset;
    right: unset;
    bottom: 0;
    left: unset;
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
  }
  .history__scroll div:nth-child(2n+1) figure {
    margin-right: auto;
    margin-left: unset;
  }
  .history__scroll div:nth-child(2n+1) figcaption {
    left: 0;
  }
  .history__scroll div:nth-child(2n+1) .road:nth-of-type(1) {
    display: block;
    width: calc(20% - 40px);
    height: 40px;
    top: 50%;
    right: unset;
    bottom: unset;
    left: 65%;
    -webkit-transform: none;
            transform: none;
  }
  .history__scroll div:nth-child(2n+1) .corner:nth-of-type(2) {
    display: block;
    top: calc(50% - 20px);
    right: calc(15% - 20px);
    bottom: unset;
    left: unset;
    -webkit-transform: none;
            transform: none;
  }
  .history__scroll div:nth-child(2n+1) .corner:nth-of-type(2) div {
    top: unset;
    right: unset;
    bottom: 0;
    left: 0;
    border-radius: 0 75% 0 0;
  }
  .history__scroll div:nth-child(2n+1) .road:nth-of-type(3) {
    display: block;
    width: 40px;
    height: calc(50% + 80px);
    top: calc(50% + 60px);
    right: 15%;
    bottom: unset;
    left: unset;
    -webkit-transform: none;
            transform: none;
  }
  .history__scroll div:nth-child(2n+1) :is(.corner:nth-of-type(4), .road:nth-of-type(5)) {
    display: none;
  }
  .history__scroll div:nth-child(2n+2) figure {
    margin-right: unset;
    margin-left: auto;
  }
  .history__scroll div:nth-child(2n+2) figcaption {
    right: 0;
  }
  .history__scroll div:nth-child(2n+2) .road:nth-of-type(1) {
    display: block;
    width: calc(20% - 40px);
    height: 40px;
    top: 50%;
    right: 65%;
    bottom: unset;
    left: unset;
    -webkit-transform: none;
            transform: none;
  }
  .history__scroll div:nth-child(2n+2) .road:nth-of-type(1).road-goal-1 {
    width: calc(30% - 40px);
    right: 50%;
  }
  .history__scroll div:nth-child(2n+2) .corner:nth-of-type(2) {
    display: block;
    top: calc(50% - 20px);
    right: unset;
    bottom: unset;
    left: calc(15% - 20px);
    -webkit-transform: none;
            transform: none;
  }
  .history__scroll div:nth-child(2n+2) .corner:nth-of-type(2) div {
    top: unset;
    right: 0;
    bottom: 0;
    left: unset;
    border-radius: 75% 0 0 0;
  }
  .history__scroll div:nth-child(2n+2) .road:nth-of-type(3) {
    display: block;
    width: 40px;
    height: calc(50% + 80px);
    top: calc(50% + 60px);
    right: unset;
    bottom: unset;
    left: 15%;
    -webkit-transform: none;
            transform: none;
  }
  .history__scroll div:nth-child(2n+2) :is(.corner:nth-of-type(4), .road:nth-of-type(5)) {
    display: none;
  }
  .history__scroll div.history3 .road.road3-1 {
    width: calc(52% - 40px);
    left: 33%;
  }
  .history__scroll div.history9 .road.road9-1,
  .history__scroll div.history11 .road.road11-1 {
    width: calc(46.5% - 40px);
    left: 38.5%;
  }
  .history__scroll div.history15 :is(.road.road15-1, .corner.corner15) {
    display: none;
  }
  .history__scroll div.history15 .road.road15-2 {
    top: unset;
    right: 35%;
    bottom: 0;
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
  }
  .history__scroll div.history16 :is(.road.road-goal-1, .corner.corner-goal) {
    display: none;
  }
  .history__scroll div.history16 .road.road-goal-2 {
    top: unset;
    bottom: calc(-5.5em - 16px);
    left: 50%;
    -webkit-transform: translate(-50%, 100%);
            transform: translate(-50%, 100%);
  }
  .history__scroll .start {
    width: 100%;
  }
  .history__scroll .start .track {
    margin-right: auto;
    margin-left: auto;
    background-color: #fff;
  }
  .corner {
    width: 80px;
  }
  .history15 img {
    -webkit-transform: translateX(10%);
            transform: translateX(10%);
  }
  .history17 {
    padding-top: calc(32px + 7em);
  }
  .history__top > :where(figure) {
    max-width: calc(50% - 12px);
    width: 235px;
  }
  .history__scroll div._goal figure {
    margin-right: auto;
    margin-left: auto;
  }
  .history__scroll div._goal figure figcaption {
    right: 50%;
    -webkit-transform: translate(50%, 100%);
            transform: translate(50%, 100%);
  }
}
.history17 {
  margin-bottom: 128px;
}

.goal figure {
  aspect-ratio: 7/5;
  background-image: url(/wp-content/themes/kochi-seikyou-comunity/assets/images/40th/1x/logo_track2.png);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
.goal p {
  margin: 1em 0 2em 0;
  text-align: center;
  color: #264B8A;
  font-size: 2em;
  line-height: 1;
  height: 1em;
}

.history__scroll div.goal figure {
  margin-right: auto;
  margin-left: auto;
}