@charset "UTF-8";
/* =====================
  初回特典ページ
 ======================= */
.fs-c-breadcrumb {
  display: none;
}

.p-header__campaignbanner {
  display: none;
}

.p-intro {
  background: var(--c_bg);
  padding: 0 0 60px;
}
.p-intro__noren {
  background: url(../images/welcomecoupon/intro_noren_bg.png) no-repeat bottom center/cover;
  height: 214px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.p-intro__noren__logo {
  width: 142px;
}
.p-intro__container {
  margin: 36px 0 0;
  color: var(--c_base);
  padding: 0 16px;
}
.p-intro__title {
  text-align: center;
  font-family: var(--font_min);
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.9;
  letter-spacing: 0.05em;
  width: fit-content;
  border-bottom: 2px solid var(--c_base);
  padding: 0 0 20px;
  margin: 0 auto 40px;
}
.p-intro__txt {
  font-weight: 500;
  line-height: 2;
}

.p-coupon {
  padding: 60px 0;
}
.p-coupon__header {
  position: relative;
  text-align: center;
  padding: 40px 0;
  margin: 0 auto 32px;
  max-width: 340px;
}
.p-coupon__header__frame {
  width: 52px;
  height: 52px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.p-coupon__header__frame:before, .p-coupon__header__frame:after {
  content: "";
  width: 100%;
  height: 100%;
  border-top: 1px solid var(--c_base);
  border-left: 1px solid var(--c_base);
  position: absolute;
  top: 0;
  left: 0;
}
.p-coupon__header__frame:after {
  top: -4px;
  left: 4px;
}
.p-coupon__header__frame:last-child {
  transform: scale(-1, -1);
  top: auto;
  left: auto;
  bottom: 0;
  right: 0;
}
.p-coupon__header__txt {
  font-family: var(--font_min);
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.05em;
  margin: 0 0 16px;
}
.p-coupon__title {
  font-family: var(--font_min);
  font-size: 2.2rem;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.05em;
  text-align: center;
  background: url(../images/welcomecoupon/coupon_title_bg.jpg) no-repeat center/cover, var(--c_base);
  -webkit-background-clip: text;
  color: transparent;
}
.p-coupon__body {
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.8;
  width: fit-content;
  margin: 0 auto;
}
.p-coupon__body .p-bnr {
  margin: 32px auto 0;
  max-width: 345px;
}

.p-detail {
  padding: 60px 0;
}
.p-detail__title {
  display: flex;
  align-items: center;
  column-gap: 20px;
  font-family: var(--font_min);
  font-size: 1.8rem;
  font-weight: 600;
  margin: 60px 0 32px;
}
.p-detail__title:first-child {
  margin-top: 0;
}
.p-detail__title:last-child {
  margin-bottom: 0;
}
.p-detail__title:after {
  content: "";
  flex-grow: 1;
  height: 1px;
  background: var(--c_base);
}
.p-detail__example {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 32px 20px;
}
.p-detail__example__item {
  flex: 0 1 345px;
  border: 1px solid var(--c_base);
  border-radius: 5px;
  overflow: hidden;
}
.p-detail__example__item__img img {
  display: block;
}
.p-detail__example__item__title {
  text-align: center;
  background: url(../images/welcomecoupon/example_title_bg.jpg) no-repeat center/cover;
  color: var(--c_wht);
  font-family: var(--font_min);
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1.4;
  padding: 12px 12px 8px;
  margin: 0;
}
.p-detail__notice {
  margin: 28px 0 0;
  font-size: 1.4rem;
  line-height: 1.8;
}
.p-detail__notice__title {
  font-weight: 700;
  margin: 0;
}
.p-detail__notice__list__item {
  display: flex;
  column-gap: 4px;
  padding-left: 4px;
}
.p-detail__notice__list__item:before {
  content: "";
  width: 4px;
  height: 4px;
  background: currentColor;
  border-radius: 50%;
  flex-shrink: 0;
  margin-top: calc(0.9em - 1.5px);
}
.p-detail__merit {
  background: var(--c_wht);
  border: 1px solid var(--c_base);
  border-radius: 5px;
  padding: 40px 12px 40px 16px;
  margin: 0 0 32px;
}
.p-detail__merit__list__item {
  counter-increment: cnt;
  display: flex;
  align-items: flex-start;
  column-gap: 8px;
  font-family: var(--font_min);
  font-size: 1.4rem;
  line-height: 1.6;
  font-weight: 600;
  font-feature-settings: "palt";
  letter-spacing: 0.03em;
  margin: 0 0 28px;
}
.p-detail__merit__list__item:last-child {
  margin-bottom: 0;
}
.p-detail__merit__list__item:before {
  content: counter(cnt);
  width: 24px;
  height: 24px;
  background: url(../images/welcomecoupon/merit_list_num_bg.jpg) no-repeat center/cover;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--c_wht);
  flex-shrink: 0;
  font-size: 1.6rem;
}
.p-detail__merit__list__item > span span {
  font-size: 1.2rem;
}

/* スマホのみ
  ------------------------ */
/* タブレット・PC
  ------------------------ */
@media (min-width: 701px) {
  .fs-l-pageMain .p-inner {
    max-width: 1112px;
  }
  .p-intro {
    padding: 0 0 72px;
  }
  .p-intro__noren {
    height: 322px;
  }
  .p-intro__noren__logo {
    width: 194px;
  }
  .p-intro__container {
    margin-top: 72px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: 110px;
  }
  .p-intro__title {
    text-align: left;
    font-size: 2.4rem;
    letter-spacing: 0.14em;
    border-bottom: 0;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    text-orientation: upright;
    margin: 0;
    padding: 0 0 0 28px;
    border-left: 2px solid var(--c_base);
  }
  .p-intro__txt {
    font-size: 1.8rem;
    line-height: 2.4;
  }
  .p-coupon {
    padding: 100px 0;
  }
  .p-coupon__header {
    padding: 40px 0 60px;
    margin: 0 auto 40px;
    max-width: 510px;
  }
  .p-coupon__header__frame {
    width: 80px;
    height: 80px;
  }
  .p-coupon__header__txt {
    font-size: 1.6rem;
  }
  .p-coupon__title {
    font-size: 3rem;
  }
  .p-coupon__body {
    font-size: 1.6rem;
    line-height: 2;
    text-align: center;
    width: 100%;
  }
  .p-coupon__body .p-bnr {
    margin: 40px 0 0;
    max-width: 100%;
  }
  .p-detail {
    padding: 100px 0;
  }
  .p-detail .c-btn__arrow {
    max-width: 420px;
    margin: 0 auto;
  }
  .p-detail__title {
    column-gap: 40px;
    font-size: 2.4rem;
    margin-bottom: 60px;
  }
  .p-detail__example {
    gap: 32px 40px;
  }
  .p-detail__example__item {
    flex: 0 0 520px;
  }
  .p-detail__example__item__title {
    font-size: 1.8rem;
    padding: 16px 12px 12px;
  }
  .p-detail__notice {
    margin: 32px 0 0;
    font-size: 1.6rem;
  }
  .p-detail__merit {
    padding: 54px 68px;
    margin: 0 0 50px;
  }
  .p-detail__merit__list__item {
    margin-bottom: 32px;
    font-size: 1.8rem;
    column-gap: 32px;
    align-items: center;
  }
  .p-detail__merit__list__item:before {
    width: 35px;
    height: 35px;
    font-size: 1.8rem;
  }
  .p-detail__merit__list__item > span span {
    font-size: 1.4rem;
  }
}