body {
    font-family: "yu-mincho-pr6n", sans-serif;
}

/* 画像とテキストの反転 */
.reverse {
    flex-direction: row-reverse;
}

/* アニメーション */

.is-anime.mask {
    -webkit-clip-path: inset(0 100% 0 0);
    clip-path: inset(0 100% 0 0);
    -webkit-transition: 1s ease-in-out;
    transition: 1s ease-in-out;
}

.is-anime.mask.active {
    -webkit-clip-path: inset(0 0 0 0);
    clip-path: inset(0 0 0 0);
}

.is-anime.mask.slow {
    -webkit-transition: 1.5s ease-in-out;
    transition: 1.5s ease-in-out;
}

.is-anime.fade {
    -webkit-filter: blur(20px);
    filter: blur(20px);
    opacity: 0;
    -webkit-transition: 0.5s ease-in-out;
    transition: 0.5s ease-in-out;
}

.is-anime.fade.active {
    opacity: 1;
    -webkit-filter: blur(0);
    filter: blur(0);
}



/* 基本のフェードインとスライドアップ効果 */
.slide-up-fade-in {
    opacity: 0;
    transform: translateY(200px);
    transition: opacity 1s ease-out, transform 1s ease-out;
}

/* アクティブ状態：最終的な表示状態 */
.slide-up-fade-in.active {
    opacity: 1;
    transform: translateY(0);
}

/* スローアニメーション効果 */
.slide-up-fade-in.slow {
    transition: opacity 1.5s ease-out, transform 1.5s ease-out;
}

/* クイックアニメーション効果 */
.slide-up-fade-in.fast {
    transition: opacity 0.5s ease-out, transform 0.5s ease-out;
}

/* PCレスポンシブ */


@media screen and (min-width: 1200px) {

    .sp {
        display: none;
    }

    .headercontainer {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        background-image: url(../../../axion/assets/img/cta-bg.jpg);
        background-size: cover;
        background-position: center;
        z-index: 1001;
        padding-top: 28px;
        padding-bottom: 28px;
    }

    .header {
        display: flex;
        width: 90%;
        max-width: 1280px;
        margin: auto;
        justify-content: space-between;
        align-items: center;
    }

    .headerleft {
        width: 100%;
        max-width: 200px;
    }

    .header-cta-btn {
        display: inline-block;
        padding: 12px 28px;
        border: 1px solid #B8965A;
        color: #B8965A;
        font-family: 'Noto Sans JP', sans-serif;
        font-size: 13px;
        font-weight: 300;
        letter-spacing: 0.1em;
        text-decoration: none;
        white-space: nowrap;
        transition: background 0.3s, color 0.3s;
    }

    .header-cta-btn:hover {
        background: #B8965A;
        color: #fff;
    }

    .background1 {
        background-color: #FAFAF8;
        background-size: cover;
    }

    .contents {
        text-align: left;
        width: 90%;
        max-width: 1280px;
        gap: 50px;
        margin: auto;
    }

    .contents .flex {
        display: flex;
        gap: 50px;
        padding-bottom: 80px;
        align-items: center;
    }

    .contents .left {
        max-width: 600px;
        width: 100%;
    }

    .contents .left img {
        max-width: 600px;
        width: 100%;
    }

    .contents .right {
        max-width: 600px;
        width: 100%;
    }

    .contents .right img {
        max-width: 600px;
        width: 100%;
    }

    .contents h1 {
        font-size: 34px;
        line-height: 1.5;
        padding-bottom: 20px;
    }

    .contents h2 {
        font-size: 24px;
        padding-bottom: 20px;
    }

    .contents h3 {
        font-size: 18px;
        line-height: 2;
    }

    .contents h4 {
        font-size: 14px;
        line-height: 2;
        margin: auto;
        width: 90%;
        max-width: 600px;
        padding-bottom: 80px;
    }

    .contents p {
        font-size: 36px;
    }

    .flex img {
        max-width: 540px;
        width: 100%;
    }

    .flow {
        text-align: center;
        max-width: 1280px;
        gap: 50px;
        margin: auto;
        padding-bottom: 80px;
    }

    .flow h1 {
        padding-bottom: 20px;
    }

    .flow h3 {
        padding-bottom: 20px;
    }

    .flow img {
        width: 100%;
    }
}

/* SPレスポンシブ */


@media screen and (max-width: 1200px) {

    .headersp {
        position: fixed;
        /*← fixedで固定 */
        box-sizing: border-box;
        top: 0;
        left: 0;
        display: flex;
        align-items: center;
    }

    .headersp img {
        width: 100%;
    }

    .background1 {
        background-color: #FAFAF8;
    }

    .contents {
        max-width: 600px;
        width: 93%;
        margin: auto;
    }

    .right {
        padding-top: 20px;
    }

    .left h1 {
        padding-top: 10px;
        padding-bottom: 10px;
    }

    .left h2 {
        padding-bottom: 10px;
    }

    .flex {
        padding-bottom: 30px;
    }

    .pc {
        display: none;
    }

    .contents h1 {
        font-size: 24px;
        text-align: center;
        padding-top: 24px;
        padding-bottom: 24px;
    }

    .contents h2 {
        font-size: 20px;
    }

    .contents h3 {
        font-size: 16px;
    }

    .contents p {
        font-size: 32px;
    }

    .flex img {
        width: 100%;
    }

    .flow {
        text-align: center;
        max-width: 1280px;
        margin: auto;
    }

    .flow img {
        width: 100%;
        padding-top: 24px;
    }

    .footersp {
        position: fixed;
        top: 0;
        left: 0;
    }

    .footersp img {
        width: 100%;
    }

}