@import url("https://fonts.googleapis.com/css2?family=Lobster&family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap");
/*********************************
 *
 * COMMON
 *
 *********************************/
body {
  color: #393939;
  font-family: "Noto Sans JP", sans-serif;
  font-size: min(1.12vw, 16px);
  font-weight: 500; }
  @media screen and (max-width: 750px) {
    body {
      font-size: 3.6vw;
      -webkit-text-size-adjust: 100%; }
      body .pc {
        display: none !important; } }
  @media screen and (min-width: 751px) {
    body a {
      transition: 0.3s; }
      body a:hover {
        opacity: 0.8; }
    body .sp {
      display: none !important; } }
  body a {
    text-decoration: none; }

/* font */
strong {
  font-weight: 900; }

.fs18 {
  font-size: min(1.26vw, 18px); }
  @media screen and (max-width: 750px) {
    .fs18 {
      font-size: min(3.6vw, 16px); } }

.fs20 {
  font-size: min(1.4vw, 20px); }
  @media screen and (max-width: 750px) {
    .fs20 {
      font-size: min(3.6vw, 16px); } }

.fs24 {
  font-size: min(1.6vw, 24px); }
  @media screen and (max-width: 750px) {
    .fs24 {
      font-size: min(3.6vw, 16px); } }

.fs28 {
  font-size: min(1.96vw, 28px); }
  @media screen and (max-width: 750px) {
    .fs28 {
      font-size: min(4.05vw, 18px); } }

.fs30 {
  font-size: min(2.1vw, 30px); }
  @media screen and (max-width: 750px) {
    .fs30 {
      font-size: min(4.5vw, 20px); } }

.fs32 {
  font-size: min(2.24vw, 32px); }
  @media screen and (max-width: 750px) {
    .fs32 {
      font-size: min(5.4vw, 24px); } }

.fs36 {
  font-size: min(2.52vw, 36px); }
  @media screen and (max-width: 750px) {
    .fs36 {
      font-size: min(5.85vw, 26px); } }

.fs40 {
  font-size: min(2.8vw, 40px); }
  @media screen and (max-width: 750px) {
    .fs40 {
      font-size: min(5.85vw, 26px); } }

.fs42 {
  font-size: min(2.94vw, 42px); }
  @media screen and (max-width: 750px) {
    .fs42 {
      font-size: min(5.85vw, 26px); } }

.fs50 {
  font-size: min(3.5vw, 50px); }
  @media screen and (max-width: 750px) {
    .fs50 {
      font-size: min(6.75vw, 30px); } }

.fs52 {
  font-size: min(3.64vw, 52px); }
  @media screen and (max-width: 750px) {
    .fs52 {
      font-size: min(6.75vw, 30px); } }

.fs60 {
  font-size: min(4.2vw, 60px); }
  @media screen and (max-width: 750px) {
    .fs60 {
      font-size: min(6.525vw, 29px); } }

/* fadeUp */
.fadeUp {
  animation-name: fadeUpAnime;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
  opacity: 0; }

@-webkit-keyframes fadeUpAnime {
  from {
    opacity: 0;
    transform: translateY(100px); }
  to {
    opacity: 1;
    transform: translateY(0); } }
@keyframes fadeUpAnime {
  from {
    opacity: 0;
    transform: translateY(100px); }
  to {
    opacity: 1;
    transform: translateY(0); } }
.fadeUpTrigger {
  opacity: 0; }

main img {
  width: 100%;
  height: auto;
  display: block;
}

/*********************************
 *
 * MAIN
 *
 *********************************/
main {
  padding: 0;
  font-weight: 600; }
  main p {
    padding-top: 1em; }
    @media screen and (max-width: 750px) {
      main p {
        padding-top: 1.5em; } }
  @media screen and (min-width: 751px) {
    main a[href^="tel:"] {
      pointer-events: none;
      border: 0 !important;
      color: #393939 !important; } }

/*********************************
 * MV
 *********************************/
#mv {
  width: 100%;
  aspect-ratio: 1440/640;
  background: url(/img/campaign/campaign_support_202304/mv_bg.jpg) center center no-repeat;
  background-size: contain;
}
#mv .mv_inner {
  width: 77%;
  margin: 0 auto;
  max-width:1400px;
}
#mv .mv_inner h1 {
  position: relative;
  z-index: 2;
}

.mv-presents {
  container-type: inline-size;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2.727cqw; /* 30px */
  position: relative;
  z-index: 1;
}
.mv-presents__box {
  background-color: rgba(255,255,255,0.9);
  border-radius: 0.455cqw; /* 5px */
  padding: 2.545cqw 2.545cqw 3.8cqw 3.636cqw; /* 28px 28px 28px 40px */
  display: grid;
  grid-template-columns: 40% 1fr;
}
.mv-presents__box-02 {
  grid-template-columns: 46% 1fr;
}
.mv-presents__box__head {
  color: #F84C22;
  line-height: 1;
  position: relative;
}
.mv-presents__box__head .title {
  font-size: 2.545cqw; /* 28px */
  font-family: "Lobster", sans-serif;
  font-style: italic;
  font-weight: 400;
  margin: 2.182cqw 0 0.909cqw; /* 24px 0 10px */
}
.mv-presents__box__head .price .num {
  font-size: 5.727cqw; /* 63px */
}
.mv-presents__box-02 .price .num {
  font-size: 4.909cqw; /* 54px */
  letter-spacing: -2px;
}
.mv-presents__box__head .price .yen {
  font-size: 3.273cqw; /* 36px */
}
.mv-presents__box__body {
  border-left: dashed 0.091cqw #F84C22; /* 1px */
  padding-left: 2.545cqw; /* 28px */
  font-size: 1.818cqw; /* 22px */
}
.mv-presents__box-02 .mv-presents__box__body {
  font-size: 1.818cqw; /* 20px */
}
.mv-presents__box__body em {
  font-weight: 900;
}
.mv-presents__box__present-01,
.mv-presents__box__present-02 {
  position: absolute;
}
.mv-presents__box__present-01 {
  width: 6.636cqw; /* 73px */
  height: 7.455cqw; /* 82px */
  right: -1.545cqw; /* -17px */
  top: -5.273cqw; /* -58px */
}
.mv-presents__box__present-02 {
  width: 8.545cqw; /* 94px */
  height: 10.182cqw; /* 112px */
  right: -1.545cqw; /* -17px */
  top: -5.273cqw; /* -58px */
}
@media screen and (max-width: 750px) {
  #mv {
    aspect-ratio: 375/358;
    background-image: url(/img/campaign/campaign_support_202304/mv_bg_sp.jpg);
  }
  #mv .mv_inner {
    width: 100%;
  }
  .mv-presents {
    width: 89.6%;
    margin: -9.6vw auto 0;
    container-type: unset;
    gap: 5.333vw;
  }
  .mv-presents__box {
    border-radius: 1.333vw;
    padding: 3.467vw 2.4vw;
    grid-template-columns: 1fr;
  }
  .mv-presents__box__head {
    text-align: center;
  }
  .mv-presents__box__head .title {
    font-size: 3.733vw;
    margin: 0 0 1.333vw;
  }
  .mv-presents__box__head .price {
  }
  .mv-presents__box__head .price .num {
    font-size: 8vw;
    letter-spacing: 0;
  }
  .mv-presents__box__head .price .yen {
    font-size: 3.733vw;
  }
  .mv-presents__box-01 .mv-presents__box__body,
  .mv-presents__box-02 .mv-presents__box__body {
    border-left: none;
    padding: 0;
    font-size: 3.2vw;
    text-align: center;
    line-height: 1.5;
    margin-top: 2.667vw;
  }
  .mv-presents__box__present-01 {
    width: 11.2vw;
    height: auto;
    left: -0.533vw;
    top: -5.867vw;
  }
  .mv-presents__box__present-02 {
    width: 13.333vw;
    height: auto;
    left: unset;
    top: -7.467vw;
    right: -4vw;
  }

}

/*********************************
 * about
 *********************************/
#about {
  overflow-y: hidden;
  padding: 2.5em 0 5.5em 0;
  background-color: #F2FAFF; }
  @media screen and (max-width: 750px) {
    #about {
      padding: 1.67em 0 2.5em 0; } }
  #about.white {
    padding: 6.5em 0 6.5em 0;
    background-color: #fff; }
    @media screen and (max-width: 750px) {
      #about.white {
        padding: 0 0 2.5em 0; }
      #about {
        position: relative;
        padding-bottom: 10px;
      }
      #about::after {
        content: "";
        display: block;
        width: 100%;
        height: 40px;
        position: absolute;
        z-index: 0;
        left: 0;
        bottom: 0;
        background-color: #fff;
      }
    }
  #about ul.about_list {
    display: flex;
    justify-content: space-between;
    width: 77%;
    max-width: 1100px;
    margin: 0 auto; }
    @media screen and (max-width: 750px) {
      #about ul.about_list {
        flex-wrap: wrap;
        width: 92%;
        position: relative;
        z-index: 1;} }
    #about ul.about_list li {
      position: relative;
      width: 48.2%;
      padding: 0.7em;
      background-color: #fff;
      border-radius: 0.3em;
      box-shadow: 0.3em 0.3em 0 rgba(0, 0, 0, 0.05);
      text-align: center; }
      @media screen and (max-width: 750px) {
        #about ul.about_list li {
          width: 100%;
          margin: 2em 0 0 0; } }
  #about .about_box {
    display: flex;
    align-content: flex-start;
    justify-content: center;
    flex-direction: column;
    height: 100%;
    padding: 1.1em;
    border: 0.28em solid #D0A900;
    border-radius: 0.3em; }
    #about .about_box img {
      margin-top: auto; }
  #about .num {
    padding: 0.7em 0 0 0;
    color: #DB3333;
    font-family: "Lobster", sans-serif;
    font-style: italic;
    font-weight: 400; }
  #about .ttl {
    padding: 0.1em;
    font-weight: 900;
    line-height: 1.5;
    position: relative;
  }
  #about .ttl::after {
    content: "";
    display: block;
    width: 40px;
    height: 4px;
    background-color: #DB3333;
    margin: 24px auto 0;
  }
  #about .note {
    padding: 1em 0 1.2em;
    line-height: 1.75; }

  .about__more {
    font-weight: 900;
    color: #3670B8;
    text-align: center;
    padding-left: 0.5em;
  }
  .about__lead {
    text-align: center;
    font-size: 1em;
    font-weight: 500;
    margin-bottom: 3em;
  }
  .about__lead p {
    padding-top: 0;
  }
  .about__lead em {
    color: #F84C22;
  }
  .about__lead .bold {
    font-weight: 700;
  }
  @media screen and (max-width: 750px) {
    .about__lead {
      font-size: 3.2vw;
      margin-bottom: 0;
    }
    .about__lead p + p {
      margin-top: 1em;
    }
    #about .ttl::after {
      width: 8vw;
      height: 0.8vw;
      margin: 16px auto;
    }
    #about .ttl.fs40 {
      font-size: 6.933vw;
    }
    #about .note.fs20 {
      font-size: 4vw;
      margin-top: 0;
      padding-top: 0;
    }
    .about__more.fs50 {
      font-size: 8vw;
    }

  }


/*********************************
 * cta-section-01
 *********************************/
.cta-section-01 {
  padding: 5.5em 0;
}
.cta-section-01__inner {
  width: 77%;
  max-width: 1100px;
  margin: 0 auto;
}
.cta-section-01__inner .cta-btn_01 {
  max-width: 730px;
  margin: 0 auto;
}
.cta-btn_01 {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: linear-gradient(#f84c22 0%, #db3333 100%);
  box-shadow: 0px 3px 0px #ab2200;
  padding: 25px 25px 32px;
  color: #fff;
  position: relative;
}
.cta-btn_01::after {
  content: "";
  display: block;
  width: 45px;
  height: 45px;
  background: url(/img/campaign/campaign_support_202304/icn_arrow_01.png) center center no-repeat;
  background-size: contain;
  position: absolute;
  right: 20px;
  top: 50%;
  margin-top: -22px;
}
.cta-btn_01__catch {
  font-size: 32px;
  font-weight: 700;
  line-height: 1.6;
  position: relative;
}
.cta-btn_01__catch::before {
  content: "";
  display: block;
  width: 93px;
  height: 92px;
  background: url(/img/campaign/campaign_support_202304/icn_free.png) center center no-repeat;
  background-size: contain;
  position: absolute;
  left: -100px;
  top: -52px;
}
.cta-btn_01__catch::after {
  content: "";
  display: block;
  width: 75px;
  height: 110px;
  background: url(/img/campaign/campaign_support_202304/icn_smartphone.png) center center no-repeat;
  background-size: contain;
  position: absolute;
  right: -84px;
  top: -58px;
}
.cta-btn_01__text {
  font-size: 48px;
  font-weight: 700;
  line-height: 1.3;
}
@media screen and (max-width: 750px) {
  .cta-section-01 {
    padding: 20px 0 30px;
  }
  .cta-section-01__inner {
    width: 92%;
  }
  .cta-section-01__inner .cta-btn_01 {
    width: 100%;
  }
  .cta-btn_01 {
    padding: 18px 20px;
  }
  .cta-btn_01__catch {
    font-size: 16px;
  }
  .cta-btn_01__text {
    font-size: 24px;
  }
  .cta-btn_01__catch::before {
    width: 54px;
    height: 54px;
    left: -58px;
    top: -25px;
  }
  .cta-btn_01__catch::after {
    width: 36px;
    height: 50px;
    right: -42px;
    top: -23px;
  }
  .cta-btn_01::after {
    width: 24px;
    height: 24px;
    margin-top: -12px;
    right: 10px;
  }


}



/*********************************
 * present
 *********************************/
#present {
  overflow-y: hidden;
  background-color: #F2FAFF; }
  #present .ttl {
    padding: 0;
    color: #3670B8;
    font-weight: 800;
    letter-spacing: 0.02em;
    text-align: center; }
  #present .present_inner {
    position: relative;
    margin: 1.7em 0 0 0;
    padding: 4.3em 0 2.7em 0;
    background: url("/img/campaign/campaign_support_202304/bg_stripe.png");
    text-align: center; }
    @media screen and (max-width: 750px) {
      #present .present_inner {
        padding: 4em 0 2.7em 0; } }
    #present .present_inner::after {
      position: absolute;
      display: block;
      content: "";
      width: 5.6em;
      top: -1px;
      background-color: #F2FAFF;
      height: calc(tan(60deg) * 2.4em / 2);
      left: calc(50% - 2.8em);
      clip-path: polygon(0 0, 100% 0, 50% 100%); }
    #present .present_inner img {
      width: 62.5%;
      max-width: 900px; }
      @media screen and (max-width: 750px) {
        #present .present_inner img {
          width: 92%; } }

/*********************************
 * flow
 *********************************/
#flow {
  overflow-y: hidden;
  padding: 2.5em 0 1em 0;
  background-color: #F2FAFF; }
  @media screen and (max-width: 750px) {
    #flow {
      padding: 0 0 1em 0; } }
  #flow .flow_inner {
    width: 77%;
    max-width: 1100px;
    margin: 0 auto; }
    @media screen and (max-width: 750px) {
      #flow .flow_inner {
        width: 92%; } }
  #flow .h2_en {
    color: #3670B8;
    font-family: "Lobster", sans-serif;
    font-weight: 500;
    text-align: center; }
  #flow h2 {
    font-weight: 800;
    text-align: center; }
  #flow .flow_box {
    position: relative;
    overflow: hidden;
    display: flex;
    justify-content: space-between;
    margin: 1.7em 0 0 0;
    background-color: #fff;
    border-radius: 0.5em;
    box-shadow: 0.3em 0.3em 0 rgba(0, 0, 0, 0.05); }    
    @media screen and (max-width: 750px) {
      #flow .flow_box {
        flex-wrap: wrap;
        flex-direction: column-reverse;
        margin: 0.4em 0 0 0; } }
  #flow h2 + .flow_box {
    margin: 3em 0 0 0; }
    @media screen and (max-width: 750px) {
      #flow h2 + .flow_box {
        margin: 2em 0 0 0; } }
  #flow .txt_box {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 58%;
    padding: 2em 0; }
    @media screen and (max-width: 750px) {
      #flow .txt_box {
        width: 100%;
        padding: 1.5em 0 2.5em 0; } }
  #flow dl {
    display: flex;
    align-items: center;
    width: 88%; }
    @media screen and (max-width: 750px) {
      #flow dl {
        flex-wrap: wrap;
        width: 90%;
      } }
    #flow dl dt {
      padding: 0 1.8em 0 0;
      color: #fff;
      font-family: "Lobster", sans-serif;
      font-weight: 400;
      letter-spacing: 0.05em; }
      @media screen and (max-width: 750px) {
        #flow dl dt {
          width: 100%;
          padding: 0;
          text-align: center; } }
      #flow dl dt p {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        padding: 0;
        width: 2.2em;
        height: 2.2em;
        background-color: #F74C00;
        border-radius: 50%;
        line-height: 1; }
        @media screen and (max-width: 750px) {
          #flow dl dt p {
            margin: 0 auto; } }
    @media screen and (max-width: 750px) {
      #flow dl dd {
        width: 100%;
        text-align: center; } }
    #flow dl dd .ttl {
      padding: 0;
      color: #F74C00;
      font-weight: 900; }
      @media screen and (max-width: 750px) {
        #flow dl dd .ttl {
          padding: 0.5em 0 0 0; } }
    #flow dl dd .note {
      padding-top: 0.8em;
      line-height: 1.8;
      font-feature-settings: "palt";
    }
    #flow dl dd .note em {
      display: inline;
      color: #F84C22;
    }
    @media screen and (max-width: 750px) {
          #flow dl dd .note.fs20 {
            font-size: 4.26vw;
          }
    }

  #flow .img_box {
    width: 42%;
    max-width: 460px; }
    @media screen and (max-width: 750px) {
      #flow .img_box {
        width: 100%;
        max-width: none; } }
    #flow .img_box img {
      width: 100%;
      height: 100%;
      object-fit: cover; }
  #flow .arw_txt {
    padding: 0.5em 0 0 0;
    color: #3670B8;
    text-align: center;
    font-weight: 900;
  }
    @media screen and (max-width: 750px) {
      #flow .arw_txt {
        padding: 1em 0 0 0;
        line-height: 1; }
      #flow .arw_txt.fs30 {
        font-size: 6.4vw;
        line-height: 1.4;
      }
    }
      
  #flow .arw {
    width: 9%;
    height: 2em;
    margin: 1.1em auto 0 auto; }
    @media screen and (max-width: 750px) {
      #flow .arw {
        width: 18%;
        height: 2.5em; } }

  #flow .flow_box a {
    color:#F84C22;
    text-decoration: underline;
    font-weight: 700;
  }

/*********************************
 * mypage
 *********************************/
.mypage {
  background-color: #fff;
}
.mypage {
  background-color: #fff;
}
.mypage__inner {
  margin: 0 auto;
  padding: 10.909cqw 0 11.909cqw; /* 120px 0 131px */
  width: 77%;
  position: relative;
  container-type: inline-size;
}
.mypage__inner::before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-top: 2.727cqw solid #F2FAFF; /* 30px */
  border-left: 3.636cqw solid transparent; /* 40px */
  border-right: 3.636cqw solid transparent; /* 40px */
  position: absolute;
  top: 0;
  left: 50%;
  margin-left: -3.636cqw; /* -40px */
}
.mypage-01 {
  display: flex;
  justify-content: space-between;
}
.mypage-01__main {
  margin-top: -1.455cqw; /* -16px */
}
.mypage__heading {
  display: flex;
  flex-direction: column;
  font-weight: 900;
  line-height: 1.4;
}
.mypage__heading span {
  color: #3670B8;
  font-size: 3.636cqw; /* 40px */
}
.mypage__heading em {
  color: #F84C22;
  font-size: 4.909cqw; /* 54px */
}
.mypage-01__function {
  background-color: #F2FAFF;
  border-radius: 0.909cqw; /* 10px */
  padding: 2.727cqw 3.636cqw; /* 30px 40px */
  margin-top: 1.818cqw; /* 20px */
}
.mypage-01__function > p {
  font-size: 1.818cqw; /* 20px */
  line-height: 1;
  font-weight: 900;
  padding-top: 0;
}
.mypage-01__function > p em {
  color:#F74C00;
  font-size: 2.182cqw; /* 24px */
}
.mypage-01__function > ul {
  margin-top: 1em;
  display: flex;
  align-items: center;
}
.mypage-01__function > ul li {
  display: flex;
  align-items: center;
  color: #3670B8;
  margin-right: 1.5em;
}
.mypage-01__function > ul li::before {
  content: "";
  display: block;
  width: 0.545cqw; /* 6px */
  height: 0.545cqw; /* 6px */
  border-radius: 50%;
  background-color: #3670B8;
  margin-right: 0.5em;
}
.mypage-01__point {
  width: 40.45cqw;
  position: relative;
  z-index: 0;
}
.mypage-01__point::before {
  content: "";
  width: 36.909cqw; /* 406px */
  height: 36.909cqw; /* 406px */
  border-radius: 50%;
  background-color: #F2FAFF;
  position: absolute;
  left: 50%;
  top: -4.091cqw; /* -45px */
  margin-left: -18.455cqw; /* -203px */
  z-index: 1;
}
.mypage-01__point figure {
  position: relative;
  z-index: 2;
  box-shadow: 0px 0.273cqw 0.545cqw rgba(0, 0, 0, 0.16);
}
.mypage-02 {
  margin-top: 5.455cqw; /* 60px */
  margin-left: 3.818cqw; /* 42px */
}
.mypage-02__heading {
  width: 63.636cqw; /* 700px */
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  color: #fff;
  text-align: center;
  font-size: 2.182cqw; /* 24px */
  font-weight: 700;
  padding: 1.636cqw; /* 18px */
  background-color: #3670B8;
  border-radius: 0.455cqw; /* 5px */
}
.mypage-02__heading::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-top: 3.636cqw solid #3670B8; /* 40px */
  border-left: 2.455cqw solid transparent; /* 27px */
  border-right: 2.455cqw solid transparent; /* 27px */
  position: absolute;
  left: calc(50% - 2.455cqw); /* calc(50% - 27px) */
  bottom: -1.818cqw; /* -20px */
}
.mypage-02__container {
  margin-top: 4.091cqw; /* 45px */
  display: grid;
  grid-template-columns: 44.909cqw 43.727cqw; /* 494px 481px */
  gap: 7.545cqw; /* 83px */
}
.mypage-point--02 {
  display: grid;
  grid-template-columns: 21.818cqw 21.273cqw; /* 240px 234px */
  gap: 1.818cqw; /* 20px */
}
.mypage-02 .mypage-point {
  position: relative;
  z-index: 1;
}
.mypage-02__container figure img {
  box-shadow: 0px 0.273cqw 0.545cqw rgba(0, 0, 0, 0.16); /* 0px 3px 6px */
}
.mypage-02__circle {
  width: 18.182cqw; /* 200px */
  height: 18.182cqw; /* 200px */
  border-radius: 50%;
  background-color: #D0A900;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.545cqw; /* 28px */
  font-weight: 700;
  position: absolute;
  z-index: 2;
  left: -3.636cqw; /* -40px */
  bottom: -2.727cqw; /* -30px */
  flex-direction: column;
  line-height: 1.3;
}

@media screen and (max-width: 750px) {
  .mypage__inner::before {
    border-top: 8vw solid #F2FAFF;
    border-left: 1.067vw solid transparent;
    border-right: 1.067vw solid transparent;
    margin-left: -1.067vw;
  }
  .mypage__inner {
    padding: 10.667vw 0 56.267vw;
    width: 92%;
    container-type: unset;
  }
  .mypage-01 {
    flex-direction: column;
  }
  .mypage-01__main {
    margin-top: 0;
  }
  .mypage__heading {
    align-items: center;
    position: relative;
    z-index: 1;
  }
  .mypage__heading span {
    font-size: 6.4vw;
  }
  .mypage__heading em {
    font-size: 8.533vw;
  }
  .mypage-01__function {
    position: absolute;
    width: 100%;
    left: 0;
    bottom: 8vw;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .mypage-01__function > p {
    font-size: 4.267vw;
    line-height: 1.5;
    text-align: center;
  }
  .mypage-01__function > p em {
    font-size: 5.333vw;
  }
  .mypage-01__function > ul {
    display: inline-block;
  }
  .mypage-01__function > ul li {
    font-size: 4.8vw;
  }
  .mypage-01__function > ul li::before {
    width: 1.6vw;
    height: 1.6vw;
  }
  .mypage-01__function > ul li {
    margin-right: 0;
  }
  .mypage-01__point {
    width: 85.333vw;
    margin: 4.26vw auto 0;
  }
  .mypage-01__point::before {
    width: 79.2vw;
    height: 79.2vw;
    top: -9.067vw;
    left: calc(50% - 39.6vw);
    margin: 0;
  }
  .mypage-02 {
    margin: 6.4vw auto 0;
    width: 85.333vw;
  }
  .mypage-02__heading {
    width: 64.533vw;
    font-size: 4.267vw;
    padding: 2.133vw 2.133vw 3.733vw;
    line-height: 1.4;
    border-radius: 1.333vw;
  }
  .mypage-02__heading::after {
    border-top-width: 7.467vw;
    border-left-width: 2.667vw;
    border-right-width: 2.667vw;
    left: calc(50% - 2.667vw);
    bottom: -3.733vw;
  }
  .mypage-02__container {
    margin: 6.4vw auto 0;
    width: 85.333vw;
    grid-template-columns: 1fr;
    gap: 6.933vw;
  }
  .mypage-point--02 {
    grid-template-columns: 41.867vw 41.067vw;
    gap: 2.4vw;
  }
  .mypage-02__circle {
    width: 33.6vw;
    height: 33.6vw;
    font-size: 4.8vw;
    bottom: -4.267vw;
  }
  .mypage-point--02 .mypage-02__circle {
    left: unset;
    right: 0;
  }
  .mypage-point--03 .mypage-02__circle {
    left: 1.6vw;
  }
}


/*********************************
 * sns
 *********************************/
#sns {
  overflow-y: hidden;
  padding: 4em 0 6em 0;
  background: url("/img/campaign/campaign_support_202304/bg_stripe.png");
  color: #fff;
  text-align: center; }
  @media screen and (max-width: 750px) {
    #sns {
      padding: 2.5em 0 3em 0; }}
  .sns__heading {
    width: 77%;
    margin: 0 auto;
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    background-color: #D0A900;
    border-radius: 0.1em;
    padding: 30px;
  }
  @media screen and (max-width: 750px) {
    .sns__heading {
      width: 92%;
    }
  }
  .sns__heading__main {
      padding: 0 0.25em 0.1em 0.25em;
      font-weight: 800;
      letter-spacing: 0.08em; }
      @media screen and (max-width: 750px) {
        .sns__heading__main {
          line-height: 1.3; } }
  .sns__heading__main br {
    display: none;
  }
      @media screen and (max-width: 750px) {
          .sns__heading__main br {
            display: inline;
          }
      }
  .sns__heading__sub {
      margin-top: 10px;
  }
  .sns__lead {
    font-size: 30px;
    color: #fff;
    font-weight: 700;
    margin: 30px auto;
  }
  @media screen and (max-width: 750px) {
    .sns__lead {
      font-size: 20px;
      margin: 20px auto;
    }
  }
  #sns ul.sns_list {
    width: 480px;
    margin: 0 auto;
    padding: 30px 36px;
    background: #fff;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-radius: 3px;
  }
  #sns ul.sns_list li a {
    display: grid;
    grid-template-columns: 56px 1fr;
    gap: 14px;
    text-align: left;
  }
  #sns ul.sns_list li a img {
    width: 56px;
    height: auto;
  }
  #sns ul.sns_list li a span {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.2;
  }
  @media screen and (max-width: 750px) {
      #sns ul.sns_list {
        width: 92%;
        padding: 5.33vw;
      }
      #sns ul.sns_list li a {
        grid-template-columns: 10.67vw 1fr;
        gap: 2.67vw;
      }
      #sns ul.sns_list li a img {
        width: 10.67vw;
      }
      #sns ul.sns_list li a span {
        font-size: 4.2vw;
      }
  }



    #sns ul.photo_list {
    display: flex;
    justify-content: space-between;
    width: 77%;
    max-width: 1100px;
    margin: 4.5em auto 0 auto; }
    @media screen and (max-width: 750px) {
      #sns ul.photo_list {
        flex-wrap: wrap;
        width: 92%;
        margin: 0 auto;
        padding: 1em 0 0 0; } }
    #sns ul.photo_list li {
      width: 18.2%;
      max-width: 200px; }
      @media screen and (max-width: 750px) {
        #sns ul.photo_list li {
          width: 48.7%;
          max-width: none;
          margin-top: 0.7em; } }

/*********************************
 * notice
 *********************************/
#notice {
  overflow-y: hidden;
  padding: 5.5em 0 5.5em 0;
  background-color: #F2FAFF; }
  @media screen and (max-width: 750px) {
    #notice {
      padding: 2.5em 0; } }
  #notice a {
    border-bottom: 1px solid #3670B8;
    color: #3670B8; }
  #notice .notice_inner {
    width: 77%;
    max-width: 1100px;
    margin: 0 auto;
    padding: 2em;
    background-color: #fff;
    border-radius: 0.5em;
    box-shadow: 0.3em 0.3em 0 rgba(0, 0, 0, 0.05); }
    @media screen and (max-width: 750px) {
      #notice .notice_inner {
        width: 92%;
        padding: 1em; } }
  #notice dl dt {
    padding-bottom: 0.5em;
    border-bottom: 1px solid #3670B8;
    color: #3670B8;
    font-weight: 800; }
    @media screen and (max-width: 750px) {
      #notice dl dt {
        font-size: min(4.05vw, 18px); } }
  #notice dl dd {
    padding: 1.5em 0;
    line-height: 1.8; }
    #notice dl dd + dd {
      border-top: 1px solid #ccc; }
  #notice .notice_box + dl {
    margin-top: 2em; }
  #notice .ttl {
    padding: 0 0 0.5em 0;
    font-weight: 800; }
  #notice .ttl2 {
    padding: 0 0 0.5em 0;
    font-weight: 800;
    display: flex;
    align-items: center;
  }
  #notice .ttl2 span {
    flex: 1;
  }
  #notice .ttl2::before {
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #3670B8;
    margin-right: 0.5em;
  }
  #notice ol + .ttl2 {
    margin-top: 1em;
  }
  #notice ol {
    padding-left: 1.5em;
    list-style-type: decimal; }
  #notice ul.type1 {
    padding-left: 1.5em;
    list-style-type: circle; }
  #notice ul.type2 {
    padding-left: 1.5em;
    list-style-type: disc; }
  #notice .notice_box {
    padding: 1.5em;
    background-color: #fafafa;
    border-radius: 0.5em;
    text-align: center; }
    @media screen and (max-width: 750px) {
      #notice .notice_box {
        padding: 1.5em 1em; } }
    #notice .notice_box p {
      padding: 0;
      line-height: 1.8; }
    @media screen and (max-width: 750px) {
      #notice .notice_box strong {
        display: inline-block;
        padding-bottom: 0.5em; } }

/*********************************
 * counter_info
 *********************************/
.counter_info {
  background: #0099dc;
  position: relative;
  width: 100%;
  color: #fff;
  margin: 0;
  padding: .5rem 0;
  font-size: .9375em;
  text-align: center;}
  .counter_info .section__inner {
    position: relative;
    width: 100%;
    max-width: 960px;
    margin: auto;
    padding: 30px;
  }
  @media screen and (max-width: 750px) {
    .counter_info {
    }
  }
  .counter_info__contact {
    padding: 1em 0;
    font-weight: normal;
  }
  .counter_info a:link {
    color: #fff!important;
    text-decoration: underline;
  }
  .counter_info__contact > span {
    display: inline-block;
    margin-left: 1em;
  }
  small {
    display: block;
    font-size: .75rem;
    font-weight: normal;
  }  

  @media screen and (min-width: 750px) {
  .tel {
    cursor: none;
    pointer-events: none;
  }
  }

/*無料相談予約のCTAを追加*/
.idx__reservation {
    background: #fff;
    padding: 5px 30px 25px;
    width: 77%;
    max-width: 600px;
    margin: 0 auto;
}
.idx__reservation > a {
        margin-top:30px;
    }
.modBtnReservation {
  position: relative;
  display: inline-block;
  color: #fff;
  background: linear-gradient(90deg, rgba(2, 58, 205, 1) 0%, rgba(95, 70, 229, 1) 50%, rgba(147, 76, 243, 1) 100%);
  text-align: center;
  font-weight: bold;
  font-size: 20px;
  line-height: 1;
  box-shadow: 0 3px 0 #0000264a;
  border-radius: 10px;
}
@media screen and (min-width: 960px) {
    .idx__reservation > a {
        height: 120px;
        padding: 30px 30px 45px 70px;
        line-height: 1.5;
    }
}

@media screen and (max-width: 959px) {
    .idx__reservation {
        width: 100%;
        font-size: 16px;
        line-height: 1.5;
    }
    .idx__reservation > a {
        padding: 20px 0;
        font-size: 18px;
        line-height: 1.5;
    }
    .modBtnReservation__icon__body {
        width: 56px;
        height: 83px;
    }
}

@media not all and (min-width: 960px) {
  .modBtnReservation__icon {
    left: 10px;
    width: 73px;
    height: 74.5px;
  }
  .modBtnReservation__icon__hand {
    width: 41px;
    height: 37px;
    bottom: 4px;
  }
  .modBtnReservation__icon__body {
    width: 48px;
    height: 72.5px;
  }
}
