@charset "EUC-jp";
/* ==========================================================================
review campaign
========================================================================== */

.u_campaignBackground_wrapper {
  position: relative;
  background: linear-gradient(180deg, #ebfcff 80%, #fffbe7 100%);
}
.u_campaignBackground_wrapper::before,
.u_campaignBackground_wrapper::after {
  content: "";
  position: absolute;
  inset: 0;
  mix-blend-mode: darken;
}
.u_campaignBackground_wrapper::before {
  background: radial-gradient(40% 68% at 17% 0%, #daffc8 0%, #ebfcff 100%);
}
.u_campaignBackground_wrapper::after {
  background: radial-gradient(30% 50% at 100% 74%, #a4fffa 0%, #ebfcff 100%);
}
.u_campaignBackground {
  position: relative;
  z-index: 1;
}

/* main title */
.u_campaignMainTitle {
  max-width: 970px;
  width: 100%;
  margin: 0 auto;
  padding-block: 10px;
}
.u_campaignMainTitle_img {
  max-width: 100%;
  width: 100%;
  height: auto;
  font-style: italic;
  vertical-align: middle;
}
@media screen and (max-width: 425px) {
  .u_campaignMainTitle { padding-block: 0; }
}

/* period */
.u_campaignPeriod {
  display: grid;
  place-content: center;
  width: 100%;
  margin: 0 auto;
  padding: 15px 0px;
  background: #00786e;
}
.u_campaignPeriod_date {
  color: white;
  font-size: 20px;
  font-size: clamp(1rem, 0.909rem + 0.45vw, 1.25rem);
  text-align: center;
}

/* contents */
.u_campaignContents_wrapper {
  display: grid;
  gap: 20px;
  max-width: calc(640px + (10px * 2));
  width: 100%;
  margin: 20px auto 0;
  padding-inline: 10px;
}
.u_campaignContents_img {
  max-width: 100%;
  height: auto;
  margin: 0 auto;
  font-style: italic;
  vertical-align: middle;
}

.u_campaignContents {
  display: grid;
  gap: 15px;
  padding: 30px 20px;
  border-radius: 8px;
  border: 2px solid #c1efed;
  background: #fff;
}
@media screen and (max-width: 425px) {
  .u_campaignContents { padding-block: 25px; }
}

/* typography */
.u_campaignContents_title {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  color: #00786e;
  font-size: 24px;
  font-size: clamp(1.25rem, 1.159rem + 0.45vw, 1.5rem);
  font-weight: bold;
  line-height: 1.5;
  font-feature-settings: "palt";
}

.u_campaignContents_title::before,
.u_campaignContents_title::after {
  color: #62c4bc;
  font-family: FontAwesome;
  font-size: 24px;
  font-weight: normal;
  text-align: center;
}
.u_campaignContents_title::before { content: "\f040"; }
.u_campaignContents_title::after  { content: "\f27a"; }

.u_campaignParagraph {
  color: #333;
  font-size: 16px;
  line-height: 1.8;
  font-feature-settings: "palt";
}
.u_campaignList.is_responsive .u_campaignParagraph {
  font-size: clamp(0.875rem, 0.83rem + 0.23vw, 1rem);
}

.u_campaignNote {
  color: #666;
  font-size: 12px;
}

/* list */
.u_campaignList {
  display: grid;
  gap: 5px;
}
.u_campaignList_item {
  display: flex;
  align-items: baseline;
  gap: 5px;
}
.u_campaignList_item::before {
  content: "¡¦";
  color: #666;
  font-size: 16px;
}

/* button & link */
.u_campaignButton {
  max-width: 480px;
  width: 100%;
  margin: 0 auto;
  padding: 15px 5px;
  border-radius: 8px;
  background: #00786e;
  box-shadow: 0px -4px 0px 0px rgba(0, 0, 0, 0.25) inset;
  cursor: pointer;
}
@media (any-hover: hover) {
  .u_campaignButton:hover {
    background-image: linear-gradient(rgba(0,0,0,0.2), rgba(0,0,0,0.2));
    background-blend-mode: multiply;
    text-decoration: none;
  }
}
.u_campaignButton:focus-visible {
  background-image: linear-gradient(rgba(0,0,0,0.2), rgba(0,0,0,0.2));
  background-blend-mode: multiply;
}
.u_campaignButton_text {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  color: #fff;
  font-size: 20px;
  font-weight: bold;
}
.u_campaignButton_text .fa { font-weight: normal; }

.u_campaignRegistLink {
  margin: 0 auto;
  color: #00786e;
  cursor: pointer;
}
@media (any-hover: hover) {
  .u_campaignRegistLink:hover {
    text-decoration: underline;
    text-underline-offset: 4px;
  }
}
.u_campaignRegistLink.is_angleRight {
  position: relative;
  padding-right: 10px;
}
.u_campaignRegistLink.is_angleRight:after {
  content: "\f105";
  position: absolute;
  inset: auto 0 auto auto;
  font-family: FontAwesome;
}
.u_campaignRegistLink_text {
  font-size: 16px;
}

/* utility */
.u_campaignMarker {
  font-weight: bold;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-decoration-color: #62c4bc;
  text-underline-offset: 4px;
  text-decoration-skip-ink: none;
}
.u_campaignMarker.is_important {
  color: #c33;
}
