/* Mobile Responsive Styles */

/* Mobile-only line break - hidden on PC, visible on mobile */
.sp {
    display: none;
}

/* Mobile Devices (max-width: 480px) */
@media (max-width: 768px) {
    /* Mobile-only line break - visible on mobile */
    .sp {
        display: block !important;
    }
    /* Header */
    .header {
        padding: 15px 0 10px;
    }

    .header-container {
        flex-direction: column;
        /* gap: 15px; */
        padding: 0 10px;
        text-align: center;
    }

    .logo img {
        max-height: 24px;
    }

    .nav {
        flex-direction: row;
        gap: 6px;
        width: 100%;
        align-items: center;
        flex-wrap: wrap;
        justify-content: center;
    }

    .nav-link {
        font-size: 13px;
        gap: 3px;
        flex: 0 0 auto;
        white-space: nowrap;
        margin-right: 5px;
    }

    .header .nav-link span {
        font-size: 13px;
    }
    .nav-link span {
        white-space: nowrap;
        font-size: 16px;
        font-weight: bold;
    }

    .nav-icon {
        width: 9px;
        height: 9px;
        display: none;
    }

    .btn-inquiry {
        display: none;
    }

    /* Show btn-inquiry in last-area on mobile */
    .last-area .btn-inquiry {
        display: inline-block !important;
    }

    /* Container & Section */
    .container {
        padding: 0 10px;
    }

    .section {
        padding-top: 30px;
    }

    /* Section 1 */
    /* .section1 {
        padding: 0;
        background-image: url('design/section1/main-sp.png');
        background-size: contain;
        background-position: top center;
        background-repeat: no-repeat;
    } */

    .section1 {
        position: relative;
        padding: 0;
        overflow: visible;
        height: auto;
        display: block;
        background-color: #fff;
        background-image: url('../design/section1/main-sp.png')
        , url('../design/section1/img_BG_sp.png')
        ;
        background-size: 
        contain,
        contain;       
    
        background-position: 
        top center,
        0 300px;
        
        background-repeat: 
        no-repeat,
        no-repeat
        ;
    }

    #section1 .container {
        background: 
        linear-gradient(
            to bottom,
            rgba(255, 245, 108, 0) 0%,
            rgba(255, 245, 108, 0.25) 20%,
            #FFF56C 80%,
            #FFF56C 100%
          );
          clip-path: ellipse(190% 100% at center top);
          padding-bottom: 50px;
    }

    .section1-collage-wrapper,
    .section1-collage,
    .section1-collage-wrapper picture img {
        width: 100%;
        opacity: 0;
        visibility: hidden;
    }
    .section1-collage-wrapper {
        margin-bottom: 0;
    }

    .section1-collage {
        height: auto;
    }

    .section1-logo-wrapper {
        position: relative;
        transform: none !important;
        padding: 20px 15px 0;
        margin-top: -70px;
        width: 100%;
        display: flex !important;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        background-size: contain;
        background-position: top center;
        background-repeat: no-repeat;
        visibility: visible !important;
        opacity: 1 !important;
    }

    .section1-logo-wrapper img {
        max-width: 100% !important;
        width: 100% !important;
        height: auto !important;
        visibility: visible !important;
        opacity: 1 !important;
        display: block !important;
    }

    .section1-logo {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        visibility: visible !important;
        opacity: 1 !important;
        display: block !important;
    }

    .section1-text-title-wrapper {
        justify-content: center !important;
        margin-top: 10px !important;
    }
    .section1-text-content-wrapper {
        padding: 0 26px;
    }

    .section1-text-content {
        width: 100%;
        padding: 25px;
        margin: 20px 0;
        border-radius: 24px;
        box-sizing: border-box;
    }
    .section6 .section1-text-content {
        padding: 30px 15px;
    }

    .section1-text-content.is-open {
        padding: 30px 25px;
    }

    .section1-text-header {
        max-width: 100%;
        margin-bottom: 0;
    }

    .section1-text-content.is-open .section1-text-header {
        margin-bottom: 15px;
    }

    .section1-text-header-top {
        margin-bottom: 8px;
    }

    .section1-text-subtitle {
        font-size: 17px;
        line-height: 1.4;
    }



    .section1-text-title {
        font-size: 24px;
        line-height: 1.3;
        width: 220px !important;
        flex: 0 0 auto !important;
        margin-right: 20px !important;
    }

    .section1-text-divider {
        margin-bottom: 0;
        margin-top: 10px;
    }

    .section1-text-body {
        margin-top: 0px;
    }

    .section1-text-paragraph {
        font-size: 16px;
        line-height: 1.6;
        margin-bottom: 12px;
    }
    .section6 .container .text p.section1-text-paragraph {
        line-height: 1.8;
        color: #4D1900;
        font-weight: 500;
    }

    .section1-button-area {
        width: 100%;
        margin-top: 20px;
        padding: 0 15px;
    }

    .section1-button-area .image {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 15px !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    .section1-button-area .image-group {
        margin-bottom: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 15px !important;
        flex-wrap: wrap !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    .section1-button-area-title {
        margin-bottom: 0px !important;
    }
    
    .section1-button-area .image-group a {
        margin-bottom: 0 !important;
        margin-right: 0 !important;
        display: block !important;
        flex: 0 0 auto !important;
        max-width: 100% !important;
        width: 100% !important;
    }

    .section1-button-area .image-group a:first-child {
        margin-right: 0 !important;
    }

    .section1-button-area .image-group a img {
        display: block !important;
        width: 100% !important;
        height: auto !important;
        max-width: 100% !important;
        object-fit: contain !important;
    }

    .section1-about-image {
        width: 100%;
        height: auto;
    }

    /* Section 2 */
    .section2 {
        height: auto;
        min-height: 500px;
    }
    .section2 .image {
        background: 
        linear-gradient(
          to bottom,           /* 渐变方向：从上到下 */
          #FFF9D7 0%,          /* 0% - 40% 保持 #FFF9D7 */
          #FFF9D7 30%,         /* 确保 40% 开始前的颜色固定 */
          #FFF23B 100%         /* 60% - 100% 保持 #FFF23B */
        );
    }

    /* Common Section Styles */
    .section .container .title {
        width: 100%;
        padding: 20px 0;
    }

    .section .container .title h2 {
        width: 100%;
        font-size: 36px;
        padding: 0 15px;
    }

    .section .container .title h2 p {
        font-size: 22px;
    }

    .section .container .image{
        width: 100%;
        margin-top: 0;
    }
    .section1 .container .image {
        width: 100%;
        margin-top: 30px;
    }
    .section1 .container .image {
        width: 100%;
        margin-top: 10px;
    }

    .section1 .container .image a{
        display: block;
    }

    .section .container .image-group,
    .section1 .container .image-group {
        width: 100%;
        gap: 20px;
        flex-direction: column;
        align-items: stretch;
        margin-bottom: 0;
        padding: 0 15px;
    }

    .section .container .image-group img,
    .section .container .img-3 img {
        width: 100%;
        max-width: 100%;
        display: block;
        margin: 0 auto 10px auto;
    }

    .section .container .image-group img:not(:last-child),
    .section .container .img-3 img:not(:last-child) {
        margin-bottom: 20px;
    }

    .section .container .main-text {
        width: 100%;
        margin-top: 0px;
        padding-bottom: 20px;
    }

    .section .container .main-text-list {
        width: calc(100% - 30px);
        padding: 40px 30px;
        border-radius: 20px;
        margin: 0 15px;
        box-sizing: border-box;
    }

    .section .container .main-text-list li {
        font-size: 17px;
        line-height: 1.7;
        margin-bottom: 30px;
        padding-left: 18px;
    }

    .section .container .text {
        width: 100%;
        margin-top: 0px;
        padding: 30px 20px;
    }

    .section .container .last-child {
        background: linear-gradient(
            to bottom,
            #FFF9D7 0%,
            #FFF9D7 calc(100% - 60px), /* 底部60px处开始渐变 */
            #fff 100%
          );
          padding-bottom: 60px;
    }

    .section .container .text h3 {
        width: 100%;
        font-size: 20px;
        margin-bottom: 15px;
        padding: 0 15px;
    }

    .section .container .text p {
        width: 100%;
        font-size: 15px;
        line-height: 1.7;
        padding: 0 15px;
        color: #333;
    }

    .section2 .container .image-group,
    .section3 .container .image-group,
    .section4 .container .image-group,
    .section5 .container .image-group,
    .section6 .container .image-group {
        gap: 0;
    }

    /* Last Area */
    .last-area {
        padding: 0 15px;
        padding-bottom: 20px; /* 固定ボタンのスペースを確保 */
    }

    .last-area .nav {
        flex-direction: column;
        gap: 20px;
        align-items: center;
    }

    /* Fixed button at bottom on mobile */
    .last-area .btn-inquiry {
        position: fixed;
        bottom: 20px;
        left: 50%;
        transform: translateX(-50%);
        z-index: 1000;
        display: inline-block !important;
        width: 315px;
        max-width: calc(100% - 40px);
        background-color: transparent;
        border-radius: 8px;
        padding: 8px;
        box-sizing: border-box;
        transition: all 0.3s ease;
    }

    /* When last-area is visible, remove fixed positioning */
    .last-area .btn-inquiry.reached-bottom {
        position: relative;
        bottom: auto;
        left: auto;
        transform: none;
        width: 315px;
        max-width: calc(100% - 40px);
        margin: 0 auto;
    }

    .last-area .btn-inquiry img {
        width: 100%;
        height: auto;
        max-height: revert;
        object-fit: contain;
    }

    /* Footer */
    .footer {
        min-height: 80px;
        padding: 20px 0;
    }

    .footer svg {
        width: 240px;
        height: auto;
        max-width: 85%;
    }
}
