@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");
/*=============================================================
 02_layout
=============================================================*/
/* fv
-------------------------------------------------*/
.fv {
  position: relative;
  width: 92.65625%;
  margin: 0 auto;
  padding: min(4.53125svw, 29px) 0 0;
}
@media print, screen and (min-width: 641px) {
  .fv {
    width: 1000px;
    padding: 45px 0 0;
  }
}
.fv .logo {
  width: 28.0775716695%;
  margin: 0 auto min(2.03125svw, 13px);
}
@media print, screen and (min-width: 641px) {
  .fv .logo {
    width: 206.5px;
    margin-bottom: 28px;
  }
}
.fv .headline {
  font-size: clamp(20px, 6.25vw + 0px, 40px);
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
}
@media print, screen and (min-width: 641px) {
  .fv .headline {
    font-size: 45px;
    line-height: 1.3777777778;
  }
}
.fv .headline .headline-inline {
  display: inline;
  padding: 0 0.375em;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  background-image: linear-gradient(0deg, #ee1b2a 1.25em, transparent 1.25em);
  text-align: justify;
  color: #fff;
}
@media print, screen and (min-width: 641px) {
  .fv .headline .headline-inline {
    padding: 0 15px;
    background-image: linear-gradient(0deg, #ee1b2a 1.25em, transparent 1em);
  }
}
.fv .radius-box {
  margin: min(3.90625svw, 25px) auto 0;
  padding: min(6.40625svw, 41px) min(3.90625svw, 25px) min(8.125svw, 52px);
  box-sizing: border-box;
  background-color: #fff;
  border-radius: clamp(15px, 4.6875vw + 0px, 30px);
}
@media print, screen and (min-width: 641px) {
  .fv .radius-box {
    margin-top: 24px;
    padding: 50px 52px 50px;
    border-radius: 30px;
  }
}
.fv .radius-box .notes {
  font-size: clamp(12px, 3.75vw + 0px, 24px);
  font-weight: bold;
  line-height: 1.5;
}
@media print, screen and (min-width: 641px) {
  .fv .radius-box .notes {
    font-size: 20px;
    line-height: 1.5;
  }
}

/* navigation-box
-------------------------------------------------*/
.navigation-box {
  position: relative;
  width: 92.65625%;
  margin: min(3.75svw, 24px) auto 0;
  background-color: #fff;
  border-radius: clamp(15px, 4.6875vw + 0px, 30px);
}
@media print, screen and (min-width: 641px) {
  .navigation-box {
    width: 1000px;
    margin: 45px auto 0;
    border-radius: 30px;
  }
}
.navigation-box + .navigation-box {
  margin-top: min(2.96875svw, 19px);
}
@media print, screen and (min-width: 641px) {
  .navigation-box + .navigation-box {
    margin-top: 12px;
  }
}
.navigation-box .navigation-box-upside {
  padding: min(1.40625svw, 9px) 0 min(1.5625svw, 10px);
  background-color: #073972;
  border-radius: clamp(15px, 4.6875vw + 0px, 30px) clamp(15px, 4.6875vw + 0px, 30px) 0 0;
}
@media print, screen and (min-width: 641px) {
  .navigation-box .navigation-box-upside {
    padding: 13px 0;
    border-radius: 30px 30px 0 0;
  }
}
.navigation-box .navigation-box-upside .navigation-headline {
  font-size: clamp(12px, 3.75vw + 0px, 24px);
  font-weight: bold;
  line-height: 1.5;
  text-align: center;
  color: #fff;
}
@media print, screen and (min-width: 641px) {
  .navigation-box .navigation-box-upside .navigation-headline {
    font-size: 20px;
    line-height: 1.5;
  }
}
.navigation-box .navigation-box-main {
  padding: min(2.5svw, 16px) min(6.25svw, 40px) min(3.59375svw, 23px);
}
@media print, screen and (min-width: 641px) {
  .navigation-box .navigation-box-main {
    padding: 20px 75px 31px;
  }
}
.navigation-box .navigation-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0 min(6.25svw, 40px);
}
@media print, screen and (min-width: 641px) {
  .navigation-box .navigation-list {
    gap: 0 36px;
  }
}
.navigation-box .navigation-list > li {
  font-size: clamp(11px, 3.4375vw + 0px, 22px);
  font-weight: bold;
  line-height: 2.2727272727;
  text-align: center;
}
@media print, screen and (min-width: 641px) {
  .navigation-box .navigation-list > li {
    font-size: 18px;
    line-height: 2.4444444444;
  }
}
.navigation-box .navigation-list > li a {
  color: #073972;
}
.navigation-box .navigation-list > li a::after {
  content: "〉";
}
@media print and (hover: hover), screen and (hover: hover) and (min-width: 641px) {
  .navigation-box .navigation-list > li a:hover {
    text-decoration: underline;
  }
}

/* .participate
-------------------------------------------------*/
.participate {
  position: relative;
  width: 92.65625%;
  margin: min(7.1875svw, 46px) auto 0;
  z-index: 1;
}
@media print, screen and (min-width: 641px) {
  .participate {
    width: 1000px;
    margin-top: 59px;
  }
}
.participate .participate-headline {
  margin-bottom: min(1.5625svw, 10px);
  font-size: clamp(12px, 3.75vw + 0px, 24px);
  font-weight: bold;
  line-height: 1.25;
  color: #ee1b2a;
}
@media print, screen and (min-width: 641px) {
  .participate .participate-headline {
    margin-bottom: 10px;
    font-size: 24px;
    line-height: 1.25;
  }
}
.participate .prefecture {
  padding: min(1.5625svw, 10px) 0 min(2.5svw, 16px);
  background-color: #ee1b2a;
  font-size: clamp(12px, 3.75vw + 0px, 24px);
  font-weight: bold;
  line-height: 1.25;
  text-align: center;
  color: #fff;
}
@media print, screen and (min-width: 641px) {
  .participate .prefecture {
    padding: 12px 0 13px;
    font-size: 20px;
    line-height: 1.5;
  }
}
.participate .store-list > li {
  padding: min(0.390625svw, 2.5px) min(3.75svw, 24px) min(0.625svw, 4px);
  font-size: clamp(11px, 3.4375vw + 0px, 22px);
  font-weight: bold;
}
@media print, screen and (min-width: 641px) {
  .participate .store-list > li {
    padding: 2.5px 82px 4px;
    font-size: 22px;
  }
}
.participate .store-list > li:nth-of-type(2n+1) {
  background-color: #e6f8fe;
}
.participate .store-list > li:nth-of-type(2n) {
  background-color: #fff;
}