@charset "UTF-8";
.p_afull { padding: 0; font-size: clamp(14px, 1.4vw, 16px); font-family: "Shippori Mincho", serif; font-weight: 400; font-style: normal; }
        .p_afull h2 { margin: 65px 0 22px; font-size: clamp(14px, 4vw, 24px); letter-spacing: 0.23em; color: #c0b19b; }
        .p_afull h2 span { color: #818181; }
        .p_afull p { margin-bottom: 45px; font-size: clamp(14px, 1.6vw, 16px); letter-spacing: 0.087em; line-height: 2.85; color: #818181; white-space: nowrap; }

        .p_afull .inview { position: relative; }
        .p_afull .logo.is-show,
        .p_afull .intro-text.is-show,
        .p_afull .text-1.is-show,
        .p_afull .text-2.is-show { opacity: 1; transform: translateY(-50%) translateY(0); }

        .p_afull .logo { position: absolute; bottom: 51%; right: 20.2%; transform: translateY(-50%); z-index: 2; opacity: 0; transition: all 0.8s ease 1s; }
        .p_afull .intro-text { position: absolute; bottom: 48%; right: 10%; transform: translateY(-50%); z-index: 2; opacity: 0; transition: all 1.5s ease 2s; text-align: right; }
        .p_afull .text-1 { position: absolute; top: 37%; left: 12%; transform: translateY(-50%); z-index: 2; opacity: 0; transition: all 0.8s ease 1s; }
        .p_afull .text-2 { position: absolute; top: 50%; left: 10%; transform: translateY(-50%); z-index: 2; opacity: 0; transition: all 0.8s ease 1s; }
        .p_afull .logo img { width: 14vw; }
        .p_afull .intro-text picture img { width: 24vw; }
        .p_afull .text-1 img { width: 65%; }
        .p_afull .text-2 img { width: 65%; }

    @media (min-width: 768px) {
        .p_afull .container { width: 100%; margin: 0 auto; padding: 50px 0; display: flex; gap: clamp(20px, 5vw, 60px); align-items: center; }
        .p_afull .container.reverse { flex-direction: row-reverse; }
        .p_afull .section01 .container { padding: 50px 75px; }
        .p_afull .section02 .container,
        .p_afull .section04 .container { padding: 105px 0 50px 100px; }
        .p_afull .section03 .container { padding: 215px 75px 0 0 ; align-items: flex-start; }
        .p_afull .section05 .container { padding: 80px 75px 120px 0; }
        .p_afull .section06 .container { display: block; padding: 0 0 100px 0; text-align: center; background: url(assets/image/image_07.webp) no-repeat left top / 590px auto, url(assets/image/image_08.webp) no-repeat right bottom / 590px auto; }
        .p_afull .section06 .image { margin: 60px auto 40px auto ; width: 300px; }
        .p_afull .text { flex: 1; }
        .p_afull .shape { width: 51.55%; }
        .p_afull .image-full img { width: 100%; display: block; }
        .p_afull .text.right { text-align: right; }
        .p_afull .forSP { display: none; }
        .p_afull .forPC { display: inline; }

        .c_footer.afull { padding-top: 25px; }
        .c_footer.afull .c_footer__content { display: flex; }
        .c_footer.afull .c_footer__content__column.address { width: 50%; }
        .c_footer.afull .c_footer__content__column.copyright { width: 50%; margin-bottom: 0; text-align: right; }
        .c_footer.afull .c_footer__txt.copyright { padding-top: 30px; }
    }

    @media (max-width: 768px) {
        .p_afull h2 { margin-top: 5vw; }
        .p_afull p { line-height: 3; white-space: initial; margin-bottom: 6vw; font-size: 3.4vw; }
        .p_afull .container,
        .p_afull .container.reverse { flex-direction: column; padding: 0; }
        .p_afull .section01 .container,
        .p_afull .section02 .container { padding: 14vw 0 0 0; }
        .p_afull .section06 .container { margin-top: 5vw; padding: 5vw 6vw 10vw 7vw; background: url(assets/image/image_07_sp.webp) no-repeat left bottom / 100% auto; }
        .p_afull .section01 .text { text-align: center; margin-top: 10vw; }
        .p_afull .section02 .text,
        .p_afull .section04 .text { text-align: right; padding: 0 3vw 0 0; margin: 10vw 0 0 0; }
        .p_afull .section03 .text,
        .p_afull .section05 .text { padding: 0 0 7vw 7vw; margin: 10vw 0; }
        .p_afull .section06 h2 { margin: 10vw 0 6vw; }
        .p_afull .shape { width: 100%; }
        .p_afull h2 { font-size: 4.4vw; }
        .p_afull .forSP { display: inline; }
        .p_afull .forPC { display: none; }

        .p_afull .logo { top: 38%; right: 9vw; }
        .p_afull .logo img { width: 43vw; }
        .p_afull .text-1,
        .p_afull .text-2,
        .p_afull .intro-text { top: auto; bottom: 4vw; right: auto; left: auto; width: 100%; }
        .p_afull .intro-text picture img { width: 100%; }
        .p_afull .text-1 img,
        .p_afull .text-2 img { width: 100%; }

        .c_footer.afull { padding-top: 25px; text-align: center; }
    }

    [data-aos="fade-up"] {
        opacity: 0;
        transform: translateY(40px); /* 下から40pxの位置を初期値に */
        transition: opacity 1s cubic-bezier(0.25, 1, 0.5, 1), 
                    transform 1s cubic-bezier(0.25, 1, 0.5, 1);
    }
    [data-aos="fade-up"].is-active {
        opacity: 1;
        transform: translateY(0); /* 元の位置に戻る */
    }