    @charset "UTF-8";
    /*------------------------------------
全体設定 ここから
-------------------------------------*/

    @font-face {
        font-family: 'GenEiGothic';
        src: url('../font/GenEiGothicN-Heavy.otf') format('opentype');
        font-weight: 900;
    }

    @font-face {
        font-family: 'Arial Black';
        src: url('../font/arial-black.ttf') format('opentype');
        font-weight: 900;
    }

    @font-face {
        font-family: 'Futura XBlk BT';
        src: url('../font/futura-xblk-bt-extra-black_copyfonts.com.ttf') format('opentype');
        font-weight: bold;
        font-style: normal;
    }

    @font-face {
        font-family: 'Futura-Black';
        src: url('../font/futura-black-bold.ttf') format('opentype');
        font-weight: bold;
        font-style: normal;
    }

    @font-face {
        font-family: 'futura bq';
        src: url('../font/Futura BQ Regular.otf') format('opentype');
        /* font-weight: bold; */
        font-style: normal;
    }
    /* 初期設定 */

    html {
        font-size: 62.5%;
        scroll-behavior: smooth;
    }

    body {
        width: 100%;
        font-size: 1.6rem;
        font-family: 'Arial Black', 'Arial', sans-serif;
        font-weight: 900;
        color: #000;
        background-color: #fff;
    }

    body,
    header,
    nav,
    h1,
    h2,
    h3,
    h4,
    h5,
    h6,
    p,
    ol,
    ul,
    li,
    a,
    dl,
    dd,
    dt,
    div,
    span,
    time,
    figure,
    figcaption,
    article,
    section,
    aside {
        margin: 0px;
        padding: 0px;
        box-sizing: border-box;
        font-weight: 900;
    }

    img,
    svg {
        vertical-align: bottom;
        width: 100%;
    }

    a {
        text-decoration: none;
        color: #000;
        display: inline-block;
        text-align: center;
        vertical-align: middle;
    }
    /* 480pxまでの幅の場合、brを消す */

    .sp-br,
    .sp-only {
        display: none;
    }

    @media screen and (max-width: 600px) {
        /* br, */
        .pc-br {
            display: none;
        }
        .sp-br,
        .sp-only {
            display: block;
        }
        .pc-only {
            display: none;
        }
    }
    /* 余白レイアウト */

    .wrapper {
        width: 100vw;
    }

    .container {
        max-width: 1750px;
        width: 91%;
        margin: 0 auto;
    }

    .content {
        width: 100%;
        padding-top: 4.7vw;
    }

    @media screen and (max-width: 600px) {
        .container {
            width: auto;
            margin: 0 20px;
        }
    }
    /* カラー指定 */

    .color1 {
        color: #FF0052;
    }

    .color2 {
        color: #1CE6E4;
    }

    .color3 {
        color: #FBEA1F;
    }



    @media screen and (max-width: 600px) {
        .sp-color1 {
            color: #FF0052;
        }
        .sp-color2 {
            color: #1CE6E4;
        }
    }
    /* カラム設定 */

    .col-2 {
        display: flex;
    }

    @media screen and (max-width: 600px) {
        .col-2 {
            flex-direction: column;
        }
        .revers {
            flex-direction: column-reverse;
        }
    }
    /* フォント設定 */

    .t-gothic {
        font-family: 'TsukuARdGothic-Regular', sans-serif;
        font-weight: bold;
    }

    .font-futura {
        /* font-family: "futura bq", sans-serif; */
        font-family: "futura bq", "Futura", sans-serif;
    }

    .font-arial {
        font-family: "Arial", sans-serif;
    }

    .font-futura-black {
        font-family: "Futura-Black", sans-serif;
        font-weight: bold;
    }

    .font-genei {
        font-family: "源暎ゴシックN", sans-serif;
    }

    .large-text {
        font-size: 5.2vw;
    }

    .bold {
        font-weight: bold;
    }
    /*------------------------------------
メインビジュアル
-------------------------------------*/

    @keyframes fadein {
        from {
            opacity: 0;
        }
        to {
            opacity: 1;
        }
    }

    .mainvisual {
        background-color: #000;
        overflow: hidden;
    }

    .mainvisual-contents,
    .mainvisual-icon {
        width: 63%;
    }
    /* h1,
    .mainvisual p {
        color: #fff;
    } */

    .title,
    .fz-100 {
        font-size: 5.22vw;
    }

    .title {
        position: relative;
        display: inline-block;
        margin-top: 2vw;
    }

    .eachTextAnime,
    .eachTextAnime span {
        opacity: 0;
    }

    .eachTextAnime.appeartext {
        opacity: 1;
    }

    .eachTextAnime.appeartext span {
        animation: text_anime_on 1s ease-out 10s forwards;
    }

    @keyframes text_anime_on {
        0% {
            opacity: 0;
        }
        100% {
            opacity: 1;
        }
    }
    /* .title::before {
    content: '';
    position: absolute;
    left: 25%;
    top: 0;
    display: inline-block;
    width: 0;
    height: 1.14vw;
    background-color: #ffffff;
    opacity: 0;

    animation: wide 0.6s ease 0.2s forwards;
} */

    @keyframes wide {
        0% {
            opacity: 0;
            width: 0;
        }
        100% {
            opacity: 1;
            width: 31vw;
        }
    }

    .subtitle {
        font-size: 1.82vw;
        margin-bottom: 4.2vw;
        margin-top: 0.2vw;
    }

    .mv-text {
        font-size: 2.5vw;
        display: flex;
        align-items: center;
        line-height: 1.8;
        opacity: 0;
        /* アニメーション */
        animation: fadein 2s ease 1s forwards;
    }

    @keyframes wide {
        0% {
            opacity: 0;
            width: 0;
        }
        100% {
            opacity: 1;
            width: 31vw;
        }
    }

    .mv-text .futura {
        font-family: "Futura XBlk BT", sans-serif;
    }

    .mv-text .futura.bold {
        font-weight: bold;
    }

    .shine {
        background-image: linear-gradient(70deg, rgb(8, 240, 237, 1) 45%, #fff 50%, rgb(8, 240, 237, 1) 55%);
        background-size: 500% 100%;
        background-clip: text;
        -webkit-background-clip: text;
        color: transparent;
        animation: shine 5s infinite;
    }

    .shine.pink {
        background-image: linear-gradient(70deg, rgb(255, 0, 82, 1) 45%, #fff 50%, rgb(255, 0, 82, 1) 55%);
        font-weight: 900;
    }

    @keyframes shine {
        0% {
            background-position: 100% 50%;
        }
        100% {
            background-position: 0% 50%;
        }
    }

    .mainvisual-contents p:nth-of-type(4) {
        margin-left: 6vw;
    }

    .mainvisual-contents p:nth-of-type(5) {
        margin-left: 12.1vw;
        line-height: 1;
    }

    .mainvisual-icon {
        display: flex;
        height: 19.3vw;
        margin-top: 4.8vw;
    }

    .circle {
        width: 15.88vw;
        height: 15.88vw;
        background-color: #FF0052;
        border-radius: 50%;
        margin-right: 1.3vw;
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        opacity: 0;
        animation: zoomIn 0.8s cubic-bezier(0.25, 1, 0.5, 1) forwards;
    }

    .circle:nth-of-type(1) {
        animation-delay: 1.6s;
    }

    .circle:nth-of-type(2) {
        animation-delay: 1.8s;
    }

    .circle:nth-of-type(3) {
        animation-delay: 2s;
        margin-right: 0;
    }

    @keyframes zoomIn {
        0% {
            transform: scale(0.8);
            opacity: 0;
        }
        100% {
            opacity: 1;
            transform: scale(1);
        }
    }

    .circle p {
        font-size: 2.86vw;
        line-height: 1.2;
    }

    .site-title {
        margin-top: auto;
        opacity: 0;
        animation: fadeup 0.8s cubic-bezier(0.33, 1, 0.68, 1) 1.2s forwards;
    }
    /* h1 {
        font-size: 5.22vw;
        text-shadow: 2px 1px 1px rgba(0, 0, 0, 1);
    } */
    /* 背景画像 */

    .mainvisual-container {
        /* position: relative;
        height: 57vw; */
    }

    .mv-bg1 {
        position: absolute;
        width: 77%;
        top: -6vw;
        right: -15%;
        overflow: visible;
        z-index: 28;
        opacity: 0;
        /* アニメーション */
        animation: fadein 0.6s ease 0.1s forwards;
    }

    .mv-bg2 {
        position: absolute;
        width: 69%;
        top: -3.5vw;
        right: -15%;
        overflow: visible;
        z-index: 29;
        opacity: 0;
        animation: fadeup 0.8s cubic-bezier(0.33, 1, 0.68, 1) 1.3s forwards;
    }

    @keyframes fadeup {
        0% {
            transform: translateY(30px);
            opacity: 0;
        }
        80% {
            opacity: 1;
        }
        100% {
            opacity: 1;
            transform: translateY(0);
        }
    }

    .mainvisual-contents,
    .mainvisual-overlap {
        position: relative;
        z-index: 30;
    }

    @media screen and (max-width: 600px) {
        .mainvisual-contents {
            width: 100%;
            text-align: center;
        }
        .mainvisual-container {
            height: auto;
            padding-bottom: 25.48vw;
        }
        .title::before {
            display: none;
            animation: none;
        }
        .title {
            margin-top: 2.5vw;
            font-size: 8.2vw;
        }
        .subtitle {
            text-align: center;
            font-size: 1.8rem;
            margin-bottom: 6.2vw;
            margin-top: 2vw;
        }
        .mv-text {
            font-size: 2.5rem;
            line-height: 2;
            justify-content: center;
        }
        .mainvisual-overlap {
            margin-top: 50vw;
        }
        /* h1 {
            font-size: 16.28vw;
            text-align: center;
        } */
        .fz-100 {
            font-size: 8.12vw;
        }
        .sp-tiktok-fz {
            font-size: 5.35vw;
        }
        .mainvisual-contents p:nth-of-type(4),
        .mainvisual-contents p:nth-of-type(5) {
            margin-left: 0;
        }
        .mainvisual-icon {
            justify-content: space-between;
            width: 100%;
            margin-top: 0;
        }
        .circle {
            width: 31vw;
            height: 31vw;
        }
        .circle p {
            font-size: 5.9vw;
            line-height: 1.2;
        }
        .mv-bg1 {
            width: 106%;
            top: -2vw;
            right: -18%;
            transform: skew(27deg, -27deg);
        }
        .mv-bg2 {
            width: 167vw;
            top: 46.5vw;
            right: -44%;
        }
    }

    @media screen and (max-width: 375px) {
        .mv-bg2 {
            width: 171vw;
        }
        .mainvisual-overlap {
            margin-top: 47vw;
        }
    }


    .line{
      margin-top: 0vw;
      position: relative;
    }

    .line .line1{
      width: 70vw;
    }
    .line .line2{
      width: 70vw;
      position: absolute;
      top: -2.1vw;
      right: 0;
    }


    /* TikTok */

    .tiktok-outer {
        padding-top: 3vw;
        position: relative;
        z-index: 1;
    }

    .tiktok-title {
        position: absolute;
        top: 10vw;
        right: 0;
        background-color: #FBE800;
        color: #000;
        padding: 2.34vw 7.4vw;
        border-radius: 3.85vw;
        font-size: 2.86vw;
        z-index: 100;
        font-family: 'GenEiGothic';
        letter-spacing: 0.05em;
    }
    /* チェック */

    .check {
        position: relative;
        width: auto;
        font-weight: 900;
        /* height: 3.125vw; */
    }

    .check::before {
        content: "";
        position: absolute;
        top: -2vw;
        left: -3vw;
        width: 2.6vw;
        height: 4vw;
        font-weight: 900;
        background-image: url(../img/check.png);
        background-size: cover;
        display: inline-block;
        animation: animation_text_blink 1s linear 0s infinite normal both;
    }

    @keyframes animation_text_blink {
        0% {
            opacity: 0;
        }
        50% {
            opacity: 1;
        }
        100% {
            opacity: 1;
        }
    }

    .tiktok-inner {
        display: flex;
    }

    .tiktok-img {
        width: 33vw;
        margin: 0 5.2vw;
        position: relative;
    }

    .tiktok-img-pc {
        width: 30vw;
        position: absolute;
        bottom: -18vw;
        left: -5.2vw;
        display: none;
    }

    .tiktok-item {
        width: auto;
        padding-top: 20.83vw;
    }

    .tiktok-items-title {
        font-size: 2.86vw;
        font-size: 2.7vw;
        margin-bottom: 5.6vw;
    }

    .tiktok-item-text {
        font-size: 2.86vw;
        margin-bottom: 0.4vw;
        display: flex;
    }

    .tiktok-item-text-left {
        font-size: 2.86vw;
        margin-right: 2vw;
    }

    .tiktok-item-text-right {
        display: flex;
        justify-content: center;
        place-items: center;
    }
    /* 背景画像 */

    .tiktok-wrapper {
        position: relative;
        overflow: hidden;
        height: 96.7vw;
        height: 72.0vw;
    }

    .tiktok-wrapper::before,
    .tiktok-wrapper::after {
        content: "";
        position: absolute;
        width: 33vw;
        height: 41.6vw;
        background-size: cover;
    }

    .pc-text-animation {
        position: relative;
        width: 100vw;
        height: 8.75vw;
        line-height: 8.75vw;
        overflow: hidden;
        display: none;
    }

    .pc-text-animation p {
        position: absolute;
        top: -0.3vw;
        white-space: nowrap;
        /* アニメーション */
        animation: text_scroll 180s linear infinite;
        padding-left: 100%;
        font-size: 12vw;
        color: rgb(27, 230, 227, 0.25);
    }

    .sp-text-animation {
        display: block;
        /* position: relative; */
    }

    @keyframes text_scroll {
        0% {
            transform: translateX(0)
        }
        100% {
            transform: translateX(-100%)
        }
    }

    .sp-text-animation {
        display: none;
    }

    @media screen and (max-width: 600px) {
        .tiktok-wrapper {
            height: auto;
        }
        .tiktok-container {
            padding-bottom: 22.8vw;
            padding-bottom: 0;
        }
        .tiktok-title {
            top: 0;
            font-size: 5.35vw;
            text-align: center;
            width: 100vw;
            margin: 0 calc(50% - 50vw);
            border-radius: 0;
        }
        .tiktok-outer {
            padding-top: 28.6vw;
        }
        .tiktok-item {
            padding-top: 0;
        }
        .tiktok-wrapper::before {
            display: none;
        }
        .tiktok-wrapper::after {
            left: 0;
            transform: rotate(90deg);
            width: 138vw;
            height: 138vw;
            top: 31vw;
            left: -21vw;
        }
        .tiktok-items-title {
            font-size: 4.3vw;
        }
        .tiktok-img {
            width: 64%;
            margin: 8vw 5.2vw 0 0;
        }
        .tiktok-img-pc {
            bottom: -2vw;
            left: -0.2vw;
        }
        .check::before {
            top: -3vw;
            left: inherit;
            right: 2vw;
            width: 20.5px;
            height: 26px;
            transform: rotate(90deg);
        }
        .tiktok-item-text {
            text-align: right;
            margin-bottom: 3vw;
            font-size: 4.66vw;
        }
        .check {
            margin-right: 7vw;
        }
        .tiktok-item-text {
            display: flex;
            flex-direction: column;
        }
        .tiktok-item-text-left {
            font-size: 3.5rem;
            text-align: left;
        }
        .tiktok-item-text-right {
            /* display: flex; */
            justify-content: flex-end;
        }
        .sp-text-animation {
            position: relative;
            width: 100vw;
            height: 22vw;
            line-height: 15.5vw;
            overflow: hidden;
            z-index: 100;
            bottom: 0;
        }
        .sp-text-animation span {
            position: absolute;
            bottom: 0.8vw;
            white-space: nowrap;
            /* アニメーション */
            /* animation: slideRightToLeft 10s linear infinite; */
            font-size: 22vw;
            color: #000000;
            animation: text_scroll 180s linear infinite;
            padding-left: 100%;
        }
        .pc-text-animation {
            display: none;
        }
        .sp-text-animation {
            display: block;
            /* position: relative; */
        }
        @keyframes text_scroll {
            0% {
                transform: translateX(0)
            }
            100% {
                transform: translateX(-100%)
            }
        }
    }
    /*------------------------------------
about
-------------------------------------*/

    .about-container {
        padding-top: 5.2vw;
        padding-top: 0;
        position: relative;
        z-index: 20;
    }

    .about-content {
        justify-content: space-between;
    }

    .about-group {
        text-align: center;
        margin-top: 7.81vw;
        display: flex;
        justify-content: space-between;
        position: relative;
        z-index: 10;
    }

    h2 {
        font-size: 7.81vw;
    }

    .about-content h2,
    .about-content>p {
        margin-left: 14.7vw;
    }

    .about-content>p {
        font-size: 3.125vw;
    }

    .about-item {
        content: "";
        position: absolute;
        top: -0.96vw;
        left: -3.56vw;
        width: 21.14vw;
        height: 34.1vw;
        padding: 3.6vw 0;
        border: 1px solid #000;
        background-color: #fff;
        border-radius: 3.38vw;
        margin-left: 2vw;
    }

    .about-item-bg {
        position: relative;
        width: 20.4vw;
        height: 34.1vw;
        border: 1px solid #000;
        background-color: #1BE6E3;
        border-radius: 3.38vw;
        /* z-index: -1; */
    }

    .about-item h3 {
        font-size: 3.64vw;
        color: #FF0000;
    }

    .about-item .note {
        font-size: 1.0vw;
        font-family: 'TsukuARdGothic-Regular', sans-serif;
        line-height: 1;
        text-align: right;
        margin-right: -34px;
    }
    .about-item .note2 {
      width: 100%;
        font-size: 1.0vw;
        font-family: 'TsukuARdGothic-Regular', sans-serif;
        line-height: 1;
        text-align: right;
        padding-right: 30px;
        display: inline-block;
    }

    .about-item p {
        font-size: 1.56vw;
        line-height: 1.8;
        margin-top: 2.8vw;
    }

    .about-item-bg:nth-of-type(2n) {
        margin-top: 18vw;
    }

    .about-title {
        font-size: 2.6vw;
    }

    .about-content .note-list{
      margin-top: 4.0vw;
    }

    .note-list p {
        font-size: 0.8vw;
        font-family: 'TsukuARdGothic-Regular', sans-serif;
        font-weight: lighter;
        line-height: 1.6;
        letter-spacing: 0;
        margin-block-start: 0;
        margin-block-end: 0;
    }


    /* フォント指定 */

    .about-item h3,
    .about-title,
    .about-item p {
        font-family: 'TsukuARdGothic-Regular', sans-serif;
        font-weight: bold;
    }
    /* 写真 */

    .about-img,
    .about-text-area {
        height: 66.14vw;
    }

    .about-img {
        width: 45%;
        position: relative;
        z-index: 20;
    }

    .about-img img {
        width: 55%;
        width: 25.6vw;
    }

    .custom-image1 {
        position: absolute;
        top: 0;
        left: -4vw;
    }

    .custom-image2 {
        position: absolute;
        top: 17.75vw;
        right: -1vw;
    }

    .custom-image3 {
        position: absolute;
        top: 37vw;
        left: -5vw;
    }

    .picture-bg1 {
        position: absolute;
        top: -3vw;
        left: -4vw;
    }

    .picture-bg2 {
        position: absolute;
        top: 20vw;
        left: 17vw;
        z-index: 18;
    }

    .picture-bg3 {
        position: absolute;
        top: 38vw;
        left: -4vw;
    }

    .custom-image1,
    .custom-image2,
    .custom-image3 {
        z-index: 20;
        opacity: 0;
    }
    /* アニメーション */

    .custom-image1.displayed {
        animation-delay: 0.3s;
    }

    .custom-image2.displayed {
        animation-delay: 0.6s;
    }

    .custom-image3.displayed {
        animation-delay: 0.9s;
    }

    .displayed {
        animation: fadeup 1s forwards;
    }

    @keyframes fadeup {
        0% {
            opacity: 0;
            transform: translateY(0);
        }
        100% {
            opacity: 1;
            transform: translateY(-100px);
        }
    }

    .about-text-area-head {
      width: 42%;
      height: 34vw;
      padding-right: 5vw;
      box-sizing: border-box;
      display: flex;
        flex-shrink: 0;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }

    .about-text-area-head .large-text-a{
      font-size: 3.4vw;
      text-align: center;
    }

    .about-text-area-head .large-text-b{
      font-size: 11.0vw;
      line-height: 1;
      margin: 0 0 0 10px;
    }

    .about-text-area-head .large-text-c{
      font-size: 5.6vw;
      vertical-align: 0.1em;
      margin: 0 0 0 10px;
    }

    .about-text-area {
        width: 58%;
        height: 34vw;
        padding-top: 21.35vw;
        padding-top: 8vw;
        font-size: 2.08vw;
        line-height: 1.6;
        letter-spacing: 0.06em;
        box-sizing: border-box;
    }

    .about-text-area p {
        margin-bottom: 4.69vw;
        margin-bottom: 0;
    }
    /*------------------------------------
斜めのライン
-------------------------------------*/

    .catch {
        width: 100vw;
        height: 28vw;
        position: relative;
        color: #fff;
        font-family: 'TsukuARdGothic-Regular', sans-serif;
        font-weight: bold;
        text-align: center;
        padding: 5.2vw 0;
        overflow: hidden;
    }

    .catch-text {
        position: relative;
        z-index: 50;
        font-size: 1.95vw;
        -webkit-transform: rotate(-4deg);
        margin-top: 3.645vw;
    }

    .catch-text span {
        font-size: 4.69vw;
    }

    .catch-text span.note {
        font-size: 1.0vw;
    }

    .catch-bg-black {
        position: absolute;
        top: 4vw;
        left: -30vw;
        z-index: 35;
    }

    .catch-bg-color2 {
        position: absolute;
        top: 4.69vw;
        left: 14vw;
        z-index: 40;
    }

    .catch-bg-color1 {
        position: absolute;
        top: 0.26vw;
        left: -10vw;
        z-index: 45;
        width: 150%;
    }
    /* アニメーション */

    .catch-bg-black {
        /* 初期スタイル：非表示 */
        opacity: 0;
        transform: translateX(-100%);
        transition: opacity 1s, transform 1s;
    }

    .fade-in {
        /* フェードインアニメーション */
        opacity: 1;
        transform: translateX(0);
    }
    /* -- */
    /* 初期スタイル：非表示 */

    .catch-bg-color2 {
        opacity: 0;
        transform: translateX(100%);
        transition: opacity 1s, transform 1s;
    }
    /* フェードインおよび右からスライドインのアニメーション */

    .fade-in {
        opacity: 1;
    }

    .slide-in-right {
        transform: translateX(0);
    }
    /* ーー */
    /* 初期スタイル：非表示および左からスライドアウト */

    .catch-text {
      padding: 1.1vw 0 0 0;
        opacity: 0;
        transform: translateX(-100%);
        transition: opacity 1s, transform 1s;
    }
    /* フェードインおよび左からスライドインのアニメーション */

    .slide-in-left {
        transform: translateX(0);
        -webkit-transform: rotate(-4deg);
    }
    /* フェードインのアニメーション */

    .fade-in {
        opacity: 1;
    }
    /* -- */
    /* 初期スタイル：非表示および右からスライドアウト */

    .catch-bg-color1 {
        opacity: 0;
        transform: translateX(100%);
        transition: opacity 1s, transform 1s;
    }
    /* フェードインおよび右からスライドインのアニメーション */

    .fade-in {
        opacity: 1;
    }

    .slide-in-right {
        transform: translateX(0);
    }

    @media screen and (max-width: 600px) {
        .catch-bg-black {
            transition: opacity 2s, transform 2s;
        }
        .catch-bg-color2 {
            transition: opacity 1s, transform 2s;
        }
    }
    /* about */

    .about-content {
        z-index: 5;
        position: relative;
    }

    .about-bg-02 {
        position: absolute;
        top: 2vw;
        left: 5vw;
        width: 44vw;
        z-index: 1;
        animation: 3s linear infinite rotation;
    }

    @keyframes rotation {
        0% {
            transform: rotate(0);
        }
        100% {
            transform: rotate(360deg);
        }
    }

    .about-bg-01 {
        position: absolute;
        top: 40vw;
        left: 57vw;
        width: 59vw;
        z-index: 1;
        /* アニメーション */
        animation: 5s linear infinite rotation;
        transform: translateY(0);
    }
    /* 常時回転 */

    @keyframes rotation {
        0% {
            transform: rotate(0);
        }
        100% {
            transform: rotate(360deg);
        }
    }

    .about-wrapper {
        position: relative;
        overflow: hidden;
    }

    .about-wrapper::after {
        content: "";
        position: absolute;
        top: 77vw;
        left: -2vw;
        width: 72vw;
        height: 72vw;
        background-image: url(../img/about-bg.png);
        background-size: cover;
        z-index: 15;
        display: none;
    }

    @media screen and (max-width: 600px) {
        .about-group {
            display: block;
        }
        .about-content h2,
        .about-content>p {
            margin-left: 0;
        }
        .about-content>p {
            font-size: 4.4vw;
        }
        h2 {
            font-size: 15.1vw;
        }
        .about-item-bg {
            margin-bottom: 16px;
            margin-left: 10px;
        }
        .about-item-bg {
            border: none;
            width: 97%;
            height: 77vw;
            background-color: #FF0052;
        }
        .about-item {
            left: -2.56vw;
            width: 101%;
            height: 76vw;
            padding: 7vw 0;
            border: 0.5px solid #000;
            display: flex;
            flex-direction: row;
            flex-wrap: wrap;
            align-items: center;
            justify-content: center;
            margin-left: 0;
            box-sizing: border-box;
        }
        .about-item h3 {
          width: 100%;
            font-size: 10.46vw;
            display: inline-block;
        }
        .about-item .note {
            font-size: 3.0vw;
            line-height: 1;
            margin-top: 10px;
            margin-left: 6px;
            margin-right: -16px;
        }
        .about-item .note2 {
            width: 100%;
            font-size: 3.0vw;
            line-height: 1.3;
            padding-right: 70px;
            display: inline-block;
        }
        .about-title {
            font-size: 6.97vw;
            line-height: 1.2;
        }
        .about-item p {
          width: 100%;
            font-size: 4.18vw;
            line-height: 1.6;
            letter-spacing: 0.1em;
            padding-left: 0.4em;
            box-sizing: border-box;
        }
        .about-item-bg:nth-of-type(2n) {
            margin-top: 0;
        }
        .about-img,
        .about-text-area {
            height: auto;
            width: 100%;
            font-size: 4.65vw;
            text-align: center;
        }
        .large-text {
            font-size: 23.25vw;
        }
        .about-content .note-list{
          margin-top: 5.0vw;
        }
        .about-content .note-list p {
            font-size: 2.8vw;
            font-size: 9px;
            font-family: 'TsukuARdGothic-Regular', sans-serif;
            font-weight: lighter;
            word-break: break-all;
            line-height: 1.4;
            letter-spacing: 0;
            margin-block-start: 0;
            margin-block-end: 0;
        }
        .about-text-inner {
            font-size: 4.19vw;
            line-height: 1.8;
        }
        .sp-about-text {
            font-size: 9.3vw;
        }

        .about-text-area-head {
          width: 100%;
          height: 54vw;
          padding-right: 0;
          padding-top: 11vw;
          box-sizing: border-box;
          display: flex;
            flex-shrink: 0;
            flex-direction: column;
            align-items: center;
            justify-content: center;
        }
        .about-text-area-head .large-text-a{
          font-size: 7.4vw;
          text-align: center;
        }
        .about-text-area-head .large-text-b{
          font-size: 30.0vw;
          line-height: 1;
          margin: 0 0 0 10px;
        }
        .about-text-area-head .large-text-c{
          font-size: 16.0vw;
          vertical-align: 0.1em;
          margin: 0 0 0 10px;
        }
        .about-text-area-head .note{
          font-size: 3.0vw;
        }
        .about-text-area {
            width: 100%;
            padding-top: 21.35vw;
            padding-top: 6vw;
            font-size: 4.08vw;
            line-height: 1.6;
            letter-spacing: 0.06em;
            box-sizing: border-box;
        }


        /* 斜めのテキスト */
        .catch {
            height: 62vw;
        }
        .catch-text {
            font-size: 3.49vw;
            margin-top: 24.64vw;
            transform: skew(7deg, -7deg);
        }
        .catch-text span {
            font-size: 6.4vw;
        }
        .catch-text span.note {
            font-size: 2.0vw;
        }
        .catch-bg-black {
            top: 25vw;
            width: 160%;
            transform: skew(-1deg, 1deg);
        }
        .catch-bg-color1 {
            top: -1.4vw;
            width: 310%;
            transform: skew(2deg, -2deg);
        }
        .catch-bg-color2 {
            top: 14vw;
            left: -9vw;
            width: 150%;
            /* transform: skew(2deg, -2deg); */
        }
        .about-img {
            height: 86vw;
            width: 100%;
        }
        .about-bg-02 {
            left: inherit;
            top: 12vw;
            right: 0;
            width: 50vw;
        }
        .about-bg-01 {
            top: 180vw;
            left: -30vw;
            width: 90vw;
        }
        .about-img img {
            width: 44vw;
        }
        .custom-image1 {
            top: 30vw;
            left: -4vw;
        }
        .custom-image2 {
            top: 45vw;
            right: 2vw;
        }
        .custom-image3 {
            top: 82vw;
            left: 7vw;
        }
        .picture-bg1 {
            top: 27vw;
            left: -6vw;
        }
        .picture-bg2 {
            top: 50vw;
            left: 48vw;
        }
        .picture-bg3 {
            top: 79vw;
            left: 8vw;
        }
        .tiktok-outer .about-text-area p {
            /* margin-bottom: 4.69vw; */
            line-height: 2;
        }
        .tiktok-outer .large-text {
            font-size: 23.25vw;
            /* margin-right: 2.08vw; */
        }
        .tiktok-outer .about-text-area span {
            margin: 0 4vw;
            /* margin-bottom: 4.69vw; */
            line-height: 1.4;
        }
        .tiktok-outer .about-text-inner {
            font-size: 4.18vw;
        }
        /* .about-wrapper::after {} */
    }
    /* お悩み */


    .worry-note-list{
      width: 100%;
      display: flex;
      flex-direction: row;
      justify-content: flex-end;
      margin-top: -4.8vw;
    }

    .worry-left,
    .worry-right {
        width: 50%;
        padding: 0 4.27vw;
    }

    .worry {
        height: 57.7vw;
        background-image: url(../img/worry.png);
        background-size: 50%;
        background-position: bottom;
    }
    /* 吹き出し */

    .balloon-wrap {
        width: 24vw;
        height: 16.45vw;
        margin-bottom: 6.56vw;
        position: relative;
    }

    .balloon-wrap.balloon1,
    .balloon-wrap.balloon4 {
        margin-right: 0;
        margin-left: auto;
    }

    .balloon-wrap::after {
        position: absolute;
        content: "";
        width: 100%;
        height: 100%;
        border-radius: 2.34vw;
        top: -0.7vw;
        right: -1vw;
        background-color: #000;
        z-index: -1;
    }

    .balloon-wrap.balloon1::after {
        background-color: #1BE6E2;
    }

    .balloon-wrap.balloon2::after,
    .balloon-wrap.balloon4::after {
        background-color: #FBE800;
    }

    .balloon {
        position: relative;
        display: inline-block;
        width: 100%;
        height: 100%;
        text-align: center;
        padding: 1.3vw;
        background-color: #FFF;
        border: solid 2px #000;
        border-radius: 2.34vw;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 1.66vw;
    }

    .balloon2 .balloon,
    .balloon4 .balloon {
        border-color: #FBE800;
    }

    .balloon1 .balloon {
        border-color: #1BE6E3;
    }

    .balloon:before {
        content: '';
        position: absolute;
        display: block;
        z-index: 1;
        border-style: solid;
        border-color: #FFF transparent;
        border-width: 25px 25px 0 0;
        bottom: -20px;
        left: 50%;
        margin-left: -12px;
    }

    .balloon:after {
        content: '';
        position: absolute;
        display: block;
        z-index: 0;
        border-style: solid;
        border-color: #000 transparent;
        border-width: 25px 25px 0 0;
        bottom: -25px;
        left: 50%;
        margin-left: -14px;
    }

    .balloon1 .balloon::before,
    .balloon1 .balloon::after {
        transform: rotate(90deg);
    }

    .balloon1 .balloon::before {
        bottom: -20px;
        margin-left: 88px;
    }

    .balloon1 .balloon::after {
        border-color: #1BE6E2 transparent;
        margin-left: 90px;
    }

    .balloon2 .balloon::before,
    .balloon2 .balloon::after {
        transform: rotate(90deg);
        border-width: 30px 30px 0 0;
    }

    .balloon2 .balloon::before {
        bottom: -25px;
        margin-left: 30px;
    }

    .balloon2 .balloon::after {
        bottom: -30px;
        margin-left: 32px;
    }

    .balloon2 .balloon::after,
    .balloon4 .balloon::after {
        border-color: #FBE800 transparent;
    }

    .balloon3 .balloon::before,
    .balloon3 .balloon::after,
    .balloon4 .balloon::before,
    .balloon4 .balloon::after {
        transform: skew(0deg, -20deg) rotate(20deg);
    }

    .balloon3 .balloon:before {
        margin-left: 44px;
    }

    .balloon3 .balloon::after {
        bottom: -26px;
        margin-left: 40px;
    }

    .balloon4 .balloon:before {
        margin-left: -114px;
    }

    .balloon4 .balloon:after {
        bottom: -26px;
        margin-left: -118px;
    }

    .worry-bottom {
        height: 16vw;
        display: flex;
        padding: 1vw 0 5vw 0;
        align-items: center;
        justify-content: center;
    }
    /* 三角 */

    .worry-content {
        position: relative;
        z-index: 1;
    }

    .worry-content::before {
        content: '';
        position: absolute;
        bottom: 0;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 7.8vw 8.2vw 0 8.2vw;
        border-color: #ffffff transparent transparent transparent;
        left: 50%;
        transform: translateX(-50%) translateY(100%);
        z-index: 2;
    }

    .worry-bottom-text {
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 2.86vw;
        line-height: 7.97vw;
        letter-spacing: 0.05em;
    }

    .worry-bottom-box {
        width: 30.4vw;
        width: 80vw;
        height: 6vw;
        font-size: 3.96vw;
        font-size: 3.8vw;
        color: #000;
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 0 2.3vw;
        position: relative;
        /* アニメーション */
        animation: anime1 0.5s ease 0s infinite alternate;
        transform-origin: center;
    }

    @keyframes anime1 {
        from {
            transform: scale(0.9, 0.9);
        }
        to {
            transform: scale(1, 1);
        }
    }

    .worry-bottom-box::before {
        content: "";
        position: absolute;
        top: -2vw;
        left: -3vw;
        width: 2.6vw;
        height: 4vw;
        background-image: url(../img/check.png);
        background-size: cover;
    }

    @media screen and (max-width: 600px) {
        .worry-note-list{
            width: 100%;
            display: flex;
            flex-direction: row;
            justify-content: flex-end;
            margin-top: -1.2vw;
        }
        .worry-note-list p{
          font-size: 2.8vw;
          font-size: 9px;
          line-height: 1.3;
        }

        .worry {
            height: inherit;
            background-size: 90%;
            background-position: bottom;
            margin-top: 2vw;
        }
        .worry-left,
        .worry-right {
            width: 100%;
            padding: 0 4vw;
        }
        .balloon-wrap {
            width: 100%;
            height: 38.14vw;
        }
        .balloon1 .balloon::before,
        .balloon1 .balloon::after,
        .balloon2 .balloon::before,
        .balloon2 .balloon::after,
        .balloon3 .balloon::before,
        .balloon3 .balloon::after,
        .balloon4 .balloon::before,
        .balloon4 .balloon::after {
            display: none;
        }
        .balloon {
            border-radius: 4.19vw;
            font-size: 4.65vw;
            line-height: 1.8;
            border: solid 1px #000;
        }
        .balloon-wrap::after {
            border-radius: 4.19vw;
            top: 1.9vw;
            right: -1.5vw;
        }
        .balloon-wrap {
            margin-bottom: 3.56vw;
        }
        .worry {
            background-image: none;
        }
        .worry-bottom {
            height: 135.5vw;
            padding: 18vw 0 16vw;
            flex-direction: column;
        }
        .worry-bottom {
            justify-content: flex-end;
        }
        .worry-bottom-text {
            font-size: 6.28vw;
            line-height: 17vw;
            /* width: 62.1vw;
            height: 16.28vw; */
        }
        .worry-bottom-box {
            width: 64.5vw;
            height: 36vw;
            font-size: 8.0vw;
            color: #000;
            margin-left: 10vw;
        }
        .worry-bottom-box::before {
            top: -7vw;
            left: inherit;
            left: -10vw;
            width: 8.6vw;
            height: 11vw;
        }
        .worry-bottom {
            height: inherit;
            padding: 76vw 0 10vw;
            background-size: 90%;
            background-position: bottom;
            background-position: 5vw 7vw;
            background-image: url(../img/worry.png);
        }
    }
    /*------------------------------------
feature
-------------------------------------*/

    .feature-wrapper,
    .cta {
        background: #000;
        color: #fff;
        position: relative;
        overflow: hidden;
    }

    .section-title p {
        font-size: 2.08vw;
    }

    .feature-wrapper {
        background-image: url(../img/feature-bg01.png), url(../img/feature-bg02.png), url(../img/feature-bg03.png);
        background-repeat: no-repeat, no-repeat, no-repeat;
        background-position: 55vw -4vw, -4vw 94vw, 69vw 142vw;
        background-size: 63vw, 26vw, 46vw;
    }

    .feature-section-title {
        text-align: center;
        padding: 11.56vw 0;
    }

    .feature-section-title p {
        letter-spacing: 0.1em;
    }

    .feature-section-title h2,
    .feature-section-title h2 span {
        font-family: Verdana, sans-serif;
        font-weight: 900;
    }

    .section-title p {
        font-size: 2.6vw;
    }

    .section-title h2 {
        font-size: 7.81vw;
    }

    .about-item h2 {
        font-size: 8.33vw;
    }

    .feature-item {
        display: flex;
        padding: 2.8vw 0;
    }

    .feature-item img {
        width: 36.2vw;
    }

    .feature-item-inner {
        width: auto;
        letter-spacing: 0.1em;
    }

    .feature-item-inner h3 {
        padding-top: 4.16vw;
        padding-bottom: 3.64vw;
        font-size: 2.86vw;
        opacity: 0;
    }

    .feature-item-inner p {
        font-size: 1.56vw;
        line-height: 2;
        opacity: 0;
    }

    .feature-title.displayed {
        animation-delay: 0.4s;
    }

    .feature-text.displayed {
        animation-delay: 0.6s;
    }

    .displayed {
        animation: fadeUp 1s forwards;
    }

    @keyframes fadeUp {
        0% {
            opacity: 0;
            transform: translateY(0);
        }
        100% {
            opacity: 1;
            transform: translateY(-100px);
        }
    }
    /*------------------------------------
cta
-------------------------------------*/

    .cta {
        background-color: #000;
        text-align: center;
        padding: 8vw 0 7vw 0;
        overflow: hidden;
    }

    .cta2 {
        background-image: url(../img/cta-bg.jpg);
        background-position: center;
        background-size: cover;
        background-repeat: no-repeat;
        text-align: center;
        padding: 8vw 0 7vw 0;
        overflow: hidden;
    }

    .cta p.head {
        font-size: 4.5vw;
        line-height: 1.5;
    }

    .cta p.note {
        font-size: 1.7vw;
        line-height: 1.8;
        margin-top: 2vw;
    }

    .cta p.text {
        font-size: 2.9vw;
        line-height: 1.8;
        margin-top: 7vw;
    }

    .cta p.text2 {
        margin-top: 11vw;
    }

    .cta p {
        font-size: 2.86vw;
    }

    .cta-inner p {
        font-size: 1.82vw;
        padding-bottom: 0.78vw;
    }

    .cta-inner {
        width: 50%;
        padding: 4.0vw 0 0 0;
    }
    /* ボタン */

    .cta-btn {
        display: flex;
        justify-content: center;
        align-items: center;
        /* width: 40.4vw; */
        margin: 0 auto;
        padding: 3.1vw 7.8vw;
        border: none;
        border-radius: 5.4vw;
        color: #fff;
        font-weight: 600;
        font-size: 3.125vw;
        /* アニメーション */
        animation: anime1 0.5s ease 0s infinite alternate;
        transform-origin: center;
    }

    @keyframes anime1 {
        from {
            transform: scale(0.9, 0.9);
        }
        to {
            transform: scale(1, 1);
        }
    }

    .button-001 {
        background-color: #fc0051;
    }

    .button-001:hover {
        background-color: #ec0041;
    }

    .button-002 {
        background-color: #22c7c4;
    }

    .button-002:hover {
        background-color: #12b7b4;
    }

    @media screen and (max-width: 600px) {
        .section-title p {
            font-size: 4.65vw;
        }
        .section-title h2 {
            font-size: 15.12vw;
        }
        .feature-item {
            flex-direction: column;
        }
        .feature-item img {
            width: 100%;
        }
        .feature-item-inner {
            text-align: center;
            padding-top: 26vw;
        }
        .feature-item-inner h3 {
            font-size: 5.81vw;
        }
        .feature-item-inner p {
            font-size: 4.19vw;
        }
        /* 背景画像 */
        .feature-wrapper {
            background-image: url(../img/feature-bg01.png), url(../img/feature-bg02.png), url(../img/feature-bg03.png);
            background-repeat: no-repeat, no-repeat, no-repeat;
            background-position: -6vw 21vw, 37vw 197vw, -26vw 473vw;
            background-size: 55vw, 82vw, 120vw;
        }
        /* cta */
        .cta {
            background-size: 44%;
            background-position: -8vw 9vw;
            padding-top: 11.6vw;
            padding: 5vw 0 8vw;
        }
        .cta2 {
            background-image: url(../img/cta-bg.jpg);
            background-position: center;
            background-size: cover;
            background-repeat: no-repeat;
            text-align: center;
            padding: 15vw 0 7vw 0;
            overflow: hidden;
        }
        .cta p.head {
            font-size: 7.0vw;
            line-height: 1.5;
        }

        .cta p.note {
            font-size: 12.5px;
            line-height: 1.8;
            margin-top: 2vw;
        }

        .cta p.text {
            font-size: 5.12vw;
            line-height: 1.8;
            margin-top: 7vw;
            padding: 0 20px;
        }

        .cta p.text2 {
            margin-top: 11vw;
        }

        .cta p {
            font-size: 5.12vw;
        }
        .cta-inner {
            width: 100%;
            font-size: 4.18vw;
        }
        .cta-inner p {
            font-size: 4.18vw;
        }
        .cta-sp-margin {
            margin: 12vw 0;
        }
        .cta-btn {
            width: 90.69vw;
            height: 19.07vw;
            border-radius: 21.86vw;
            font-size: 5.814vw;
        }
        /* SPのみライン */
        .sp-cta-line-group {
            position: relative;
            height: 30vw;
            background: #000;
            overflow: hidden;
        }
        .sp-cta-bg1 {
            position: absolute;
            top: 0;
            left: -11vw;
            width: 120%;
            z-index: 110;
        }
        .sp-cta-bg2 {
            position: absolute;
            top: 0;
            left: 5.35vw;
            z-index: 105;
        }
        .cta-wra {
            position: relative;
            overflow: hidden;
        }
        /* .sp-cta-line-gruop {
        position: absolute;
        position: relative;
        z-index: 110;
    } */
        .sp-cta-bg-wap {
            position: absolute;
            top: 71vh;
            height: 29vw;
            width: 100vw;
        }
        .sp-cta-bg3,
        .sp-cta-bg4 {
            position: absolute;
            /* z-index: 110; */
        }
        .sp-cta-bg3 {
            top: 117vh;
            left: -17vw;
            width: 126%;
            z-index: 110;
        }
        .sp-cta-bg4 {
            top: 64vh;
            left: -20vw;
            width: 100%;
            z-index: 105;
        }
    }

    @media screen and (min-width: 400px) {
        .sp-cta-bg-wap {
            top: 156vw;
        }
    }

    @media screen and (max-width: 400px) {
        .sp-cta-bg-wap {
            top: 156vw;
        }
    }
    /*------------------------------------
case
-------------------------------------*/

    .case-wrapper {
        overflow: hidden;
        position: relative;
        margin-top: 5vw;
    }
    /* 背景装飾 */

    .case-bg1,
    .case-bg3,
    .case-bg5 {
        width: 76%;
    }

    .case-bg2,
    .case-bg4 {
        width: 84%;
    }

    .case-bg1 {
        position: absolute;
        top: 17vw;
        left: -28vw;
    }

    .case-bg2 {
        position: absolute;
        top: 23vw;
        left: 29vw;
        width: 85%;
    }

    .case-bg3 {
        position: absolute;
        top: 52vw;
        left: 65vw;
    }

    .case-bg4 {
        position: absolute;
        top: 89vw;
        left: -24vw;
    }

    .case-bg5 {
        position: absolute;
        top: 95vw;
        left: 52vw;
    }

    .case-wrapper .section-title p{
      color: #000;
      font-size: 2.1vw;
    }

    .sp-case-flex {
        display: flex;
        flex-wrap: nowrap;
    }

    .case-group {
        display: flex;
        flex-wrap: wrap;
        /* padding: 0 1.3vw; */
        margin: 5.2vw 0;
        padding-bottom: 3vw;
        justify-content: center;
    }

    .case-item {
        position: relative;
        width: 15.26vw;
        height: 15.26vw;
        border: solid 3px #FF0052;
        background: #fff;
        border-radius: 2.92vw;
        margin: 0.93vw 3.04vw 0.93vw 0;
        display: flex;
        flex-direction: column;
        justify-content: center;
        text-align: center;
        /* 影 */
        box-shadow: 0px 3px 15px -3px hsl(0, 0%, 0%, 60%);
    }

    .case-item img {
        width: 64%;
        height: auto;
        margin: 0 auto;
        margin-bottom: 0.53px;
    }

    .case-item p {
        font-size: 1.56vw;
    }

    .case-item:nth-of-type(5n) {
        margin-right: 0;
    }
    /* cm */

    .cm-group {
        position: relative;
        display: flex;
        justify-content: space-around;
        margin: 0 auto 15.6vw;
        background-image: url('../img/cm-phone-bg.png');
        background-size: 100%;
        background-position: bottom;
    }

    .cm-group-item {
        /* width: 33.33%; */
        width: 30vw;
        position: relative;
    }

    .cm-group-title {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 28.5vw;
        margin: 0 auto;
        padding: 1.46vw 0;
        border: none;
        border-radius: 2.8vw;
        color: #fff;
        font-size: 2.08vw;
        background-color: #ec0041;
        position: relative;
        z-index: 60;
    }

    .cm-group-number {
        margin-top: 19vw;
        color: #FFF502;
        text-shadow: 7px 5px 0px rgba(0, 0, 0, 1);
    }
    /* 文字 */

    .pv {
        font-size: 3.645vw;
        margin-left: 6vw;
    }

    .cpc {
        margin-left: 9.37vw;
    }

    .large-pv-text {
        position: relative;
        font-size: 6.77vw;
        margin-right: 2vw;
    }

    .cm-group-number {
        font-size: 3.125vw;
        margin-bottom: 3.125vw;
        margin-bottom: 9vw;
        position: relative;
        z-index: 65;
    }

    .cm-group-item:first-of-type,
    .cm-group-item:last-of-type {
        margin-top: 12vw;
    }

    .grumping-margin {
        margin-top: 2vw;
    }
    /* 斜めのテキスト */

    .cm-diagonal {
        width: 30.27vw;
        display: flex;
        flex-direction: column;
        text-align: center;
        transform: skew(14deg, -14deg);
        margin-left: 6vw;
        margin-top: 4vw;
    }

    .cm-diagonal-text {
        color: #fff;
        text-shadow: 0px 3px 6px rgba(0, 0, 0, 1);
        margin-bottom: 10px;
    }

    .diagonal-text-bg {
        display: inline;
        font-size: 3.4vw;
        line-height: 1.5em;
        padding: 0.26vw 1.56vw;
        background: linear-gradient(transparent 0%, #1BE6E2 0%);
        -webkit-box-decoration-break: clone;
        box-decoration-break: clone;
    }
    /* タグ */

    .pv,
    .click,
    .cpc {
        position: relative;
    }

    .pv .font-toppan,
    .click .font-toppan,
    .cpc .font-toppan {
        font-family: 'Toppan Bunkyu Midashi Gothic';
        font-weight: 900;
        font-family: "futura bq", "Futura", sans-serif;
    }

    .pv::before,
    .click::before,
    .cpc::before {
        color: #fff;
        text-shadow: none;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .pv::before,
    .pv::after {
        content: 'PV数';
        position: absolute;
        top: -2vw;
        left: -5vw;
        width: 8.33vw;
        height: 4.166vw;
        font-size: 2.08vw;
        transform: rotate(22deg);
    }

    .pv::after {
        /* 台形背景 */
        content: '';
        border-left: 8.33vw solid #1BE6E2;
        /* before の width に合わせる */
        border-top: 10px solid transparent;
        border-bottom: 10px solid transparent;
        z-index: -1;
    }

    .click::before,
    .click::after {
        content: 'クリック数';
        position: absolute;
        top: -1.2vw;
        left: 19vw;
        width: 10.4vw;
        height: 3.5vw;
        font-size: 1.56vw;
        transform: rotate(-11deg);
    }

    .click::after {
        /* 台形背景 */
        content: '';
        border-right: 10.4vw solid #1BE6E2;
        /* before の width に合わせる */
        border-top: 10px solid transparent;
        border-bottom: 10px solid transparent;
        z-index: -1;
    }

    .cpc::before,
    .cpc::after {
        content: 'CPC';
        position: absolute;
        top: 3vw;
        left: -5vw;
        width: 6.25vw;
        height: 3.125vw;
        font-size: 1.56vw;
        transform: rotate(11deg);
    }

    .cpc::after {
        /* 台形背景 */
        content: '';
        border-left: 6.25vw solid #1BE6E2;
        /* before の width に合わせる */
        border-top: 8px solid transparent;
        border-bottom: 8px solid transparent;
        z-index: -1;
    }

    .cm-group-text {
        font-size: 1.3vw;
        text-align: center;
    }

    .cm-group-text {
        position: absolute;
        bottom: -5vw;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .cm-group-text p {
        font-weight: bold;
    }
    /* ニーズ */

    .needs-wrapper {
        background: #000;
    }

    .needs {
        color: #ffffff;
        font-size: 2.4vw;
        padding: 4.69vw 0;
        position: relative;
        text-align: center;
    }
    /* 文字の上に点 */

    .dots {
        background-image: radial-gradient(circle at center, rgb(255, 255, 255) 20%, transparent 20%);
        background-position: top right;
        background-repeat: repeat-x;
        background-size: 1em 0.3em;
        padding-top: .4em;
    }

    .arrow {
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 55px 38px 0 38px;
        border-color: #000000 transparent transparent transparent;
    }

    .needs::before {
        content: '';
        position: absolute;
        bottom: 0;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 76px 55px 0 55px;
        border-color: #000000 transparent transparent transparent;
        left: 50%;
        transform: translateX(-50%) translateY(100%);
    }

    @media screen and (max-width: 600px) {
        .case-wrapper {
            padding-top: 5.0vw;
            position: relative;
        }
        .case-wrapper .section-title p{
          color: #000;
          font-size: 4.4vw;
          padding-bottom: 5vw;
        }
        .case-item {
            width: 27.9vw;
            height: 27.9vw;
            margin: 1.9vw 3.8vw 1.9vw 0;
            border: solid 1px #FF0052;
            box-shadow: 0px 4px 2px -3px hsl(0, 0%, 0%, 60%);
        }
        .case-group {
            padding: 0 2vw;
            margin: 0 calc(50% - 50vw);
        }
        .cm-diagonal-sp {
            display: flex;
            justify-content: center;
            align-items: center;
            width: auto;
            margin: 10vw auto;
            padding: 2.8vw 11.1vw;
            border: none;
            border-radius: 7.68vw;
            background-color: #03C7C4;
            color: #fff;
            font-weight: 600;
            font-size: 6.05vw;
            position: relative;
            z-index: 100;
        }
        /* アニメーション */
        .case-group {
            display: flex;
            flex-wrap: nowrap;
            justify-content: flex-start;
        }
        .sp-case-flex {
            padding-right: 3.8vw;
        }
        .slider {
            animation: loop 10s infinite linear 0.5s both;
        }
        @keyframes loop {
            from {
                transform: translateX(0);
            }
            to {
                transform: translateX(-100%);
            }
        }
        /* 背景画像 */
        .case-bg1 {
            top: 41vw;
            left: -13vw;
            width: 85%;
        }
        .case-bg2 {
            top: 62vw;
            left: 10vw;
            width: 100%;
        }
        /* 共通の見出し */
        .section-title {
            margin-bottom: 0;
        }
        /* cm */
        .cm-group {
            width: 100%;
            flex-direction: column-reverse;
        }
        /* SPのみ */
        .cm-flex {
            display: flex;
            justify-content: space-between;
        }
        .sp-cm-right {
            width: auto;
            /* display: flex; */
        }
        .sp-cm-number-wrap {
            display: flex;
            justify-content: flex-end;
            align-items: center;
        }
        .sp-cm-button {
            display: flex;
            justify-content: center;
            align-items: center;
            width: 92%;
            height: 6.98vw;
            margin: 0 auto;
            border-radius: 25px;
            background-color: #000000;
            color: #fff;
            font-weight: 600;
            font-size: 3.72vw;
            margin-bottom: 3vw;
        }
        .sp-cm-left {
            width: 38%;
        }
        .sp-cm-right {
            width: 62%;
            /* margin-left: 10px; */
        }
        .sp-cm-group {
            width: 94%;
            margin: 0 auto;
            margin-top: 56px;
        }
        .sp-cm-pv-tag,
        .sp-cm-click-tag,
        .sp-cm-cpc-tag {
            font-size: 2.79vw;
            padding: 0.4vw 2vw;
            background: #03C7C4;
            color: #fff;
            border-radius: 6.98vw;
            margin-right: 1.8vw;
            /* font-weight: 900; */
            /* font-weight: normal; */
        }
        /* 文字の太さ */
        .sp-cm-pv-tag p {
            font-weight: 900;
        }
        .sp-cm-click-tag p {
            font-weight: 900;
        }
        .sp-cm-cpc-tag p {
            font-weight: 900;
        }
        .sp-cm-click {
            font-size: 6.51vw;
        }
        .sp-cm-cpc {
            font-size: 4.65vw;
        }
        .sp-cm-pv-number {
            font-size: 9.3vw;
            font-family: 'futura bq', 'Futura', sans-serif;
        }
        .sp-cm-pv-text {
            font-size: 5.12vw;
            /* font-family: 'Toppan Bunkyu Midashi Gothic';
            font-weight: 900; */
            /* font-family: "toppan-bunkyu-midashi-go-std", 'ヒラギノ角ゴシック', 'Hiragino Sans', sans-serif; */
            font-weight: 900;
            font-style: normal;
            font-family: 'futura bq', 'Futura', sans-serif;
        }
        .fz-28 {
            font-size: 6vw;
        }
        /* 数字 */
        .sp-cm-click-number,
        .sp-cm-cpc-number {
            font-size: 6.51vw;
            font-family: 'futura bq', 'Futura', sans-serif;
        }
        /* click cpc */
        .sp-cm-click-text,
        .sp-cm-cpc-text {
            font-size: 4.65vw;
            font-family: 'futura bq', 'Futura', sans-serif;
        }
        .sp-cm-pv-number,
        .sp-cm-click-number,
        .sp-cm-cpc-number {
            margin-right: 4px;
        }
        .sp-cm-bottom-text {
            font-size: 3.49vw;
            text-align: center;
            line-height: 1.7;
            margin: 4.65vw 0;
        }
        .dots {
            padding-top: 0.2em;
        }
    }

    @media screen and (max-width: 300px) {
        .container {
            width: auto;
            margin: 0 2.8vw;
        }
    }
    /* ニーズ */

    @media screen and (max-width: 600px) {
        .needs-wrapper {
            background: #000;
            margin: 60px 0;
            height: 43.7vw;
        }
        .needs {
            text-align: center;
            font-size: 5.35vw;
            display: flex;
            justify-content: center;
            align-items: center;
            height: 100%;
            line-height: 1.8;
        }
        .needs::before {
            border-width: 30.4px 18px 0 18px;
        }
    }
    /*------------------------------------
detail
-------------------------------------*/

    .detail {
        padding: 5.2vw 0;
    }

    .detail-item {
        width: 37vw;
        height: 31.6vw;
        background: #000;
        color: #fff;
        border-radius: 3.645vw;
        text-align: center;
        font-size: 3.645vw;
        padding-top: 7vw;
        position: relative;
    }

    .detail-group {
        margin: 0 2vw;
    }

    .detail-inner {
        margin: 2.08vw 6.77vw;
        justify-content: space-between;
    }

    .detail-item1,
    .detail-item2,
    .detail-item3 {
        position: relative;
    }
    /* 数字アイコン */

    .detail-item1::before {
        content: '1';
        position: absolute;
        top: -3.8vw;
        left: -4.2vw;
        width: 8.33vw;
        height: 8.33vw;
        border-radius: 50%;
        background-color: #1BE6E2;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .detail-item2::before {
        content: '2';
        position: absolute;
        top: -3.8vw;
        left: -4.2vw;
        width: 8.33vw;
        height: 8.33vw;
        border-radius: 50%;
        background-color: #1BE6E2;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .detail-item3::before {
        content: '3';
        position: absolute;
        top: -3.8vw;
        left: -4.2vw;
        width: 8.33vw;
        height: 8.33vw;
        border-radius: 50%;
        background-color: #1BE6E2;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .detail-item3 {
        width: 100%;
    }
    /* バー */

    .detail-item1::after {
        content: '動画の長さが\Aちょうど良く見れる';
        white-space: pre;
        position: absolute;
        top: 14.5vw;
        left: -1.08vw;
        width: 39vw;
        height: 10vw;
        background-color: #FBEA1F;
        color: #000;
        font-size: 2.34vw;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .detail-item2::after {
        content: '強制でないため\Aユーザーの広告嫌いがない';
        white-space: pre;
        position: absolute;
        top: 14.5vw;
        left: -1.08vw;
        width: 39vw;
        height: 10vw;
        background-color: #FBEA1F;
        color: #000;
        font-size: 2.34vw;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .detail-item3::after {
        content: 'これまでのSNSはフォロワー数が拡散を生み出す絶対条件でしたが\ATikTokはレコメンドシステムによってリーチするため見込み顧客にPRできる！';
        white-space: pre;
        position: absolute;
        top: 16.5vw;
        left: -1.08vw;
        width: 103%;
        height: 10vw;
        background-color: #FBEA1F;
        color: #000;
        font-size: 2.08vw;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .detail-item3 .text3{
      margin-top: -2.7vw;
    }

    .detail-contents {
        margin-top: 5.2vw;
    }

    .detail-left {
        width: 44%;
    }

    .detail-right {
        font-size: 2.34vw;
        padding: 4.16vw 0;
    }

    .detail-right p {
        margin-bottom: 5.2vw;
    }

    .detail-text-bg {
        display: inline;
        font-size: 2.6vw;
        line-height: 1.5em;
        padding: 0.26vw 1.56vw;
        background: linear-gradient(transparent 0%, #1BE6E2 0%);
        -webkit-box-decoration-break: clone;
        color: #fff;
        margin: 0 2%;
    }

    .detail .note-list{
      width: 100%;
      display: flex;
      justify-content: center;
      margin-top: 3vw;
    }

    @media screen and (max-width: 600px) {
        .detail-item {
            width: 100%;
            height: 68.14vw;
            border-radius: 16vw;
            font-size: 5.9vw;
            line-height: 1.2;
            margin-bottom: 13.95vw;
            padding-top: 14vw;
        }
        /* 左右余白 */
        .detail-inner {
            margin: 0 3vw;
        }
        /* 番号 */
        .detail-item1::before,
        .detail-item2::before,
        .detail-item3::before {
            width: 19.3vw;
            height: 19.3vw;
            font-size: 10.46vw;
        }
        .detail-item1::after,
        .detail-item2::after,
        .detail-item3::after {
            width: 106%;
            height: auto;
            font-size: 5.35vw;
            line-height: 1.4;
            padding: 5vw 0;
            top: 31vw;
            left: -2.08vw;
        }
        /* テスト */
        .detail-item3::after {
            display: none;
        }
        .detail-item3 {
            height: 120.9vw;
            padding-top: 20vw;
            margin-bottom: 0;
        }
        .detail-item3 .text3{
          margin-top: 1vw;
        }
        .detail-item3-band {
            position: absolute;
            width: 106%;
            height: auto;
            font-size: 5.35vw;
            line-height: 1.4;
            padding: 7.4vw 0;
            top: 39%;
            left: -2.5vw;
            background-color: #FBEA1F;
            color: #000;
            font-size: 5.35vw;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        .detail-contents {
            margin-top: 5.2vw;
        }
        .detail-left,
        .detail-right {
            width: 100%;
            text-align: center;
        }
        .detail-left img {
            width: 74%;
        }
        .detail-right {
            font-size: 4.18vw;
        }
        .detail-text-bg {
            padding: 1.4vw 5.7vw;
            font-size: 5.81vw;
        }
        .detail .note-list{
          width: 100%;
          display: flex;
          justify-content: center;
          margin-top: 10vw;
        }
        .detail .note-list p{
          font-size: 9px;
        }
    }
    /* cta-sp */

    @media screen and (max-width: 600px) {
        .cta-sp {

        }
    }
    /*------------------------------------
price
-------------------------------------*/

    .price-contents {
        margin: 4.166vw 0;
    }

    .price-box {
        width: 68.9vw;
        margin: 0 auto;
    }

    .price-group {
        padding: 3.9vw 3.9vw 3.38vw;
    }

    .price-inner {
        display: flex;
        justify-content: space-between;
        text-align: center;
        margin-bottom: 2.08vw;
    }

    .price-box h3 {
        font-size: 2.86vw;
        background-color: #1BE6E2;
        text-align: center;
        padding: 1.04vw 0;
    }

    .price-box,
    .price-corner {
        box-shadow: 0px 5px 8px -1px hsl(0, 0%, 0%, 75%);
    }

    .price-corner {
        position: relative;
    }

    .price-corner::before {
        content: "";
        top: 0;
        left: 0;
        border-bottom: 56px solid transparent;
        border-left: 60px solid #1BE6E2;
        position: absolute;
        z-index: 1;
    }

    .price-corner-small::before {
        border-bottom: 28px solid transparent;
        border-left: 32px solid #1BE6E2;
    }

    .price-left {
        width: 40%;
        padding: 2.08vw 0;
    }

    .price-center {
        width: auto;
    }

    .price-right {
        width: 42%;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
    }
    /* プラス */

    .my-parts {
        display: inline-block;
        width: 2.7vw;
        height: 2.7vw;
        position: relative;
        cursor: pointer;
        margin: auto;
    }

    .my-parts span::before,
    .my-parts span::after {
        display: block;
        content: "";
        position: absolute;
        top: 50%;
        left: 0.7vw;
        width: 4.2vw;
        height: 38%;
        margin: -8% 0 0 -42%;
        background: #000000;
    }

    .my-parts span::after {
        transform: rotate(90deg);
    }

    .price-left-title {
        font-size: 2.08vw;
        margin-bottom: 1.04vw;
    }

    .price-left-price {
        font-size: 3.125vw;
        margin-bottom: 1.04vw;
    }

    .price-left-text,
    .price-right-title {
        font-size: 1.3vw;
    }

    .price-left-text,
    .option-right ul li,
    .price-text p {
        font-family: "Arial", sans-serif;
        font-weight: 600;
    }

    .price-right-price {
        font-size: 2.34vw;
    }

    .option-left {
        font-size: 2.86vw;
        width: 37%;
        display: flex;
        align-items: center;
        justify-content: flex-end;
    }

    .option-right {
        padding: 2% 0 2% 6%;
        font-size: 1.3vw;
    }

    .price-text {
        margin-top: 2.08vw;
        font-size: 1.3vw;
    }

    @media screen and (max-width: 600px) {
        .price-contents {
            margin: 12vw 0;
        }
        .price-group {
            padding: 6vw;
        }
        .price-box {
            width: 100%;
            margin: 0;
        }
        .price-inner {
            flex-direction: column;
        }
        .price-box h3 {
            font-size: 4.65vw;
            text-align: center;
            padding: 3.04vw 0;
            width: 101%;
        }
        .price-left {
            width: 100%;
            padding: 8vw 0;
        }
        .price-left-title {
            font-size: 4.65vw;
            margin-bottom: 4vw;
        }
        .price-left-price {
            font-size: 9.3vw;
        }
        .price-left-text {
            font-size: 4.18vw;
        }
        .my-parts span::before,
        .my-parts span::after {
            top: 48%;
            left: -1.3vw;
            width: 8.6vw;
            height: 11%;
        }
        .my-parts {
            padding: 9.3vw 0;
        }
        .price-right {
            width: 100%;
        }
        .price-right-title {
            font-size: 4.18vw;
        }
        .price-corner {
            padding: 32px 0;
        }
        .price-right-price {
            font-size: 6.98vw;
        }
        .price-right>.price-corner {
            padding: 12px 0;
            margin-bottom: 4.18vw;
        }
        .option-left {
            font-size: 5.35vw;
            width: 100%;
            text-align: center;
            justify-content: center;
        }
        .option-right {
            padding: 6% 0 2% 12vw;
            font-size: 4.18vw;
        }
        .price-text {
            margin-top: 5.08vw;
            font-size: 3.72vw;
            line-height: 1.8;
        }
    }
    /*------------------------------------
flow
-------------------------------------*/

    .flow-content {
        margin: 7.8vw 0;
        position: relative;
    }

    .flow-left,
    .flow-right {
        width: 50%;
    }

    .flow-left-text {
        display: flex;
        align-items: center;
        width: 100%;
        font-size: 2.08vw;
        padding-left: 2.08vw;
    }

    .flow-left-title {
        width: 52%;
        height: 4.69vw;
        padding: 0.5vw 7.5vw;
        border: none;
        border-radius: 5.4vw;
        color: #fff;
        font-weight: 600;
        font-size: 2.34vw;
        background-color: #0ECCC9;
        font-size: 2.34vw;
    }

    .flow-left-title p {
        font-weight: 400;
    }

    .flow-right {
        font-size: 1.56vw;
        padding-left: 4.69vw;
    }

    .flow-right-margin {
        margin-top: 1.25vw;
    }

    .text-row-center {
        margin-top: -1.25vw;
    }

    .flow-container {
        background-image: url(../img/flow.png);
        background-size: 42%;
        background-repeat: no-repeat;
        background-position: 51vw 0vw;
    }
    /* 区切り線 */

    .flow-content::before {
        content: '';
        position: absolute;
        left: 50%;
        top: 0;
        width: 0%;
        height: 100%;
        border-right: solid 2px #000;
    }
    /* ドット */

    .dashed {
        width: 25%;
        height: 6.25vw;
    }

    .dashed {
        background-image: linear-gradient(to bottom, #000, #000 5px, white 3px, white 8px);
        background-size: 3px 10px;
        background-position: right top;
        background-repeat: repeat-y;
    }

    @media screen and (max-width: 600px) {
        .flow-content::before {
            display: none;
        }
        .flow-left,
        .flow-right {
            width: 100%;
        }
        .flow-right {
            font-size: 3.95vw;
            padding-left: 0;
            margin-bottom: 30px;
        }
        .dashed {
            display: none;
        }
        .flow-left-inner {
            flex-direction: row;
            margin-bottom: 4vw;
        }
        .flow-left-title {
            font-size: 4.18vw;
            width: 43%;
            height: 7.69vw;
            padding: 1% 9%;
        }
        .flow-left-text {
            font-size: 5.35vw;
        }
        .dashed {
            width: 100%;
            height: 4vw;
            background-image: none;
        }
        .flow-left>.col-2 {
            flex-direction: row;
        }
        .flow-container {
            background-size: 65%;
            background-position: 40vw 48vw;
        }
    }
    /*------------------------------------
contact
-------------------------------------*/

    .contact-wrapper {
        background: #000;
    }

    .contact-content {
        color: #fff;
    }

    .contact-title {
        text-align: center;
    }

    .contact-title p {
        font-size: 1.56vw;
        margin-top: 1.04vw;
        line-height: 1.8;
    }

    .contact {
        width: 75.5vw;
        margin: 0 auto;
        padding: 5.2vw 0;
        font-size: 2.34vw;
    }
    /* フォーム */

    .select {
        margin: 4.16vw 0;
    }

    .select-title {
        margin-right: 4.16vw;
    }

    .contact-body {
        padding: 1.04vw;
        background: #fff;
        color: #000;
    }

    .contact-item {
        text-align: left;
        margin-right: 4.166vw;
        width: 35%;
    }

    .contact-table {
        width: 100%;
        border-collapse: separate;
        border-spacing: 0 3.125vw;
        margin-bottom: 5.2vw;
    }

    .select-contact-body {
        background: rgba(255, 255, 255, 0);
    }

    .my-radio {
        inline-size: 2.7vw;
        block-size: 2vw;
    }

    .contact-skill,
    .contact-body p {
        color: #000;
        font-size: 1.3vw;
    }

    .contact-skill {
        display: block;
    }

    .contact-skill+.contact-skill {
        margin-top: 0.53vw;
    }

    .contact-Check-text {
        margin-left: 0.26vw;
    }

    .form-textarea {
        border: solid 1px #000;
        width: 100%;
    }

    .contact-textarea {
        padding: 2% 3%;
    }

    .contact-submit {
        display: flex;
        justify-content: center;
        align-items: center;
        margin: 0 auto;
        padding: 2.5vw 17vw;
        border: none;
        border-radius: 5.4vw;
        color: #fff;
        font-weight: 600;
        font-size: 3.125vw;
        background-color: #fc0051;
    }

    .contact-body p {
        margin-top: 1.04vw;
    }

    input {
        width: 100%;
    }

    .checkbox-size {
        width: 1.04vw;
        height: 1.04vw;
    }

    .date-slash {
        margin: 0 1.04vw;
        font-size: 2.5vw !important;
        color: #757575 ! important;
    }
    /* 背景画像 */

    .contact-wrapper {
        background-image: url(../img/contact-bg01.png), url(../img/contact-bg02.png), url(../img/contact-bg03.png), url(../img/contact-bg04.png);
        background-repeat: no-repeat, no-repeat, no-repeat, no-repeat;
        background-position: 13vw 0, 56vw 13vw, -16vw 57vw, 67vw 93vw;
        background-size: 24vw, 24vw, 56vw, 50vw;
    }

    @media screen and (max-width: 600px) {
        .contact-title p {
            font-size: 3.95vw;
            margin-top: 1.04vw;
        }
        .select-title {
            font-size: 3.95vw;
            text-align: center;
            margin-right: 0;
            margin-bottom: 20px;
        }
        .select-contact-body {
            font-size: 4.65vw;
            width: 60vw;
            display: flex;
            justify-content: space-between;
        }
        .select {
            display: flex;
            align-items: center;
            justify-content: center;
        }
        /* contact */
        .contact-wrapper {
            padding-bottom: 6.98vw;
        }
        tbody th,
        tbody td {
            width: 100%;
            display: block;
        }
        .contact-item {
            width: 100%;
            font-size: 3.95vw;
        }
        .contact-submit {
            padding: 4vw 24vw;
            border-radius: 8.4vw;
            font-size: 4.65vw;
        }
        .contact-body {
            height: 10.46vw;
            font-size: 4.4vw;
        }
        .contact-textarea {
            height: 117vw;
        }
        .form-textarea {
            height: 67.44vw;
        }
        .contact-skill-text {
            font-size: 3.02vw;
            line-height: 2;
        }
        .contact-body p {
            margin: 5vw 0 2.5vw;
            font-size: 2.9vw;
        }
        .contact-Check-text {
            margin-left: 0.5vw;
            line-height: 1.8;
            font-size: 2.9vw;
        }
        .my-radio {
            inline-size: 4.7vw;
            block-size: 4vw;
        }
        .checkbox-size {
            width: 2.5vw;
            height: 2.5vw;
        }
        .date-slash {
            margin: 0 6vw !important;
            font-size: 5.5vw !important;
        }
        .contact-body-date {
            display: flex;
        }
    }
    /*------------------------------------
footer
-------------------------------------*/

    .footer-content {
        text-align: center;
        margin: 0 auto;
        padding-bottom: 3.125vw;
    }

    .footer-content,
    small {
        font-size: 1.3vw;
    }

    small {
        font-family: "Arial", sans-serif;
    }

    .footer-logo {
        width: 38.8vw;
        margin: 1vw auto;
    }

    .address {
        margin: 5vw 0 0;
        line-height: 1.4;
    }

    .address p {
        font-family: "Arial", sans-serif;
        font-weight: bold;
    }

    small {
        margin: 1.04vw 0;
    }
    /* アニメーション */
    /* fadeUp */

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

    @keyframes fadeUpAnime {
        from {
            opacity: 0;
            transform: translateY(100px);
        }
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }
    /* スクロールをしたら出現する要素にはじめに透過0を指定　*/

    .fadeUpOrderTrigger {
        opacity: 0;
    }

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

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

    @media screen and (max-width: 600px) {
        .footer-content {
            width: 65vw;
            /* width: 270px; */
        }
        .footer-logo {
            width: 80%;
            margin: 0 auto;
        }
        .address {
            font-size: 3.95vw;
        }
        small {
            font-size: 3.49vw;
        }
        .sp-tel-margin {
            margin: 5vw 0;
        }
    }

    .floating-banner {
        display: none;
        position: fixed;
        z-index: 99999;
        bottom: 0;
        right: 0;
    }

    @media screen and (max-width: 600px) {
        .floating-banner {
            width: 100vw;
            height: 30vw;
            background: #000;
            display: flex;
            align-items: center;
            /* display: none; */
        }
        .sp-flex {
            width: 90vw;
            height: 30vw;
            margin: 0 auto;
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            justify-content: space-around;
            /* margin: auto 0; */
            box-sizing: border-box;
            padding: 5px 0;
            }
        }
        .banner-btn {
            width: 50%;
            display: flex;
            justify-content: center;
            align-items: center;
        }
        .banner-button-001 {
            display: flex;
            justify-content: center;
            align-items: center;
            width: 43vw;
            margin: 0 auto;
            padding: 2.4vw 7vw;
            border: none;
            border-radius: 5.8vw;
            background-color: #fc0051;
            color: #fff;
            font-weight: 900;
            font-size: 4.65vw;
        }
        .banner-button-002 {
            display: flex;
            justify-content: center;
            align-items: center;
            width: 43vw;
            margin: 0 auto;
            padding: 2.4vw 7vw;
            border: none;
            border-radius: 5.8vw;
            background-color: #22c7c4;
            color: #fff;
            font-weight: 900;
            font-size: 4.65vw;
        }
        a.banner-button-003 {
            display: flex;
            justify-content: center;
            align-items: center;
            width: 87.6vw;
            margin: 0 auto;
            padding: 2.4vw 7vw;
            border: none;
            border-radius: 5.8vw;
            background-color: #00B900;
            color: #fff;
            font-weight: 900;
            font-size: 4.65vw;
        }
    }
    /* サンクスページ */

    .thanks-wrap {
        width: 100%;
        height: 100vh;
        font-size: 40px;
        padding-top: 10vh;
        text-align: center;
    }

    .thanks-text {
        margin-top: 80px;
        font-size: 2rem;
    }

    @media screen and (max-width: 600px) {
        .thanks-wrap {
            font-size: 20px;
        }
        .thanks-text {
            margin-top: 40px;
            font-size: 1.4rem;
        }
    }

    .test {
        font-family: "M PLUS 1p", sans-serif;
        font-weight: bolder;
    }
    /* --------------------
20240424追記
-------------------- */

    .mainvisual {
        background: #000;
        height: 56.25vw;
    }

    .mainvisual::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 56.25vw;
        background: url(../img/mv-bg.png);
        background-size: cover;
        background-repeat: no-repeat;
        background-position: center;
    }

    .mainvisual-container {
        max-width: 91.1458vw;
        width: 91%;
        height: 100%;
        margin: 0 auto;
        padding-top: 19.2708vw;
        padding-top: 17.0vw;
        padding-right: 6vw;
        z-index: 100;
        position: relative;
    }

    h1 {
        color: #fff;
        position: relative;
        z-index: 200;
        /* opacity: 0; */
        /* transition: opacity 1s ease; */
    }

    h1::before {
        content: 'STELLAR TOK';
        position: absolute;
        top: 0.36458vw;
        left: 14.47916vw;
        color: #FB0051;
        /* position: relative; */
        z-index: -2;
        display: none;
    }

    h1::after {
        content: 'STELLAR TOK';
        position: absolute;
        top: -0.26041vw;
        left: 14.79166vw;
        color: #00E0DC;
        /* position: relative; */
        z-index: -1;
        display: none;
    }

    .title-wrap__sub-title {
        color: #fff;
        font-size: 1.8229vw;
        font-size: 2.6vw;
        margin-top: 1.04166vw;
        margin-top: 0;
        line-height: 1.6;
    }
    .title-wrap__sub-title p:last-child {
        font-size: 3.2vw;
    }

    .title-wrap__sub-title p {
        /* opacity: 0; */
    }

    .mv-image {
        width: 16.66666vw;
        height: 16.66666vw;
        position: absolute;
        content: '';
        bottom: 4.6875vw;
        left: 1.04166vw;
        opacity: 0;
        display: none;
    }

    .mv-image {
        opacity: 0;
        transition: opacity 1s ease;
    }

    @keyframes fadeup {
        0% {
            transform: translateY(30px);
            opacity: 0;
        }
        80% {
            opacity: 1;
        }
        100% {
            opacity: 1;
            transform: translateY(0);
        }
    }
    /* アニメーションの追加 */

    .fade-up {
        opacity: 1;
    }

    .mv-image img {
        width: 100%;
        height: 100%;
    }

    .title-wrap__main-title {
        font-size: 4.0vw;
        font-family: Futura-Bold;
        font-weight: bold;
        position: relative;
        left: 1.30208vw;
    }

    h1 {
        letter-spacing: .1em;
        line-height: 1;
        margin-top: 0.52083vw;
    }
    h1 span{
      font-size: 94%;
      font-family: 'TsukuARdGothic-Regular', sans-serif;
      font-weight: bold;
      vertical-align: 0.02em;
      letter-spacing: -0.02em;
      padding-left: 6px;
    }
    .yellow{
      color: #FBE800;
      font-size: 100%;
      letter-spacing: -0.04em;
    }

    .title-wrap {
        transform: rotate(-5deg);
    }

    .title-wrap__sub-title,
    .title-wrap__main-title {
        text-align: center;
    }

    .mv-bottom {
        color: #fff;
        font-size: 2.5vw;
        transform: rotate(-5deg);
        margin-top: 3.125vw;
        padding-left: 17.91666vw;
    }

    .mv-bottom p {
        line-height: 1.2;
        line-height: 1;
        margin-bottom: 1.77083vw;
        opacity: 0;
        animation: zoomIn 0.8s cubic-bezier(0.25, 1, 0.5, 1) forwards;
    }

    .mv-bottom span {
        background: #fff;
        color: #000;
        display: inline-block;
        padding: 0.41666vw 0.8333vw;
        margin: 0 1.30208vw;
    }

    .mv-bottom p:nth-of-type(1) {
        animation-delay: 1.6s;
    }

    .mv-bottom p:nth-of-type(2) {
        animation-delay: 1.8s;
    }

    .mv-bottom-left {
        padding-left: 5.20833vw;
    }

    .mv-bottom span.note {
        color: #fff;
        width: 69.5%;
        font-size: 1.1vw;
        line-height: 1;
        background: rgba(0,0,0,0);
        text-align: right;
        display: inline-block;
        padding: 0;
        margin: 0;
    }

    /* アニメーション */
    /* 初期状態 */

    .title-wrap__main-title,
    .title-wrap__sp-main-title {
        opacity: 0;
        transform: translateY(50px);
        /* 下に50px移動 */
        transition: opacity 1s ease, transform 1s ease;
    }
    /* アニメーション */

    .appear-from-bottom {
        opacity: 1;
        transform: translateY(0);
        /* 元の位置に戻す */
    }

    @media screen and (max-width: 600px) {
        .mainvisual {
            height: 121.839vw;
        }
        .mainvisual::before {
            height: 121.839vw;
            background: url(../img/mv-bg_sp.png);
            background-size: cover;
            background-repeat: no-repeat;
            background-position: center;
        }
        .mv-image {
            width: 18.3908vw;
            height: 18.3908vw;
            bottom: 31.39534vw;
            left: 3.21839vw;
        }
        .mainvisual-container {
            padding-top: 34.4186vw;
            padding-top: 28.0vw;
            padding-right: 0;
        }
        .title-wrap__sub-title{
            width: 100%;
        }
        .title-wrap__sub-title p{
            font-size: 3.67816vw;
            font-size: 4.4vw;
        }
        .title-wrap__sub-title p:last-child {
            font-size: 4.8vw;
        }
        .title-wrap__sub-title p br {
           display: none;
         }
        .title-wrap__sp-main-title {
            width: 100%;
            font-family: Futura-Bold;
            font-weight: bold;
            color: #fff;
            font-size: 17.0vw;
            letter-spacing: .08em;
            display: inline-block;
            margin-top: 3.44827vw;
        }
        .title-wrap__sp-main-title span{
          font-size: 94%;
          font-family: 'TsukuARdGothic-Regular', sans-serif;
          font-weight: bold;
          vertical-align: 0.02em;
          letter-spacing: -0.02em;
          padding-left: 6px;
        }
        .title-wrap__sp-main-title p {
            line-height: 1;
        }
        .sp-main-title__top,
        .sp-main-title__bottom {
            /* opacity: 0; */
            transition: opacity 1s ease;
            display: flex;
            justify-content: center;
        }
        .sp-main-title__bottom {
            margin-top: 1.37931vw;
        }
        .sp-main-title__top::before {
            content: 'STELLAR';
            position: absolute;
            top: -1.16279vw;
            left: 0.45977vw;
            color: #FB0051;
            z-index: -2;
            display: none;
        }
        .sp-main-title__top::after {
            content: 'STELLAR';
            position: absolute;
            top: 0.93023vw;
            left: 0;
            color: #00E0DC;
            z-index: -1;
            display: none;
        }
        .sp-main-title__bottom::before {
            content: 'TOK';
            position: absolute;
            top: 16.97674vw;
            right: -0.45977vw;
            color: #FB0051;
            z-index: -2;
            display: none;
        }
        .sp-main-title__bottom::after {
            content: 'TOK';
            position: absolute;
            top: 18.8372vw;
            right: 0;
            color: #00E0DC;
            z-index: -1;
            display: none;
        }
        .mv-bottom {
            padding-left: 0;
            margin-top: 5.7vw;
            font-size: 4.4vw;
        }
        .mv-bottom span {
            margin: 0 1.83908vw;
            padding: 1.14942vw;
        }
        .mv-bottom p {
            margin-bottom: 3.21839vw;
        }
        .mv-bottom p:first-of-type {
            text-align: left;
        }
        .mv-bottom-small {
            font-size: 4.1379vw;
        }
        .mv-bottom-left {
            padding-left: 36px;
        }
        .mv-bottom span.note {
            color: #fff;
            width: 84%;
            font-size: 2.6vw;
            line-height: 1;
            background: rgba(0,0,0,0);
            text-align: right;
            display: inline-block;
            padding: 0;
            margin: 0;
        }
    }

    @import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap');
    font-family: 'Noto Sans JP',
    'ヒラギノ角ゴ Pro W3',
    'Hiragino Kaku Gothic Pro',
    'メイリオ',
    'Meiryo',
    '游ゴシック',
    'Yu Gothic',
    'ＭＳ Ｐゴシック',
    'MS PGothic',
    sans-serif;


        /*------------------------------------
    fix_btn_contact
    -------------------------------------*/
#fix_btn_line_contact{
	position: fixed!important;
	bottom: 12px;
	right: 12px;
	border-radius: 50%;
	background-color: #004699;
	filter: drop-shadow(1px 1px 4px rgba(0, 0, 0, 0.2));
  z-index: 10000!important;
	transition: all 0.5s ease;
  display: none;
}
@media (min-width: 960px){
#fix_btn_line_contact{
  position: fixed!important;
  bottom: 34px!important;
  right: 34px!important;
  z-index: 10000!important;
  display: 3
}
}

#fix_btn_line_contact a{
	color: #fff;
	width: 120px;
	height: 120px;
  font-size: 0.8vw;
  font-size: 18px;
	line-height: 1.4;
	font-weight: 500;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background-color: #00B900;
  box-sizing: border-box;
	transition: all 0.3s ease;
}
@media (min-width: 960px){
#fix_btn_line_contact a{
  width: 170px;
  height: 170px;
  letter-spacing: 0.06em;
  font-size: 1.35vw;
  font-size: 19px;
  padding: 12px 0 0 0;
}
}

#fix_btn_line_contact a .icon-arrow{
	width: 56px;
	height: 24px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 100px;
	background-color: #fff;
  margin: 10px 0 0 0;
}

#fix_btn_line_contact a .icon-arrow svg{
	width: 13px;
	height: 13px;
	fill: #00B900;
}
