/* layout.css - セクション・コラム・スペーサー */

.sec_tmpl_green .tmpl_archive_navi a {
    border: 1px solid var(--c-brand-800);
    background-color: var(--c-text-invert)
}

.sec_tmpl_green .tmpl_archive_navi a.current {
    background-color: var(--c-brand-800);
    color: var(--c-text-invert)
}

.sec_tmpl_block {
    padding: 75px 0 80px;
    position: relative;
    z-index: 1
}

@media only screen and (max-width: 768px) {
    .sec_tmpl_block {
            padding: 3.5rem 0 5rem
        }
}

.sec_tmpl_block+.sec_tmpl_block {
    padding-top: 10px
}

@media only screen and (max-width: 768px) {
    .sec_tmpl_block+.sec_tmpl_block {
            padding-top: .5rem
        }
}

.sec_tmpl_block.sec_tmpl_green {
    padding-top: 75px
}

@media only screen and (max-width: 768px) {
    .sec_tmpl_block.sec_tmpl_green {
            padding-top: 3.5rem
        }
}

.sec_tmpl_block.sec_tmpl_green::after {
    content: " ";
    display: block;
    width: 100svw;
    height: 100%;
    background-color: var(--c-brand-50);
    position: absolute;
    top: 0;
    left: 50%;
    margin-left: -50svw;
    z-index: -1
}

.sec_tmpl_block.sec_tmpl_green+.sec_tmpl_block {
    padding-top: 75px
}

@media only screen and (max-width: 768px) {
    .sec_tmpl_block.sec_tmpl_green+.sec_tmpl_block {
            padding-top: 3.5rem
        }
}

.sec_tmpl_block.sec_tmpl_bg {
    padding-top: 75px
}

@media only screen and (max-width: 768px) {
    .sec_tmpl_block.sec_tmpl_bg {
            padding-top: 3.5rem
        }
}

.sec_tmpl_block.sec_tmpl_bg::after {
    content: " ";
    display: block;
    width: 100svw;
    height: 100%;
    background-color:var(--c-bg-alt);
    position: absolute;
    top: 0;
    left: 50%;
    margin-left: -50svw;
    z-index: -1
}

.sec_tmpl_block.sec_tmpl_bg+.sec_tmpl_block {
    padding-top: 75px
}

@media only screen and (max-width: 768px) {
    .sec_tmpl_block.sec_tmpl_bg+.sec_tmpl_block {
            padding-top: 3.5rem
        }
}

.sec_tmpl_block p {
    margin: 10px 0
}

.sec_tmpl_block .tmpl_section_lead {
    margin: 20px 0 30px
}

@media only screen and (max-width: 768px) {
    .sec_tmpl_block .tmpl_section_lead {
            margin: 1rem 0 2rem
        }
}

.sec_tmpl_block .tmpl_sub_section:last-of-type {
    margin-bottom: 0
}

.sec_tmpl_block .tmpl_sub_section .tmpl_sub_section:last-of-type {
    margin-bottom: 0
}

.tmpl_sub_section {
    margin: 50px 0
}

@media only screen and (max-width: 768px) {
    .tmpl_sub_section {
            margin: 3rem 0
        }
}

.tmpl_sub_section .tmpl_sub_section {
    margin: 35px 0
}

@media only screen and (max-width: 768px) {
    .tmpl_sub_section .tmpl_sub_section {
            margin: 2rem 0
        }
}

.tmpl_columns {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start
}

.tmpl_columns--btns {
    flex-wrap: wrap
}

@media only screen and (max-width: 768px) {
    .tmpl_columns--btns {
            display: block
        }
}

.tmpl_columns--btns>* {
    margin: 0 24px 24px 0
}

@media only screen and (max-width: 768px) {
    .tmpl_columns--btns>* {
            margin: 0 0 1rem
        }
    .tmpl_columns--btns>*:last-child {
            margin-bottom: 0
        }
}

.tmpl_columns--3 {
    flex-wrap: wrap;
    align-items: stretch
}

@media only screen and (max-width: 768px) {
    .tmpl_columns--3 {
            display: block
        }
}

@media only screen and (min-width: 769px) {
    .tmpl_columns--3>* {
            width: 31.6666666667%;
            margin: 30px 2.5% 0 0
        }
    .tmpl_columns--3>*:nth-child(-n/**/+3) {
            margin-top: 0
        }
    .tmpl_columns--3>*:nth-child(3n) {
            margin-right: 0
        }
}

@media only screen and (max-width: 768px) {
    .tmpl_columns--3>* {
            margin: 0 0 2rem
        }
    .tmpl_columns--3>*:last-child {
            margin-bottom: 0
        }
}

.tmpl_columns--3_wide {
    flex-wrap: wrap;
    align-items: stretch
}

@media only screen and (max-width: 768px) {
    .tmpl_columns--3_wide {
            display: block
        }
}

@media only screen and (min-width: 769px) {
    .tmpl_columns--3_wide>* {
            width: 30%;
            margin: 30px 5% 0 0
        }
    .tmpl_columns--3_wide>*:nth-child(-n/**/+3) {
            margin-top: 0
        }
    .tmpl_columns--3_wide>*:nth-child(3n) {
            margin-right: 0
        }
}

@media only screen and (max-width: 768px) {
    .tmpl_columns--3_wide>* {
            margin: 0 0 2rem
        }
    .tmpl_columns--3_wide>*:last-child {
            margin-bottom: 0
        }
}

.sec_tmpl_green .tmpl_style_card {
    border: 0
}

.sec_tmpl_green .tmpl_style_card:has(.tmpl_thum) {
    border: 1px solid var(--c-brand-800)
}

.sec_tmpl_green .tmpl_style_largecard {
    border: 0
}

/* ============================================================
   インラインstyle代替: スペーサー
   ============================================================ */
.tmpl_spacer_30 {
    height: 30px;
}

.tmpl_spacer_40 {
    height: 40px;
}
