  .u-sp {
    display: block !important
  }
  .u-pc {
    display: none !important
  }
  .c1 {
    --w: clamp(200px, 21vw, 210px);
    top: 18%;
    right: calc(-0.3 * var(--w));
  }
  .c2 {
    --w: clamp(260px, 27vw, 270px);
    top: 28%;
    left: calc(-0.4 * var(--w));
  }
  .c3 {
    --w: clamp(120px, 13vw, 130px);
    top: 62%;
    right: calc(0.01 * var(--w));
  }
  .c4 {
    --w: clamp(220px, 23vw, 230px);
    top: 72%;
    left: calc(-0.4 * var(--w));
  }
  .layer {
    position: absolute;
    left: 0;
    right: 0;
    background-repeat: repeat-x;
    background-size: auto 100%;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    opacity: 0.3;
  }
  .l1 {
    height: calc(85 / 390 * 100vw);
    top: 0;
    background-image: url("../images/bg_a.webp");
    animation: r2l 60s linear infinite;
  }
  .l2 {
    height: calc(85 / 390 * 100vw);
    top: calc(88 * 1 / 390 * 100vw);
    background-image: url("../images/bg_b.webp");
    animation: l2r 55s linear infinite;
  }
  .l3 {
    height: calc(85 / 390 * 100vw);
    top: calc(88 * 2 / 390 * 100vw);
    background-image: url("../images/bg_c.webp");
    animation: r2l 65s linear infinite;
  }
  .l4 {
    height: calc(85 / 390 * 100vw);
    top: calc(88 * 3 / 390 * 100vw);
    background-image: url("../images/bg_a.webp");
    animation: l2r 57s linear infinite;
  }
  .l5 {
    height: calc(85 / 390 * 100vw);
    top: calc(88 * 4 / 390 * 100vw);
    background-image: url("../images/bg_b.webp");
    animation: r2l 62s linear infinite;
    display: block
  }
  .l6 {
    height: calc(85 / 390 * 100vw);
    top: calc(88 * 5 / 390 * 100vw);
    background-image: url("../images/bg_c.webp");
    animation: l2r 59s linear infinite;
    display: block
  }
  #section-header .menu ul.menuLink {
    display: none;
  }
  main {
    padding-top: 64px;
    overflow: hidden;
  }
  .mv-logo {
    top: calc(50 / 390 *100vw);
    max-width: 100%;
  }
  .mv-img {
    top: calc(185 / 390 *100vw);
    max-width: 100%;
    left: 0 !important;
  }
  .mv {
    height: calc(525 / 390 *100vw);
  }
  section#m1 {
    padding: calc(20 / 390 *100vw) 20px calc(30 / 390 *100vw);
  }
  section#m1 h2 {
    font-size: calc(30 / 390 *100vw);
    border-radius: 15px;
  }
  section#m1 h2::before {
    background: url("../images/bar.webp") top/100% repeat;
  }
  .movieWrap {
    margin: calc(20 / 390 *100vw) auto 0;
  }
  section#m1 .img1 {
    margin: calc(20 / 390 *100vw) -20px;
  }
  section#m1 .img2 {
    margin: 0 -20px 0 0;
  }
  section#m1 .img3 {
    margin: 0 0 0 -20px;
  }
  section#m1 p {
    font-size: calc(14 / 390 *100vw)
  }
  section#m2 {
    margin-top: calc(60 / 390 *100vw);
    padding: 0 20px 0;
  }
  section#m2:before {
    bottom: calc(-50 / 390 *100vw);
    left: -2vw;
    right: -2vw;
    width: 104vw;
    height: calc(50 / 390 *100vw);
    ;
    border-radius: 0 0 300% 300%;
  }
  section#m2:after {
    top: calc(-50 / 390 *100vw);
    left: -2vw;
    right: -2vw;
    width: 104vw;
    height: calc(50 / 390 *100vw);
    border-radius: 300% 300% 0 0;
  }
  section#m2 h2 {
    font-size: calc(30 / 390 *100vw);
  }
  section#m2 .hSub {
    font-size: calc(18 / 390 *100vw);
  }
  .fuki1 {
    width: calc(274 / 390 *100vw);
    margin: 0 auto;
  }
  .fuki2 {
    width: calc(122 / 390 *100vw);
    margin: 0 auto 10px;
  }
  .fuki3 {
    width: calc(276 / 390 *100vw);
    margin: 0 auto;
  }
  .fuki4 {
    width: calc(111 / 390 *100vw);
    margin: 0 auto calc(4 / 390 *100vw);
  }
  .fuki5 {
    width: calc(171 / 390 *100vw);
    margin: 0 auto;
  }
  .fuki6 {
    width: calc(171 / 390 *100vw);
    margin: 0 auto;
  }
  .fuki1 img, .fuki2 img, .fuki3 img, .fuki4 img, .fuki5 img, .fuki6 img {
    width: 100%;
  }
  .sliderBox {
    margin: calc(20 / 390 *100vw) auto;
  }
  section#m2 h3 {
    font-size: calc(20 / 390 *100vw);
  }
  .swiper-button-prev {
    left: -18px !important;
  }
  .swiper-button-next {
    right: -18px !important;
  }
  .detailBox .box .left {
    font-size: calc(15 / 390 *100vw);
    min-height: 5em;
    width: 6em;
    flex-basis: 6em;
  }
  .detailBox .box .right {
    font-size: calc(15 / 390 *100vw);
    line-height: 1.3;
  }
  .detailBox .box .right .indent {
    font-size: calc(12 / 390 *100vw);
  }
  sup {
    font-size: 0.7em;
  }
  section#m2 .linkList ul li a {
    font-size: calc(13 / 390 *100vw);
  }
  section#m2 .btnTxt {
    font-size: calc(20 / 390 *100vw);
  }
  section#m2 .btnTxt span {
    font-size: calc(16 / 390 *100vw);
  }
  section#m2 .btn {
    width: 100%;
    max-width: calc(348 / 390 *100vw);
    margin: calc(10 / 390 *100vw) auto 0;
    height: auto;
  }
  section#m2 .btn a {
    font-size: calc(23 / 390 *100vw);
  }
  section#m2 .btn a::after {
    width: 10px;
    height: 10px;
    margin-left: 0;
    margin-top: 3px;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
  }
  section#m2 .bnrBox p {
    font-size: calc(16 / 390 *100vw);
  }
  section#m3 {
    margin-top: calc(60 / 390 *100vw);
    padding: calc(20 / 390 *100vw) 20px;
  }
  section#m3 h2 {
    font-size: calc(30 / 390 *100vw);
    margin-top: calc(8 / 390 *100vw);
  }
  section#m3 h2::before {
    background: url("../images/bar.webp") left top/100% repeat;
  }
  section#m3 .box {
    margin-top: calc(20 / 390 *100vw);
    padding: calc(20 / 390 *100vw) calc(15 / 390 *100vw) calc(25 / 390 *100vw);
  }
  div.line {
    max-width: calc(286 / 390 *100vw);
  }
  section#m3 h3 {
    font-size: calc(20 / 390 *100vw);
  }
  section#m3 .box p {
    font-size: calc(16 / 390 *100vw);
  }
  .appImg1 {
    margin-top: 1em;
    font-size: calc(16 / 390 * 100vw);
  }
  .appImg2 {
    max-width: calc(248 / 390 *100vw);
    margin-top: 1em;
    font-size: calc(16 / 390 * 100vw);
  }
  section#m3 .box p.mt1 {
    margin-top: calc(25 / 390 *100vw) !important;
  }
  section#m3 .ContentsList {
    width: 100%;
  }
  section#m3 .ContentsList ul {
    flex-wrap: wrap;
    margin-top: calc(15 / 390 * 100vw);
    gap: calc(15 / 390 * 100vw);
  }
  section#m3 .ContentsList ul li {
    flex: 0 0 calc((100% - calc(15 / 390 * 100vw)) / 2);
  }
  section#m3 .ContentsList ul li p {
    font-size: calc(13 / 390 * 100vw);
  }
  ul.notes li {
    font-size: calc(12 / 390 * 100vw);
  }
  section#m4 {
    padding: calc(20 / 390 *100vw) 20px;
  }
  section#m4 .appBox {
    flex-wrap: wrap;
    margin-top: calc(5 / 390 *100vw);
    margin-bottom: calc(20 / 390 *100vw);
  }
  section#m4 .appBox .a1 {
    width: calc(78 / 390 * 100vw);
  }
  section#m4 .appBox .a2 {
    font-size: calc(16 / 390 * 100vw);
  }
  section#m4 .a2 span {
    font-size: calc(12 / 390 * 100vw);
  }
  section#m4 .appBox .a3 {
    width: calc(177 / 390 * 100vw);
  }
  section#m4 .appBox .a3 a {
    display: block;
  }
  section#m5 {
    padding: calc(20 / 390 * 100vw) 20px calc(40 / 390 * 100vw);
    background: linear-gradient(135deg, rgba(200, 207, 254, 1) 0%, rgba(248, 251, 253, 1) 100%), #ffffff;
  }
  section#m5 h2 {
    font-size: calc(30 / 390 *100vw);
    margin-top: calc(8 / 390 *100vw);
  }
  section#m5 h2::before {
    background: url("../images/bar.webp") left top/100% repeat;
  }
  section#m5 .stepBox {
    width: 100%;
    display: flex;
    flex-flow: column;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0 auto;
    gap: calc(40 / 390 *100vw);
    margin-top: calc(40 / 390 *100vw);
  }
  section#m5 .stepBox .box h3 {
    text-align: center;
    border-radius: 50px;
    max-width: calc(170 / 390 *100vw);
    font-size: calc(16 / 390 *100vw);
  }
  section#m5 .stepBox .box {
    position: relative;
    text-align: center;
    padding: calc(20 / 390 *100vw) calc(25 / 390 *100vw) calc(10 / 390 *100vw) calc(10 / 390 *100vw);
    align-items: center;
    justify-content: space-between;
    gap: 0;
    flex: 1 1 100%;
    align-items: center;
  }
  section#m5 .stepBox .box:not(:last-child)::after {
    top: auto;
    bottom: calc(-20 / 390 * 100vw);
    left: 50%;
    right: auto;
    transform: translateX(-50%);
    border-width: calc(12 / 390 * 100vw) calc(12 / 390 * 100vw) 0 calc(12 / 390 * 100vw);
    border-color: rgba(170, 100, 220, 0.4) transparent transparent transparent;
  }
  section#m5 .stepBox .box p {
    min-height: 1em;
    font-size: calc(18 / 390 *100vw);
  }
  section#m5 .sBtn a {
    font-size: calc(15 / 390 *100vw);
    padding: 0.5em 0;
  }
  section#m5 .sBtn a::after {
    width: 8px;
    height: 8px;
    margin-left: 0;
    margin-top: 3px;
  }
  section#m5 .btn {
    max-width: calc(320 / 390 *100vw);
  }
  section#m5 .btn a {
    font-size: calc(16 / 390 *100vw);
  }
  section#m5 .stepBox .box .img {
    flex-basis: calc(100 / 390 *100vw);
    max-width: calc(100 / 390 *100vw);
    margin: 0;
  }
  section#m5 .stepBox .box .img1 {
    width: 100%;
    height: auto;
  }
  section#m5 .stepBox .box .img + div, section#m5 .stepBox .box .flex + div {
    flex: 1;
  }
  section#m5 .sBtn {
    width: 100%;
    max-width: calc(192 / 390 *100vw);
    margin: calc(6 / 390 *100vw) auto 0;
    height: auto;
  }
  .cta-fixed {
    padding-left: 10px;
    padding-right: 10px;
      padding-bottom: 10px;
  }
  .cta-fixed a {
    width: auto;
    height: auto;
    font-size: calc(22 / 390 *100vw);
  }
  .cta-fixed a span {
    font-size: calc(15 / 390 *100vw);
  }
.cta-fixed a::after {
    position: absolute;
    right: 6%;
    content: "";
    display: inline-block;
    width: 11px;
    height: 11px;
    margin-left: 11px;
    margin-top: 2px;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    transform: rotate(-45deg) translateX(3px);
    transition: right 0.4s ease;
}