@charset "UTF-8";
/* CSS Document */
html{
    font-size:14px;
    background:#6a7982;
}
body.fixed{
    position:fixed;
    width:100%;
}
#site-header-container,
main,
footer{
    z-index: 1;
}

/* UIs
----------------------- */
/* component 
短い間隔で複数回クリックしても文字選択されない */
.toggle_label{user-select: none; -moz-user-select: none; -webkit-user-select: none; -ms-user-select: none;}

/* container
----------------------- */
.container{
    padding:0 var(--contents-side-space); 
    margin:0 auto; 
    max-width:var(--container-max-width); 
    box-sizing:content-box
}
main .container{
    max-width:1000px;
}
main #content_header .container,
main #content_nav .container{
    max-width:var(--container-max-width);
}
.container.full{
    padding:0; 
    max-width:100%
}
.container.al_center{
    text-align:center;
}

/* by device 
------------------------*/
.sp_hide{
    display:none
}

/* button large wrapper 
------------------------*/
.btn_lg_wrapper.contents_end{
    margin-top:var(--contents-area-top-space);
}

/*
=====================================

    HEADER

=====================================
*/
body{padding-top:55px;}
/* site header
-----------------------*/
#site_header{position:fixed; z-index:999; top:0; width:100%; background:#fff; border-bottom:solid 3px var(--color-primary);}
    #site_header > .container{display:flex; justify-content: space-between; align-items:center; padding:0 var(--contents-side-space);}
        #site_header h1{height:55px; margin:0; padding:0.5rem 0; line-height:0;}
            #site_header h1 a{text-decoration:none}
                #site_header h1 img{width:auto; height:100%;}
/* toggle
-----------------------*/
#site-header-container .toggle_label.drawer{display:inline-block width:36px;font-size:36px; margin:0;}
#site-header-container .toggle_label.drawer.open{position:fixed;right:var(--contents-side-space); top:10px;z-index:1000;}
/* navigation
-----------------------*/
#h_nav_container{width:80%; max-width:320px; height:100vh; background:#fafafa; padding:0 0 var(--contents-area-bottom-space);}
    .hnav_close_wrapper{text-align:right; padding:5px var(--contents-side-space);}
    #h_nav_container #header_nav{height:100%; overflow-y:auto;}

/* navigation menu 
------------------------*/
#header_nav .snav{padding:0 1.5em; margin-bottom:var(--contents-area-bottom-space);}
    #header_nav .container{padding:0;}
        #header_nav ul,
            #header_nav ul li{list-style:none; margin:0; padding:0;}
                #header_nav a{text-decoration:none;}
        #header_nav .container > ul{margin-bottom:2.5em;}

/* ul.main, ul.sub 
------------------------------------------*/
/* ul.main, ul.sub 共通設定 */
#header_nav ul label{display:flex; align-items:center; justify-content:space-between; padding:.5em 1.5em calc(0.5em + 1px) 1em; cursor:pointer}
#header_nav ul label:after{display:inline-block; width:.9em; height:.9em; border-top:solid 2px; border-right:solid 2px; transform:rotate(135deg); content:' '; margin-top:-.25em}
    #header_nav ul ul a{display:flex; align-items:center; justify-content:flex-start; padding:.5rem 2rem .5rem 1.5rem}
    #header_nav ul ul a:before{display:inline-block; width:.5em; height:.5em; border-top:solid 2px; border-right:solid 2px; transform:rotate(45deg); content:' '; margin-right:10px}

/* .mainnav -> ul.main */
#header_nav .mainnav ul.main{border-top:solid 2px #bbb; border-bottom:solid 1px #bbb}
    #header_nav .mainnav ul.main label{border-top:solid 1px #bbb; background:var(--element-bg-color)}
    #header_nav .mainnav ul.main label:after{color:var(--color-primary)}
        #header_nav .mainnav ul.main ul a{background:var(--element-bg-light-color)}

/* .nav -> ul.sub */
#header_nav .snav ul.sub{border-radius:5px; overflow:hidden}
    #header_nav .snav ul.sub label{color:var(--element-bg-color); background:var(--color-primary); border-bottom:solid 1px; padding-top:.85rem; padding-bottom:1rem}
    #header_nav .snav ul.sub li:last-child label{border-bottom:none}
    #header_nav .snav ul.sub ul a{background:var(--element-bg-color)}

/* .snav -> ul.contact 
------------------------*/
#header_nav ul.contact{margin:0 1.5em 2.5em; text-align: center;}
    #header_nav ul.contact a{display:inline-flex; align-items:center; justify-content:center; width:auto; background:var(--element-bg-color); border-radius:5px; padding:5px 20px; border:solid 1px #ccc; margin:auto;}
    #header_nav ul.contact a:before{display:inline-block; width:2rem; height:2rem; border-radius:50%; background-color:#fff; color:var(--color-primary); margin-right:5px; padding-top:4px; font-family:var(--icons-font-family); content:'\e158'; font-size:1.4rem; line-height:1; font-variation-settings:'FILL' 0,'wght' 100,'GRAD' 0,'opsz' 24;} 

/* .snav -> .search
------------------------*/
#header_nav .search_wrapper{width:100%;}


/*
=====================================

    MAIN

=====================================
*/

/*-----------------------------------
    TOP page
------------------------------------*/
main.toppage{
    font-size:13px;
}
/* TOP ::: contents wrapper 1st
------------------------------------ */
#top_first_wrapper{
    background:#c8dcf0 url(../images/top_bg_m.jpg) 50% -1px no-repeat;
    background-size:1000px auto;
    padding-top:var(--contents-area-top-space);
    padding-bottom:164px;
}
/* TOP : introduction */
#top_lead{
    color:#fff;
    margin-bottom:calc( var(--contents-area-top-space) * 1.75 );
    h2{
        font-size:2.5em;
        font-weight:500;
        margin-bottom:0.8em;
        text-shadow: 0 0 5px #113, 0 0 10px #446;
    }
    p{
        font-size:1.25em;
        margin-bottom:0 !important;
        line-height: 2.2;
        text-shadow: 0 0 3px #113,  0 0 7px #133, 0 0 12px #446;
    }
    .btn_wrapper{
        margin-top:3em;
    }
    .btn_lg{
        box-shadow:0 0 10px -2px #446;
        background:rgba(255, 255, 255, 0.85);
    }
}
/* TOP : pickup */
#top_selected_info{
    position:relative;

    .pickup_swiper{
        margin-bottom:36px;       
    }  
    .swiper.pickup_swiper{
        margin-bottom:58px !important;
    }  
    h3{
        display:none;
    }
    ul, li{
        list-style:none;
        margin:0;
        padding:0;
    }
    ul{
        text-align:center;
    }
    li{
        width:100%;
        max-width:620px;
        margin:auto;
    }
    li a{
        text-decoration:none;
        background:#fff;
        margin:0 auto;
        display:flex;
        position:relative;
        opacity:0.6;
    }
        li a:before{
            display:block;
            width:0;
            height:0;
            padding-top:24.193%;
            content:' ';
        }
    li.swiper-slide-active a{
        opacity:1;
    }
        li.swiper-slide-active a:hover{
            opacity:0.7;
        }
        li.swiper-slide-active a:after{
            display:block;
            width:100%;
            height:100%;
            content:'';
            border:solid 4px var(--color-primary);
            position:absolute;
        }
        /* バナー画像がある場合 */
        li a img{
            width:100%;
            height:auto;
            max-height:150px;
        }
        /* バナー画像がない場合 */
        li a .text{
            width:100%;
            text-align:center;
            padding:1em;
            display:flex;
            flex-direction:column;
            justify-content:center;
            align-items:center;
        }
        li a .text .dtl_link{
            width:auto;
            background:var(--color-primary);
            color:#fff;
            line-height: 1;
            padding:7px 20px 9px;
        }
    .swiper-button-prev{
        left:5px;
    }
    .swiper-button-next{
        right:5px;
    }
    .swiper-pagination{
        top:100%;
    }    
}
/* TOP : 最新情報 */
#top_latest_info{
    background: rgba(255, 255, 255, 0.9);
    border-radius:5px;
    padding:2.3125em 1.875em;
    position:relative;
    h3{
        font-size:22px;
        line-height: 1;
        border-bottom:solid 3px var(--color-primary);
        padding-bottom:0.75em;
        margin-bottom:0.75em;
    }
    table{
        margin:0 ;
        width:100%;
    }
    tr{
        display:block; 
        border-bottom:solid 1px;
        padding:10px 0;
        margin-top:-7px;
    }
    tr:first-child{
        padding:0 0 10px;
    }
    td{
        vertical-align:top;
        padding:0;
    }
    tr > td:first-child, tr > td:nth-child(2){
        display:inline-block;
        white-space:nowrap;
    }
    tr > td:nth-child(2){
        text-align:center;
    }
    tr > td:last-child{
        display:block;
        font-weight:500;
    }
    .top_latest_list_link{
        position:absolute;
        top:2.8125em;
        right:1.875em;
        display:flex;
        align-items:center;
    }
    .top_latest_list_link:before{
        font-family:var(--icons-font-family);
        content:'chevron_right';
        color:var(--color-primary);
        padding:4px 3px 0 0;
        line-height: 0.5;
    }
    .top_latest_list_link a{
        color:var(--color-primary);
        line-height:1;
    }
}
/* TOP : 新規参加団体 */
#top_new_commer{
    text-align:center;
    margin-top:5em;
    h3{
        margin-bottom:1.67rem;
    }
    ul, li{
        list-style:none;
        margin:0;
        padding:0;
    }
    ul{
        display:flex;
        gap:0;
        /*margin:0 -7px;*/
    }
    li{
        width:144px;
        padding:0 7px;
        display:flex;
    }
    li a{
        text-decoration:none;
        display:block;
        padding:1rem 0.25rem;
        background:#fff;
        border-radius:5px;
    }
    li a h4{
        font-size:1em;
        font-weight:400;
        text-align:center;
        display:flex;
        justify-content:center;
        align-items:center;
        height:2.4em;
        margin-bottom:0;
    }
    li a img{
        width:100%;
        height:auto;
    }
    .target{
        color:var(--color-secondary);
        text-align:center;
        margin-top:10px;
        line-height: 1;
    }
    .year{
        color:#fff;
        background:var(--color-secondary);
        font-size:1.25em;
        font-weight:400;
        display:inline-block;
        padding:0.2em 1.5em 0.3em;
        margin-top:0.3em;
        border-radius:2em;
    }
    .btn_wrapper{
        margin-top:2.2rem;
    }
    .swiper-pagination{
        position:static;
    }    
    /* swiperが有効でない場合 */
    .swiper.new_swiper:not(.swiper-initialized)  ul{
        justify-content:center;
    }
    .swiper.new_swiper:not(.swiper-initialized) .swiper-button-next,
    .swiper.new_swiper:not(.swiper-initialized) .swiper-button-prev,
    .swiper.new_swiper:not(.swiper-initialized) .swiper-pagination{
        display:none !important;
    }
}
/* TOP ::: contents wrapper 2nd
------------------------------------ */
#top_2nd_wrapper{
    background:#dbebf5;
    padding-bottom:120px;
}
/* TOP : メリット */
#top_merit{
    position:relative;
    top:-3rem;
    ul, li{
        list-style:none;
        margin:0;
        padding:0;
    }
    ul{
        display:flex;
        flex-wrap:wrap;
        justify-content:space-around;
        background:url(../images/top_merit_bg.png) center center / auto 100% no-repeat;
    }
    li{
        width:auto;
        line-height: 1.5;
        display:flex;
        justify-content: center;
        align-items:center;
    }
    a{
        text-decoration:none;
        color:#fff;
        display:inline-flex;
        align-items:center;
        padding:1.5rem 1rem; 
    }
    a .tonic{
        font-size:1.5em;
    }
    a:after{
        display:inline-block;
        width:35px;
        height:2.75rem;
        background:url(../images/top_merit_arrow.png) right center / auto 100% no-repeat;
        content:'';
    }
}
/* TOP : 数字で見る */
#top_data{
    margin-bottom:140px;
    h3{
        text-align:center;
        margin-bottom:2rem;
    }
    ul, li{
        list-style:none;
        margin: 0;
        padding:0;
    }
    ul{
        text-align:center;
        /*
        display:flex;
        justify-content:center;
        flex-wrap:wrap;
        gap:50px;
        gap:10px;
        */
    }
    li{
        width:310px;
        max-width:100%;
        background:rgba(255, 255, 255, 0.8);
        border-radius:10px;
        padding:1.875em 10px;
        padding:1em 10px;
        line-height:1;
        margin:0 auto 7px;
    }
    .num{
        display:inline-block;
        margin-top:5px;
        font-size:40px;
        font-size:3em;
        font-weight:600;
    } 
    .unit{
        display:inline-block;
        padding:0 3px;
        font-size:1.1em;
    }   
}
/* TOP : 導入事例 */
#top_cs{
    text-align:center;
    h3{
        text-align:center;
        font-size:2em;
        padding:1em 0 1.5em;
        margin:0 auto;
        border-top:solid 5px var(--color-primary);
    }
    ul,
    li{
        list-style:none;
        margin:0;
        padding:0;
    }
    ul{
        display:flex;
        justify-content:center;
        flex-wrap:wrap;
        gap:25px 11px;
        margin-bottom:3.5rem;
    }
    li{
        max-width:calc(50% - 5.5px);
        width:324px;
        height:172px;
        text-align:left;
    }
    li a{
        text-decoration:none;
        color:#fff;
        display:block;
        height:100%;
        padding:12px;
        border-radius:5px;
        overflow:hidden;
        background-size:cover;
        background-position:center center;
        position:relative;
    }
    li a:before{
        content:'';
        display:block;
        width:100%;
        height:100%;
        background:rgba(0,0,0,0.4);
        position:absolute;
        top:0;
        left:0;
        z-index:1;
    }
    li a h5,
    li a p{
        position:absolute;
        z-index:10;
        line-height:1.4;
        text-shadow: 0 0 8px #000;
        padding-right:12px;
    }
    li a h5{
        font-size:1em;
        top:12px;
    }
    li a p{
        bottom:12px;
        margin:0 !important;
    }
}
/* TOP ::: youtube wrapper
------------------------------------ */
#top_youtube_wrapper{
    background: #fff url(../images/top_youtube_bg.png);
    border-top:solid 8px #95a2a3;
    border-bottom:solid 8px #95a2a3;
    padding-top:30px;
    padding-bottom:30px;
    > .container{
        display:flex;
        justify-content:center;
        align-items:center;
        gap:15px;
    }
}
/* TOP : Youtube動画 */
#top_mov{
    .video_wrapper{
        max-width:386px;
        margin:auto;
    }
    .video_container{
        position:relative;
        width:100%;
        height:0;
        padding-top:56.25%;
    }
    .video_wrapper iframe{
        position:absolute;
        top:0;
        left:0;
        max-width:100%;
        height:100%;
    }
    .mov_caption{
        font-size:.86em;
        line-height: 1.4;
        margin-top:5px;
        padding:0 15px;
    }
}
.channel_link a{
    display:block;
    width:100%;
    max-width:366px;
    img{
        width:100%;
        height:auto;
    }
}
/* TOP ::: content wrapper ned
------------------------------------ */
#top_end_wrapper{
    background:#bececd;
    padding-top:56px;
    padding-bottom:125px;
    margin-bottom: calc( var(--contents-area-bottom-space) * -1);
}
/* TOP : アンバサダー */
#top_amb{
    margin-bottom:90px;
    h3{
        text-align:center;
        margin-bottom:2.5rem;
    }
    ul,
    li{
        list-style:none;
        margin:0;
        padding:0;
    }
    ul{
        display:flex;
        flex-wrap:wrap;
        gap:18px;
        margin-bottom:2.625em;
    }
    li{
        text-align:center;
        width:125px;
    }
    img{
        display:block;
        width:100%;
        height:auto;
        margin-bottom:5px;
    }
}
/* TOP : 推奨 */
#top_endorse{
    background:#fff;
    padding:60px 50px;
    padding:40px 30px;
    h3{
        padding-bottom:15px;
        margin-bottom:18px;
        border-bottom:solid 1px #999;
    }
    .txt p:last-child{
        margin-bottom:0;
    }
}
/* TOP : 末尾文章 */
#top_end_text{
    margin-top:45px;
}

/*-----------------------------------
    2nd　共通要素
------------------------------------*/
/* page header
-----------------------*/
#page_header{
    background: var(--color-primary); 
    color:#fff; 
    padding:2rem var(--contents-side-space); 
    text-align: center; 
    display:flex; 
    align-items: center;
}
    #page_header h1{
        margin:0 auto; 
        padding:0; 
        font-size:calc(1.15rem + 1.5vw);
    }
    #page_header h1 .font_s{
        font-size:0.8em;
    }

/* content nav
-----------------------*/
#content_nav{
    margin-bottom:var(--contents-area-top-space); 
    background:var(--element-bg-color);
}
    #content_nav > .container{
        display:flex; 
        justify-content:space-between; 
        align-items: center;
    }
        #content_nav > .container > .main{
            display:flex; 
            justify-content:space-between; 
            align-items: center; 
            flex-grow: 2;
        }
        #content_nav > .container > .toggle_label_wrapper{
            padding-left:5px;
        }

/* page path */
ul#page_path{
    margin:0;
    list-style: none;
    margin: 0 -0.5em;
    padding: 0;
    line-height:1.2em;
    min-height:calc(1.42em * 1.5);
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
}
    #page_path li{
        margin: 0 0.5em;
        padding: 0;
        display:flex;
        align-items: stretch;
    }
    #page_path li:last-child{
        padding:0;
    }
        #page_path li > span.text,
        #page_path li > a{
            display:flex;
            align-items: center;
            margin-left:0.2em;
        }
        #page_path li span.arrow{
            color:#96a5aa;
            min-width:1em;
            min-height:calc(1.414em * 1.5);
            max-height:calc(1.414em * 1.5);
            transform:scaleY(1.5);
            padding-top:calc(1.414em * 0.25);
            display:flex;
            align-items: flex-start;
            font-size: 1.6rem;
        }
        #page_path li span.arrow:before{
            display:inline-block;
            content:' ';
            width:1em;
            height:1em;
            border-top:solid 1px;
            border-right:solid 1px;
            transform: rotate(45deg);
            margin-top:0.207em;
            margin-left:-0.414em;
        }

/* components 共通 */
    #content_nav .toggle_label_wrapper label{
        display:inline-block; 
        width:2.7rem; 
        height:2.7rem; 
        line-height:2.7rem; 
        text-align:center; 
        background:#fff; 
        border-radius:1.35em; 
        margin:0;
    }

/* search */
#content_nav .contents_search{
    width:2.7rem; 
    overflow: visible; 
    position:relative;
}
    #content_nav .contents_search .target{
        position:absolute; 
        width:auto; 
        right:-10px; 
        opacity:0; 
        z-index: 1;
    }
    #content_nav .contents_search :checked ~ .target{
        opacity:1;
    }
/*#content_nav .contents_search :checked ~ .target{box-shadow: 0 20px 20px -20px  #333;}*/
#content_nav .contents_search .target form{
    position:relative;
    width:300px; 
    background:rgba(49, 50, 51, 0.98); 
    border-radius:5px;
    padding:15px 30px;
    margin:10px auto 0; 
    box-shadow: 4px 4px 15px -6px  #999;
    border-left:solid 1px #4a4a4a;
    border-right:solid 1px #4a4a4a;
    border-bottom:solid 1px #4a4a4a;
}
#content_nav .contents_search .target form:before{
    content:' ';
    position: absolute;
    top:-7px;
    right:20px;
    display:inline-block;
    width:18px;
    height:18px;
    background:rgba(49, 50, 51, 0.98); 
    border-radius:3px;
    transform:rotate(45deg);
}
#content_nav .contents_search .target .search_wrapper{
    width:100%;
}

/* content_menu は最新情報に記載 */

/* refine-items
-----------------------*/
.refine_items{
    position:relative; 
    background:var(--element-bg-color); 
    border-radius:10px;
    overflow:hidden;
    margin-bottom:var(--main-content-bottom-margin);
}
    .refine_items .component .toggle_label_wrapper{
        text-align:center;
    }
        .refine_items .component .toggle_label.open{
            cursor:pointer;
        }
        .refine_items .component .toggle_label.open:after{
            font-family:var(--icons-font-family);
            font-variation-settings:'FILL' 0, 'wght' 600, 'GRAD' 0, 'opsz' 24;
            font-size:1.4em;
            vertical-align:middle;
            content:'add';
            color:var(--color-primary);
            padding:0 0 3px 5px;
        }
        .refine_items .component .toggle_label.open:hover{
            opacity:.5;
        }
/* filter */
.refine_items .component#filter{
    width:50%;
    padding:.75em 0;
}
    #filter .target{
        background:var(--element-bg-light-color); 
        border-radius:5px;
        display:flex; 
        flex-direction:column; 
        justify-content:center;
        align-items:center;
    }
        #filter .target .title{
            font-weight:600; 
            font-size:1.2em; 
            margin:0 auto 1em;
        }
        #filter .target .select_wrapper{
            width:80%; 
            max-width:320px; 
            margin:5px auto;
        }
        #filter .target input[type="submit"]{
            display:inline; 
            width:80px; 
            margin:10px auto;
        }
        #filter .target label.close{
            position:absolute; 
            top:10px; 
            right:10px;
        }

/* alphabetic */
.refine_items .component.alphabetic .toggle_label_wrapper{
    width:50%;
    padding:.75em 0;
    position:absolute;
    top:0;
    right:0;
}
.refine_items .component.alphabetic :checked ~ .toggle_label_wrapper{
    background: var(--element-bg-light-color);
}
    .refine_items .component.alphabetic :checked ~ .toggle_label_wrapper .toggle_label.open:after{
        content:'keyboard_arrow_up';
    }
.refine_items .component.alphabetic .target{
    text-align:center;
    background:var(--element-bg-light-color);
}
.refine_items .component.alphabetic :checked ~ .target{
    padding:0.75em;
    max-height:7em;
}
    .refine_items .component.alphabetic .target ul,
    .refine_items .component.alphabetic .target li{
        list-style:none;
        margin:0;
    }
    .refine_items .component.alphabetic .target ul{
        display:flex;
        justify-content:center;
        align-items:center;
        flex-wrap:wrap;
        gap:8px 5px;
    }
    .refine_items .component.alphabetic .cat-item{
        padding:0 .25em;
    }
        .refine_items .component.alphabetic .cat-item a{
            /*display:inline-block;
            text-decoration:none;
            font-weight:500;
            line-height: 1.5;
            padding:0 0.5em 0.1em;
            background:#fff;
            border:solid 2px #ccc;
            border-radius:1em;*/
        }

/* sort order
-----------------------*/
.sort_order{
    padding:0.75em 0; 
    text-align:center; 
    border-bottom:solid 3px #a1a9ad; 
    margin-bottom:var(--main-content-bottom-margin);
}
.sort_order .sort_title{
    display:none;
}
    .sort_order ul{
        list-style:none; 
        padding:0; 
        margin:0; 
        display:flex; 
        justify-content:center; 
        align-items:center; 
        gap:4vw; 
        line-height: 1.2;
    }
        .sort_order li{
            padding:0; margin:0;
        }
        /*
            .sort_order a{text-decoration:none; display:flex; align-items:center;}
            .sort_order a:after{display:inline-block; content:'swap_vert'; font-family:var(--icons-font-family); color:var(--color-primary); font-size:1.1em;}
        */
            .sort_order button[type="submit"]{
                background:#fff; 
                color:var(--font-color); 
                padding:0; 
                height:auto;
            }
            .sort_order button[type="submit"]:hover{
                opacity:0.5;
            }
            .sort_order button[type="submit"]:after{
                display:inline-block; 
                content:'swap_vert'; 
                font-family:var(--icons-font-family); 
                color:var(--color-primary); 
                font-size:1.1em;
            }

/* archive page -> pager
-----------------------*/
.wp-pagenavi{
    margin-top:var(--contents-area-top-space);
    display:flex;
    justify-content:center;
    align-items:center;
}
.wp-pagenavi .pages{
    display:none;
}
.wp-pagenavi a,
.wp-pagenavi span{
    display:inline-block;
    margin:0 .25rem;
    width:1.2rem;
    height:1.2rem;
    line-height: 1.2rem;
    text-align:center;
    text-decoration:none;
}
.wp-pagenavi span.current{
    font-weight:600;
    font-size:1.2em;
    line-height: 1.3em;
    width:1.6em;
    height:1.6em;
    background:var(--element-bg-color);
    border-radius:2em;
}
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink,
.wp-pagenavi .first,
.wp-pagenavi .last{
    font-family:var(--icons-font-family);
    font-size:1.4em;
    font-weight:400;
    width:1.25em;
    height:1.25em;
    line-height:1.25em;
}

/*-----------------------------------
    参加団体　members
------------------------------------*/
/* 参加団体 ::: アーカイブページ 
-------------------------------*/
.members_csv_link{
    text-align:right;
    margin-bottom:1em;
}
    .members_csv_link a{
        text-decoration:none;
        line-height:1;
        color:var(--color-tonic);
        border:solid 1px;
        border-radius:3px;
        display:inline-flex;
        align-items:center;
        padding:1px 7px 2px;
    }
        .members_csv_link a:before{
            font-family:var(--icons-font-family);
            font-size:1.4em;
            content:'chevron_right';
        }
.member_num{
    text-align:center;
    margin-bottom:5px;
}
/* 検索結果・アーカイブタイトルの表示 */
.archive_status{
    text-align:center;
    padding:0.75em 0; 
    text-align:center; 
    border-top:solid 3px #a1a9ad;
    border-bottom:solid 1px #a1a9ad; 
    margin-top:var(--main-content-bottom-margin);
}
/* 一覧表示 */
.archive_list_wrapper.members{
    text-align:center;
}
.archive_list.members{
    display:flex;
    width:auto !important;
    max-width:980px;
    flex-wrap:wrap;
    justify-content:center;
    align-items:flex-start;
    gap:50px 19px;
    margin:auto;
}
.members.archive .post{
    font-size:15px;
    background:var(--element-bg-color);
    text-align:center;
    padding:16px 10px 26px;
    width:314px;
    max-width:100%;
    position:relative;
}
    .members.archive .post .emblem{
        position:absolute;
        top:-5px;
        left:-5px;
        width:40px;
    }
        .members.archive .post .emblem img{
            width: 100%;
            height:auto;
        }
    .members.archive .post .member_logo{
        margin-bottom:15px;
    }
        .members.archive .post .member_logo img{
            width:184px;
            max-width:100%;
            height:auto;
        }
    .members.archive .post .member_info{
        margin:0 12px;
    }
        .members.archive .member_info h4{
            font-size:18px;
            line-height:1.3;
            text-align:left;
            margin:0 0 10px;
        }
            .members.archive .member_info h4 a{
                color:var(--color-primary);
                text-decoration:none;
            }
        .members.archive .member_info ul{
            text-align:left;
            list-style:none;
            margin:0 -0.5em 12px;
            padding:0;
        }
            .members.archive .member_info li{
                /*white-space:nowrap;*/
                display:inline-block;
                line-height:1.2;
                padding:0 0.5em;
                margin:0 0 5px;
            }
        .members.archive .member_info .goal{
            color:#fff;
            background:var(--color-secondary);
            border-radius:2em;
            padding:5px 0.25em 8px;
            margin-bottom:12px;
            display:flex;
            justify-content:center;
            align-items:center;
        }
            .members.archive .member_info .goal_ttl,
            .members.archive .member_info .goal .year{
                display:inline-block;
                line-height:21px;
                height:21px;
            }
            .members.archive .member_info .goal_ttl{
                padding-top:1px;           
            }
            .members.archive .member_info .goal .year{
                font-size:21px;
            }
    .members.archive .post .recent{
        margin-bottom:12px;
        line-height:1;
    }
    .members.archive .post .cs_link a{
        display:inline-flex;
        color:var(--color-tonic);
        background:var(--element-bg-light-color);
        border:solid 1px;
        border-radius:3px;
        padding:0px 10px 1px 2px;
    }
    .members.archive .post .dtl_link a{
        display:flex;
        color:#fff;
        background:var(--color-primary);
        border-radius:3px;
        padding:8px;
        margin-top:15px;
    }
    .members.archive .post .cs_link a,
    .members.archive .post .dtl_link a{
        text-decoration:none;
        line-height:1;
        justify-content:center;
        align-items:center;
    }
        .members.archive .post .cs_link a:before,
        .members.archive .post .dtl_link a:before{
            font-family:var(--icons-font-family);
            font-size:1.4em;
            font-weight:200;
            display:inline-block;
            padding-top:2px;
        }
        .members.archive .post .cs_link a:before{
            content:'chevron_right';
        }
        .members.archive .post .dtl_link a:before{
            content:'keyboard_double_arrow_right';
            padding-right:3px;
        }
/* 参加団体 ::: 個別ページ 
-------------------------------------*/
.members.single .post_content{
    margin-bottom:var(--contents-area-top-space);
}
.members.single .post_content > div{
    margin-bottom:calc(var(--main-content-top-margin) * .75); /* 30px * 0.75 */
}
/* 参加団体 ::: 個別ページ header*/
.members.single .member_info h2{
    color:var(--font-color);
    border-bottom:solid 3px;
    font-size:1.6rem;
    padding-bottom:0.5em;
    margin-bottom:.5em;
}
.members.single .member_info dl{
    display: flex;
    flex-wrap:wrap;
    margin-bottom:.8em; /* h2の下マージンと揃える：1.8rem * 0.5em */
}
    .members.single .member_info dt{
        display:inline-block;
        width:5em;
    }
    .members.single .member_info dd{
        display:inline-block;
        width:calc(100% - 5em);
    }
    .members.single .member_info dt:last-child,
    .members.single .member_info dd:last-child{
        margin-bottom:0;
    }
/* 参加団体 ::: 団体ロゴ+URL+リボン */
.members.single .member_logo_wrapper{
    background:var(--element-bg-color);
    text-align:center;
    padding:1em;
    position:relative;
}
    /* 100%達成リボン */
    .members.single .member_logo_wrapper .emblem{
        position:absolute;
        top:-5px;
        left:-5px;
        width:47px;
        margin:0;
    }
        .members.single .member_logo_wrapper .emblem img{
            width: 100%;
            height:auto;
        }
    .members.single .member_logo{
        /*max-width:30vw;*/
        margin:0 auto 0.75em;
    }
        .members.single .member_logo img{
            width:auto;
            max-width:100%;
            height:auto;
        }
    .members.single .member_url a{
        display:inline-block;
        background: #fff;
        border:solid 1px;
        border-radius:3em;
        text-decoration:none;
        padding:1px 10px 1px 15px;
        display:inline-flex;
        align-items:center;
    }
        .member_logo_wrapper .member_url a:after{
            font-family:var(--icons-font-family);
            content:'ungroup';
            font-size:1.4em;
            line-height: 1;
            padding-left:10px;
            font-weight:200;
        }
/* 参加団体 ::: 個別ページ 目標・進捗 */
.members.single .progress{
    display:flex;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:10px;
}
    .members.single .progress > div{
        background:var(--color-secondary);
        color:#fff;
        text-align:center;
        border-radius:10px;
        padding:1.5em;
        display:flex;
        flex-direction:column;
        justify-content:center;
    }
    .members.single .progress .goal,
    .members.single .progress .achievement{
        width:100%;
    }
    .members.single .progress .milestone,
    .members.single .progress .recent_rate{
        width:calc(50% - 5px);
    }
        .members.single .progress h5{
            color:#fff;
            margin:0 0 0.25em;
            font-size:1rem;
        }
        .members.single .progress p{
            margin:0;
            line-height:1.5;
        }
        .members.single .progress table{
            margin:10px auto 0;
            width:auto;
            max-width:100%;
            overflow:scroll;
            border-top:solid 1px;
        }
        .members.single .progress td,
        .members.single .progress th{
            background: none;
            padding:3px 10px;
            border:none;
            border-bottom:solid 1px;
        }
        .members.single .goal p,
        .members.single .recent_rate p{
            font-size:1.5em;
            line-height: 1;;
            font-weight:500;
        }
/* 参加団体 ::: 個別ページ メッセージ */
.members.single .message{
    background:var(--element-bg-color);
    padding:1em;
}
/* 参加団体 ::: 個別ページ 導入事例、関連情報 */
    .members.single .member_casestudy h3,
    .members.single .related_info h3{
        margin:0;
        padding:0 0 10px;
        font-size:1rem;
        border-bottom:solid 3px;
    }
    .members.single .member_casestudy ul,
    .members.single .related_info ul{
        list-style:none;
        margin:0;
        padding:0;
    }
        .members.single .member_casestudy li,
        .members.single .related_info li{
            list-style:none;
        }
/* 参加団体 ::: 個別ページ 動画 */
.members.single .member_mov{
    background:var(--element-bg-color);
    padding:1em 2.5em;
    text-align:center;
}
    .members.single .video_wrapper{
        max-width:386px;
        margin:auto;
    }
        .members.single .video_container{
            position:relative;
            width:100%;
            height:0;
            padding-top:56.25%;
        }
            .members.single .video_wrapper iframe{
                position:absolute;
                top:0;
                left:0;
                max-width:100%;
                height:100%;
            }
    .members.single .mov_caption{
        font-size:.86em;
        line-height: 1.4;
        margin-top:5px;
    }

/*-----------------------------------
    latest 最新情報
------------------------------------*/
/* 最新情報 ::: アーカイブページ 
-----------------------------*/
/* 最新情報 ::: メニュー */
#content_nav .content_menu{
    background:rgba(49, 50, 51, 0.98); 
    color:#e0e0e1; 
}
    #latest_menu  .target{
        position:relative;
    }
    #latest_menu .content_menu_wrapper{
        padding-top:3rem;
        padding-bottom:2rem;
        font-size:13px;
        max-width:960px !important;
        margin:0 auto;
    }
    #content_nav .toggle_label_close_wrapper{
        position:absolute;
        top:var(--contents-side-space);
        right:calc(var(--contents-side-space) + 5px);
    }
        #content_nav .toggle_label_close_wrapper label{
            display:block;
            padding:0.25em;
            background:rgba(255,255,255,.2);
            border-radius:2em;
        }
        #latest_menu a{
            color:#fff;
        }
        #latest_menu h3{
            font-size:1.1rem;
            padding-bottom:15px;
            margin:0 0 1rem;
            border-bottom:solid 2px;
        }
        #latest_menu ul{
            list-style: none;
            margin:0 0 2.5rem;
            padding:0 0 0 0.25rem;
        }
        #latest_menu .latest_cats li{
            margin-bottom:1rem;
        }
        #latest_menu .latest_tags_list li{
            height:22px;
            padding:0 10px 0 0;
            display:inline-block;
            white-space:nowrap;
            margin:0 0.75em 5px 0;
            line-height: 1;
            overflow: hidden;
            position:relative;
        }
        #latest_menu .latest_tags_list a{
            height:22px;
            background:#e0e0e1;
            color:#333;
            display:inline-block;
            line-height:20px;
            padding:0 10px 0 10px;
            border-radius:2px 0 0 2px;
            text-decoration:none;
        }
        #latest_menu .latest_tags_list a:after{
            width:16px;
            height:16px;
            position:absolute;
            right:2px;
            top:calc(50% - 8px);
            display:inline-block;
            background: #e0e0e1;
            content:'';
            transform:rotate(45deg);
            border-radius:0 2px 0 0;
        }
/* 最新情報 ::: 一覧表示部分 */
.latest.archive{
    .archive_title{
        text-align:center;
        font-size:1.15rem;
        margin-bottom: var(--contents-area-top-space);
    }
    .archive_list_wrapper.latest{
        display:flex;
        flex-wrap:wrap;
        justify-content:flex-start;
        gap:45px 10px;
        max-width:960px;
        margin:0 auto;
    }

    .post{
        max-width:calc(50% - 5px);
        padding-bottom:7px;
        background:var(--element-bg-color);
        position:relative;
        a{
            text-decoration:none;
        }
        .thumb img{
            width:100%;
            height:auto;
        }
        .thumb.img_blank a{
            display:block;
            position:relative;
        }
        .thumb.img_blank a .text{
            position:absolute;
            width:100%;
            height: 100%;
            top:0;
            left:0;
            display:flex;
            align-items: center;
            justify-content:center;
            padding:1rem;
            text-align:center;
            color:#fff;
            font-size:0.85em;
            line-height: 1.4;
        }
        /*
        .thumb.img_blank{
            display:flex;
            align-items:stretch;
        }
            .thumb.img_blank .spacer{
                width:0;
                height:0;
                padding:66.6666% 0 0;
            }
            .thumb.img_blank a{
                background:#d0dae1;
                color:#686e79;
                color:#fafafa;
                display:flex;
                width:100%;
                align-items:center;
                font-size:0.8em;
                line-height: 1.4;
                padding:0.5rem 1rem 0;                
            }
        */
        .date{
            font-size:12px;
            line-height:1;
            margin:1rem 10px 0.5rem;
            font-weight:300;
        }
        h3{
            font-size:13px;
            line-height:1.3em;
            margin:0 10px 0.5rem;
            font-weight:400;
        }
        .latest_cat{
            font-size:11px;
            line-height:20px;
            height:22px;
            color:#fff;
            background:var(--font-color);
            padding:0 10px;
            position:absolute;
            top:0;
        }
            .latest_cat a{
                color:#fff;
            }
        .latest_tags{
            font-size:11px;
            line-height:20px;
            height:22px;
            overflow:hidden;
            margin:10px;
        }
            .latest_tags a{
                display:inline-block;
                background:var(--font-color);
                color:#fff;
                max-width:100%;
                padding:0 5px 0 10px;
                margin:0 10px 0 0;
                border-radius:3px 0 0 3px;
                position:relative;
            }            
                .latest_tags a:before{
                    display:inline-block;
                    width:16px;
                    height:16px;
                    content:'';
                    background:var(--font-color);
                    border-radius:0 3px 0 100%;
                    transform:rotate(45deg);
                    position:absolute;
                    right:-8px;
                    top:calc(50% - 8px);
                }         
    }
}
/* 最新情報 ::: 個別ページ 
-----------------------------------*/
main.latest.single{}
    .latest.single article.post_content{}
        .latest.single .post_content #content_header{}
            .latest.single #post_header .post_date{
                display:inline-block;
                background:var(--color-secondary);
                color:#fff;
                font-size:0.9em;
                line-height:1;
                padding:5px 30px;
                border-radius:2px;
            }
            .latest.single #post_header h2{
                margin-top:1rem;
                color:var(--font-color);
                border-bottom:solid 3px #666;
                padding-bottom:0.75em;
            }
            .latest.single .post_info{
                display:flex;
                align-items:flex-start;
                gap:30px;
                margin-bottom:2rem;
            }
                .latest.single .post_info .post_cats,
                .latest.single .post_info .post_terms{
                    display:inline-block;
                }
                .latest.single .post_terms span{
                    display:inline-flex;
                    margin-right:8px;
                    height:1.4rem;
                    overflow:hidden;
                    position:relative;
                    padding-right:0.7rem;
                }
                .latest.single .post_terms a{
                    display:inline-block;
                    background:#333;
                    color:#fff;
                    text-decoration:none;
                    height:1.4rem;
                    line-height:1.4rem;
                    padding:0 10px 0 15px;
                    border-radius:3px 0 0 3px;
                }
                .latest.single .post_terms a:before{
                    display:inline-block;
                    width:1rem;
                    height:1rem;
                    background:#333;
                    content:'';
                    transform:rotate(45deg);
                    position:absolute;
                    top:calc(50% - 0.5rem);
                    right:0.2rem;
                    z-index:0;
                    border-radius:0 2px 0 0;
                }
/*-----------------------------------
    casestudy 導入事例
------------------------------------*/
/* コンテンツナビ調整 */
.casestudy.archive .refine_items{
    text-align:center;
    margin-bottom:1.1rem;
}
.casestudy.archive #filter{
    margin-left:auto;
    margin-right:auto;
}
/* 導入事例 ::: アーカイブページ 
-------------------------------------------*/
#cs_lead,
.casestudy.archive .archive_list_wrapper{
    font-size:13px;
}
#cs_lead .dl{
    white-space:nowrap;
}
/* タグリスト部分 */
#cs_all_tags_wrapper{
    border:solid 4px #7faacd;
    border-radius:7px;
    text-align:center;
    padding:1rem;
    margin-bottom:25px;
    position:relative;
    :after{
        display:block;
        width:calc(100% - 14px);
        height:23px;
        content:'';
        background:#fff url(../images/cs_all_tags_list_l.svg) top center no-repeat;
        background-size:1070px;
        position:absolute;
        top:100%;
        left:7px;
    }
    h4{
        font-size:14px;
        margin:0 0 1rem;
        line-height: 1;
    }
}
/* タグリストのアコーディオン表示 
8行以上の場合はクラス名を付与してアコーディオン化、3行に制御（jsで実行）*/
#cs_all_tags_wrapper{
    /* 8以下の場合 */
    .toggle_wrapper,
    input{
        display:none;
    }
}
#cs_all_tags_wrapper.component.accordion{
    /* 8行以上の場合 */
    .toggle_wrapper{
        display:block;
        margin:0.5rem 0 -0.25rem;
        color:var(--color-primary);
        font-size:14px;
        background:#fff;
    }
    .toggle_wrapper label{
        text-decoration: underline;
        cursor:pointer;
    }
    input ~ .target.cs_tags_list{
        max-height:7.5em;  /* 3行分の高さ */
        opacity:1;
    }
    input:checked ~ .target.cs_tags_list{
        max-height:2000px; 
    }
    input ~ .toggle_wrapper .opened{
        display:none;
    }
    input ~ .toggle_wrapper .closed{
        display:inline;
    }
    input:checked ~ .toggle_wrapper .opened{
        display:inline;
    }   
    input:checked ~ .toggle_wrapper .closed{
        display:none;
    }   
}
/* タグリスト設定（post繰り返し部分でも使用） */
ul.cs_tags_list{
    list-style:none;
    margin:0 -0.25em -0.5em;
    padding:0;
    line-height:1;    
    li{
        margin:0 0.25em;
        padding:0 0 0.5em;
        display:inline-block;
        /* liの高さ：aの高さ2em +liの下余白 : 0.5em = 2.5em */
    }
        a{
            text-decoration:none;
            display:inline-block;
            background:#374950;
            color:#fff;
            border-radius:2em;
            padding:0.4em 1em 0.6em;
            /* aの高さ：2em */
        }
}
/*アーカイブタイトル*/        
.casestudy.archive .archive_title{
    font-size:1.25em;
    margin:calc(var(--contents-area-bottom-space) / 3) auto calc(var(--contents-area-bottom-space) / 5);
    text-align:center;
    /*絞り込み検索結果*/
    .filter_result{
        display:inline-block;
        width:auto;
        margin:auto;
        text-align:left;
        span{
            display:inline-block;
            line-height: 1.4;
        }
    }
}
/* 導入事例 ::: アーカイブ一覧ループ */
.casestudy.archive .post{
    background:var(--element-bg-color);
    padding:40px 1em 25px;
    margin-bottom:10px;
    position:relative;
    .cs_data .cs_date{
        position:absolute;
        top:5px;
        right:0.75em;
        opacity:0.6;
        display:flex;
        align-items:center;
        height:35px;
        font-size:12px;
        line-height:1;
    }
    h3{
        font-size:1.25em;
        line-height:1.4;
        margin-bottom:1rem !important;
    }
    h3 a{
        color:var(--color-primary) !important;
    }
    .post_keywords{
        margin:0 0 0.5rem;
    }
    .cs_members_info{
        background: #fff;
        border-radius:5px;
        padding:0.75rem 1rem;
        margin-bottom:15px;
        h4{
            font-size:1.133em;
        }
        ul{
            list-style:none;
            margin:0 -0.5rem -0.5rem;
            padding:0;    
        }
        li{
            line-height: 1.3;
            margin:0 0.5rem 0.5rem;
            padding:0;
            display:inline-block;
        }
    }
    .cs_thumb{
        display:flex;
        justify-content:center;
        align-items:center;
        gap:10px;
        .thumb{
            width:150px;
        }
        .thumb img{
            width:100%;
            height:auto;
        }
    }
}

/* 導入事例 ::: 個別ページ 
----------------------------------------*/
.casestudy.single{
    .pdf_link{
        text-align:right;
    }
    h2.post_title{
        font-size:1.45em;
        color:var(--font-color);
        padding-bottom:0.9rem;
        margin:0.75rem 0 1.1rem;
        border-bottom:solid 4px;
    }
    .keyword_tags{
        display:flex;
        justify-content:flex-start;
        gap:0.5rem;
        padding-left:5px;
        margin-bottom:2rem;
    }
        .keyword_tags h5{
            margin:0;
            padding:0.35rem 0 0.45rem;
            line-height:1;
            white-space:nowrap;
        }
        ul.cs_tags_list{
            margin:0 -0.125rem -0.5rem;
        }
            .cs_tags_list li{
                margin:0 0.125rem 0.5rem;
            }
                .cs_tags_list a{
                    padding:0.35rem 1rem 0.45rem;
                }
    .member_info{
        background:var(--element-bg-color);
        padding:1rem 0;
        margin-bottom:2.8rem;
        text-align:center;
    }
        .member_info .member_logo{
            margin:0 auto 1rem;
            width:184px;    
        }
            .member_info .member_logo img{
                width:184px;
                height:auto;
            }
        .member_info .member_data{
            padding:0 1rem;
        }
        .member_data .header{
            display:flex;
            align-items:center;
            gap:20px;
            margin:0 0 0.5rem;
        }
            .member_data .header h4{
                color:var(--font-color);
                font-size:1.11em;
                margin:0;
            }
            .member_data .header .member_dtl a{
                font-size: 0.9em !important;
                color:var(--color-primary);
                background:rgba(255, 255, 255, 0.8);
                text-decoration:none;
                border:solid 2px #6a85aa;
                border-radius:4px;
                line-height:1;
                padding:1px 10px 4px 0px;
                letter-spacing:1px;
                display:flex;
                align-items:center;
            }
            .member_data .header .member_dtl a:before{
                font-family:var(--icons-font-family);
                content:'chevron_right';
            }
            .member_data ul{
                text-align:left;
                list-style:none;
                margin:0 -0.5rem 0.75rem;
                padding:0;
            }
                .member_data li{
                    line-height: 1.3;
                    margin:0 0.5rem 0.25rem;
                    padding:0;
                    display:inline-block;
                }
            .member_data .member_url{
                text-align:left;
            }
                .member_url a{
                    text-decoration:none;
                    background:rgba(255, 255, 255, 0.8);
                    display:inline-flex;
                    align-items:center;
                    line-height:1;
                    border:solid 2px #666;
                    border-radius: 2em;
                    padding:1px 1em 3px;
                }
                .member_url a:after{
                    content:'open_in_new';
                    font-family:var(--icons-font-family);
                    font-weight:300;
                    font-size:1.2em;
                    padding-left:5px;
                }
    .cs_imgs{
        text-align:center;
        padding:2rem var(--contents-side-space);
        background: var(--element-bg-color);
    }
        .cs_imgs .cs_img_cap{
            margin:0 0 1rem;
        }
            .cs_imgs img{
                width:100%;
                max-width:280px;
                height:auto;
                display:block;
                margin:0 auto;
            }
    .cs_text .cs_date{
        text-align:right;
    }
}

/*-----------------------------------
    contactform　お問い合わせ
------------------------------------*/
.wpcf7-form.invalid,
.wpcf7-form.sent{
    position:relative;
    padding-top:100px;
}
.wpcf7-form.invalid .wpcf7-response-output,
.wpcf7-form.sent .wpcf7-response-output{
    position:absolute;
    top:0;
}
.wpcf7-form.invalid .wpcf7-response-output,
.wpcf7-form.unaccepted .wpcf7-response-output,
.wpcf7-form.sent .wpcf7-response-output{
    margin:0;
    background:var(--element-bg-color);
    width:100%;
    border:none;
    padding:1rem 2rem;
    text-align:center;
    border-radius:10px;
    font-weight: 500;
}
.wpcf7-form.invalid .wpcf7-response-output,
.wpcf7-form.unaccepted .wpcf7-response-output{
    color:red;
}
.wpcf7-form.sent .wpcf7-response-output{
    color:var(--color-primary) !important;
}
.wpcf7-form.sent dl,
.wpcf7-form.sent .note,
.wpcf7-form.sent .btnBlock{
    display:none;
}
.wpcf7-form.unaccepted:before{
    display:block;
    content:'入力内容に問題があります。確認して再度お試しください。';
    color:red;
    font-weight:500;
    background:var(--element-bg-color);
    width:100%;
    border:none;
    padding:1rem 2rem;
    text-align:center;
    border-radius:10px;
    margin-bottom:1.5em;
}

/*-----------------------------------
    「サイト内検索」結果表示
    (index.php内のsearch部分)
------------------------------------*/
.archive.serach_result{
    & h3{
        text-align:center;
        margin-bottom:1em;
    }
    & .result{
        font-size:13px;
        padding:0 0 1rem;
        margin-bottom: 1rem;
        border-bottom:dotted 1px #999;
        display:flex;
        gap:10px;
    }
    & .result .thumb{
        width:100px;
    }
    & .result .thumb img{
        width:100%;
        height:auto;
    }
    & .result .content{
        width:calc(100% - 110px);
    }
    & .result.post,
    & .result.latesttarget{
        display:none;
    }
    & .result .post_type{
        display:inline-block;
        background:#333;
        color:#fff;
        line-height: 1;
        border-radius:3px;
        padding:3px 10px 4px;
        font-size:11px;
    }
    & .result.page .post_type{
        display:none;
    }
    & .result h4{
        margin: 0.5em 0 0.25em;
        font-size:1.05em;
    }
    & .result h4 a{
        color:var(--color-primary);
    }
    & .result p{
        margin:0;
        line-height:1.5;
    }
}


/*
=====================================

    FOOTER

=====================================
*/
footer{
    background:#6a7982;
    margin-top:var(--contents-area-bottom-space);
    color:#fff;
    font-size:.86rem;
    margin-top:var(--contents-area-bottom-space);
    a{
        color:#fff;
    }
    > .container{
        max-width:1000px;
    }
    .our_info{
        padding:30px 0;
        width:auto !important;
        margin:0 auto;
        .logo img{
            height:40px;
            width:auto;
        }    
    } 
    .links{
        display:flex;
        a{
            text-decoration:none;
        }
        ul{
            list-style:none;
            margin:0 0 1.5em;
            padding:0;
            width:auto;
            display:flex;
            align-items:center;
        }
        ul.contact{
            padding-right:15px;
            border-right:solid 1px rgba(255, 255, 255, 0.4);
            font-size:10px;
            line-height:1;
        }
        ul.sns{
            padding-left:15px;
        }
        li{
            text-align:center;
            display:flex;
            align-items:center;
            padding:0 12px; 
        }
        ul.contact .icon{
            font-size:33px;
        }
        li img.youtube{
            width:34px;
            height:auto;
        }
        li img.x{
            width:auto;
            height:25px;
        }    
    }
    .copyright{
        line-height: 1.4;
    }
    .fnav{
        display:none;
    }
}
#pagetop_wrapper{
    display:inline-block;
    position:fixed;
    right:10px;
    bottom:10px;
    z-index:90;
}
#page_top{
    text-decoration:none;
    background:#526168;
    color:#fff;
    text-align:center;
    font-size:10px;
    line-height:1;
    width:50px;
    height:50px;
    border-radius:50px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    opacity:0;
    span{
        display:block;
    }
    .icon{
        font-size:66px;
        height:0.3em;
        line-height:0.3em;
        text-align: center;
        margin:0 -0.25em 3px;
    
    }
    .txt{
        display:none;
    }    
}

/*-----------------------------------
    参加団体専用ページ
------------------------------------*/
main.mo{
    #page_header{
        background: var(--color-mo); 
    }
    /* 参加団体専用トップページ
    　　イベント・ウェビナー一覧
    　　ニュースレター一覧
    -------------------------------------*/
    .mo_content_wrapper.top{
        margin-bottom:5rem;
        h2{
            text-align: center;
            margin-top:0;
        }
    }
    .mo_content_wrapper.top#event_and_webinar,
    .mo_content_wrapper.top#mailnews,
    .mo_content_wrapper.index#event_and_webinar,
    .mo_content_wrapper.index#mailnews{
        ul{
            margin:0;
            padding:0;
            list-style: none;
        }
        li{
            margin:0;
        }
        a.link{
            text-decoration: none;
            display:block;
            position:relative;
        }
        a.link:after{
            content:'';
            display:block;
            width:1.5rem;
            height:1.5rem;
            border-top:solid 2px var(--color-mo);
            border-right:solid 2px var(--color-mo);
            position:absolute;
            right:5px;
            top:calc(50% - 0.75rem);
            transform: rotate(45deg);
        }
        .label{
            display:inline-block;
            background: var(--color-mo);
            color:#fff;
            line-height: 1;
            padding:0.4em 1em;
            text-align: center;
            border-radius:3px;
            white-space: nowrap;
        }
        h4{
            line-height: 1.4;
            font-size:1rem;
        }
        .btn_wrapper{
            margin-top:2.5rem;
        }
    }
    .mo_content_wrapper.top#event_and_webinar,
    .mo_content_wrapper.index#event_and_webinar{
        background:var(--element-bg-color);
        border-radius:5px;
        padding:3rem 1rem 5rem;
        .lead_txt{
            text-align: center;
        }
        ul{
            border-top:solid 2px #fff;
        }
        li{
            padding:0.75rem;
            border-bottom:solid 2px #fff;
        }
        .child_cat{
            font-size:0.9rem;
            min-width:10em;
        }
        .info{
            padding-right:1.75rem;
        }
        p.date,
        h4.title{
            margin:0;
        }
    }
    .mo_content_wrapper.top#mailnews,
    .mo_content_wrapper.index#mailnews{
        ul{
            border-top:solid 1px #8f9599;
        }
        li{
            padding:1.25rem 0.75rem;
            border-bottom:solid 1px #8f9599;
        }
        p.date{
            margin-bottom:0.5rem;
            min-width:12em;
        }
        h4{
            margin:0;
            padding-right:1.75rem;
        }
    }
    a.mo_cpntact{
        display:block;
        border:solid 4px var(--color-primary);
        background: var(--color-mo);
        color:#fff;
        border-radius: 5px;
        text-align: center;
        text-decoration: none;
        font-size:1.5rem;
        padding:1.25rem;
        line-height: 1;
        .icon{
            font-size:2em;
            padding-right:0.25rem;
        }
    }
    /* イベント・ウェビナー一覧 */
    .mo_content_wrapper.index#event_and_webinar{
        padding-top:0;
        padding-bottom:0;
        ul{
            border-top:none;
        }
        li:last-child{
            border-bottom:none;
        }
    }
    /* メールニュース一覧 */
    #mailnews_nav{
        border-top:solid 1px #8f9599;
        padding:1.75rem 0.75rem 0.75rem;
        ul,
        li{
            margin:0;
            padding:0;
            list-style: none;
        }
        ul.archive_list > li{
            display:flex;
            align-items: baseline;
            gap:2rem;
            margin-bottom:1rem;
        }
        h5{
            margin:0;
            white-space: nowrap;
            font-weight:normal;
        }
        h5:before{
            content:'';
            display:inline-block;
            border-top:solid 1px var(--font-color);
            border-right:solid 1px var(--font-color);
            width:0.5em;
            height:0.5em;
            transform: rotate(45deg);
            margin:0 0.5em 0.1em -0.1em;
        }
        ul.month li{
            display:inline-block;
            margin-right:15px;
        }
    }

    /* 参加団体専用
    　　イベント・ウェビナー個別ページ
    　　ニュースレター個別ページ
    -------------------------------------*/
    .mo_content_wrapper.post{
        .post_header{
            .label{
                display:inline-block;
                background: var(--color-mo);
                color:#fff;
                margin:0;
                padding: 5px 30px;
                border-radius: 2px;
                line-height: 1;
            }
            h2{
                color:var(--font-color);
                margin:0;
            }
        }        
        .btn_wrapper{
            margin-top:4rem;
        }
    }
    /* イベント・ウェビナー個別
    ------------------------- */
    .mo_content_wrapper.post.event_and_webinar{
        .post_header{
            margin-bottom:4rem;
            text-align: center;
            h2{
                margin:1.5rem auto;
            }
        }
        /* ウェビナー */
        .webinar_content{
            border-top:solid 1px var(--font-color);
            border-bottom:solid 1px var(--font-color);
            padding:0 1rem 2rem;
            margin-bottom:3rem;
            /*
            h3{
                text-align: center;
                color:var(--font-color);
                margin:0 -1rem 2rem;
                padding-bottom:1.5rem;
                border-bottom:solid 1px var(--font-color);
            }
            */
            h4{
                font-size:1rem;
                line-height:1.5;
                display:flex;
                gap:0.25rem;
            }
            h4:before{
                font-family: var(--icons-font-family);
                content:'play_circle';
                font-size:1.65rem;
                color:#ee5e02;
                line-height: 1;
                display:inline-block;
                width:1.65rem;
            }
            .section_start{
                text-decoration:underline;
            }
            .section_start:hover{
                opacity:0.5;
                cursor: pointer;
            }
            .text{
                padding-left:1.9rem;
                margin-bottom:1.5em;
            }
        }
        .mov_wrapper{
            background:var(--element-bg-color);
            text-align: center;
            line-height: 0.1;
            /* iframeを埋め込む場合
            .video_wrapper{
                max-width: 580px;
                margin: auto;
                .video_container{
                    position: relative;
                    width: 100%;
                    height: 0;
                    padding-top: 56.25%;
                    iframe{
                        position: absolute;
                        top: 0;
                        left: 0;
                        width:100% !important;
                        height: 100% !important;
                    }
                }
            }
            */
        }
        /* 動画サムネイル */
        .video-thumb {
            position: relative;
            max-width: 560px;
            width: 100%;
            cursor: pointer;
            display: inline-block;
            img {
                width: 100%;
                aspect-ratio: 16/9;
                object-fit: cover;
                display: block;
            }
            .play-icon {
                position: absolute;
                top: 50%;
                left: 50%;
                transform: translate(-50%, -50%);
                width: 68px;
                height: 48px;
                background: url("/common/2025/images/yt_play_ico.png") no-repeat center / contain;
                pointer-events: none;
            }
        }
        /* 上下グラデーション */
        .video-thumb::before,
        .video-thumb::after {
            content: "";
            position: absolute;
            left: 0;
            width: 100%;
            height: 30%;
            pointer-events: none;
        }
        .video-thumb::before {
            top: 0;
            background: linear-gradient(to bottom, rgba(0,0,0,var(--grad-opacity,0.5)), transparent);
        }
        .video-thumb::after {
            bottom: 0;
            background: linear-gradient(to top, rgba(0,0,0,var(--grad-opacity,0.5)), transparent);
        }
    }

    /* メールニュース個別、その他
    ------------------------- */
    .mo_content_wrapper.post.mailnews,
    .mo_content_wrapper.post.common{
        .post_header{
            margin-bottom:3.5rem;
            .label{
                font-size:0.9rem;
            }
            h2{
                /*padding-bottom:0.75em;*/
                /*font-size:2rem;*/
                /*margin-top:1rem;*/
                border-bottom:solid 3px #666;
                padding-bottom:1.5rem;
                margin-top:0.75rem;
                font-size:1.5rem;
                line-height: 1.5;
            }
        }
    }
}/* main.mo ends */

@media (min-width: 576px) {
    /* bootstrapの"sm" */
}