/*  column_list
------------------ */
#column_list{}
#column_list .wrap{}
#column_list .nav{}
#column_list .set{}
#column_list ul.column_list{
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
}
#column_list ul.column_list li{
    border-top: 1px dashed #eee;
}
#column_list ul.column_list li:first-child{
    border-top: 1px solid #eee;
}
#column_list ul.column_list li:last-child{
    border-bottom: 1px solid #eee;
}
#column_list ul.column_list li a{
    width: 100%;
    padding: 30px 0;
    display: block;
    text-decoration: none;
    color: #666;
}
#column_list ul.column_list li .inner{
    width: 100%;
    display: flex;
    flex-direction: row;
}
#column_list ul.column_list li .inner .img{
    width: 240px;
    height: 160px;
    position: relative;
    overflow: hidden;
}
#column_list ul.column_list li .inner .img img{
    width: 100%;
    height: auto;
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    transition: transform 0.5s ease;
}
#column_list ul.column_list li .inner .detail{
    flex: 1;
    padding-left: 20px;
}
#column_list ul.column_list li .inner .detail .ttl{}
#column_list ul.column_list li .inner .detail .ttl h2{
    margin: 0;
    color: #333;
}
#column_list ul.column_list li .inner .detail .status{
    margin: 10px 0 0;
    display: flex;
    flex-direction: row;
}
#column_list ul.column_list li .inner .detail .status .date{
    margin-right: 10px;
    padding-right: 10px;
    border-right: 1px solid #ddd;
}
#column_list ul.column_list li .inner .detail .status .date time{
    padding-left: 20px;
    display: inline-block;
    position: relative;
}
#column_list ul.column_list li .inner .detail .status .date time + time{
    margin-left: 10px;
}
#column_list ul.column_list li .inner .detail .status .date time::before{
    font-family: "font awesome 5 free";
    font-weight: 600;
    line-height: 20px;
    width: 20px;
    height: 20px;
    display: block;
    position: absolute;
    left: 0;
    top: calc(50% - 10px);
}
#column_list ul.column_list li .inner .detail .status .date time.postdate::before{ content: "\f017";}
#column_list ul.column_list li .inner .detail .status .date time.update::before{ content: "\f021";}

#column_list ul.column_list li .inner .detail .status .cat{}
#column_list ul.column_list li .inner .detail .status .cat span{
    display: inline-block;
}
#column_list ul.column_list li .inner .detail .status .cat span + span::before{
    content: ",";
    margin: 0 4px;
}
#column_list ul.column_list li .inner .detail .excerpt p::after{
    content: " ...";
}
#column_list .nav{
    margin: 0 0 20px;
}
#column_list .nav select{
    padding: 8px 10px;
    background: #f5f5f5;
    border: none;
    border-radius: 4px;
    font-size: 1.6rem;
    outline: none;
}

/*  column_single
------------------ */
#column_single{}
#column_single .top{
    border-bottom: 1px solid #ddd;
}
#column_single .top .status{
    margin: 0 0 20px;
    display: flex;
    flex-direction: row;
}
#column_single .top .status .date{
    margin-right: 10px;
    padding-right: 10px;
    border-right: 1px solid #ddd;
}
#column_single .top .status .date time{}
#column_single .top .status .date time.update{
    margin-right: 10px;
}
#column_single .top .status .date time::before{}
#column_single .top .status .date time.postdate::before{
    content: "公開日：";
}
#column_single .top .status .date time.update::before{
    content: "更新日：";
}
#column_single .top .status .tag{
    flex: 1;
    height: 100%;
    margin-top: auto;
    display: flex;
    align-items: flex-end;
    flex-wrap: wrap;
    padding-left: 20px;
    position: relative;
}
#column_single .top .status .tag::before{
    content: "\f02b";
    font-family: "font awesome 5 free";
    font-weight: 600;
    text-align: center;
    line-height: 20px;
    width: 20px;
    height: 20px;
    display: block;
    position: absolute;
    top: calc(50% - 10px);
    left: 0;
}
#column_single .top .status .tag span{
    margin-left: 10px;
}
#column_single .top .status .tag a{
    color: #333;
    text-decoration: none;
}

#column_single .bottom{
    margin-top: 60px;
    padding: 60px 0;
    border-top: 1px solid #ddd;
}
#column_single .bottom .more{}
#column_single .bottom .more a{
    max-width: 240px;
    margin: 0 auto;
    padding: 16px 0;
    display: block;
    background: #eee;
    text-decoration: none;
    color: #333;
    text-align: center;
    transition: background 0.2s ease;
}

#column_single p{
    margin: 2em 0;
    font-size: 1.6rem;
    line-height: 1.8;
}

#column_single h2 {
    margin: 2em 0;
    border-bottom: solid 5px #af1e2b;
    padding: 5px;
}

#column_single h3 {
    padding: 0.2em 0 0.2em 0.5em;
    color: #000031;
    background: transparent;
    border-left: solid 5px #af1e2b;
    font-size: 2rem;
}

#column_single h4 {
    position: relative;
    padding-left: 1.5em;
    line-height: 1.4;
    font-size: 1.4em;
    color: black;
}

#column_single h4:before {
    color: #af1e2b;
    font-family: "Font Awesome 5 Free";
    content: "●";
    position: absolute;
    font-size: 1.2em;
    left: 0;
    top: -0.2em;
}
#column_single table{
    border-collapse: collapse;
}
#column_single table th, td {
    border: solid 1px;
    padding: 15px;
}

#column_single strong {
   background: linear-gradient(transparent 85%, #ffff00 30%);
}
#column_single a:hover img{
	opacity: 0.8;
}
#column_single .pagebreak-links{
    margin: 40px 0;
}
#column_single .pagebreak-links a{
    padding: 10px 20px;
    display: inline-block;
    border: 1px solid #ddd;
    text-decoration: none;
    color: #333;
}
#column_single .pagebreak-links a:hover{
    border-color: #333;
    color: #000;
}
#column_single .pagebreak-links a + a{
    margin-left: 20px;
}

#column_single .liquid-speech-balloon-text p{
    margin: 0;
    padding: 0;
}
#column_single .liquid-speech-balloon-text p + p{
    margin: 1em 0 0;
    padding: 0;
}
#column_single blockquote{
    margin-left: 0;
    margin-right: 0;
    padding: 1em 2em;
    background: #fafafa;
}
#column_single blockquote::before{
    content: "\f10d";
    font-family: "font awesome 5 free";
    font-weight: 600;
    color: #999;
}
#column_single li{
    font-size: 1.6rem;
}
#column_single .youtube {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
}
#column_single .youtube iframe{
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important;
}

.box-rel {
	background: #e6e6e654;
    position: relative;
    margin: 2em 0;
    padding: 0.5em 1em;
    border: solid 2px #0f3568;
}

span.box-title {
    position: absolute;
    display: inline-block;
    top: -13px;
    left: 10px;
    padding: 0 9px;
    line-height: 1;
    font-size: 18px;
    background: #ffffff;
    color: #0f3568;
    font-weight: bold;
}

.box-rel-2 {
    padding: 0.5em 1em;
    margin: 2em 0;
    color: #232323;
    background: #f7f7f7;
    border-left: solid 10px #af1e2b;
}

span.box-title-2 {
    display: inline-block;
    top: -13px;
    left: 10px;
    line-height: 1;
    font-size: 18px;
    color: #0f3568;
    font-weight: bold;
}

.wp-block-embed iframe{
    width: 100%;
}
#sub article + article{
    margin: 40px 0 0;
}
#sub ul.archive_list{
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
}
#sub ul.archive_list li{
    border-top: 1px dashed #eee;
}
#sub ul.archive_list li:first-child{
    border-top: 1px solid #eee;
}
#sub ul.archive_list li a{
    padding: 16px 0;
    display: block;
    text-decoration: none;
    color: #333;
}
#sub ul.archive_list li .date{
    margin: 4px 0 0;
}
#sub ul.archive_list li .date time{
    padding-left: 20px;
    display: block;
    font-size: 1rem;
    font-family: sans-serif;
    color: #999;
    position: relative;
}
#sub ul.archive_list li .date time::before{
    font-family: "font awesome 5 free";
    font-weight: 600;
    text-align: center;
    line-height: 20px;
    width: 20px;
    height: 20px;
    display: block;
    position: absolute;
    left: 0;
    top: calc(50% - 10px);
}
#sub ul.archive_list li .date time.postdate::before{ content: "\f017";}
#sub ul.archive_list li .date time.update::before{ content: "\f021";}
#sub ul.archive_list li.more{
    padding: 10px 0 0;
    border-top: 1px solid #eee;
    text-align: right;
}
#sub ul.archive_list li.more a{
    padding: 4px 10px;
    display: inline-block;
    background: #eee;
}
#sub ul.cat_list{
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
}
#sub ul.cat_list li{
    border-top: 1px dashed #eee;
}
#sub ul.cat_list li:first-child{
    border-top: 1px solid #eee;
}
#sub ul.cat_list li:last-child{
    border-bottom: 1px solid #eee;
}
#sub ul.cat_list li a{
    padding: 16px 20px 16px 0;
    display: block;
    text-decoration: none;
    position: relative;
    color: #333;
}
#sub ul.cat_list li a::after{
    content: "\f105";
    font-family: "font awesome 5 free";
    font-weight: 600;
    font-size: 1rem;
    color: #999;
    text-align: center;
    line-height: 16px;
    width: 16px;
    height: 16px;
    margin-top: -8px;
    display: block;
    position: absolute;
    top: 50%;
    right: 4px;
    transition: right 0.2s ease;
}
#column .author{
    margin: 20px 0;
    padding: 10px;
    border: 1px solid #eee;
    border-radius: 4px;
}
#column .author .set{
    display: flex;
    flex-direction: row;
}
#column .author .set .img{
    width: 120px;
}
#column .author .set .img img{
    width: 100%;
    height: auto;
    display: block;
}
#column .author .set .txt{
    flex: 1;
    margin-left: 10px;
    padding-left: 20px;
    display: flex;
    flex-direction: column;
    border-left: 1px solid #eee;
}
#column .author .set .txt p{
    margin: 0;
    font-family: sans-serif;
    font-size: 1.4rem;
    color: #666;
}
#column .author .set .txt p.name{
    font-size: 1.8rem;
    color: #111;
}
#column .author .set .more{
    margin: 10px 0 0;
    text-align: center;
}
#column .author .set .more a{
    width: 100%;
    padding: 4px;
    display: inline-block;
    text-decoration: none;
    color: #1a73e8;
    border: 1px solid #eee;
    font-size: 1.2rem;
    font-family: sans-serif;
    border-radius: 3px;
}

.authorPrf{
    width: 100%;
    margin: 20px 0;
    border: 1px solid #eee;
    box-shadow: 0 0 4px rgba(0,0,0,0.05);
}
.authorPrf .set{
    display: flex;
    flex-direction: row;
}
.authorPrf .set .img{
    width: 30%;
    max-width: 240px;
    padding: 20px;
}
.authorPrf .set .img img{}
.authorPrf .set .txt{
    flex: 1;
    padding: 20px;
    border-left: 1px solid #eee;
}
.authorPrf .set .txt p.message{
    margin: 0;
    line-height: 1.5;
    font-size: 1.4rem;
}
.authorPrf .set .txt ul.prfList{
    margin: 20px 0;
    padding: 0;
    list-style: none;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px 20px;
}
.authorPrf .set .txt ul.prfList li{}
.authorPrf .set .txt strong{
    background: none !important;
}
.authorPrf .set .profile{}
.authorPrf .set .profile p.name{
    margin: 10px 0;
    font-size: 1.6rem;
    font-weight: 600;
}
.authorPrf .set .profile p.name span{
    margin-right: 10px;
    font-weight: 300;
}
.authorPrf .set .profile p.name a{}
.authorPrf .set .more{
    margin: 10px 0 0;
}
.authorPrf .set .more a{
    width: 100%;
    padding: 8px 4px;
    display: inline-block;
    text-decoration: none;
    text-align: center;
    color: #1a73e8;
    border: 1px solid #eee;
    font-size: 1.2rem;
    font-family: sans-serif;
    border-radius: 3px;

}






@media (pointer: fine) {
    #column_list ul.column_list li a:hover .inner .img img{
        transform: translate(-50%,-50%) scale(1.05,1.05);
    }
    #column_list ul.column_list li a:hover .inner .detail .ttl h2{
        text-decoration: underline;
    }
    #column_single .top .status .tag a:hover{
        text-decoration: underline;
    }
    #column_single .bottom .more a:hover{
        background: #ddd;
    }
    #sub ul.archive_list li a:hover .ttl{
        text-decoration: underline;
    }
    #sub ul.archive_list li.more a:hover{
        background: #ddd;
    }
    #sub ul.cat_list li a:hover{
        text-decoration: underline;
    }
    #sub ul.cat_list li a:hover::after{
        right: 0;
    }
    .authorPrf .set .more a:hover{
        background: rgba(26,115,232,0.039);
    }
    
}
@media screen and (max-width: 1024px){
    #column_single .top .ttl h1{
        font-size: 2rem;
    }
    #column_single .top .status{
        margin: 0 0 10px;
    }
    #column_list ul.column_list li a{
        padding: 30px 0;
    }
    #column_list ul.column_list li .inner{
        flex-direction: column;
    }
    #column_list ul.column_list li .inner .img{
        width: 100%;
        height: 0;
        padding-top: 56.25%;
    }
    #column_list ul.column_list li .inner .detail{
        padding: 10px 0 0;
    }
    #column_list ul.column_list li .inner .detail .ttl h2{
        font-size: 1.8rem;
    }
    #column_list ul.column_list li .inner .detail .excerpt p{
        margin: 10px 0 0;
    }
    #column_single p{
        margin: 2em 0;
        font-size: 1.4rem;
    }
    #column_single .liquid-speech-balloon-avatar{
        width: 52px;
        height: 52px;
        background-size: cover;
    }
    #column_single .liquid-speech-balloon-text{
        padding: 16px;
    }
}
@media screen and (max-width: 767.98px){
    #column_single .top .status .date time{
        float: left;
        clear: both;
    }
    #column .author .set .img{
        width: 80px;
    }
    #column .author .set .img img{
        width: 80px;
    }

    .authorPrf .set{
        flex-direction: column;
    }
    .authorPrf .set .img{
        width: 100%;
        max-width: none;
        min-height: 100px;
        padding: 10px;
        padding-left: 100px;
        position: relative;
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
    }
    .authorPrf .set .img img{
        width: 80px;
        display: block;
        position: absolute;
        top: 10px;
        left: 10px;
    }
    .authorPrf .set .more{
        width: 160px;
    }
    .authorPrf .set .profile{
        margin: 0;
    }
    .authorPrf .set .profile p.name{
        margin: 0;
    }
    .authorPrf .set .txt{
        padding: 0 20px 20px;
        border: none;
        border-top: 1px solid #eee;
    }
    .authorPrf .set .txt p{
        font-size: 1.4rem;
    }
    .authorPrf .set .txt p.name{
        font-size: 1.6rem;
    }
    .authorPrf .set .more a{
        padding: 8px 4px;
    }
}