@charset 'UTF-8';
/* ----------------
ベース
------------------ */
*
{
    box-sizing: border-box;
}

a
{
    text-decoration: none;

    color: #4a90e2;
}

a:link
{
    color: #4a90e2;
}

a:visited
{
    color: #5e5cba;
}

dt
{
    font-weight: bold;
}

td,
th
{
    text-align: left;
}

body
{
    font-family: 游ゴシック体, 'Yu Gothic', 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif; 

    color: #333;
}

.base-container
{
    max-width: 970px;
    margin: 0 auto; 
    padding: 0 15px;
}

.base-heading
{
    font-size: 18px;
    font-weight: bold;

    padding-bottom: 5px; 

    color: #333;
    border-bottom: 1px solid #979797;
}

.base-required-label
{
    font-size: 11px;
    font-weight: bold;
    line-height: 1.3;

    display: inline-block;
    float: right;

    margin-top: 4px; 
    padding: 2px 8px;

    color: #fff;
    border-radius: 3px;
    background-color: #e30314;
}

.sub-heading
{
    font-size: 18px;
    font-weight: bold;

    margin: 0 0 10px 0;
}

#offcanvas
{
    padding-left: 20px;
}

#js-seo_info th
{
    width: 200px;
}

@media screen and (max-width: 767px)
{
    .base-show-pc
    {
        display: none;
    }
    #offcanvas
    {
        padding: 15px 10px;
    }
}

/* ------------------------------
　　ヘッダー
------------------------------ */
.header
{
    padding: 20px 0; 

    background-repeat: no-repeat;
    background-size: cover;
}

.header-bg
{
    padding: 0; 

    background-color: #424242;
}

.header-inner
{
    max-width: 970px;
    margin: 0 auto;
    padding: 0 15px;

    text-align: center;
}
.header-inner:before,
.header-inner:after
{
    display: table; 

    content: ' ';
}
.header-inner:after
{
    clear: both;
}

.header-title
{
    font-size: 24px;
    font-weight: bold;

    margin: 0;
}
.header-title a
{
    color: #333;
}
.header-title a:link,
.header-title a:hover,
.header-title a:focus,
.header-title a:visited
{
    color: #333;
}
.header-title a:link,
.header-title a:hover,
.header-title a:visited
{
    text-decoration: none;
}

.header-desc
{
    font-size: 13px;

    margin: 0;
}

.header-logo
{
    width: 100%;
    height: auto;
}

.header-logo-wrap
{
    float: left;

    width: 67px;
    height: 67px;
    margin-right: 5px;
}

.header-text
{
    float: left;
}

.header-icon-wrap
{
    float: right;
}

.header-wrap
{
    display: table; 

    width: 100%;
    height: 256px;
}

.header-inner-pattern2
{
    display: table-cell;

    vertical-align: middle;

    background-color: rgba(0, 0, 0, .3);
}
.header-inner-pattern2 a:link,
.header-inner-pattern2 a:hover,
.header-inner-pattern2 a:focus,
.header-inner-pattern2 a:visited
{
    color: #fff;
}
.header-inner-pattern2 .header-title
{
    padding-right: 0;

    color: #fff;
    text-shadow: 0 2px 0 rgba(0, 0, 0, .5);
}
.header-inner-pattern2 .header-desc
{
    color: #fff;
    text-shadow: 0 1px 0 rgba(0, 0, 0, .5);
}

.header-inner-pattern3
{
    text-align: left;
}

.header-btn
{
    position: absolute;
    top: 10px;
    right: 10px;

    display: none;

    width: 50px;
    height: 40px;
    padding: 12px 0; 

    cursor: pointer;

    border: none;
    border-radius: 3px;
    background: #555;
    box-shadow: 0 2px 0 0 #000;
}

.header-btn-line
{
    display: block;

    width: 24px;
    height: 3px;
    margin: 0 auto 4px auto;

    background: #fff;
    box-shadow: 0 -2px 0 #000;
}

@media screen and (max-width: 767px)
{
    .header-btn
    {
        display: block;
    }
    .header-inner
    {
        text-align: left;
    }
    .header-title
    {
        font-size: 18px;

        padding-right: 50px;
    }
    .header-text
    {
        float: none;
    }
    .header-desc
    {
        margin-top: 15px;

        text-align: center;
    }
    .header-logo-wrap
    {
        width: 33px;
        height: 33px;
    }
    .header-icon-wrap
    {
        float: none;

        margin-top: 15px;

        text-align: center;
    }
    .header-inner-pattern2
    {
        padding: 60px 10px; 

        text-align: center;
    }
}

/* ------------------------------
　　フッター
------------------------------ */
.footer
{
    margin-top: 30px;
    padding-top: 30px;
    padding-bottom: 20px; 

    background-color: #eee;
}

.footer-copyright
{
    font-family: verdana, sans-serif; 
    font-size: 12px;

    margin: 0;

    text-align: center;

    color: #333;
}

.footer-copyright img,
.footer-copyright svg
{
    width: 96px;
    height: 16.5px; 

    vertical-align: middle;
}

.footer .sub-heading
{
    padding-bottom: 5px; 

    border-bottom: 1px solid #979797;
}

.footer .category-list > ul
{
    margin-top: -10px; 

    border-top: none;
}

.footer .entry-list
{
    margin-top: -10px; 

    border-top: none;
}

/* ------------------------------
　　バナー
------------------------------ */
.banner
{
    margin: 0;
    padding: 0 0 7px 0; 

    list-style-type: none;
}

.banner li
{
    display: inline-block; 

    width: 100%;
    margin-bottom: 13px;
}

.banner a
{
    display: block;

    transition: opacity .2s; 

    opacity: 1;
}
.banner a:hover
{
    opacity: .7;

    -ms-filter: progid:DXImageTransform.Microsoft.Alpha(opacity=70);
    filter: alpha(opacity=70);
}

.banner img
{
    line-height: 0;
}

/* ----------------
　　エントリーサマリー（カード表示）
------------------ */
.card
{
    margin: 0 -12.5px;
    margin-bottom: 30px;
}
.card:before,
.card:after
{
    display: table; 

    content: ' ';
}
.card:after
{
    clear: both;
}

.card-item
{
    float: left;

    width: 33.33333333333%;
    margin-bottom: 10px; 
    padding: 0 12.5px;
}

.card-img
{
    width: 100%;
    height: 0;
    margin-bottom: 10px;
    padding-bottom: 84%;

    background-position: center; 
    background-size: cover;
}

.card-title
{
    font-size: 14px;
    font-weight: bold;

    margin: 0 0 10px 0;
}
.card-title a:link,
.card-title a:hover,
.card-title a:visited
{
    text-decoration: none;
}

.card-text
{
    font-size: 12px;

    margin: 0; 

    color: #333;
}

@media screen and (max-width: 767px)
{
    .card-item
    {
        float: none;

        width: auto;
    }
    .card-item:before,
    .card-item:after
    {
        display: table; 

        content: ' ';
    }
    .card-item:after
    {
        clear: both;
    }
    .card-img-wrap
    {
        float: left;

        width: 50%;
    }
    .card-body
    {
        float: left;

        width: 50%;
        padding: 0 0 10px 10px;
    }
}

/* ------------------------------
　　カテゴリーリスト
------------------------------ */
.category-list
{
    margin: 0 0 20px 0;
    padding: 0;
}
.category-list ul
{
    margin: 0; 
    padding: 0;

    border-top: 1px solid #979797;
}
.category-list li
{
    font-size: 16px;
    line-height: 1.5;

    display: block;

    padding: 15px 45px 15px 5px;

    list-style-type: none;

    border-bottom: 1px solid #979797;
}
.category-list li ul
{
    margin: 15px -45px -15px -5px;

    border-top: none;
}
.category-list li li
{
    font-size: 15px; 

    padding: 5px 45px 5px 20px;

    border-top: 1px solid #ddd;
    border-bottom: none;
}
.category-list li li ul
{
    margin: 5px -45px -5px -20px;
}
.category-list li li li
{
    font-size: 14px; 

    padding: 5px 45px 5px 20px;
}
.category-list li li li a
{
    margin: -5px -45px -5px -40px;
    padding: 5px 45px 5px 40px;
}
.category-list li li a
{
    margin: -5px -45px -5px -20px;
    padding: 5px 45px 5px 20px;
}
.category-list li li .category-list-label
{
    background-color: #f4f4f4;
}
.category-list li a
{
    position: relative;

    display: block;

    margin: -15px -45px -15px -5px;
    padding: 15px 45px 15px 5px;

    transition: background-color .2s; 
    text-decoration: none;

    color: #333;
    background-color: transparent;
}
.category-list li a:hover,
.category-list li a:focus
{
    background-color: #ccc;
}

.category-list-label
{
    font-size: 13px;
    line-height: 25px;

    position: absolute;
    top: 50%;
    right: 5px;

    display: inline-block;
    float: right; 

    min-width: 36px;
    margin-top: -12px;
    padding: 0 5px;

    text-align: center;

    color: #777;
    border-radius: 3px;
    background: #e3e3e3;
}

/* ----------------
コメント
------------------ */
.comment-form
{
    margin-bottom: 50px;
}

.comment-table
{
    width: 100%;
    margin-bottom: 15px;

    border-top: none;
}
.comment-table th
{
    font-size: 16px;
    font-weight: normal;
    line-height: 24px;

    width: 140px;
    padding: 5px 20px 5px 0;

    text-align: left;
    vertical-align: top;
    white-space: nowrap;

    color: #000;
    border-bottom: none;
}
.comment-table td
{
    padding: 5px 0;

    border-bottom: none;
}
.comment-table input[type='text'],
.comment-table input[type='password']
{
    font-size: 16px;
    line-height: 40px;

    width: 100%;
    height: 40px;
    padding: 0 10px;

    border: 1px solid #b2b2b4; 
    border-radius: 3px;
}
.comment-table textarea
{
    font-size: 16px;
    line-height: 40px; 

    width: 100%;
    padding: 0 10px;

    border: 1px solid #b2b2b4;
    border-radius: 3px;
}
@media screen and (max-width: 767px)
{
    .comment-table
    {
        display: block;
    }
    .comment-table tbody,
    .comment-table td,
    .comment-table th,
    .comment-table tr
    {
        display: block;

        width: auto;
    }
}

.comment-btn,
.comment-btn-inline
{
    font-size: 14px;

    width: 152px;
    padding: 10px 0;

    text-align: center;

    color: #fff;
    border: none;
    border-radius: 5px;
}

.comment-btn
{
    display: block; 

    margin: 0 auto;

    transition: background-color .2s;

    background-color: #007ab7;
}
.comment-btn:hover,
.comment-btn:focus
{
    background-color: #02476a;
}

.comment-btn-inline
{
    display: inline-block; 

    transition: background-color .2s;

    background-color: #949494;
}
.comment-btn-inline:hover,
.comment-btn-inline:focus
{
    background-color: #333;
}

.comment-list
{
    margin: 0 0 20px 0; 
    padding: 0;
}
.comment-list li
{
    display: block;

    padding: 15px 0 0 0; 

    list-style-type: none;

    border-top: 1px solid #979797;
}
.comment-list li:last-child
{
    border-bottom: none;
}
.comment-list > ol
{
    padding-left: 0;
}
.comment-list li:last-child
{
    border-bottom: none;
}
.comment-list ul
{
    display: block; 

    padding-left: 20px;

    border-top: 1px solid #979797;
}
.comment-list > li > ul
{
    padding-left: 0; 

    border-top: none;
}

.comment-list-title
{
    font-size: 18px;
    font-weight: bold;

    margin: 0 0 15px 0;

    color: #333;
}

.comment-list-text
{
    font-size: 16px;

    margin: 0 0 15px 0;

    color: #333;
}

.comment-list-info
{
    font-size: 14px;

    margin: 0;
    padding-bottom: 15px; 

    text-align: right;

    color: #636363;
}

/* ----------------
エントリーの部分
------------------ */
.entry
{
    word-break: break-word;
}

.entry .entry-header
{
    margin-bottom: 10px; 
    padding: 10px 5px;

    border-top: 1px solid #9b9b9b;
    border-bottom: 1px solid #9b9b9b;
}

.entry .entry-date
{
    font-family: Verdana;
    font-size: 14px;

    margin: 0 0 5px 0; 

    color: #888;
}

.entry .entry-title
{
    font-size: 22px;
    line-height: 1.4; 

    margin: 0;

    color: #333;
}
.entry .entry-title a
{
    text-decoration: none;
}
.entry .entry-title a:link,
.entry .entry-title a:hover,
.entry .entry-title a:focus,
.entry .entry-title a:visited
{
    color: #333;
}
.entry .entry-title a:hover
{
    text-decoration: underline;
}

.entry-labels
{
    margin: 0 0 10px 0;
    padding: 0;

    list-style-type: none;
}

.entry-labels li
{
    display: inline-block; 

    padding: 0 5px;
}

.entry-labels a
{
    font-size: 11px; 
    font-weight: bold;
    line-height: 1;

    display: inline-block;

    padding: 5px;

    border-radius: 5px;
}
.entry-labels a:link,
.entry-labels a:hover,
.entry-labels a:visited
{
    text-decoration: none;
}

.entry-category-label
{
    background-color: #007ab7;
}
.entry-category-label:link,
.entry-category-label:hover,
.entry-category-label:focus,
.entry-category-label:visited
{
    color: #fff;
}

.entry-tag-label
{
    background-color: #cbe6f3;
}
.entry-tag-label:link,
.entry-tag-label:hover,
.entry-tag-label:focus,
.entry-tag-label:visited
{
    color: #007ab7;
}

.entry-body
{
    font-size: 16px; 
    line-height: 1.5;

    margin-right: -10px;
    margin-left: -10px;
}
.entry-body p
{
    line-height: 1.7; 

    margin-top: 0;
    margin-bottom: 15px;
}
.entry-body a:hover
{
    text-decoration: underline;
}
.entry-body h2
{
    font-size: 24px;

    margin-top: 0;
    margin-bottom: 15px; 

    color: #333;
}
.entry-body h3
{
    font-size: 20px;

    margin-top: 0;
    margin-bottom: 10px; 

    color: #333;
}
.entry-body h4,
.entry-body h5
{
    font-size: 18px;

    margin-top: 0;
    margin-bottom: 10px; 

    color: #333;
}
.entry-body ul
{
    margin: 0 0 30px 0; 
    padding: 0 10px;
}
.entry-body ul li
{
    position: relative;

    margin-bottom: 10px; 
    padding-left: 35px;

    list-style-type: none;

    color: #333;
}
.entry-body ul li:before
{
    position: absolute;
    top: 10px;
    left: 20px;

    display: inline-block;

    width: 6px;
    height: 6px;
    margin-right: 8px; 

    content: '';

    border-radius: 3px;
    background: #cacaca;
}
.entry-body ol
{
    padding-left: 45px;
}
.entry-body ol li
{
    margin-bottom: 10px;
}
.entry-body dt
{
    font-weight: bold;

    margin-bottom: 15px;
}
.entry-body dd
{
    margin-bottom: 15px; 
    margin-left: 15px;
}
.entry-body table
{
    font-size: 16px;

    width: 100%;
    margin-bottom: 20px; 

    color: #333;
}
.entry-body table th
{
    padding: 10px;

    border: 1px solid #999; 
    background: #eee;
}
.entry-body table td
{
    padding: 10px;

    border: 1px solid #999;
}
.entry-body blockquote
{
    font-size: 14px; 
    line-height: 1.7;

    padding: 20px 10px;

    border: 1px solid #999;
    border-left: 7px solid #999;
}
.entry-body .quoteTitle a
{
    font-size: 18px; 
    font-weight: bold;
}
.entry-body .quoteDescription
{
    font-size: 13px;
}
.entry-body .caption
{
    font-size: 12px;
    line-height: 1; 

    margin-bottom: 10px;

    color: #aaa;
}
.entry-body .prettyprint
{
    margin: 0 0 20px 0;
}
.entry-body .prettyprint ol
{
    line-height: 2em; 

    margin: 0;
    padding-left: 30px;
}
.entry-body .prettyprint li
{
    line-height: 1.5; 

    margin-bottom: 5px;
}
.entry-body .entry-container
{
    clear: both;
}
.entry-body ul,
.entry-body ol,
.entry-body dl
{
    overflow: hidden;
}
@media screen and (max-width: 767px)
{
    .entry-body .entry-container
    {
            overflow-x: auto; 
        -ms-overflow-x: auto;
    }
    .entry-body table th,
    .entry-body table td
    {
        white-space: nowrap;
    }
}

.entry-continue-btn-wrap
{
    font-size: 16px;

    margin-top: 15px;
    margin-bottom: 30px;
    padding: 0;
}
.entry-continue-btn-wrap:before,
.entry-continue-btn-wrap:after
{
    display: table; 

    content: ' ';
}
.entry-continue-btn-wrap:after
{
    clear: both;
}

.entry-continue-btn
{
    position: relative;

    display: block;
    float: right;

    max-width: 540px;
    padding: 10px 40px 10px 10px;

    transition: background-color .2s;

    border-radius: 5px; 
    background-color: #007ab7;
}
.entry-continue-btn:link,
.entry-continue-btn:hover,
.entry-continue-btn:focus,
.entry-continue-btn:visited
{
    color: #fff;
}
.entry-continue-btn:link,
.entry-continue-btn:hover,
.entry-continue-btn:visited
{
    text-decoration: none;
}
.entry-continue-btn:hover,
.entry-continue-btn:focus
{
    background-color: #02476a;
}

.entry-continue-btn i
{
    position: absolute;
    top: 15px; 
    right: 10px;
}

.entry-footer
{
    padding: 30px 0;
}

.entry-user
{
    font-size: 14px; 

    color: #777;
}
.entry-user i
{
    margin-right: 5px;
}

.entry-user-info
{
    font-size: 12px;

    display: inline-block;

    margin-right: 5px;

    color: #999;
}

.entry-user-info a
{
    color: #999;
}

.entry-user-info i
{
    font-size: 14px;

    vertical-align: text-top;
}

.entry-user-info i
{
    margin-left: 10px;
}

.entry-user-info:first-child i
{
    margin-left: 0;
}

.entry-social
{
    margin-top: 10px;
    padding: 10px; 

    background-color: #eee;
}

.entry-social-inner
{
    display: table; 

    margin: 0 auto;
    padding: 0;
}

.entry-social-btn-wrap
{
    line-height: 1px;

    display: block;
    float: left;

    margin-top: 5px;
    margin-right: 20px; 
    margin-bottom: 10px;
}
.entry-social-btn-wrap:last-child
{
    margin-right: 0;
}

/* ----------------
acms.cssの上書き
------------------ */
@media screen and (max-width: 767px)
{
    .acms-entry [class*=column-eximage-].nocaption,
    .acms-entry [class*=column-image-].nocaption,
    .acms-entry [class*=column-map-],
    .acms-entry [class*=column-media-].nocaption,
    .acms-entry [class*=column-video-],
    .acms-entry [class*=column-yolp-],
    .acms-entry [class*=column-youtube-]
    {
        text-align: center;
    }
    .column-eximage-left,
    .column-image-left,
    .column-media-left
    {
        float: none;

        text-align: center;
    }
    .column-eximage-right,
    .column-image-right,
    .column-media-right
    {
        float: none;

        text-align: center;
    }
    .entry-title
    {
        font-size: 18px;
    }
}

@media screen and (max-width: 767px)
{
    .acms-entry .caption
    {
        text-align: center;
    }
}

/* ------------------------------
　　エントリーサマリー（リスト表示）
------------------------------ */
.entry-list
{
    margin: 0 0 20px 0;
    padding: 0;

    list-style-type: none;

    border-top: 1px solid #979797;
}

.entry-list .acms-admin-label
{
    display: inline-block;
}

.entry-list li
{
    display: block;

    padding: 10px;

    color: #333; 
    border-bottom: 1px solid #979797;
}

.entry-list a
{
    display: block;

    margin: -10px;
    padding: 10px;

    transition: background-color .2s; 

    background-color: transparent;
}
.entry-list a:link,
.entry-list a:hover,
.entry-list a:focus,
.entry-list a:visited
{
    color: #333;
}
.entry-list a:link,
.entry-list a:hover,
.entry-list a:visited
{
    text-decoration: none;
}
.entry-list a:hover,
.entry-list a:focus
{
    background-color: #eee;
}

.entry-list-date
{
    font-size: 12px;
    font-weight: bold;

    display: inline-block; 

    margin-bottom: 5px;

    color: #888;
}

.entry-list-category
{
    font-size: 12px;
    font-weight: bold;

    display: inline-block; 

    margin-bottom: 5px;

    color: #007ab7;
}

.entry-list-title
{
    font-size: 14px;
    font-weight: bold; 

    display: block;
}

/* ------------------------------
　　ナビゲーション
------------------------------ */
.nav
{
    background-color: #333;
}

.nav-list
{
    max-width: 970px;
    margin: 0 auto; 
    padding: 0 15px;
}
.nav-list:before,
.nav-list:after
{
    display: table; 

    content: ' ';
}
.nav-list:after
{
    clear: both;
}
.nav-list li
{
    display: block;
    float: left;

    padding: 13px 20px;

    list-style-type: none;

    border-left: 1px solid #000;
}
.nav-list li:last-child
{
    border-right: 1px solid #706f70;
}
.nav-list li:last-child a
{
    border-right: 1px solid #000;
}
.nav-list a
{
    display: block;

    margin: -13px -20px;
    padding: 13px 20px;

    transition: background-color .2s; 

    border-left: 1px solid #706f70;
    background-color: #333;
}
.nav-list a:link,
.nav-list a:hover,
.nav-list a:focus,
.nav-list a:visited
{
    color: #fff;
}
.nav-list a:link,
.nav-list a:hover,
.nav-list a:visited
{
    text-decoration: none;
}
.nav-list a:hover,
.nav-list a:focus
{
    background-color: #666;
}

#nav-list-wrap
{
    display: inline;
}

.nav-title
{
    font-size: 18px;
    font-weight: bold;

    display: none;

    margin: 0;
    padding: 10px;

    color: #fff;
    background-color: #333;
}

/* パターン2 */
.links
{
    padding: 20px 0;
}

.links-list
{
    font-size: 16px;

    max-width: 970px;
    margin: 0 auto;
    padding: 0 15px;

    list-style-type: none;
}
.links-list li
{
    margin-bottom: 20px;
}
.links-list li:last-child
{
    margin-bottom: 0;
}
.links-list a
{
    text-decoration: none;
}
.links-list a:link,
.links-list a:hover,
.links-list a:focus,
.links-list a:visited
{
    color: #333;
}
.links-list a:hover
{
    text-decoration: underline;
}
.links-list a:before
{
    display: inline-block;

    width: 6px;
    height: 6px;
    margin-right: 10px;

    content: '';
    vertical-align: middle; 

    border-radius: 3px;
    background-color: #cacaca;
}

@media screen and (max-width: 767px)
{
    .nav-title
    {
        display: block;
    }
    .nav-title i
    {
        float: right;
    }
    .js-toggle-heading
    {
        cursor: pointer;
    }
    #nav-list-wrap
    {
        display: block;
        overflow: hidden;

        height: 0;

        transition: height .2s;
    }
    .nav-list
    {
            overflow-y: hidden;
        -ms-overflow-y: hidden;

        padding: 0;

        transition: height .2s;

        color: #333;
        background-color: #fff;
    }
    .nav-list li
    {
        font-weight: bold;

        float: none;

        border-left: none;
    }
    .nav-list li:last-child
    {
        border-right: none;
    }
    .nav-list li:last-child a
    {
        border-right: none;
    }
    .nav-list a
    {
        transition: background-color .2s;

        border-bottom: 1px solid #9b9b9b; 
        border-left: none;
        background-color: #fff;
    }
    .nav-list a:link,
    .nav-list a:hover,
    .nav-list a:focus,
    .nav-list a:visited
    {
        color: #333;
    }
    .nav-list a:hover,
    .nav-list a:focus
    {
        background-color: #eee;
    }
}

/* ----------------
シリアルナビ
------------------ */
.serial-nav
{
    font-size: 14px; 

    position: relative;

    height: 35px;
    margin-bottom: 30px;
}
.serial-nav ul
{
    margin: 0;
    padding: 0;
}
.serial-nav li
{
    display: block; 

    list-style-type: none;
}
.serial-nav a
{
    display: block;
    overflow: hidden;

    width: 100%;

    transition: background-color .2s; 
    white-space: nowrap;
    text-decoration: none;
        text-overflow: ellipsis;
    -ms-text-overflow: ellipsis;

    color: #fff;
    border-radius: 5px;
    background-color: #007ab7;
}
.serial-nav a:link,
.serial-nav a:hover,
.serial-nav a:focus,
.serial-nav a:visited
{
    color: #fff;
}
.serial-nav a:link,
.serial-nav a:hover,
.serial-nav a:visited
{
    text-decoration: none;
}
.serial-nav a:hover,
.serial-nav a:focus
{
    background-color: #02476a;
}

.serial-nav-prev
{
    float: left; 

    max-width: 290px;
}
.serial-nav-prev a
{
    position: relative;

    padding: 5px 10px 5px 25px;
}

.serial-nav-prev-icon
{
    position: absolute;
    top: 8px;
    left: 5px;
}

.serial-nav-index
{
    position: absolute;
    top: 0;
    left: 50%;

    width: 60px;
    margin-left: -30px;

    text-align: center;
}
.serial-nav-index a
{
    padding: 5px 0;
}

.serial-nav-next
{
    float: right; 

    max-width: 290px;

    text-align: right;
}
.serial-nav-next a
{
    position: relative;

    padding: 5px 25px 5px 10px;
}

.serial-nav-next-icon
{
    position: absolute;
    top: 8px;
    right: 5px;
}

@media screen and (max-width: 970px)
{
    .serial-nav-next,
    .serial-nav-prev
    {
        max-width: 200px;
    }
}

@media screen and (max-width: 767px)
{
    .serial-nav
    {
        height: auto;
    }
    .serial-nav ul
    {
        position: static;

        padding: 5px 10px;
    }
    .serial-nav li
    {
        position: static;

        padding: 5px 10px;
    }
    .serial-nav-prev
    {
        float: left;

        width: 50%; 
        max-width: 100%;
    }
    .serial-nav-next
    {
        float: right;

        width: 50%; 
        max-width: 100%;
    }
    .serial-nav-index
    {
        clear: both;

        width: 100%;
        max-width: 100%; 
        margin: 10px 0 0 0;
    }
}

/* ----------------
ページャー
------------------ */
.pager
{
    width: 100%;
}
.pager ul
{
    margin: 0 135px;
    padding: 0;

    text-align: center;
}
.pager li
{
    margin-bottom: 5px; 

    list-style-type: none;

    background: #fff;
}
.pager li span
{
    font-size: 14px;

    display: block;

    width: 100%;

    color: #949494; 
    border: 1px solid #949494;
    border-radius: 5px;
    background: #fff;
}
.pager li a > span
{
    transition: background-color .2s; 

    color: #fff;
    border: 1px solid #007ab7;
    background-color: #007ab7;
}
.pager li a > span:hover,
.pager li a > span:focus
{
    background-color: #02476a;
}
.pager a
{
    display: block;

    width: 100%;
}
.pager a:link,
.pager a:hover,
.pager a:visited
{
    text-decoration: none;
}
.pager a:link,
.pager a:hover,
.pager a:focus,
.pager a:visited
{
    color: #fff;
}

.pager-item
{
    line-height: 33px;

    display: inline-block; 

    width: 37px;
    height: 33px;
}

.pager-next
{
    line-height: 33px;

    float: right;

    height: 33px;
    margin: 0;
}

.pager-next a
{
    padding: 0 10px;

    transition: background-color .2s; 

    border-radius: 5px;
    background-color: #007ab7;
}
.pager-next a:hover,
.pager-next a:focus
{
    background-color: #02476a;
}

.pager-next-icon
{
    margin-left: 5px;
}

.pager-container
{
    position: relative;
}

.pager-prev
{
    line-height: 33px;

    float: left;

    height: 33px;
    margin: 0;
}

.pager-prev a
{
    padding: 0 10px;

    transition: background-color .2s; 

    border-radius: 5px;
    background-color: #007ab7;
}
.pager-prev a:hover,
.pager-prev a:focus
{
    background-color: #02476a;
}

.pager-prev-icon
{
    margin-right: 5px;
}

@media screen and (max-width: 767px)
{
    .pager
    {
        display: table;
    }
    .pager-container
    {
        display: table-footer-group;
    }
    .pager ul
    {
        margin: 0;
    }
}

/* ------------------------------
　　プロフィール
------------------------------ */
.profile
{
    margin-bottom: 20px;
}

.profile-name
{
    font-size: 18px;
    font-weight: bold;

    margin: 0 0 10px 0; 

    color: #333;
}

.profile-position
{
    font-size: 12px;

    margin: 0 0 15px 0; 

    color: #333;
}

.profile-text
{
    font-size: 14px;

    margin: 0 0 20px 0; 

    color: #333;
}

.profile-img
{
    display: block;

    width: 150px;
    height: auto;
    margin: 0 auto 10px auto;

    border-radius: 50%;
}

.profile-icon-list
{
    text-align: center;
}

@media screen and (min-width: 480px)
{
    .js-acms-offcanvas-body-right
    {
        left: -300px;
    }
    .js-acms-offcanvas-body-left
    {
        left: 300px;
    }
    .js-acms-offcanvas-active .js-acms-offcanvas-sidebar
    {
        width: 300px;
    }
    .js-acms-offcanvas-active .js-acms-offcanvas-sidebar-right
    {
        margin-right: -300px;
    }
    .js-acms-offcanvas-active .js-acms-offcanvas-sidebar-left
    {
        margin-left: -300px;
    }
    .js-acms-offcanvas-body-right .js-acms-header-fixed
    {
        margin-left: -300px;
    }
    .js-acms-offcanvas-body-left .js-acms-header-fixed
    {
        margin-left: 300px;
    }
}

/* ------------------------------
　　検索フォーム
------------------------------ */
.search-form
{
    display: table;

    width: 100%; 
    margin-bottom: 20px;

    table-layout: fixed;
}

.search-form-text
{
    font-size: 14px;

    display: table-cell;

    width: 100%;
    height: 30px;
    padding: 5px; 

    border: 1px solid #bfbfbf;
    border-radius: 3px;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.search-form-btn-wrap
{
    position: relative;

    display: table-cell;

    width: 40px;
}

.search-form-btn
{
    font-size: 18px;
    line-height: 1;

    position: absolute;
    top: 0;
    left: 0; 

    width: 100%;
    height: 30px;
    margin-left: -1px;
    padding: 0;

    text-align: center;
    vertical-align: middle;

    color: #fff;
    border: none;
    border-top-right-radius: 3px;
    border-bottom-right-radius: 3px;
    background: #949494;
}

/* ------------------------------
　　検索結果の表示
------------------------------ */
.search-result
{
    position: relative; 

    margin: 0 0 20px 0;

    text-align: center;
}
.search-result:before
{
    position: absolute;
    z-index: -1; 
    top: 50%;
    left: 0;

    display: block;

    width: 100%;
    height: 1px;

    content: '';

    background-color: #9b9b9b;
}

.search-result-heading
{
    font-size: 18px;
    line-height: 1.3;

    z-index: 1;

    display: inline-block;

    margin: 0; 
    padding-right: 15px;
    padding-left: 15px;

    color: #333;
    background-color: #fff;
}

.search-result-heading a
{
    color: #333;
}

.search-result-heading a:hover
{
    color: #4a90e2;
}

.social-icon
{
    font-size: 24px;

    display: inline-block;

    width: 44px;
    height: 44px;
    margin-right: 8px;
    margin-bottom: 10px;

    text-align: center;
    vertical-align: middle;

    color: #fff;
    border-radius: 50%;
    background-color: #9b9b9b;
    text-shadow: 0 -1px 0 rgba(0, 0, 0, .5);
}
.social-icon:link,
.social-icon:hover,
.social-icon:focus,
.social-icon:visited
{
    color: #fff;
}
.social-icon:link,
.social-icon:hover,
.social-icon:visited
{
    text-decoration: none;
}
.social-icon:last-child
{
    margin-right: 0;
}
.social-icon:focus
{
    outline: -webkit-focus-ring-color auto 5px;
    outline-width: 5px; 
    outline-style: auto;
    outline-color: -webkit-focus-ring-color;
}

.social-icon i
{
    line-height: 1.8;
}

.social-icon-twitter
{
    background-color: #55acee;
}

.social-icon-facebook
{
    background-color: #3b5998;
}

.social-icon-gplus
{
    background-color: #cc3732;
}

/* ----------------
　　エントリーサマリー（カード表示）
------------------ */
.card
{
    margin: 0 -12.5px;
    margin-bottom: 30px;
}
.card:before,
.card:after
{
    display: table; 

    content: ' ';
}
.card:after
{
    clear: both;
}

.card-item
{
    float: left;

    width: 33.33333333333%;
    margin-bottom: 10px; 
    padding: 0 12.5px;
}

.card-img
{
    width: 100%;
    height: 0;
    margin-bottom: 10px;
    padding-bottom: 84%;

    background-position: center; 
    background-size: cover;
}

.card-title
{
    font-size: 14px;
    font-weight: bold;

    margin: 0 0 10px 0;
}
.card-title a:link,
.card-title a:hover,
.card-title a:visited
{
    text-decoration: none;
}

.card-text
{
    font-size: 12px;

    margin: 0; 

    color: #333;
}

@media screen and (max-width: 767px)
{
    .card-item
    {
        float: none;

        width: auto;
    }
    .card-item:before,
    .card-item:after
    {
        display: table; 

        content: ' ';
    }
    .card-item:after
    {
        clear: both;
    }
    .card-img-wrap
    {
        float: left;

        width: 50%;
    }
    .card-body
    {
        float: left;

        width: 50%;
        padding: 0 0 10px 10px;
    }
}

.media
{
    margin: 0 -7.5px;
    margin-bottom: 30px;
}
.media:before,
.media:after
{
    display: table; 

    content: ' ';
}
.media:after
{
    clear: both;
}

.media-time
{
    font-size: 12px;
    font-weight: bold;

    color: #888;
}

.media-item
{
    float: left;

    width: 50%;
    margin-bottom: 10px; 
    padding: 0 7.5px;
}

.media-img
{
    float: left;

    width: 150px;
    height: 100px;

    background-position: center; 
    background-size: cover;
}

.media-body
{
    margin-left: 160px;
}

.media-title
{
    font-size: 14px;
    font-weight: bold;

    margin: 0 0 10px 0;
}
.media-title a:link,
.media-title a:hover,
.media-title a:focus,
.media-title a:visited
{
    color: #333;
}
.media-title a:link,
.media-title a:hover,
.media-title a:visited
{
    text-decoration: none;
}

@media screen and (max-width: 767px)
{
    .media-item
    {
        float: none;

        width: auto;
    }
}

/* ------------------------------
　　タグクラウド
------------------------------ */
.tag-cloud
{
    margin: 0 0 20px 0; 
    padding: 0;
}
.tag-cloud a:link,
.tag-cloud a:hover,
.tag-cloud a:focus,
.tag-cloud a:visited
{
    color: #2262ac;
}
.tag-cloud a:link,
.tag-cloud a:visited
{
    text-decoration: none;
}
.tag-cloud a:hover
{
    text-decoration: underline;
}
.tag-cloud li
{
    display: inline; 

    list-style-type: none;
}
.tag-cloud ul
{
    margin: 0; 
    padding: 0 0 0 10px;
}
.tag-cloud .acms-admin-module-edit a
{
    text-decoration: underline;
}
.tag-cloud .acms-admin-module-edit a:link,
.tag-cloud .acms-admin-module-edit a:hover,
.tag-cloud .acms-admin-module-edit a:focus,
.tag-cloud .acms-admin-module-edit a:visited
{
    color: #fff;
}

.tag-cloud-item1
{
    font-size: 12px;
}

.tag-cloud-item2
{
    font-size: 12px;
}

.tag-cloud-item3
{
    font-size: 14px;
}

.tag-cloud-item4
{
    font-size: 14px;
}

.tag-cloud-item5
{
    font-size: 14px;
}

.tag-cloud-item6
{
    font-size: 16px;
}

.tag-cloud-item7
{
    font-size: 16px;
}

.tag-cloud-item8
{
    font-size: 16px;
}

.tag-cloud-item9
{
    font-size: 16px;
}

.tag-cloud-item10
{
    font-size: 16px;
}

.tag-cloud-item11
{
    font-size: 16px;
    font-weight: bold;
}

.tag-cloud-item12
{
    font-size: 16px;
    font-weight: bold;
}

.tag-cloud-item13
{
    font-weight: bold;
}

.tag-cloud-item14
{
    font-weight: bold;
}

.tag-cloud-item15
{
    font-size: 18px;
    font-weight: bold;
}

.tag-cloud-item16
{
    font-size: 18px;
    font-weight: bold;
}

.tag-cloud-item17
{
    font-weight: bold;
}

.tag-cloud-item18
{
    font-weight: bold;
}

.tag-cloud-item19
{
    font-weight: bold;
}

.tag-cloud-item20
{
    font-size: 20px;
    font-weight: bold;
}

.tag-cloud-item21
{
    font-size: 20px;
    font-weight: bold;
}

.tag-cloud-item22
{
    font-size: 20px;
    font-weight: bold;
}

.tag-cloud-item23
{
    font-size: 20px;
    font-weight: bold;
}

.tag-cloud-item24
{
    font-size: 20px;
    font-weight: bold;
}

.tag-cloud-item25
{
    font-size: 20px;
    font-weight: bold;
}

.tag-filter
{
    margin-bottom: 20px; 

    text-align: center;
}

.tag-filter-list
{
    margin: 0;
    padding: 0;

    text-align: center;
}

.tag-filter-list li
{
    display: inline-block;

    list-style-type: none;
}
.tag-filter-list li:after
{
    display: inline-block;

    margin-right: 5px;
    margin-left: 5px; 

    content: '/';

    color: #9b9b9b;
}
.tag-filter-list li:last-child:after
{
    display: none;
}

.tag-filter-list a
{
    color: #9b9b9b;
}

.tag-filter-list a:hover
{
    color: #4a90e2;
}

/* ------------------------------
　　エントリーサマリー（サムネイル表示）
------------------------------ */
.thumbnail
{
    margin: 0 0 20px 0;
    padding: 0;
}
.thumbnail li
{
    display: block; 

    margin-bottom: 10px;

    list-style-type: none;
}
.thumbnail a
{
    text-shadow: 0 0 3px #000;
}
.thumbnail a:link,
.thumbnail a:hover,
.thumbnail a:visited
{
    text-decoration: none;
}
.thumbnail a:link,
.thumbnail a:hover,
.thumbnail a:focus,
.thumbnail a:visited
{
    color: #fff;
}

.thumbnail-bg
{
    display: table;

    width: 100%;
    height: 150px;

    color: #fff;
    background: #333 center;
    background-size: cover;
    text-shadow: 0 0 3px #000;
}
.thumbnail-bg:hover
{
    opacity: .7;

    -ms-filter: progid:DXImageTransform.Microsoft.Alpha(opacity=70);
    filter: alpha(opacity=70);
}

.thumbnail-inner
{
    display: block;
    display: table-cell;

    width: 100%;
    height: 100%;

    vertical-align: bottom;
}

.thumbnail-shade
{
    padding: 10px 5px;

    background: linear-gradient(transparent 0%, rgba(0, 0, 0, .7) 34%);
}

.thumbnail-date
{
    font-size: 13px; 

    margin-top: 0;
    margin-bottom: 5px;
}

.thumbnail-title
{
    font-size: 15px; 

    margin-top: 0;
    margin-bottom: 0;
}

@media screen and (max-width: 767px)
{
    .thumbnail li
    {
        float: none;

        width: 100%;
        padding: 0;
    }
}

/* ------------------------------
　　トピックパス
------------------------------ */
.topicpath
{
    font-size: 12px; 

    margin: 0;
    padding: 15px 0;

    list-style-type: none;
}

.topicpath-wrap
{
    min-height: 48px;
}

.topicpath li
{
    display: inline-block; 

    margin-left: 20px;
}
.topicpath li:after
{
    display: inline-block;

    margin-left: 20px; 

    content: '>';
}
.topicpath li:first-child
{
    margin-left: 0;
}
.topicpath li:last-child:after
{
    display: none;
}