@charset "utf-8";

@media (min-width: 900px) { /*PC*/
    p {
        font-size: 16px;
        line-height: 1.8;
    }
    /* =====================
      archive_navi
    ===================== */
    /*  navi_post_list
    ------------------------*/
    #navi_post_list .inner {
        width: 900px;
        padding: 20px 50px;
        margin: 0 auto;
    }
    #navi_post_list a {
        text-decoration: none;
        display: block;
        color: #555;
    }
    .post_item {
        padding-bottom: 30px;
        margin-bottom: 50px;
        border-bottom: 1px solid #DBDBDB;
    }
    .post_thumb {
        width: 100%;
        height: 420px;
        margin-bottom: 27px;
    }
    .post_thumb figure {
        width: 100%;
        height: 100%;
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center;
    }
    .post_ttl {
        font-size: 24px;
        font-weight: 600;
        line-height: 1.6;
    }
    .post_date {
        font-family: proxima-nova, sans-serif;
        font-weight: 500;
        font-size: 18px;
        color: #BABABA;
        letter-spacing: 0.4px;
        line-height: 1.4;
        margin-bottom: 5px;
    }
    .post_item .text {
        margin-bottom: 10px;
    }
    .post_item .btn {
        width: 300px;
        margin-left: auto;
    }
    .btn a {
       position: relative;
       background: #F9F47E;
       border-radius: 25px;
       line-height: 50px;
       display: block;
       text-align: center;
       color: #555555;
       text-decoration: none;
       font-weight: 700;
    }
    .btn a:before {
        display: block;
        content: '';
        position: absolute;
        top: 50%;
        width: 0;
        height: 0;
        margin-top: -6px;
        border: 5px solid transparent;
        border-left: 9px solid #555555;
        right: 16px;
    }
    /* =====================
      single_navi
    ===================== */
    #single_navi .inner {
        width: 1000px;
        padding: 0 50px;
        margin: 0 auto;
    }
    .post_area {
        padding: 50px;
        position: relative;
        z-index: 1;
    }
    /*  post_head
    ------------------------*/
    #post_head {
        position: relative;
    }
    #post_head::before {
        content: '';
        width: 100%;
        height: 420px;
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        background-image: linear-gradient(268deg, rgba(38, 200, 159, 0.2) 0%, rgba(249, 244, 126, 0.2) 100%);
        z-index: -1;
    }
    .single_ttl {
        font-size: 30px;
        line-height: 1.5;
        font-weight: 600;
        margin-bottom: 10px;
    }
    #post_head .post_date {
        color: #555;
    }
    /*  navi_post
    ------------------------*/
    #navi_post .post_area {
        background: #fff;
        margin-top: -30px;
        padding-top: 40px;
    }
    .post_area .post_thumb {
        height: auto;
        margin-bottom: 40px;
    }
    .share_links {
      margin-bottom: 35px;
    }
    .share_links li {
        width: 25%;
        height: 40px;
    }
    .share_links li.fb {
        background: #264D8E;
    }
    .share_links li.tw {
        background: #349DD7;
    }
    .share_links li.li {
        background: #22BB2D;
    }
    .share_links li.mail {
        background: #EAC855;
    }
    .share_links li img {
      width: 22px;
      display: inline-block;
    }
    .share_links li a {
        height: 100%;
        -webkit-align-items: center;
        align-items: center;
        -webkit-justify-content: center;
        justify-content: center;
    }
    .outline {
        border: 3px solid #5D97B5;
        padding: 22px 37px 20px;
        margin-bottom: 40px;
    }
    .index {
        background: #F8F8F8;
        padding: 25px 40px 30px;
        margin-bottom: 55px;
    }
    .index_ttl {
        font-size: 18px;
        font-weight: 600;
        color: #5D97B5;
        border-bottom: 1px solid #5F8BA9;
        margin-bottom: 15px;
    }
    .index_list {
        counter-reset: parent;
    }
    .index_list li {
        counter-increment: parent;
        font-size: 16px;
        position: relative;
        padding-left: 22px;
        margin-bottom: 14px;
    }
    .index_list li::before {
        content: counter(parent) '.';
        font-size: 20px;
        font-family: proxima-nova, sans-serif;
        position: absolute;
        top: -5px;
        left: 0;
    }
    .index_list > li > ol {
      margin-top: 5px;
    }
    .index_list > li > ol > li {
        counter-increment: child;
        font-size: 14px;
        padding-left: 37px;
        margin-bottom: 5px;
    }
    .index_list > li > ol > li::before{
         content: counter(parent) '-' counter(child) '.';
         font-size: 18px;
        top: -4px;
    }
    .index_list li a {
        text-decoration: none;
        color: #555;
    }
    .flx_area {
        margin-bottom: 170px;
    }
    .flx_area > h2 {
        font-size: 24px;
        font-weight: 600;
        line-height: 1.5;
        color: #20C691;
        position: relative;
        padding-bottom: 10px;
        margin-top: 50px;
        margin-bottom: 28px;
    }
    .flx_area > h2::before {
        content: '';
        width: 100%;
        height: 3px;
        display: block;
        background: linear-gradient(to right, #26C89F 0%, #F9F47E 100%);
        position: absolute;
        bottom: 0;
        left: 0;
    }
    .flx_area > h3 {
        font-size: 20px;
        line-height: 1.5;
        font-weight: 600;
        color: #5D97B5;
        margin-top: 30px;
        margin-bottom: 15px;
    }
    .flx_area .text,
    .flx_area > p:not([class]) {
        margin-bottom: 30px;
    }
    .flx_area > p > a:not([class]) {
        text-decoration: underline;
        color: #555555;
    }
    .flx_area .wp-block-list {
        margin: 30px 0;
    }
    .flx_area .wp-block-list li {
        font-size: 16px;
        line-height: 1.8;
        padding-left: 30px;
        position: relative;
        margin-bottom: 2px;
    }
    .flx_area .wp-block-list li:last-child {
        margin-bottom: 0;
    }
    .flx_area ul.wp-block-list li::before {
        content: '';
        width: 20px;
        height: 20px;
        display: block;
        background: url(/images/freedea/icon_check.svg) no-repeat center;
        background-size: contain;
        position: absolute;
        top: 3px;
        left: 2px;
    }
    .flx_area ol.wp-block-list li{
        width: 100%;
        display: table;
    }
    .flx_area ol.wp-block-list li {
        list-style-type: decimal;
        display: table-row;
        counter-increment: table-ol;
    }
    .flx_area ol.wp-block-list li::before {
        content: counter(table-ol) ".";
        display: table-cell;
        padding-right: 0.4em;
        text-align: right;
        font-weight: 600;
        color: #20C691;
    }
    .flx_area ol.wp-block-list li:after {
        content: '';
        display: block;
        margin-bottom: 3px;
    }
    .flx_area ol.wp-block-list li:last-of-type:after {
        margin-bottom: 0;
    }
    .wp-block-image,
    .img_area {
      margin: 40px 0;
    }
    .img_area img {
      width: 100%;
    }
    /* 1つの場合 */
    .img_area:only-child {
      	width: 100%;
    }
    /* 2つの場合 */
    .img_area li:nth-last-child(2),
    .img_area li:nth-last-child(2) ~ li {
      	width: 48%;
    }
    /* 3つの場合 */
    .img_area li:nth-last-child(3),
    .img_area li:nth-last-child(3) ~ li {
      	width: 32%;
    }
    /* 4つ以上の場合 */
    .img_area li:nth-last-child(n+4),
    .img_area li:nth-last-child(n+4) ~ li {
        width: 48%;
        margin-bottom: 30px;
    }
    .img_area li:nth-last-child(n+4) ~ li:last-child,
    .img_area li:nth-last-child(n+4) ~ li:nth-last-child(2):nth-child(odd) {
        margin-bottom: 0;
    }
    .wp-element-caption,
    .img_area figcaption {
        font-size: 14px;
        text-align: center;
        line-height: 1.4;
        display: block;
        margin-top: 13px;
    }
    .wp-block-quote,
    .blockquote {
        padding: 10px;
        position: relative;
        margin-bottom: 60px;
    }
    .wp-block-quote::before,
    .wp-block-quote::after,
    .blockquote::before,
    .blockquote::after {
        content: '';
        width: 34px;
        height: 23px;
        display: block;
        background: url(/images/navi/icon_blockquote.svg) no-repeat center;
        background-size: contain;
        position: absolute;
    }
    .wp-block-quote::before,
    .blockquote::before {
        top: 0;
        left: 0;
    }
    .wp-block-quote::after,
    .blockquote::after {
        bottom: 0;
        right: 0;
    }
    .wp-block-quote,
    .blockquote blockquote {
        background: #F8F8F8;
        padding: 30px;
    }
    .wp-block-quote cite,
    .blockquote cite {
        text-align: right;
        font-size: 14px;
        display: block;
        margin-top: 10px;
    }
    .wp-block-quote cite a,
    .blockquote cite a {
      text-decoration: none;
      color: #555;
    }
    .w50_box {
        padding: 10px;
        margin-bottom: 60px;
    }
    .w50_box li {
        width: 47.5%;
        background: #F7F7F7;
        padding: 20px;
        margin-bottom: 30px;
    }
    .w50_box li:last-child,
    .w50_box li:nth-last-child(2):nth-child(odd) {
        margin-bottom: 0;
    }
    .w50_box li .ttl {
        font-size: 17px;
        color: #5D97B5;
        margin-bottom: 15px;
        padding: 0 5px 10px;
        border-bottom: 1px solid #999999;
        line-height: 1.5;
    }
    .w50_box li .img,
    .w50_box li .img img {
        width: 100%;
    }
    .w50_box li .text {
        margin-top: 15px;
        margin-bottom: 0;
    }
    .w50_box li .text p {
        font-size: 15px;
    }
    .w50_box li .btn {
        margin-top: 10px;
    }
    .w50_box li .btn a {
        line-height: 46px;
    }
    .w50_box li:only-child {
        width: 100%;
        padding: 30px;
    }
    .w50_box li:only-child .btn {
        max-width: 330px;
        margin: 10px auto 0;
    }
    .wp-block-buttons,
    .btn_area {
        justify-content: center;
        margin: 50px 0;
        text-align: center;
    }
    .wp-block-button,
    .link_btn {
        display: inline-block;
        min-width: 600px;
        font-size: 18px;
        text-align: center;
        font-weight: 600;
        background: #F9F47E;
        border: 5px solid #777;
        position: relative;
    }
    .flx_area .wp-block-buttons>.wp-block-button,
    li.link_btn {
      margin-bottom: 10px;
    }
    .flx_area .wp-block-buttons>.wp-block-button:last-child,
    li.link_btn:last-child {
      margin-bottom: 0;
    }
    .wp-block-button::before,
    .link_btn::before {
        content: '';
        width: -webkit-calc( 100% + 10px );
        width: calc( 100% + 10px );
        height: -webkit-calc( 100% + 10px );
        height: calc( 100% + 10px );
        display: block;
        background: #F4F4F4;
        position: absolute;
        right: -15px;
        bottom: -14px;
        z-index: -1;
    }
    .wp-block-button a,
    .link_btn a {
        display: block;
        color: #777;
        padding: 22.5px 40px;
        text-decoration: none;
        position: relative;
        background: none;
        border-radius: 0;
    }
    .wp-block-button a::before,
    .link_btn a::before{
        display: block;
        content: '';
        position: absolute;
        top: 50%;
        width: 0;
        height: 0;
        margin-top: -9px;
        border: 7px solid transparent;
        border-left: 13px solid #777;
        right: 9px;
    }
    .flx_area .wp-block-table {
        width: 100%;
        margin: 30px 0;
    }
    .flx_area .wp-block-table thead {
        border: none;
    }
    .flx_area .wp-block-table thead th {
        font-size: 15px;
        font-weight: 600;
        text-align: center;
        background: #555;
        color: #fff;
        border: 1px solid #DDDDDD;
    }
    .flx_area .wp-block-table td {
        font-size: 16px;
        border: 1px solid #DDDDDD;
    }
    .flx_area .wp-block-table tr:nth-of-type(even) td {
        background: #F7F7F7;
    }
    .flx_area .wp-block-embed-youtube,
    .flx_area .map {
        margin: 30px 0;
    }

    .flx_area .wp-block-embed-youtube .wp-block-embed__wrapper,
    .flx_area .map {
        width: 100%;
        height: 0;
        padding-bottom: 56.4%;
        position: relative;
    }

    .flx_area .wp-block-embed-youtube iframe,
    .flx_area .map iframe {
        width: 100%;
        height: 100%;
        display: block;
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
    }

    /*  author
    ------------------------*/
    
    .author {
        border: 6px solid #F7F7F7;
        padding: 25px;
        margin-top: 100px;
        align-items: flex-start;
        justify-content: space-between;
        position: relative;
        margin-bottom: 60px;
    }

    .author_ttl {
        font-size: 14px;
        padding: 6px 15px 8px;
        font-weight: 600;
        background: #F7F7F7;
        display: inline-block;
        position: absolute;
        bottom: 100%;
        left: -6px;
        letter-spacing: 0.04em;
        border-radius: 4px 4px 0 0;
    }

    .author_img {
        width: 150px;
        border-radius: 50%;
        overflow: hidden;
    }

    .author_img img {
        height: 150px;
        object-fit: cover;
    }

    .author_text {
        width: calc( 100% - 180px );
        border-left: 1px solid #DDDDDD;
        padding-left: 30px;
        margin: 10px 0;
    }

    .author_com {
        font-size: 14px;
        color: #aeaeae;
        margin-bottom: 2px;
    }

    .author_name {
        font-size: 20px;
        font-weight: 600;
        letter-spacing: 0.1em;
        margin-bottom: 10px;
    }

    .author_prof {
        font-size: 16px;
        line-height: 1.8;
        letter-spacing: 0.04em;
    }

    .author_sns {
        justify-content: flex-start;
        margin-top: 15px;
        gap: 0 7px;
    }

    .author_sns li {
        width: 27px;
    }

    .author_link {
        line-height: 1.4;
        margin-top: 10px;
    }

    .author_link a {
        color: #555555;
        text-decoration: none;
        font-weight: 600;
    }

    .author_link a span {
        text-decoration: underline;
        font-weight: 400; 
        word-break: break-all;
     }
    
    /*  pager
    ------------------------*/
    .pager {
        -webkit-justify-content: center;
        justify-content: center;
        -webkit-align-items: center;
        align-items: center;
        margin: 60px 0;
    }
    .page-numbers {
        font-family: proxima-nova, sans-serif;
        font-weight: 500;
        font-size: 24px;
        width: 45px;
        height: 45px;
        background: #EFEFEF;
        display: block;
        text-align: center;
        line-height: 45px;
        margin: 0 5px;
    }
    .page-numbers.current {
        background: #F9F47E;
    }
    .page-numbers.dots {
        background: none;
    }
    /*  navi_recommend
    ------------------------*/
    #navi_recommend {
        background: #F7F7F7;
    }
    #navi_recommend a {
        text-decoration: none;
        display: block;
        color: #555;
    }
    #navi_recommend .inner {
        padding: 70px 0 40px;
    }
    .recommend_ttl {
        font-size: 32px;
        color: #fff;
        font-weight: 600;
        text-align: center;
        background: #20C691;
        padding: 35px;
        position: relative;
    }
    .recommend_ttl::before {
        content: '';
        position: absolute;
        top: 100%;
        left: 50%;
        margin-left: -20px;
        border: 20px solid transparent;
        border-top: 20px solid #20C691;
    }
    .recommend_list {
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
        justify-content: space-between;
    }
    .recommend_item {
        width: 310px;
        margin-bottom: 40px;
    }
    .recommend_item .post_thumb {
        height: 162.75px;
        margin-bottom: 17px;
    }
    .recommend_item .post_ttl {
        font-size: 16px;
        line-height: 1.5;
    }
}
@media (max-width: 899px) { /*SP*/
    p {
        font-size: 15px;
        line-height: 1.8;
    }
    /* =====================
      archive_navi
    ===================== */
    /*  navi_post_list
    ------------------------*/
    #navi_post_list .inner {
        padding: 10px 0;
    }
    .post_item {
        padding-bottom: 30px;
        margin-bottom: 30px;
        border-bottom: 1px solid #DBDBDB;
    }
    .post_item a {
        text-decoration: none;
        display: block;
        color: #555;
    }
    .post_thumb {
        width: 100%;
        margin-bottom: 20px;
    }
    .post_thumb figure {
        width: 100%;
        padding-bottom: 52.5%;
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center;
    }
    .post_text {
      padding: 0 3%;
    }
    .post_ttl {
        font-size: 17px;
        font-weight: 600;
        line-height: 1.5;
        margin-bottom: 5px;
    }
    .post_date {
        font-family: proxima-nova, sans-serif;
        font-weight: 500;
        font-size: 15px;
        color: #BABABA;
        letter-spacing: 0.4px;
        line-height: 1.4;
        margin-bottom: 10px;
    }
    .post_item .text {
        font-size: 14px;
        margin-bottom: 20px;
    }
    .post_item .text p {
        font-size: 14px;
    }
    .btn {
        width: 300px;
        margin: 0 auto;
    }
    .btn a {
       position: relative;
       background: #F9F47E;
       border-radius: 25px;
       line-height: 50px;
       display: block;
       text-align: center;
       color: #555555;
       text-decoration: none;
       font-weight: 700;
    }
    .btn a:before {
        display: block;
        content: '';
        position: absolute;
        top: 50%;
        width: 0;
        height: 0;
        margin-top: -5px;
        border: 4px solid transparent;
        border-left: 7px solid #555555;
        right: 8px;
    }
    /* =====================
      single_navi
    ===================== */
    .post_area {
        /*
        padding: 15px;
        */
        padding: 25px 0;
        position: relative;
        z-index: 1;
    }
    /*  post_head
    ------------------------*/
    #post_head {
        position: relative;
        background-image: linear-gradient(268deg, rgba(38, 200, 159, 0.2) 0%, rgba(249, 244, 126, 0.2) 100%);
    }
    .single_ttl {
        font-size: 18px;
        line-height: 1.5;
        font-weight: 600;
        margin-bottom: 10px;
    }
    #post_head .post_date {
        color: #555;
    }
    /*  navi_post
    ------------------------*/
    #navi_post .post_area {
        background: #fff;
    }
    .post_area .post_thumb {
        margin-bottom: 15px;
    }
    .post_area .post_thumb img {
        width: 100%;
    }
    .share_links {
      margin-bottom: 20px;
    }
    .share_links li {
        width: 25%;
        height: 35px;
    }
    .share_links li.fb {
        background: #264D8E;
    }
    .share_links li.tw {
        background: #349DD7;
    }
    .share_links li.li {
        background: #22BB2D;
    }
    .share_links li.mail {
        background: #EAC855;
    }
    .share_links li img {
      width: 18px;
      display: inline-block;
    }
    .share_links li a {
        height: 100%;
        -webkit-align-items: center;
        align-items: center;
        -webkit-justify-content: center;
        justify-content: center;
    }
    .outline {
        border: 2px solid #5D97B5;
        padding: 13px 20px 15px;
        margin-bottom: 20px;
    }
    .index {
        background: #F8F8F8;
        padding: 15px 20px;
        margin-bottom: 30px;
    }
    .index_ttl {
        font-size: 15px;
        font-weight: 600;
        color: #5D97B5;
        border-bottom: 1px solid #5F8BA9;
        margin-bottom: 15px;
        padding-bottom: 5px;
    }
    .index_list {
        counter-reset: parent;
    }
    .index_list li {
        counter-increment: parent;
        font-size: 14px;
        position: relative;
        padding-left: 22px;
        margin-bottom: 5px;
        line-height: 1.7;
    }
    .index_list li::before {
        content: counter(parent) '.';
        font-size: 18px;
        font-family: proxima-nova, sans-serif;
        position: absolute;
        top: -3px;
        left: 0;
    }
    .index_list > li > ol {
      margin-top: 3px;
    }
    .index_list > li > ol > li {
        counter-increment: child;
        font-size: 13px;
        padding-left: 35px;
        margin-bottom: 0;
    }
    .index_list > li > ol > li::before{
         content: counter(parent) '-' counter(child) '.';
         font-size: 16px;
         top: -1px;
    }
    .index_list li a {
        text-decoration: none;
        color: #555;
    }
    .flx_area {
        margin-bottom: 85px;
    }
    .flx_area > h2 {
        font-size: 19px;
        font-weight: 600;
        line-height: 1.5;
        color: #20C691;
        position: relative;
        padding-bottom: 10px;
        margin-bottom: 25px;
        margin-top: 30px;
    }
    .flx_area > h2::before {
        content: '';
        width: 100%;
        height: 2px;
        display: block;
        background: linear-gradient(to right, #26C89F 0%, #F9F47E 100%);
        position: absolute;
        bottom: 0;
        left: 0;
    }
    .flx_area > h3 {
        font-size: 17px;
        line-height: 1.5;
        font-weight: 600;
        color: #5D97B5;
        margin-bottom: 10px;
        margin-top: 25px;
    }
    .flx_area .text,
    .flx_area > p:not([class]) {
        margin-bottom: 18px;
    }
    .flx_area > p > a:not([class]) {
        text-decoration: underline;
        color: #555555;
    }    
    .flx_area .wp-block-list {
        margin: 20px 0;
    }
    .flx_area .wp-block-list li {
        padding-left: 30px;
        margin-bottom: 2px;
        position: relative;
        margin-bottom: 2px;
    }
    .flx_area ul.wp-block-list li::before {
        content: '';
        width: 22px;
        height: 22px;
        display: block;
        background: url(/images/freedea/icon_check.svg) no-repeat center;
        background-size: contain;
        position: absolute;
        top: 1px;
        left: 2px;
    }
    .flx_area ol.wp-block-list {
        width: 100%;
        display: table;
    }
    .flx_area ol.wp-block-list li {
        padding-left: 30px;
        margin-bottom: 2px;
        list-style-type: decimal;
        display: table-row;
        counter-increment: table-ol;
    }
    .flx_area ol.wp-block-list li::before {
        content: counter(table-ol) ".";
        display: table-cell;
        padding-right: 0.4em;
        text-align: right;
        font-weight: 600;
        color: #20C691;
    }
    .flx_area ol.wp-block-list li:after {
        content: '';
        display: block;
        margin-bottom: 3px;
    }
    .flx_area ol.wp-block-list li:last-of-type:after {
        margin-bottom: 0;
    }
    .wp-block-image,
    .img_area {
        margin: 20px 0;
    }
    .img_area img {
        width: 100%;
    }
    /* 1つの場合 */
    .img_area:only-child {
      	width: 100%;
    }
    /* 2つ以上の場合 */
    .img_area li {
      	width: 48%;
        margin-bottom: 15px;
    }
    .img_area li:last-child,
    .img_area li:nth-last-child(2):nth-child(odd) {
        margin-bottom: 0;
    }
    .wp-element-caption,
    .img_area figcaption {
        font-size: 12px;
        text-align: center;
        line-height: 1.4;
        display: block;
        margin-top: 10px;
    }
    .wp-block-quote,
    .blockquote {
        padding: 8px 10px;
        position: relative;
        margin: 25px 0;
    }
    .wp-block-quote::before,
    .wp-block-quote::after,
    .blockquote::before,
    .blockquote::after {
        content: '';
        width: 24px;
        height: 16px;
        display: block;
        background: url(/images/navi/icon_blockquote.svg) no-repeat center;
        background-size: contain;
        position: absolute;
    }
    .wp-block-quote::before,
    .blockquote::before {
        top: 0;
        left: 0;
    }
    .wp-block-quote::after,
    .blockquote::after {
        bottom: 0;
        right: 0;
    }
    .wp-block-quote,
    .blockquote blockquote {
        background: #F8F8F8;
        padding: 20px;
    }
    .wp-block-quote p,
    .blockquote blockquote p {
        font-size: 14px;
        line-height: 1.7;
    }
    .wp-block-quote cite,
    .blockquote cite {
        text-align: right;
        font-size: 12px;
        display: block;
        margin-top: 10px;
    }
    .wp-block-quote cite a,
    .blockquote cite a {
      text-decoration: none;
      color: #555;
    }
    .w50_box {
        display: block;
        margin-bottom: 30px;
    }
    .w50_box li {
        width: 100%;
        background: #F7F7F7;
        padding: 20px 20px 25px;
        margin-bottom: 20px;
    }
    .w50_box li:last-child {
        margin-bottom: 0;
    }
    .w50_box li .ttl {
        font-size: 17px;
        color: #5D97B5;
        margin-bottom: 15px;
        padding-bottom: 10px;
        border-bottom: 1px solid #999999;
        line-height: 1.5;
    }
    .w50_box li .img,
    .w50_box li .img img {
        width: 100%;
    }
    .w50_box li .text {
        margin-top: 15px;
        margin-bottom: 0;
    }
    .w50_box li .text p {
        font-size: 14px;
        line-height: 1.7;
    }
    .w50_box li .btn {
        margin-top: 15px;
    }
    .w50_box li .btn a {
        line-height: 40px;
    }
    .wp-block-buttons,
    .btn_area {
        margin: 30px 0;
        flex-wrap: wrap;
    }
    .wp-block-button,
    .link_btn {
        width: 100%;
        display: block;
        font-size: 14px;
        line-height: 1.4;
        text-align: center;
        font-weight: 600;
        background: #F9F47E;
        border: 3px solid #777;
        position: relative;
    }
    .flx_area .wp-block-buttons>.wp-block-button,
    li.link_btn {
      margin-bottom: 5px;
    }
    .flx_area .wp-block-buttons>.wp-block-button:last-child,
    li.link_btn:last-child {
      margin-bottom: 0;
    }
    .wp-block-button::before,
    .link_btn::before {
        content: '';
        width: 100%;
        height: 100%;
        display: block;
        background: #F4F4F4;
        position: absolute;
        right: -10px;
        bottom: -9px;
        z-index: -1;
    }
    .wp-block-button a,
    .link_btn a {
        display: block;
        color: #777;
        padding: 18px 25px;
        text-decoration: none;
        position: relative;
        background: none;
        border-radius: 0;
    }
    .wp-block-button a::before,
    .link_btn a::before{
        display: block;
        content: '';
        position: absolute;
        top: 50%;
        width: 0;
        height: 0;
        margin-top: -5px;
        border: 4px solid transparent;
        border-left: 7px solid #555555;
        right: 8px;
    }
    .flx_area .wp-block-table {
        width: 100%;
        margin: 30px 0;
    }
    .flx_area .wp-block-table thead {
        border: none;
    }
    .flx_area .wp-block-table thead th {
        font-size: 15px;
        font-weight: 600;
        text-align: center;
        background: #555;
        color: #fff;
        border: 1px solid #DDDDDD;
    }
    .flx_area .wp-block-table td {
        font-size: 16px;
        border: 1px solid #DDDDDD;
    }
    .flx_area .wp-block-table tr:nth-of-type(even) td {
        background: #F7F7F7;
    }
    .flx_area .wp-block-table {
        width: 100%;
        margin: 25px 0;
    }
    .flx_area .wp-block-table thead {
        border: none;
    }
    .flx_area .wp-block-table thead th {
        font-size: 13px;
        font-weight: 600;
        text-align: center;
        background: #555;
        color: #fff;
        border: 1px solid #DDDDDD;
    }
    .flx_area .wp-block-table td {
        font-size: 14px;
        border: 1px solid #DDDDDD;
    }
    .flx_area .wp-block-table tr:nth-of-type(even) td {
        background: #F7F7F7;
    }
    .flx_area .wp-block-embed-youtube,
    .flx_area .map {
        margin: 25px 0;
    }
    .flx_area .wp-block-embed-youtube .wp-block-embed__wrapper,
    .flx_area .map {
        width: 100%;
        height: 0;
        padding-bottom: 56.4%;
        position: relative;
    }
    .flx_area .wp-block-embed-youtube iframe,
    .flx_area .map iframe {
        width: 100%;
        height: 100%;
        display: block;
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
    }

    /*  author
    ------------------------*/
    
    .author {
        border: 6px solid #F7F7F7;
        padding: 20px;
        margin-top: 80px;
        display: block;
        position: relative;
        margin-bottom: 35px;
    }

    .author_ttl {
        font-size: 13px;
        padding: 6px 15px 8px;
        font-weight: 600;
        background: #F7F7F7;
        display: inline-block;
        position: absolute;
        bottom: 100%;
        left: -6px;
        letter-spacing: 0.04em;
        border-radius: 4px 4px 0 0;
    }

    .author_img {
        width: 120px;
        border-radius: 50%;
        overflow: hidden;
        margin: 0 auto 10px;
    }

    .author_img img {
        height: 120px;
        object-fit: cover;
    }

    .author_com {
        font-size: 13px;
        color: #aeaeae;
        margin-bottom: 0px;
        text-align: center;
    }

    .author_name {
        font-size: 18px;
        font-weight: 600;
        letter-spacing: 0.1em;
        text-align: center;
    }

    .author_prof {
        border-top: 1px solid #DDDDDD;
        margin-top: 15px;
        padding-top: 20px;
        font-size: 15px;
        line-height: 1.8;
        letter-spacing: 0.04em;
    }

    .author_sns {
        margin-top: 15px;
        gap: 0 7px;
        justify-content: center;
    }

    .author_sns li {
        width: 27px;
    }

    .author_link {
        font-size: 14px;
        line-height: 1.4;
        margin-top: 10px;
    }

    .author_link a {
        color: #555555;
        text-decoration: none;
        font-weight: 600;
    }

    .author_link a span {
        text-decoration: underline;
        font-weight: 400; 
        word-break: break-all;
    }
    
    /*  pager
    ------------------------*/
    .pager {
        -webkit-justify-content: center;
        justify-content: center;
        -webkit-align-items: center;
        align-items: center;
        margin: 40px 0;
    }
    .page-numbers {
        font-family: proxima-nova, sans-serif;
        font-weight: 500;
        font-size: 15px;
        width: 35px;
        height: 35px;
        background: #EFEFEF;
        display: block;
        text-align: center;
        line-height: 35px;
        margin: 3px;
    }
    .page-numbers.current {
        background: #F9F47E;
    }
    .page-numbers.dots {
        background: none;
        width: auto;
        margin: 3px 5px;
    }
    /*  navi_recommend
    ------------------------*/
    #navi_recommend {
        background: #F7F7F7;
    }
    #navi_recommend a {
        text-decoration: none;
        display: block;
        color: #555;
    }
    #navi_recommend .inner {
        padding: 40px 0 20px;
    }
    .recommend_ttl {
        font-size: 19px;
        color: #fff;
        font-weight: 600;
        text-align: center;
        background: #20C691;
        padding: 25px;
        position: relative;
    }
    .recommend_ttl::before {
        content: "";
        position: absolute;
        top: 100%;
        left: 50%;
        margin-left: -20px;
        border: 14px solid transparent;
        border-top: 20px solid #20C691;
    }
    .recommend_list {
        display: block;
    }
    .recommend_item {
        width: 100%;
        padding-bottom: 20px;
        margin-bottom: 20px;
        border-bottom: 1px solid #DBDBDB;
    }
    .recommend_item:last-of-type {
        margin-bottom: 0;
        border: none;
    }
    .recommend_item .post_ttl {
        font-size: 16px;
        line-height: 1.5;
    }
}
