@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Roboto:ital,wght@0,100..900;1,100..900&family=Zen+Maru+Gothic&display=swap");
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  vertical-align: baseline; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after, q:before, q:after {
  content: '';
  content: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

/* ===================================================================

setting

=================================================================== */
html {
  font-size: 62.5%;
  background-color: #ffffff; }

body {
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
  font-family: "Roboto" , 'Noto Sans JP' , "Zen Maru Gothic" , YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
  text-align: center;
  background-color: #ffffff;
  line-height: 1;
  position: relative;
  font-feature-settings: "palt";
  text-align: justify;
  word-wrap: break-word;
  overflow-wrap: anywhere;
  word-break: break-word; }

* {
  box-sizing: border-box; }

a {
  color: #333333;
  text-decoration: none; }
  a:active, a:hover {
    outline: 0; }

a,
a img,
button,
input[type="submit"] {
  transition: all linear 0.25s; }
  a:hover,
  a img:hover,
  button:hover,
  input[type="submit"]:hover {
    cursor: pointer; }

img {
  vertical-align: middle;
  max-width: 100%;
  height: auto; }

figure {
  margin: 0; }

@-webkit-viewport {
  width: device-width; }
@-moz-viewport {
  width: device-width; }
@-ms-viewport {
  width: device-width; }
@-o-viewport {
  width: device-width; }
@viewport {
  width: device-width; }
h1, h2, h3, h4, h5, h6 {
  font-weight: normal; }

.videoclip {
  position: relative;
  padding-top: 56.25%; }
  .videoclip iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important; }

body {
  letter-spacing: .15em;
  line-height: 2;
  font-size: 16px;
  font-size: 1.6rem;
  opacity: 0;
  transition: opacity 0.5s ease-in-out; }
  @media screen and (max-width: 640px) {
    body {
      font-size: 3.2vw;
      line-height: 1.8; } }
  body.loaded {
    opacity: 1; }

.container {
  width: 100%; }

.inner {
  width: 750px;
  margin: 0 auto; }
  @media screen and (max-width: 640px) {
    .inner {
      width: 100%; } }

header {
  background: url("../img/mvbg.jpg") no-repeat center center;
  background-size: cover; }
  header h1 {
    max-width: 750px;
    margin: auto;
    padding: 2em 0; }

main .campaign-intro {
  background: #fff100;
  padding: 3em;
  text-align: center;
  font-family: "Zen Maru Gothic", sans-serif;
  margin: 0 auto 0; }
  @media screen and (max-width: 640px) {
    main .campaign-intro {
      padding: 1em; } }
  main .campaign-intro .campaign-teaser {
    margin: 0 auto 2em; }
    @media screen and (max-width: 640px) {
      main .campaign-intro .campaign-teaser {
        margin: 0 auto 1em; } }
    main .campaign-intro .campaign-teaser .campaign-teaser__lead {
      font-weight: bold;
      font-size: 2rem;
      margin: 0 auto 1.5em; }
      @media screen and (max-width: 640px) {
        main .campaign-intro .campaign-teaser .campaign-teaser__lead {
          font-size: 3.8vw;
          letter-spacing: .05em; } }
      main .campaign-intro .campaign-teaser .campaign-teaser__lead::before {
        content: "\f071";
        font-family: "Font Awesome 5 Free";
        font-size: 3em;
        font-weight: 900;
        line-height: 1;
        opacity: 1;
        color: #005124;
        display: block;
        margin: 0 auto .25em; }
        @media screen and (max-width: 640px) {
          main .campaign-intro .campaign-teaser .campaign-teaser__lead::before {
            margin: 0 auto .25em; } }
    main .campaign-intro .campaign-teaser .campaign-teaser__period {
      font-size: 1.8rem; }
      @media screen and (max-width: 640px) {
        main .campaign-intro .campaign-teaser .campaign-teaser__period {
          font-size: 3.2vw;
          letter-spacing: .05em; } }
      main .campaign-intro .campaign-teaser .campaign-teaser__period .campaign-teaser__period-title {
        font-weight: bold;
        color: #005124; }
      main .campaign-intro .campaign-teaser .campaign-teaser__period .campaign-teaser__period-text {
        font-weight: bold; }
  main .campaign-intro .campaign-closed {
    margin: 0 auto 2em; }
    @media screen and (max-width: 640px) {
      main .campaign-intro .campaign-closed {
        margin: 0 auto 1em; } }
    main .campaign-intro .campaign-closed .campaign-closed__lead {
      font-weight: bold;
      font-size: 2rem;
      margin: 0 auto 1.5em; }
      @media screen and (max-width: 640px) {
        main .campaign-intro .campaign-closed .campaign-closed__lead {
          font-size: 3.8vw;
          letter-spacing: .05em; } }
      main .campaign-intro .campaign-closed .campaign-closed__lead::before {
        content: "\f071";
        font-family: "Font Awesome 5 Free";
        font-size: 3em;
        font-weight: 900;
        line-height: 1;
        opacity: 1;
        color: #005124;
        display: block;
        margin: 0 auto .25em; }
        @media screen and (max-width: 640px) {
          main .campaign-intro .campaign-closed .campaign-closed__lead::before {
            margin: 0 auto .25em; } }
    main .campaign-intro .campaign-closed .campaign-closed__text {
      font-size: 1.8rem;
      margin: 0 auto 1.5em; }
      @media screen and (max-width: 640px) {
        main .campaign-intro .campaign-closed .campaign-closed__text {
          font-size: 3.8vw;
          letter-spacing: .05em; } }
    main .campaign-intro .campaign-closed .campaign-closed__period {
      background: #FFF;
      padding: 1.5em;
      border-radius: 1.5em;
      font-size: 1.8rem; }
      @media screen and (max-width: 640px) {
        main .campaign-intro .campaign-closed .campaign-closed__period {
          font-size: 3.2vw;
          letter-spacing: .05em; } }
      main .campaign-intro .campaign-closed .campaign-closed__period .campaign-closed__period-title {
        font-weight: bold;
        color: #005124; }
      main .campaign-intro .campaign-closed .campaign-closed__period .campaign-closed__period-text {
        font-weight: bold; }
  main .campaign-intro h2.campaign-intro__title {
    font-size: 3.2rem;
    font-weight: bold;
    margin-bottom: 1em;
    line-height: 1.5; }
    @media screen and (max-width: 640px) {
      main .campaign-intro h2.campaign-intro__title {
        font-size: 4.8vw; } }
    main .campaign-intro h2.campaign-intro__title::before {
      content: '';
      background: url("../img/icon_brother.svg") no-repeat center center;
      background-size: contain;
      width: calc( 134 / 750 * 100% );
      aspect-ratio: 134 / 134;
      height: auto;
      display: block;
      margin: 0 auto .5em; }
      @media screen and (max-width: 640px) {
        main .campaign-intro h2.campaign-intro__title::before {
          width: calc( 134 / 750 * 150% );
          margin-bottom: 0; } }
  main .campaign-intro .campaign-intro__movie {
    max-width: 960px;
    margin: 0 auto 3em; }
    main .campaign-intro .campaign-intro__movie .movie-wrap {
      position: relative;
      width: 100%;
      aspect-ratio: 16 / 9;
      background: #000;
      overflow: hidden; }
      main .campaign-intro .campaign-intro__movie .movie-wrap iframe {
        width: 100%;
        height: 100%;
        border: 0;
        display: block; }
  main .campaign-intro .campaign-intro__lead {
    font-size: 1.8rem;
    font-weight: bold;
    margin-bottom: 3em; }
    @media screen and (max-width: 640px) {
      main .campaign-intro .campaign-intro__lead {
        font-size: 3.6vw; } }
  @media screen and (max-width: 640px) and (max-width: 640px) {
    main .campaign-intro .campaign-intro__lead {
      margin-bottom: 2em; } }

    main .campaign-intro .campaign-intro__lead span {
      padding: .2em .5em;
      color: #fff100;
      line-height: 1; }
      main .campaign-intro .campaign-intro__lead span.label-open {
        background: #005124; }
      main .campaign-intro .campaign-intro__lead span.label-mustbuy {
        background: #8d7000; }
  main .campaign-intro .campaign-intro__label {
    background: #FFF;
    border-radius: 1.5em;
    padding: 2em;
    margin: 0 auto 2em; }
    @media screen and (max-width: 640px) {
      main .campaign-intro .campaign-intro__label {
        padding: 2em 1em; } }
    main .campaign-intro .campaign-intro__label .campaign-intro__label-image {
      width: calc( 252 / 750 * 100% );
      margin: 0 auto 1em; }
      @media screen and (max-width: 640px) {
        main .campaign-intro .campaign-intro__label .campaign-intro__label-image {
          width: calc( 252 / 750 * 150% ); } }
    main .campaign-intro .campaign-intro__label p {
      margin: 0 auto 1em;
      font-weight: bold; }
      main .campaign-intro .campaign-intro__label p.campaign-intro__note {
        font-family: "Roboto" , 'Noto Sans JP' , "Zen Maru Gothic" , YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
        font-size: 1.4rem;
        font-weight: 300;
        line-height: 1.5; }
        @media screen and (max-width: 640px) {
          main .campaign-intro .campaign-intro__label p.campaign-intro__note {
            font-size: 3.2vw; } }
      main .campaign-intro .campaign-intro__label p:last-of-type {
        margin-bottom: 0; }
  main .campaign-intro .campaign-intro__links {
    display: flex;
    justify-content: center;
    gap: 1em; }
    @media screen and (max-width: 640px) {
      main .campaign-intro .campaign-intro__links {
        gap: .5em; } }
    main .campaign-intro .campaign-intro__links .campaign-intro__link-item {
      width: calc( calc( 100% - .5em ) / 2 ); }
      main .campaign-intro .campaign-intro__links .campaign-intro__link-item .campaign-intro__link {
        padding: 1.5em;
        color: #FFF;
        display: block;
        font-size: 2rem;
        line-height: 1.25;
        border-radius: 1.5em; }
        @media screen and (max-width: 640px) {
          main .campaign-intro .campaign-intro__links .campaign-intro__link-item .campaign-intro__link {
            padding: 1em;
            font-size: 3.8vw; } }
        main .campaign-intro .campaign-intro__links .campaign-intro__link-item .campaign-intro__link::after {
          content: "\f0ab";
          font-family: "Font Awesome 5 Free";
          font-weight: 900;
          line-height: 1;
          opacity: 1;
          color: #fff100;
          display: block;
          margin-top: .5em; }
        main .campaign-intro .campaign-intro__links .campaign-intro__link-item .campaign-intro__link:hover {
          opacity: .7; }
      main .campaign-intro .campaign-intro__links .campaign-intro__link-item .campaign-intro__link--open {
        background: #005124; }
      main .campaign-intro .campaign-intro__links .campaign-intro__link-item .campaign-intro__link--mustbuy {
        background: #8d7000; }
      main .campaign-intro .campaign-intro__links .campaign-intro__link-item span {
        font-size: .7em;
        display: block; }
main .campaign-open {
  margin: 4em auto 4em;
  text-align: center;
  color: #333333; }
  main .campaign-open .wrapper {
    background: #005124;
    padding: 3em; }
    @media screen and (max-width: 640px) {
      main .campaign-open .wrapper {
        padding: 1em; } }
  main .campaign-open h2.campaign__heading {
    font-size: 3.2rem;
    max-width: 750px;
    margin: 0 auto 1em;
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: bold;
    color: #005124;
    line-height: 1; }
    @media screen and (max-width: 640px) {
      main .campaign-open h2.campaign__heading {
        font-size: 5.4vw; } }
    main .campaign-open h2.campaign__heading::before {
      content: '';
      background: url("../img/icon_banana.png") no-repeat center center;
      display: block;
      max-width: 57px;
      width: calc( 57 * 100% / 750 );
      aspect-ratio: 57 / 44;
      height: auto;
      background-size: contain;
      margin: 0 auto .5em; }
      @media screen and (max-width: 640px) {
        main .campaign-open h2.campaign__heading::before {
          width: calc( 57 * 140% / 750 ); } }
  main .campaign-open .campaign__inner {
    background: url("../img/background.jpg");
    border-radius: 1.5em;
    max-width: calc( 750px - 2em );
    margin: auto;
    padding: 2em; }
    @media screen and (max-width: 640px) {
      main .campaign-open .campaign__inner {
        padding: 1em; } }
    main .campaign-open .campaign__inner h3.campaign__title {
      width: calc( 337 * 100% / 750 );
      margin: 0 auto .5em; }
      @media screen and (max-width: 640px) {
        main .campaign-open .campaign__inner h3.campaign__title {
          width: calc( 337 * 140% / 750 ); } }
    main .campaign-open .campaign__inner .campaign__lead {
      margin: 0 auto 3em; }
      @media screen and (max-width: 640px) {
        main .campaign-open .campaign__inner .campaign__lead {
          margin-bottom: 1em; } }
    main .campaign-open .campaign__inner ul.campaign-items {
      display: flex;
      justify-content: space-between;
      margin: 0 auto 2em; }
      main .campaign-open .campaign__inner ul.campaign-items li.campaign-item {
        width: calc( calc( 100% - 2em ) / 3 ); }
        @media screen and (max-width: 640px) {
          main .campaign-open .campaign__inner ul.campaign-items li.campaign-item {
            width: calc( calc( 100% - 1.5em ) / 3 ); } }
        main .campaign-open .campaign__inner ul.campaign-items li.campaign-item .campaign-item__card {
          display: flex;
          flex-direction: column;
          height: 100%; }
          main .campaign-open .campaign__inner ul.campaign-items li.campaign-item .campaign-item__card h4.campaign-item__title {
            font-family: "Zen Maru Gothic", sans-serif;
            font-weight: bold;
            color: #005124; }
          main .campaign-open .campaign__inner ul.campaign-items li.campaign-item .campaign-item__card .campaign-item__figure {
            margin: 0 auto 1em; }
            main .campaign-open .campaign__inner ul.campaign-items li.campaign-item .campaign-item__card .campaign-item__figure .campaign-item__caption {
              font-size: 1.3rem;
              line-height: 1.25;
              text-align: justify;
              margin-top: 1em; }
              @media screen and (max-width: 640px) {
                main .campaign-open .campaign__inner ul.campaign-items li.campaign-item .campaign-item__card .campaign-item__figure .campaign-item__caption {
                  letter-spacing: 0;
                  font-size: 3vw; } }
          main .campaign-open .campaign__inner ul.campaign-items li.campaign-item .campaign-item__card a.campaign-item__entry {
            display: block;
            background: #005124;
            border-radius: 1.5em;
            padding: 1em;
            font-family: "Zen Maru Gothic", sans-serif;
            font-weight: bold;
            color: #FFF;
            line-height: 1.5;
            margin-top: auto; }
            main .campaign-open .campaign__inner ul.campaign-items li.campaign-item .campaign-item__card a.campaign-item__entry span {
              color: #fff100;
              display: block; }
            main .campaign-open .campaign__inner ul.campaign-items li.campaign-item .campaign-item__card a.campaign-item__entry:hover {
              background: #fff100;
              color: #005124; }
              main .campaign-open .campaign__inner ul.campaign-items li.campaign-item .campaign-item__card a.campaign-item__entry:hover span {
                color: #005124; }
            main .campaign-open .campaign__inner ul.campaign-items li.campaign-item .campaign-item__card a.campaign-item__entry::after {
              display: none; }
    main .campaign-open .campaign__inner p.campaign__note {
      margin-bottom: 3em; }
    main .campaign-open .campaign__inner div.campaign-info {
      margin-bottom: 4em; }
      @media screen and (max-width: 640px) {
        main .campaign-open .campaign__inner div.campaign-info {
          margin-bottom: 2em; } }
      main .campaign-open .campaign__inner div.campaign-info h4.campaign-period__title, main .campaign-open .campaign__inner div.campaign-info h4.campaign-notes__title {
        position: relative;
        z-index: 1;
        max-width: 750px;
        margin: 0 auto 1em;
        padding: 0.6em 0;
        font-family: "Zen Maru Gothic", sans-serif;
        font-weight: bold;
        color: #005124;
        text-align: center; }
        main .campaign-open .campaign__inner div.campaign-info h4.campaign-period__title::before, main .campaign-open .campaign__inner div.campaign-info h4.campaign-notes__title::before {
          content: '';
          position: absolute;
          z-index: -1;
          background: url("../img/common_titlebg.png") no-repeat center center;
          max-width: 181px;
          width: calc( 181 * 100% / 750 );
          aspect-ratio: 181 / 47;
          height: auto;
          background-size: contain;
          position: absolute;
          margin: auto;
          left: 50%;
          top: 50%;
          transform: translate(-50%, -50%); }
    main .campaign-open .campaign__inner div.campaign-period .campaign-period__text {
      font-size: 2rem;
      font-weight: bold; }
    main .campaign-open .campaign__inner div.campaign-notes ul li, main .campaign-open .campaign__inner div.campaign-terms ul li {
      position: relative;
      padding-left: 1.2em; }
      main .campaign-open .campaign__inner div.campaign-notes ul li::before, main .campaign-open .campaign__inner div.campaign-terms ul li::before {
        content: '・';
        display: block;
        position: absolute;
        left: 0;
        top: 0; }
    main .campaign-open .campaign__inner div.campaign-notes ol, main .campaign-open .campaign__inner div.campaign-terms ol {
      counter-reset: item;
      padding-left: 1.2em; }
      main .campaign-open .campaign__inner div.campaign-notes ol li, main .campaign-open .campaign__inner div.campaign-terms ol li {
        position: relative;
        padding-left: 1.6em;
        counter-increment: item; }
        main .campaign-open .campaign__inner div.campaign-notes ol li::before, main .campaign-open .campaign__inner div.campaign-terms ol li::before {
          content: counter(item) ".";
          display: block;
          position: absolute;
          left: 0;
          top: 0; }
    main .campaign-open .campaign__inner div.campaign-notes ul.campaign-notes__list {
      text-align: justify;
      font-size: 1.4rem; }
      @media screen and (max-width: 640px) {
        main .campaign-open .campaign__inner div.campaign-notes ul.campaign-notes__list {
          font-size: 3.2vw; } }
      main .campaign-open .campaign__inner div.campaign-notes ul.campaign-notes__list li.campaign-notes__item {
        line-height: 1.25;
        margin-bottom: .5em; }
        main .campaign-open .campaign__inner div.campaign-notes ul.campaign-notes__list li.campaign-notes__item:last-of-type {
          margin-bottom: 0; }
    main .campaign-open .campaign__inner div.campaign-terms h4.campaign-terms__title {
      margin-bottom: .5em;
      font-family: "Zen Maru Gothic", sans-serif;
      font-weight: bold;
      color: #005124; }
    main .campaign-open .campaign__inner div.campaign-terms div.campaign-terms__inner {
      background: #FFF;
      border: 1px solid #cccccc;
      font-size: 1.4rem;
      text-align: justify;
      height: 20em;
      overflow: hidden; }
      @media screen and (max-width: 640px) {
        main .campaign-open .campaign__inner div.campaign-terms div.campaign-terms__inner {
          font-size: 3.2vw; } }
      main .campaign-open .campaign__inner div.campaign-terms div.campaign-terms__inner .campaign-terms__inner-scroll {
        height: 100%;
        padding: 2em;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch; }
        @media screen and (max-width: 640px) {
          main .campaign-open .campaign__inner div.campaign-terms div.campaign-terms__inner .campaign-terms__inner-scroll {
            padding: 1em; } }
      main .campaign-open .campaign__inner div.campaign-terms div.campaign-terms__inner a {
        color: #005124; }
      main .campaign-open .campaign__inner div.campaign-terms div.campaign-terms__inner p.campaign-terms__lead {
        line-height: 1.5;
        margin-bottom: 1em; }
      main .campaign-open .campaign__inner div.campaign-terms div.campaign-terms__inner h5.campaign-terms__heading {
        position: relative;
        z-index: 2;
        margin-bottom: 1em;
        font-family: "Zen Maru Gothic", sans-serif;
        font-weight: bold;
        color: #005124;
        padding-left: 1em; }
        @media screen and (max-width: 640px) {
          main .campaign-open .campaign__inner div.campaign-terms div.campaign-terms__inner h5.campaign-terms__heading {
            margin-bottom: .5em; } }
        main .campaign-open .campaign__inner div.campaign-terms div.campaign-terms__inner h5.campaign-terms__heading::before {
          content: '';
          position: absolute;
          z-index: -1;
          background: url("../img/icon_banana.png") no-repeat center center;
          max-width: 22px;
          width: calc( 22 * 100% / 750 );
          aspect-ratio: 57 / 44;
          height: auto;
          background-size: contain;
          position: absolute;
          margin: auto;
          left: 0;
          top: 50%;
          transform: translate(-50%, -50%); }
          @media screen and (max-width: 640px) {
            main .campaign-open .campaign__inner div.campaign-terms div.campaign-terms__inner h5.campaign-terms__heading::before {
              width: calc( 22 * 140% / 750 ); } }
      main .campaign-open .campaign__inner div.campaign-terms div.campaign-terms__inner ul.campaign-terms__list {
        font-size: 1.4rem;
        margin-bottom: 1.5em; }
        @media screen and (max-width: 640px) {
          main .campaign-open .campaign__inner div.campaign-terms div.campaign-terms__inner ul.campaign-terms__list {
            font-size: 3.2vw; } }
        main .campaign-open .campaign__inner div.campaign-terms div.campaign-terms__inner ul.campaign-terms__list:last-of-type {
          margin-bottom: 0; }
        main .campaign-open .campaign__inner div.campaign-terms div.campaign-terms__inner ul.campaign-terms__list li.campaign-terms__item {
          line-height: 1.25;
          margin-bottom: .5em; }
          main .campaign-open .campaign__inner div.campaign-terms div.campaign-terms__inner ul.campaign-terms__list li.campaign-terms__item:last-of-type {
            margin-bottom: 0; }
      main .campaign-open .campaign__inner div.campaign-terms div.campaign-terms__inner ol.campaign-terms__list {
        font-size: 1.4rem;
        margin-bottom: 1.5em; }
        @media screen and (max-width: 640px) {
          main .campaign-open .campaign__inner div.campaign-terms div.campaign-terms__inner ol.campaign-terms__list {
            font-size: 3.2vw; } }
        main .campaign-open .campaign__inner div.campaign-terms div.campaign-terms__inner ol.campaign-terms__list li.campaign-terms__item {
          line-height: 1.25;
          margin-bottom: .5em; }
          main .campaign-open .campaign__inner div.campaign-terms div.campaign-terms__inner ol.campaign-terms__list li.campaign-terms__item:last-of-type {
            margin-bottom: 0; }
main .campaign-mustbuy {
  margin: 0 auto;
  text-align: center;
  color: #333333; }
  main .campaign-mustbuy .wrapper {
    background: #8d7000;
    padding: 3em; }
    @media screen and (max-width: 640px) {
      main .campaign-mustbuy .wrapper {
        padding: 1em; } }
  main .campaign-mustbuy h2.campaign__heading {
    font-size: 3.2rem;
    max-width: 750px;
    margin: 0 auto 1em;
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: bold;
    color: #8d7000;
    line-height: 1; }
    @media screen and (max-width: 640px) {
      main .campaign-mustbuy h2.campaign__heading {
        font-size: 5.4vw; } }
    main .campaign-mustbuy h2.campaign__heading::before {
      content: '';
      background: url("../img/icon_banana.png") no-repeat center center;
      display: block;
      max-width: 57px;
      width: calc( 57 * 100% / 750 );
      aspect-ratio: 57 / 44;
      height: auto;
      background-size: contain;
      margin: 0 auto .5em; }
      @media screen and (max-width: 640px) {
        main .campaign-mustbuy h2.campaign__heading::before {
          width: calc( 57 * 140% / 750 ); } }
  main .campaign-mustbuy .campaign__inner {
    background: url("../img/background.jpg");
    border-radius: 1.5em;
    max-width: calc( 750px - 2em );
    margin: auto;
    padding: 2em; }
    @media screen and (max-width: 640px) {
      main .campaign-mustbuy .campaign__inner {
        padding: 1em; } }
    main .campaign-mustbuy .campaign__inner h3.campaign__title {
      width: calc( 343 * 100% / 750 );
      margin: 0 auto .5em; }
      @media screen and (max-width: 640px) {
        main .campaign-mustbuy .campaign__inner h3.campaign__title {
          width: calc( 343 * 140% / 750 ); } }
    main .campaign-mustbuy .campaign__inner .campaign__lead {
      margin: 0 auto 3em;
      color: #ff2626;
      font-family: "Zen Maru Gothic", sans-serif;
      font-weight: bold;
      display: inline-block;
      text-decoration-line: underline;
      text-decoration-color: #ff2626;
      /* 線幅 */
      text-decoration-thickness: 2px;
      /* テキストと下線の距離 */
      text-underline-offset: .3em;
      /* 線種（任意） */
      text-decoration-style: dotted; }
      @media screen and (max-width: 640px) {
        main .campaign-mustbuy .campaign__inner .campaign__lead {
          margin-bottom: 1em; } }
    main .campaign-mustbuy .campaign__inner ul.campaign-items {
      display: flex;
      justify-content: space-between;
      margin: 0 auto 2em; }
      main .campaign-mustbuy .campaign__inner ul.campaign-items li.campaign-item {
        width: calc( calc( 100% - 2em ) / 3 ); }
        @media screen and (max-width: 640px) {
          main .campaign-mustbuy .campaign__inner ul.campaign-items li.campaign-item {
            width: calc( calc( 100% - 1.5em ) / 3 ); } }
        main .campaign-mustbuy .campaign__inner ul.campaign-items li.campaign-item .campaign-item__card {
          display: flex;
          flex-direction: column;
          height: 100%; }
          main .campaign-mustbuy .campaign__inner ul.campaign-items li.campaign-item .campaign-item__card h4.campaign-item__title {
            font-family: "Zen Maru Gothic", sans-serif;
            font-weight: bold;
            color: #8d7000; }
          main .campaign-mustbuy .campaign__inner ul.campaign-items li.campaign-item .campaign-item__card .campaign-item__figure {
            margin: 0 auto 1em; }
            main .campaign-mustbuy .campaign__inner ul.campaign-items li.campaign-item .campaign-item__card .campaign-item__figure .campaign-item__caption {
              font-size: 1.3rem;
              line-height: 1.25;
              text-align: justify;
              margin-top: 1em; }
              @media screen and (max-width: 640px) {
                main .campaign-mustbuy .campaign__inner ul.campaign-items li.campaign-item .campaign-item__card .campaign-item__figure .campaign-item__caption {
                  letter-spacing: 0;
                  font-size: 3vw; } }
              main .campaign-mustbuy .campaign__inner ul.campaign-items li.campaign-item .campaign-item__card .campaign-item__figure .campaign-item__caption span.campaign-item__caption-note {
                font-size: .8em;
                display: block; }
          main .campaign-mustbuy .campaign__inner ul.campaign-items li.campaign-item .campaign-item__card a.campaign-item__entry {
            display: block;
            background: #8d7000;
            border-radius: 1.5em;
            padding: 1em;
            font-family: "Zen Maru Gothic", sans-serif;
            font-weight: bold;
            color: #FFF;
            line-height: 1.5;
            margin-top: auto; }
            main .campaign-mustbuy .campaign__inner ul.campaign-items li.campaign-item .campaign-item__card a.campaign-item__entry span {
              color: #fff100;
              display: block; }
            main .campaign-mustbuy .campaign__inner ul.campaign-items li.campaign-item .campaign-item__card a.campaign-item__entry:hover {
              background: #fff100;
              color: #8d7000; }
              main .campaign-mustbuy .campaign__inner ul.campaign-items li.campaign-item .campaign-item__card a.campaign-item__entry:hover span {
                color: #8d7000; }
            main .campaign-mustbuy .campaign__inner ul.campaign-items li.campaign-item .campaign-item__card a.campaign-item__entry::after {
              display: none; }
    main .campaign-mustbuy .campaign__inner p.campaign__note {
      margin-bottom: 3em; }
    main .campaign-mustbuy .campaign__inner div.campaign-info {
      margin-bottom: 4em; }
      @media screen and (max-width: 640px) {
        main .campaign-mustbuy .campaign__inner div.campaign-info {
          margin-bottom: 2em; } }
      main .campaign-mustbuy .campaign__inner div.campaign-info h4.campaign-period__title, main .campaign-mustbuy .campaign__inner div.campaign-info h4.campaign-steps__title {
        position: relative;
        z-index: 1;
        max-width: 750px;
        margin: 0 auto 1em;
        padding: 0.6em 0;
        font-family: "Zen Maru Gothic", sans-serif;
        font-weight: bold;
        color: #8d7000;
        text-align: center; }
        main .campaign-mustbuy .campaign__inner div.campaign-info h4.campaign-period__title::before, main .campaign-mustbuy .campaign__inner div.campaign-info h4.campaign-steps__title::before {
          content: '';
          position: absolute;
          z-index: -1;
          background: url("../img/common_titlebg.png") no-repeat center center;
          max-width: 181px;
          width: calc( 181 * 100% / 750 );
          aspect-ratio: 181 / 47;
          height: auto;
          background-size: contain;
          position: absolute;
          margin: auto;
          left: 50%;
          top: 50%;
          transform: translate(-50%, -50%); }
    main .campaign-mustbuy .campaign__inner div.campaign-period .campaign-period__text {
      font-size: 2rem;
      font-weight: bold; }
    main .campaign-mustbuy .campaign__inner div.campaign-notes ul li, main .campaign-mustbuy .campaign__inner div.campaign-terms ul li {
      position: relative;
      padding-left: 1.2em; }
      main .campaign-mustbuy .campaign__inner div.campaign-notes ul li::before, main .campaign-mustbuy .campaign__inner div.campaign-terms ul li::before {
        content: '・';
        display: block;
        position: absolute;
        left: 0;
        top: 0; }
    main .campaign-mustbuy .campaign__inner div.campaign-notes ol, main .campaign-mustbuy .campaign__inner div.campaign-terms ol {
      counter-reset: item;
      padding-left: 1.2em; }
      main .campaign-mustbuy .campaign__inner div.campaign-notes ol li, main .campaign-mustbuy .campaign__inner div.campaign-terms ol li {
        position: relative;
        padding-left: 1.6em;
        counter-increment: item; }
        main .campaign-mustbuy .campaign__inner div.campaign-notes ol li::before, main .campaign-mustbuy .campaign__inner div.campaign-terms ol li::before {
          content: counter(item) ".";
          display: block;
          position: absolute;
          left: 0;
          top: 0; }
    main .campaign-mustbuy .campaign__inner div.campaign-steps ul.campaign-steps__list {
      background: #005124;
      padding: 2em;
      border-radius: 1.5em; }
      @media screen and (max-width: 640px) {
        main .campaign-mustbuy .campaign__inner div.campaign-steps ul.campaign-steps__list {
          padding: 1em; } }
      main .campaign-mustbuy .campaign__inner div.campaign-steps ul.campaign-steps__list li.campaign-steps__item {
        margin-bottom: 2em; }
        main .campaign-mustbuy .campaign__inner div.campaign-steps ul.campaign-steps__list li.campaign-steps__item:last-of-type {
          margin-bottom: 0; }
        main .campaign-mustbuy .campaign__inner div.campaign-steps ul.campaign-steps__list li.campaign-steps__item h5.campaign-steps__step-title {
          font-family: "Zen Maru Gothic", sans-serif;
          font-weight: bold;
          font-size: 2.2rem;
          text-align: justify;
          color: #fffae2;
          margin-bottom: .5em; }
          @media screen and (max-width: 640px) {
            main .campaign-mustbuy .campaign__inner div.campaign-steps ul.campaign-steps__list li.campaign-steps__item h5.campaign-steps__step-title {
              text-align: center;
              font-size: 4vw; } }
        main .campaign-mustbuy .campaign__inner div.campaign-steps ul.campaign-steps__list li.campaign-steps__item .campaign-steps__content {
          background: #fffae2;
          padding: 2em;
          border-radius: 1.5em;
          margin-bottom: 1em; }
          main .campaign-mustbuy .campaign__inner div.campaign-steps ul.campaign-steps__list li.campaign-steps__item .campaign-steps__content .campaign-steps__content-text {
            font-family: "Zen Maru Gothic", sans-serif;
            font-weight: bold;
            font-size: 2rem;
            line-height: 1.5;
            margin-bottom: .5em; }
            @media screen and (max-width: 640px) {
              main .campaign-mustbuy .campaign__inner div.campaign-steps ul.campaign-steps__list li.campaign-steps__item .campaign-steps__content .campaign-steps__content-text {
                font-size: 4vw; } }
          main .campaign-mustbuy .campaign__inner div.campaign-steps ul.campaign-steps__list li.campaign-steps__item .campaign-steps__content .campaign-steps__content-note {
            color: #ff2626;
            margin-bottom: 1em;
            line-height: 1.5; }
        main .campaign-mustbuy .campaign__inner div.campaign-steps ul.campaign-steps__list li.campaign-steps__item .campaign-steps__conditions {
          color: #FFF;
          text-align: justify;
          line-height: 1.25; }
          main .campaign-mustbuy .campaign__inner div.campaign-steps ul.campaign-steps__list li.campaign-steps__item .campaign-steps__conditions .campaign-steps__text {
            font-family: "Zen Maru Gothic", sans-serif;
            font-size: 1.4rem;
            font-weight: bold;
            margin-bottom: .5em; }
            @media screen and (max-width: 640px) {
              main .campaign-mustbuy .campaign__inner div.campaign-steps ul.campaign-steps__list li.campaign-steps__item .campaign-steps__conditions .campaign-steps__text {
                font-size: 3.2vw; } }
          main .campaign-mustbuy .campaign__inner div.campaign-steps ul.campaign-steps__list li.campaign-steps__item .campaign-steps__conditions ul.campaign-steps__notes {
            font-size: inherit; }
            main .campaign-mustbuy .campaign__inner div.campaign-steps ul.campaign-steps__list li.campaign-steps__item .campaign-steps__conditions ul.campaign-steps__notes li.campaign-steps__note {
              font-size: 1.2rem;
              margin-bottom: .5em;
              position: relative;
              padding-left: 1.2em; }
              @media screen and (max-width: 640px) {
                main .campaign-mustbuy .campaign__inner div.campaign-steps ul.campaign-steps__list li.campaign-steps__item .campaign-steps__conditions ul.campaign-steps__notes li.campaign-steps__note {
                  font-size: 2.8vw; } }
              main .campaign-mustbuy .campaign__inner div.campaign-steps ul.campaign-steps__list li.campaign-steps__item .campaign-steps__conditions ul.campaign-steps__notes li.campaign-steps__note:last-of-type {
                margin-bottom: 0; }
              main .campaign-mustbuy .campaign__inner div.campaign-steps ul.campaign-steps__list li.campaign-steps__item .campaign-steps__conditions ul.campaign-steps__notes li.campaign-steps__note::before {
                content: '※';
                display: block;
                position: absolute;
                left: 0;
                top: 0; }
          main .campaign-mustbuy .campaign__inner div.campaign-steps ul.campaign-steps__list li.campaign-steps__item .campaign-steps__conditions ul.campaign-steps__conditions-list {
            font-size: inherit; }
            main .campaign-mustbuy .campaign__inner div.campaign-steps ul.campaign-steps__list li.campaign-steps__item .campaign-steps__conditions ul.campaign-steps__conditions-list li.campaign-steps__conditions-item {
              font-size: 1.3rem;
              margin-bottom: .5em;
              position: relative;
              padding-left: 1.2em; }
              @media screen and (max-width: 640px) {
                main .campaign-mustbuy .campaign__inner div.campaign-steps ul.campaign-steps__list li.campaign-steps__item .campaign-steps__conditions ul.campaign-steps__conditions-list li.campaign-steps__conditions-item {
                  font-size: 3vw; } }
              main .campaign-mustbuy .campaign__inner div.campaign-steps ul.campaign-steps__list li.campaign-steps__item .campaign-steps__conditions ul.campaign-steps__conditions-list li.campaign-steps__conditions-item:last-of-type {
                margin-bottom: 0; }
              main .campaign-mustbuy .campaign__inner div.campaign-steps ul.campaign-steps__list li.campaign-steps__item .campaign-steps__conditions ul.campaign-steps__conditions-list li.campaign-steps__conditions-item::before {
                content: '・';
                display: block;
                position: absolute;
                left: 0;
                top: 0; }
          main .campaign-mustbuy .campaign__inner div.campaign-steps ul.campaign-steps__list li.campaign-steps__item .campaign-steps__conditions .campaign-steps__conditions-note {
            font-size: 1.2rem;
            margin-bottom: .5em; }
            @media screen and (max-width: 640px) {
              main .campaign-mustbuy .campaign__inner div.campaign-steps ul.campaign-steps__list li.campaign-steps__item .campaign-steps__conditions .campaign-steps__conditions-note {
                font-size: 2.8vw; } }
            main .campaign-mustbuy .campaign__inner div.campaign-steps ul.campaign-steps__list li.campaign-steps__item .campaign-steps__conditions .campaign-steps__conditions-note:last-of-type {
              margin-bottom: 0; }
    main .campaign-mustbuy .campaign__inner div.campaign-terms h4.campaign-terms__title {
      margin-bottom: .5em;
      font-family: "Zen Maru Gothic", sans-serif;
      font-weight: bold;
      color: #8d7000; }
    main .campaign-mustbuy .campaign__inner div.campaign-terms div.campaign-terms__inner {
      background: #FFF;
      border: 1px solid #cccccc;
      padding: 0;
      font-size: 1.4rem;
      text-align: justify;
      height: 20em;
      overflow: hidden; }
      @media screen and (max-width: 640px) {
        main .campaign-mustbuy .campaign__inner div.campaign-terms div.campaign-terms__inner {
          font-size: 3.2vw; } }
      main .campaign-mustbuy .campaign__inner div.campaign-terms div.campaign-terms__inner .campaign-terms__inner-scroll {
        height: 100%;
        padding: 2em;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch; }
        @media screen and (max-width: 640px) {
          main .campaign-mustbuy .campaign__inner div.campaign-terms div.campaign-terms__inner .campaign-terms__inner-scroll {
            padding: 1em; } }
      main .campaign-mustbuy .campaign__inner div.campaign-terms div.campaign-terms__inner a {
        color: #8d7000; }
      main .campaign-mustbuy .campaign__inner div.campaign-terms div.campaign-terms__inner p.campaign-terms__lead {
        line-height: 1.5;
        margin-bottom: 1em; }
      main .campaign-mustbuy .campaign__inner div.campaign-terms div.campaign-terms__inner h5.campaign-terms__heading {
        position: relative;
        z-index: 2;
        margin-bottom: 1em;
        font-family: "Zen Maru Gothic", sans-serif;
        font-weight: bold;
        color: #8d7000;
        padding-left: 1em; }
        @media screen and (max-width: 640px) {
          main .campaign-mustbuy .campaign__inner div.campaign-terms div.campaign-terms__inner h5.campaign-terms__heading {
            margin-bottom: .5em; } }
        main .campaign-mustbuy .campaign__inner div.campaign-terms div.campaign-terms__inner h5.campaign-terms__heading::before {
          content: '';
          position: absolute;
          z-index: -1;
          background: url("../img/icon_banana.png") no-repeat center center;
          max-width: 22px;
          width: calc( 22 * 100% / 750 );
          aspect-ratio: 57 / 44;
          height: auto;
          background-size: contain;
          position: absolute;
          margin: auto;
          left: 0;
          top: 50%;
          transform: translate(-50%, -50%); }
          @media screen and (max-width: 640px) {
            main .campaign-mustbuy .campaign__inner div.campaign-terms div.campaign-terms__inner h5.campaign-terms__heading::before {
              width: calc( 22 * 140% / 750 ); } }
      main .campaign-mustbuy .campaign__inner div.campaign-terms div.campaign-terms__inner ul.campaign-terms__list {
        font-size: 1.4rem;
        margin-bottom: 1.5em; }
        @media screen and (max-width: 640px) {
          main .campaign-mustbuy .campaign__inner div.campaign-terms div.campaign-terms__inner ul.campaign-terms__list {
            font-size: 3.2vw; } }
        main .campaign-mustbuy .campaign__inner div.campaign-terms div.campaign-terms__inner ul.campaign-terms__list:last-of-type {
          margin-bottom: 0; }
        main .campaign-mustbuy .campaign__inner div.campaign-terms div.campaign-terms__inner ul.campaign-terms__list li.campaign-terms__item {
          line-height: 1.25;
          margin-bottom: .5em; }
          main .campaign-mustbuy .campaign__inner div.campaign-terms div.campaign-terms__inner ul.campaign-terms__list li.campaign-terms__item:last-of-type {
            margin-bottom: 0; }
          main .campaign-mustbuy .campaign__inner div.campaign-terms div.campaign-terms__inner ul.campaign-terms__list li.campaign-terms__item .campaign-terms__item-note {
            font-size: 1.3rem;
            display: block;
            position: relative;
            padding-left: 1.2em; }
            @media screen and (max-width: 640px) {
              main .campaign-mustbuy .campaign__inner div.campaign-terms div.campaign-terms__inner ul.campaign-terms__list li.campaign-terms__item .campaign-terms__item-note {
                font-size: 3vw; } }
            main .campaign-mustbuy .campaign__inner div.campaign-terms div.campaign-terms__inner ul.campaign-terms__list li.campaign-terms__item .campaign-terms__item-note::before {
              content: '※';
              display: block;
              position: absolute;
              left: 0;
              top: 0; }
      main .campaign-mustbuy .campaign__inner div.campaign-terms div.campaign-terms__inner p.campaign-terms__text {
        margin-bottom: .5em; }
      main .campaign-mustbuy .campaign__inner div.campaign-terms div.campaign-terms__inner ol.campaign-terms__list {
        font-size: 1.4rem;
        margin-bottom: 1.5em; }
        @media screen and (max-width: 640px) {
          main .campaign-mustbuy .campaign__inner div.campaign-terms div.campaign-terms__inner ol.campaign-terms__list {
            font-size: 3.2vw; } }
        main .campaign-mustbuy .campaign__inner div.campaign-terms div.campaign-terms__inner ol.campaign-terms__list li.campaign-terms__item {
          line-height: 1.25;
          margin-bottom: .5em; }
          main .campaign-mustbuy .campaign__inner div.campaign-terms div.campaign-terms__inner ol.campaign-terms__list li.campaign-terms__item:last-of-type {
            margin-bottom: 0; }
main .campaign-about {
  background: #fff100;
  padding: 3em;
  text-align: center;
  font-family: "Zen Maru Gothic", sans-serif; }
  @media screen and (max-width: 640px) {
    main .campaign-about {
      padding: 2em 1em; } }
  main .campaign-about h2.campaign-about__title {
    font-size: 2.4rem;
    font-weight: bold;
    margin-bottom: 1em; }
    @media screen and (max-width: 640px) {
      main .campaign-about h2.campaign-about__title {
        font-size: 4.8vw; } }
  main .campaign-about .campaign-about__movie {
    max-width: 300px;
    margin: 0 auto 3em; }
    main .campaign-about .campaign-about__movie .movie-wrap {
      position: relative;
      width: 100%;
      aspect-ratio: 16 / 9;
      background: #000;
      overflow: hidden; }
      main .campaign-about .campaign-about__movie .movie-wrap iframe {
        width: 100%;
        height: 100%;
        border: 0;
        display: block; }
  main .campaign-about .campaign-about__text {
    font-size: 1.8rem;
    font-weight: bold;
    margin-bottom: 1em; }
    @media screen and (max-width: 640px) {
      main .campaign-about .campaign-about__text {
        font-size: 3.6vw; } }
    main .campaign-about .campaign-about__text:last-of-type {
      margin-bottom: 2em; }

footer {
  background: #005124;
  padding: 3em 0; }
  @media screen and (max-width: 640px) {
    footer {
      padding: 2em 1em; } }
  footer .site-footer__inner {
    max-width: 750px;
    margin: auto;
    color: #FFF; }
    footer .site-footer__inner .site-footer__contact {
      margin-bottom: 3em; }
      footer .site-footer__inner .site-footer__contact h2.site-footer__heading {
        border-bottom: 1px dotted #FFF;
        padding-bottom: .5em;
        margin-bottom: .5em;
        font-family: "Zen Maru Gothic", sans-serif;
        font-weight: bold; }
      footer .site-footer__inner .site-footer__contact h3.site-footer__contact-title {
        font-size: 1.4rem;
        font-family: "Zen Maru Gothic", sans-serif;
        font-weight: bold; }
        @media screen and (max-width: 640px) {
          footer .site-footer__inner .site-footer__contact h3.site-footer__contact-title {
            font-size: 3.2vw; } }
      footer .site-footer__inner .site-footer__contact .site-footer__contact-info {
        font-size: 1.4rem; }
        @media screen and (max-width: 640px) {
          footer .site-footer__inner .site-footer__contact .site-footer__contact-info {
            font-size: 3.2vw; } }
        footer .site-footer__inner .site-footer__contact .site-footer__contact-info a {
          color: #fff100; }
      footer .site-footer__inner .site-footer__contact ul.site-footer__contact-notes li.site-footer__contact-note {
        font-size: 1.3rem;
        position: relative;
        padding-left: 1.2em; }
        @media screen and (max-width: 640px) {
          footer .site-footer__inner .site-footer__contact ul.site-footer__contact-notes li.site-footer__contact-note {
            font-size: 3vw; } }
        footer .site-footer__inner .site-footer__contact ul.site-footer__contact-notes li.site-footer__contact-note::before {
          content: '※';
          display: block;
          position: absolute;
          left: 0;
          top: 0; }
    footer .site-footer__inner .site-footer__copyright {
      text-align: center; }
      footer .site-footer__inner .site-footer__copyright small {
        margin: auto;
        font-size: 1.4rem; }
        @media screen and (max-width: 640px) {
          footer .site-footer__inner .site-footer__copyright small {
            font-size: 3.2vw; } }

a.underline:hover {
  text-decoration: underline; }

a[target="_blank"]::after {
  content: "\f35d";
  font-family: "Font Awesome 5 Free";
  font-weight: bold;
  /*指定しないと表示されない*/
  padding-left: .3em;
  /*文字とアイコンの間に隙間*/ }

.only_pc {
  display: inherit !important; }

.only_sp {
  display: none !important; }

@media screen and (max-width: 640px) {
  .only_pc {
    display: none !important; }

  .only_sp {
    display: inherit !important; } }
