@charset 'utf-8';
html
{
    font-family: -apple-system, system-ui, BlinkMacSystemFont, Segoe UI, ヒラギノ角ゴ Pro W3, Hiragino Kaku Gothic Pro, YuGothic, Yu Gothic, メイリオ, Meiryo, Arial, Helvetica, sans-serif;
    line-height: 1.15;

    color: #1a1a1a;
    background: #333;

    -webkit-text-size-adjust: 100%;
        -ms-text-size-adjust: 100%;
    -ms-overflow-style: scrollbar;
    -webkit-tap-highlight-color: transparent;
}

body
{
    background: white;
}

.frame-main
{
    position: relative;
}


/* util -------------------------------------------- */

.text-dido
{
    font-family: 'Dido', serif;
}

.text-anton
{
    font-family: 'Anton', sans-serif;
}

.text-hide
{
    font-size: 0;

    color: transparent;
}

.text-i-block > span
{
    display: inline-block;
}


/* pagetop170 */


/*--------------------------------------------------*/

.pagetop170
{
    font-size: 28px;

    position: fixed;
    z-index: 2147483647;
    right: 25px;
    bottom: 25px;

    display: none;

    width: 1.75em;
    height: 1.75em;
    padding: 0;

    color: #fafafa;
    border: none;
    border-radius: 50%;
    background-color: #888;
}

@media (max-width: 575px)
{
    .pagetop170
    {
        right: 10px;
        bottom: 40px;
    }
}

.pagetop170 i
{
    line-height: 1;

    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;

    width: 1em;
    height: 1em;
    margin: auto;
}

.pagetop170 i::before
{
    margin: 0;

    -webkit-transform: translateY(-2px);
            transform: translateY(-2px);
}

.ua-ie .pagetop170 i::before
{
    -webkit-animation: pagetop170-fix-ie 10ms infinite;
            animation: pagetop170-fix-ie 10ms infinite;

    -webkit-animation-fill-mode: both;
            animation-fill-mode: both;
}

@-webkit-keyframes pagetop170-fix-ie
{
    0%
    {
        margin: .1px;
    }
    100%
    {
        margin: 0;
    }
}

@keyframes pagetop170-fix-ie
{
    0%
    {
        margin: .1px;
    }
    100%
    {
        margin: 0;
    }
}

.pagetop170:hover i
{
    -webkit-animation: pagetop170 1000ms;
            animation: pagetop170 1000ms;
}

.pagetop170-text
{
    position: absolute;

    overflow: hidden;
    clip: rect(0, 0, 0, 0);

    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;

    border: 0;
}

@-webkit-keyframes pagetop170
{
    15%
    {
        -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    }
    40%
    {
        -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    }
    60%
    {
        -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    }
    80%
    {
        -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    }
}

@keyframes pagetop170
{
    15%
    {
        -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
                transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    }
    40%
    {
        -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
                transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    }
    60%
    {
        -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
                transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    }
    80%
    {
        -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
                transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    }
}


/* breadcrumbs168 */


/*--------------------------------------------------*/

.breadcrumbs168 .breadcrumbs
{
    font-size: 14px;
    line-height: 1.3;

    margin: 5px -5px 0;
}

.breadcrumbs168 .breadcrumbs > span
{
    margin: 0 5px;

    vertical-align: middle;
}

.breadcrumbs168 .breadcrumbs a
{
    -webkit-transition: color 100ms;
            transition: color 100ms;
}

.ua-nontouch .breadcrumbs168 .breadcrumbs a:hover
{
    color: #00a9c7;
}

@media (max-width: 575px)
{
    .breadcrumbs168 .breadcrumbs
    {
        display: none;
    }
}


/* subvisual224 */


/*--------------------------------------------------*/

.subvisual224
{
    height: 350px;

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

@media (max-width: 767px)
{
    .subvisual224
    {
        height: 120px;
    }
}


/* title204 */


/*--------------------------------------------------*/

.title204-text
{
    font-size: 26px;
    line-height: 1.3;

    padding: 10px 0;

    text-align: center;
}

.title204-text > span
{
    position: relative;

    display: inline-block;

    padding: 0 .5em;
}

.title204-text > span::before,
.title204-text > span::after
{
    position: absolute;
    top: 50%;

    width: 2500%;

    content: '';
}

.title204-text > span::before
{
    right: 100%;
}

.title204-text > span::after
{
    left: 100%;
}

@media (max-width: 767px)
{
    .title204-text
    {
        font-size: 22px;
    }
}

.title204-text
{
    overflow: hidden;
}

.title204-text > span::before,
.title204-text > span::after
{
    border-top: 1px solid #aaa;
}

@media (max-width: 767px)
{
    .title204 .container-fluid
    {
        padding: 0;
    }
    .title204-text
    {
        padding: 10px;
    }
}


/* sidebar */


/*--------------------------------------------------*/

.widget-rapper
{
    padding-bottom: 60px;
}

.widget
{
    padding-bottom: 15px;
}

.widget-title
{
    font-family: 'Anton', sans-serif;
    font-size: 22px;

    margin-bottom: 10px;
    padding: 2.5em 0 10px;

    border-bottom: 2px solid #333;
}

.widget:first-child .widget-title
{
    padding-top: 0;
}

.widget > ul > li > a
{
    font-weight: bold;

    position: relative;

    display: block;
    overflow: hidden;

    padding: 15px 0;

    -webkit-transition: all .25s linear;
            transition: all .25s linear;
    text-overflow: ellipsis;
}

.widget > ul > li:hover > a
{
    opacity: .5;
}

.widget > ul > li h3
{
    font-size: 14px;
}

.widget > ul > li p
{
    font-size: 12px;
}

.widget select
{
    width: 90%;
    margin: 10px 5%;
}

.widget_categories select
{
    margin-top: 0;
}

ul.widget-is-thumbnail
{
    margin-top: -15px;
}

ul.widget-is-thumbnail > li
{
    border-bottom: 2px solid #333;
}

.widget__img
{
    float: left;

    width: 30%;
    margin-right: 1rem;
}

.widget__img > figure
{
    padding-top: 80%;
}

.screen-reader-text
{
    display: block;

    width: 88%;
    margin: 15px auto 0 auto;
}


/* カレンダー */

.widget_calendar table
{
    width: 100%;
}

.widget_calendar td,
.widget_calendar th
{
    padding: 3px 7px;

    text-align: center;
}

.widget_calendar thead
{
    border-top: 1px solid #ccc;
}

.widget_calendar thead th,
.widget_calendar tbody td
{
    border-right: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
}

.widget_calendar caption
{
    font-size: 16px;

    padding: 7px 0;

    text-align: center;
}

.widget_calendar a
{
    text-decoration: underline;

    color: blue;
}

.widget_calendar tfoot td
{
    padding: 7px 0;
}


/* 検索 */

.widget_search
{
    border: none;
}

.widget_search .widget-title
{
    border: 1px solid #ccc;
    border-bottom: none;
}

.widget ul.children
{
    border-top: 1px dotted #ccc;
}

.widget ul.children li
{
    -webkit-transition: all .25s linear;
            transition: all .25s linear;
}

.widget ul.children li a:before
{
    content: '├ ';
}

.widget ul.children li:last-child a:before
{
    content: '└ ';
}

.widget ul.children li a
{
    display: block;

    padding: 13px 15px 7px 10px;
}

.widget ul.children li:hover > a
{
    background-color: #efefef;
}

.widget ul.children li > a:after
{
    font-family: 'fontello';

    position: absolute;
    right: 30px;

    content: '\e802';
}

.widget ul.children li:hover > a:after
{
    right: 25px;

    -webkit-transition: all .25s linear;
            transition: all .25s linear;
}

.searchform
{
    position: relative;
}

.searchform input[type='search']
{
    width: 100%;
}

.searchfield
{
    font-size: 14px;

    padding: 7px;
}

.searchsubmit
{
    font-size: 20px;

    position: absolute;
    top: 5px;
    right: 10px;

    width: 35px;
    height: 30px;
    padding: 0;

    cursor: pointer;

    border: none;
    background: transparent;
}


/* カスタムメニュー */

.widget_nav_menu li > a
{
    position: relative;

    display: block;
    overflow: hidden;

    padding: 10px 15px;

    -webkit-transition: all .25s linear;
            transition: all .25s linear;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.widget_nav_menu li:hover > a
{
    background-color: #efefef;
}

.widget_nav_menu li > a:after
{
    font-family: 'fontello';

    position: absolute;
    right: 15px;

    content: '\e802';
}

.widget_nav_menu li:hover > a:after
{
    right: 10px;

    -webkit-transition: all .25s linear;
            transition: all .25s linear;
}

.widget_nav_menu li:not(:last-child)
{
    border-bottom: 1px dashed #ccc;
}


/* タグクラウド */

.widget_tag_cloud .tagcloud
{
    padding: 10px 15px;
}


/* タイトル */

.single-title
{
    font-size: 20px;

    padding-bottom: 10px;

    border-bottom: 1px solid #ccc;
}


/* カテゴリー名 */

.news-cat-tag
{
    margin-right: 3px;
    padding: 2px 10px;

    background-color: #ccc;
}


/* 次の記事 */

.single-arrow-next
{
    text-align: right;
}


/* アーカイブのページネーション */

.pagenation
{
    text-align: center;
}

.page-numbers
{
    padding: 5px 10px;

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

.page-numbers.current
{
    color: #333;
    border: 1px solid #333;
    background-color: #fff;
}


/* 最近のコメント */

.widget_recent_comments .recentcomments
{
    padding: 10px 15px;
}

.widget_recent_comments .recentcomments a
{
    text-decoration: underline;
}

.widget_recent_comments .recentcomments a:after
{
    content: none;
}

.widget_recent_comments .recentcomments:hover > a
{
    background: none;
}


/* oEmbedをレスポンシブ化 */


/*--------------------------------------------------*/

.wp-embedded-content
{
    max-width: 100%;
}

.header00001
{
    width: 100%;
    /*  height: 600px;*/
    height: 100vh;

    background-color: #ccc;
    background-image: url(../images/index/mv01.jpg);
    background-repeat: no-repeat;
    background-position: left center;
    background-size: cover;
}

.header00001-height-fix
{
    height: 600px !important;
}

.header0001-inner
{
    position: relative;

    height: 100%;
}

.header0001-logo
{
    margin-bottom: 22px;
}

.header0001-nav
{
    font-size: 18px;

    position: absolute;
    z-index: 500;
    top: 0;
    right: 0;

    width: 220px;
    height: 100%;
    padding-top: 50px;

    text-align: center;

    color: #fff;
    background-color: #00b6e2;
}

.header0001-navlist
{
    display: inline-block;

    text-align: left;
}

.header0001-navlist li
{
    margin-bottom: 7px;
}

.header0001-icons
{
    position: relative;

    display: table;

    width: 80%;
    margin: 0 auto;
    margin-bottom: 30px;
}

.header0001-icons li
{
    position: relative;

    display: table-cell;

    width: 33.3333%;

    text-align: center;
}

.header0001-icons li::after
{
    position: absolute;
    top: 7px;
    right: 0;

    width: 1px;
    height: 1.1em;

    content: '';

    background-color: #fff;
}

.header0001-icons::before
{
    position: absolute;
    top: 7px;
    left: 0;

    width: 1px;
    height: 1.1em;

    content: '';

    background-color: #fff;
}

.header0001-link
{
    font-size: 14px;
    font-weight: bold;

    display: block;

    width: 80%;
    margin: 0 auto;
    padding: 12px 0;

    text-align: center;

    background-color: #111836;
}

.header0001-undernavlist
{
    position: absolute;
    bottom: 25px;

    width: 100%;
}

.header0001-undermv
{
    position: absolute;
    bottom: 0;

    width: 100%;
    padding-right: 220px;

    color: #fff;
    background-color: rgba(0, 0, 0, .5);
}

.header0001-undermv-topics
{
    display: table;

    width: 100%;
    margin: 10px;
}

.header0001-undermv-topicsleft,
.header0001-undermv-topicsright
{
    display: table-cell;
}

.header0001-undermv-topicsleft
{
    width: 285px;

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

    border-right: 1px solid #cbcbcb;
}

.header0001-undermv-topicsright
{
    padding: 10px 37px;
}

.header0001-undermv-title
{
    font-size: 20px;
    font-weight: bold;
}

.header0001-undermv-subttl
{
    font-size: 13px;
}

.header0001-undermv-list
{
    font-size: 13px;

    position: relative;
}

.header0001-undermv-list dt
{
    font-weight: bold;

    position: absolute;

    width: 130px;
}

.header0001-undermv-list dd
{
    padding-left: 130px;
}

.header0001-undermv-tolist
{
    font-size: 11px;

    display: block;

    text-align: right;
}


/* tablet */

.header0001-undermv-topicsleft,
.header0001-undermv-topicsright
{
    display: table-cell;
}


/* 0～991 */

@media (max-width: 991px)
{
    .header0001-undermv-topics,
    .header0001-undermv-topicsleft,
    .header0001-undermv-topicsright
    {
        display: block;
    }
    .header0001-undermv-topicsleft
    {
        width: auto;

        text-align: left;

        border: none;
    }
    .header0001-undermv-title,
    .header0001-undermv-subttl
    {
        display: inline;
    }
    .header0001-undermv-topics
    {
        margin: 0;
        padding: 10px 20px;
    }
    .header0001-undermv-list
    {
        margin-top: 5px;
    }
    .header0001-undermv-topicsleft,
    .header0001-undermv-topicsright
    {
        padding: 0;
    }
}

.header0001-headertop
{
    padding: 10px;

    background-color: #00b6e2;
}

.header0001-logo-sp
{
    height: 40px;
}


/* button0001 */


/*--------------------------------------------------*/

.button0001
{
    font-size: 15px;
    font-weight: bold;

    display: block;

    max-width: 500px;
    margin: auto;
    padding: 3px;

    text-align: center;

    color: #fff;
    border: 1px solid #fff;
}


/* title0001 */


/*--------------------------------------------------*/

.title0001
{
    font-size: 42px;
    font-weight: bold;

    text-align: center;

    color: #fff;
}


/* title0002 */


/*--------------------------------------------------*/

.title0002
{
    font-size: 42px;
    font-weight: bold;

    text-align: center;

    color: #4d4d4d;
}

.footer-wrapper
{
    background: white;
}


/* footer0001 */


/*--------------------------------------------------*/

.footer0001
{
    position: relative;

    padding-top: 40px;

    background-color: #808080;
}

.footer0001-logo
{
    margin-bottom: 15px;
}

.footer0001-underlogo
{
    font-size: 11px !important;
    font-weight: bold;
    line-height: 1.25 !important;

    position: relative;

    width: 500px;
    height: auto;
    margin: auto auto 25px auto;
    padding: .3em 0 .5em;

    text-align: center;

    color: #fff;
}

.footer0001-underlogo::after,
.footer0001-underlogo::before
{
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;

    width: 262px;
    height: 1px;
    margin: 0 auto;

    content: '';

    background-color: #fff;
}

.footer0001-underlogo::after
{
    top: auto;
}

.footer0001-underlogo::before
{
    top: 0;
}

.footer0001-navi
{
    font-family: 'Anton', sans-serif;

    margin: auto;
}


/* 768～∞（md）*/

@media (min-width: 768px)
{
    .footer0001-navi
    {
        display: table;
    }
    .footer0001-navi li
    {
        display: table-cell;
    }
    .footer0001-navi li a
    {
        position: relative;

        display: block;

        padding: 0 36px;

        color: #fff;
    }
    .footer0001-navi li a::after,
    .footer0001-navi li:first-child a::before
    {
        position: absolute;
        top: .3em;

        width: 1px;
        height: 13px;

        content: '';

        background-color: #fff;
    }
    .footer0001-navi li a::after
    {
        right: 0;
    }
    .footer0001-navi li:first-child a::before
    {
        left: 0;
    }
    .footer0001-copyright
    {
        font-size: 9px;

        padding-bottom: 20px;

        text-align: center;

        color: #fff;
    }
}

.footer0001-middle
{
    position: relative;

    height: 150px;
    padding: 20px;
    padding-left: 350px;

    background-color: #00b6e2;
    background-image: url(../images/common/footer0001-bg1.png);
    background-repeat: no-repeat;
    background-position: 70px center;
    background-size: auto 150px;
}

.footer0001-label
{
    line-height: 15px;
}

.footer0001-middle-left
{
    font-size: 13px;
    line-height: 1.5em;

    position: absolute;
    left: 350px;

    width: 300px;

    color: #fff;
}

.footer0001-middle-right
{
    padding-top: 20px;
    padding-left: 300px;
}

.footer0001-input-text
{
    font-size: 10px;

    width: 270px;
    margin-left: 5px;
    padding: 4px;
}

.footer0001-input-submit
{
    padding: 0 30px;

    color: #fff;
    border: none;
    background-color: #808080;
}

@media (max-width: 1199px)
{
    .footer0001-input-text
    {
        width: 200px;
    }
    .footer0001-middle
    {
        background-position: 10px center;
    }
}

@media (max-width: 1100px)
{
    .footer0001-input-text
    {
        width: 180px;
    }
}

@media (max-width: 1060px)
{
    .footer0001-input-text
    {
        width: 150px;
    }
    .footer0001-input-submit
    {
        padding: 4px 10px;
    }
}

@media (max-width: 990px)
{
    .footer0001-input-text
    {
        width: 130px;
        margin-top: 15px;
    }
    .footer0001-middle
    {
        background-position: -30px center;
    }
    .footer0001-middle
    {
        padding-left: 250px;
    }
    .footer0001-middle-left
    {
        position: static;

        width: 100%;
    }
    .footer0001-middle-left br
    {
        display: none;
    }
    .footer0001-middle-right
    {
        padding-left: 0;
    }
    .footer0001-middle-right
    {
        padding-top: 0;
    }
}


/* 0～767 */

@media (max-width: 767px)
{
    .footer0001-navi-main
    {
        padding: 1px 0;

        background-color: rgba(255, 255, 255, .5);
    }
    .footer0001-navi
    {
    }
    .footer0001-navi li
    {
        float: left;

        width: 33.333%;
        padding: 1px;

        text-align: center;
    }
    .footer0001-navi li a
    {
        display: block;

        padding: 7px 0;

        background-color: rgba(255, 255, 255, .5);
    }
    .footer0001-navi li a::after,
    .footer0001-navi li:first-child a::before
    {
    }
    .footer0001-navi li a::after
    {
        right: 0;
    }
    .footer0001-navi li:first-child a::before
    {
        left: 0;
    }
    .footer0001-copyright
    {
        font-size: 10px;

        padding: 5px 0;

        text-align: center;

        color: #fff;
    }
    .footer0001-middle
    {
        background-position: -70px center;
    }
    .footer0001-middle
    {
        padding-left: 200px;
    }
    .footer0001-middle-left
    {
        display: none;
    }
    .footer0001-middle
    {
        padding-top: 40px;
    }
    .footer0001-middle-right
    {
        margin-top: 0;
        padding-top: 0;
        padding-left: 0;

        word-break: break-all;
    }
    .footer0001-input-text
    {
        width: 70%;
    }
    .footer0001-input-submit
    {
        font-size: 12px;

        padding: 2px 10px;
    }
    .footer0001-label img
    {
        display: none;
    }
}


/* 0～575 */

@media (max-width: 575px)
{
    .footer0001-middle-right
    {
        text-align: center;
    }
    .footer0001-middle
    {
        background-image: none;
    }
    .footer0001-middle
    {
        padding-left: 20px;
    }
}

.footer0001-bottom
{
    display: none;
}


/* 0～767 */

@media (max-width: 767px)
{
    .footer0001-bottom
    {
        position: fixed;
        z-index: 600;
        bottom: 0;

        display: block;

        width: 100%;

        background-color: #00b6e2;
    }
    .footer0001-bottom-social
    {
        display: table;

        width: 100%;

        border-bottom: 1px solid #fff;
    }
    .footer0001-bottom-social li
    {
        display: table-cell;

        width: 33.333%;

        text-align: center;

        color: #333;
        border-top: 1px solid #fff;
        border-right: 1px solid #fff;
    }
    .footer0001-bottom-social li a
    {
        display: block;

        padding: 10px 0;
        /*    background-color: rgba(255, 255, 255, 0.3);*/
    }
    .footer0001-bottom-social li:last-child
    {
        border-right: none;
    }
}

.footer0001-bottom-mail
{
    font-size: 24px;

    display: block;

    padding: 10px;

    text-align: center;

    color: #fff;
    background-color: rgba(255, 69, 0, .9);
}

.footer0001-bottom-mail:hover
{
    background-color: rgba(255, 69, 0, .6);
}

body.has-sp-footer-bottom
{
    padding-bottom: 84px;
}


/* footer sp サイズ sns 表示拡張 ------------------------------- */

footer
{
    position: relative;
}

footer .footer__sns__list li > a
{
    font-size: 20px;

    padding-top: 5px;
    padding-bottom: 5px;

    color: white;
}

.footer__sns .footer0001-bottom-mail
{
    font-size: 16px;
    font-weight: bold;

    color: white;
    background: #111836;
}

.footer0001-bottom-social,
.footer__sns .footer0001-bottom-social li
{
    border-top-width: 0;
    border-bottom-width: 0;
}


/* common components ------------------------------- */

.btn-tm-primary
{
    font-size: 16px;
    font-weight: bold;

    display: inline-block;

    padding: 1em 1.5em;

    color: white;
    background: #00b7e3;
}

.arrow-right
{
    position: relative;

    display: inline-block;

    width: 16px;
    height: 16px;
    margin-left: 1em;

    background: url(../images/common/icon-right-arrow.svg) no-repeat center center;
    background-size: 90% auto;
}


/* 共通ヘッダ ------------------------------- */

.header
{
    font-size: 18px;

    position: fixed;
    z-index: 100;
    top: 0;
    right: 0;

    overflow: auto;

    min-width: 240px;
    min-height: 100vh;
    padding-top: 60px;
    padding-right: 15px;
    padding-left: 15px;

    -webkit-transition: all .4s ease-out;
            transition: all .4s ease-out;
    -webkit-transform: translateX(100%);
            transform: translateX(100%);

    opacity: 0;
    background: white;

    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: auto;
}

.header.is-active
{
    -webkit-transform: translateX(0);
            transform: translateX(0);

    opacity: 1;
}

@media (max-width:965px)
{
    .header.is-active
    {
        -webkit-box-shadow: 0 12px 24px 0 rgba(0, 0, 0, .3);
                box-shadow: 0 12px 24px 0 rgba(0, 0, 0, .3);
    }
}

.header a
{
    -webkit-transition: opacity .3s;
            transition: opacity .3s;
}

.header a:hover
{
    opacity: .3;
}

.header__logo
{
    font-size: 0;

    position: relative;

    display: block;

    width: 160px;
    height: 80px;

    color: transparent;
    background: transparent url(../images/common/header-logo.svg) no-repeat top left;
    background-size: 160px auto;
}

.header__nav > li
{
    position: relative;

    display: block;
}

.header__sns > li
{
    position: relative;

    display: inline-block;
}

.header__sns
{
    font-size: 25px;

    display: block;

    padding-top: 30px;

    text-align: center;

    color: #bca78e;
}

.header__nav > li > a,
.header__sns > li > a
{
    display: block;

    padding: .5em;
}

.header__nav > li::before,
.header__sns > li::before,
.header__nav > li:last-child::after,
.header__sns > li:last-child::after
{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;

    width: 1px;
    height: 16px;
    margin: auto;

    content: '';
}

.header__nav > li:last-child::after,
.header__sns > li:last-child::after
{
    right: 0;
    left: auto;
}

.header__sns > li::before,
.header__sns > li:last-child::after
{
    background-color: #bca78e;
}

@media (min-width:996px)
{
    .header
    {
        font-size: 16px;

        position: relative;
        top: auto;
        right: auto;
        left: auto;

        width: 100%;
        max-width: initial;
        min-height: auto;
        padding-top: 15px;
        padding-bottom: 15px;

        -webkit-transform: none;
                transform: none;

        opacity: 1;
        background: white;
        -webkit-box-shadow: initial;
                box-shadow: initial;
    }
    .header__container
    {
        position: relative;

        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        align-items: center;
        -ms-flex-align: center;
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;

        max-width: 1170px;
        margin: auto;
        padding: 15px;
        padding-left: 160px;
    }
    .header__logo
    {
        font-size: 0;

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

        width: 160px;
        height: 100%;

        color: transparent;
        background: transparent url(../images/common/header-logo.svg) no-repeat center center;
        background-size: 80% auto;
    }
    /* global nav */
    .header__nav > li
    {
        display: inline-block;
    }
    .header__nav > li > a,
    .header__sns > li > a
    {
        padding: .8em;
    }
    .header__nav > li::before,
    .header__nav > li::after
    {
        background-color: #333;
    }
    .header__nav > li:last-child::after,
    .header__sns > li:last-child::after
    {
        right: 0;
        left: auto;
    }
    /* sns link */
    .header__sns
    {
        display: inline-block;

        padding-top: 0;
        padding-left: 15px;
    }
    .header__sns > li > a
    {
        font-size: 18px;
    }
}


/* ハンバーガー ボタン */

.humberger-btn
{
    position: fixed;
    z-index: 1500;
    top: 0;
    right: 0;

    width: 50px;
    height: 50px;

    border-width: 0;
    background: #00b7e3;
}

.humberger-btn,
.humberger-btn span
{
    display: inline-block;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;

    -webkit-transition: all .3s;
            transition: all .3s;
}

.humberger-btn span
{
    position: absolute;
    left: 14px;

    width: 25px;
    height: 2px;

    background-color: white;
}

.humberger-btn span:nth-of-type(1)
{
    top: 15px;
}

.humberger-btn span:nth-of-type(2)
{
    top: 50%;

    margin-top: -1px;
}

.humberger-btn span:nth-of-type(3)
{
    bottom: 15px;
}

.humberger-btn.is-active span:nth-of-type(1),
.humberger-btn.is-active span:nth-of-type(3)
{
    width: 20px;
}

.humberger-btn.is-active span:nth-of-type(1)
{
    -webkit-transform: translate(9px, 2px) rotate(45deg);
            transform: translate(9px, 2px) rotate(45deg);
}

.humberger-btn.is-active span:nth-of-type(3)
{
    -webkit-transform: translate(9px, -2px) rotate(-45deg);
            transform: translate(9px, -2px) rotate(-45deg);
}

@media (min-width:996px)
{
    .humberger-btn
    {
        display: none;
    }
}


/* 動画リスト ------------------------------- */

.video-list
{
    padding-top: 0 !important;
    padding-bottom: 30px !important;

    background: #e7e7e7;
}

.video-list [class*='col-']
{
    padding-right: 0;
    padding-left: 0;
}

.video-list__heading
{
    font-size: 30px;

    margin-bottom: 30px;
    padding-top: 15px;
    padding-bottom: 15px;

    background: white;
}

.video-list__thumbnail
{
    position: relative;

    padding-top: 59.4%;

    -webkit-transition: opacity .3s;
            transition: opacity .3s;

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

.video-list__thumbnail::after
{
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;

    margin: auto;

    content: '';

    background: url(../images/common/icon-play-video.svg) no-repeat center center;
    background-size: 20% auto;
}

.video-list__thumbnail:hover
{
    opacity: .5;
}

.video-list__link
{
    display: block;

    background: #333;
}

.section-link
{
    padding-top: 60px;
    padding-bottom: 60px;
}


/* ポップアップ ------------------------------- */


/* padding-bottom and top for image */

.mfp-no-margins img.mfp-img
{
    padding: 0;
}


/* position of shadow behind the image */

.mfp-no-margins .mfp-figure:after
{
    top: 0;
    bottom: 0;
}


/* padding for main container */

.mfp-no-margins .mfp-container
{
    padding: 0;
}


.mfp-bottom-bar
{
    font-weight: bold;

    margin-top: 16px;
}

/*

for zoom animation
uncomment this part if you haven't added this code anywhere else

*/

.mfp-with-zoom .mfp-container,
.mfp-with-zoom.mfp-bg
{
    -webkit-transition: all .3s ease-out;
            transition: all .3s ease-out;

    opacity: 0;

    -webkit-backface-visibility: hidden;
}

.mfp-with-zoom.mfp-ready .mfp-container
{
    opacity: 1;
}

.mfp-with-zoom.mfp-ready.mfp-bg
{
    opacity: .8;
}

.mfp-with-zoom.mfp-removing .mfp-container,
.mfp-with-zoom.mfp-removing.mfp-bg
{
    opacity: 0;
}


.white-popup
{
    position: relative;

    width: auto;
    max-width: 500px;
    margin: 20px auto;
    padding: 20px;

    background: white;
}

/* 対談ページスライド ------------------------------- */

.bg-slide
{
    font: inherit;
    font-size: 100%;

    position: relative;

    overflow: hidden;

    margin: 0;
    padding: 0;

    vertical-align: baseline;

    border: 0;
    background: transparent;
}

.bg-slide__main
{
    position: relative;
    z-index: 2;

    margin: auto;

    background: white;
}

@media (min-width: 768px)
{
    .bg-slide__main
    {
        width: 36%;
        min-width: 420px;
        min-height: 100vh;
        margin-right: 0;
    }
    .bg-slide__section__bg-image
    {
        display: none;
    }
}

.bg-slide__main__body
{
    padding-top: 5%;
    padding-bottom: 5%;
}

.bg-slide__section
{
    position: relative;

    padding-top: 80px;
    padding-bottom: 80px;
}

.bg-slide__section__body
{
    padding-right: 5%;
    padding-left: 5%;
}

.bg-slide__section__bg-image
{
    position: relative;

    min-height: 50vh;
    margin: auto;

    background: black;
    background-repeat: no-repeat;
    background-position: center left;
    background-size: cover;
}

.bg-slide__pagination
{
    position: fixed;
    z-index: 100;
    top: 50%;
    right: .5%;

    width: 1rem;
    min-height: 100px;

    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);

    background: transparent;
}

.bg-slide__pagination__btn
{
    position: inline-block;

    width: 1rem;
    height: 1rem;
    margin-bottom: 1rem;

    opacity: .1;
    background-color: #000;
}

.bg-slide__pagination__btn.is-active
{
    opacity: .5;
    background-color: blue;
}

.bg-slide__image-slider
{
    position: fixed;
    z-index: 0;
    top: 0;
    left: 0;

    visibility: hidden;
    overflow: hidden;

    width: 100vw;
    height: 100vh;

    color: white;
    background: #333;
}

@media (min-width: 768px)
{
    .bg-slide__image-slider
    {
        visibility: visible;

        width: 100%;
    }
}

.bg-slide__image-slider__image
{
    position: absolute;
    top: 0;
    left: 0;

    visibility: hidden;
    overflow: hidden;

    width: 100%;
    height: 100%;
    margin: auto;
}

.bg-slide__image-slider__image.bg-slide__image-slider__image--is-appear
{
    visibility: visible;
}

.bg-slide__image-slider__background
{
    position: relative;
    z-index: 3;

    display: block;

    min-width: 100%;
    min-height: 100%;

    background-color: black;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: cover;
}


/* サムネイル付きアーカイブリンク ------------------------------- */

.archive-link
{
    position: relative;

    display: block;
    overflow: hidden;

    background-color: black;
}

.archive-link__thumbnail
{
    padding-top: 37.1%;

    -webkit-transition: opacity .3s;
            transition: opacity .3s;

    background-color: #808080;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}

.archive-link:hover .archive-link__thumbnail
{
    opacity: .4;
}

.archive-link__caption
{
    font-weight: bold;

    position: absolute;
    bottom: .5em;
    left: 20px;

    color: white;
}


/* btn */

.btn-more
{
    font-weight: bold;

    padding: 1rem 1.5rem 1rem;

    color: white;
    background: black;
}

.btn-bk
{
    font-family: 'Dido', serif;
    font-weight: bold;

    display: inline-block;

    margin-top: 1rem;
    margin-bottom: 1rem;
    padding: .5em 1em;

    -webkit-transition: color .3s, background-color .3s;
            transition: color .3s, background-color .3s;
            transition: opacity .3s;
            transition: all .4s;
    text-align: center;

    color: white;
    border: 1px solid#111836;
    background: #111836;
}

.btn-bk:hover
{
    color: #111836;
    background: white;
}

.page-header
{
    position: relative;

    padding-top: 60px;
    padding-bottom: 60px;

    background: #dbdbdb;
}

.page-header h1
{
    font-family: 'Anton', sans-serif;
    font-size: 52px;
}


/* list ---------------------- */

ol.list-parentheses,
ol.list-upper-roman
{
    margin: 0;
    padding: 0 0 0 2em;
}

ol.list-parentheses li
{
    list-style-position: inside;
    list-style-type: none;

    counter-increment: cnt;
}

ol.list-parentheses li:before
{
    display: marker;

    content: '(' counter(cnt) ') ';
}

ol.list-upper-roman li
{
    list-style-type: none;
    list-style-type: upper-roman;

    counter-increment: cnt;
}


/* justify-container component -------------------------------------------- */

.justify-container
{
    max-width: 100%;
}

.justify-container [class*='col-']
{
    padding-right: 0;
    padding-bottom: 5px;
    padding-left: 0;
}

@media (min-width:768px)
{
    .justify-container > .row > [class*='col-']::before
    {
        position: absolute;
        z-index: 5;
        top: 0;
        left: 0;

        width: 5px;
        height: 100%;

        content: '';

        background: white;
    }
    .brjustify-container > .row > [class*='col-']:first-child::before
    {
        background-color: transparent;
    }
}


/* card component -------------------------------------------- */

.card
{
    position: relative;

    display: block;

    background: white;
}

.card__img
{
    position: relative;

    display: block;

    padding-top: 100%;

    background: #666 no-repeat center center;
    background-size: cover;
}

.card__img.is-no-img
{
    background-image: url(../images/common/header-logo.svg);
    background-size: 80% auto;
}

.card__body
{
    padding: 10px;
}

.card__heading,
.card__date
{
    font-weight: bold;

    padding-bottom: .5em;
}

.card__date > span,
.card__date > time
{
    display: inline-block;
}

.card__link
{
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;

    margin: auto;

    -webkit-transition: opacity .3s;
            transition: opacity .3s;

    opacity: 0;
    background-color: black;
}

.card__link:hover
{
    opacity: .5;
}

.badge
{
    padding-right: .5em;
    padding-left: .5em;

    color: red;
}


/* card component -------------------------------------------- */

.comming-soon:hover
{
    cursor: text;
}

.comming-soon figure
{
    opacity: .4;
}

.comming-soon::before
{
    font-family: 'Anton', sans-serif;
    font-size: 24px;

    position: absolute;
    top: 50%;
    left: 50%;

    display: block;

    width: 100%;
    margin: auto;

    content: 'Comming Soon';
    transform: translate(-50%, -50%);
    text-align: center;

    opacity: .7;
    color: white;
}


/* page-top -------------------------------------------- */

.page-top
{
    position: absolute;
    top: -23px;
    left: 50%;

    width: 45px;
    height: 45px;
    margin-left: -23px;

    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
    -webkit-transform-origin: center center;
            transform-origin: center center;

    background: #808080;
}

.page-top__inner
{
    font-family: 'Anton', sans-serif;
    line-height: 45px;

    display: block;

    width: 45px;
    height: 45px;

    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
    text-align: center;

    color: white;
}


/* page-header -------------------------------------------- */

.page-header
{
    position: relative;

    margin-bottom: 50px;
    padding-top: 60px;
    padding-bottom: 60px;

    background: #dbdbdb;
}

.page-header__heading
{
    font-size: 52px;
}


/* Blog 関連 -------------------------------------------- */

.blogs
{
    padding-top: 60px;
    padding-bottom: 60px;

    background: url(../images/index/home-blog-section-bg.jpg) no-repeat center;
    background-size: cover;
}

.blogs__col
{
    position: relative;

    float: left;

    width: 50%;
    min-height: 1px;
    padding: 10px;
    padding-right: 15px;
    padding-left: 15px;
}

.blogs__btn
{
    font-size: 16px;
    font-weight: bold;

    display: block;

    margin: auto;
    padding: .5em;

    -webkit-transition: all .3s;
            transition: all .3s;
    text-align: center;

    color: white;
    border: 1px solid white;
}

.blogs__btn:hover
{
    color: #333;
    background-color: white;
}

.blog__hr
{
    height: 2px;

    background: #333;
}

.blog__section
{
    padding: 60px 0;
}

.blog__heading
{
    font-family: 'Anton', sans-serif;
    font-size: 22px;
}

.blog__heading small
{
    font-family: initial;
    font-size: 14px;
    font-weight: bold;
}

.blog__pagenation
{
    padding: 30px 0 100px;
}

@media (min-width:996px)
{
    .blogs__btn
    {
        max-width: 60%;
    }
    .blogs__col
    {
        width: 20%;
    }
}


/* select 装飾 -------------------------------------------- */

.select
{
    font-size: 14px;

    position: relative;
    z-index: 0;

    display: inline-block;
    overflow: hidden;

    background: #ccc;
}

.select::after
{
    position: absolute;
    z-index: -1;
    top: 50%;
    right: .6em;

    display: block;

    width: 0;
    height: 0;
    margin-top: -.2em;

    content: '';

    border-width: .45em .3em;
    border-style: solid;
    border-color: #ccc transparent transparent;
}

.select::before
{
    position: absolute;
    z-index: -1;
    top: 0;
    right: 0;

    display: block;

    width: 1.8em;
    height: 100%;

    content: '';

    background: #202020;
}

.select select
{
    height: 2.5em;
    padding: .2em 1em;
    padding-right: 3em;

    color: #333;
    border-color: transparent;
    outline: none;
    background: transparent;

    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
}

.select select::-ms-expand
{
    display: none;
}

.select select::-moz-focus-inner
{
    border: 0;
}


/* wp next prev 装飾 -------------------------------------------- */

.single-arrow a
{
    display: block;

    padding: .5em;

    -webkit-transition: opacity 4s;
            transition: opacity 4s;
}

.single-arrow a:hover
{
    opacity: .5;
}
