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

/* reset */
body {
  margin: 0;
}
#event2606 *::after,
#event2606 *::before,
#event2606 * {
  box-sizing: border-box;
}
#event2606 dd,
#event2606 dt,
#event2606 dl,
#event2606 h3,
#event2606 h2,
#event2606 h1,
#event2606 li,
#event2606 ul,
#event2606 p {
  margin: 0;
  padding: 0;
}
#event2606 img {
  max-width: 100%;
  border: none;
  background: transparent;
  vertical-align: bottom;
  image-rendering: -webkit-optimize-contrast;
}
#event2606 li,
#event2606 ul {
  list-style: none;
}
#event2606 a {
  color: #091234;
  text-decoration: none;
  transition: all 0.3s ease;
}
#event2606 i {
  font-style: normal;
}
main {
  overflow: clip;
}
.l-main--responsive {
  width: 100%;
  z-index: 1;
}
.l-footer {
  margin-top: 0 !important;
}
.l-footerC_wrapTop {
  display: none !important;
}

#event2606 {

  color: #091234;
  font-feature-settings: "palt";
  letter-spacing: .02em;
  font-family: "Noto Sans JP", sans-serif;
  .fixed-img {
    display: none;
  }
  .event2606-content {
    max-width: 768px;
    margin: 0 auto;
  }
  .inner-wrap {
    padding-left: 15px;
    padding-right: 15px;
  }
  .note-list {
    margin-top: 16px;
    > li {
      padding-left: 1em;
      text-indent: -1em;
      font-size: 0.875rem;
      line-height: 1.29;
      color: #444;
      + li {
        margin-top: 6px;
      }
    }
    &.attention {
      li {
        color: #e4716d;
      }
    }
  }
  .txt-c {
    text-align: center;
  }
  .txt-link {
    color: #f37c42;
    text-decoration: underline;
  }
  .cv-btn-wrap {
    margin-top: 20px;
    .cv-btn {
      display: flex;
      justify-content: center;
      align-items: center;
      text-align: center;
      height: 60px;
      border-radius: 30px;
      background-color: #f37c42;
      color: #fff;
      font-weight: bold;
      font-size: 1.375rem;
      border: 2px solid #fff;
      box-shadow: 0 6px 0 #fbd656;
      letter-spacing: .03em;
      position: relative;
      &::after {
        content: "";
        display: inline-block;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 8px 0px 8px 10px;
        border-color: transparent transparent transparent #fff;
        position: absolute;
        right: 20px;
        top: calc(50% - 8px);
      }
    }
  }
  .h1 {
    text-align: center;
    margin: 0 0 16px;
    padding-top: 20px;
    img {
      width: 331px;
    }
  }
  .mv-section {
    background: #fdf8f1 url(/service/smileprogram/all/campaign/event2606/assets/images/bg_mv_01.png) repeat-x center / auto 100%;
    padding: 32px 0 43px;
    .mv-lead {
      text-align: center;
      margin: -19px auto 0;
      position: relative;
      ::before {
        content: "";
        width: 50px;
        height: 42px;
        background: url(/service/smileprogram/all/campaign/event2606/assets/images/icn_mv_01.png) no-repeat center / contain;
        position: absolute;
        left: -21px;
        top: 9px;
      }
      ::after {
        content: "";
        width: 44px;
        height: 34px;
        background: url(/service/smileprogram/all/campaign/event2606/assets/images/icn_mv_02.png) no-repeat center / contain;
        position: absolute;
        right: -10px;
        top: -15px;
      }
      span {
        font-size: 1.25rem;
        font-weight: bold;
        color: #553628;
        min-width: 256px;
        padding: 5px 30px;
        background-color: #fff;
        border: 1px solid #553628;
        border-radius: 20px;
        position: relative;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        height: 39px;
        margin-bottom: 23px;
        ::after {
          content: "";
          display: inline-block;
          width: 0;
          height: 0;
          border-style: solid;
          border-width: 8px 6px 0px 6px;
          border-color: #553628 transparent transparent transparent;
          position: absolute;
          left: calc(50% - 6px);
          bottom: -8px;
        }
      }
    }
    .mv-txt {
      font-size: 1.25rem;
      text-align: center;
      .num {
        display: inline-block;
        margin: 0 4px;
        img {
          width: auto;
          height: 38px;
        }
      }
    }
    .mv-txt-group {
      margin-top: 20px;
    }
  }

  .lead-section {
    padding: 37px 0 44px;
    .lead {
      font-size: 1rem;
      line-height: 2;
      color: #091234;
      + .lead {
        margin-top: 16px;
      }
      .lead-logo-wrap {
        position: relative;
        display: inline-block;
        padding-right: 70px;
      }
      .lead-logo {
        width: 69px;
        position: absolute;
        right: 0;
        bottom: -30px;
      }
      .underline {
        text-decoration: none;
        font-size: 1.4375rem;
        color: #004091;
        font-weight: bold;
        position: relative;
        z-index: 1;
        &::after {
          content: "";
          width: 100%;
          height: 10px;
          display: inline-block;
          background-color: #fff39d;
          position: absolute;
          left: 0;
          bottom: -5px;
          z-index: -1;
        }
      }
      .fz-md {
        font-size: 1.25rem;
      }
    }
  }

  .about-section {
    .h2ttl {
      margin-bottom: 8px;
    }
    .event-date {
      font-size: 1.25rem;
      font-weight: bold;
      text-align: center;
      margin-bottom: 10px;
      .lg {
        font-size: 1.875rem;
      }
    }
    .event-time-dl {
      display: flex;
      gap: 12px;
      justify-content: center;
      align-items: center;
      .dt {
        padding-top: 1px;
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: .875rem;
        width: 102px;
        height: 24px;
        text-align: center;
        font-weight: bold;
        border-radius: 24px;
        border: 1px solid #091234;
        background-color: #fff39d;
      }
      .dd {
        font-size: 1.25rem;
        font-weight: bold;
        line-height: 1;
      }
      + .event-time-dl {
        margin-top: 12px;
      }
    }
    .balloon-txt {
      padding: 0 8px;
      .txt {
        font-size: 1.375rem;
        line-height: 1;
        font-weight: bold;
        color: #553628;
        background-color: #fff;
        border: 1px solid #553628;
        border-radius: 70px;
        position: relative;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        width: 100%;
        height: 70px;
        margin-bottom: 12px;
        margin-top: 40px;
        padding-top: 2px;
        &::before {
          content: "";
          width: 56px;
          height: 43px;
          background: url(/service/smileprogram/all/campaign/event2606/assets/images/icn_ticket.png) no-repeat center / contain;
          position: absolute;
          right: -22px;
          top: -21px;
          z-index: 1;
        }
        &::after {
          content: "";
          display: inline-block;
          width: 0;
          height: 0;
          border-style: solid;
          border-width: 9px 7px 0px 7px;
          border-color: #553628 transparent transparent transparent;
          position: absolute;
          left: calc(50% - 7px);
          bottom: -9px;
        }
        .sm {
          font-size: 1rem;
        }
      }
    }
    .plus-icn {
      margin-top: 20px;
      margin-bottom: 40px;
      text-align: center;
      img {
        width: 30px;
      }
    }
  }

  .event-block {
    position: relative;
    background-color: #fdefda;
    padding: 30px 15px 45px;
    .deco-txt {
      position: absolute;
      left: 15px;
      top: -38px;
      img {
        width: auto;
        height: 39px;
      }
    }
    .event-lead {
      line-height: 1.5;
      text-align: center;
    }
    .event-detail-wrap {
      margin-top: 27px;
    }
    .event-detail-box {
      border-radius: 10px;
      background-color: #fff;
      padding: 13px 20px 20px;
      position: relative;
      + .event-detail-box {
        margin-top: 38px;
      }
      .balloon {
        position: absolute;
        right: 0;
        top: -19px;
        z-index: 1;
        background: url(/service/smileprogram/all/campaign/event2606/assets/images/img_balloon_bg.png) no-repeat center / contain;
        width: 65px;
        height: 65px;
        display: flex;
        justify-content: center;
        align-items: center;
        text-align: center;
        color: #fff;
        font-size: 0.8125rem;
        font-weight: bold;
        line-height: 1.2;
        padding-top: 5px;
        .num {
          font-size: 1.25rem;
          color: #fff601;
        }
        .sm {
          font-size: 0.625rem;
        }
      }
      .sub-ttl {
        font-size: 0.875rem;
        font-weight: bold;
        color: #004091;
        text-align: center;
        .inr-txt {
          position: relative;
          &::before,
          &::after {
            content: "";
            width: 10px;
            height: 1px;
            background-color: #004091;
            position: absolute;
            top: calc(50% - 1px);
          }
          &::before {
            left: -15px;
          }
          &::after {
            right: -15px;
          }
        }
        .num {
          margin-left: 4px;
          font-size: 1rem;
          font-family: serif;
        }
      }
      .event-ttl {
        font-size: 1.375rem;
        color: #004091;
        font-weight: bold;
        padding-bottom: 8px;
        margin-bottom: 12px;
        text-align: center;
        background-image: radial-gradient(circle,#998e89 1px, transparent 1px);
        background-size: 4px 2px;
        background-repeat: repeat-x;
        background-position: center bottom;
      }
      .event-it {
        display: flex;
        align-items: center;
        gap: 15px;
        .icn {
          width: 73px;
        }
        .txt {
          line-height: 1.43;
          flex: 1;
        }
      }
    }
  }
  .icn-triangle-01 {
    text-align: center;
    margin-top: -15px;
    position: relative;
    img {
      width: 72px;
    }
  }

  .apply-section {
    padding: 25px 0 50px;
    .apply-h2 {
      font-size: 1.75rem;
      font-weight: bold;
      text-align: center;
      margin-bottom: 30px;
      span {
        padding-bottom: 8px;
        background: url(/service/smileprogram/all/campaign/event2606/assets/images/txt_ttl_03.png) repeat-x center bottom / auto 7px;
      }
    }
    .apply-box {
      background: #fdf8f1;
      border: 1px solid #553628;
      padding: 10px 16px 10px 0;
      border-radius: 10px;
      + .apply-box {
        margin-top: 8px;
      }
      .apply-dl {
        display: flex;
        align-items: center;
        .dt {
          color: #553628;
          font-weight: bold;
          padding-left: 18px;
          width: 102px;
          position: relative;
          &::before {
            content: "";
            width: 11px;
            height: 2px;
            background-color: #553628;
            position: absolute;
            left: 0;
            top: calc(.75em - 1px);
          }
        }
        .dd {
          flex: 1;
          font-size: .8125rem;
          .num {
            font-size: 1rem;
          }
        }
        .ftw-b {
          font-weight: bold;
        }
      }
      .apply-list {
        li {
          padding-bottom: 12px;
          background-image: radial-gradient(circle,#998e89 1px, transparent 1px);
          background-size: 4px 2px;
          background-repeat: repeat-x;
          background-position: center bottom;
          display: flex;
          align-items: center;
          gap: 7px;
          font-size: 1rem;
          + li {
            margin-top: 10px;
          }
          .num {
            font-weight: 1.25rem;
            color: #553628;
          }
          .txt-link {
            font-weight: bold;
          }
        }
      }
      .apply-txt {
        text-align: center;
        line-height: 1.5;
        margin-top: 22px;
        .dot {
          font-weight: bold;
          color: #553628;
          position: relative;
          &::before {
            content: "";
            width: 3px;
            height: 3px;
            border-radius: 3px;
            background-color: #553628;
            position: absolute;
            left: calc(50% - 1px);
            top: -7px;
          }
        }
      }
    }
    .icn-triangle-02 {
      text-align: center;
      margin: 32px 0 23px;
      img {
        width: 73px;
      }
    }
  }

  .introduction-section {
    padding: 0 0 40px;
    .section-lead {
      color: #e4716d;
      text-align: center;
      font-weight: bold;
      margin-top: 20px;
      + .note-list {
        margin-top: 10px;
      }
    }
    .event-detail-block {
      position: relative;
      padding: 20px;
      background-color: #fdf8f1;
      margin-top: 20px;
      border-radius: 10px;
      .block-label {
        position: absolute;
        left: 6px;
        top: 6px;
        width: 102px;
        z-index: 2;
      }
      .block-img {
        img {
          width: 100%;
        }
      }
      .block-ttl {
        color: #004091;
        text-align: center;
        font-size: 1.375rem;
        font-weight: bold;
        margin-top: 20px;
      }
      .block-txt {
        line-height: 1.5;
        margin-top: 10px;
        text-align: center;
      }
      .block-tag {
        text-align: center;
        margin-top: 20px;
        span {
          background-color: #fff;
          border: 1px solid #553628;
          width: 220px;
          height: 38px;
          display: inline-flex;
          justify-content: center;
          align-items: center;
          color: #553628;
          border-radius: 38px;
          font-weight: bold;
          position: relative;
          &::after {
            content: "";
            width: 43px;
            height: 33px;
            background: url(/service/smileprogram/all/campaign/event2606/assets/images/icn_ticket.png) no-repeat center / contain;
            position: absolute;
            right: -18px;
            top: -16px;
            z-index: 1;
          }
        }
      }
      .lottery-wrap {
        margin-top: 24px;
        padding-top: 20px;
        background-image: radial-gradient(circle,#998e89 1px, transparent 1px);
        background-size: 4px 2px;
        background-repeat: repeat-x;
        background-position: center top;
        .lottery-txt {
          display: flex;
          gap: 10px;
          align-items: center;
          .lottery {
            width: 40px;
            height: 40px;
            padding-top: 2px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: .875rem;
            font-weight: bold;
            color: #f37c42;
            background-color: #fff;
            border-radius: 40px;
            border: 1px solid #f37c42;
          }
          .txt {
            font-weight: bold;
            .num {
              font-size: 1.25rem;
            }
            sup {
              font-size: 80%;
            }
          }
        }
        .note-list {
          margin-top: 6px;
          li {
            font-size: 0.75rem;
          }
        }
      }
      .date-wrap {
        margin-top: 17px;
        padding-top: 15px;
        padding-bottom: 12px;
        background-image: radial-gradient(circle,#998e89 1px, transparent 1px), radial-gradient(circle,#998e89 1px, transparent 1px);
        background-size: 4px 2px, 4px 2px;
        background-repeat: repeat-x, repeat-x;
        background-position: center top, center bottom;
        .date-dl {
          display: flex;
          align-items: center;
          + .date-dl {
            margin-top: 4px;
          }
          .dt {
            color: #553628;
            font-weight: bold;
            font-size: .875rem;
            padding-left: 18px;
            width: 84px;
            position: relative;
            &::before {
              content: "";
              width: 8px;
              height: 2px;
              background-color: #998e89;
              position: absolute;
              left: 0;
              top: calc(.65em - 1px);
            }
          }
          .dd {
            font-weight: bold;
          }
        }
      }
      .txt-link-wrap {
        text-align: center;
        margin-top: 22px;
        .txt-link {
          font-size: 1.25rem;
          font-weight: bold;
        }
      }
      
    }
  }

  .attention-section {
    background-color: #efefef;
    color: #444;
    padding: 32px 0;
    line-height: 1.28;
    .attention-h2 {
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;
      font-size: 1.375rem;
      color: #e4716d;
      font-weight: bold;
      margin-bottom: 16px;
      img {
        width: 20px;
        margin-right: 8px;
      }
    }
    .attention-lead {
      font-size: 0.875rem;
    }
    .attention-box {
      margin-top: 32px;
      padding: 32px 16px;
      border-radius: 10px;
      background-color: #fff;
      font-size: .875rem;
      line-height: 1.3;
    }
    .attention-h3 {
      font-weight: bold;
    }
    * + .attention-h3 {
      margin-top: 26px;
    }
    .attention-note-list,
    .attention-list {
      margin-top: 16px;
      > li {
        margin-top: 6px;
        padding-left: 20px;
        position: relative;
        &::before {
          content: "";
          width: 5px;
          height: 5px;
          border-radius: 5px;
          background-color: #444;
          position: absolute;
          left: 8px;
          top: .4em;
        }
      }
    }
    .attention-note-list {
      > li {
        padding-left: 20px;
        &::before {
          content: "※";
          width: unset;
          height: unset;
          border-radius: 0;
          background-color: transparent;
          left: 4px;
          top: 0;
        }
      }
    }
  }

  .follow-wrap {
    width: 100%;
    position: fixed;
    right: 0;
    left: 0;
    bottom: 90px;
    z-index: 100;
    display: none;
    .follow-btn {
      position: absolute;
      width: 80px;
      height: 80px;
      right: 5px;
      bottom: 0;
      display: block;
    }
  }

}

/* PC ONLY */
@media screen and (min-width: 768px){

  .p-header {
    background-color: #fff;
  }
  .mamapapasmileprogram .contents {
    padding-top: 0 !important;
  }
  #jumpcontent div.p-page-top {
    max-width: 1300px !important;
  }

  #event2606 {
    position: relative;
    .fixed-img {
      display: block;
      position: fixed;
      left: 50%;
      bottom: 0;
      transform: translate(-50%, 0);
      min-width: 100%;
      min-height: 100vh;
      object-fit: cover;
      width: 100%;
      height: auto;
      max-width: unset;
      z-index: -1;
    }
    .event2606-content {
      max-width: 410px;
      position: relative;
      z-index: 2;
      background-color: #fff;
    }
    .h1 {
      padding-top: 50px;
    }

    .follow-wrap {
      max-width: 1300px;
      min-height: 1px;
      margin: 0 auto;
      bottom: 100px;
      .follow-btn {
        width: 100px;
        height: 100px;
        right: -6px;
      }
    }

  }

}

/* ファンケルCSS */