                ::before,
                ::after {
                    margin: 0;
                    padding: 0;
                    box-sizing: border-box;
                }

                :where(body) {
                    min-block-size: 100%;
                    text-rendering: optimizeLegibility;
                    line-height: 1.5;
                    font-family: system-ui, sans-serif;
                    font-feature-settings: "pkna";
                    -webkit-font-smoothing: antialiased;
                }

                :where(html) {
                    block-size: 100%;
                    scroll-behavior: smooth;
                    -webkit-text-size-adjust: none;
                }

                :where(body) {
                    min-block-size: 100%;
                    text-rendering: optimizeLegibility;
                    line-height: 1.5;
                    font-family: system-ui, sans-serif;
                    -webkit-font-smoothing: antialiased;
                }

                :where(p, h1, h2, h3, h4, h5, h6) {
                    overflow-wrap: break-word;
                }

                :where(hr) {
                    border: none;
                    border-block-start: 1px solid;
                    color: inherit;
                    block-size: 0;
                    overflow: visible;
                }

                :where(ul, ol) {
                    list-style: none;
                }

                :where(a:not([class])) {
                    -webkit-text-decoration-skip: ink;
                    text-decoration-skip-ink: auto;
                }

                :where(img, svg, video, canvas, audio, iframe, embed, object) {
                    display: block;
                }

                :where(img, picture, svg) {
                    max-inline-size: 100%;
                    block-size: auto;
                }

                :where(svg:not([fill])) {
                    fill: currentColor;
                }

                :where(table) {
                    border-collapse: collapse;
                }

                :where(input, button, textarea, select, optgroup) {
                    font: inherit;
                    color: inherit;
                }

                :where(textarea) {
                    resize: vertical;
                    resize: block;
                }

                :where(button, label, select, summary, [role=button], [role=option]) {
                    cursor: pointer;
                }

                :where(input[type=file])::-webkit-file-upload-button,
                :where(input[type=file])::file-selector-button {
                    cursor: pointer;
                }

                :where(:disabled) {
                    cursor: not-allowed;
                }

                :where(label:has(> input:disabled), label:has(+ input:disabled)) {
                    cursor: not-allowed;
                }

                :where(button) {
                    border-style: solid;
                }

                :where(template, [hidden]:not([hidden=until-found])) {
                    display: none;
                }

                :where([disabled], [aria-disabled=true]) {
                    cursor: not-allowed;
                }

                :where([aria-busy=true]) {
                    cursor: progress;
                }

                :where([aria-controls]) {
                    cursor: pointer;
                }

                :where([aria-hidden=false][hidden]) {
                    display: initial;
                }

                :where([aria-hidden=false][hidden]):not(:focus) {
                    position: absolute;
                    clip: rect(0, 0, 0, 0);
                }

                :where(:focus:not(:focus-visible), ::before:focus:not(:focus-visible), ::after:focus:not(:focus-visible)) {
                    outline: none;
                }

                /* ベースフォント設定 */
                :root {
                    --font-en: "MuseoModerno", sans-serif;
                    --font-jp: "Zen Kaku Gothic New", sans-serif;
                }

                * {
                    margin: 0;
                    padding: 0;
                    box-sizing: border-box;
                }


                html {
                    scroll-behavior: smooth;
                        
                }


                body {
                    font-family: var(--font-jp);
                    line-height: 1.6;
                    color: #000;
                    position: relative;
                    margin: 0;
                    padding: 0;
                    min-height: 100vh;
                    background: #C9FBEA;
                
                }


                .fixed-background {
                    position: fixed;
                    top: 0;
                    left: 0;
                    width: 100%;
                    height: 100%;
                    background: url('../images/pc_body_bkg.webp') bottom / cover no-repeat;
                    z-index: -1;
                    display: block;
                }



                #brand {
                    position: relative;
                    z-index: 1;
                }

                footer,
                .footer {
                    position: relative;
                    z-index: 1;
                }



                :target {
                    scroll-margin-top: 80px;
                }



                .main-container {
                    width: 100%;
                    max-width: 400px;
                    z-index: 1;
                    margin: 0 auto;
                }

                .container {
                    width: 100%;
                    max-width: 400px;
                    background: #FFFBF0;
                    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
                    margin: 0 auto;
                    position: relative;
                }

                .main-content {
                    width: 100%;
                }

                @media screen and (max-width:750px) {
                    .container {
                        /* max-width: 100%; */
                        box-shadow: none;
                    }
                }

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

                    .fixed-background {
                        display: none;
                    }

                }

                @media screen and (min-width: 401px) and (max-width: 439px) {
                    .main-container {
                        width: 400px !important;
                        max-width: 100% !important;
                        min-width: 100% !important;
                        margin: 0 auto !important;
                        padding: 0 !important;
                        box-sizing: border-box !important;
                    }

                    .container {
                        width: 400px !important;
                        max-width: 100% !important;
                        min-width: 100% !important;
                        margin: 0 !important;
                        padding: 0 !important;
                        box-sizing: border-box !important;
                    }

                    body {
                        padding: 0 !important;
                        margin: 0 !important;
                    }
                }

                /* メインビジュアル */
                .main-visual {
                    position: relative;
                    width: 100%;
                    /* height: 100vh; */
                    overflow: hidden;
                }

                .feature-video {
                    width: 100%;
                    /* height: 100%; */
                    object-fit: cover;
                }

                .scrolldown4 {
                    /*描画位置*/
                    position: absolute;
                    bottom: 1%;
                    right: 50%;
                    z-index: 2;
                    animation: arrowmove 1s ease-in-out infinite;
                }

                @keyframes arrowmove {
                    0% {
                        bottom: 1%;
                    }

                    50% {
                        bottom: 3%;
                    }

                    100% {
                        bottom: 1%;
                    }
                }

                /*Scrollテキストの描写*/
                .scrolldown4 span {
                    /*描画位置*/
                    position: absolute;
                    left: -24px;
                    bottom: 120px;

                    color: #000;
                    font-size: 16px;
                    letter-spacing: 0.05em;
                    -ms-writing-mode: tb-rl;
                    -webkit-writing-mode: vertical-rl;
                    writing-mode: vertical-rl;
                }

                /* 矢印の描写 */
                .scrolldown4:before {
                    content: "";
                    /*描画位置*/
                    position: absolute;
                    bottom: 100px;
                    right: -6px;
                    /*矢印の形状*/
                    width: 1.8px;
                    height: 20px;
                    background: #000;
                    transform: skewX(-31deg);
                }

                .scrolldown4:after {
                    content: "";
                    /*描画位置*/
                    position: absolute;
                    bottom: 100px;
                    right: 0;
                    /*矢印の形状*/
                    width: 2px;
                    height: 50px;
                    background: #000;
                }



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

                    html,
                    body {
                        width: 100vw !important;
                        min-width: 100vw !important;
                        max-width: 100vw !important;
                        margin: 0 !important;
                        padding: 0 !important;
                        box-sizing: border-box !important;
                        overflow-x: hidden !important;
                    }

                    .main-container,
                    .container {
                        width: 100vw !important;
                        min-width: 100vw !important;
                        max-width: 100vw !important;
                        margin: 0 !important;
                        padding: 0 !important;
                        box-sizing: border-box !important;
                    }

                    .section {
                        padding-left: 0 !important;
                        padding-right: 0 !important;
                    }

                    .main-visual {
                        width: 100vw !important;
                        margin-left: 0 !important;
                        margin-right: 0 !important;
                        overflow: visible !important;
                    }

                    .feature-video {
                        width: 100% !important;
                        height: auto !important;
                        object-fit: contain !important;
                    }

                    img,
                    video {
                        max-width: 100% !important;
                        height: auto !important;
                        display: block !important;
                    }

                    body {
                        padding: 0 !important;
                        margin: 0 !important;
                        overflow-x: hidden !important;
                        width: 100% !important;
                    }

                    h2.section-title {
                        font-size: 22px !important;
                    }

                    p.section-title-sub,
                    p.content-text {
                        font-size: 12px !important;
                    }

                    .card,
                    .card-content,
                    .section-img,
                    .section-gif {
                        padding: 8px !important;
                        font-size: 12px !important;
                    }
                }




                [id] {
                    scroll-margin-top: 100px;
                }


                li.anchor-item.side {
                    width: 260px;
                    position: relative;
                    display: flex;
                    justify-content: center;
                    align-items: center;
                    font-family: var(--font-en);
                }

                p.anchor-title-en {
                    color: #000;
                    text-transform: uppercase;
                    font-size: 26px;
                    font-weight: 700;
                    margin-bottom: 22px;
                    display: inline-block;
                    position: relative;
                }

                @media screen and (max-width: 1600px) {
                    p.anchor-title-en {
                        font-size: 16px;
                        margin-bottom: 12px;
                    }
                }

                li.anchor-item:hover .anchor-title-en::after {
                    content: '';
                    position: absolute;
                    left: 0;
                    bottom: -5px;
                    width: 0;
                    height: 3px;
                    background: #E06C3C;
                    ;
                    animation: underline 0.3s ease forwards;
                }

                @keyframes underline {
                    from {
                        width: 0;
                    }

                    to {
                        width: 100%;
                    }
                }

                /* セクション共通 */
                .section {
                    padding: 40px 30px 0;
                    text-align: center;
                    scroll-margin-top: 50vh;
                }

                h2.section-title {
                    font-family: var(--font-en);
                    font-size: 40px;
                    font-weight: 800;
                    text-transform: uppercase;
                }

                h2.section-title.black {
                    color: #000;
                    margin-top: -60px;
                }


                p.section-title-sub {
                    font-size: 18px;
                    font-weight: 700;
                }


                p.section-title-sub.black {
                    color: #000;
                    padding: 0 30px;
                }



                p.content-text {
                    font-size: 16px;
                    font-weight: 500;
                    text-align: left;
                    line-height: 1.8;
                    margin-bottom: 20px;
                }

                p.content-text.strong {
                    font-size: 18px;
                    font-weight: 600;
                    color: #E06C3C;
                }




                p.content-text.center {
                    text-align: center;
                }


                h3.section-text {
                    font-size: 20px;
                    font-style: italic;

                }

                .section-img {
                    width: 100%;
                    max-width: 400px;
                    height: auto;
                    border-radius: 12px;
                    margin-bottom: 25px;
                }

                .section-img .select {
                    width: 100%;
                    max-width: 400px;
                    height: auto;
                    border-radius: 12px;
                    margin-bottom: 25px;
                }

                @media screen and (max-width:750px) {
                    .section-img {
                        max-width: 100%;
                    }

                    .section-img .select {
                        max-width: 100%;
                    }
                }

                img.section-img.index-select {
                    position: relative;
                    top: -72px;
                    width: 100%;
                    z-index: 1;
                    margin-bottom: 0;
                }

                img.section-img.index-products {
                    position: relative;
                    top: -128px;
                    width: 100%;
                    z-index: 1;
                    margin-bottom: 0;
                }

                img.section-img.howto {
                    position: relative;
                    width: 100%;
                    top: -140px;
                    z-index: 1;
                }


                img.section-img.index-sns {
                    position: relative;
                    transform: translateY(50%);
                    top: -133px;
                    width: 100px;
                }

                .howto-version-img {
                    margin-top: 50px;

                }



                .outer-container-right,
                .outer-container-left {
                    display: inline-block;
                }

                ul.anchor-list-pc {
                    position: absolute;
                    top: 50%;
                    right: 100px;
                }

                .outer-container-left {
                    position: absolute;
                    top: 50%;
                    left: 100px;
                }

                .anchor-item span {
                    background: url(../images/menu_arrow_down.webp) no-repeat right top 3px;
                    background-size: 21px;
                    padding-right: 20px;
                    display: flex;
                }

                .products-desc:last-child {
                    padding-bottom: 30px;
                    margin-bottom: 100;
                }


                .yurayura {
                    animation: shake 3s ease-in-out infinite;
                    transform: rotate(0deg);
                }

                @keyframes shake {
                    0% {
                        transform: rotate(0deg);
                    }

                    50% {
                        transform: rotate(-5deg);
                    }

                    100% {
                        transform: rotate(0deg);
                    }
                }

                /*nav */
                .feature-video {
                    position: relative;
                }



                @media screen and (max-width: 375px) {
                    li.anchor-item.side {
                        width: 100%;
                        padding: 0 20px;
                    }

                    p.anchor-title-en {
                        font-size: 18px;
                        margin-bottom: 20px;
                    }

                    .card {
                        padding: 24px;
                    }

                    .card-content {
                        flex-direction: column;
                    }

                    .point-text {
                        font-size: 1rem;
                    }

                    .point-number {
                        font-size: 2.5rem;
                    }

                    .vertical-line {
                        display: none;
                    }

                    .text-container {
                        margin-left: 0;
                        margin-top: 16px;
                    }

                    .main-heading {
                        font-size: 2rem;
                    }

                    .sub-text {
                        font-size: 1rem;
                        margin-top: 16px;
                    }
                }

                @media screen and (max-width: 320px) {
                    .nav-section::before ::before {
                        top: -266px;
                    }
                }

                .section.nav-section {
                    padding-bottom: 126px;
                    position: relative;
                    margin-top: -10px;
                }





                .section-gif {
                    width: 100%;
                    max-width: 400px;
                    height: auto;
                    padding: 0 30px;
                }

                @media screen and (max-width:750px) {
                    .section-gif {
                        max-width: 100%;
                    }
                }

                img.slect {
                    width: 100%;
                }

                .section-gif.arrow {
                    width: 80px;
                    height: auto;
                    margin-bottom: 20px;
                }

                .fruits-name {
                    font-size: 40px;
                    font-weight: 600;
                    font-family: var(--font-en);
                    text-align: left;
                }

                .fruits-name-sub {
                    font-size: 16px;
                    margin-left: 4px;
                }

                .section-button {
                    display: flex;
                    justify-content: flex-end;
                    padding-right: 30px;
                    position: relative;
                    z-index: 2;
                }

                .section-button img {
                    width: 48px;
                    position: relative;
                    top: -33px;
                    left: -28px;
                }



                /* アバウトセクション */
                .about-section {

                    position: relative;
                    padding-bottom: 30px;
                    top: 8px;
                    background-image: url(../images/bk_banana.webp);
                    background: #FFFBF0;
                }

                .about-section::before {
                    content: '';
                    position: absolute;
                    top: -200px;
                    left: 0;
                    width: 100%;
                    background-image: url(../images/section-1.webp);
                    background-repeat: no-repeat;
                    background-position: center bottom;
                    background-size: contain;
                    height: 194px;
                }


                .about-content {
                    position: relative;
                    padding: 0 10px;
                    margin-bottom: 200px;
                }

                .about-content-img {
                    display: flex;
                    flex-direction: column;
                    justify-content: center;
                    align-items: center;
                    margin-top: 30px;
                }

                /* feature */


                .feature-section {
                    position: relative;
                    background-image: url(../images/bk_banana.webp);
                    /* background: #FFFBF0; */
                    background-repeat: no-repeat;
                    background-position: center;
                    background-size: contain;
                    padding: 80px 0 10px;
                }


                .feature-section::before {
                    content: '';
                    position: absolute;
                    top: -220px;
                    left: 0;
                    width: 100%;
                    background-image: url(../images/section-2.webp);
                    background-repeat: no-repeat;
                    background-position: center bottom;
                    background-size: contain;
                    height: 194px;
                }

                .card {
                    background: var(--liner, linear-gradient(160deg, #005C47 32.76%, #247D69 93%));
                    color: white;
                    border-radius: 20px;
                    padding: 26px;
                    position: relative;
                    margin-top: 44px;
                    margin-bottom: 20px;
                    min-height: 184px;
                    margin: 30px;
                }

                .card-content {
                    display: flex;
                    align-items: center;
                    justify-content: flex-start;
                }

                .point-container {
                    position: relative;
                    width: 65px;
                    height: 65px;
                    margin-right: 12px;
                    background: linear-gradient(135deg, #004a38 50%, #006A51 50%);
                    border-bottom: 2px solid #e06c3c;
                    border-right: 2px solid #e06c3c;
                }

                .point-container::before {
                    content: '';
                    position: absolute;
                    top: 0;
                    left: 0;
                    width: 100%;
                    height: 100%;
                    background: linear-gradient(135deg, transparent 49.5%, #006A51 49.5%);
                    z-index: 1;
                }

                .point-container-inner {
                    position: relative;
                    z-index: 2;
                    display: flex;
                    flex-direction: column;
                    align-items: center;
                    justify-content: center;
                    height: 100%;
                    color: #e06c3c;
                    width: 65px;
                }



                .point-text {
                    color: #e06c3c;
                    font-size: 14px;
                    font-weight: 600;
                    font-family: var(--font-en);
                    line-height: 1;
                    margin: 0;
                }

                .point-number {
                    color: #e06c3c;
                    font-size: 32px;
                    font-weight: 700;
                    font-family: var(--font-en);
                    line-height: 1;
                    margin: 0;
                }


                .text-container {
                    margin-left: 18px;
                    margin-top: 8px;
                    width: 100%;
                    flex: 1;
                }

                .main-heading {
                    font-size: 30px;
                    font-weight: 700;
                    text-align: left;
                    line-height: 1;
                    margin: 0;
                }


                .white-text {
                    color: white;
                    letter-spacing: 0.05em;
                }

                .yellow-text {
                    color: #ffdd00;
                    font-size: 40px;
                    white-space: nowrap;
                    display: inline-block;
                    letter-spacing: 0.05em;
                    line-height: 1;
                }

                .card-sub-text {
                    font-weight: 500;
                    color: white;
                    font-size: 16px;
                    margin-top: 24px;
                    display: flex;
                    justify-content: center;
                }

                .sub-text {
                    text-align: left;
                    display: block;
                }


                @media screen and (max-width: 375px) {
                    li.anchor-item.side {
                        width: 100%;
                        padding: 0 20px;
                    }

                    p.anchor-title-en {
                        font-size: 18px;
                        margin-bottom: 20px;
                    }

                    .card {
                        padding: 24px;
                    }

                    .card-content {
                        flex-direction: column;
                        gap: 20px;
                    }

                    .point-container {
                        padding: 10px 20px;
                        width: 50px;
                        height: 50px;
                    }

                    .point-text {
                        font-size: 16px;
                    }

                    .point-number {
                        font-size: 30px;
                    }

                    .vertical-line {
                        display: none;
                    }

                    .text-container {
                        margin-left: 0;
                        margin-top: 16px;
                    }

                    .main-heading {
                        font-size: 16px;
                    }

                    .sub-text {
                        font-size: 14px;
                        padding: 0 10px;
                        margin-bottom: 20px;
                    }

                    .yellow-text {
                        font-size: 30px;
                    }

                    .white-text {
                        font-size: 24px;
                    }


                    .point-container-inner {
                        width: 12px;
                    }
                }




                /* howto */

                .howto-section {
                    background: #E1E1E1;
                    margin-top: 210px;
                    padding-bottom: 60px;
                    position: relative;
                }

                .howto-section::before {
                    content: '';
                    position: absolute;
                    top: -190px;
                    left: 0;
                    width: 100%;
                    background-image: url(../images/section-3.webp);
                    background-repeat: no-repeat;
                    background-position: center bottom;
                    background-size: contain;
                    height: 194px;
                }


                .cooking-step {
                    max-width: 315px;
                    margin: 0 auto;
                    border-top: 1px solid #000;
                    border-right: 1px solid #000;
                    min-height: 345px;
                    background-color: #fff;
                    margin-top: 30px;
                    margin-bottom: 30px;
                    position: relative;
                }

                .cooking-step::after {
                    content: '';
                    position: absolute;
                    bottom: -16px;
                    right: 10px;
                    width: 30px;
                    height: 30px;
                    background-image: url(../images/down.webp);
                    background-size: contain;
                    background-repeat: no-repeat;
                    background-position: bottom right;
                }

                .cooking-step:nth-of-type(4)::after {
                    display: none;
                }

                .image-container {
                    position: relative;
                    width: 100%;
                }

                .step-image {
                    width: 100%;
                    height: auto;
                    display: block;
                    padding: 10px;
                }

                .step-number {
                    position: absolute;
                    bottom: -30px;
                    left: 0;
                    background-color: #e06c3c;
                    width: 68px;
                    height: 68px;
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    font-family: var(--font-en);
                    margin-left: 10px;
                }

                .step-number span {
                    color: #ffffff;
                    font-size: 48px;
                    font-weight: bold;
                }

                .step-description {
                    padding: 16px 10px;
                    font-weight: 500;
                    color: #000;
                    font-size: 16px;
                    line-height: 1.5;
                    margin-top: 50px;
                }


                .step-description p {
                    text-align: left;
                    line-height: 1.5;
                    word-break: break-all;
                    word-wrap: break-word;
                    overflow-wrap: break-word;
                    max-width: 100%;
                }

                .howto-version-text {
                    font-size: 20px;
                    font-weight: 600;
                    color: #E06C3C;
                }


                /* voice */

                .voice-section {
                    position: relative;
                    margin-top: 80px;
                }

                .voice-section::before {
                    content: '';
                    position: absolute;
                    top: -200px;
                    left: 0;
                    width: 100%;
                    background-image: url(../images/section-4.webp);
                    background-repeat: no-repeat;
                    background-position: center bottom;
                    background-size: contain;
                    height: 194px;
                }

                .voice-content {
                    position: relative;
                    overflow: visible;
                    margin-top: 30px;
                    background-color: #E06C3C;
                    padding: 30px;
                    border-radius: 20px;
                    min-height: 422px;
                }

                /* 左上角にシャープなストライプ */
                .corner-stripes {
                    position: absolute;
                    top: 0;
                    left: 0;
                    width: 80px;
                    height: 80px;
                    background: repeating-linear-gradient(135deg,
                            white,
                            white 6px,
                            transparent 6px,
                            transparent 12px);
                    clip-path: polygon(0 0,
                            80px 0,
                            0 80px);
                    border-top-left-radius: 20px;
                    z-index: 2;
                    pointer-events: none;
                }

                .voice-deco-img.left {
                    position: absolute;
                    left: -7px;
                    bottom: -18px;
                    width: 100px;
                    height: auto;
                    z-index: 10;
                    pointer-events: none;
                }

                .voice-deco-img.right {
                    position: absolute;
                    right: -7px;
                    bottom: -18px;
                    width: 100px;
                    height: auto;
                    z-index: 10;
                    pointer-events: none;
                }



                .corner-stripes-reverse {
                    position: absolute;
                    top: 0;
                    right: 0;
                    /* ← 右上に配置 */
                    width: 80px;
                    height: 80px;
                    background: repeating-linear-gradient(-135deg,
                            /* ← 右上から左下へ斜めストライプ */
                            white,
                            white 6px,
                            transparent 6px,
                            transparent 12px);
                    clip-path: polygon(100% 0,
                            /* 右上 */
                            0 0,
                            /* 左上 */
                            100% 100%
                            /* 右下 */
                        );
                    border-top-right-radius: 20px;
                    /* 右上の角丸 */
                    z-index: 2;
                    pointer-events: none;
                }



                .voice-content p.content-text {
                    font-size: 16px;
                    font-weight: 500;
                }

                .voice-content h3 {
                    font-size: 18px;
                    font-weight: 600;
                    color: #fff;
                    margin: 25px 0;

                }

                .voice-content-inner {
                    background-color: #fff;
                    padding: 30px;
                    border-radius: 20px;
                    min-height: 260px;

                }

                .voice-img {
                    display: block;
                    margin: 60px auto;
                    max-width: 100%;
                    height: auto;
                }


                /* product */

                .product-section {
                    width: 100%;
                    margin: 0 auto;
                    padding: 0px;
                }

                .product-content {
                    width: 100%;
                    background: #E06C3C;
                    border-radius: 20px;
                    padding: 15px;
                    margin-top: 160px;
                }

                .product-content-inner {
                    border: 1px solid #fff;
                    padding: 15px;
                }

                .product-img-container {
                    width: 100%;
                    max-width: 330px;
                    margin: 44px 30px 44px;
                }

                .product-img {
                    width: 100%;
                    height: auto;
                }

                .product-list {
                    width: 100%;
                    margin: 0 auto;
                    padding: 0 15px;
                    text-align: left;
                    font-weight: 500;
                }

                ul.product-list {
                    margin-bottom: 20px;
                }

                h4.product-title {

                    display: flex;
                    justify-content: flex-start;
                }

                .sp-only {
                    display: none;
                }

                @media screen and (max-width: 340px) {
                    .sp-only {
                        display: block;
                    }

                    .product-list li {
                        padding: 5px 0;
                    }
                }


                /* footer */
                .footer-section {
                    padding: 0;
                    margin-top: 120px;
                }

                .footer-img {
                    display: block;
                    margin: 0 auto;
                }

                .lp_wrapper {
                    padding-bottom: 0 !important;
                }


                /* アニメーション */
                .fade-in {
                    opacity: 0;
                    transform: translateY(20px);
                    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
                }

                .fade-in.visible {
                    opacity: 1;
                    transform: translateY(0);
                }


                /* マーカーアニメーション用のスタイル */
                .marker-animation {
                    display: inline-block;
                    background-image: linear-gradient(#e99dde, #e99dde);
                    background-size: 0 100%;
                    background-repeat: no-repeat;
                    transition: background-size 1s;
                }

                .marker-animation.active {
                    background-size: 100% 100%;
                }

                .marker-animation2 {
                    display: inline-block;
                    background-image: linear-gradient(#ffd400, #ffd400);
                    background-size: 0 100%;
                    background-repeat: no-repeat;
                    transition: background-size 1s;
                }

                .marker-animation2.active {
                    background-size: 100% 100%;
                }


                /* アクセシビリティ */
                @media (prefers-reduced-motion: reduce) {

                    .main-video,
                    .section,
                    .collection-image {
                        animation: none;
                        transition: none;
                    }
                }


                /* 右サイド */
                .side-right-menu {
                    position: fixed;
                    left: calc(50% + 200px);
                    top: 49%;
                    width: calc(50vw - 200px);
                    height: 100vh;
                    display: flex;
                    justify-content: center;
                    align-items: center;
                    transform: translateY(-49%);
                }


                .side-right-img {
                    position: fixed;
                    left: calc(50% + 200px + (50vw - 200px) / 2);
                    bottom: 1px;
                    transform: translate(-50%, 0);
                    max-width: 260px;
                    width: 100%;
                    display: flex;
                    justify-content: center;
                    align-items: flex-start;
                }


                @media screen and (max-height: 800px) {
                    .side-right-img {
                        display: none;
                    }
                }

                /* 左サイド  */
                .side-h1-group {
                    position: fixed;
                    left: 0;
                    top: 50%;
                    width: calc(50vw - 200px);
                    height: auto;
                    display: flex;
                    flex-direction: column;
                    justify-content: center;
                    align-items: center;
                    transform: translateY(-50%);
                    z-index: 10;
                }

                .side-h1 {
                    margin-bottom: 16px;
                    width: 100%;
                    text-align: center;
                }

                .side-h1 img {
                    display: block;
                    width: 100%;
                    height: auto;
                    margin: 0 auto;
                }

                .side-logo-img {
                    width: 100px;
                    margin: 0 auto;
                    text-align: center;
                }

                .side-logo-img img {
                    width: 100%;
                    height: auto;
                    display: block;
                }

                .side-button {
                    margin-top: 100px;
                    display: flex;
                    justify-content: center;
                    align-items: center;
                    max-width: 360px;
                    width: 100%;
                    height: 70px;
                    background: #fff;
                    border-radius: 50px;
                    box-shadow: 2px 4px 8px rgba(0, 0, 0, 0.15);
                    padding: 14px 20px;
                    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
                    position: relative;
                }

                .side-button:hover {
                    transform: scale(1.05);
                    background: #ffdb98;
                }

                .side-button-text {
                    flex: 1;
                    text-align: center;
                    font-weight: 600;
                    font-size: 16px;
                    letter-spacing: 0.1em;
                    color: #333;
                }

                .side-button-arrow {
                    display: inline-flex;
                    align-items: center;
                    margin-right: auto;
                    font-size: 16px;
                }

                a.btn.btn-text {
                    color: #333;
                    font-weight: 600;
                }


                .side-button img {
                    position: absolute;
                    top: -100px;
                    right: -28px;
                    width: 100px;
                    height: auto;
                    pointer-events: none;
                }


                .section-button {
                    margin: 48px auto 48px;
                    display: flex;
                    justify-content: center;
                    align-items: center;
                    max-width: 400px;
                    width: 90%;
                    height: 60px;
                    background: #FFD400;
                    border-radius: 50px;
                    box-shadow: 2px 4px 8px rgba(0, 0, 0, 0.15);
                    padding: 14px 20px;
                    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
                }

                .section-button:hover {
                    transform: scale(1.05);
                    background: #ffdb98;
                }

                .section-button-text {
                    flex: 1;
                    text-align: center;
                    font-weight: bold;
                    font-size: 1.7rem;
                    letter-spacing: 0.1em;
                    color: #333;
                }

                .section-button-arrow {
                    width: 40px;
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    margin-left: 0;
                    flex-shrink: 0;
                }


                @media screen and (max-width: 1600px) {
                    .image {
                        width: calc(50vw - 150px);
                    }

                    .image img {
                        width: 100px;
                    }

                    p.side-h1-sub {
                        font-size: 12px;
                    }

                    @media screen and (max-width: 1200px) {
                        .side-button {
                            max-width: 300px;
                            width: 100%;
                        }
                    }


                    @media (max-width: 990px) {

                        .side-right-menu,
                        .side-right-img,
                        .side-h1-group {
                            display: none;
                        }
                    }

          




                    /* margin style 
--------------------------------------------------------------------------- */
                    .mt5 {
                        margin-top: 5px;
                    }

                    .mt10 {
                        margin-top: 10px;
                    }

                    .mt15 {
                        margin-top: 15px;
                    }

                    .mt20 {
                        margin-top: 20px;
                    }

                    .mt24 {
                        margin-top: 24px;
                    }

                    .mt25 {
                        margin-top: 25px;
                    }

                    .mt30 {
                        margin-top: 30px;
                    }

                    .mt34 {
                        margin-top: 34px;
                    }

                    .mt35 {
                        margin-top: 35px;
                    }

                    .mt40 {
                        margin-top: 40px;
                    }

                    .mt45 {
                        margin-top: 45px;
                    }

                    .mt50 {
                        margin-top: 50px;
                    }

                    .mt55 {
                        margin-top: 55px;
                    }

                    .mt60 {
                        margin-top: 60px;
                    }

                    .mt65 {
                        margin-top: 65px;
                    }

                    .mt70 {
                        margin-top: 70px;
                    }

                    .mt75 {
                        margin-top: 75px;
                    }

                    .mt80 {
                        margin-top: 80px;
                    }

                    .mt85 {
                        margin-top: 85px;
                    }

                    .mt90 {
                        margin-top: 90px;
                    }

                    .mt95 {
                        margin-top: 95px;
                    }

                    .mt100 {
                        margin-top: 100px;
                    }

                    .mb0 {
                        margin-bottom: 0px;
                    }

                    .mb5 {
                        margin-bottom: 5px;
                    }

                    .mb10 {
                        margin-bottom: 10px;
                    }

                    .mb15 {
                        margin-bottom: 15px;
                    }

                    .mb18 {
                        margin-bottom: 18px;
                    }

                    .mb20 {
                        margin-bottom: 20px;
                    }

                    .mb25 {
                        margin-bottom: 25px;
                    }

                    .mb28 {
                        margin-bottom: 28px;
                    }

                    .mb30 {
                        margin-bottom: 30px;
                    }

                    .mb32 {
                        margin-bottom: 32px;
                    }

                    .mb35 {
                        margin-bottom: 35px;
                    }

                    .mb40 {
                        margin-bottom: 40px;
                    }

                    .mb45 {
                        margin-bottom: 45px;
                    }

                    .mb50 {
                        margin-bottom: 50px;
                    }

                    .mb55 {
                        margin-bottom: 55px;
                    }

                    .mb60 {
                        margin-bottom: 60px;
                    }

                    .mb65 {
                        margin-bottom: 65px;
                    }

                    .mb70 {
                        margin-bottom: 70px;
                    }

                    .mb75 {
                        margin-bottom: 75px;
                    }

                    .mb80 {
                        margin-bottom: 80px;
                    }

                    .mb85 {
                        margin-bottom: 85px;
                    }

                    .mb90 {
                        margin-bottom: 90px;
                    }

                    .mb95 {
                        margin-bottom: 95px;
                    }

                    .mb100 {
                        margin-bottom: 100px;
                    }

                    .mb150 {
                        margin-bottom: 150px;
                    }

                    .mb170 {
                        margin-bottom: 170px;
                    }

                    .ml5 {
                        margin-left: 5px;
                    }

                    .ml10 {
                        margin-left: 10px;
                    }

                    .ml15 {
                        margin-left: 15px;
                    }

                    .ml20 {
                        margin-left: 20px;
                    }

                    .ml25 {
                        margin-left: 25px;
                    }

                    .ml30 {
                        margin-left: 30px;
                    }

                    .ml35 {
                        margin-left: 35px;
                    }

                    .ml40 {
                        margin-left: 40px;
                    }

                    .ml45 {
                        margin-left: 45px;
                    }

                    .ml50 {
                        margin-left: 50px;
                    }

                    .ml55 {
                        margin-left: 55px;
                    }

                    .ml60 {
                        margin-left: 60px;
                    }

                    .ml65 {
                        margin-left: 65px;
                    }

                    .ml70 {
                        margin-left: 70px;
                    }

                    .ml75 {
                        margin-left: 75px;
                    }

                    .ml80 {
                        margin-left: 80px;
                    }

                    .ml85 {
                        margin-left: 85px;
                    }

                    .ml90 {
                        margin-left: 90px;
                    }

                    .ml95 {
                        margin-left: 95px;
                    }

                    .ml100 {
                        margin-left: 100px;
                    }

                    .mr5 {
                        margin-right: 5px;
                    }

                    .mr10 {
                        margin-right: 10px;
                    }

                    .mr15 {
                        margin-right: 15px;
                    }

                    .mr20 {
                        margin-right: 20px;
                    }

                    .mr25 {
                        margin-right: 25px;
                    }

                    .mr30 {
                        margin-right: 30px;
                    }

                    .mr35 {
                        margin-right: 35px;
                    }

                    .mr40 {
                        margin-right: 40px;
                    }

                    .mr45 {
                        margin-right: 45px;
                    }

                    .mr50 {
                        margin-right: 50px;
                    }

                    .mr55 {
                        margin-right: 55px;
                    }

                    .mr60 {
                        margin-right: 60px;
                    }

                    .mr65 {
                        margin-right: 65px;
                    }

                    .mr70 {
                        margin-right: 70px;
                    }

                    .mr75 {
                        margin-right: 75px;
                    }

                    .mr80 {
                        margin-right: 80px;
                    }

                    .mr85 {
                        margin-right: 85px;
                    }

                    .mr90 {
                        margin-right: 90px;
                    }

                    .mr95 {
                        margin-right: 95px;
                    }

                    .mr100 {
                        margin-right: 100px;
                    }


                    .mt-40 {
                        margin-top: -40px;
                    }

                    .mt-60 {
                        margin-top: -60px;
                    }

                    .mt-80 {
                        margin-top: -80px;
                    }

                    .mt-10 {
                        margin-top: -10px;
                    }

                    .mb-40 {
                        margin-bottom: -40px;
                    }

                    .mb-60 {
                        margin-bottom: -60px;
                    }

                    .mb-80 {
                        margin-bottom: -80px;
                    }

                    .mb-100 {
                        margin-bottom: -100px;
                    }

                    .pr30 {
                        padding-right: 30px;
                    }

                    .pl30 {
                        padding-left: 30px;
                    }


                    @media screen and (min-width: 960px) {
                        .fixed-background {
                            display: block;
                        }
                    }

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

                        .main-container,
                        .container {
                            width: 100% !important;
                            min-width: 100vw !important;
                            max-width: 100vw !important;
                            margin-left: calc(-50vw + 50%) !important;
                            margin-right: calc(-50vw + 50%) !important;
                            padding-left: 0 !important;
                            padding-right: 0 !important;
                            left: 0 !important;
                            right: 0 !important;
                            position: relative !important;
                            box-sizing: none !important;
                        }

                        .main-container>*,
                        .container>* {
                            box-sizing: border-box !important;
                        }

                        body,
                        html {
                            width: 100% !important;
                            max-width: 100% !important;
                            overflow-x: hidden !important;
                            margin: 0 !important;
                            padding: 0 !important;
                        }
                    }
                }

                html,
                body,
                .main-container,
                .container {
                    min-width: 150px;
                }

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

                    html,
                    body,
                    .main-container,
                    .container {
                        min-width: 200px !important;
                    }
                }



                /* バナー追加 */
                .floating-bnr.fixed {
                    position: fixed;
                    top: 100px;
                    right: 0;
                    width: 100%;
                    max-width: 420px;
                    min-width: 0;
                    box-sizing: border-box;
                    background: none;
                    overflow: visible;
                }

                .floating-bnr.fixed img {
                    width: 100%;
                    height: auto;
                    max-width: none;
                }
                @media (min-width: 961px) {
                    .floating-bnr.sp-fixed {
                   display: none;
                    }
                  }
       
                @media (max-width: 768px) {
                    .floating-bnr.sp-fixed {
                        position: fixed;
                        bottom: -1px;
                        left: 50%;
                        transform: translateX(-50%);
                        width: 101vw;
                        height: auto;
                        z-index: 1000;
                        display: none;
                        justify-content: center;
                        align-items: center;
                        background: none;
                        box-shadow: none;
                        overflow: visible;
                    }
                    /* .floating-bnr.sp-fixed.show {
                      display: flex !important;
                    } */
                  }
                  @media (max-width: 960px) {

                  .floating-bnr.sp-fixed.show {
                    display: flex !important;
                  }
                }


             /*:::::::::::::: Q&A アコーディオン::::::::::::::*/
                @media (max-width: 767px) {
                    .text_index_heading-faq-container{
                        margin: 10px 0;
                    }
                }

                .text_index-faq {
                    background-color: #FFFBEA;
                    border-radius: 20px;
                }

                .text_index_heading-faq{
                    margin-bottom: 0;
                }

                .accordion_item {
                    position: relative;
                    margin-bottom: 12px;
                }

                .accordion_item_container {
                    margin-top: 30px;
                }

                .accordion_item_title {
                    position: relative;
                    padding: 15px 30px 15px 15px;
                    font-weight: 600;
                    font-size: 15px;
                    cursor: pointer;
                    background-color: #13705a;
                    border-radius: 10px;
                    text-align: left;
                    color: #fff;
                }

                .accordion_item_title::after {
                    content: '';
                    position: absolute;
                    right: 15px;
                    top: 50%;
                    width: 8px;
                    height: 8px;
                    border-right: 2px solid #fff;
                    border-bottom: 2px solid #fff;
                    transform: translateY(-50%) rotate(45deg);
                    transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
                }

                .accordion_item_title::before {
                    content: 'Q :';
                    font-weight: 600;
                    font-size: 15px;
                    color: #e67a16;
                    margin-right: 5px;
                }

                .accordion_item_title.is-open::after {
                    transform: translateY(-50%) rotate(-135deg);
                }

                .accordion_item_content {
                    overflow: hidden;
                    transition: max-height 0.4s ease;
                    max-height: 0;
                }

                section.section.faq-section {
                    margin-top: 60px;
                }

                .accordion_item_content_inner p{
                    font-size: 14px;
                    text-align: left;
                    font-weight: 500;
                    margin-top: 10px;
                    padding: 0 10px;
                }

                .accordion_item_content_inner p::before {
                    content: 'A :';
                    font-weight: 600;
                    font-size: 15px;
                    color: #333;
                    margin-right: 5px;
                }