
.sec_wrap {
    display: flex;
    flex-direction: column;
    gap: 100px 0;
    margin: 50px auto 0;
}

.sec_wrap section {
    max-width: var(--maxWidth);
    width: 90%;
    margin: 0 auto;
}

.sec_ttl {
    text-align: center;
    font-size: clamp(22px,3vw,40px);
    letter-spacing: 0.1em;
}

.sec_ttl .kome {
    vertical-align: super;
    font-size: clamp(12px,1.3vw,14px);
}

.sec_lead {
    font-size: clamp(18px,2vw,22px);
    line-height: 1.8;
}

.sec_txt {
    font-size: clamp(13px,1.4vw,16px);
    line-height: 1.8;
}

.sec_txt .kome {
    vertical-align: super;
    font-size: clamp(10px,1.1vw,12px);
}


.sec01 .container01 {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 0 2px;
}

.sec01 .container01 .sec_ttl {
    grid-column: 2/4;
    grid-row: 2;
}

.sec01 .container01 .img02 {
    grid-column: 2/4;
}

.sec01 .container01 .img06 {
    grid-column: 1/3;
}

.sec01 .container01 .note {
    grid-column: 1/5;
    margin-top: 5px;
}

.sec01 .container02 {
    max-width: 850px;
    margin: 70px auto 0;
}

.sec01 .container02 .sec_txt {
    width: 75%;
    margin-top: -7%;
}

.sec02 .container01 {
    max-width: 800px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 30px;
}

.sec02 .container01 .sec_lead {
    text-align: center;
    margin: 15px 0;
    grid-column: 1;
    grid-row: 3;
    letter-spacing: 0.1em;
    font-size: clamp(23px,2.5vw,30px);
}

.sec02 .container01 .sec_lead .small {
    display: block;
    font-size: clamp(13px,1.4vw,15px);
    letter-spacing: 0.05em;
}

.sec02 .container01 .icon {
    max-width: 150px;
    width: 70%;
    margin: 0 auto 20px;
    grid-column: 1;
    grid-row: 4;
}

.sec02 .container01 .image {
    grid-column: 2;
    grid-row: 1/7;
}

.sec02 .container01 .image .cap {
    bottom: -5px;
    right: 0;
}

.sec02 .container01 .sec_txt {
    grid-column: 1;
    grid-row: 5/6;
}





.sec02 .container02 {
    max-width: 800px;
    margin: 80px auto 0;
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 10px;
}

.sec02 .container02 .container_ttl_wrap {
    grid-column: 1/4;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px 20px;
    margin-bottom: 15px;
}

.sec02 .container02 .container_ttl_wrap .icon {
    max-width: 95px;
    width: 20%;
}

.sec02 .container02 .container_ttl {
    font-size: clamp(25px, 2.5vw, 30px);
    letter-spacing: 0.1em;
}

.sec02 .container02 .img01 {
    grid-column: 1/4;
    grid-row: 2;
    width: calc(54.5% - 5px);
}
.sec02 .container02 .img02 {
    grid-column: 1/4;
    grid-row: 2;
    width: calc(45.5% - 5px);
    margin: 0 0 0 auto;
}
.sec02 .container02 .img03 {
    grid-column: 1/4;
    grid-row: 3;
    width: calc(54.5% - 5px);
}

.sec02 .container02 .sec_txt {
    grid-column: 1/4;
    grid-row: 3;
    width: calc(45.5% - 5px);
    margin: 0 0 0 auto;
    align-self: center;
    padding: 20px;
}




.sec02 .container03 {
    max-width: 800px;
    margin: 80px auto 0;
    background-color: #f2efe8;
    padding: 30px 40px 35px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px 30px;
}

.sec02 .container03 .sec_lead  {
    grid-column: 1/3;
    text-align: center;
    letter-spacing: 0.1em;
    font-size: clamp(25px, 2.5vw, 30px);
    line-height: 1.4;
}

.sec02 .container03 .sec_lead .small {
    display: block;
    font-size: clamp(13px,1.3vw,15px);
}

.sec02 .container03 .sec_lead .foot {
    display: block;
    margin-top: 5px;
    font-size: clamp(12px,1.3vw,14px);
}

.sec02 .container03 .sec_txt {
    grid-column: 1/3;
    font-size: clamp(13px,1.4vw,15px);
    margin: 10px 0 25px;
}

.sec02 .container04 {
    margin-top: 70px;
}

.sec02 .container04 .container_lead {
    text-align: center;
    font-size: clamp(20px, 2.3vw, 28px);
    margin-bottom: 30px;
}

.sec02 .container04 .bnr {
    max-width: 800px;
    width: 90%;
    margin: 0 auto;
}



.sec03 .container01 {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 30px;
    margin-top: 30px;
}

.sec03 .container01 .box {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 5;
    gap: 0;
}


.box_lead {
    text-align: center;
    font-size: clamp(12px,1.4vw,15px);
    margin-bottom: 10px;
    align-self: center;
}

.box_ttl {
    text-align: center;
    font-weight: bold;
    font-size: clamp(14px,1.6vw,18px);
    margin-bottom: 10px;
    align-self: center;
}

.box .image .cap {
    background-color: #000;
    color: #fff;
    padding: 3px 8px;
    bottom: 0;
    right: 0;
}

.box_time {
    font-size: clamp(11px,1.2vw,13px);
    margin-top: 10px;
    align-self: flex-start;
}

.box_time td {
    width: 6em;
}

.box_time td::first-letter {
    color: #c79f62;
}

.box_txt {
    font-size: clamp(12px,1.3vw,14px);
    margin-top: 10px;
}



.sec_wrap section.sec04 {
    max-width: none;
    width: 100%;
    background-color: #f5e6da;
    padding: 40px 0 80px;
}

.sec04 .sec_inner {
    max-width: 1054px;
    width: 90%;
    margin: 0 auto;
}

.sec04 .sec_img_lead {
    max-width: 500px;
    margin: 0 auto;
}

.sec04 .sec_ttl {
    max-width: 340px;
    margin: 20px auto 0;
}

.sec04 .sec_lead {
    text-align: center;
    margin: 30px 0;
}

.sec04 .sec_lead.sans_txt {
    margin: 80px 0 30px;
}

.sec04 .box_wrap {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 30px;
}

.sec04 .box_wrap .box {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 4;
    gap: 0;
}




.sec05 .sec_ttl_wrap {
    background-image: url(../images/shopping/sec05_sec_ttl_wrap_bg.jpg);
    padding: 30px;
    background-size: cover;
}

.sec05 .sec_ttl_wrap .inner {
    background-color: hsla(13, 25%, 11%, 0.8);
    color: #fff;
    display: grid;
    grid-template-columns: 1fr 60%;
    padding: 30px;
}

.sec05 .sec_ttl {
    grid-column: 1;
    grid-row: 1/3;
    align-self: center;
    font-size: clamp(25px, 3vw, 40px);
}

.sec05 .sec_lead {
    font-size: clamp(18px,2.5vw,32px);
    line-height: 1.5;
    margin-bottom: 15px;
}

.sec05 .container01 {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 30px;
    margin-top: 30px;
}

.sec05 .container01 .box {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 5;
    gap: 0;
}

.sec05 .container_lead {
    text-align: center;
    font-size: clamp(18px, 2.3vw, 28px);
    margin-bottom: 30px;
}

.sec05 .container02 {
    margin-top: 80px;
}

.sec05 .container02 .image_wrap {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 3px;
}

.sec05 .container02 .image_wrap .cap {
    background-color: #000;
    color: #fff;
    padding: 3px 8px;
    bottom: 0;
    right: 0;
}

.sec05 .container02 .image_wrap .img01 .cap,
.sec05 .container02 .image_wrap .img02 .cap {
    font-size: clamp(12px,1.2vw,13px);
}

.sec05 .container02 .image_wrap .img01 {
    grid-column: 1/4;
    grid-row: 1;
    width: calc(50% - 3px/2);
}
.sec05 .container02 .image_wrap .img02 {
    grid-column: 1/4;
    grid-row: 1;
    width: calc(50% - 3px/2);
    margin: 0 0 0 auto;
}

.sec05 .container03 {
    margin-top: 80px;
}

.sec05 .container03 .container_lead {
    font-size: clamp(20px, 2.3vw, 28px);
}

.sec05 .container03 .bnr {
    max-width: 800px;
    margin: 0 auto;
}

/* SPのみ */
@media screen and (max-width:730px) {

    .sec_wrap {
        gap: 80px 0;
        margin-top: 0;
    }

    .sec_wrap section {
        width: 100%;
    }


    .sec01 .container01 {
        gap: 2px;
        grid-template-columns: 1fr 1fr;
    }

    .sec01 .container01 .sec_ttl {
        grid-column: 1/3;
        grid-row: 3;
    }

    .sec01 .container01 .note {
        grid-column: 1/3;
        width: 95%;
        margin: 5px auto 0;
    }

    .sec01 .container01 .img01 {
        grid-column: 1;
        grid-row: 2;
    }

    .sec01 .container01 .img02 {
        grid-column: 1/3;
    }

    .sec01 .container02 {
        width: 95%;
        margin-top: 40px;
    }

    .sec01 .container02 .sec_txt {
        width: 95%;
        margin: 0 auto;
    }




    .sec02 .container01 {
        width: 90%;
        display: flex;
        flex-direction: column;
    }

    .sec02 .container01 .icon {
        position: relative;
        z-index: 1;
        width: 35%;
        margin: 0 0 -40% 0;
    }

    .sec02 .container01 .image {
        width: 80%;
        margin: 0 0 20px auto;
    }



    .sec02 .container02 {
        width: 90%;
        margin: 60px auto 0;
        gap: 4px;
    }

    .sec02 .container02 .container_ttl_wrap {
        gap: 10px 15px;
        margin: 0 -5.5% 10px;
    }

    .sec02 .container02 .img01 {
        width: calc(54.5% - 2px);
    }

    .sec02 .container02 .img02 {
        width: calc(45.5% - 2px);
    }

    .sec02 .container02 .img03 {
        width: 100%;
    }

    .sec02 .container02 .sec_txt {
        grid-row: 4;
        width: 100%;
        padding: 10px 0;
    }


    .sec02 .container03 {
        margin-top: 60px;
        padding: 30px 20px;
        gap: 5px 15px;
    }


    .sec03 .container01 {
        width: 90%;
        margin: 30px auto 0;
        grid-template-columns: repeat(2,1fr);
        gap: 35px 20px;
    }

    .sec02 .container04 {
        margin-top: 40px;
    }

    .sec02 .container04 .container_lead {
        margin-bottom: 15px;
    }
    

    .sec_wrap section.sec04 {
        padding: 25px 0 40px;
    }

    .sec04 .sec_ttl {
        width: 80%;
    }

    .sec04 .sec_lead {
        margin: 20px 0;
    }

    .sec04 .sec_lead.sans_txt {
        margin: 40px 0 20px;
    }

    .sec04 .box_wrap {
        grid-template-columns: repeat(2,1fr);
        gap: 35px 20px;
    }



    .sec05 .sec_ttl_wrap {
        background-image: url(../images/shopping/sec05_sec_ttl_wrap_bg_sp.jpg);
        padding: 15px;
    }

    .sec05 .sec_ttl_wrap .inner {
        padding: 20px;
        display: flex;
        flex-direction: column;
    }

    .sec05 .sec_ttl_wrap .sec_txt {
        text-align: center;
    }

    .sec05 .sec_lead {
        text-align: center;
        margin: 10px 0;
    }


    .sec05 .container01 {
        width: 90%;
        margin: 30px auto 0;
        grid-template-columns: repeat(2,1fr);
    }

    .sec05 .container_lead {
        margin-bottom: 20px;
    }

    .sec05 .container02 {
        margin-top: 50px;
    }

    .sec05 .container02 .image_wrap {
        width: 90%;
        margin: 0 auto;
        grid-template-columns: repeat(2,1fr);
        gap: 8px;
    }

    .sec05 .container02 .image_wrap .cap {
        padding: 3px;
    }

    .sec05 .container02 .image_wrap .img01 {
        grid-column: 1/3;
        grid-row: 1;
        width: 100%;
    }

    .sec05 .container02 .image_wrap .img02 {
        grid-column: 1/3;
        grid-row: 2;
        width: 100%;
    }


    .sec05 .container03 {
        margin-top: 50px;
    }

    .sec05 .container03 .container_lead {
        margin-bottom: 15px;
    }

    .sec05 .container03 .bnr {
        width: 90%;
        margin: 0 auto;
    }





}