
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap');


:root {

  --font-family-sr-gothic:     'Noto Sans JP',Hiragino Sans,Hiragino Kaku Gothic ProN,YuGothic,'Yu Gothic',Meiryo,sans-serif;
  --font-family-sr-serif:      'Noto Serif JP','Yu Mincho','游明朝',YuMincho,'Hiragino Mincho ProN',serif;

  --color-base: #fff;
  --color-main: #000;
  --color-sr-brand01: #967900;
  --color-sr-brand02: #CFB953;

  --color-sr-primary01: #00256A;
  --color-sr-secondary01: #4B3257;
  --color-sr-third01: #465F2C;

  --color-sr-sub01: #FFFBE6;
  --color-sr-sub02: #EAF2F7;
  --color-sr-sub03: #FAFFE6;

}

@media screen and (min-width:835px) {
  a[href^="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}

/***********
srWrapper
************/

.srWrapper {
  font-size: clamp(15px, calc(10px + 0.5vw), 18px);
  font-family: var(--font-family-sr-serif);
  line-height: 1.5;
}

@media screen and (max-width:640px) {
  .srWrapper {
    font-size: clamp(14px, calc(10.5px + 1.2vw), 15px);
  }
}

/***********
srMv
************/

.srMv {
  overflow: hidden;
  text-align: center;
}
@media screen and (min-width:835px) and (max-width:1440px) {

  .srMv img {
    scale: 1.2;
    padding-top: 65px;
  }

}

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

  .srMv {
    padding-top: 60px;
  }

}

/***********
srIntro
************/

.srIntro {
  padding-top: 4em;
  background: url(../images/stamprally2026/bg_wave01.png) no-repeat center top / cover;
  background-color: var(--color-sr-brand02);
}

.srIntro-navi {
  display: flex;
  gap: 1.6em;
  padding-bottom: var(--padding-small);
}
.srIntro-navi li {
  flex: 1;
}
.srIntro-navi li a{
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  min-height: 4.2em;
  padding-bottom: 0.5em;
  font-size: 1.1em;
  font-weight: 600;
  background-color: var(--color-sr-brand01);
  color: var(--color-base);
  letter-spacing: 0.08em;
  position: relative;
  border-radius: 3px;
  transition: 0.3s;
}
.srIntro-navi li a::after{
  content: "";
  display: block;
  width: 1em;
  height: 0.8em;
  background: url(../images/stamprally2026/icon/arrow_down_wt.png) no-repeat center center / 100% auto;
  position: absolute;
  left: 50%;
  bottom: 0.5em;
  translate:-50% 0 ;
  scale: 0.8;
  transition: 0.2s;
}
.srIntro-navi li a:hover {
  background-color: #796000;
}
.srIntro-navi li a:hover::after {
  bottom: 0.3em;
}

.srIntro-container {
  text-align: center;
}
.srIntro-heading {
  letter-spacing: 0.05em;
  padding-bottom: 2em;
}
.srIntro-heading-subTitle {
  font-size: 1.2em;
  font-weight: 600;
  padding-bottom: 0.8em;
}
.srIntro-heading-title {
  font-size: 2.2em;
  font-weight: 600;
}
.srIntro-text {
  font-weight: 600;
  line-height: 2.5;
}
.srIntro-link {
  padding-top: 4em;
}

.srIntro-prize {
  max-width: 1600px;
  margin: 0 auto 0;
  padding: 0 min(2vw,30px);
  translate: 0 8em;
  display: flex;
  align-items: center;
  gap: 2%;
}
.srIntro-prize-img {
}

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

  .srIntro {
    padding-top: 2em;
    background: url(../images/stamprally2026/bg_wave01.png) no-repeat center top / cover;
    background-color: var(--color-sr-brand02);
  }

  .srIntro-navi {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5em;
    padding-bottom: var(--padding-small);
  }
  .srIntro-navi li {
    width: calc(50% - 0.5em);
    flex: none;
  }
  .srIntro-navi li a{
    font-size: 1em;
  }

  .srIntro-container {
  }
  .srIntro-heading {
    padding-bottom: 2em;
  }
  .srIntro-heading-subTitle {
    font-size: 1em;
  }
  .srIntro-heading-title {
    font-size: 1.6em;
    font-weight: 600;
  }
  .srIntro-text {
    text-align: left;
    line-height: 2;
  }
  .srIntro-link {
    padding-top: 2em;
  }

  .srIntro-prize {
    translate: 0 4em;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    align-items: center;
    gap: 1em 3%;
  }
  .srIntro-prize-img {
    width: 48%;
  }
  .srIntro-prize-img:nth-child(1) {
    width: 70%;
  }

}

/***********
srBtn
************/

.srBtn {
  display: inline-block;
  background-color: var(--color-base);
  color: var(--color-main);
  font-size: 1.3em;
  font-weight: 600;
  letter-spacing: 0.04em;
  border-radius: 6px;
  border: 2px solid var(--color-sr-brand01);
  box-shadow: 0.3em 0.3em 0 var(--color-sr-brand01);
  padding: 1em 3em;
  min-width: 20em;
  transition: 0.2s;
  position: relative;
}
.srBtn:hover {
  background-color: #fdf7d5;
  translate: 0.1em 0.1em ;
  box-shadow: 0.2em 0.2em 0 var(--color-sr-brand01);
}
.srBtn-svg {
  position: absolute;
  right: 1em;
  top: 50%;
  translate: 0 -50%;
}
.srBtn-arrow {
  transition: transform .18s ease;
  transform: translate(0, 0);
  transform-box: fill-box;
  transform-origin: center;
}
.srBtn-arrow {
  transform: translate(0, 0);
}
.srBtn:hover .srBtn-arrow {
  transform: translate(2px,-2px);
}

.srBtn.-navy {
  border-color: var(--color-sr-primary01);
  color: var(--color-sr-primary01);
  box-shadow: 0.3em 0.3em 0 var(--color-sr-primary01);
}
.srBtn.-navy:hover {
  background-color: #EAF2F7;
  box-shadow: 0.2em 0.2em 0 var(--color-sr-primary01);
}

.srBtn.-purple {
  border-color: var(--color-sr-secondary01);
  color: var(--color-sr-secondary01);
  box-shadow: 0.3em 0.3em 0 var(--color-sr-secondary01);
}
.srBtn.-purple:hover {
  background-color: #FBF7FD;
  box-shadow: 0.2em 0.2em 0 var(--color-sr-secondary01);
}

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

  .srBtn {
    font-size: 1.1em;
    min-width: 17em;
  }
}


/***********
srHeading
************/

.srHeading {
  text-align: center;
  padding-bottom: 3em;
}
.srHeading img {
  width: clamp(80px,80%, 560px);
}
.srHeading img[src*="title_join"] {
  width: clamp(80px,80%, 560px);
}

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

  .srHeading {
    padding-bottom: 1.5em;
  }
}

/***********
srText
************/

.srText-main {
  line-height: 2;
  font-weight: 600;
  font-size: 1em;
}

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

  .srText-main {
    line-height: 1.8;
  }
}

/***********
srJoin
************/

.srJoin {
  background-color: var(--color-sr-sub01);
  padding-top: 15em;
  padding-bottom: var(--padding-main);
}

.srJoin-section {
  display: flex;
  align-items: center;
  gap: 0 1em;
  background-color: var(--color-sr-sub02);
  border-radius: 6px;
  padding: min(7vw,3em) min(5vw,1em) min(7vw,3em) min(5vw,6em);
  position: relative;
}
.srJoin-section + .srJoin-section {
  margin-top: 4em;
}

.srJoin-badge {
  background: url(../images/stamprally2026/cv_base_nv.png) no-repeat center center / 100% auto;
  color: var(--color-base);
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  font-size: clamp(0.6em,3vw, 0.9em);
  width: 8em;
  height: 8em;
  padding-right: 0.5em;
  line-height: 1;
  position: absolute;
  left: 0;
  top: 0;
  translate: -40% -20%;
}
.srJoin-badge-text {
}
.srJoin-badge-text small {
  display: block;
  font-size: 100%;
  font-weight: 500;
}
.srJoin-badge-text span {
  display: block;
  font-size: 350%;
  font-weight: 500;
}


.srJoin-inner {
  flex: 1;
  padding: 1em 0;
}
.srJoin-img {
  width: 54%;
}
.srJoin-img-tips {
  font-size: 0.8em;
  font-family: var(--font-family-sr-gothic);
  line-height: 1.6;
  padding-top: 0.8em;
  text-align: right;
}


.srJoin-title {
  font-size: 1.45em;
  font-weight: 700;
  padding-bottom: 0.5em;
  color: var(--color-sr-primary01);
}
.srJoin-tips {
  font-size: 0.8em;
  font-family: var(--font-family-sr-gothic);
  line-height: 1.6;
}

.srText-caution {
  font-size: 1.1em;
  font-family: var(--font-family-sr-gothic);
  font-weight: 500;
  line-height: 1.7;
}
.srText-caution li {
  background: url(../images/stamprally2026/icon/exclamation.png) no-repeat left 0.1em / 1.5em auto;
  padding-left: 2em;
  padding-bottom: 0.5em;
}
.srText-caution li + li {
  margin-top: 0.2em;
}



.srJoin-cv {
  margin-top: 0.5em;
}
.srJoin-cv a {
  display: block;
  color: var(--color-main);
  text-decoration: none;
}
.srJoin-cv-title {
  display: inline-block;
  background-color: var(--color-sr-primary01);
  color: var(--color-base);
  font-weight: 900;
  font-size: 1.2rem;
  padding: 0.4em 1.5em 0.4em 1em;
  clip-path: polygon(0% 0%, 95% 0%, 100% 100%, 0 100%);
  position: relative;
  z-index: 2;
  translate: 0 0.8em;
}
.srJoin-cv-container {
  background-color: var(--color-base);
  padding: 2em 1em 1.5em;
  display: flex;
  align-items: center;
  position: relative;
}
.srJoin-cv-container::after {
  content: "";
  display: block;
  width: 1.5em;
  height: 1em;
  background: url(../images/stamprally2026/icon/arrow_nv.png) no-repeat center center / 100% auto;
  position: absolute;
  right: 1em;
  top: 50%;
  translate: 0 -50%;
  transition: 0.2s;
}
a:hover .srJoin-cv-container::after {
  right: 0.6em;
}
.srJoin-cv-qr {
  width: 25%;
  max-width: 120px;
}
.srJoin-cv-inner {
  flex: 1;
  padding-left: 1em;
}
.srJoin-cv-lead {
  font-weight: 500;
}
.srJoin-cv-text {
  font-size: 0.8em;
  font-family: var(--font-family-sr-gothic);
  line-height: 1.6;
  padding-top: 0.8em;
}

.srJoin-cta {
  text-align: center;
  padding-top: 2em;
}
.srJoin-cta-lead {
  font-size: 1.3em;
  font-weight: 600;
  color: var(--color-sr-primary01);
  padding-bottom: 1.5em;
}
.srJoin-cta-link {
}


/*
green
*/

.srJoin-section.-green {
  background-color: var(--color-sr-sub03);
}
.srJoin-section.-green .srJoin-badge {
  background-image: url(../images/stamprally2026/cv_base_gr.png);
}
.srJoin-section.-green .srJoin-title {
  color: var(--color-sr-third01);
}
.srJoin-section.-green .srText-caution li {
  background-image: url(../images/stamprally2026/icon/exclamation_gr.png) ;
}


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


  .srJoin {
    padding-top: 8em;
    padding-bottom: var(--padding-main);
  }

  .srJoin-section {
    display: block;
    padding: min(5vw,3em) min(5vw,1em) min(7vw,3em) min(5vw,6em);
  }
  .srJoin-section + .srJoin-section {
    margin-top: 4em;
  }

  .srJoin-badge {
    font-size: clamp(0.6em,3vw, 0.9em);
    width: 6em;
    height: 6em;
    translate: -20% -60%;
  }
  .srJoin-badge-text small {
  }
  .srJoin-badge-text span {
    font-size: 250%;
  }


  .srJoin-inner {
    padding: 1em 0 0;
  }
  .srJoin-img {
    width: auto;
    max-width: 320px;
    margin: 0 auto;
  }
  .srJoin-img-tips {
  }


  .srJoin-title {
    font-size: 1.4em;
  }
  .srJoin-tips {
  }

  .srText-caution {
    font-size: 1em;
  }
  .srJoin-cv {
    margin-bottom: 1em;
  }
  .srJoin-cv a {
  }
  .srJoin-cv-title {
    font-size: 1em;
  }
  .srJoin-cv-qr {
    width: 22%;
  }
  .srJoin-cv-inner {
    padding-left: 1em;
  }
  .srJoin-cv-lead {
    font-weight: 500;
    font-size: 0.8em;
  }
  .srJoin-cv-text {
    font-size: 0.7em;
  }

  .srJoin-cta {
  }
  .srJoin-cta-lead {
    font-size: 1.1em;
  }
  .srJoin-cta-link {
  }

}

/***********
srSpot
************/

.srSpot {
  background-color: var(--color-sr-sub01);
}
.srSpot-link {
  text-align: center;
}
.srSpot-slider {
  overflow: hidden;
  background: url(../images/stamprally2026/bg_edge01.png) no-repeat center top / max(100%,1024px) 100%;
  margin-top: 2em;
  margin-bottom: -1px;
}
.srSpot-slider-item {
}
.srSpot-slider-item img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
}
.srSpot-slider-item .slick-slide:nth-child(5n + 1) img {
  width: 22vw;
}
.srSpot-slider-item .slick-slide:nth-child(5n + 2) img {
  width: 17vw;
  margin-top: 60%;
  margin-left: -2%;
}
.srSpot-slider-item .slick-slide:nth-child(5n + 3) img {
  width: 20vw;
  margin-top: 12%;
  padding-right: 5%;
}
.srSpot-slider-item .slick-slide:nth-child(5n + 4) img {
  width: 18vw;
}
.srSpot-slider-item .slick-slide:nth-child(5n) img {
  width: 22vw;
  margin-top: 30%;
  margin-left: -2%;
}


/* .srSpot-slider {
  background: url(../images/stamprally2026/bg_edge01.png) no-repeat center top / max(100%,1024px) 100%;
  margin-top: 2em;
}
.srSpot-slider-item {
  background: url(../images/stamprally2026/spot_slider_img.png) repeat-x left top / 4000px auto;
  height: 553px;
  animation: spin-srSpot 40s linear infinite;
}

@keyframes spin-srSpot {
  0%   {
    background-position: 0 0;
  }
  100% {
    background-position: -4000px 0;
  }
} */


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

  .srSpot-slider {
    background: url(../images/stamprally2026/bg_edge01.png) no-repeat center top / max(100%,640px) 100%;
  }
  .srSpot-slider-item {
  }
  .srSpot-slider-item img{
  }
  .srSpot-slider-item .slick-slide:nth-child(5n + 1) img {
    width: 32vw;
  }
  .srSpot-slider-item .slick-slide:nth-child(5n + 2) img {
    width: 24vw;
  }
  .srSpot-slider-item .slick-slide:nth-child(5n + 3) img {
    width: 30vw;
  }
  .srSpot-slider-item .slick-slide:nth-child(5n + 4) img {
    width: 27vw;
  }
  .srSpot-slider-item .slick-slide:nth-child(5n) img {
    width: 33vw;
  }

}


/***********
srPrize
************/

.srPrize {
  background-color: var(--color-sr-brand02);
  padding-block: var(--padding-small) var(--padding-main);
}
.srPrize-tips {
  display: block;
  font-size: 0.8em;
  font-family: var(--font-family-sr-gothic);
  line-height: 1.6;
  text-align: center;
}

.srPrize-wrapper {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 5em 4%;
}
.srPrize-section.-wide {
  grid-column: span 2;
}

.srPrize-section {
}
.srPrize-title {
  text-align: center;
  font-size: 1.7em;
  font-weight: 900;
  padding-bottom: 0.6em;
}
.srPrize-visual {
  display: flex;
}
.srPrize-img {
}
.srPrize-heading {
  text-align: center;
  padding-block: 1em;
}
.srPrize-heading-title {
  display: inline-block;
  text-align: center;
  font-size: 1.4em;
  font-weight: 800;
  padding-bottom: 0.4em;
}
.srPrize-heading-limit {
  display: inline-block;
  background-color: var(--color-main);
  color: var(--color-base);
  font-weight: 700;
  font-size: 1.25em;
  border-radius: 5px;
  padding: 0.1em 0.7em;
  margin: 0 0.5em;
}
.srPrize-block {
  border-block : 2px solid var(--color-base);
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  min-height: 4.40em;
  font-size: 1.3em;
  font-weight: 600;
  line-height: 1.4;
  color: var(--color-main);
}
.srPrize-text {
  color: var(--color-main);
}
.srPrize-text em {
  font-size: 130%;
  font-style: normal;
  line-height: 1;
}
.srPrize-subText {
  font-size: 14px;
  color: var(--color-main);
  text-align: center;
}
.srPrize-subText {
  font-size: 14px;
  color: var(--color-main);
  text-align: center;
  padding-top: 0.5em;
}
.srPrize-minText {
  font-size: 0.8em;
  font-weight: 500;
  color: var(--color-main);
  text-align: center;
  padding-top: 0.8em;
}

.srPrize-section.-red {
  color: #951D24;
}
.srPrize-section.-red .srPrize-heading-limit {
  background-color: #951D24;
}
.srPrize-section.-navy {
  color: #00256A;
}
.srPrize-section.-navy .srPrize-heading-limit {
  background-color: #00256A;
}
.srPrize-section.-green {
  color: #465F2C;
}
.srPrize-section.-green .srPrize-heading-limit {
  background-color: #465F2C;
}

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


  .srPrize {
  }
  .srPrize-tips {
  }

  .srPrize-wrapper {
    display: block;
    max-width: 520px;
    margin: 0 auto;
  }
  .srPrize-section.-wide {
  }

  .srPrize-section {
  }
  .srPrize-section + .srPrize-section {
    margin-top: 4em;
  }
  .srPrize-title {
    font-size: 1.5em;
  }
  .srPrize-visual {
  }
  .srPrize-img {
  }
  .srPrize-heading {
  }
  .srPrize-heading-title {
    font-size: 1.2em;
  }
  .srPrize-heading-limit {
    font-size: 1.15em;
  }
  .srPrize-block {
    border-block : 1px solid var(--color-base);
    min-height: 4.40em;
    padding-top: 1em;
    padding-bottom: 1em;
    font-size: 1.1em;
  }
  .srPrize-text {
  }
  .srPrize-text em {
    font-size: 120%;
  }
  .srPrize-subText {
    font-size: 13px;
  }
  .srPrize-subText {
    font-size: 13px;
  }
  .srPrize-minText {
    font-size: 0.75em;
    font-family: var(--font-family-sr-gothic);
  }


}

/***********
srApply
************/

.srApply {
  background-color: var(--color-sr-brand02);
  padding-block: 0 var(--padding-main);
}

/***********
srContact
************/

.srContact {
  text-align: center;
}
.srContact-heading {
  border-bottom: 2px solid var(--color-sr-brand02);
  padding-bottom: 2em;
}
.srContact-heading-title {
  font-size: 1.3em;
  font-weight: 600;
  padding-bottom: 0.5em;
  color: var(--color-sr-brand01);
}
.srContact-heading-text {
  font-weight: 600;
  line-height: 1.8;
}

.srContact-container {
  padding-top: 2em;
}
.srContact-name {
  font-weight: 600;
  line-height: 1.8;
}

.srContact-box {
  display: inline-block;
  padding-top: 1em;
}

.srContact-data {
  display: flex;
  text-align: left;
  align-items: start;
  padding-bottom: 0.8em;
}
.srContact-data a {
  color: inherit;
  text-decoration: none;
}
.srContact-data dt {
  background-color: var(--color-sr-brand02);
  font-weight: 500;
  font-size: 0.8em;
  translate: 0 20%;
  width: 3.8em;
  white-space: nowrap;
  padding: 0.1em ;
  text-align: center;
}
.srContact-data dd {
  flex: 1;
  padding-left: 0.8em;
  font-weight: 600;
}
.srContact-data-tel {
  font-size: 1.25em;
  line-height: 1.35;
  letter-spacing: 0.04em;
}
.srContact-data-tips {
  font-size: 0.8em;
}

.srContact-data-mail {
  font-size: 1.25em;
  line-height: 1.35;
  letter-spacing: 0.04em;
}

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

  .srContact-data dt {
    translate: 0 10%;
  }
  .srContact-data dd {
  }
  .srContact-data-tel {
    font-size: 1em;
  }
  .srContact-data-tips {
    font-size: 0.7em;
  }
  .srContact-data-mail {
    font-size: 1em;
  }


}

/***********
srFixedCv
************/


.srFixedCv {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 989;
}
a.srFixedCv-badge {
  color: var(--color-base) !important;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  font-size: clamp(0.6em,3vw, 0.9em);
  width: 8em;
  height: 8em;
  line-height: 1.4;
  padding-bottom: 1em;
  position: relative;
}
.srFixedCv-badge::before {
  content: "";
  display: block;
  width: 1.8em;
  height: 1em;
  background: url(../images/stamprally2026/icon/arrow_nv.png) no-repeat center center / 100% auto;
  position: absolute;
  left: 50%;
  bottom: 1.8em;
  z-index: 2;
  translate: -50% 0;
  transition: 0.2s;
  filter: invert(1) brightness(200%);
}
.srFixedCv-badge::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background: url(../images/stamprally2026/cv_base_rd.png) no-repeat center center / 100% 100%;
  transition: 0.2s;
}
a.srFixedCv-badge:hover::before {
  left: 55%;
}
a.srFixedCv-badge:hover::after {
  filter: brightness(80%);
}
.srFixedCv-badge-text {
  position: relative;
  z-index: 2;
  font-weight: 600;
}

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

  .srFixedCv {
    right: 5px;
    bottom: 5px;
  }
  a.srFixedCv-badge {
    font-size: 11px;
    width: 7em;
    height: 7em;
  }
  .srFixedCv-badge::before {
    bottom: 1.2em;
  }

}

/***********
xxxxxxxx
************/

/***********
xxxxxxxx
************/

/***********
xxxxxxxx
************/

/***********
xxxxxxxx
************/

/***********
xxxxxxxx
************/

/***********
xxxxxxxx
************/
