.two_colum {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.two_colum .side_area {
    width: 22%;
    max-width: 235px;
}

@media screen and (max-width: 768px) {
    .two_colum .side_area {
        width: 100%;
        max-width: none;
        order: 2;
    }
}

.two_colum .side_area > section {
    margin-bottom: 50px;
}

.two_colum .contents_area {
    width: 70%;
}

@media screen and (max-width: 768px) {
    .two_colum .contents_area {
        width: 100%;
        order: 1;
    }
}

.side_title {
    border-bottom: 1px solid #CFCFCF;
    color: #808080;
    font-size: 14px;
    font-weight: 600;
    padding: 0 10px 10px;
}

.side_title2 {
    color: #808080;
    font-size: 14px;
    font-weight: 600;
    padding: 0 10px 10px;
}

.cate_list {
    margin: 20px auto;
}

.cate_list > li {
    margin-bottom: 20px;
    padding-left: 10%;
}

.cate_list > li:last-child {
    margin-bottom: 0;
}

.cate_list > li > a {
    color: #373737;
    font-size: 16px;
    font-weight: 600;
    position: relative;
    transition: all .5s ease;
}

.cate_list > li > a::before {
    content: '';
    transition: all .5s ease;
}

.cate_list > li > a.defalt {
    color: #B3B3B3;
}

.cate_list > li > a.defalt::before {
    content: '';
    width: 10px;
    height: 10px;
    background-color: #22801A;
    border-radius: 50px;
    display: block;
    margin: auto;
    position: absolute;
    top: 0;
    bottom: 0;
    left: -15px;
}

.cate_list > li > a:hover {
    color: #B3B3B3;
    transition: all .5s ease;
}

.cate_list > li > a:hover::before {
    width: 10px;
    height: 10px;
    background-color: #22801A;
    border-radius: 50px;
    display: block;
    margin: auto;
    position: absolute;
    top: 0;
    bottom: 0;
    left: -15px;
    transition: all .5s ease;
}

.blog_list {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: flex-start;
    align-items: flex-start;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.blog_list > li {
    width: 50%;
    margin: 0 0 30px;
    opacity: 1;
    transition: all .5s ease;
}

@media all and (max-width: 1200px) {
    .blog_list > li {
        width: 47%;
    }
}

@media screen and (max-width: 414px) {
    .blog_list > li {
        width: 100%;
        text-align: center;
    }
}

.blog_list > li:hover {
    opacity: 0.8;
    transition: all .5s ease;
}

.blog_list > li .cate_icon > li {
    background-color: #22801A;
    color: #fff;
    display: inline-block;
    font-size: 13px;
    margin: 5px 5px 0 0;
    padding: 5px 10px;
}

.blog_list > li .cate_icon > li:last-child {
    margin-right: 0;
}

.blog_list > li .date {
    color: #B3B3B3;
    font-size: 15px;
    font-weight: 600;
    padding: 10px;
}

.blog_list > li .name {
    font-size: 20px;
    font-weight: 600;
    letter-spacing: 0.001em;
    line-height: 1.4em;
    line-break: loose;
    margin-top: 10px;
    position: relative;
    width: 300px;
}

@media all and (max-width: 1200px) {
    .blog_list > li .name {
        width: 95%;
    }
}

@media screen and (max-width: 768px) {
    .blog_list > li .name {
        font-size: 18px;
    }
}

@media screen and (max-width: 414px) {
    .blog_list > li .name {
        margin: 10px auto 0;
        max-width: 300px;
    }
}

.blog_list > li .name::after {
    content: '';
    width: 10px;
    height: 10px;
    border: 0px;
    border-top: solid 2px #000;
    border-right: solid 2px #000;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 0;
    right: -5%;
    margin: auto;
    bottom: 0;
}

.accordion {
    margin: 20px auto;
}

.accordion > li {
    margin-bottom: 20px;
    padding-left: 10%;
}

.accordion > li > a {
    color: #373737;
    font-size: 16px;
    font-weight: 600;
    position: relative;
    transition: all .5s ease;
}

.accordion > li > a::before {
    content: '';
    transition: all .5s ease;
}

.accordion > li > a.defalt {
    color: #B3B3B3;
}

.accordion > li > a.defalt::before {
    content: '';
    width: 10px;
    height: 10px;
    background-color: #22801A;
    border-radius: 50px;
    display: block;
    margin: auto;
    position: absolute;
    top: 0;
    bottom: 0;
    left: -15px;
}

.accordion > li > a:hover {
    cursor: pointer;
    color: #B3B3B3;
    transition: all .5s ease;
}

.accordion > li > a:hover::before {
    width: 10px;
    height: 10px;
    background-color: #22801A;
    border-radius: 50px;
    display: block;
    margin: auto;
    position: absolute;
    top: 0;
    bottom: 0;
    left: -15px;
    transition: all .5s ease;
}

.accordion > li:last-child {
    margin-bottom: 0;
}

.sub_accord {
    margin-top: 10px;
    padding-left: 10%;
}

.sub_accord > a {
    color: #373737;
    font-size: 16px;
    font-weight: 600;
    position: relative;
    transition: all .5s ease;
}

.sub_accord > a::before {
    content: '';
    transition: all .5s ease;
}

.sub_accord > a:hover {
    color: #B3B3B3;
    transition: all .5s ease;
}

.sub_accord > a:hover::before {
    width: 10px;
    height: 10px;
    background-color: #22801A;
    border-radius: 50px;
    display: block;
    margin: auto;
    position: absolute;
    top: 0;
    bottom: 0;
    left: -15px;
    transition: all .5s ease;
}

.pnavi_blog {
    margin: 50px auto;
    text-align: center;
}

.pnavi_blog a,
.pnavi_blog a.page-numbers {
    border: 2px solid #CCC;
    margin-right: 5px;
    padding: 5px 10px;
    transition: all .5s ease;
}

.pnavi_blog a:hover,
.pnavi_blog a.page-numbers:hover {
    background-color: #FEF5BC;
    border: 2px solid #FEF5BC;
    transition: all .5s ease;
}

.pnavi_blog .current,
.pnavi_blog .extend,
.pnavi_blog span.page-numbers {
    background-color: #FEF5BC;
    border: 2px solid #FEF5BC;
    margin-right: 5px;
    padding: 5px 10px;
}

.pnavi_blog a:last-child,
.pnavi_blog .page-numbers:last-child {
    margin-right: 0;
}

.post_single .post_header {
    border-bottom: 1px solid #B3B3B3;
}

.post_single .post_header .post_title {
    font-size: 30px;
    font-weight: 500;
    line-height: 1.6em;
}

@media screen and (max-width: 768px) {
    .post_single .post_header .post_title {
        font-size: 22px;
    }
}

.post_single .post_header .post_title::first-letter {
    font-size: 120%;
    color: #22801A;
}

@media screen and (max-width: 768px) {
    .post_single .post_header .post_title::first-letter {
        font-size: 150%;
    }
}

.post_single .post_header .entry_header {
    color: #B3B3B3;
    font-size: 16px;
    line-height: 1.6em;
}

.post_single .post_contents {
    line-height: 2em;
    margin: 30px auto 50px;
    padding: 0 3%;
}

.post-categories {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-end;
    justify-content: flex-end;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.post-categories > li {
    margin: 10px 5px 0 0;
}

.post-categories > li:last-child {
    margin-right: 0;
}

.post-categories > li > a {
    background-color: #22801A;
    color: #fff;
    display: inline-block;
    font-size: 15px;
    padding: 5px 10px;
}

.prev-link {
    font-size: 15px;
    font-weight: 500;
}

.prev-link:hover {
    color: #22801A;
    transition: all .5s ease;
}

.next-link {
    font-size: 15px;
    font-weight: 500;
}

.next-link:hover {
    color: #22801A;
    transition: all .5s ease;
}

.top_border {
    border-top: 1px solid #B3B3B3;
    padding-top: 20px;
}

.wp-pagenavi span.current {
    font-weight: 400 !important;
}

.wp-pagenavi a:hover,
.wp-pagenavi span.current {
    border-color: transparent !important;
}

.wp-pagenavi > span:first-child {
    display: none;
}