.instagramSection {

    .instagramBox {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        grid-template-rows: repeat(2, 1fr);
        grid-column-gap: 24px;
        grid-row-gap: 24px;
    }

    .guide {
        background-color: var(--black);
        grid-area: 1 / 1 / 3 / 2;
        display: grid;
        justify-items: center;
        align-content: start;
        row-gap: 16px;
        padding: 5%;
    }

    .logo {
        width: 100%;
    }

    .hashtag {
        font-size: var(--fontsize-small);
        width: 100%;
        text-align: left;
    }

}

@media screen and (max-width: 1024px) {
    /* 1024pxまでの幅の場合に適応される */
    .instagramSection {

        .instagramBox {
            grid-column-gap: 16px;
            grid-row-gap: 16px;
        }

        .outlineButton {
            padding-left: 0.5em;
            padding-right: 0.5em;
        }
        
    }

}

@media screen and (max-width: 599px) {
    /* 599pxまでの幅の場合に適応される */
    .instagramSection {
        .instagramBox {
            grid-column-gap: 8px;
            grid-row-gap: 8px;
        }

        .instagramBox {
            grid-template-columns: repeat(3, 1fr);
            grid-template-rows: repeat(2, 1fr);
        }

        .guide {
            grid-area: 1 / 1 / 4 / 2;
            /* grid-area: 3 / 3 / 4 / 4; */
            /* align-content: center; */
            row-gap: 8px;
        }

        .outlineButton {
            font-size: var(--fontsize-xsmall);
        }
    }
}

.areaSection {
    background-image: url(/img/map-hokkaido.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;

    .flex {
        column-gap: 40px;
        align-items: start;
    }

    .column {
        display: grid;
        row-gap: 16px;
    }

    .subTitle {
        text-align: left;
        color: var(--primary-bland-color);
    }
}

@media screen and (max-width: 599px) {
    /* 599pxまでの幅の場合に適応される */
    .areaSection {
        .flex {
            flex-direction: column;
            row-gap: 32px;
        }
    }
}

.ctaSection {

    padding-top: 32px;
    padding-bottom: 36px;
    background-color: var(--primary-bland-color);
    /* background-image: url(/img/bg-cta.jpg); */
    font-family: "Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans","Noto Sans JP",Meiryo,sans-serif;


    .title,
    .text {
        color: var(--white);
    }

    .buttonBox {
        width: 100%;
        display: flex;
        column-gap: 24px;
        margin-top: 48px;
    }

    .tabelogButton {
        position: relative;
        background-color: var(--secondary-bland-color);
        width: 100%;
        padding: 16px;
        display: flex;
        justify-content: space-between;
        align-items: center;
        column-gap: 12px;
        border-radius: 12px;
        position: relative;
        box-shadow: 4px 4px 1px var(--primary-bland-color-bright);
    }

    .tabelogButton--fukidashi {
        position: absolute;
        top: 0;
        left: 50%;
        transform: translate(-50%, calc(-100% - 16px));
        font-size: var(--fontsize-medium);
        color: var(--white);
        background-color: transparent;
        min-width: fit-content;
        padding: 4px 4px 4px 12px;
        white-space: nowrap;
        text-align: center;
        letter-spacing: 1px;
        border-bottom: 1px solid var(--white);
    }

    .tabelogButton--fukidashi::before {
        content: "";
        position: absolute;
        bottom: -6px;
        left: 50%;
        width: 12px;
        height: 12px;
        box-sizing: border-box;
        background-color: var(--primary-bland-color);
        rotate: 135deg;
        translate: -50%;
    }

    .tabelogButton--fukidashi::after {
        /* left: 50%;
        transform: translate(-50%, 0); */
        content: "";
        position: absolute;
        bottom: -6px;
        left: 50%;
        translate: -50%;
        width: 12px;
        height: 12px;
        box-sizing: border-box;
        border-top: 1px solid var(--white);
        border-right: 1px solid var(--white);
        rotate: 135deg;
    }

    .tabelogButton--iconBox {
        background-color: var(--white);
        padding: 4px;
        border-radius: 8px;
        line-height: 0;
        display: flex;
    }

    .tabelogButton--icon {
        width: 28px;
        height: 28px;
        line-height: 0;
    }

    .tabelogButton--text {
        /* flex: 1 0; */
        color: var(--black);
        font-size: var(--fontsize-xmedium);
        font-weight: bold;
        letter-spacing: 2px;
    }

    .tabelogButton--arrow {
        width: 28px;
        height: 26px;
        border-radius: 50%;
        background-color: var(--white);
        position: relative;
    } 

    .tabelogButton--arrow::before {
        content: '';
        width: 12px;
        height: 12px;
        border: 0;
        border-top: solid 2px var(--black);
        border-right: solid 2px var(--black);
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-70%, -50%) rotate(45deg);
    }

    .telButton {
        background-color: var(--accent-color);
        width: 100%;
        padding: 16px;
        display: flex;
        justify-content: space-between;
        align-items: center;
        column-gap: 12px;
        border-radius: 12px;
        position: relative;
        box-shadow: 4px 4px 1px var(--primary-bland-color-bright);
    }

    .telButton--fukidashi {
        position: absolute;
        top: 0;
        left: 50%;
        transform: translate(-50%, calc(-100% - 16px));
        font-size: var(--fontsize-medium);
        color: var(--white);
        background-color: transparent;
        min-width: fit-content;
        padding: 4px 4px 4px 12px;
        white-space: nowrap;
        text-align: center;
        letter-spacing: 1px;
        border-bottom: 1px solid var(--white);
    }

    .telButton--fukidashi::before {
        content: "";
        position: absolute;
        bottom: -6px;
        left: 50%;
        width: 12px;
        height: 12px;
        box-sizing: border-box;
        background-color: var(--primary-bland-color);
        rotate: 135deg;
        translate: -50%;
    }

    .telButton--fukidashi::after {
        content: "";
        position: absolute;
        bottom: -6px;
        left: 50%;
        translate: -50%;
        width: 12px;
        height: 12px;
        box-sizing: border-box;
        border-top: 1px solid var(--white);
        border-right: 1px solid var(--white);
        rotate: 135deg;
    }

    .telButton--iconBox {
        background-color: var(--white);
        padding: 4px;
        border-radius: 8px;
        line-height: 0;
        display: flex;
    }

    .telButton--icon {
        width: 28px;
        height: 28px;
        line-height: 0;
    }

    .telButton--text {
        /* flex: 1 0; */
        color: var(--white);
        font-size: var(--fontsize-xmedium);
        font-weight: bold;
        letter-spacing: 2px;
    }

    .telButton--arrow {
        width: 28px;
        height: 26px;
        border-radius: 50%;
        background-color: var(--white);
        position: relative;
    } 

    .telButton--arrow::before {
        content: '';
        width: 12px;
        height: 12px;
        border: 0;
        border-top: solid 2px var(--black);
        border-right: solid 2px var(--black);
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-70%, -50%) rotate(45deg);
    }
}

@media screen and (max-width: 1024px) {
    .ctaSection {
        .buttonBox {
            flex-direction: column;
            row-gap: 76px;
        }
    }
}