@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD JCCCA
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/


/* エディター用 */
@import url(./css/editor_style.css);


/* 開発時用 */
/* 使える素材 */
@import url(./style_sozai.css);
@import url(./style_manabi.css);

:root {
    --article_size: 1100px;
    --logo_size_pc: 53px;
    --logo_size_pcfix: 53px;
    --logo_size_sp: 60px;
}


.l-header__menuBtn {
    color: #fff;
    background-color: #01a3e8;
}


@media screen and (min-width: 600px) {
    :root {
        /*         --swl-fz--content: 17px; */
    }
}

a {
    text-decoration: none;
}





body {
    background-color: #fff;
}

@media (min-width: 960px) {
    .l-content .alignfull {
        left: calc(50% - 50vw);
        width: 100vw;
    }
}


.home .l-mainContent__inner>.post_content {
    margin-top: 0;
}

#breadcrumb {
    background: none;
    box-shadow: none;
}

.home #content.l-content {
    padding-top: 0;
}

@media (min-width: 600px) {
    #content.l-content {
        padding-top: 4em;
    }
}


/* グローバルメニュー
*******************************************************************/


/*
グリッドによる2段メニュー
*/

@media (min-width: 960px) {

    .l-header__inner {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: repeat(2, 1fr);
        grid-column-gap: 0px;
        grid-row-gap: 0px;

        &.l-container {
            max-width: none;
            padding-right: 24px;
            padding-left: 24px;
        }

        &>.l-header__logo {
            grid-area: 1 / 1 / 3 / 2;
        }

        &>.w-header {
            grid-area: 1 / 2 / 2 / 3;
            font-size: clamp(9px, 1vw, 14px);
        }

        &>nav {
            grid-area: 2 / 2 / 3 / 3;
        }
    }


}





/*
ロゴ
*/

@media (min-width: 600px) and (min-width: 960px) {
    .-series .c-headLogo {
        min-width: 200px;
    }
}

@media (min-width: 960px) {
    .-series .l-header__logo {
        margin-right: 0;
        padding: 10px 0;
    }
}


/*
header
*/


@media (min-width: 960px) {
    #header {
        width: calc(100% - 5%);
        margin: 15px auto 0;
        display: flex;
        align-items: center;
        /* background-color: rgba(255, 255, 255) !important; */
        border-radius: 10px;
        padding: 10px 0;
        box-shadow: none;

        /* 		    font-family: 'M PLUS Rounded 1c', sans-serif; */
        letter-spacing: 0;

        max-width: 1500px;
        -webkit-backdrop-filter: blur(65px);
        backdrop-filter: blur(65px);

        &.l-header {
            background: none;
        }

        & .l-header__inner {
            &>.w-header {
                display: block;

                & .p-blogParts {
                    width: fit-content;
                    margin: 5px 0 0 auto;
                    /*z-index: 2;*/

                    & p {
                        line-height: 1;
                        margin-right: 0.7em;
                        padding-right: 0.5em;
                        border-right: 1px solid #ccc;

                        & i:not(i.fa-youtube) {
                            vertical-align: middle;
                            margin: 0 0.4em 0 0;
                        }

                        & i.fa-youtube {
                            transform: translateY(-2px);
                        }
                    }
                }
            }

            &>nav {}
        }
    }
}



/*
グローバルメニュー・メガメニュー
*/


@media (min-width: 960px) {
    .c-gnav {
        >.menu-item {
            & a .ttl {
                font-weight: 600;
                color: #444;
                font-size: clamp(10px, 1vw, 17px);
                letter-spacing: 0.01em;
                margin-right: 2em;

                &::after {
                    font-family: "Font Awesome 5 Free";
                    content: '\f107';
                    font-weight: 900;
                    margin-left: 0.3em;
                }
            }

            & a {
                padding: 0 0.2em;
            }

            & a:empty {
                display: none;
            }

            & a:hover .ttl {
                color: #444;
            }

            &.-current>a .ttl {
                color: #fff;
                font-weight: normal;

            }

            &:hover a .ttl {
                /*                 transform: translateY(5px); */
            }
        }

        & .sub-menu>li a:has(span:empty) {
            display: none;
        }

        & .sub-menu>li a:has(span:empty):before {
            display: none;
        }



    }
}


.global-menu-child a {
    margin-left: 1em !important;
}


/*
ヘッダー固定
*/

@media screen and (min-width:960px) {

    /* 常時表示のフィックスヘッダーを非表示にする　*/
    .l-fixHeader {
        display: none !important;
    }

    /* 通常のヘッダーをトップに固定する　ヘッダーの高さ指定*/
    .l-header {
        position: sticky;
        position: -webkit-sticky;
        top: var(--swl-adminbarH, 15px);
        z-index: 10;

    }
}







/* メガメニュー
*******************************************************************/

.parent-menu,
.single-menu {
    position: unset !important;

    & ._mi._image {
        width: 20px;
    }

}

#header .parent-menu .sub-menu {
    width: 100vw;
    /* height: calc(100vh - 120px - 10em); */
    right: 0;
    background: none;
    /* background-color: red; */
    /*background-color: rgba(255, 255, 255, 0.5);*/

    box-shadow: 0px 0px 10px 20px rgba(255, 255, 255, 0.8);
    box-shadow: none;
    /* border-bottom: 1px solid #eee; */

    /*height: 100vh;*/
    padding: 1em 0 2em;

    /* 	border-top:1px solid #eee; */
    &::after {
        /* position: absolute;
        bottom: -3em;
        font-family: "Font Awesome 6 Free";
        font-weight: 900;
        content: "\f057  メニューを閉じる";
        color: #666;
        text-align: center;
        width: 100%;
        pointer-events: none;
        display: block;
        cursor: pointer; */
    }

    & li {
        list-style: none;
    }

    & .p-blogParts.post_content {
        max-width: 1200px;
        margin: 0 auto;
        padding: 2em;
    }

    & .mega-menu-link-arrow {
        position: relative;
        padding-left: 1em;
        margin-left: -1em;

        &::after {
            /* font-family: "Font Awesome 5 Free";
            content: '\f061';
            font-weight: 900;
            position: absolute;
            right: 0.6em;
            color: #01A3E8; */
        }

        &:hover {
            /* background-color: #ddf1ff;
            border-radius: 1em; */
        }
    }

    & .wp-block-columns~.wp-block-columns {
        /* border-top: 1px solid #ccc; */
        margin-top: 2em;
        ;
    }

    & .has-large-font-size {
        font-weight: bold;
    }

    & .wp-block-list {
        padding-left: 0;

        & li {
            margin-left: 0;
            margin-bottom: 0.1em;
            padding: 0.4em 0.8em;
            border-bottom: 1px solid rgba(204, 204, 204, 0.64);
            cursor: pointer;

            &:not(:has(a)) {
                /* padding: .75em 1em .75em 1.5em; */
                border-bottom: 1px solid var(--color_border);
            }

            &:has(a):hover {
                background-color: #ddf1ff;
                border-radius: 1em;
            }

            & a::after {
                /* font-family: "Font Awesome 5 Free";
                content: '\f061';
                font-weight: 900;
                position: absolute;
                top: 0;
                right: 0;
                color: #01A3E8;
                background: none;
                transform: none; */
            }

            & a {
                all: unset;
                display: block;
                padding-right: 1.5em;

                &:before {
                    /* display: none; */
                    content: '\f105' !important;
                    right: 18px;
                }
            }
        }
    }

    & .mininote {
        margin-left: 2em;
        font-size: 14px;
        vertical-align: middle;
    }

    & .wp-block-columns {
        gap: 1em;

        & .swell-block-column {
            /* 			margin-left: 0; */
        }

        figure {
            height: 80px;
            /* object-fit: contain; */
            display: flex;
            /* border: 1px solid #eee; */
            /* padding: 5  px;
            border-radius: 1em 0 1em 0; */

        }

        .wp-block-image img {
            object-fit: contain;
        }
    }

}



@media screen and (max-width:960px) {
    .parent-menu {
        & .sub-menu {
            width: auto;
            position: static !important;
            display: none;
        }

        & .wp-block-columns {
            gap: 1rem !important;
        }

        & .sub-menu.open {
            display: block;
            position: relative !important;
        }

        & .sub-menu-close-btn {
            position: absolute;
            right: 0;
            top: 0;
            z-index: 1;
        }


    }
}

@media screen and (max-width:960px) {
    .c-listMenu {

        & .swell-block-columns:first-child {
            padding: 0 1em 0 2em;
        }

        & li:not(:has(a)) {
            padding-top: .75em;
            padding-bottom: .75em;
            border-bottom: 1px solid var(--color_border);
        }

        & .children ul a,
        & .sub-menu ul a {
            padding-left: 0;
            transition: none;
            background-color: #ddf1ff;
            border-radius: 1em;
            padding-left: 1em;

            &::before {
                left: auto !important;
                content: '\f105' !important;
            }

            &:hover {
                padding-left: 1em;
            }

        }

        .wp-block-list {
            list-style: none;
            margin: 0;
            padding-left: 0;

            & li {
                padding-left: 0;
                margin-bottom: 0.3em;
            }
        }
    }


}

@media screen and (max-width:768px) {
    .c-listMenu {

        .wp-block-column:nth-child(1) {
            display: none;
            flex-basis: 100% !important;
        }
    }
}



/*　メガメニュー展開時 */

.c-gnav>.menu-item:hover>.sub-menu {
    transition-delay: 0.2s;
}


#body_wrap:has(.parent-menu:hover) :is(#top_title_area, #breadcrumb, #content, #before_footer_widget, #footer),
#body_wrap:has(.parent-menu.is-active) :is(#top_title_area, #breadcrumb, #content, #before_footer_widget, #footer) {
    -webkit-filter: blur(65px);
    filter: blur(65px) opacity(0.1);
}

#body_wrap:has(.parent-menu:hover) :is(#content, #before_footer_widget, #footer) {
    transition-delay: 0.4s;
}


/*　スクロール時 */
@media (min-width: 960px) {
    html[data-scrolled="true"] {
        #header {
            padding: 5px 0;
            background-color: rgba(255, 255, 255, 0.5) !important;
        }

        & .l-header__logo {
            padding: 0;
        }

        & .w-header {
            display: none !important;
        }

        & .l-header__inner {
            display: flex !important;
        }

        & .c-headLogo {
            height: 70%;
        }
    }


}


/* スマホ　グローバルメニュー
*******************************************************************/

.-right .p-spMenu__inner {
    width: 100%;
    transform: translateX(0);
    pointer-events: none;
    transition: .3s;
    opacity: 0;
}

[data-spmenu="opened"] .-right .p-spMenu__inner {
    opacity: 1;
    pointer-events: all;
}

.p-spMenu {
    & a:empty {
        display: none;
    }
}


.l-header__menuBtn {
    border-radius: 100%;
    margin: 5px 5px 5px 0;
    aspect-ratio: 1;
}


.c-listMenu a:has(span:empty):before {
    display: none;
}

.c-gnav .sub-menu a:before,
.c-listMenu a:before {
    left: auto;
    right: 12px;
    font-family: "Font Awesome 5 Free" !important;
    content: '\f107';
    font-weight: 900;
}

.sub-menu.open {
    padding-top: 1.5em;
}

.c-listMenu .parent-menu a:hover {
    background: none;
}

.parent-menu:has(.sub-menu.open)>a {
    /* background-color: var(--swl-color_hov_gray); */
    font-weight: bold;
}

.parent-menu:has(.sub-menu.open)>a:before {
    content: '\f00d';
}

.sub-menu-close-btn {
    display: none;
}

.c-widget__title.-spmenu {
    border-radius: 2em;
}


.spmenu_bottom {
    display: none;
}


/* フッター
*******************************************************************/

.l-footer {
    background-color: #fff;
    color: #000;
}

.l-footer__nav {
    display: none;
}

@media (min-width: 960px) {
    .l-container.w-footer {
        max-width: 100% !important;
        padding: 0;
        margin: 0;
    }

    .w-footer__box {
        padding: 0;
    }

    .l-footer__widgetArea {
        padding: 0;
    }
}


/* スライドインパネル
*******************************************************************/


.top #side-slidein {
    display: none;
}

@media (max-width: 960px) {
    #side-slidein {
        display: none;
    }
}


#side-slidein {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 2;

    /*background-color: rgba(255, 255, 255, 0.8);
    -webkit-backdrop-filter: blur(65px);
    backdrop-filter: blur(65px);*/
    .side-help-btn {
        position: relative;
        display: inline-block;
        top: 100px;
        left: 0;
        width: 400px;
        height: 100px;
        background-color: #EAF9FE;
        z-index: 1;
        border-radius: 3em;
        transform: translate(-250px, 0) rotate(45deg);

        & .wp-block-group__inner-container {
            display: flex;
            align-items: center;
            justify-content: flex-end;
            height: 100%;
            margin-right: -1em;
        }

        & .wp-block-group__inner-container:not(.side-help-btn:hover .wp-block-group__inner-container) {
            font-weight: 600;
        }

        &:hover {
            width: 70%;
            height: auto;
            padding: 2em 4em 2em 300px;
            transform: translate(-50px, 100px) rotate(0);
            z-index: 5;
            box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.27);

            & .wp-block-group__inner-container {
                display: block;
            }

            & .side-help-body {
                display: block;
            }
        }

        &.side-center {
            position: absolute;
            top: 300px;
            left: 0;
            background-color: #fefaea;

            &:hover {
                /*transform: translateY(-200px);*/
            }
        }

        &.side-personal {
            position: absolute;
            top: 500px;
            left: 0;
            background-color: #edffda;

            &:hover {
                /*ttransform: translateY(-400px);*/
            }
        }

    }

    & .side-help-body {
        display: none;

    }

}

/*　メガメニュー展開時背景 */
#body_wrap:has(.side-help-btn:hover) :is(#content) {
    -webkit-filter: blur(65px);
    filter: blur(65px) opacity(0.1);
}

@keyframes blur {
    to {
        -webkit-filter: blur(65px);
        filter: blur(65px) opacity(0.1);
    }
}



@media (min-width: 960px) {
    html[data-scrolled-footer="true"] #side-slidein {
        display: none;
    }
}




.study-tool-section .swell-block-column a {
    position: relative;
    isolation: isolate;


    &:before {
        position: absolute;
        content: '';
        inset: 0;
        background: rgba(255, 255, 255, 0.8);
        border-radius: 51% 49% 51% 49% / 49% 41% 59% 51%;
        height: 100%;
        transform: scale(1.2);
        transition: .3s;
        z-index: -1;
    }

    &:hover::before {
        background: rgba(255, 255, 255, 0.95);
        transform: scale(1.3);
    }

    &:hover {

        & svg,
        & i {
            animation: bounce 0.3s ease;
        }

    }
}

@media screen and (max-width:600px) {
    .study-tool-section a {
        width: 75%;
    }

    .study-tool-section .swell-block-column:nth-child(2) a {
        margin-left: auto;
    }

    .study-tool-section .swell-block-column:nth-child(3) a {
        margin-right: auto;
    }
}


.study-tool-section .swell-block-column:nth-child(2) a {
    border-radius: 51% 49% 51% 49% / 49% 41% 59% 51%;
}

.study-tool-section .swell-block-column {
    position: relative;
    isolation: isolate;

    &:before {
        position: absolute;
        content: '';
        inset: 0;
        z-index: -1;
        /* background-image: url(/_bosys/wp-content/uploads/2025/08/asset_2.png);
        background-size: contain;
        background-position: center;
        background-repeat: no-repeat; */
        opacity: 0.1;
        transform: scale(1);
        transition: .3s;
    }

    &:hover::before {
        opacity: 0.9;
        /* bottom: -300px; */
        transform: scale(1.5);
    }


}

@media screen and (max-width:600px) {
    .home-center-section {

        & .swell-block-column:nth-child(1) {
            order: 1;
        }
    }
}



.home_post_list_checker {
    justify-content: center;
    margin-bottom: 0;
    position: relative;
    display: flex;
    align-items: center;

    /* 垂直中央揃え */
    &::before,
    &::after {
        content: "";
        flex-grow: 1;
        /* 線を両端に伸ばす */
        background: #e7e7e7;
        /* 線の色 */
        height: 1px;
        /* 線の太さ */
        margin: 0 10px;
        /* テキストとの間隔 */
    }

    & * {
        border: none !important;
    }

    & .p-postList__body {
        display: flex;
    }

    & .p-postList__title {
        font-weight: normal;
        font-size: 0.8em;
    }
}


/* ここから下は整頓中
*******************************************************************/

@media (min-width: 960px) {
    .top #content {
        padding-top: 0em;
        /* 	    margin-top: -108px; */
    }

}


/* 投稿リストのカード型とサムネイル型を4列表示にする */
@media (min-width: 960px) {
    :is(.post-list-4row) .-type-card.-pc-col3 .p-postList__item {
        width: calc(100% / 4);
    }
}

.-type-card .p-postList__item {
    margin-bottom: 1em;
    padding: 0 1em;
}

.top-mov {
    filter: sepia(0.5);
}

.w-footer__box .swell-block-columns__inner .swell-block-column * {
    cursor: pointer;
}

.c-gnav>.menu-item.is-active>.sub-menu {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
}

.swiper-home {


    padding: 2em 0 1em;
    /* margin-bottom: -100px; */
    /*     margin-top:-70px !important; */
    visibility: hidden;
    /* 要素を見えなくする（高さは保持） */
    overflow: hidden;
    /* 念のためスライドのはみ出しを防止 */

    &.swiper-initialized {
        visibility: visible;
        /* Swiperの初期化後に表示 */
        overflow: visible;
        /* 非表示のままだと両端のスライドが切れるので表示にする */
    }

    &>div {
        /* display: flex;
        align-items: center; */
    }

    & .swiper-slide {
        height: 320px;
        /* border-radius: 10px; */
        padding: 2em 4em;
        margin-bottom: 0;

        &.slide-border {
            border: 1px solid #ccc;
        }
    }




    & .swell-block-fullWide+.swell-block-fullWide {
        margin-top: 0;
    }

}

@media screen and (max-width:600px) {
    .swiper-home {

        & .swiper-slide {
            height: auto;
            padding: 1em;

            & .wp-block-column:nth-child(2) {
                order: 1;
                height: 150px;
                display: grid;
                align-items: center;

            }

            & .wp-block-column:nth-child(1) {
                order: 2;

            }
        }
    }

    .swiper-pagination {
        display: none;
    }
}


:not(.p-spHeadMenu) {

    &>.swiper-slide-next {
        opacity: 0.5;
        filter: blur(30px);
    }

    &>.swiper-slide-prev {
        opacity: 0.5;
        filter: blur(30px);
    }

}




.swiper-pagination {
    bottom: -50px !important;

}

.swiper-pagination-bullet {
    background: #ccc !important;
    opacity: 1;
    margin: 0 6px !important;

    &.swiper-pagination-bullet-active {
        background: #2859c5 !important;
    }
}

.swiper-button-next,
.swiper-button-prev {
    color: #b7b7b7 !important;
    background: none !important;
    transform: scale(2) !important;
    top: 40% !important;
    left: 102% !important;

    &:after {
        border: 0;
        font-family: "Font Awesome 5 Free";
        font-weight: 900;
        content: '\f105';
        font-size: 25px;
        transform: none !important;
        letter-spacing: 0;
        font-variant: initial;
        line-height: 1;
        text-shadow: 1px 1px 0px #fff, -1px -1px 0px #fff, -1px 1px 0px #fff, 1px -1px 0px #fff;
    }
}





.swiper-button-next {
    left: auto !important;
    right: 102% !important;

    &:after {
        content: '\f104';
    }
}




.swiper-home-nav {

    &>div {
        justify-content: center;
    }

    & p {
        font-size: 0.8em;
        margin: 0 1em;
        color: #666;
        cursor: pointer;

        &::before {
            content: '● ';
            color: #eee;
        }

    }

    & .swiper-slide-thumb-active {
        font-weight: bold;
        color: #2859c5;

        &::before {
            color: #2859c5;
        }

    }

    .swiper-slide {
        width: fit-content !important;
        margin-right: 0 !important;
    }
}

.top-copy-text {
    text-shadow: 2px 2px 4px black;
}

.prefecture strong {
    font-family: sans-serif;
    font-weight: normal !important;
    color: #333 !important;
    font-size: 9px;
}

.jmap-infobox {
    font-family: sans-serif;
    font-size: 12px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.divider-column-line .swell-block-column:not(:last-child) {
    position: relative;

    &::before {
        content: '';
        position: absolute;
        width: 1px;
        top: calc(50% - 125px);
        height: 250px;
        right: calc(var(--swl-clmn-mrgn--x) / 2 * -1);
        border-right: 1px dotted #d3d3d3;

    }

}

.wp-block-tiptip-hyperlink-group-block {
    /* padding: 0.5em 1em; */

    &:hover {
        /* background: #aedaee; */
        /* background: radial-gradient(circle, rgba(174, 218, 238, 0.17) 0%, rgba(148, 187, 233, 0.14) 100%); */
        /* border-radius: 10px; */
    }

}

/*
& i.fa:not(#header i),
& i.fa-solid:not(#header i) {
    -webkit-font-smoothing: antialiased !important;
    -webkit-text-stroke-color: #fff !important;
    -webkit-text-stroke-width: 2px !important;
    font-size: 3em;
    vertical-align: middle;
}
*/



.mt-0 {
    margin-top: 0 !important;
}

.wp-block-media-text {
    gap: 1em;
}




.section-target.is-layout-grid {
    gap: 2em !important;

    & .is-layout-grid {
        grid-template-rows: subgrid;
        grid-row: span 3;
        container-type: unset;
    }
}

@media screen and (max-width:960px) {
    .section-target.is-layout-grid {
        padding: 0 1.5em;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media screen and (max-width:600px) {

    .section-target.is-layout-grid,
    .grid-subgrid.is-layout-grid {
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }
}

@media screen and (max-width:960px) {
    .swell-block-column {
        padding: 0 !important;

        & p:first-child {
            line-height: 1.2 !important;
        }
    }
}

/* リリース時にウィジェット削除
	フッター直前：[blog_parts id="23922" title="関連リンクバナー"] */

.page-footer-banner {
    display: none;
}

/* single-demopageの設定 */

#body_wrap.single-demopage {

    & .p-articleMetas {
        display: none;
    }

    &.home {

        & #breadcrumb,
        & .p-articleHead,
        & .p-articleFoot,
        & #after_article {
            display: none;
        }
    }

}


.icon-folder:before,
.c-categoryList:before {
    content: none;
}

.p-postList__cat {
    background: #CF9546;
    color: #fff;
    padding: 0.3em 0.5em 0.1em;
    border-radius: 3px;
    opacity: 1;
}

.p-postList__cat[data-cat-id="4"],
.c-categoryList__link[data-cat-id="4"] {
    background: #CF9546;
}

.p-postList__cat[data-cat-id="1"],
.c-categoryList__link[data-cat-id="1"] {
    background: #849271;
}

.p-postList__cat[data-cat-id="3"],
.c-categoryList__link[data-cat-id="3"] {
    background: #C67052;
}

.p-postList__cat[data-cat-id="#"],
.c-categoryList__link[data-cat-id="#"] {
    background: #C1AE8D;
}




/* フォーム関連 */

form.select {
    background-color: #ccc;
    border-radius: 4px;
    padding: 15px;
    margin-bottom: 1rem;

}



@media (min-width: 960px) {
    form.select {
        display: flex;

    }
}


form.select input,
form.select select,
form.select button {
    background-color: #fff;
    height: 2.5rem;
    margin-right: 0.5rem;
    border-radius: 4px;

}

form.select select {
    max-width: 150px;
}

form.select div {
    margin: 5px;
}

form.select div:last-child {
    margin-left: auto;
    white-space: nowrap;
}


form.select button {
    border-bottom: 5px solid #989898;
    vertical-align: middle;
}

form.select button:hover {
    border-bottom: 2px solid #989898;
}

form.select button[type="submit"] {
    background-color: rgba(70, 70, 70, 1);
    padding-left: 1rem;
    padding-right: 1rem;
    color: #fff;
    border-bottom: 5px solid #212121;
}

form.select button[type="submit"]:hover {
    border-bottom: 2px solid #212121;
}

form.select .sort_type {
    margin-left: -0.5rem;
}

form.select .sort_type label {
    vertical-align: middle;
    margin-left: 1rem;

}

form.select .sort_type input {
    margin-right: 0.2rem;
    vertical-align: middle;
}

form fieldset {
    border-color: #ececec !important;
    border-style: solid !important;
}

form fieldset:has(fieldset) {
    border: none !important;

}

form fieldset:has(fieldset)>fieldset {
    margin-bottom: 1em;
    border-bottom: 0;
    border-left: 0;
    border-right: 0;

    & legend {
        padding: 0 1em;
        margin-left: 1em;
    }
}


.cf7mls-btns {
    margin-top: 1em;
}



form [type=submit] {
    background-color: #ffa1a1;
}

.text-center {
    text-align: center;
}

form textarea {
    width: 100% !important;
    box-sizing: border-box;
}

form span.required {
    background-color: #C67052;
    color: #FFF;
    padding: .3rem .5rem;
    font-size: .7rem;
    border-radius: 10px;
}

#body_wrap.download-form form span.required {
    display: inline-block;
    margin: 0 0 0.2rem 0.2rem;
    line-height: 1;
    vertical-align: middle;
}

.box-address input {
    margin-bottom: .5rem;
    margin-right: .5rem;
}

form .wpcf7c-conf {
    background-color: #fffce0;
}

.post_content div.box-licence-new {
    height: 400px;
    overflow-y: auto;
    margin-bottom: 2rem !important;
}

.post_content form h4:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)) {
    border-left: solid 2px #01a3e6;
}

/* モーダルの基本設定：最初は非表示にする */
#modal-1 {
    display: none;
}

/* モーダルが開いている時（MicroModalがこのクラスを付与します） */
#modal-1.is-open {
    display: block;
}

/* 1. モーダル全体（最初は隠す） */
.modal {
    display: none;
}

.modal.is-open {
    display: block;
}

/* 2. 背景の黒幕（オーバーレイ） */
.modal__overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.7);
    /* ここで背景の暗さを調整 */
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1000;
}

/* 3. ★重要★ 白いボックス（コンテナ） */
.modal__container {
    background-color: #ffffff;
    /* 強制的に白にする */
    padding: 30px;
    max-width: 500px;
    width: 90%;
    max-height: 90vh;
    border-radius: 4px;
    overflow-y: auto;
    box-sizing: border-box;
    color: #333;
    /* 文字色を濃いグレーに */
    position: relative;
    /* ボタンの配置基準 */
}

/* 4. 右上の閉じるボタン（×）の装飾 */
.modal__close {
    background: transparent;
    border: 0;
    cursor: pointer;
    position: absolute;
    top: 15px;
    right: 15px;
}

.modal__close:before {
    content: "\2715";
    font-size: 20px;
}

/* ×印を表示 */

/* モーダル内のタイトル */
.modal__title {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    color: #7b7b7b;
    font-size: 1em !important;
    font-weight: normal !important;
    /* タイトルを青色に */
}




#after_article {
    display: none;
}