body{
    background-color: #efefef;
}
.about-section{
    padding-left: var(--container-padding-left-right);
    padding-right: var(--container-padding-left-right);
    .container{
        max-width: calc(100vw - var(--container-padding-left-right) - var(--container-padding-left-right) - var(--layout-aside-area-width));
        margin-right: auto;
        padding-top: clamp(55px,5.5vw, 75px);
        padding-bottom: 0;
    }
    @media screen and (max-width: 768px) {
        .container{
            max-width: 100%;
            margin-right: auto;
            margin-left: auto;
        }  
    }
    .title-area{
        display: flex;
        justify-content: center;
        align-items: center;
        text-align: center;
        margin-bottom: clamp(20px,5vw,45px);
        .title{
            font-size: clamp(32px,6vw,60px);
            color: var(--base-black-color);
            letter-spacing: clamp(2px,0.4vw,6px);
            line-height: 1.8;
            &::before{
                content:"会社概要";
                display: block;
                font-size: clamp(12px,1.8vw,18px);
                color: var(--base-black-color);
            }
        }
    }
    .contents-area{
        
        .contents-lists {
            list-style: none;
            padding: 0;
            margin: 0;
          }
          
          .contents-list {
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            justify-content: center;
            gap: 1.5rem;
            margin-bottom: 2rem;
            background-color: var(--base-white-color);
            background-size: 50%;
            padding: clamp(20px,4.5vw, 45px) clamp(15px,6vw, 60px);
            padding-bottom: 20px;
            border-radius: clamp(1em,1.5vw, 2em);
          }
          
          .contents-list p {
            font-size: clamp(16px, 1.8vw, 18px);
            line-height: 1.8;
            letter-spacing: clamp(1px,0.25vw,4px);
            margin-bottom: clamp(10px,2vw,200px);
            max-width: var(--container-medium-small-size);
            margin-left: auto;
            margin-right: auto;
          }
    }
    @media screen and (max-width:864px) { 
        .contents-area{
            padding-bottom: clamp(20px,4.5vw, 40px);
        }
    }
    .no-article-text{
        text-align: center;
        margin-bottom: clamp(10px,2vw,20px);
        font-size: clamp(18px,1.8vw,20px);
    }
}
.reason-section-01{
    padding-left: var(--container-padding-left-right);
    padding-right: var(--container-padding-left-right);
    .container{
        max-width: calc(100vw - var(--container-padding-left-right) - var(--container-padding-left-right) - var(--layout-aside-area-width));
        margin-right: auto;
        padding-top: clamp(55px,5.5vw, 75px);
        padding-bottom: clamp(80px,11.5vw, 115px);
    }
    @media screen and (max-width: 768px) {
        .container{
            max-width: 100%;
            margin-right: auto;
            margin-left: auto;
        }  
    }
    .title-area{
        display: flex;
        justify-content: center;
        align-items: center;
        margin-bottom: clamp(20px,5vw,45px);
        letter-spacing: clamp(2px,0.4vw,6px);
        text-align: center;
        .title{
            font-size: clamp(36px,4.8vw,48px);
            color: var(--base-black-color);
            line-height: 1.8;
            &::before{
                content:"GREETING";
                display: block;
                font-size: clamp(16px,2vw,22px);
                color: var(--base-black-color);
            }
        }
    }
    .contents-area{
        background-color: var(--base-white-color);
        padding: clamp(20px,4.5vw, 45px) clamp(15px,6vw, 60px);
        padding-bottom: 20px;
        border-radius: clamp(1em,1.5vw, 2em);
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        .contents-lists{
            list-style-type: none;
            padding-left: 0;
            display: flex;
            flex-direction: column;
            gap: clamp(15px,3vw,30px);
            max-width: var(--container-medium-small-size);
        }
        .contents-list{
            background-color: white;
            padding: clamp(20px,4.5vw, 45px) clamp(15px,6vw, 60px);
            padding-bottom: 20px;
            margin: 0;
        }
        .contents-list-01{
            /* background-color: rgba(150, 202, 207, 0.8); */
            border: rgb(150,202,207) clamp(5px,1vw,10px) solid;
        }
        .contents-list-02{
            /* background-color: rgba(227, 224, 150, 0.8); */
            border: rgb(227,224,150) clamp(5px,1vw,10px) solid;
        }
        .sub-flex-items{
            display: flex;
            gap: clamp(10px,2vw,20px);
        }
        .contents-list-02{
            .sub-flex-items{
                flex-direction: row-reverse;
            }  
        }
        .sub-flex-item{

        }
        .sub-flex-item-01{
            width: calc(35% - clamp(5px,1vw,10px));
            img{
                border-radius: clamp(5px,1vw,10px);
            }
        }
        .sub-flex-item-02{
            width: calc(65% - clamp(10px,2vw,20px));
        }
        @media screen and (max-width:768px) { 
            .sub-flex-items{
                display: flex;
                flex-direction: column;
                gap: clamp(10px,2vw,20px);
                margin-bottom: clamp(20px,4vw,40px)
            }
            .contents-list-02{
                .sub-flex-items{
                    flex-direction: column;
                gap: clamp(10px,2vw,20px);
                margin-bottom: clamp(20px,4vw,40px)
                }  
            }
            .sub-flex-item-01{
                width: 100%;
            }
            .sub-flex-item-02{
                width: 100%;
            }
        }
        .steps-area{
            text-align: left;
            .step-button{
                padding: clamp(5px,1vw,10px);
                padding-left: 0;
                padding-bottom: 0;
                display: inline-block;
            }
        }
        .contents-list-01 {
            .steps-area{
                .step-button{
                    color: #4f5a8e;
                }
            }
        }
        .contents-list-02 {
            .steps-area{
                text-align: left;
                .step-button{
                    color: rgb(116, 87, 87);
                }
            }
        }
        .sub-title-area{
            .title{
                color: gold;
                font-size: 20px;
                font-size: clamp(22px,3vw,46px);
                letter-spacing: clamp(1px,0.3vw,3px);
                line-height: 1.3;
                margin-bottom: clamp(5px,1vw,10px);
            }
        }
        .sub-contents-area{
            p{
                line-height: 1.6;
                letter-spacing: 1px;
            }
        }
        .design-area{
            padding-top: clamp(10px,2vw,20px);
            p{
                color: var(--base-black-color);
                font-size: 12px;
                font-size: clamp(12px,2vw,18px);
                line-height: 1.8;
                letter-spacing: 1px;
                margin-bottom: clamp(10px,2vw,20px);
            }
        }
        .contents-list-01 {
            .sub-title-area{
                .title{
                    color: #4f5a8e;
                }
            }
            .design-area{
                p{
                    color:#4f5a8e;
                }
            }
        }
        .contents-list-02 {
            .sub-title-area{
                .title{
                    color: rgb(116, 87, 87);

                }
            }
            .design-area{
                p{
                    color: rgb(116, 87, 87);
                }
            }
        }
        .contents-list-03 {
            .sub-title-area{
                .title{
                    color: rgb(174,174,24);
                }
            }
            .design-area{
                p{
                    color: rgb(174,174,24);
                }
            }
        }
        .contents-list-04 {
            .sub-title-area{
                .title{
                    color: rgb(1, 106, 122);
                }
            }
            .design-area{
                p{
                    color:rgb(1, 106, 122);
                }
            }
        }
        .contents-list-05 {
            .sub-title-area{
                .title{
                    color: rgb(240, 26, 112);
                }
            }
            .design-area{
                p{
                    color:rgb(240, 26, 112);
                }
            }
        }
    }
    @media screen and (max-width:864px) { 
        .contents-area{
            padding-bottom: clamp(20px,4.5vw, 40px);
        }
    }
    @media screen and (max-width:480px) { 
        .contents-area{
            padding:0;
            .content-list{
                padding:0;
            }
        }
    }
    .no-article-text{
        text-align: center;
        margin-bottom: clamp(10px,2vw,20px);
        font-size: clamp(18px,1.8vw,20px);
    }
}
.service-section{
    padding-left: var(--container-padding-left-right);
    padding-right: var(--container-padding-left-right);
    .container{
        max-width: calc(100vw - var(--container-padding-left-right) - var(--container-padding-left-right) - var(--layout-aside-area-width));
        margin-right: auto;
        padding-top: clamp(55px,5.5vw, 75px);
        padding-bottom: clamp(15px,3vw, 30px);
    }
    @media screen and (max-width: 768px) {
        .container{
            max-width: 100%;
            margin-right: auto;
            margin-left: auto;
        }  
    }
    .title-area{
        display: flex;
        justify-content: center;
        align-items: center;
        margin-bottom: clamp(20px,5vw,45px);
        letter-spacing: clamp(2px,0.4vw,6px);
        .title{
            font-size: clamp(32px,6vw,60px);
            letter-spacing: clamp(2px,0.5vw,6px);
            color: var(--base-black-color);
            line-height: 1.8;
            &::before{
                content:"SERVICE";
                display: block;
                text-align: center;
                font-size: clamp(16px,2vw,22px);
                letter-spacing: clamp(1px,0.25vw,4px);
                color: var(--base-black-color);
            }
        }
        .button-area{
            .button{
                padding: clamp(10px,2vw,20px) clamp(10px,5vw,30px);
                padding-right: clamp(40px,9vw,90px);
                border-radius: 100px;
                border:1px solid var(--base-black-color);
                text-decoration: none;
                display: inline-block;
                position: relative;
                font-size: clamp(12px,1.9vw,19px);

                &::after{
                    content:"";
                    display: inline-block;
                    width: clamp(17.5px,2.5vw,25px);
                    height: clamp(17.5px,2.5vw,25px);
                    background-image: url(../../images/icon/arrow-circle-white-right.svg);
                    vertical-align:baseline;
                    position: absolute;
                    top: 50%;
                    right: clamp(20px, 3vw,30px);
                    transform: translateY(-50%);
                    -webkit-transform: translateY(-50%);
                    -ms-transform: translateY(-50%);
                }
            }
            
        }
    }
    .contents-area{
        background-color: var(--base-white-color);
        padding: clamp(20px,4.5vw, 45px) clamp(15px,6vw, 60px);
        padding-bottom: 20px;
        border-radius: clamp(1em,1.5vw, 2em);
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        .contents-lists{
            list-style-type: none;
            padding-left: 0;
            display: flex;
            flex-direction: column;
            gap: clamp(15px,3vw,30px);
            max-width: var(--container-medium-small-size);
        }
        .contents-list{
            background-color: rgb(75, 159, 172);
            padding: clamp(20px,4.5vw, 45px) clamp(15px,6vw, 60px);
            padding-bottom: 20px;
            border-radius: clamp(1em,1.5vw, 2em);
            margin: 0;
        }
        .contents-list-01{
            background-color: rgb(134 186 194);
        }
        .sub-flex-items{
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
        }
        .sub-flex-item{

        }
        .sub-flex-item-01{
            width: 100%;
        }
        .sub-flex-item-02{
            width: 100%;
        }
        .steps-area{
            text-align:center;
            .step-button{
                background-color: gold;
                padding: clamp(5px,1vw,10px);
                display: inline-block;
                margin-bottom: clamp(5px,1vw,10px);
            }
        }
        .contents-list-04 {
            .steps-area{
                .step-button{
                    background-color: gold;
                }
            }
        }
        .sub-title-area{
            .title{
                color: var(--base-white-color);
                font-size: 20px;
                font-size: clamp(20px,4vw,50px);
            }
        }
        .contents-list-01 {
            .sub-title-area{
                .title{
                    text-align: center;
                    color: var(--base-white-color);
                }
            }
        }
        .contents-list-02 {
            .sub-title-area{
                .title{
                    color: gold;
                }
            }
        }
        .contents-list-03 {
            .sub-title-area{
                .title{
                    color: gold;
                }
            }
        }
        .contents-list-04 {
            .sub-title-area{
                .title{
                    color: gold;
                }
            }
        }
        .sub-image-area{
            margin-bottom: clamp(10px,2vw,20px);
        }
        .sub-contents-area{
            margin-bottom: clamp(10px,2vw,20px);
            p{
                color: var(--base-white-color);
            }
        }
        .sub-button-area{
            display: flex;
            justify-content: center;
            align-items: center;
        }
    }
    @media screen and (max-width:864px) { 
        .contents-area{
            padding-bottom: clamp(20px,4.5vw, 40px);
        }
    }
    @media screen and (max-width:480px) { 
        .contents-area{
            padding:0;
            .content-list{
                padding:0;
            }
        }
    }
    .no-article-text{
        text-align: center;
        margin-bottom: clamp(10px,2vw,20px);
        font-size: clamp(18px,1.8vw,20px);
    }
}
.flow-section{
    padding-left: var(--container-padding-left-right);
    padding-right: var(--container-padding-left-right);
    .container{
        max-width: calc(100vw - var(--container-padding-left-right) - var(--container-padding-left-right) - var(--layout-aside-area-width));
        margin-right: auto;
        padding-top: 0;
        padding-bottom: 0;
    }
    @media screen and (max-width: 768px) {
        .container{
            max-width: 100%;
            margin-right: auto;
            margin-left: auto;
        }  
    }
    .title-area{
        display: flex;
        justify-content: center;
        align-items: center;
        text-align: center;
        margin-bottom: clamp(20px,5vw,45px);
        .title{
            font-size: clamp(24px,4vw,40px);
            color: var(--base-black-color);
            letter-spacing: clamp(2px,0.4vw,6px);
            line-height: 1.8;
            &::before{
                content:"FLOW";
                display: block;
                font-size: clamp(12px,1.8vw,18px);
                color: var(--base-black-color);
            }
        }
    }
    .contents-area{
        .flow-contact{
            background-color: var(--base-white-color);
            border:clamp(5px,1vw,10px) solid var(--primary-color);
            padding: clamp(10px,2vw,20px);
            padding-right: clamp(20px,5vw,50px);
            border-radius: clamp(10px,2vw,20px);
            width: fit-content;
            margin-left: auto;
            margin-right: auto;
            margin-bottom: clamp(20px,4vw,40px);
            .items{
                display: flex;
                gap: clamp(20px,5vw,50px);
                align-items: center;
            }
            .item01{
                width: clamp(100px,13vw,150px);
                flex-grow: 0;
                img{
                    width: 100%;
                }
            }
            .item02{
                flex-grow: 1;
                p{
                    font-size: clamp(18px,2.2vw,22px);
                }
            }
        }
        .contents-lists {
            list-style: none;
            padding: 0;
            margin: 0;
          }
          
          .contents-list {
            padding: clamp(20px,4.5vw, 45px) clamp(15px,6vw, 60px);
            background-color: var(--base-white-color);
            padding-bottom: 20px;
            margin-bottom: clamp(20px,3vw,30px);
            border-radius: clamp(1em,1.5vw, 2em);
          }
          .contents-list h3{
            font-size: clamp(24px, 3vw, 32px);
            line-height: 1.8;
            letter-spacing: clamp(1px,0.25vw,4px);
            margin-bottom: clamp(10px,2vw,20px);
          }
          .contents-list p {
            font-size: clamp(16px, 1.8vw, 18px);
            line-height: 1.8;
            letter-spacing: clamp(1px,0.25vw,4px);
            margin-bottom: clamp(5px,1vw,10px);
            max-width: var(--container-medium-small-size);
          }
    }
    .marquee-section{
        .marquee-content{
            animation: scroll-marquee 100s linear infinite;
            .marquee-text{
                font-size: clamp(60px,16vw,180px);
                color: #fff;
                font-weight: 700;
                font-style: italic;
                line-height: 1;
                padding-top: 0;
            }
        }
    }
    @media screen and (max-width:864px) { 
        .contents-area{
            padding-bottom: clamp(20px,4.5vw, 40px);
        }
    }
    .no-article-text{
        text-align: center;
        margin-bottom: clamp(10px,2vw,20px);
        font-size: clamp(18px,1.8vw,20px);
    }
}
.marquee-section{
    .marquee-content{
        animation: scroll-marquee 60s linear infinite;
        .marquee-text{
            font-size: clamp(60px,16vw,180px);
            color: #fff;
            font-weight: 700;
            font-style: italic;
            line-height: 1;
            padding-top: 0;
        }
    }
}

.layout-side{

}