.pagetitle {
  display: none; }
  .pagetitle + * {
    margin-top: 0; }

.category-menu {
  display: none; }

@media (max-width: 750px) {
  .min-header {
    position: sticky; } }
:root {
  --clr-black: #231815;
  --clr-white: #fff;
  --border-clr: #e2ebf0;
  --clr-blue: #45f8ff;
  --sideSpace: 3rem;
  --t-duration: 0.5s;
  --pageBg: #f5f9fb; }

@media (max-width: 750px) {
  html {
    font-size: 62.5% !important; } }

body {
  font-family: "Noto Sans JP", serif;
  font-style: normal;
  background: var(--pageBg);
  padding-top: 0 !important; }
  @media (max-width: 750px) {
    body img {
      height: auto; } }

@media (min-width: 750px) {
  .show-sp {
    display: none !important; } }
@media (max-width: 750px) {
  .show-pc {
    display: none !important; } }
.wae-solid {
  width: 100%;
  padding: 0; }
  .wae-solid .inner {
    --cnt-w: 120rem;
    --inner-w: calc(100% - (var(--sideSpace) * 2));
    --innerSize: min(var(--inner-w), var(--cnt-w));
    width: var(--innerSize);
    margin: auto; }
    @media (max-width: 750px) {
      .wae-solid .inner {
        --cnt-w: 100%; } }

.btn {
  --iconSize: 1.8rem;
  --arwSize: 1.1rem;
  --iconSpace: 1.4rem;
  --padding: 1.2rem;
  display: inline-block;
  position: relative;
  border-radius: 99em;
  border: var(--borderWidth) solid var(--borderClr);
  background: var(--bg, var(--clr-black));
  width: var(--btn-w, 100%);
  padding: var(--padding);
  padding-inline: calc(var(--iconSize) + var(--iconSpace) * 2);
  text-align: center;
  font-size: var(--fs, 1.6rem);
  color: var(--fc, #fff);
  font-weight: var(--fw, bold);
  transition-duration: var(--t-duration); }
  .btn::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: var(--iconSpace);
    margin-block: auto;
    width: var(--iconSize);
    height: var(--iconSize);
    aspect-ratio: 1;
    background: url("../img/smart_t_campaign/arrow_r-black.png") no-repeat center center/var(--arwSize), var(--iconBg, #fff);
    border-radius: 50%; }
  @media (max-width: 750px) {
    .btn {
      --iconSize: 1.3rem;
      --arwSize: 0.7rem;
      --iconSpace: 1rem;
      --padding: 1.1rem;
      --fs: 1.3rem;
      --fw: normal; } }
  .btn--secondary {
    --borderWidth: 3px;
    --iconSize: 2.1rem;
    --iconSpace: 1.2rem;
    --borderClr: var(--clr-black);
    --bg: #fff000;
    --fs: 2rem;
    --fc: var(--clr-black);
    --fw: bold; }
    .btn--secondary::after {
      background-color: var(--clr-black);
      background-image: url("../img/smart_t_campaign/arrow_r-white.png"); }
    @media (max-width: 750px) {
      .btn--secondary {
        --borderWidth: 2px;
        --iconSpace: 0.8rem;
        --fs: 1.2rem;
        --arwSize: 0.7rem;
        --iconSize: 1.3rem; } }
    .btn--secondary:hover {
      --bg: var(--clr-blue);
      color: initial; }
      .btn--secondary:hover::after {
        background-image: url("../img/smart_t_campaign/arrow_r-blue.png"); }
  .btn--cv {
    --gradationClr01: #ff265e;
    --gradationClr02: #ff5b85;
    --borderWidth: 6px;
    --iconSize: 3.2rem;
    --iconSpace: 2rem;
    --borderClr: #fff;
    --bg: linear-gradient(to top, var(--gradationClr01) 0%,var(--gradationClr01) 30%, var(--gradationClr02) 100%);
    --padding: 2.9rem;
    --arwSize: 1.7rem;
    box-shadow: 0px 3px 20px rgba(0, 0, 0, 0.2);
    max-width: 76.5rem;
    transition-duration: var(--t-duration); }
    .btn--cv::after {
      background-image: url("../img/smart_t_campaign/arrow_r-pink.png"); }
    .btn--cv p {
      margin-inline: auto;
      text-align: center;
      inline-size: fit-content;
      line-height: 1; }
    .btn--cv:hover {
      --gradationClr02: #ff265e;
      transition: none; }
    @media (max-width: 750px) {
      .btn--cv {
        --borderWidth: 4px;
        --iconSize: 1.8rem;
        --iconSpace: 1.1rem;
        --padding: 1.8rem;
        --arwSize: 1rem;
        max-width: 33rem; }
        .btn--cv p {
          width: 159px; } }

.ribbon {
  --rbnClr: #005dcf;
  --sideSpace: 3.2rem;
  --rbnSize: 1.8rem;
  margin-inline: auto;
  display: block;
  background-color: var(--rbnClr);
  color: #fff;
  padding: 1.3rem var(--rbnSize) 1.5rem;
  font-size: 22px;
  letter-spacing: 0.06em;
  text-align: center;
  font-weight: bold;
  border-radius: 0;
  position: relative;
  z-index: 1;
  line-height: 1;
  width: calc(100% - var(--sideSpace)* 2); }
  .ribbon::before, .ribbon::after {
    content: '';
    position: absolute;
    top: 0;
    width: var(--rbnSize);
    height: 100%;
    background-color: inherit;
    z-index: -1;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%, 100% 50%); }
  .ribbon::before {
    left: calc(var(--rbnSize) * -1 + 0.1rem); }
  .ribbon::after {
    right: calc(var(--rbnSize) * -1 + 0.1rem);
    transform: rotate(180deg); }
  @media (max-width: 750px) {
    .ribbon {
      --sideSpace: 0.8rem;
      --rbnSize: 0.8rem;
      padding: 1rem var(--rbnSize);
      font-size: 1.3rem;
      letter-spacing: 0; }
      .ribbon::before {
        left: calc(var(--rbnSize) * -1); }
      .ribbon::after {
        right: calc(var(--rbnSize) * -1); } }

.pageTarget {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #004098;
  padding-block: 0.7rem;
  color: var(--clr-white);
  font-weight: bold;
  font-size: 1.4rem;
  letter-spacing: 0.06em;
  gap: 0.7rem; }
  .pageTarget__type {
    background: #fff000;
    color: #004098;
    font-size: 1rem;
    letter-spacing: 0.06em;
    line-height: 1;
    padding: 0.4rem; }

.kv {
  position: relative;
  padding-block: 2rem 11rem; }
  .kv::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    aspect-ratio: 1958/1175;
    background: url("../img/smart_t_campaign/kv_bg.png") no-repeat center top/cover; }
  .kv::after {
    content: "";
    position: absolute;
    right: 0;
    left: 0;
    bottom: 0;
    margin: auto;
    width: min(calc(100% - var(--sideSpace) * 2),100rem);
    height: 0.4rem;
    background: var(--border-clr); }
  .kv__inner {
    --cnt-w: 76.6rem;
    --inner-w: calc(100% - (var(--sideSpace) * 2));
    --innerSize: min(var(--inner-w), var(--cnt-w));
    width: var(--innerSize);
    margin: auto; }
    @media (max-width: 750px) {
      .kv__inner {
        --cnt-w: 33rem; } }
  .kv__main {
    margin-left: 1.8rem;
    width: calc(100% + 8.5rem); }
  .kv__campaign {
    margin-top: 2rem; }
  .kv__ribbon {
    margin-top: 3rem; }
  .kv__apply {
    margin-top: 4.5rem; }
  .kv__bnr {
    margin-top: 7rem;
    display: flex;
    flex-direction: column;
    gap: 2.5rem; }
  @media (max-width: 750px) {
    .kv {
      padding-block-end: 4rem; }
      .kv::before {
        aspect-ratio: 390/707;
        background-image: url("../img/smart_t_campaign/kv_bg-sp.png"); }
      .kv::after {
        height: 0.2rem; }
      .kv__main {
        margin-left: 0;
        width: calc(100% + 2.6rem); }
      .kv__campaign {
        margin-top: 1rem; }
      .kv__ribbon {
        margin-top: 1.5rem; }
      .kv__apply {
        margin-top: 1.5rem; }
      .kv__bnr {
        margin-top: 3rem;
        gap: 1.5rem; } }

.campaignBox {
  border: 0.5rem solid var(--clr-black); }
  .campaignBox__title {
    --bg-clr01: #231815;
    --bg-clr02: #2a1f1c;
    background: #000;
    background-image: repeating-linear-gradient(90deg, var(--bg-clr01), var(--bg-clr01) 8px, var(--bg-clr02) 8px, var(--bg-clr02) 16px);
    text-align: center;
    padding-block: 1.2rem 1.8rem;
    font-size: 3.1rem;
    letter-spacing: 0.1em;
    font-weight: bold;
    line-height: 1;
    color: var(--clr-white); }
  .campaignBox__content {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    padding: 1.8rem 3.7rem;
    background: var(--clr-white); }
  .campaignBox__fee {
    display: flex; }
  .campaignBox__link {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.8rem;
    font-size: 2.2rem;
    font-weight: bold; }
  .campaignBox .linkBtn {
    position: relative;
    border: 2px solid var(--clr-black);
    border-radius: 99em;
    background: #fff000;
    padding: 0.9rem 4.4rem 0.9rem 2.6rem;
    font-weight: bold;
    font-size: 2.1rem;
    color: var(--clr-black);
    letter-spacing: 0.08em;
    line-height: 1;
    transition-duration: var(--t-duration); }
    .campaignBox .linkBtn::after {
      content: "";
      position: absolute;
      top: 0;
      bottom: 0;
      right: 1.2rem;
      margin-block: auto;
      width: 1.8rem;
      height: 1.8rem;
      aspect-ratio: 1;
      background: url("../img/smart_t_campaign/arrow_r-yellow.png") no-repeat center center/1rem, var(--clr-black);
      border-radius: 50%;
      transition-duration: var(--t-duration); }
    .campaignBox .linkBtn:hover {
      background: #45f8ff; }
      .campaignBox .linkBtn:hover::after {
        background-image: url("../img/smart_t_campaign/arrow_r-blue.png"); }
  @media (max-width: 750px) {
    .campaignBox {
      border-width: 0.3rem; }
      .campaignBox__title {
        padding-block: 0.5rem 1rem;
        font-size: 1.7rem; }
      .campaignBox__content {
        gap: 0;
        padding: 0;
        flex-direction: column-reverse; }
      .campaignBox__fee {
        padding: 0.8rem 1.6rem 1rem; }
      .campaignBox__link {
        align-items: stretch;
        gap: 0;
        font-size: 1.1rem;
        border-top: 0.2rem solid var(--clr-black); }
      .campaignBox .linkBtn {
        border: none;
        padding: 0.6rem;
        padding-right: 1.8rem;
        width: 50%;
        font-size: 1.1rem;
        line-height: 1.1;
        border-radius: 0;
        letter-spacing: 0;
        font-size: 1.1rem;
        text-align: center;
        display: inline;
        place-content: center; }
        .campaignBox .linkBtn:first-of-type {
          border-right: 0.2rem solid var(--clr-black); }
        .campaignBox .linkBtn::after {
          right: 0.5rem;
          width: 0.8rem;
          height: 0.6rem;
          aspect-ratio: 8/6;
          background: url("../img/smart_t_campaign/arrow_r-black.png") no-repeat center center/cover;
          background-color: none;
          border-radius: initial; } }

.bnrTitle {
  position: relative;
  margin: auto;
  padding-inline: 4.1rem;
  text-align: center;
  font-size: 2.8rem;
  font-weight: bold;
  letter-spacing: 0.06em;
  width: fit-content;
  line-height: 1;
  color: var(--clr-black); }
  .bnrTitle::before, .bnrTitle::after {
    content: "";
    position: absolute;
    bottom: 0.8rem;
    width: 2.4rem;
    height: 0.4rem;
    background: var(--clr-black); }
  .bnrTitle::before {
    left: 0;
    transform: rotate(-135deg); }
  .bnrTitle::after {
    right: 0;
    transform: rotate(-45deg); }
  @media (max-width: 750px) {
    .bnrTitle {
      padding-inline: 2rem;
      font-size: 1.5rem; }
      .bnrTitle::before, .bnrTitle::after {
        bottom: 0.6rem;
        width: 1.3rem;
        height: 0.2rem; } }

.campaignBnr {
  box-shadow: 0px 3px 20px rgba(8, 45, 107, 0.6);
  border: 6px solid var(--clr-white);
  border-radius: 5px;
  transition-duration: var(--t-duration); }
  .campaignBnr img {
    width: 100%;
    height: auto; }
  .campaignBnr:hover {
    filter: brightness(1.2); }
  @media (max-width: 750px) {
    .campaignBnr {
      border-width: 4px;
      border-radius: 4px; } }

.bgWrap {
  background: url("../img/smart_t_campaign/page_bg.png") no-repeat center top 50rem/100% auto, url("../img/smart_t_campaign/page_bg.png") no-repeat center top 165rem/100% auto, url("../img/smart_t_campaign/page_bg.png") no-repeat center top 290rem/100% auto, url("../img/smart_t_campaign/page_bg.png") no-repeat center top 489rem/100% auto; }
  @media (max-width: 750px) {
    .bgWrap {
      background: url("../img/smart_t_campaign/page_bg-sp.png") no-repeat center top 1.8rem/100% auto, url("../img/smart_t_campaign/page_bg-sp.png") no-repeat center top 110rem/100% auto, url("../img/smart_t_campaign/page_bg-sp.png") no-repeat center top 248rem/100% auto, url("../img/smart_t_campaign/page_bg-sp.png") no-repeat center top 329rem/100% auto, url("../img/smart_t_campaign/page_bg-sp.png") no-repeat center top 399rem/100% auto; } }

.planSection {
  position: relative;
  padding-block: 10rem 12rem; }
  .planSection::after {
    --border-clr: var(--clr-white);
    content: "";
    position: absolute;
    right: 0;
    left: 0;
    bottom: 0;
    margin: auto;
    width: min(calc(100% - var(--sideSpace) * 2),100rem);
    height: 0.4rem;
    background: var(--border-clr); }
  @media (min-width: 1280px) {
    .planSection__top {
      position: relative; }
      .planSection__top::before, .planSection__top::after {
        content: "";
        position: absolute;
        bottom: 0;
        z-index: -1; }
      .planSection__top::before {
        left: 0;
        width: min(71.9rem,37.4%);
        height: 45.8rem;
        aspect-ratio: 719/458;
        background: url("../img/smart_t_campaign/plan_title_side01.png") no-repeat center center/contain; }
      .planSection__top::after {
        right: 0;
        width: min(72.6rem,37.8%);
        height: 48.6rem;
        aspect-ratio: 726/486;
        background: url("../img/smart_t_campaign/plan_title_side02.png") no-repeat center center/contain; } }
  .planSection__title {
    text-align: center; }
  .planSection__lead {
    margin-top: 1.5rem;
    text-align: center;
    font-size: 2.2rem;
    line-height: 1.8;
    letter-spacing: 0.06em;
    font-weight: bold;
    color: var(--clr-black); }
  .planSection__note {
    margin-top: 2rem;
    text-align: center;
    font-size: 1.4rem;
    line-height: 2.3;
    letter-spacing: 0.06em;
    font-weight: normal;
    color: var(--clr-black); }
  .planSection__inner {
    --cnt-w: 96rem;
    --inner-w: calc(100% - (var(--sideSpace) * 2));
    --innerSize: min(var(--inner-w), var(--cnt-w));
    width: var(--innerSize);
    margin: auto; }
  .planSection__plan {
    margin-top: 5rem; }
  .planSection__apply {
    margin-top: 7rem;
    text-align: center; }
  @media (max-width: 750px) {
    .planSection {
      padding-block: 4rem 5rem; }
      .planSection__top {
        padding-inline: var(--sideSpace); }
      .planSection__title {
        margin: auto;
        width: 30.3rem; }
      .planSection__lead {
        font-size: 1.4rem;
        line-height: 1.6;
        letter-spacing: 0.02em; }
      .planSection__note {
        margin-top: 1rem;
        font-size: 1.1rem;
        line-height: 1.6; }
      .planSection__plan {
        margin-top: 3rem; }
      .planSection__apply {
        margin-top: 3rem; } }

.planBox {
  --borderWidth: 4px;
  position: relative;
  border: var(--borderWidth) solid var(--border-clr);
  background: var(--clr-white);
  padding: 6rem 8rem 7.5rem; }
  .planBox::before {
    content: "";
    position: absolute;
    top: calc(var(--borderWidth) * -1);
    right: 0;
    left: 0;
    margin: auto;
    width: min(50rem,50%);
    height: 0.9rem;
    background: #084e8f;
    border-radius: 0 0 4px 4px; }
  .planBox__title {
    text-align: center; }
  .planBox__fee {
    margin-top: 3.8rem; }
  .planBox__point {
    margin-top: 6rem; }
  .planBox__feature {
    margin-top: 5rem; }
  .planBox__btn {
    margin: 3.5rem auto 0;
    width: min(70.5rem,89.2%); }
  @media (max-width: 750px) {
    .planBox {
      --borderWidth: 3px;
      padding: 2.5rem 2.7rem; }
      .planBox::before {
        width: min(20rem,61.7%);
        height: 0.5rem; }
      .planBox__fee {
        margin-top: 1.3rem; }
      .planBox__point {
        margin-top: 2rem; }
      .planBox__feature {
        margin-top: 2rem; }
      .planBox__btn {
        margin-top: 2rem; } }

.feeBox {
  border: 4px solid #ebeac8;
  background: #fcfbe4;
  padding: 3.5rem; }
  .feeBox__ribbon {
    text-align: center; }
  .feeBox__fee {
    text-align: center; }
  @media (max-width: 750px) {
    .feeBox {
      padding: 1.1rem 1.8rem; }
      .feeBox__fee {
        margin-top: 1.3rem; } }

.pointBox__title {
  text-align: center; }

.pointList {
  list-style: none;
  display: flex;
  justify-content: center;
  gap: 2rem; }
  .pointList__list {
    display: flex;
    flex-direction: column;
    gap: 1.5rem; }
  .pointList__text {
    display: flex;
    align-items: center;
    gap: 1rem; }
  .pointList .number {
    display: grid;
    place-content: center;
    width: 4rem;
    aspect-ratio: 1;
    background: var(--clr-black);
    border-radius: 50%;
    color: var(--clr-white);
    font-size: 2.3rem;
    font-weight: bold;
    line-height: 1; }
  .pointList .text {
    font-size: 2rem;
    line-height: 1.5;
    letter-spacing: 0.06em;
    text-align: center;
    font-weight: bold;
    color: var(--clr-black); }
  @media (max-width: 750px) {
    .pointList {
      flex-direction: column;
      gap: 1rem; }
      .pointList__list {
        flex-direction: row-reverse;
        justify-content: space-between;
        gap: 0.4rem; }
      .pointList__text {
        gap: 0.8rem; }
      .pointList__img {
        flex: none;
        width: 11.1rem; }
      .pointList .number {
        width: 2.1rem;
        font-size: 1.1rem; }
      .pointList .text {
        flex: auto;
        font-size: 1.3rem;
        line-height: 1.6;
        text-align: start; } }

.featureBox__figure {
  text-align: center; }
.featureBox__catch {
  margin-top: 2.5rem;
  font-size: 2.1rem;
  line-height: 1.5;
  letter-spacing: 0.06em;
  font-weight: bold;
  text-align: center;
  color: var(--clr-black); }
.featureBox__text {
  margin-top: 1.5rem;
  font-size: 1.6rem;
  text-align: center;
  line-height: 1.75;
  font-weight: bold;
  color: var(--clr-black); }
@media (max-width: 750px) {
  .featureBox__catch {
    margin-top: 1rem;
    font-size: 1.3rem;
    line-height: 1.6;
    letter-spacing: 0; }
  .featureBox__text {
    margin-top: 1rem;
    font-size: 1rem;
    line-height: 1.9; } }

.spSection {
  position: relative;
  padding-block: 11rem 10rem; }
  .spSection::after {
    content: "";
    position: absolute;
    right: 0;
    left: 0;
    bottom: 0;
    margin: auto;
    width: min(calc(100% - var(--sideSpace) * 2),120rem);
    height: 0.4rem;
    background: var(--border-clr); }
  .spSection__inner {
    --cnt-w: 96rem;
    --inner-w: calc(100% - (var(--sideSpace) * 2));
    --innerSize: min(var(--inner-w), var(--cnt-w));
    width: var(--innerSize);
    margin: auto; }
  .spSection__title {
    text-align: center; }
  .spSection__discount {
    margin-top: 4rem; }
  .spSection__target {
    margin-top: 6rem; }
  @media (max-width: 750px) {
    .spSection {
      padding-block: 4rem 5rem; }
      .spSection__title {
        margin-inline: auto;
        width: min(27.9rem,84.5%); }
      .spSection__discount {
        margin-top: 2rem; }
      .spSection__target {
        margin-top: 3rem; } }

.discountBox {
  border: 4px solid #ebeac8;
  background: #fcfbe4;
  padding: 4rem; }
  .discountBox__title {
    text-align: center;
    font-size: 2.9rem;
    line-height: 1.4;
    letter-spacing: 0.06em;
    font-weight: bold;
    color: var(--clr-black); }
  .discountBox__fee {
    margin: 1.5rem auto 0;
    text-align: center; }
    @media (min-width: 750px) {
      .discountBox__fee {
        position: relative;
        width: fit-content;
        text-align: center;
        margin-inline: auto; }
        .discountBox__fee::before, .discountBox__fee::after {
          content: "";
          position: absolute;
          bottom: 1.5rem; }
        .discountBox__fee::before {
          left: -11rem;
          width: 10.5rem;
          height: 14.3rem;
          background: url("../img/smart_t_campaign/discount_dec01.webp") no-repeat center center/contain; }
        .discountBox__fee::after {
          right: -14rem;
          width: 13.3rem;
          height: 13.3rem;
          background: url("../img/smart_t_campaign/discount_dec02.webp") no-repeat center center/contain; } }
  .discountBox__btn {
    margin-top: 2rem;
    text-align: center; }
  .discountBox .btn {
    --borderWidth: 3px;
    --borderClr: var(--clr-black);
    --bg: var(--clr-white);
    --btn-w: min(61rem,63.5%);
    --fs: 2rem;
    --fc: var(--clr-black);
    --iconSize: 2rem;
    --fw: bold;
    line-height: 1;
    color: var(--fc); }
    .discountBox .btn::after {
      --iconBg: var(--clr-black);
      background-image: url("../img/smart_t_campaign/arrow_r-white.png"); }
    .discountBox .btn:hover {
      --bg: var(--clr-black);
      --fc: var(--clr-white); }
      .discountBox .btn:hover::after {
        --iconBg: var(--clr-white);
        background-image: url("../img/smart_t_campaign/arrow_r-black.png"); }
  @media (max-width: 750px) {
    .discountBox {
      border-width: 3px;
      padding: 1.8rem; }
      .discountBox__title {
        font-size: 1.5rem; } }
    @media (max-width: 750px) and (max-width: 750px) {
      .discountBox__title {
        position: relative;
        width: fit-content;
        text-align: center;
        margin-inline: auto; }
        .discountBox__title::before, .discountBox__title::after {
          content: "";
          position: absolute;
          bottom: -0.6rem; }
        .discountBox__title::before {
          left: -5.4rem;
          width: 4.1rem;
          height: 5.6rem;
          background: url("../img/smart_t_campaign/discount_dec01.webp") no-repeat center center/contain; }
        .discountBox__title::after {
          right: -6.2rem;
          width: 5.1rem;
          height: 5.1rem;
          background: url("../img/smart_t_campaign/discount_dec02.webp") no-repeat center center/contain; } }
  @media (max-width: 750px) {
      .discountBox__fee {
        margin-top: 1rem;
        max-width: 26.1rem; }
      .discountBox__btn {
        margin-top: 1.5rem; }
      .discountBox .btn {
        --borderWidth: 2px;
        --btn-w: min(29rem,89%);
        --fs: 1.2rem;
        --iconSize: 1.3rem;
        --arwSize: 0.7rem; } }

.targetBox__title {
  text-align: center;
  font-size: 3.1rem;
  letter-spacing: 0.06em;
  font-weight: bold;
  color: var(--clr-black); }
.targetBox__figure {
  margin-top: 3rem;
  text-align: center; }
.targetBox__text {
  margin-top: 1rem;
  font-size: 2.3rem;
  text-align: center;
  letter-spacing: 0.06em;
  font-weight: bold;
  color: var(--clr-black); }
.targetBox__fee {
  margin-top: 2.5rem;
  border: 4px solid #e2ebf0;
  background: var(--clr-white);
  padding: 3.8rem 4rem 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2rem;
  font-size: 2.1rem;
  font-weight: bold;
  line-height: 1;
  color: var(--clr-black); }
.targetBox__plan {
  --cnt-w: 74rem;
  --inner-w: calc(100% - (var(--sideSpace) * 2));
  --innerSize: min(var(--inner-w), var(--cnt-w));
  width: var(--innerSize);
  margin: auto;
  margin-top: 3rem; }
.targetBox__planTitle {
  text-align: center;
  font-size: 2.2rem;
  letter-spacing: 0.06em;
  font-weight: bold;
  color: var(--clr-black); }
.targetBox__planBtn {
  margin-top: 2.5rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem; }
.targetBox .btn {
  --padding: 0.8rem 1rem 1rem 1rem;
  --fs: 1.9rem;
  --iconSize: 2rem;
  --borderWidth: 3px;
  --borderClr: var(--clr-black);
  min-height: 7rem;
  place-content: center;
  line-height: 1.15; }
  .targetBox .btn .min {
    font-size: 1.4rem; }
  .targetBox .btn:hover {
    --bg: var(--clr-white);
    --borderClr: var(--clr-black);
    --iconBg: var(--clr-black);
    color: var(--clr-black); }
    .targetBox .btn:hover::after {
      background-image: url("../img/smart_t_campaign/arrow_r-white.png"); }
.targetBox__note {
  margin-top: 5rem;
  font-size: 1.4rem;
  line-height: 2.3;
  letter-spacing: 0.06em;
  color: #666; }
@media (max-width: 750px) {
  .targetBox__title {
    font-size: 1.7rem; }
  .targetBox__figure {
    margin-top: 1.5rem; }
  .targetBox__text {
    font-size: 1.4rem; }
  .targetBox__fee {
    margin-top: 1rem;
    border-width: 3px;
    padding: 1.5rem 1rem;
    flex-direction: column;
    gap: 1rem;
    font-size: 1.4rem; }
  .targetBox__plan {
    --cnt-w: 100%;
    --innerSize: var(--cnt-w);
    margin-top: 2rem; }
  .targetBox__planTitle {
    font-size: 1.5rem; }
  .targetBox__planBtn {
    margin-top: 1.5rem;
    grid-template-columns: 1fr;
    gap: 1rem; }
  .targetBox .btn {
    --fs: 1.3rem;
    --iconSize: 1.3rem;
    --borderWidth: 2px;
    min-height: 4rem; }
    .targetBox .btn .min {
      font-size: 1.1rem; }
  .targetBox__note {
    margin-top: 2rem;
    font-size: 1.1rem;
    line-height: 1.6; } }

.bnrSection {
  position: relative;
  padding-block: 7rem 9rem; }
  .bnrSection::after {
    content: "";
    position: absolute;
    right: 0;
    left: 0;
    bottom: 0;
    margin: auto;
    width: min(calc(100% - var(--sideSpace) * 2),120rem);
    height: 0.4rem;
    background: var(--border-clr); }
  .bnrSection__title {
    text-align: center;
    font-size: 2.4rem;
    line-height: 1.66;
    letter-spacing: 0.06em;
    font-weight: bold;
    color: var(--clr-black); }
    .bnrSection__title:nth-of-type(n + 2) {
      margin-top: 7rem; }
  .bnrSection__bnr {
    margin-top: 2.5rem; }
    .bnrSection__bnr--list {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 2rem; }
  @media (max-width: 750px) {
    .bnrSection {
      padding-block: 4rem 5rem; }
      .bnrSection .inner {
        --cnt-w: 100%; }
      .bnrSection__title {
        font-size: 1.6rem; }
        .bnrSection__title:nth-of-type(n + 2) {
          margin-top: 4rem; }
      .bnrSection__bnr {
        margin-top: 1rem; }
        .bnrSection__bnr--list {
          grid-template-columns: 1fr;
          gap: 1.5rem; } }

.bnr {
  transition-duration: var(--t-duration); }
  .bnr__text {
    margin-top: 1.2rem;
    text-align: center;
    font-size: 1.7rem;
    letter-spacing: 0.06em;
    font-weight: bold;
    color: var(--fc); }
  .bnr--smarta {
    --fc: #e73989; }
  .bnr--smartb {
    --fc: #7969b4; }
  .bnr--shinchiku {
    --fc: #00aedc; }
  .bnr:hover {
    filter: brightness(1.2); }
  @media (max-width: 750px) {
    .bnr__text {
      margin-top: 0.5rem;
      font-size: 1.4rem; } }

.flowSection {
  position: relative;
  padding-block: 8rem 10rem; }
  .flowSection::after {
    content: "";
    position: absolute;
    right: 0;
    left: 0;
    bottom: 0;
    margin: auto;
    width: min(calc(100% - var(--sideSpace) * 2),120rem);
    height: 0.4rem;
    background: var(--border-clr); }
  .flowSection__title {
    text-align: center; }
  .flowSection__list {
    --clm-num: 4;
    margin-top: 4.5rem;
    display: grid;
    grid-template-columns: repeat(var(--clm-num), 1fr);
    gap: 3rem; }
  @media (max-width: 750px) {
    .flowSection {
      padding-block: 5rem; }
      .flowSection::after {
        height: 0.2rem; }
      .flowSection__title {
        margin: auto;
        width: min(28.6rem,86.6%); }
      .flowSection__list {
        --clm-num: 1;
        margin-top: 3rem;
        gap: 2rem; } }

.flowItem {
  --borderWidth: 4px;
  --arrowSize: 3.5rem;
  display: flex;
  flex-direction: column;
  gap: 1.5rem; }
  .flowItem__img {
    position: relative;
    background: var(--clr-white);
    border: var(--borderWidth) solid var(--border-clr);
    aspect-ratio: 277/160;
    display: grid;
    place-content: center; }
    :where(.flowItem:not(:first-child)) .flowItem__img::before {
      content: "";
      position: absolute;
      top: 0;
      bottom: 0;
      margin: auto;
      left: calc(var(--arrowSize) * -1);
      width: var(--arrowSize);
      aspect-ratio: 35/31;
      background: url("../img/smart_t_campaign/flow_arrow.png") no-repeat center/contain; }
  .flowItem__title {
    text-align: center;
    font-size: 1.9rem;
    font-weight: bold;
    letter-spacing: 0.06em;
    color: var(--clr-black); }
  .flowItem__desc {
    margin-top: 0.8rem;
    font-size: 1.5rem;
    letter-spacing: 0.06em;
    line-height: 1.66;
    color: var(--clr-black); }
  .flowItem .btn {
    --borderWidth: 3px;
    --borderClr: var(--clr-black);
    --padding: 1.3rem 1.1rem;
    margin-top: 2rem;
    border: var(--borderWidth) solid var(--borderClr); }
    .flowItem .btn:hover {
      --bg: var(--clr-white);
      --fc: var(--clr-black);
      --iconBg: var(--clr-black);
      color: var(--fc); }
      .flowItem .btn:hover::after {
        background-image: url("../img/smart_t_campaign/arrow_r-white.png"); }
    .flowItem .btn--popup {
      --arwSize: 0.8rem;
      cursor: pointer; }
      .flowItem .btn--popup::after {
        background-image: url("../img/smart_t_campaign/plus.png"); }
      .flowItem .btn--popup:hover::after {
        background-image: url("../img/smart_t_campaign/plus-white.png"); }
  @media (max-width: 750px) {
    .flowItem {
      --borderWidth: 3px;
      flex-direction: row;
      gap: 2rem;
      align-items: center;
      min-height: 10rem; }
      .flowItem__img {
        aspect-ratio: initial;
        min-width: 12rem;
        height: 100%; }
        .flowItem__img img {
          width: 9rem; }
        :where(.flowItem:not(:first-child)) .flowItem__img::before {
          display: none; }
      .flowItem__text {
        flex: auto; }
      .flowItem__title {
        text-align: start;
        font-size: 1.6rem; }
      .flowItem__desc {
        font-size: 1.2rem; }
      .flowItem .btn {
        --padding: 0.8rem;
        margin-top: 1rem; } }

.popup {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.8);
  z-index: 9999;
  display: flex;
  justify-content: center;
  align-items: center;
  transition-duration: var(--t-duration);
  opacity: 1; }
  .popup:not(.is-active) {
    opacity: 0;
    visibility: hidden; }
  .popup__content {
    position: relative;
    background: var(--clr-white);
    padding-block: 0.7rem 4.5rem;
    max-width: 100rem;
    width: 100%; }
  .popup__btn {
    margin-top: 1.8rem;
    text-align: center; }
  .popup .closeBtn {
    position: relative;
    background: var(--clr-black);
    border-radius: 99em;
    width: 20rem;
    text-align: center;
    color: var(--clr-white);
    font-size: 1.6rem;
    letter-spacing: 0.06em;
    cursor: pointer;
    line-height: 1;
    padding: 1.3rem;
    transition-duration: var(--t-duration); }
    .popup .closeBtn::after {
      --iconSpace: 1.5rem;
      --iconSize: 1.2rem;
      content: "";
      position: absolute;
      top: 0;
      bottom: 0;
      right: var(--iconSpace);
      margin-block: auto;
      width: var(--iconSize);
      height: var(--iconSize);
      mask: url("../img/smart_t_campaign/cross.png") no-repeat center center;
      background-color: var(--clr-white); }
    .popup .closeBtn:hover {
      background: var(--clr-white);
      color: var(--clr-black); }
      .popup .closeBtn:hover::after {
        background-color: var(--clr-black); }

.voiceSection {
  position: relative;
  padding-block: 8rem 10rem; }
  .voiceSection::after {
    content: "";
    position: absolute;
    right: 0;
    left: 0;
    bottom: 0;
    margin: auto;
    width: min(calc(100% - var(--sideSpace) * 2),120rem);
    height: 0.4rem;
    background: var(--border-clr); }
  .voiceSection__inner {
    --cnt-w: 80.8rem;
    --inner-w: calc(100% - (var(--sideSpace) * 2));
    --innerSize: min(var(--inner-w), var(--cnt-w));
    width: var(--innerSize);
    margin: auto; }
  .voiceSection__title {
    text-align: center; }
  .voiceSection__talk {
    margin-top: 4.5rem;
    display: grid;
    grid-template-columns: 1fr;
    gap: 3rem; }
  @media (max-width: 750px) {
    .voiceSection {
      padding-block: 5rem; }
      .voiceSection::after {
        height: 0.2rem; }
      .voiceSection__title {
        margin: auto;
        width: min(19.2rem,58.1%); }
      .voiceSection__talk {
        margin-top: 3rem;
        gap: 2rem; } }

.voiceItem {
  display: flex;
  justify-content: space-between;
  gap: 2.8rem; }
  .voiceItem--b {
    flex-direction: row-reverse; }
  .voiceItem__person {
    flex: none;
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem; }
  .voiceItem__name {
    text-align: center;
    font-weight: bold;
    font-size: 1.9rem;
    letter-spacing: 0.06em;
    line-height: 1;
    color: var(--clr-black); }
  .voiceItem__speech {
    position: relative;
    font-weight: bold;
    font-size: 1.9rem;
    letter-spacing: 0.06em;
    line-height: 1.78;
    border: 4px solid var(--border-clr);
    background: var(--clr-white);
    padding: 5rem;
    width: min(80.8rem,81.68%);
    color: var(--clr-black); }
    .voiceItem__speech::before, .voiceItem__speech::after {
      content: "";
      position: absolute;
      top: 6.5rem; }
    .voiceItem__speech:before {
      margin-top: -12px;
      border: 12px solid transparent;
      z-index: 2; }
    .voiceItem__speech:after {
      margin-top: -14px;
      border: 14px solid transparent;
      z-index: 1; }
    :where(.voiceItem--a) .voiceItem__speech:before {
      left: -24px;
      border-right: 12px solid var(--clr-white); }
    :where(.voiceItem--a) .voiceItem__speech:after {
      left: -30px;
      border-right: 14px solid var(--border-clr); }
    :where(.voiceItem--b) .voiceItem__speech:before {
      right: -24px;
      border-left: 12px solid var(--clr-white); }
    :where(.voiceItem--b) .voiceItem__speech:after {
      right: -30px;
      border-left: 14px solid var(--border-clr); }
  @media (max-width: 750px) {
    .voiceItem {
      gap: 1rem; }
      .voiceItem__person {
        gap: 0.5rem;
        width: 7.5rem;
        place-content: center; }
      .voiceItem__name {
        font-size: 1.3rem; }
      .voiceItem__speech {
        font-size: 1.3rem;
        line-height: 1.61;
        border-width: 3px;
        padding: 1.5rem;
        min-width: 24rem;
        flex: auto; }
        .voiceItem__speech::before, .voiceItem__speech::after {
          top: 6.5rem; }
        .voiceItem__speech:before {
          margin-top: -6px;
          border: 6px solid transparent; }
        .voiceItem__speech:after {
          margin-top: -7px;
          border: 7px solid transparent; }
        :where(.voiceItem--a) .voiceItem__speech:before {
          left: -11px;
          border-right: 6px solid var(--clr-white); }
        :where(.voiceItem--a) .voiceItem__speech:after {
          left: -15px;
          border-right: 7px solid var(--border-clr); }
        :where(.voiceItem--b) .voiceItem__speech:before {
          right: -11px;
          border-left: 6px solid var(--clr-white); }
        :where(.voiceItem--b) .voiceItem__speech:after {
          right: -15px;
          border-left: 7px solid var(--border-clr); } }

.faqSection {
  position: relative;
  padding-block: 8rem 14.5rem; }
  .faqSection__title {
    text-align: center; }
  .faqSection__list {
    margin-top: 4rem; }
  @media (max-width: 750px) {
    .faqSection {
      padding-block: 4rem 6rem; }
      .faqSection__title {
        margin: auto;
        width: min(23.9rem,72.4%); }
      .faqSection__list {
        margin-top: 3rem; } }

.faq-list {
  background: var(--clr-white); }
  .faq-list > li {
    border-color: var(--border-clr);
    border-width: 3px 3px 0;
    display: grid;
    grid-template-columns: auto 1fr; }
    .faq-list > li:last-child {
      border-width: 3px; }
    .faq-list > li::before {
      border-right: 3px solid var(--border-clr);
      background: #fdfefe;
      color: var(--clr-black); }
    .faq-list > li a {
      width: 100%; }
      .faq-list > li a::before {
        border-left: 6px solid var(--clr-black); }
  .faq-list-text {
    color: var(--clr-black); }
  @media (max-width: 750px) {
    .faq-list > li {
      border-width: 2px 2px 0; }
      .faq-list > li:last-child {
        border-width: 2px; }
      .faq-list > li::before {
        border-width: 2px; } }

.explainSection {
  background: var(--clr-white);
  padding-block: 10rem 12rem; }
  .explainSection__title {
    text-align: center;
    font-size: 2.4rem;
    letter-spacing: 0.06em;
    font-weight: bold;
    color: var(--clr-black); }
    .explainSection__title:nth-of-type(n + 2) {
      margin-top: 8rem; }
  .explainSection__text {
    margin-top: 4rem;
    font-size: 1.4rem;
    letter-spacing: 0.06em;
    line-height: 2.35;
    color: var(--clr-black); }
  @media (max-width: 750px) {
    .explainSection {
      padding-block: 4rem 6rem; }
      .explainSection__title {
        font-size: 1.7rem; }
        .explainSection__title:nth-of-type(n + 2) {
          margin-top: 4rem; }
      .explainSection__text {
        margin-top: 1.5rem;
        font-size: 1.2rem;
        line-height: 1.66; } }

.js-move {
  transform: translate(0, 50px); }
