.main-visual {
    position: relative;
    padding: 80px 0;
    /*height: 800px;*/
    background-image: url(../img/bg_main.png);
    background-size: cover;
    background-position: center center;
    color: #fff;
}
.main-visual
.l-contents
{
overflow: inherit;
}
.main-visual
.l-primary{
    height:600px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}
.main-visual .main-box{
    width: 50%;
    max-width: 420px;
}
.main-visual .main-box img{
    width: 100%;
}
.main-illust{
    width: 50%;
    position: relative;
}
.main-illust img{

}
.main-visual   .ttl {
    font-size: 70px;
}
.main-visual   .sub-ttl {
    font-size: 32px;
    margin-top: 30px;
}
.main-visual   .txt {
    line-height: 1.8em;
    margin-top: 30px;
}

.p-global-nav__item-icon img{
    height: 30px;
    width: 30px;
}

.plugin-list{}
.plugin-list a{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    text-decoration: none;
}
.plugin-list a:hover{
    text-decoration: none;
    opacity: 0.8;
}
.plugin-list .item{
    border: 1px solid #ccc;
    padding: 10px;
    margin-top: 20px;
}
.plugin-list .item a{
    text-decoration: none;
    color: inherit;
}
.plugin-list .icon{
    width: 100px;
    padding: 10px;
}
.plugin-list .ttl{
    width: 200px;
    font-size: 16px;
    line-height: 1.5em;
    padding: 10px;
    margin-bottom: 0;
}
.plugin-list .ttl .price{
    font-size: 13px;
    margin-top: 10px;
    color: #999;
    font-weight: normal;
}
.plugin-list .explain{
    width: calc(100% - 400px);
    padding: 20px;
    border-radius: 20px;
    background-color: #00A0E9;
    position: relative;
    line-height: 1.5em;
    color: #fe5739;
    font-weight: bold;
    font-size: 15px;
}


.plugin-list .explain:after{
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px 0 10px 10px;
    border-color: transparent transparent transparent #00A0E9;
    position: absolute;
    right: -10px;
    top: 50%;
    content: "";
    margin-top: -10px;
}

.plugin-list .img{
    width: 100px;
    padding: 10px;
}



.single
.p-entry h2{
    /* border-bottom: 1px solid #004EA2; */
    /* border-top: 1px solid #004EA2; */
    /* border-right: 1px solid #004EA2; */
    border-left: 5px solid #004EA2;
    padding: 15px 10px;
    background-color: #009fe927;
}

.single
.p-entry h3{
    color:#004EA2;
}

.p-entry__body a{
    color: blue;
    text-decoration: underline;
}

#toc_container {
    background: #009fe927;
    border: 2px solid #004EA2;
    font-weight: bold;
    width: 100%;
}

.wp-block-embed{margin: 0}
.wp-embedded-content{width: 100%}

#toc_container a{
    color: #004EA2;
    text-decoration: underline;
}

.c-logo img{
    max-width: 200px;
    width: 100%;
}

.lower-visual {
    position: relative;
    padding: 80px 0;
    /*height: 800px;*/
    background-image: url(../img/bg_main.png);
    background-size: cover;
    background-position: center center;
    color: #fff;
    margin-bottom: 80px;
}
.lower-visual h1{
    margin-bottom: 0;
}

.tab-wrap {
    display: flex;
    flex-wrap: wrap;
    margin:20px 0;
}
.tab-wrap:after {
    content: '';
    width: 100%;
    height: 3px;
    background: DeepSkyBlue;
    display: block;
    order: -1;
}
.tab-label {
    color: White;
    background: LightGray;
    font-weight: bold;
    text-shadow: 0 -1px 0 rgba(0,0,0,.2);
    white-space: nowrap;
    text-align: center;
    padding: 10px .5em;
    order: -1;
    position: relative;
    z-index: 1;
    cursor: pointer;
    border-radius: 5px 5px 0 0;
    flex: 1;
}
.tab-label:not(:last-of-type) {
    margin-right: 5px;
}
.tab-content {
    width: 100%;
    height: 0;
    overflow: hidden;
    opacity: 0;
}
/* アクティブなタブ */
.tab-switch:checked+.tab-label {
    background: DeepSkyBlue;
}
.tab-switch:checked+.tab-label+.tab-content {
    height: auto;
    overflow: auto;
    padding: 15px;
    opacity: 1;
    transition: .5s opacity;
    box-shadow: 0 0 3px rgba(0,0,0,.2);
}
/* ラジオボタン非表示 */
.tab-switch {
    display: none;
}

.author-item{
    display: flex;
    flex-wrap: wrap;
    padding: 20px;
    margin-bottom: 40px;
    background-color: #009fe927;
}
.author-item .img{
    width: 100px;
    height: 100px;
    border-radius: 50%;
    overflow: hidden;
    background-color: #fff;
}
.author-item .img img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.author-item .info{
    width: calc(100% - 100px);
    padding-left: 20px;
}
.author-item .info .name{
    font-weight: bold;
    font-size: 16px;
    color: #004EA2;
}
.author-item .info .txt{
    font-size: 15px;
    margin-top: 20px;
    color: #004EA2;
    line-height: 1.5em;
}

a.out-btn{
    line-height: 1.5em;
    font-weight: bold;
    display: block;
    padding: 40px;
    text-align: center;
    text-decoration: none;
    color: #fff;
    background-color: #5bbbc2;
    border-radius: 10px;
    margin-top: 20px;
    max-width: 600px;
    margin-left:auto;
    margin-right:auto;
}
a.out-btn:hover{
    text-decoration: none;
    opacity: 0.6;
}
@media screen and (max-width: 767px){
    .main-visual {
        padding: 80px 0;
    }

    .main-visual .main-box{
        width: 100%;
        max-width: 420px;
    }
    .main-illust{
        width: 100%;
        position: relative;
    }
    .main-illust img {
        width: 162%;
    }
    .main-visual .txt br{
        display: none;
    }

    .c-logo img {
        width: 100px;
    }
    .main-visual .ttl {
        font-size: 30px;
    }
    .main-visual .sub-ttl {
        font-size: 22px;
    }
    .lower-visual{
    padding: 40px 0;
    }

    .lower-visual h1{
        font-size: 18px;
    }

    .lower-visual .l-primary {
        margin-bottom: 0px;
    }
    .plugin-list .icon{
        text-align: center;
        width: 100px;
        margin: 0 auto;
    }
    .plugin-list .ttl{
        text-align: center;
        width: 100%;
    }
    .plugin-list .explain{
        width: 100%;
    }
    .plugin-list .img{
        text-align: center;
        width: 100px;
        margin: 0 auto;
    }
    .plugin-list .explain:after{

        width: 0;
        height: 0;
        border-style: solid;
        border-width: 10px 10px 0 10px;
        border-color: #00A0E9 transparent transparent transparent;
        position: absolute;
        right: auto;
        left: 50%;
        top: auto;
        bottom: -10px;
        content: "";
        margin-top: 0px;
        margin-left: -10px;
    }

}
.required{
    background-color: red;
    color: #fff;
    font-size: 10px;
    padding: 3px;
    border-radius: 3px;
    line-height: 1em;
    display: inline-block;
    margin-left: 5px;
    margin-bottom: 10px;
}

.explain-area{
    margin-bottom: 80px;
    line-height: 1.8em;
}
.explain-area h2{
    text-align: center;
    text-shadow:1px 1px 0 #FFF, -1px -1px 0 #FFF,
    -1px 1px 0 #FFF, 1px -1px 0 #FFF,
    0px 1px 0 #FFF,  0-1px 0 #FFF,
    -1px 0 0 #FFF, 1px 0 0 #FFF;
}
.explain-area h2 span{
    display: inline-block;
    width: 100%;
    font-size: 13px;
    font-weight: normal;

}
.explain-area h2 .txt{
    margin-top: 40px;

}
.explain-area .txt b{
    font-size: 18px;
    color: #e55312;
}
.explain-area h2 .txt{
    margin-top: 40px;
    text-shadow:1px 1px 0 #FFF, -1px -1px 0 #FFF,
    -1px 1px 0 #FFF, 1px -1px 0 #FFF,
    0px 1px 0 #FFF,  0-1px 0 #FFF,
    -1px 0 0 #FFF, 1px 0 0 #FFF;
}
.explain-list{
    display: flex;
    margin-top: 40px;
    flex-wrap: wrap;
    justify-content: space-around;
}

.explain-list .item{
    width: 32%;
    text-align: center;
    background-color: #fc6c1e;
    padding: 15px;
    color: #fff;
}
.explain-list .item img{
    width: 100px;
    border-radius: 50%;
    background-color: #fff;
    overflow: hidden;
}

.explain-list .item h3{
margin-top: 20px;
    text-align: center;
}
.explain-list .item p{
    margin-top: 20px;
    font-size:14px;
}
@media screen and (max-width: 767px){
    .explain-list .item{
        width: 100%;
        margin-bottom: 20px;
    }
}

.event-cat-original{
    background-color: #ffa270;
    line-height: 1.5em;
    color: #fff;
    padding: 5px;
    margin-top: 20px;
    border-radius: 10px;
    font-size: 12px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;

}
.event-cat-original a{
    color: #fff;
}
.p-article07__img::before {
    opacity: 0.2;
}