.stamp_rally2025 .chara {
  position: relative;
  z-index: 1;
  padding-bottom: 7em; }
  .stamp_rally2025 .chara .head {
    position: relative;
    z-index: 1; }
  .stamp_rally2025 .chara p {
    text-align: center;
    font-size: 16px;
    font-weight: bold;
    line-height: 1.8;
    width: 90%;
    max-width: 840px;
    margin: 0 auto; }
  @media screen and (min-width: 600px) {
    .stamp_rally2025 .chara p {
      font-size: 20px; } }
  .stamp_rally2025 .chara a.btn {
    display: flex;
    justify-content: center;
    align-items: center;
    background: #1d1d1d;
    border-radius: 50rem;
    color: #FFF;
    text-decoration: none;
    font-size: 16px;
    font-weight: bold;
    line-height: 1;
    width: 90%;
    max-width: 665px;
    height: 60px;
    margin: 2em auto 0 auto;
    box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.16);
    -webkit-transition: all 0.3s;
    transition: all 0.3s; }
  @media screen and (min-width: 600px) {
    .stamp_rally2025 .chara a.btn {
      font-size: 20px; } }
  .stamp_rally2025 .chara a.btn:hover {
    box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0); }
.stamp_rally2025 .chara::before {
  display: block;
  content: "";
  background: #FDF100;
  width: 100%;
  height: 80%;
  position: absolute;
  bottom: 0;
  z-index: -1; }
.stamp_rally2025 h2 {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 1;
  text-align: center;
  font-size: 20px;
  font-weight: bold;
  line-height: 1;
  margin: 0 auto;
  width: 90%;
  max-width: 340px;
  height: 60px; }
.stamp_rally2025 h2::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: -1;
  background-color: #F6931A;
  transform: skewX(-15deg);
  border: 1px solid #1d1d1d;
  box-shadow: 3px 3px 0px 0px #1d1d1d; }
.stamp_rally2025 .detail {
  padding-bottom: 2.5em;
  background: #FDF100; }
  .stamp_rally2025 .detail ol.howto {
    list-style: none;
    margin-top: 2em; }
    .stamp_rally2025 .detail ol.howto li {
      background: #FFF;
      border: solid 1px #1d1d1d;
      width: 90%;
      max-width: 300px;
      margin: 3.5em auto;
      padding: 2.5em 1em;
      position: relative;
      z-index: 1; }
      .stamp_rally2025 .detail ol.howto li p {
        font-size: 16px;
        font-weight: bold;
        line-height: 1.6; }
    @media screen and (min-width: 600px) {
      .stamp_rally2025 .detail ol.howto li {
        max-width: 500px; } }
    .stamp_rally2025 .detail ol.howto li::before {
      display: block;
      content: "";
      background-position: 0 0;
      background-size: 100%;
      width: 85px;
      height: 84px;
      position: absolute;
      top: -3em;
      left: -3.5em;
      z-index: 0; }
    .stamp_rally2025 .detail ol.howto li:nth-child(1)::before {
      background: url("../images/star01.svg") no-repeat; }
    .stamp_rally2025 .detail ol.howto li:nth-child(2)::before {
      background: url("../images/star02.svg") no-repeat; }
    .stamp_rally2025 .detail ol.howto li:nth-child(3)::before {
      background: url("../images/star03.svg") no-repeat; }
    .stamp_rally2025 .detail ol.howto li:nth-child(4)::before {
      background: url("../images/star04.svg") no-repeat; }
    .stamp_rally2025 .detail ol.howto li:nth-child(5)::before {
      background: url("../images/star05.svg") no-repeat; }
  .stamp_rally2025 .detail dl.stations {
    width: 90%;
    max-width: 500px;
    margin: 0 auto;
    padding-top: 4.5em; }
    .stamp_rally2025 .detail dl.stations dt {
      font-size: 16px;
      line-height: 1.2;
      font-weight: bold;
      border-bottom: solid 1px #1d1d1d;
      padding: 0 3.5em 0.75em;
      position: relative; }
    .stamp_rally2025 .detail dl.stations dt::before {
      display: block;
      content: "";
      background-position: 0 0;
      background-size: 100%;
      width: 41px;
      height: 46px;
      position: absolute;
      top: -15px;
      left: -3px; }
    .stamp_rally2025 .detail dl.stations dt.senmou::before {
      background: url("../images/senmou.svg") no-repeat; }
    .stamp_rally2025 .detail dl.stations dt.hanasaki::before {
      background: url("../images/hanasaki.svg") no-repeat; }
    .stamp_rally2025 .detail dl.stations dt.sekihoku::before {
      background: url("../images/sekihoku.svg") no-repeat; }
    .stamp_rally2025 .detail dl.stations dt.furano::before {
      background: url("../images/furano.svg") no-repeat; }
    .stamp_rally2025 .detail dl.stations dt.souya::before {
      background: url("../images/souya.svg") no-repeat; }
    .stamp_rally2025 .detail dl.stations dt.nemuro::before {
      background: url("../images/nemuro.svg") no-repeat; }
    .stamp_rally2025 .detail dl.stations dt.muroran::before {
      background: url("../images/muroran.svg") no-repeat; }
    .stamp_rally2025 .detail dl.stations dt.hidaka::before {
      background: url("../images/hidaka.svg") no-repeat; }
    .stamp_rally2025 .detail dl.stations dt.syuyu::before {
      background: url("../images/syuyu.svg") no-repeat; }
    .stamp_rally2025 .detail dl.stations dd {
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap;
      padding: 1.5em 0 0 0;
      position: relative; }
      .stamp_rally2025 .detail dl.stations dd .box {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 30%;
        font-size: 16px;
        line-height: 1.2;
        font-weight: bold;
        color: #FFF;
        padding: 0.75em 0;
        margin-bottom: 1em; }
    .stamp_rally2025 .detail dl.stations dd.senmou .box {
      background: #F160A9; }
    .stamp_rally2025 .detail dl.stations dd.hanasaki .box {
      background: #B2D526; }
    .stamp_rally2025 .detail dl.stations dd.sekihoku .box {
      background: #F49F24; }
    .stamp_rally2025 .detail dl.stations dd.furano .box {
      background: #C28DE6; }
    .stamp_rally2025 .detail dl.stations dd.souya .box {
      background: #5FC0FE; }
    .stamp_rally2025 .detail dl.stations dd.nemuro .box {
      background: #61D39F; }
    .stamp_rally2025 .detail dl.stations dd.muroran .box {
      background: #727171; }
    .stamp_rally2025 .detail dl.stations dd.hidaka .box {
      background: #F15D56; }
    .stamp_rally2025 .detail dl.stations dd.syuyu .box {
      background: #A9A188; }
    .stamp_rally2025 .detail dl.stations dd::after {
      content: "";
      display: block;
      width: 30%; }
@media screen and (min-width: 600px) {
  .stamp_rally2025 .detail {
    padding-bottom: 4em; } }
.stamp_rally2025 .inner {
  width: 85%;
  max-width: 500px;
  margin: 3.5em auto; }
  .stamp_rally2025 .inner p {
    font-size: 16px;
    font-weight: bold;
    line-height: 1.8; }
  @media screen and (min-width: 600px) {
    .stamp_rally2025 .inner p {
      font-size: 20px; } }
  .stamp_rally2025 .inner p + p {
    margin-top: 1em; }
  .stamp_rally2025 .inner .remarks {
    font-size: 14px;
    font-weight: normal; }
  @media screen and (min-width: 600px) {
    .stamp_rally2025 .inner .remarks {
      font-size: 16px; } }
  .stamp_rally2025 .inner h3.wc {
    max-width: 143px; }
  @media screen and (min-width: 600px) {
    .stamp_rally2025 .inner h3.wc {
      max-width: 200px; } }
@media screen and (min-width: 600px) {
  .stamp_rally2025 .inner {
    width: 90%; } }
.stamp_rally2025 ul.items {
  list-style: none;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1em;
  width: 90%;
  max-width: 320px; }
  .stamp_rally2025 ul.items h3 {
    display: flex;
    align-items: center;
    gap: 0.3em;
    position: relative;
    font-size: 16px;
    font-weight: bold;
    line-height: 1.8;
    margin-bottom: 0.3em; }
  .stamp_rally2025 ul.items h3::before {
    content: "";
    display: flex;
    width: 20px;
    height: 20px;
    background: #F6931A;
    border-radius: 50%; }
  .stamp_rally2025 ul.items li {
    background: #FFF;
    border: solid 1px #1d1d1d;
    margin: 0 auto 3em auto;
    padding: 0 0 1em 0;
    position: relative;
    z-index: 1; }
    .stamp_rally2025 ul.items li .names_numbers {
      width: 100%;
      min-height: 40px;
      max-height: 48px;
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap;
      color: #FFF;
      font-size: 16px;
      font-weight: bold;
      line-height: 1.3;
      border-bottom: solid 1px #1d1d1d; }
      .stamp_rally2025 ul.items li .names_numbers .names {
        display: flex;
        align-items: center;
        background: #1d1d1d;
        width: 80%;
        padding: 0.25em 0 0.25em 0.5em; }
      .stamp_rally2025 ul.items li .names_numbers .numbers {
        display: flex;
        justify-content: center;
        align-items: center;
        background: #F6931A;
        width: 20%; }
    @media screen and (min-width: 600px) {
      .stamp_rally2025 ul.items li .names_numbers {
        font-size: 20px; } }
    .stamp_rally2025 ul.items li .images {
      display: flex;
      justify-content: space-between;
      align-items: center;
      width: 95%;
      max-width: 235px;
      margin: 0 auto;
      padding: 1em 0 0 0;
      position: relative;
      z-index: 0; }
    @media screen and (min-width: 600px) {
      .stamp_rally2025 ul.items li .images {
        width: 75%;
        max-width: 471px; } }
    .stamp_rally2025 ul.items li .images.circle_none {
      justify-content: center;
      max-width: 185px; }
    @media screen and (min-width: 600px) {
      .stamp_rally2025 ul.items li .images.circle_none {
        width: 60%;
        max-width: 370px; } }
    .stamp_rally2025 ul.items li .inner {
      width: 95%;
      margin: 0 auto; }
      .stamp_rally2025 ul.items li .inner p {
        font-size: 14px;
        line-height: 1.6;
        font-weight: bold; }
      @media screen and (min-width: 600px) {
        .stamp_rally2025 ul.items li .inner p {
          font-size: 16px; } }
  .stamp_rally2025 ul.items li + li {
    margin: 3em auto 3em auto; }
@media screen and (min-width: 600px) {
  .stamp_rally2025 ul.items {
    max-width: 500px; } }
.stamp_rally2025 .character_link {
  width: 90%;
  max-width: 500px;
  margin: 0 auto; }
  .stamp_rally2025 .character_link a {
    display: block;
    position: relative;
    top: 0em;
    -webkit-transition: all 0.3s;
    transition: all 0.3s; }
  .stamp_rally2025 .character_link a:hover {
    position: relative;
    top: -0.5em;
    -webkit-transition: all 0.3s;
    transition: all 0.3s; }
.stamp_rally2025 #notes {
  background: #FDF100;
  padding-top: 2em;
  padding-bottom: 6em; }
  .stamp_rally2025 #notes .inner {
    margin: 0 auto; }
  .stamp_rally2025 #notes p {
    font-size: 14px;
    line-height: 1.4;
    font-weight: 400;
    margin-bottom: 2em; }
  .stamp_rally2025 #notes ul.notes_list {
    overflow: auto;
    height: 200px;
    padding: 1em;
    margin-top: 3.5em;
    background-color: #FFF;
    list-style: none;
    border: solid 1px #A9A9A9; }
    .stamp_rally2025 #notes ul.notes_list li {
      font-size: 14px;
      line-height: 1.4;
      font-weight: 400;
      margin: 0 0 0.3em 0;
      padding: 0 0 0 18px;
      position: relative; }
    .stamp_rally2025 #notes ul.notes_list li::before {
      display: block;
      content: "";
      background: #333;
      border-radius: 50%;
      width: 14px;
      height: 14px;
      position: absolute;
      top: 3px;
      left: 0;
      margin: 0 0 0 0; }
  .stamp_rally2025 #notes .join {
    display: flex;
    justify-content: center;
    position: relative;
    padding: 1em 0;
    margin: 0.5em 0 3em 0;
    font-size: 17px;
    line-height: 1.4;
    color: #1D1D1D;
    font-weight: 500; }
    .stamp_rally2025 #notes .join p.cs {
      display: flex;
      justify-content: center;
      align-items: center;
      position: absolute;
      top: auto;
      left: auto;
      right: auto;
      bottom: auto;
      text-align: center;
      width: 100%;
      height: 20vh;
      font-size: 1em;
      font-weight: bold;
      color: #DB1F22;
      background: rgba(255, 255, 255, 0.5);
      margin: -1em 0 0 0;
      padding: 0 0.5em;
      z-index: 2;
      border: solid 4px #DB1F22; }
    @media screen and (min-width: 600px) {
      .stamp_rally2025 #notes .join p.cs {
        height: 19vh;
        font-size: 1.5em;
        margin: -0.7em 0 0 0; } }
    .stamp_rally2025 #notes .join label {
      cursor: pointer;
      padding-right: 1em; }
    .stamp_rally2025 #notes .join input[type="checkbox"] {
      margin: 0;
      padding: 0;
      background: none;
      border: none;
      border-radius: 0;
      outline: none;
      -webkit-appearance: none;
      -moz-appearance: none;
      appearance: none;
      cursor: pointer;
      vertical-align: middle;
      position: relative; }
    .stamp_rally2025 #notes .join input[type="checkbox"]::before,
    .stamp_rally2025 #notes .join input[type="checkbox"]::after {
      content: "";
      display: block;
      position: absolute; }
    .stamp_rally2025 #notes .join input[type="checkbox"]::before {
      background-color: #fff;
      border-radius: 0%;
      border: 1px solid #A9A9A9;
      width: 30px;
      height: 30px;
      transform: translateY(-50%);
      top: 50%;
      left: 5px;
      background: #FFF; }
    .stamp_rally2025 #notes .join input[type="checkbox"]::after {
      border-bottom: 3px solid #FFF;
      border-left: 3px solid #FFF;
      opacity: 0;
      height: 6px;
      width: 11px;
      transform: rotate(-45deg);
      top: 6px;
      left: 14px; }
    .stamp_rally2025 #notes .join input[type="checkbox"]:checked::before {
      background: #A9A9A9; }
    .stamp_rally2025 #notes .join input[type="checkbox"]:checked::after {
      opacity: 1; }
    .stamp_rally2025 #notes .join a.anchorText {
      width: 100%;
      position: absolute;
      top: 5em;
      left: 0;
      pointer-events: none;
      display: flex;
      justify-content: center;
      align-items: center;
      font-size: 16px;
      font-weight: 600;
      line-height: 1.2;
      color: #FFF;
      text-decoration: none;
      border-radius: 50rem;
      background: rgba(29, 29, 29, 0.8);
      padding: 1.5em 0;
      transition: 0.3s all; }
      .stamp_rally2025 #notes .join a.anchorText .arrow {
        position: relative;
        z-index: 0;
        padding: 0 1.5em; }
      .stamp_rally2025 #notes .join a.anchorText .arrow::before,
      .stamp_rally2025 #notes .join a.anchorText .arrow::after {
        content: "";
        position: absolute;
        top: calc(50% - 0px);
        right: 0;
        width: 12px;
        height: 2px;
        border-radius: 9999px;
        background-color: #FFF;
        transform-origin: calc(100% - 1px) 50%; }
      .stamp_rally2025 #notes .join a.anchorText .arrow::before {
        transform: rotate(45deg); }
      .stamp_rally2025 #notes .join a.anchorText .arrow::after {
        transform: rotate(-45deg); }
    @media screen and (min-width: 600px) {
      .stamp_rally2025 #notes .join a.anchorText {
        top: 5em;
        font-size: 18px; } }
    .stamp_rally2025 #notes .join a.anchorText:hover {
      background: #1d1d1d; }
    .stamp_rally2025 #notes .join #check-enable:checked ~ .anchorText {
      pointer-events: auto;
      background: #1d1d1d;
      box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.16); }
    .stamp_rally2025 #notes .join #check-enable:checked ~ .anchorText:hover {
      background: #1d1d1d;
      box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0); }
@media screen and (min-width: 600px) {
  .stamp_rally2025 #notes {
    padding-bottom: 10em; } }

/*# sourceMappingURL=style.css.map */
