@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans:wght@400;700&display=swap');
.imgs {
  font-size: 0;
}

/* SP */
.sp {
  display: block;
}

.pc {
  display: none;
}

br.smp {
  display: none;
}

br.smpc {
  display: block;
}

main {
  width: 100%;
  background-image: url(../img/blue-pattern.png);
  background-repeat: repeat;
  background-position: top center;
}

/* KV */
.kv {
  padding: 32px 20px 40px;
}

.kv-title {
  margin: 0 0 24px;
}

.kv-title img {
  display: block;
  width: 100%;
  height: auto;
}

.kv-btn {
  display: block;
}

.kv-btn img {
  display: block;
  width: 100%;
  height: auto;
}

.kv-cards {
  display: flex;
  margin-top: 24px;
}

.kv-card {
  flex: 1 1 0;
}

.kv-card + .kv-card {
  margin-left: 20px;
}

.kv-card img {
  display: block;
  width: 100%;
  height: auto;
}

.kv-btn:hover,
.kv-card:hover {
  opacity: 0.8;
}

/* PC */
@media screen and (min-width: 750px) {
  #bg_wrapper {
    background-color: #2b75b9;
    background-image: url(../img/blue-pattern-pc.png);
    background-repeat: repeat;
    background-position: top center;
  }

  #wrapper2 {
    background: transparent;
  }

  .sp {
    display: none;
  }

  .pc {
    display: block;
  }

  main {
    display: block;
    width: 750px;
    margin: 0 auto;
    background-image: url(../img/blue-pattern.png);
    background-repeat: repeat;
    background-position: top center;
  }

  /* KV */
  .kv {
    max-width: 1000px;
    margin: 0 auto;
    padding: 48px 20px 64px;
  }

  .kv-title {
    margin-bottom: 32px;
  }

  .kv-cards {
    margin-top: 32px;
  }

  .kv-card + .kv-card {
    margin-left: 32px;
  }

}

/* Google Play campaign details: styles are limited to the main-content section. */
.gp-campaign {
  box-sizing: border-box;
  width: 100%;
  padding: 0 0 .625em;
  background: #e60012;
  color: #111;
  font-family: "Noto Sans Japanese", "Noto Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
  font-size: min(3.2vw, 24px);
  font-weight: 400;
  line-height: 1.5;
  text-align: left;
  overflow-wrap: anywhere;
}

.gp-campaign *, .gp-campaign *::before, .gp-campaign *::after {
  box-sizing: border-box;
}

.gp-campaign .gp-campaign__panel {
  margin: 1.42em 1.42em 0;
  padding: 1.4em 1.3em 1.1em;
  border-radius: 1.2em;
  background: #fff;
}

.gp-campaign p, .gp-campaign h2, .gp-campaign h3,
.gp-campaign figure, .gp-campaign dl, .gp-campaign dd,
.gp-campaign ol, .gp-campaign ul {
  margin: 0;
  padding: 0;
}

.gp-campaign img {
  display: block;
  max-width: 100%;
  width: 100%;
  height: auto;
  border: 0;
}

.gp-campaign .gp-campaign__heading {
  margin: 0 0 .45em;
  padding: 0 0 .08em;
  border-bottom: 1px solid #ff0016;
  color: #ff0016;
  font-size: 1.2em;
  font-weight: 700;
  line-height: 1.4;
}

.gp-campaign .gp-campaign__period .gp-campaign__heading:not(:first-child) {
  margin-top: .55em;
}

.gp-campaign .gp-campaign__notes {
  margin-top: .7em;
  font-size: .8em;
  line-height: 1.55;
}

.gp-campaign .gp-campaign__red {
  color: #ff0016;
}

.gp-campaign .gp-campaign__section {
  margin-top: 1.65em;
}

.gp-campaign .gp-campaign__participation {
  margin: 1em auto 0;
}

.gp-campaign .gp-campaign__products {
  width: 92%;
  margin: .6em auto 1em;
}

.gp-campaign .gp-campaign__link {
  color: #5aa8e6;
  font-weight: 700;
  text-decoration: none;
}

.gp-campaign .gp-campaign__link:hover {
  color: #88c7f9;
  text-decoration: underline;
}

.gp-campaign .gp-campaign__product-link + .gp-campaign__notes {
  margin-top: 1em;
}

.gp-campaign .gp-campaign__prizes {
  margin-top: 2em;
}

.gp-campaign .gp-campaign__prize-title {
  margin: 1em 0 1.5em;
  font-size: 1em;
  line-height: 1;
}

.gp-campaign .gp-campaign__rewards {
  margin: 0 auto;
}

.gp-campaign .gp-campaign__bullets {
  list-style: none;
  margin-top: .45em;
}

.gp-campaign .gp-campaign__bullets li {
  position: relative;
  padding-left: 1em;
}

.gp-campaign .gp-campaign__bullets li::before {
  content: "●";
  position: absolute;
  left: 0;
}

.gp-campaign .gp-campaign__prize-title--second {
  margin-top: 1.333em;
  margin-bottom: .65em;
}

.gp-campaign .gp-campaign__schedule {
  font-size: .85em;
  font-weight: 700;
}

.gp-campaign .gp-campaign__schedule dt {
  display: table;
  margin: .8em 0 .5em;
  padding: .25em 1.1em;
  border-radius: 2em;
  background: #f7b522;
  color: #fff;
  font-weight: 700;
}

.gp-campaign .gp-campaign__schedule dd {
  margin: 0;
}

.gp-campaign .gp-campaign__banner-guide {
  width: 85%;
  margin: .8em auto 0;
}

.gp-campaign .gp-campaign__howto {
  margin-top: 2em;
}

.gp-campaign .gp-campaign__steps {
  list-style: none;
  margin-top: 1.5em;
}

.gp-campaign .gp-campaign__steps > li + li {
  margin-top: 1.8em;
}

.gp-campaign .gp-campaign__step-title {
  display: flex;
  align-items: flex-start;
  gap: .4em;
  font-size: .8em;
  font-weight: 700;
  line-height: 1.4;
}

.gp-campaign .gp-campaign__step-title > img {
  flex: 0 0 2.2em;
  width: 2.2em;
  height: 2.2em;
  margin-top: .1em;
}

.gp-campaign .gp-campaign__step-title > span {
  flex: 1;
  min-width: 0;
}

.gp-campaign .gp-campaign__step-image {
  width: 96%;
  margin: 1.2em auto 0;
}

.gp-campaign .gp-campaign__application {
  width: 47%;
  margin: 1.2em auto 0;
}

.gp-campaign figcaption {
  margin-top: .4em;
  font-size: .6em;
  font-weight: 700;
  text-align: center;
}

.gp-campaign .gp-campaign__stamp-note {
  margin-top: 1em;
  font-size: .7em;
  font-weight: 700;
  text-align: center;
}

.gp-campaign .gp-campaign__receive {
  position: relative;
  width: 84%;
  margin: 1em auto 0;
}

.gp-campaign .gp-campaign__receive figcaption {
  position: absolute;
  top: 79%;
  right: 0;
  width: 62%;
  margin: 0;
}

/* App download */
.gp-campaign .gp-campaign__download {
  margin-top: 1.5em;
  padding-bottom: 2.05em;
  text-align: center;
}

.gp-campaign .gp-campaign__download-title {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .5em;
  width: 90%;
  margin: 0 auto 1.1em;
  color: #111;
  font-size: 1em;
  font-weight: 700;
  line-height: 1.5;
}

.gp-campaign .gp-campaign__download-title::before,
.gp-campaign .gp-campaign__download-title::after {
  content: "";
  flex: 1;
  border-top: 3px dotted #999;
}

.gp-campaign .gp-campaign__download-title span {
  flex: 0 0 auto;
}

.gp-campaign .gp-campaign__download-buttons {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .667em;
}

.gp-campaign .gp-campaign__download-button {
  display: block;
  flex: 0 1 auto;
  min-width: 0;
}

.gp-campaign .gp-campaign__download-button--google {
  width: 11.125em;
}

.gp-campaign .gp-campaign__download-button--apple {
  width: 10.125em;
}

.gp-campaign .gp-campaign__download-button:hover {
  opacity: 0.8;
}

.gp-campaign .gp-campaign__download-button:focus-visible {
  outline: 2px solid #0068b7;
  outline-offset: 4px;
}

/* Gemini paid plans */
.gp-gemini {
  box-sizing: border-box;
  width: 100%;
  padding: .625em 1.375em 1.25em;
  background: #e60012;
  color: #000;
  font-family: "Noto Sans Japanese", "Noto Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
  font-size: min(3.2vw, 24px);
  line-height: 1.5;
  text-align: left;
  overflow-wrap: anywhere;
}

.gp-gemini *,
.gp-gemini *::before,
.gp-gemini *::after {
  box-sizing: border-box;
}

.gp-gemini h2,
.gp-gemini h3,
.gp-gemini p,
.gp-gemini ol {
  margin: 0;
  padding: 0;
}

.gp-gemini .gp-gemini__panel {
  padding: 2.292em 1.458em 1.667em;
  border-radius: 1.125em;
  background: #f2f7ee;
}

.gp-gemini .gp-gemini__title {
  width: 18.104em;
  max-width: 100%;
  margin: 0 auto 1.833em;
  font-size: 1em;
  line-height: 1;
}

.gp-gemini .gp-gemini__title img {
  display: block;
  width: 100%;
  height: auto;
}

.gp-gemini .gp-gemini__subtitle {
  margin: 0 .107em;
  padding: .321em .5em;
  border-radius: 2em;
  background: #94dc5b;
  font-size: 1em;
  font-weight: 700;
  line-height: 1.286;
  text-align: center;
  white-space: nowrap;
}

.gp-gemini .gp-gemini__description {
  margin: 1.333em .556em 1em;
  font-size: .75em;
  line-height: 1.6;
}

.gp-gemini .gp-gemini__offers {
  overflow: hidden;
  border: .167em solid #64a530;
  border-radius: 1.333em;
  background: #fff;
}

.gp-gemini .gp-gemini__offers-title {
  padding: .583em .5em;
  background: #64a530;
  color: #fff;
  font-size: 1em;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}

.gp-gemini .gp-gemini__list {
  padding: 1.208em .875em 1.333em;
  list-style: none;
}

.gp-gemini .gp-gemini__list > li {
  display: flex;
  align-items: flex-start;
  gap: .458em;
}

.gp-gemini .gp-gemini__list > li + li {
  margin-top: 1em;
}

.gp-gemini .gp-gemini__number {
  display: flex;
  flex: 0 0 1.158em;
  align-items: center;
  justify-content: center;
  height: 1.553em;
  background: #97d06a;
  color: #fff;
  font-size: 1.583em;
  font-weight: 900;
  line-height: 1;
}

.gp-gemini .gp-gemini__item-content {
  flex: 1;
  min-width: 0;
}

.gp-gemini .gp-gemini__item-title {
  font-size: .958em;
  font-weight: 700;
  line-height: 1.35;
}

.gp-gemini .gp-gemini__note {
  margin-top: .375em;
  font-size: .667em;
  line-height: 1.5;
}

.gp-gemini .gp-gemini__list > li:last-child {
  align-items: center;
}

/* Campaign terms accordion */
.gp-terms {
  box-sizing: border-box;
  width: 100%;
  padding: 0 1.42em 1.42em;
  background: #e60012;
  color: #111;
  font-family: "Noto Sans Japanese", "Noto Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
  font-size: min(3.2vw, 24px);
  line-height: 1.5;
}

.gp-terms *,
.gp-terms *::before,
.gp-terms *::after {
  box-sizing: border-box;
}

.gp-terms__panel {
  overflow: hidden;
  border-radius: 1.2em;
  background: #fff;
}

.gp-terms__toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .5em;
  width: 100%;
  min-height: 4.55em;
  padding: .8em 1em;
  border: 0;
  background: transparent;
  color: #111;
  font: inherit;
  font-weight: 700;
  line-height: 1.25;
  cursor: pointer;
}

.gp-terms__toggle img {
  display: block;
  flex: 0 0 1.75em;
  width: 1.75em;
  height: 1.75em;
}

/* The text inset follows the white panel width at both PC and SP sizes. */
.gp-terms .gp-terms__content {
  padding: 0 5.9% 2.3em;
  font-size: .73em;
  font-weight: 400;
  line-height: 1.55;
  text-align: left;
  overflow-wrap: anywhere;
}

.gp-terms .gp-terms__content h3 {
  margin: 1.5em 0 .85em;
  font-size: 1.25em;
  font-weight: 700;
  text-align: center;
}

.gp-terms .gp-terms__content h3:first-child {
  margin-top: .55em;
}

.gp-terms .gp-terms__content p {
  margin: 0;
}

.gp-terms .gp-terms__numbered,
.gp-terms .gp-terms__bullets {
  margin: 0;
  padding: 0;
  list-style: none;
}

.gp-terms .gp-terms__numbered {
  counter-reset: terms-step;
}

.gp-terms .gp-terms__numbered > li,
.gp-terms .gp-terms__bullets > li {
  position: relative;
  margin: 0;
  padding: 0 0 0 1.5em;
}

.gp-terms .gp-terms__numbered > li {
  counter-increment: terms-step;
}

.gp-terms .gp-terms__numbered > li::before {
  content: counter(terms-step) ")";
  position: absolute;
  left: 0;
  top: 0;
}

.gp-terms .gp-terms__bullets > li::before {
  content: "・";
  position: absolute;
  left: 0;
  top: 0;
  width: 1.5em;
  text-align: center;
}

/* Hanging indent keeps wrapped note lines aligned after the note mark. */
.gp-terms .gp-terms__content .gp-terms__note {
  padding-left: 1em;
  text-indent: -1em;
}

.gp-terms .gp-terms__content .gp-terms__links {
  margin: 0;
  padding-left: 1.5em;
}

.gp-terms .gp-terms__link,
.gp-terms .gp-terms__link:visited {
  display: block;
  color: #5aa8e6;
  font-weight: 400;
  text-decoration: none;
}

.gp-terms .gp-terms__link:hover,
.gp-terms .gp-terms__link:focus-visible {
  color: #88c7f9;
  font-weight: 400;
  text-decoration: none;
}

.gp-terms__content[hidden] {
  display: none;
}

.gp-terms__toggle:focus-visible {
  outline: 2px solid #1684c5;
  outline-offset: -4px;
}

@media screen and (max-width: 749px) {
  .gp-terms {
    font-size: min(3.2vw, 24px);
  }

  .gp-terms__toggle {
    min-height: 4.8em;
    font-size: 1.2em;
  }

  .gp-terms .gp-terms__content {
    font-size: .88em;
  }
}

/* SP: enlarge live text without scaling the image and button containers. */
@media screen and (max-width: 749px) {
  .gp-campaign .gp-campaign__period > p,
  .gp-campaign .gp-campaign__section > p:not(.gp-campaign__stamp-note) {
    font-size: 1.2em;
  }

  .gp-campaign .gp-campaign__heading {
    font-size: 1.44em;
  }

  .gp-campaign .gp-campaign__notes {
    font-size: 0.96em;
  }

  .gp-campaign .gp-campaign__schedule {
    font-size: 1.02em;
  }

  .gp-campaign .gp-campaign__step-title > span {
    font-size: 1.2em;
  }

  .gp-campaign figcaption {
    font-size: 0.72em;
  }

  .gp-campaign .gp-campaign__stamp-note {
    font-size: 0.84em;
  }

  .gp-campaign .gp-campaign__receive figcaption {
    position: static;
    width: 100%;
    margin-top: .4em;
  }

  .gp-campaign .gp-campaign__download-title {
    font-size: 1.2em;
  }

  .gp-campaign .gp-campaign__download-title span {
    flex: 0 1 auto;
    min-width: 0;
  }

  .gp-campaign .gp-campaign__download-title::before,
  .gp-campaign .gp-campaign__download-title::after {
    flex: 0 0 1.25em;
  }

  .gp-gemini .gp-gemini__subtitle {
    font-size: 1.1em;
    white-space: nowrap;
  }

  .gp-gemini .gp-gemini__description {
    font-size: 0.9em;
  }

  .gp-gemini .gp-gemini__offers-title {
    font-size: 1.2em;
  }

  .gp-gemini .gp-gemini__item-title {
    font-size: 1.1496em;
  }

  .gp-gemini .gp-gemini__note {
    font-size: 0.8004em;
  }

  .gp-gemini .gp-gemini__number {
    font-size: 1.8996em;
  }

  .gp-gemini .gp-gemini__item-title br {
    display: none;
  }
}

/* Full-width campaign image */
.gp-campaign .gp-campaign__hero {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  margin: 0;
}

/* Hashtag campaign */
.gp-hashtag {
  box-sizing: border-box;
  width: 100%;
  padding: 1.833em 1.375em 1.25em;
  background: #00994f;
  color: #111;
  font-family: "Noto Sans Japanese", "Noto Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
  font-size: min(3.2vw, 24px);
  line-height: 1.5;
  text-align: left;
  overflow-wrap: anywhere;
}

.gp-hashtag *,
.gp-hashtag *::before,
.gp-hashtag *::after {
  box-sizing: border-box;
}

.gp-hashtag h2,
.gp-hashtag h3,
.gp-hashtag h4,
.gp-hashtag p,
.gp-hashtag ol,
.gp-hashtag ul {
  margin: 0;
  padding: 0;
}

.gp-hashtag img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  border: 0;
}

.gp-hashtag .gp-hashtag__hero {
  font-size: 1em;
  line-height: 1;
}

.gp-hashtag .gp-hashtag__prize {
  margin-top: 1.25em;
  padding: 1.167em 1.333em;
  border-radius: 1.2em;
  background: #fff;
}

.gp-hashtag .gp-hashtag__heading {
  margin-bottom: 1em;
  border-bottom: 1px solid #00994f;
  color: #00994f;
  font-size: 1.167em;
  font-weight: 700;
  line-height: 1.4;
}

.gp-hashtag .gp-hashtag__prize-note {
  margin-top: 1em;
  padding-left: 1em;
  font-size: .833em;
  text-indent: -1em;
  line-height: 1.5;
}

.gp-hashtag .gp-hashtag__copy {
  margin-top: 1.7em;
  padding-bottom: .3em;
  font-size: .7em;
  font-weight: 400;
  line-height: 1.55;
}

.gp-hashtag .gp-hashtag__copy h4 {
  margin: 1.5em 0 1em;
  font-size: 1.2em;
  font-weight: 700;
  text-align: center;
}

.gp-hashtag .gp-hashtag__copy ol {
  counter-reset: hashtag-item;
  list-style: none;
}

.gp-hashtag .gp-hashtag__copy ul {
  list-style: none;
}

.gp-hashtag .gp-hashtag__copy li {
  position: relative;
  margin: 0;
  padding-left: 1.5em;
}

.gp-hashtag .gp-hashtag__copy ol > li {
  counter-increment: hashtag-item;
}

.gp-hashtag .gp-hashtag__copy ol > li::before {
  content: counter(hashtag-item) ".";
  position: absolute;
  top: 0;
  left: 0;
}

.gp-hashtag .gp-hashtag__copy ul > li::before {
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
}

.gp-hashtag .gp-hashtag__copy li > ol {
  margin: .5em 0;
}

.gp-hashtag .gp-hashtag__copy p + ol {
  margin-top: .75em;
}

.gp-hashtag .gp-hashtag__copy .gp-hashtag__red {
  color: #f00;
}

.gp-hashtag .gp-hashtag__copy a,
.gp-hashtag .gp-hashtag__copy a:visited {
  color: #5aa8e6;
  font-weight: 400;
  text-decoration: none;
}

.gp-hashtag .gp-hashtag__copy a:hover {
  color: #88c7f9;
  text-decoration: none;
}

.gp-hashtag .gp-hashtag__copy[hidden] {
  display: none;
}

@media screen and (max-width: 749px) {
  .gp-hashtag .gp-hashtag__copy {
    font-size: .84em;
  }
}

/* Hashtag campaign: prize details and scroll-to-consent step */
.gp-hashtag .gp-hashtag__prize {
  padding: 1.667em 1.333em 1.5em;
}

.gp-hashtag .gp-hashtag__heading {
  margin-bottom: .8em;
  padding-bottom: .15em;
}

.gp-hashtag .gp-hashtag__period {
  margin: -.3em 0 1.25em;
  font-size: 1em;
}

.gp-hashtag .gp-hashtag__trademark {
  padding-left: 1em;
  text-indent: -1em;
  font-size: .833em;
}

.gp-hashtag .gp-hashtag__method {
  margin-top: 1.25em;
  padding: 1.833em 1.417em 0;
  border-radius: 1.2em;
  background: #eff8df;
}

.gp-hashtag .gp-hashtag__step {
  margin: 1.9em 0 1.1em;
  font-size: 1em;
  line-height: 1.5;
}

.gp-hashtag .gp-hashtag__step img {
  width: 4.375em;
  margin: 0 0 .4em .25em;
}

.gp-hashtag .gp-hashtag__notice {
  margin: 0 0 1.333em;
  border: 2px solid #f00;
  background: #fff;
  color: #f00;
  font-size: .833em;
  font-weight: 700;
}

.gp-hashtag .gp-hashtag__notice h4 {
  padding: .2em;
  background: #f00;
  color: #fff;
  font-size: 1em;
  text-align: center;
}

.gp-hashtag .gp-hashtag__notice p {
  padding: 1em 2.3em;
  line-height: 1.5;
}

.gp-hashtag .gp-hashtag__viewport {
  height: 23.125em;
  margin-top: 1.333em;
  padding: 1.5em 1.2em;
  overflow-y: scroll;
  overscroll-behavior-y: contain;
  scrollbar-gutter: stable;
  scrollbar-width: thin;
  scrollbar-color: #d8d8d8 #fff;
  border: 1px solid #999;
  background: #fff;
}

.gp-hashtag .gp-hashtag__viewport > h4 {
  margin: .1em 0 1.4em;
  font-size: 1.083em;
  text-align: center;
}

.gp-hashtag .gp-hashtag__viewport .gp-hashtag__copy {
  margin: 0;
  padding: 0;
  font-size: .833em;
  line-height: 1.4;
}

.gp-hashtag .gp-hashtag__copy h4 {
  margin: 2.5em 0 1em;
  font-size: 1.1em;
}

.gp-hashtag .gp-hashtag__consent {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .35em;
  margin-top: 1em;
  color: #f00;
  font-size: 1.5em;
  font-weight: 700;
}

.gp-hashtag .gp-hashtag__consent input {
  width: 1em;
  height: 1em;
  margin: 0;
  accent-color: #f00;
  font-size: inherit;
}

.gp-hashtag .gp-hashtag__consent input:disabled {
  cursor: not-allowed;
}

.gp-hashtag .gp-hashtag__consent-note {
  margin: 1.15em 0 1.25em;
  color: #f00;
  font-size: .833em;
  line-height: 1.6;
  text-align: center;
}

.gp-hashtag .gp-hashtag__consent-note img {
  display: inline-block;
  width: 1.15em;
  vertical-align: -.15em;
}

.gp-hashtag .gp-hashtag__gem {
  display: block;
  width: 95%;
  margin: 0 auto;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: transparent;
  cursor: pointer;
}

.gp-hashtag .gp-hashtag__gem:disabled {
  cursor: not-allowed;
}

.gp-hashtag .gp-hashtag__gem:not(:disabled):hover {
  opacity: .8;
}

.gp-hashtag .gp-hashtag__arrow {
  width: 3.458em;
  margin: 1.5em auto 0;
}

.gp-hashtag .gp-hashtag__sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

/* Image generation and X posting: Steps 2 and 3 */
.gp-hashtag .gp-hashtag__next-step {
  margin-top: .667em;
}

.gp-hashtag .gp-hashtag__next-step .gp-hashtag__step {
  margin: 0 0 .25em;
}

.gp-hashtag .gp-hashtag__conversation {
  width: 95%;
  margin: .25em auto .667em;
}

.gp-hashtag .gp-hashtag__step-warning {
  padding-left: 1em;
  color: #f00;
  font-size: .833em;
  line-height: 1.4;
  text-indent: -1em;
}

.gp-hashtag .gp-hashtag__post {
  padding-bottom: 1.667em;
}

.gp-hashtag .gp-hashtag__post-image {
  width: 94%;
  margin: 1em auto .75em;
}

.gp-hashtag .gp-hashtag__requirements {
  width: 94%;
  margin: 0 auto;
  overflow: hidden;
  border: 2px solid #008e49;
  border-radius: .833em;
  background: #fff;
  color: #00994f;
}

.gp-hashtag .gp-hashtag__requirements header {
  padding: .25em .5em .333em;
  background: #008e49;
  color: #fff;
  text-align: center;
}

.gp-hashtag .gp-hashtag__requirements h5 {
  margin: 0;
  padding: 0;
  font-size: .917em;
  font-weight: 700;
  line-height: 1.5;
}

.gp-hashtag .gp-hashtag__requirements header p {
  font-size: .75em;
  line-height: 1.5;
}

.gp-hashtag .gp-hashtag__requirements ol {
  margin: 0;
  padding: .25em .917em;
  list-style: none;
}

.gp-hashtag .gp-hashtag__requirements li {
  display: flex;
  align-items: flex-start;
  gap: .25em;
  margin: 0;
  padding: .625em 0;
  border-bottom: 1px solid #00994f;
  font-size: .833em;
  line-height: 1.5;
}

.gp-hashtag .gp-hashtag__requirements li:last-child {
  border-bottom: 0;
}

.gp-hashtag .gp-hashtag__requirements li > img {
  flex: 0 0 1.55em;
  width: 1.55em;
}

.gp-hashtag .gp-hashtag__requirements li > div {
  min-width: 0;
}

.gp-hashtag .gp-hashtag__requirements strong {
  font-weight: 700;
}

.gp-hashtag .gp-hashtag__post-description {
  width: 94%;
  margin: 1em auto .5em;
  font-size: .917em;
  line-height: 1.55;
}

.gp-hashtag .gp-hashtag__post-note {
  width: 94%;
  margin: 0 auto;
  padding-left: 1em;
  font-size: .75em;
  font-weight: 700;
  line-height: 1.6;
  text-indent: -1em;
}

/* Explicit text colors for the four required posting items. */
.gp-hashtag .gp-hashtag__requirements ol,
.gp-hashtag .gp-hashtag__requirements li,
.gp-hashtag .gp-hashtag__requirements li > div,
.gp-hashtag .gp-hashtag__requirements li strong,
.gp-hashtag .gp-hashtag__requirements li p {
  color: #00994f;
}

/* Thirty recipe ingredients: three columns on PC and SP. */
.gp-hashtag .gp-hashtag__products {
  margin-top: 1.25em;
  padding: 1.667em 1.333em;
  border-radius: 0 0 1.2em 1.2em;
  background: #fff;
  color: #111;
}

.gp-hashtag .gp-hashtag__products > h3 {
  margin: 0 0 2.499em;
  padding: 0;
  font-size: 1em;
  line-height: 1;
}

.gp-hashtag .gp-hashtag__product-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: 1.5em;
  row-gap: .75em;
  margin: 0;
  padding: 0;
  list-style: none;
}

.gp-hashtag .gp-hashtag__product {
  min-width: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  text-align: center;
}

.gp-hashtag .gp-hashtag__product > img {
  display: block;
  width: 100%;
  height: auto;
}

.gp-hashtag .gp-hashtag__product > p {
  margin: 7.5px 0 0;
  padding: 0;
  color: #111;
  font-size: .7em;
  font-weight: 700;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.gp-hashtag .gp-hashtag__products-notes {
  margin-top: 2.5em;
  font-size: .75em;
  line-height: 1.5;
}

.gp-hashtag .gp-hashtag__products-notes p {
  margin: 0;
  padding-left: 1em;
  color: #111;
  text-indent: -1em;
}

/* Tasting event and Google Japan office tour */
.gp-tour,
.gp-social {
  box-sizing: border-box;
  width: 100%;
  font-family: "Noto Sans Japanese", "Noto Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
  font-size: min(3.2vw, 24px);
  line-height: 1.5;
}

.gp-tour {
  padding: 0 0 1.75em;
  background: #f4bd00;
  color: #000;
  text-align: left;
}

.gp-tour *,
.gp-social * {
  box-sizing: border-box;
}

.gp-tour h2,
.gp-tour h3,
.gp-tour h4,
.gp-tour p {
  margin: 0;
  padding: 0;
  color: inherit;
}

.gp-tour img,
.gp-social img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  border: 0;
}

.gp-tour .gp-tour__hero {
  font-size: 1em;
  line-height: 1;
}

.gp-tour .gp-tour__panel {
  margin: 0 1.375em;
  padding: 1.5em 1.417em 1.875em;
  border-radius: 1.167em;
  background: #fff;
}

.gp-tour .gp-tour__intro {
  margin: 0 .6em 2em;
  font-size: .75em;
  line-height: 1.6;
}

.gp-tour .gp-tour__detail {
  margin-top: 1.417em;
}

.gp-tour .gp-tour__detail h3 {
  margin-bottom: .35em;
  padding-bottom: .1em;
  border-bottom: 2px solid #f4bd00;
  color: #ff6800;
  font-size: 1.167em;
  font-weight: 700;
}

.gp-tour .gp-tour__detail p {
  font-size: 1em;
}

.gp-tour .gp-tour__guest {
  margin-top: .917em;
  overflow: hidden;
  border: .208em solid #f4bd00;
  border-radius: 1.25em;
  background: repeating-linear-gradient(135deg, #fff 0, #fff 4px, #fbf5dc 4px, #fbf5dc 8px);
}

.gp-tour .gp-tour__guest > h3 {
  padding: .15em .4em;
  background: #f4bd00;
  color: #fff;
  font-size: 1.167em;
  font-weight: 700;
  text-align: center;
}

.gp-tour .gp-tour__guest-body {
  display: flex;
  align-items: center;
  gap: 1em;
  padding: .542em 1.458em .792em;
}

.gp-tour .gp-tour__guest-body > img {
  flex: 0 0 33.8%;
  width: 33.8%;
}

.gp-tour .gp-tour__guest-body > div {
  flex: 1;
  min-width: 0;
}

.gp-tour .gp-tour__guest-body h4 {
  margin-bottom: .2em;
  font-size: 1em;
  font-weight: 700;
}

.gp-tour .gp-tour__guest-body p {
  font-size: .833em;
  line-height: 1.4;
}

.gp-tour .gp-tour__entry {
  display: block;
  margin-top: 1.875em;
  border-radius: 999px;
}

.gp-tour .gp-tour__entry:hover,
.gp-social a:hover {
  opacity: .8;
}

.gp-tour .gp-tour__entry:focus-visible,
.gp-social a:focus-visible {
  outline: 2px solid #0068b7;
  outline-offset: 4px;
}

.gp-tour .gp-tour__trademark {
  margin-top: 1.5em;
  padding-left: 1em;
  font-size: .75em;
  text-indent: -1em;
}

.gp-social {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.083em;
  padding: 2.167em 1em 2.25em;
  background: #fff;
}

.gp-social > a {
  display: block;
  width: 4.792em;
}

/* PC-only SNS button sizing; SP retains its original size. */
@media screen and (min-width: 750px) {
  .gp-social > a {
    width: 3.3544em;
  }
}

/* Revisions from the September 16 review. */
.gp-terms .gp-terms__content .gp-terms__note--important,
.gp-terms .gp-terms__content .gp-terms__note--important strong {
  color: #f00;
  font-weight: 700;
}

.gp-hashtag .gp-hashtag__consent input {
  flex-shrink: 0;
}

.gp-hashtag .gp-hashtag__login-note {
  margin: 0 0 1.25em;
  padding-left: 0;
  color: #f00;
  font-size: .833em;
  line-height: 1.5;
  text-align: center;
  text-indent: 0;
}

.gp-tour .gp-tour__eligibility {
  margin: 0 2.792em 1em;
}

.gp-tour .gp-tour__eligibility p {
  padding-left: 1em;
  color: #000;
  font-size: .75em;
  font-weight: 700;
  line-height: 1.5;
  text-indent: -1em;
}

.gp-tour .gp-tour__detail .gp-tour__event-note {
  margin-top: .75em;
  padding-left: 1em;
  font-size: .75em;
  line-height: 1.5;
  text-indent: -1em;
}

/* Additional review: membership heading and eligibility notes. */
.gp-campaign .gp-campaign__members {
  display: block;
  text-align: center;
}

.gp-campaign .gp-campaign__prizes > .gp-campaign__ai-age-note {
  margin: .25em 0 2em;
  padding-left: 1em;
  color: #f00;
  font-size: .8em;
  font-weight: 700;
  line-height: 1.5;
  text-indent: -1em;
}

.gp-campaign .gp-campaign__ai-age-note strong {
  color: #f00;
  font-weight: 700;
}

.gp-terms .gp-terms__content .gp-terms__transfer-exception {
  color: inherit;
  font-weight: 700;
}

.gp-hashtag .gp-hashtag__additional-prize-note {
  margin: .5em 0 0;
  padding-left: 1em;
  color: #111;
  font-size: .833em;
  line-height: 1.5;
  text-indent: -1em;
}

/* September 17 review: award announcement and campaign inquiries. */
.gp-hashtag .gp-hashtag__award {
  margin-top: 1.5em;
  padding-bottom: 1.5em;
}
.gp-hashtag .gp-hashtag__award h4 {
  margin: 1em 0 .3em;
  font-size: .917em;
  font-weight: 700;
}
.gp-hashtag .gp-hashtag__award p {
  padding-left: 1em;
  font-size: .833em;
  line-height: 1.6;
  text-indent: -1em;
}
.gp-contact {
  padding: 2em 0 1px;
  background: #fff;
}
.gp-contact .acc-title2 {
  box-sizing: border-box;
  width: calc(100% - min(8.8vw, 66px));
  margin: 0 auto 3vh;
  padding: 2%;
  background-color: #599edf;
  color: #fff;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  text-align: center;
}
.gp-contact .chat {
  width: 80%;
  margin: 0 auto 3vh;
}
.gp-contact .chat a,
.gp-contact .chat img {
  display: block;
}
.gp-contact .chat img {
  width: 100%;
  height: auto;
}
.gp-contact .chat a:hover {
  opacity: .8;
}
.gp-contact .chat a:focus-visible {
  outline: 2px solid #0068b7;
  outline-offset: 4px;
}
@media screen and (min-width: 750px) {
  .gp-contact .acc-title2 {
    font-size: 1.4rem;
    margin-bottom: 5vh;
  }
  .gp-contact .chat {
    width: 70%;
    margin-bottom: 1vh;
  }
}

/* The supplied rules use black text throughout. */
.gp-hashtag #gp-hashtag-terms,
.gp-hashtag #gp-hashtag-terms * {
  color: #000;
}

/* Circled subitem numbers in Article 6. */
.gp-hashtag .gp-hashtag__copy ol.gp-hashtag__circled {
  counter-reset: hashtag-circled;
}
.gp-hashtag .gp-hashtag__copy ol.gp-hashtag__circled > li {
  counter-increment: hashtag-circled;
}
.gp-hashtag .gp-hashtag__copy ol.gp-hashtag__circled > li::before {
  content: "①";
}
.gp-hashtag .gp-hashtag__copy ol.gp-hashtag__circled > li:nth-child(2)::before {
  content: "②";
}
.gp-hashtag .gp-hashtag__copy ol.gp-hashtag__circled > li:nth-child(3)::before {
  content: "③";
}
.gp-hashtag .gp-hashtag__copy ol.gp-hashtag__circled > li:nth-child(4)::before {
  content: "④";
}

/* Google terms link matches the campaign terms links. */
.gp-hashtag #gp-hashtag-terms .gp-hashtag__copy a,
.gp-hashtag #gp-hashtag-terms .gp-hashtag__copy a:visited {
  color: #5aa8e6;
  font-weight: 400;
  text-decoration: none;
}
.gp-hashtag #gp-hashtag-terms .gp-hashtag__copy a:hover {
  color: #88c7f9;
  text-decoration: underline;
}
.gp-hashtag .gp-hashtag__copy ol.gp-hashtag__circled > li:nth-child(5)::before {
  content: "⑤";
}
.gp-hashtag .gp-hashtag__copy ol.gp-hashtag__circled > li:nth-child(6)::before {
  content: "⑥";
}
.gp-hashtag .gp-hashtag__copy ol.gp-hashtag__circled > li:nth-child(7)::before {
  content: "⑦";
}
.gp-hashtag .gp-hashtag__copy ol.gp-hashtag__circled > li:nth-child(8)::before {
  content: "⑧";
}
.gp-hashtag .gp-hashtag__copy ol.gp-hashtag__circled > li:nth-child(9)::before {
  content: "⑨";
}
.gp-hashtag .gp-hashtag__copy ol.gp-hashtag__circled > li:nth-child(10)::before {
  content: "⑩";
}
