/**
 * Successfee Section Block - Frontend Styles
 */

/* セクションブロックの基本スタイル */
.successfee-section {
    position: relative;
    width: 100%;
    box-sizing: border-box;
}

/* フルサイズ - 画面幅いっぱい */
.successfee-section--width-full {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}

.successfee-section--width-full .successfee-section__inner {
    max-width: 100%;
    margin: 0;
    padding-left: 20px;
    padding-right: 20px;
}

/* ワイド - 1200px */
.successfee-section--width-wide .successfee-section__inner {
    max-width: 1200px;
    margin: 0 auto;
    padding-left: 20px;
    padding-right: 20px;
}

/* サイト幅 - 900px */
.successfee-section--width-site .successfee-section__inner {
    max-width: 900px;
    margin: 0 auto;
    padding-left: 20px;
    padding-right: 20px;
}

/* ナロー - 700px */
.successfee-section--width-narrow .successfee-section__inner {
    max-width: 700px;
    margin: 0 auto;
    padding-left: 20px;
    padding-right: 20px;
}

/* Flexbox基本設定 */
.successfee-section .successfee-section__inner {
    display: flex;
    flex-wrap: wrap;
}

/* 子要素のalignwide/alignfull対応 */
.successfee-section .successfee-section__inner > .alignwide,
.successfee-section .successfee-section__inner > .alignfull {
    width: 100%;
}

/* WordPress flexレイアウトの子要素が縮小しないようにする（画像ブロックは除外） */
.successfee-section .successfee-section__inner .is-layout-flex > *:not(.wp-block-image) {
    flex-basis: auto !important;
    min-width: 0;
}

/* 並び方向 - PC */
.successfee-section.successfee-section--dir-column .successfee-section__inner {
    flex-direction: column;
}

.successfee-section.successfee-section--dir-row .successfee-section__inner {
    flex-direction: row;
}

/* 横位置 */
.successfee-section.successfee-section--align-h-flex-start .successfee-section__inner {
    justify-content: flex-start;
}

.successfee-section.successfee-section--align-h-center .successfee-section__inner {
    justify-content: center;
}

.successfee-section.successfee-section--align-h-flex-end .successfee-section__inner {
    justify-content: flex-end;
}

.successfee-section.successfee-section--align-h-space-between .successfee-section__inner {
    justify-content: space-between;
}

.successfee-section.successfee-section--align-h-space-around .successfee-section__inner {
    justify-content: space-around;
}

.successfee-section.successfee-section--align-h-space-evenly .successfee-section__inner {
    justify-content: space-evenly;
}

/* 縦位置 */
.successfee-section.successfee-section--align-v-flex-start .successfee-section__inner {
    align-items: flex-start;
}

.successfee-section.successfee-section--align-v-center .successfee-section__inner {
    align-items: center;
}

.successfee-section.successfee-section--align-v-flex-end .successfee-section__inner {
    align-items: flex-end;
}

.successfee-section.successfee-section--align-v-space-between .successfee-section__inner {
    align-content: space-between;
}

.successfee-section.successfee-section--align-v-space-around .successfee-section__inner {
    align-content: space-around;
}

.successfee-section.successfee-section--align-v-space-evenly .successfee-section__inner {
    align-content: space-evenly;
}

/* 縦並び時の配置調整 */
.successfee-section.successfee-section--dir-column.successfee-section--align-h-flex-start .successfee-section__inner {
    align-items: flex-start;
}

.successfee-section.successfee-section--dir-column.successfee-section--align-h-center .successfee-section__inner {
    align-items: center;
}

.successfee-section.successfee-section--dir-column.successfee-section--align-h-flex-end .successfee-section__inner {
    align-items: flex-end;
}

.successfee-section.successfee-section--dir-column.successfee-section--align-v-flex-start .successfee-section__inner {
    justify-content: flex-start;
}

.successfee-section.successfee-section--dir-column.successfee-section--align-v-center .successfee-section__inner {
    justify-content: center;
}

.successfee-section.successfee-section--dir-column.successfee-section--align-v-flex-end .successfee-section__inner {
    justify-content: flex-end;
}

.successfee-section.successfee-section--dir-column.successfee-section--align-v-space-between .successfee-section__inner {
    justify-content: space-between;
}

.successfee-section.successfee-section--dir-column.successfee-section--align-v-space-around .successfee-section__inner {
    justify-content: space-around;
}

.successfee-section.successfee-section--dir-column.successfee-section--align-v-space-evenly .successfee-section__inner {
    justify-content: space-evenly;
}

/* 要素間の余白（gap） */
.successfee-section.successfee-section--gap-none .successfee-section__inner {
    gap: 0;
}

.successfee-section.successfee-section--gap-xsmall .successfee-section__inner {
    gap: 8px;
}

.successfee-section.successfee-section--gap-small .successfee-section__inner {
    gap: 16px;
}

.successfee-section.successfee-section--gap-medium .successfee-section__inner {
    gap: 24px;
}

.successfee-section.successfee-section--gap-large .successfee-section__inner {
    gap: 32px;
}

.successfee-section.successfee-section--gap-xlarge .successfee-section__inner {
    gap: 48px;
}

/* 上余白 */
.successfee-section--pt-none {
    padding-top: 0;
}

.successfee-section--pt-small {
    padding-top: 20px;
}

.successfee-section--pt-medium {
    padding-top: 40px;
}

.successfee-section--pt-large {
    padding-top: 60px;
}

.successfee-section--pt-xlarge {
    padding-top: 80px;
}

/* 下余白 */
.successfee-section--pb-none {
    padding-bottom: 0;
}

.successfee-section--pb-small {
    padding-bottom: 20px;
}

.successfee-section--pb-medium {
    padding-bottom: 40px;
}

.successfee-section--pb-large {
    padding-bottom: 60px;
}

.successfee-section--pb-xlarge {
    padding-bottom: 80px;
}

/* スマホ対応 */
@media (max-width: 768px) {
    .successfee-section--width-full .successfee-section__inner,
    .successfee-section--width-wide .successfee-section__inner,
    .successfee-section--width-site .successfee-section__inner,
    .successfee-section--width-narrow .successfee-section__inner {
        padding-left: 15px;
        padding-right: 15px;
    }

    .successfee-section--pt-medium {
        padding-top: 30px;
    }

    .successfee-section--pt-large {
        padding-top: 40px;
    }

    .successfee-section--pt-xlarge {
        padding-top: 50px;
    }

    .successfee-section--pb-medium {
        padding-bottom: 30px;
    }

    .successfee-section--pb-large {
        padding-bottom: 40px;
    }

    .successfee-section--pb-xlarge {
        padding-bottom: 50px;
    }

    /* 並び方向 - スマホ */
    .successfee-section.successfee-section--dir-sp-column .successfee-section__inner {
        flex-direction: column;
    }

    .successfee-section.successfee-section--dir-sp-row .successfee-section__inner {
        flex-direction: row;
    }

    /* gap調整 */
    .successfee-section.successfee-section--gap-large .successfee-section__inner {
        gap: 24px;
    }

    .successfee-section.successfee-section--gap-xlarge .successfee-section__inner {
        gap: 32px;
    }
}
