@charset 'UTF-8';
@font-face
{
    /*Black*/
    font-family: 'black';

    src: url(../font/black.eot);
    src: url('../font/black.eot?#iefix') format('embedded-opentype'), url('../font/black.woff') format('woff'), url('../font/black.ttf') format('truetype');
}

@font-face
{
    font-family: 'bold';

    src: url(../font/bold.eot);
    src: url('../font/bold.eot?#iefix') format('embedded-opentype'), url('../font/bold.woff') format('woff'), url('../font/bold.ttf') format('truetype');
}

.fwB
{
    font-weight: bold;
}

html
{
    font-family: '游ゴシック', YuGothic, 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', sans-serif;
    font-size: 16px;
    line-height: 1.5; 

    overflow-x: hidden;

    color: #222;
    background: #fff;
}

body
{
    margin: 0;

    -webkit-text-size-adjust: 100%;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary
{
    display: block;
}

blockquote,
dd,
div,
dl,
dt,
h1,
h2,
h3,
h4,
h5,
h6,
li,
ol,
p,
pre,
span,
td,
th,
ul
{
    margin: 0;
    padding: 0;
}

h1,
h2,
h3,
h4,
h5,
h6
{
    font-size: 1rem;
    font-weight: normal;
}

a
{
    transition: color .1s linear,opacity .3s linear; 
    text-decoration: none;

    color: #333;
}

a:active,
a:hover
{
    outline: 0;
}

b,
strong
{
    font-weight: bold;
}

h1,
h2,
h3,
p,
div,
table
{
    margin: 0;
}

ul,
li
{
    list-style: none;
}

small
{
    font-size: 80%;
}

sub,
sup
{
    font-size: 75%;
    line-height: 0;

    position: relative;

    vertical-align: baseline;
}

sup
{
    top: -.5em;
}

sub
{
    bottom: -.25em;
}

img
{
    max-width: 100%;
    height: auto; 

    vertical-align: bottom;

    border: 0;
}

pre
{
    overflow: auto;
}

table
{
    border-spacing: 0; 
    border-collapse: collapse;
}

figure
{
    margin: 0;
    padding: 0;
}

input,
textarea
{
    padding: 0;
}

input[type='submit']
{
    border: none; 
    border-radius: 0;

    -webkit-appearance: none;
}

input[type='text'],
input[type='password'],
input[type='email'],
input[type='tel'],
textarea
{
    border: 1px solid #eee;
    border-radius: 0; 

    -webkit-appearance: none;
}

address
{
    font-size: 1rem;
    font-style: normal;
}

i
{
    font-style: normal;
}

.inner
{
    padding: 0 20px;
}
@media screen and (min-width: 1040px)
{
    .inner
    {
        width: 1020px;
        margin: 0 auto;
        padding: 0;
    }
    .inner.size-s
    {
        width: 860px;
    }
}

.btn
{
    width: 90%; 
    margin: 18px auto;
}
.btn a
{
    font-family: 'bold';
    font-size: 18px;
    font-weight: bold;

    display: block;

    padding: 12px 12px;

    transition: all ease .3s;
    text-align: center;
    letter-spacing: .1em;

    color: #fff;
    border-radius: 5px;
    background: #f40c46;
    box-shadow: 0 3px 0 #cf0135;
}

@media screen and (min-width: 1040px)
{
    .btn
    {
        max-width: 480px;
    }
}

#global-nav
{
    position: fixed;
    z-index: 10000; 
    top: 0;
    left: 100%;

    width: 100%;
    height: 100vh;

    transition: left .3s ease;

    background: #222;
}
#global-nav ul
{
    margin-top: 70px;

    border-top: 1px solid #333;
}
#global-nav ul li a
{
    font-weight: bold;

    display: block;

    padding: 10px 10px 10px 20px;

    color: #fff;
    border-bottom: 1px solid #333;
    background: url('../img/ico-arrow-white.svg') no-repeat right 10px center;
}
.open #global-nav
{
    left: 0;
}
@media screen and (min-width: 1040px)
{
    #global-nav
    {
        width: 300px;
    }
    .open #global-nav
    {
        left: calc(100% - 300px);
    }
    #global-nav ul
    {
        margin-top: 100px;
    }
}

#panel-btn
{
    position: fixed;
    z-index: 10001;
    top: 0;
    right: 0;

    display: inline-block;

    width: 70px;
    height: 70px;

    cursor: pointer;

    background: #0075c1;
}
#panel-btn:hover
{
    opacity: 1;
}
#panel-btn.open
{
    opacity: 1;
}
#panel-btn.open #panel-btn-icon
{
    background: transparent;
}
#panel-btn.open #panel-btn-icon:before,
#panel-btn.open #panel-btn-icon:after
{
    margin-top: 0;

    background: #fff;
}
#panel-btn.open #panel-btn-icon:before
{
    -webkit-transform: rotate(-45deg); 
            transform: rotate(-45deg);
}
#panel-btn.open #panel-btn-icon:after
{
    -webkit-transform: rotate(-135deg); 
            transform: rotate(-135deg);
}
#panel-btn #panel-btn-icon
{
    position: absolute;
    top: 40%;
    left: 60%;

    display: block;

    width: 16px;
    height: 2px;
    margin: 0 0 0 -12px;

    transition: .2s; 

    background: #fff;
}
#panel-btn #panel-btn-icon:before,
#panel-btn #panel-btn-icon:after
{
    position: absolute;
    top: 50%;
    left: 0;

    display: block;

    width: 16px;
    height: 2px;

    content: '';
    transition: .3s; 

    background: #fff;
}
#panel-btn #panel-btn-icon:before
{
    margin-top: -6px;
}
#panel-btn #panel-btn-icon:after
{
    margin-top: 4px;
}
#panel-btn #panel-btn-icon + span
{
    font-size: .375rem !important;

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

    transform: translate(-50%, 10px); 

    color: #fff;
}
#panel-btn .touch-button
{
    display: none;
}
@media screen and (min-width: 1040px)
{
    #panel-btn
    {
        width: 100px;
        height: 100px;
    }
    #panel-btn #panel-btn-icon
    {
        left: 50%; 

        width: 26px;
    }
    #panel-btn #panel-btn-icon::before,
    #panel-btn #panel-btn-icon::after
    {
        width: 26px;
    }
    #panel-btn #panel-btn-icon + span
    {
        font-size: 9px !important;

        bottom: 12px;
    }
}

header
{
    height: 70px; 

    background: #0075c1;
}
header .logo
{
    display: inline-block;

    padding: 10px;
}
header .logo a
{
    display: inline-block;
}
header .logo a img
{
    width: 80px;
    height: auto;
}
header .logo a span
{
    font-family: 'bold';
    font-size: 8px; 

    display: block;

    color: #fff;
}
@media screen and (min-width: 1040px)
{
    header
    {
        height: 100px;
    }
    header .logo a
    {
        display: -ms-flexbox;
        display: flex;

        -ms-flex-align: end;
        align-items: flex-end;
    }
    header .logo a img
    {
        width: 180px;
    }
    header .logo a span
    {
        font-size: 12px;

        padding-top: 5px;
    }
}

footer
{
    font-size: .6875rem !important;

    padding: 12px 0 70px; 

    text-align: center;

    color: #fff;
    background: #0075c1;
}
@media screen and (min-width: 1040px)
{
    footer
    {
        padding-bottom: 12px;
    }
}

#foot-fixed-menu
{
    position: fixed;
    z-index: 100;
    bottom: 0;

    width: 100%;

    background: #212d8e;
}
@media screen and (min-width: 1040px)
{
    #foot-fixed-menu
    {
        border-radius: 100px;
        overflow: hidden;
        bottom:10px;
        right:10px;
        width: 300px;
        a {
            &:hover {

                opacity: .5;
            }
        }
    }

}
#foot-fixed-menu ul
{
    display: -ms-flexbox;
    display: flex;

    -ms-flex-pack: justify;
    justify-content: space-between;
}
#foot-fixed-menu ul li
{
    
    flex:1;
    text-align: center;
}
#foot-fixed-menu ul li:nth-child(1)
{
    background: #2876c4;
}
#foot-fixed-menu ul li:nth-child(2)
{


    background: #06c755;
}
#foot-fixed-menu ul li a
{
    display: flex;
    flex-direction: column;

    width:100%;
    padding: 18px 12px;
    box-sizing: border-box;

    text-align: center;
    color: #fff;
    font-weight: bold;
    font-size: 10px;
}
#foot-fixed-menu ul li a img
{
    height: 20px;
    margin-bottom: 4px;
}

.archive article,
.under article
{
    padding-top: 30px;
}

article
{
    overflow: hidden;
}
article .sec
{
    padding: 0 0 30px;
}
@media screen and (min-width: 1040px)
{
    article .sec
    {
        padding: 0 0 60px;
    }
}
article .sec .ttl-block
{
    margin-bottom: 12px; 

    text-align: center;

    border-bottom: 1px solid #0075c1;
}
article .sec .ttl-block h2
{
    font-size: 1.5rem !important;
    line-height: 1.25; 

    color: #0075c1;
}
article .sec .ttl-block h2 span
{
    font-size: .6875rem !important; 

    display: block;
}
@media screen and (min-width: 1040px)
{
    article .sec .ttl-block
    {
        margin-bottom: 24px;
    }
    article .sec .ttl-block h2
    {
        font-size: 1.875rem !important;
        line-height: 1.2;
    }
    article .sec .ttl-block h2 span
    {
        font-size: .875rem !important;
    }
}
article .sec .layout-flex figure
{
    width: 100px;
    margin: 0 auto 12px;
}
@media screen and (min-width: 1040px)
{
    article .sec .layout-flex
    {
        display: -ms-flexbox;
        display: flex;

        -ms-flex-align: center;
        align-items: center;
    }
    article .sec .layout-flex figure
    {
        width: 150px;
    }
    article .sec .layout-flex .txt
    {
        padding-left: 20px; 

        -ms-flex: 1;
            flex: 1;
    }
}
article .sec p.en
{
    font-size: .75rem !important;

    margin-top: 6px;
}

.home article #visual
{
    position: relative;

    padding-bottom: 60px; 

    background: url('../img/bg-visual.png');
}
.home article #visual h1
{
    position: absolute;
    z-index: 1000;
    bottom: 0;

    box-sizing: border-box; 
    width: 100%;
    padding: 20px 10px;

    background: rgba(255, 255, 255, .5);
}
.home article #visual h1 span
{
    display: block;
    overflow: hidden;

    height: 70px; 

    white-space: nowrap;
    text-indent: 100%;

    background: url('../img/visual-txt.svg') no-repeat center center;
    background-size: contain;
}
.home article #visual #slide-area
{
    margin-bottom: 0;
    padding-bottom: 20px;
}
.home article #visual #slide-area > div
{
    text-align: center;
}
.home article #visual #slide-area img
{
    max-width: 100%;
    height: auto;
}
.home article #visual #slide-area .slick-dots li
{
    width: 10px;
    height: 10px;
}
.home article #visual #slide-area .slick-dots li.slick-active button::before
{
    background-color: #212d8e;
}
.home article #visual #slide-area .slick-dots li button
{
    width: 10px;
    height: 10px;
}
.home article #visual #slide-area .slick-dots li button::before
{
    font-family: inherit;

    width: 10px;
    height: 10px;

    content: '';

    opacity: 1; 
    border-radius: 10px;
    background: #b9bac6;
}
@media screen and (min-width: 1040px)
{
    .home article #visual
    {
        padding-bottom: 0;
    }
    .home article #visual h1
    {
        bottom: 0; 

        padding: 20px 0;
    }
    .home article #visual h1 span
    {
        display: block;
        overflow: hidden;

        height: 110px; 

        white-space: nowrap;
        text-indent: 100%;

        background: url('../img/visual-txt.svg') no-repeat center center;
        background-size: contain;
    }
    .home article #visual #slide-area
    {
        width: 800px;
        height: 520px;
        margin: 0 auto;
    }
    .home article #visual #slide-area .slick-list
    {
        overflow: visible;
    }
    .home article #visual #slide-area .slick-list .slick-slide
    {
        outline: none;
    }
}

.home article #message
{
    margin-top: 12px; 
    margin-bottom: 30px;
}
.home article #message h2.ttl
{
    font-weight: bold;

    margin-bottom: 12px; 

    text-align: center;

    color: #0075c1;
}
.home article #message h2.ttl .ico
{
    display: block;

    margin-bottom: 6px;
}
.home article #message h2.ttl .ico img
{
    width: 30px;
}
.home article #message .message-block
{
    font-size: .875rem !important;
    line-height: 1.71429; 

    position: relative;

    overflow: hidden;

    transition: all ease .3s;
}
.home article #message .message-block.hide
{
    height: 5em;
}
.home article #message .message-block.hide::before
{
    position: absolute;
    bottom: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 2em;

    content: '';
    /*グラデーションで隠す範囲*/

    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .9) 50%, rgba(255, 255, 255, .9) 50%, #fff 100%);
}
.home article #message .message-block .message-profile
{
    display: -ms-flexbox;
    display: flex;

    margin-bottom: 18px;
    padding-top: 18px;
    padding-bottom: 18px;

    border-bottom: 1px solid #5fc9eb;

    -ms-flex-align: center;
    align-items: center;
}
.home article #message .message-block .message-profile:last-of-type
{
    margin-bottom: 0; 

    border-bottom: none;
}
.home article #message .message-block .message-profile figure
{
    width: 85px;
}
.home article #message .message-block .message-profile ul
{
    padding-left: 10px;
}
.home article #message .message-block .message-profile ul li
{
    font-weight: bold;
    line-height: 1.28571;
}
.home article #message .toggle-btn
{
    font-size: .75rem !important;

    text-align: center;
}
.home article #message .toggle-btn span
{
    display: inline-block; 

    padding: 3px 20px;

    border: 1px solid #0075c1;
    border-radius: 50px;
}
@media screen and (min-width: 1040px)
{
    .home article #message h2.ttl
    {
        font-size: 1.5rem !important;
    }
    .home article #message .message-block
    {
        font-size: 1rem !important;
        line-height: 1.875;
    }
    .home article #message .message-block .message-profile
    {
        -ms-flex-pack: end;
        justify-content: flex-end;
    }
    .home article #message .toggle-btn
    {
        font-size: .875rem !important;

        cursor: pointer;
    }
}

.home article #youtube
{
    margin-bottom: 20px;
}
.home article #youtube .youtube-iframe
{
    position: relative;

    width: 100%;
    padding-top: 56.25%;
}
.home article #youtube .youtube-iframe iframe
{
    position: absolute;
    top: 0;
    right: 0;

    width: 100% !important;
    height: 100% !important;
}
@media screen and (min-width: 1040px)
{
    .home article #youtube
    {
        margin-bottom: 40px;
    }
}

.home article #local-nav
{
    margin-bottom: 30px;
}
.home article #local-nav ul
{
    display: -ms-flexbox;
    display: flex;

    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-pack: justify;
    justify-content: space-between;
}
.home article #local-nav ul li
{
    width: calc(50% - 5px);
    margin-bottom: 10px;
}
.home article #local-nav ul li a
{
    display: block;

    box-sizing: border-box; 
    height: 100%;
    padding: 10px;

    border-radius: 5px;
}
.home article #local-nav ul li a:hover
{
    opacity: .5;
}
.home article #local-nav ul li a span
{
    font-family: 'black';
    font-size: 12px;

    display: block;

    padding-top: 5px; 

    text-align: center;

    color: #fff;
}
.home article #local-nav ul li:nth-child(1) a
{
    background: #c3d838;
}
.home article #local-nav ul li:nth-child(2) a
{
    background: #7bccd8;
}
.home article #local-nav ul li:nth-child(3) a
{
    background: #da6b7b;
}
.home article #local-nav ul li:nth-child(4) a
{
    background: #f4cd81;
}
.home article #local-nav ul li:nth-child(5) a
{
    background: #c9d977;
}
@media screen and (min-width: 1040px)
{
    .home article #local-nav ul
    {
        -ms-flex-pack: center;
        justify-content: center;
    }
    .home article #local-nav ul li
    {
        width: 150px;
        margin: 0 10px;
    }
    .home article #local-nav ul li a span
    {
        font-size: 14px; 

        padding-top: 10px;
    }
}

.home article #what .layout-flex
{
    margin-bottom: 30px;
}

.home article #what dl dt
{
    font-size: .75rem !important;

    float: left;
    clear: both;

    width: 70px;
    margin-bottom: 6px; 

    text-align: center;

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

.home article #what dl dd
{
    font-size: .875rem !important;

    margin-bottom: 6px; 
    padding-left: 80px;
}

@media screen and (min-width: 1040px)
{
    .home article #what .inner
    {
        display: -ms-flexbox;
        display: flex;
    }
    .home article #what .inner .layout-flex
    {
        margin-bottom: 0;
    }
    .home article #what .left
    {
        box-sizing: border-box; 
        width: 50%;
        padding-right: 10px;
    }
    .home article #what .right
    {
        position: relative; 

        box-sizing: border-box;
        width: 50%;
        padding-left: 10px;
    }
    .home article #what .right dl
    {
        position: absolute;
        top: 50%;
    }
    .home article #what .right dl dt
    {
        padding: 6px;
    }
    .home article #what .right dl dd
    {
        font-size: 1rem !important; 

        padding: 4px 0 6px 100px;
    }
}

.home article #beginner
{
    position: relative;

    margin-bottom: 30px; 
    padding: 30px 0 30px;

    background: #0075c1;
}
.home article #beginner::before
{
    position: absolute;
    bottom: 100%;

    display: block;

    width: 0;
    height: 0;

    content: '';

    border-width: 0 0 30px 100vw;
    border-style: solid;
    border-color: transparent transparent #0075c1 transparent;
}
.home article #beginner .txt
{
    position: relative;

    padding-bottom: 24px;

    text-align: center; 

    color: #fff;
}
.home article #beginner .txt p:first-of-type
{
    font-family: 'black';
    font-size: 36px; 

    padding-bottom: 24px;
}
.home article #beginner .txt p:first-of-type span
{
    font-size: .6em;
}
.home article #beginner .txt p + p
{
    font-size: .875rem !important;
    font-weight: bold; 

    text-align: center;
}
.home article #beginner .img
{
    position: relative;

    margin: 0 -20px;
}
.home article #beginner .img::before
{
    position: absolute;
    top: -1px;

    display: block;

    width: 0;
    height: 0;

    content: '';

    border-width: 30px 100vw 0 0;
    border-style: solid;
    border-color: #0075c1 transparent transparent transparent;
}
.home article #beginner .img .bg
{
    font-family: 'black'; 

    position: absolute;
    bottom: 0;

    display: -ms-flexbox;
    display: flex;

    box-sizing: border-box;
    width: 100%;
    padding: 10px 20px;

    background: rgba(255, 255, 255, .8);

    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-align: end;
    align-items: flex-end;
}
.home article #beginner .img .bg p:first-child
{
    font-weight: bold;
}
.home article #beginner .img .bg p.en
{
    font-weight: bold;

    margin-top: 0;

    text-align: right;
}
.home article #beginner .img .bg p.en span
{
    font-weight: normal; 

    display: block;
}
@media screen and (min-width: 1040px)
{
    .home article #beginner
    {
        margin-bottom: 60px;
    }
    .home article #beginner::before
    {
        display: none;
    }
    .home article #beginner .inner
    {
        display: -ms-flexbox;
        display: flex;

        -ms-flex-align: center;
        align-items: center;
    }
    .home article #beginner .inner .txt
    {
        width: 520px;
    }
    .home article #beginner .inner .txt .icon
    {
        top: 40%; 
        left: 150px;

        width: 45px;
    }
    .home article #beginner .inner .img
    {
        width: 500px;
        margin: 0;
    }
    .home article #beginner .inner .img::before
    {
        display: none;
    }
}

.home article #fun-so-like
{
    padding-bottom: 60px; 

    text-align: center;
}
.home article #fun-so-like figure
{
    width: 70%;
    margin: 0 auto;
}
@media screen and (min-width: 1040px)
{
    .home article #fun-so-like .inner
    {
        display: -ms-flexbox;
        display: flex;

        -ms-flex-pack: justify;
        justify-content: space-between;
        -ms-flex-align: center;
        align-items: center;
    }
}

.home article #feature .feature-block
{
    margin-bottom: 50px;
}
.home article #feature .feature-block:last-child
{
    margin-bottom: 0;
}
.home article #feature .feature-block figure
{
    width: 130px;
    margin: 0 auto 18px;
}
.home article #feature .feature-block ul li
{
    position: relative;

    margin-bottom: 12px;
    padding-bottom: 12px; 
    padding-left: 40px;

    background: url('../img/line-dott-blue.png') repeat-x center bottom;
}
.home article #feature .feature-block ul li::before
{
    position: absolute;
    top: 5px; 
    left: 0;

    display: block;

    width: 30px;
    height: 30px;

    content: '';

    background-size: cover !important;
}
.home article #feature .feature-block ul li p:first-child
{
    font-size: .875rem !important;
}
.home article #feature .feature-block ul li p.en
{
    margin-top: 0;
}
.home article #feature .feature-block ul li.list01::before
{
    background: url('../img/ico-num-01.svg') no-repeat left center;
}
.home article #feature .feature-block ul li.list02::before
{
    background: url('../img/ico-num-02.svg') no-repeat left center;
}
.home article #feature .feature-block ul li.list03::before
{
    background: url('../img/ico-num-03.svg') no-repeat left center;
}
.home article #feature .feature-block ul li.list04::before
{
    background: url('../img/ico-num-04.svg') no-repeat left center;
}
@media screen and (min-width: 1040px)
{
    .home article #feature .feature-block
    {
        display: -ms-flexbox;
        display: flex;

        -ms-flex-align: center;
        align-items: center;
    }
    .home article #feature .feature-block figure
    {
        width: 300px;

        text-align: center;
    }
    .home article #feature .feature-block figure img
    {
        width: 250px;
    }
    .home article #feature .feature-block ul
    {
        padding-left: 50px; 

        -ms-flex: 1;
            flex: 1;
    }
    .home article #feature .feature-block ul li p:first-child
    {
        font-size: 1rem !important;
    }
}

.home article #outcome
{
    position: relative;
}
.home article #outcome .pop
{
    position: absolute;
}
.home article #outcome .pop img
{
    width: 180px;
}
.home article #outcome .pop#pop-01
{
    top: -10px;
    left: 15px;

    animation-name: anime1;
    animation-duration: 5s;
    animation-timing-function: ease;
    animation-iteration-count: infinite;
}
.home article #outcome .pop#pop-02
{
    top: 0;
    right: 15px;

    animation-name: anime2;
    animation-duration: 5s;
    animation-timing-function: ease;
    animation-iteration-count: infinite;
}
.home article #outcome figure
{
    padding-top: 70px;

    text-align: center;
}
.home article #outcome figure img
{
    width: 300px;
}

@keyframes anime1
{
    0%
    {
        transform: scale(0);
    }
    5%
    {
        transform: scale(1.2);
    }
    8%
    {
        transform: scale(1);
    }
    75%
    {
        transform: scale(1);
    }
    80%
    {
        transform: scale(0);
    }
    100%
    {
        transform: scale(0);
    }
}

@keyframes anime2
{
    0%
    {
        transform: scale(0);
    }
    25%
    {
        transform: scale(0);
    }
    30%
    {
        transform: scale(1.2);
    }
    33%
    {
        transform: scale(1);
    }
    75%
    {
        transform: scale(1);
    }
    80%
    {
        transform: scale(0);
    }
    100%
    {
        transform: scale(0);
    }
}
.home article #outcome .bg
{
    position: relative;

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

    text-align: center;

    color: #fff;
    background: #ff1b4b;
}
.home article #outcome .bg::before
{
    position: absolute;
    top: 0;
    left: 0;

    width: 0;
    height: 0;

    content: '';

    border-width: 50px 50vw 0 50vw;
    border-style: solid;
    border-color: #fff transparent transparent transparent;
}
.home article #outcome .bg h3
{
    font-family: 'bold'; 
    font-size: 1.5rem !important;

    margin-bottom: 24px;
}
.home article #outcome .bg h3 span
{
    font-size: .875rem !important;

    display: block;
}
.home article #outcome .bg figure
{
    padding-top: 0;
}
.home article #outcome .bg figure img
{
    width: 150px;
}
@media screen and (min-width: 1040px)
{
    .home article #outcome .pop-cover
    {
        position: relative;

        width: 800px;
        margin: 0 auto;
        padding-bottom: 30px; 

        text-align: center;
    }
    .home article #outcome .pop-cover .pop img
    {
        width: 300px;
    }
    .home article #outcome .pop-cover figure img
    {
        width: auto;
    }
    .home article #outcome .bg::before
    {
        left: 50%;

        margin-left: -150px;

        border-width: 50px 150px 0 150px;
    }
    .home article #outcome .bg h3
    {
        font-size: 30px !important;
    }
    .home article #outcome .bg figure img
    {
        width: 191px;
    }
}

.home article #voice .classes .class-block
{
    margin-bottom: 12px;
    padding-bottom: 12px;

    background: url('../img/line-dott-gray.png') repeat-x center bottom;
}
.home article #voice .classes .class-block .ttl-class
{
    margin-bottom: 12px; 
    padding: 3px 0;

    text-align: center;

    background: url('../img/line-diagonal-01.png') repeat center center;
}
.home article #voice .classes .class-block .ttl-class span
{
    font-size: .75rem !important;
    font-weight: bold; 

    padding: 0 10px;

    border-radius: 50px;
    background: #fff;
}
.home article #voice .classes .class-block .layout-flex-sp
{
    display: -ms-flexbox;
    display: flex;

    background: url('../img/ico-arrow-blue.svg') no-repeat right center;
}
.home article #voice .classes .class-block .layout-flex-sp:hover
{
    opacity: .5;
}
.home article #voice .classes .class-block .layout-flex-sp figure
{
    width: 100px;
}
.home article #voice .classes .class-block .layout-flex-sp figure img
{
    width: auto;
}
.home article #voice .classes .class-block .layout-flex-sp p
{
    font-size: .75rem !important;
    font-weight: bold;
    line-height: 1.5; 

    padding-right: 15px;
    padding-left: 10px;

    -ms-flex: 1;
        flex: 1;
}

@media screen and (min-width: 1040px)
{
    .home article #voice .classes
    {
        display: -ms-flexbox;
        display: flex;

        -ms-flex-pack: justify;
        justify-content: space-between;
    }
    .home article #voice .classes .class-block
    {
        width: 320px;
    }
    .home article #voice .classes .class-block .layout-flex-sp
    {
        display: block;

        background: none;
    }
    .home article #voice .classes .class-block .layout-flex-sp figure
    {
        width: 100%;
        margin-bottom: 12px;
    }
    .home article #voice .classes .class-block .layout-flex-sp figure img
    {
        width: 100%;
    }
    .home article #voice .classes .class-block .layout-flex-sp p
    {
        padding-left: 0;

        background: url('../img/ico-arrow-blue.svg') no-repeat right center;
    }
}

.home article #media ul li
{
    margin-bottom: 12px;
    padding-bottom: 12px;

    background: url('../img/line-dott-gray.png') repeat-x center bottom;
}
.home article #media ul li a
{
    font-size: .875rem !important;
    font-weight: bold;

    display: block;

    padding-right: 15px;

    background: url('../img/ico-arrow-blue.svg') no-repeat right center;
}

@media screen and (min-width: 1040px)
{
    .home article #media ul
    {
        display: -ms-flexbox;
        display: flex;

        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    }
    .home article #media ul li
    {
        display: -ms-flexbox;
        display: flex; 

        width: calc(50% - 20px);
        margin: 0 10px 12px;
    }
    .home article #media ul li a
    {
        display: -ms-flexbox;
        display: flex;

        width: 100%;
        padding-left: 10px;

        -ms-flex-align: center;
        align-items: center;
    }
    .home article #media ul li a:hover
    {
        color: #0075c1;
    }
}

.home article #fees .fee-block
{
    margin-bottom: 24px;
}
.home article #fees .fee-block h3
{
    font-size: 1.125rem !important;
    font-weight: bold;

    margin-bottom: 6px; 

    text-align: center;
}
.home article #fees .fee-block h3 span
{
    font-size: .625rem !important; 

    display: block;
}
.home article #fees .fee-block .price-box
{
    font-size: .875rem !important; 

    display: -ms-flexbox;
    display: flex;

    margin-bottom: 12px;
    padding: 15px;

    background: #e5f4f6;

    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-align: center;
    align-items: center;
}
.home article #fees .fee-block .price-box p.ttl
{
    font-weight: bold;
    line-height: 1.2;
}
.home article #fees .fee-block .price-box p.ttl span
{
    font-size: .625rem !important;

    display: block; 

    margin-top: 3px;
}
.home article #fees .fee-block .price-box div
{
    font-weight: bold; 

    text-align: right;

    color: #ff2d50;
}
.home article #fees .fee-block .price-box div span
{
    font-size: 1.5rem !important;
    font-weight: bold;
}
.home article #fees .fee-block .price-box div p + p
{
    font-size: .625rem !important;
    line-height: 1.2;
}

.home article #fees .btn .pop
{
    position: relative;
    z-index: 2; 

    display: block;

    width: 150px;
    margin: 0 auto;
}

.home article #fees .btn a
{
    position: relative;
    z-index: 1; 
    top: -10px;
}

@media screen and (min-width: 1040px)
{
    .home article #fees .layout-flex
    {
        -ms-flex-align: baseline;
        align-items: baseline;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }
    .home article #fees .layout-flex .fee-block
    {
        width: 500px;
        margin-bottom: 0;
    }
    .home article #fees .layout-flex .fee-block .price-box p.ttl
    {
        font-size: 1rem !important;
    }
    .home article #fees .btn
    {
        margin-top: -30px;
    }
    .home article #fees .btn .pop
    {
        width: 242px;
    }
}

.home article #school .area
{
    margin-bottom: 30px;
}
.home article #school .area .area-ttl
{
    font-size: 11px;
    font-weight: bold;

    position: relative;

    margin-bottom: 10px;
    padding: 8px  10px; 

    text-align: center;

    color: #0d6add;
    background: #daeaff;
}
@media screen and (min-width: 1040px)
{
    .home article #school .area
    {
        margin-bottom: 50px;
    }
    .home article #school .area .area-ttl
    {
        font-size: 14px; 

        text-align: left;
    }
}

.home article #school .schools .box
{
    margin-bottom: 12px;
    padding-bottom: 12px;

    background: url('../img/line-dott-gray.png') repeat-x center bottom;
}
.home article #school .schools .box span.no-map
{
    display: block;
}
.home article #school .schools .box span.no-map:hover
{
    opacity: .5;
}
.home article #school .schools .box span.no-map .layout-flex
{
    display: -ms-flexbox;
    display: flex;

    -ms-flex-align: baseline;
    align-items: baseline;
}
.home article #school .schools .box span.no-map .layout-flex h3.name
{
    font-size: 1.5rem !important; 
    font-weight: bold;

    color: #0075c1;
}
.home article #school .schools .box span.no-map .layout-flex h3.name span.new
{
    font-size: .75rem !important; 

    color: #ff2d50;
}
.home article #school .schools .box span.no-map .layout-flex .date
{
    font-size: .6875rem !important;

    padding-left: 10px;
}
.home article #school .schools .box span.no-map .layout-flex .date span
{
    font-size: .875rem !important;
    font-weight: bold;

    padding: 0 2px; 

    color: #0075c1;
}
.home article #school .schools .box span.no-map .address
{
    font-size: .6875rem !important;
    font-weight: bold;
    line-height: 1.09091; 

    position: relative;

    padding-left: 40px;
}
.home article #school .schools .box span.no-map .address span.kaijo
{
    position: absolute;
    top: -1px; 
    left: 0;

    padding: 2px 5px;

    border-radius: 5px;
    background: #e2e2e2;
}
.home article #school .schools .box a
{
    display: block;

    padding-right: 60px; 

    background: url('../img/ico_entry.svg') no-repeat right center;
    background-size: 47px 28px;
}
.home article #school .schools .box a:hover
{
    opacity: .5;
}
.home article #school .schools .box a .layout-flex
{
    display: -ms-flexbox;
    display: flex;

    -ms-flex-align: baseline;
    align-items: baseline;
}
.home article #school .schools .box a .layout-flex h3.name
{
    font-size: 1.5rem !important; 
    font-weight: bold;

    color: #0075c1;
}
.home article #school .schools .box a .layout-flex h3.name span.new
{
    font-size: .75rem !important; 

    color: #ff2d50;
}
.home article #school .schools .box a .layout-flex .date
{
    font-size: .6875rem !important;

    padding-left: 10px;
}
.home article #school .schools .box a .layout-flex .date span
{
    font-size: .875rem !important;
    font-weight: bold;

    padding: 0 2px; 

    color: #0075c1;
}
.home article #school .schools .box a .address
{
    font-size: .6875rem !important;
    font-weight: bold;
    line-height: 1.09091; 

    position: relative;

    padding-left: 40px;
}
.home article #school .schools .box a .address span.kaijo
{
    position: absolute;
    top: -1px; 
    left: 0;

    padding: 2px 5px;

    border-radius: 5px;
    background: #e2e2e2;
}

@media screen and (min-width: 1040px)
{
    .home article #school .schools
    {
        display: -ms-flexbox;
        display: flex;

        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }
    .home article #school .schools::after
    {
        display: block; 

        width: 320px;

        content: '';
    }
    .home article #school .schools .box
    {
        width: 320px;
    }
    .home article #school .schools .box .layout-flex
    {
        margin-bottom: 6px;
    }
}

.home article #school p.attention
{
    font-size: 11px; 
    font-weight: bold;

    color: #0d6add;
}
@media screen and (min-width: 1040px)
{
    .home article #school p.attention
    {
        font-size: 13px; 

        text-align: right;
    }
}

.home article #school .time-tables
{
    margin-top: 30px;
}
.home article #school .time-tables .box table
{
    width: 100%;

    border-top: 1px solid #dedede;
    border-right: 1px solid #dedede; 
    border-left: 1px solid #dedede;
}
.home article #school .time-tables .box table th,
.home article #school .time-tables .box table td
{
    font-size: .75rem !important;

    padding: 6px;

    border-bottom: 1px solid #dedede;
}
.home article #school .time-tables .box table th
{
    background: #dedede;
}
.home article #school .time-tables .box table td:last-child
{
    font-size: 1.125rem !important; 

    text-align: right;
}
@media screen and (min-width: 1040px)
{
    .home article #school .time-tables
    {
        zoom: 1;
    }
    .home article #school .time-tables:after
    {
        display: block;
        clear: both; 

        content: '';
    }
    .home article #school .time-tables .box
    {
        float: left;

        width: 320px;
        margin-bottom: 20px;
    }
    .home article #school .time-tables .box:nth-child(3n+1)
    {
        clear: both;
    }
    .home article #school .time-tables .box:nth-child(3n+2)
    {
        margin: 0 30px;
    }
    .home article #school .time-tables .box .layout-flex
    {
        margin-bottom: 6px;
    }
}

.home article #school .caution
{
    font-size: .75rem !important; 

    padding-top: 6px;
}

.home article #bnr
{
    margin-bottom: 30px; 
    padding-top: 30px;

    background: #ffe5eb;
}
.home article #bnr ul li
{
    margin-bottom: 12px;
}
.home article #bnr ul li:last-child
{
    margin-bottom: 0;
}
.home article #bnr ul li a
{
    display: block;
}
.home article #bnr ul li a img
{
    width: 100%;
}
@media screen and (min-width: 1040px)
{
    .home article #bnr
    {
        margin-bottom: 60px; 
        padding-top: 60px;
    }
    .home article #bnr ul
    {
        display: -ms-flexbox;
        display: flex;

        -ms-flex-pack: justify;
        justify-content: space-between;
    }
}

.home article #sns .layout-flex > div
{
    margin-bottom: 30px;
}

.home article #sns .layout-flex .insta #instafeed ul
{
    zoom: 1;
}
.home article #sns .layout-flex .insta #instafeed ul:after
{
    display: block;
    clear: both; 

    content: '';
}
.home article #sns .layout-flex .insta #instafeed ul li
{
    float: left;

    box-sizing: border-box; 
    width: 33.3333%;
    padding: 5px;
}

.home article #sns .layout-flex .news ul li
{
    margin-bottom: 12px;
    padding-bottom: 12px;

    background: url('../img/line-dott-gray.png') repeat-x center bottom;
}
.home article #sns .layout-flex .news ul li a
{
    font-size: .875rem !important;
    font-weight: bold;

    display: block;

    padding-right: 15px;

    background: url('../img/ico-arrow-blue.svg') no-repeat right center;
}

@media screen and (min-width: 1040px)
{
    .home article #sns .layout-flex .news ul li a:hover
    {
        color: #0075c1;
    }
}

@media screen and (min-width: 1040px)
{
    .home article #sns .layout-flex
    {
        -ms-flex-align: start;
        align-items: flex-start;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }
    .home article #sns .layout-flex > div
    {
        width: 330px;
    }
}

.home article #sns #global-news-block h3
{
    font-weight: bold;

    margin-bottom: 10px;
}

.home article #sns #global-news-block #news-feed ul
{
    zoom: 1;
}
.home article #sns #global-news-block #news-feed ul:after
{
    display: block;
    clear: both; 

    content: '';
}
.home article #sns #global-news-block #news-feed ul li
{
    float: left;

    box-sizing: border-box; 
    width: 50%;
    margin-bottom: 20px;
}
.home article #sns #global-news-block #news-feed ul li:nth-child(2n+1)
{
    clear: both;

    padding-right: 5px;
}
.home article #sns #global-news-block #news-feed ul li:nth-child(2n)
{
    padding-left: 5px;
}
.home article #sns #global-news-block #news-feed ul li a
{
    display: block;
}
.home article #sns #global-news-block #news-feed ul li a span.figure
{
    display: block;

    width: 100%;
    height: 100px;
    margin-bottom: 10px; 

    background-size: cover;
}
.home article #sns #global-news-block #news-feed ul li a span.date
{
    font-size: 12px; 

    display: block;
}
.home article #sns #global-news-block #news-feed ul li a p
{
    font-size: 13px;
    line-height: 1.38462;
}

@media screen and (min-width: 1040px)
{
    .home article #sns #global-news-block
    {
        padding-top: 30px; 

        border-top: 1px solid #eee;
    }
    .home article #sns #global-news-block h3
    {
        font-size: 18px; 

        text-align: center;
    }
    .home article #sns #global-news-block #news-feed ul li
    {
        width: 25%;
        padding: 0 10px !important;
    }
    .home article #sns #global-news-block #news-feed ul li:nth-child(2n+1)
    {
        clear: none;

        padding-right: 0;
    }
    .home article #sns #global-news-block #news-feed ul li:nth-child(2n)
    {
        padding-left: 0;
    }
    .home article #sns #global-news-block #news-feed ul li:nth-child(4n+1)
    {
        clear: both;
    }
    .home article #sns #global-news-block #news-feed ul li a:hover
    {
        opacity: .5;
    }
    .home article #sns #global-news-block #news-feed ul li a span.figure
    {
        height: 150px;
    }
    .home article #sns #global-news-block #news-feed ul li a p
    {
        font-size: 14px;
        font-weight: bold;
    }
}

.home article #experience
{
    margin-bottom: 30px; 
    padding-top: 30px;

    background: #f5f5f5;
}
@media screen and (min-width: 1040px)
{
    .home article #experience
    {
        margin-bottom: 60px;
        padding-top: 60px;

        text-align: center;
    }
}
.home article #experience a:hover
{
    opacity: .5;
}

.home article #manage .layout-flex > div:first-child
{
    margin-bottom: 30px;
}

.home article #manage .layout-flex > div dl
{
    font-size: .875rem !important;
}

@media screen and (min-width: 1040px)
{
    .home article #manage .layout-flex
    {
        width: 700px;
        margin: 0 auto;
    }
    .home article #manage .layout-flex > div
    {
        width: 50%; 

        text-align: center;
    }
}

.contact article section
{
    padding-bottom: 0;
}

.contact article .form-area figure
{
    margin-bottom: 30px; 

    text-align: center;
}

.contact article .form-area .form-block
{
    margin-bottom: 20px;
}
.contact article .form-area .form-block p.ttl
{
    font-weight: bold;

    margin-bottom: 6px;
}
.contact article .form-area .form-block p.ttl .require
{
    font-size: .625rem !important;

    margin-left: 10px; 
    padding: 2px 5px;

    color: #fff;
    border-radius: 3px;
    background: #f00;
}
.contact article .form-area .form-block input[type='text'],
.contact article .form-area .form-block input[type='number'],
.contact article .form-area .form-block input[type='tel'],
.contact article .form-area .form-block input[type='email'],
.contact article .form-area .form-block select
{
    box-sizing: border-box; 
    padding: 6px;
}
.contact article .form-area .form-block input[type='text'].w-full,
.contact article .form-area .form-block input[type='number'].w-full,
.contact article .form-area .form-block input[type='tel'].w-full,
.contact article .form-area .form-block input[type='email'].w-full,
.contact article .form-area .form-block select.w-full
{
    width: 100%;
}
.contact article .form-area .form-block input[type='text'].w-third,
.contact article .form-area .form-block input[type='number'].w-third,
.contact article .form-area .form-block input[type='tel'].w-third,
.contact article .form-area .form-block input[type='email'].w-third,
.contact article .form-area .form-block select.w-third
{
    width: 30%;
}
.contact article .form-area .form-block input[type='text'].w-100px,
.contact article .form-area .form-block input[type='number'].w-100px,
.contact article .form-area .form-block input[type='tel'].w-100px,
.contact article .form-area .form-block input[type='email'].w-100px,
.contact article .form-area .form-block select.w-100px
{
    width: 100px;
}
.contact article .form-area .form-block select
{
    width: 100%;
}
.contact article .form-area .form-block textarea
{
    box-sizing: border-box; 
    width: 100%;
    height: 10em;
    padding: 6px;
}
.contact article .form-area .form-block p.caution
{
    font-size: .75rem !important;
}

.contact article .form-area .btn-submit
{
    margin-bottom: 30px; 

    text-align: center;
}
.contact article .form-area .btn-submit input[type='submit']
{
    font-size: .875rem !important;
    font-weight: bold;

    display: block;

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

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

    color: #fff;
    border-radius: 5px;
    background: #1299d1;
    box-shadow: 0 3px 0 #066c96;
}
.contact article .form-area .btn-submit input[type='submit']:hover
{
    background-color: #066c96;
}
.contact article .form-area .btn-submit input[type='submit'][disabled]
{
    background: #c1c1c1;
    box-shadow: 0 3px 0 #fff;
}

.contact article .form-area .attention
{
    font-size: .75rem !important; 

    margin: 0 -20px;
    padding: 10px;

    background: #ddd;
}

.contact article .form-area .wpcf7-mail-sent-ok
{
    font-size: 15px;
    font-weight: bold;

    margin: 20px 0; 
    padding: 20px;

    text-align: center;

    color: #0f69dd;
    border: none;
    border-top: 1px solid #0f69dd;
    border-bottom: 1px solid #0f69dd;
}

.contact article .form-area .thanks-message
{
    font-weight: bold; 

    display: none;

    margin-bottom: 30px;
    padding: 10px;

    text-align: center;

    border: 2px solid #333;
    border-radius: 100px;
}
.contact article .form-area .thanks-message a
{
    text-decoration: underline;
}

.contact article .form-area form.sent .btn-submit
{
    display: none;
}

.contact article .form-area form.sent .thanks-message
{
    display: block;
}

@media screen and (min-width: 1040px)
{
    .contact article section
    {
        padding-bottom: 60px;
    }
    .contact article .form-area
    {
        width: 600px;
        margin: 0 auto;
    }
}

.post-type-archive-news article #local-nav,
.parent-voice article #local-nav,
.category article #local-nav
{
    margin-bottom: 12px;
}
.post-type-archive-news article #local-nav ul,
.parent-voice article #local-nav ul,
.category article #local-nav ul
{
    font-size: .75rem !important; 

    display: -ms-flexbox;
    display: flex;

    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: justify;
    justify-content: space-between;
}
.post-type-archive-news article #local-nav ul li,
.parent-voice article #local-nav ul li,
.category article #local-nav ul li
{
    padding: 0 10px; 

    border-right: 1px solid #ddd;

    -ms-flex: 1;
        flex: 1;
}
.post-type-archive-news article #local-nav ul li:first-child,
.parent-voice article #local-nav ul li:first-child,
.category article #local-nav ul li:first-child
{
    border-left: 1px solid #ddd;
}
.post-type-archive-news article #local-nav ul li a,
.parent-voice article #local-nav ul li a,
.category article #local-nav ul li a
{
    position: relative;

    display: block;

    padding-bottom: 10px; 

    text-align: center;
}
.post-type-archive-news article #local-nav ul li a:hover,
.parent-voice article #local-nav ul li a:hover,
.category article #local-nav ul li a:hover
{
    opacity: .5;
}
.post-type-archive-news article #local-nav ul li a::after,
.parent-voice article #local-nav ul li a::after,
.category article #local-nav ul li a::after
{
    position: absolute;
    bottom: 0;
    left: 50%;

    width: 0;
    height: 0;

    content: '';
    transform: translateX(-50%);

    border-width: 5px 5px 0 5px;
    border-style: solid;
    border-color: #0075c1 transparent transparent transparent;
}
@media screen and (min-width: 1040px)
{
    .post-type-archive-news article #local-nav,
    .parent-voice article #local-nav,
    .category article #local-nav
    {
        width: 400px;
        margin: 0 auto 24px;
    }
    .post-type-archive-news article #local-nav ul,
    .parent-voice article #local-nav ul,
    .category article #local-nav ul
    {
        font-size: .875rem !important;
    }
}

.post-type-archive-news article .ttl-class,
.parent-voice article .ttl-class,
.category article .ttl-class
{
    margin-bottom: 12px; 
    padding: 3px 0;

    text-align: center;

    background: url('../img/line-diagonal-01.png') repeat center center;
}
.post-type-archive-news article .ttl-class span,
.parent-voice article .ttl-class span,
.category article .ttl-class span
{
    font-size: .75rem !important;
    font-weight: bold; 

    padding: 0 10px;

    border-radius: 50px;
    background: #fff;
}

.post-type-archive-news article .class-block,
.parent-voice article .class-block,
.category article .class-block
{
    margin-bottom: 42px;
}
.post-type-archive-news article .class-block:last-child,
.parent-voice article .class-block:last-child,
.category article .class-block:last-child
{
    margin-bottom: 0;
}

.post-type-archive-news article .entries .entry,
.parent-voice article .entries .entry,
.category article .entries .entry
{
    margin-bottom: 12px;
    padding-bottom: 12px;

    background: url('../img/line-dott-gray.png') repeat-x center bottom;
}
.post-type-archive-news article .entries .entry a.layout-flex-sp,
.parent-voice article .entries .entry a.layout-flex-sp,
.category article .entries .entry a.layout-flex-sp
{
    display: -ms-flexbox;
    display: flex;

    background: url('../img/ico-arrow-blue.svg') no-repeat right center; 

    -ms-flex-align: center;
    align-items: center;
}
.post-type-archive-news article .entries .entry a.layout-flex-sp figure,
.parent-voice article .entries .entry a.layout-flex-sp figure,
.category article .entries .entry a.layout-flex-sp figure
{
    width: 80px;
}
.post-type-archive-news article .entries .entry a.layout-flex-sp p,
.parent-voice article .entries .entry a.layout-flex-sp p,
.category article .entries .entry a.layout-flex-sp p
{
    font-size: .75rem !important;

    padding-right: 15px; 
    padding-left: 10px;

    -ms-flex: 1;
        flex: 1;
}

@media screen and (min-width: 1040px)
{
    .post-type-archive-news article .entries,
    .parent-voice article .entries,
    .category article .entries
    {
        display: -ms-flexbox;
        display: flex;

        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    }
    .post-type-archive-news article .entries .entry,
    .parent-voice article .entries .entry,
    .category article .entries .entry
    {
        width: 320px;
        margin-bottom: 24px;
    }
    .post-type-archive-news article .entries .entry:nth-child(3n+2),
    .parent-voice article .entries .entry:nth-child(3n+2),
    .category article .entries .entry:nth-child(3n+2)
    {
        margin: 0 30px 24px;
    }
    .post-type-archive-news article .entries .entry a.layout-flex-sp,
    .parent-voice article .entries .entry a.layout-flex-sp,
    .category article .entries .entry a.layout-flex-sp
    {
        display: block;

        background: none;
    }
    .post-type-archive-news article .entries .entry a.layout-flex-sp figure,
    .parent-voice article .entries .entry a.layout-flex-sp figure,
    .category article .entries .entry a.layout-flex-sp figure
    {
        width: 100%;
        margin-bottom: 12px;
    }
    .post-type-archive-news article .entries .entry a.layout-flex-sp figure img,
    .parent-voice article .entries .entry a.layout-flex-sp figure img,
    .category article .entries .entry a.layout-flex-sp figure img
    {
        width: 100%;
    }
    .post-type-archive-news article .entries .entry a.layout-flex-sp p,
    .parent-voice article .entries .entry a.layout-flex-sp p,
    .category article .entries .entry a.layout-flex-sp p
    {
        padding-left: 0;

        background: url('../img/ico-arrow-blue.svg') no-repeat right center;
    }
    .post-type-archive-news article .entries .entry a.layout-flex-sp:hover,
    .parent-voice article .entries .entry a.layout-flex-sp:hover,
    .category article .entries .entry a.layout-flex-sp:hover
    {
        opacity: .5;
    }
}

.single article .pagination a
{
    font-size: .875rem !important;

    padding: 6px 12px; 

    background: #d0d0d0;
}

.single article .entry-detail
{
    padding-bottom: 30px;
}
.single article .entry-detail .entry-head h2.entry-ttl
{
    font-size: 1.125rem !important;

    margin-bottom: 12px;
}
.single article .entry-detail .entry-head .main-img img
{
    width: 100%;
}
.single article .entry-detail .entry-head .profile
{
    margin: 6px 0 12px;
}
.single article .entry-detail .entry-head .profile ul
{
    text-align: center;
}
.single article .entry-detail .entry-head .profile ul li
{
    font-size: .75rem !important;

    padding: 6px 0; 

    border-bottom: 1px solid #eee;
}
@media screen and (min-width: 1040px)
{
    .single article .entry-detail .entry-head
    {
        text-align: center;
    }
    .single article .entry-detail .entry-head h2.entry-ttl
    {
        font-size: 1.5rem !important;

        margin-bottom: 24px; 

        text-align: center;
    }
    .single article .entry-detail .entry-head .main-img
    {
        text-align: center;
    }
    .single article .entry-detail .entry-head .main-img img
    {
        width: auto;
    }
    .single article .entry-detail .entry-head .profile
    {
        display: inline-block;
    }
    .single article .entry-detail .entry-head .profile ul li
    {
        padding: 6px 20px;
    }
}
.single article .entry-detail .entry-body
{
    font-size: .875rem !important;
}
.single article .entry-detail .entry-body > p
{
    margin-bottom: 24px;
}
.single article .entry-detail .entry-body > img
{
    margin-bottom: 12px;
}
.single article .entry-detail .entry-body .qa-block
{
    margin-bottom: 18px;
}
.single article .entry-detail .entry-body .question
{
    font-weight: bold;

    margin-bottom: 12px;

    background: #fbfbff;
}
.single article .entry-detail .entry-body .question span
{
    font-weight: bold; 

    display: block;

    margin: 0 auto;
    padding: 5px 10px;

    text-align: center;

    color: #fff;
    background: #bdd0dc;
}
.single article .entry-detail .entry-body .question p
{
    padding: 10px;
}
.single article .entry-detail .entry-body .answer
{
    margin-bottom: 18px;
}
.single article .entry-detail .entry-body .answer span
{
    font-weight: bold;
    line-height: 30px;

    display: block;

    width: 30px;
    height: 30px;
    margin: 0 auto 5px; 

    text-align: center;

    border: 1px solid #bdd0dc;
    border-radius: 30px;
}
@media screen and (min-width: 1040px)
{
    .single article .entry-detail .entry-body
    {
        font-size: 1rem !important;
    }
    .single article .entry-detail .entry-body > p
    {
        margin: 24px 0;
    }
    .single article .entry-detail .entry-body .qa-block
    {
        margin-bottom: 36px;
    }
    .single article .entry-detail .entry-body .answer
    {
        margin-bottom: 36px;
    }
}

.member article .layout-flex.main-visual,
.adopt article .layout-flex.main-visual
{
    margin-bottom: 24px;
}
.member article .layout-flex.main-visual figure,
.adopt article .layout-flex.main-visual figure
{
    width: 100%;
}
.member article .layout-flex.main-visual figure img,
.adopt article .layout-flex.main-visual figure img
{
    margin-bottom: 6px;

    border-radius: 10px;
}
.member article .layout-flex.main-visual figure figcaption,
.adopt article .layout-flex.main-visual figure figcaption
{
    font-size: .75rem !important;
}
.member article .layout-flex.main-visual .txt .sholder,
.adopt article .layout-flex.main-visual .txt .sholder
{
    font-size: .625rem !important;
}
.member article .layout-flex.main-visual .txt h3,
.adopt article .layout-flex.main-visual .txt h3
{
    font-weight: bold;

    margin-bottom: 12px;
}
.member article .layout-flex.main-visual .txt p,
.adopt article .layout-flex.main-visual .txt p
{
    font-size: .875rem !important; 

    margin-bottom: 6px;
}
@media screen and (min-width: 1040px)
{
    .member article .layout-flex.main-visual,
    .adopt article .layout-flex.main-visual
    {
        -ms-flex-align: start;
        align-items: flex-start;
    }
    .member article .layout-flex.main-visual figure,
    .adopt article .layout-flex.main-visual figure
    {
        width: 600px;
    }
}

.member article .layout-flex.thumbnail,
.adopt article .layout-flex.thumbnail
{
    margin-bottom: 24px;
}
.member article .layout-flex.thumbnail img,
.adopt article .layout-flex.thumbnail img
{
    margin-bottom: 12px;
}
@media screen and (min-width: 1040px)
{
    .member article .layout-flex.thumbnail,
    .adopt article .layout-flex.thumbnail
    {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }
    .member article .layout-flex.thumbnail img,
    .adopt article .layout-flex.thumbnail img
    {
        width: 320px;
    }
}

.member article table,
.adopt article table
{
    width: 100%;
    margin-bottom: 18px; 

    border-top: 1px solid #eee;
    border-left: 1px solid #eee;
}
.member article table th,
.adopt article table th
{
    font-size: .875rem !important; 

    color: #fff;
    background: #0075c1;
}
.member article table td,
.adopt article table td
{
    font-size: .75rem !important;
}
.member article table th,
.member article table td,
.adopt article table th,
.adopt article table td
{
    display: block;

    box-sizing: border-box; 
    width: 100%;
    padding: 12px 6px;

    vertical-align: middle;

    border-right: 1px solid #eee;
    border-bottom: 1px solid #eee;
}
@media screen and (min-width: 1040px)
{
    .member article table,
    .adopt article table
    {
        table-layout: fixed;
    }
    .member article table th,
    .member article table td,
    .adopt article table th,
    .adopt article table td
    {
        display: table-cell;
    }
    .member article table th,
    .adopt article table th
    {
        font-size: 1rem !important; 

        width: 20%;
    }
    .member article table td,
    .adopt article table td
    {
        font-size: .875rem !important; 

        width: 80%;
    }
    .member article table thead th,
    .adopt article table thead th
    {
        width: 100%;
    }
}

.member article .bg-blue,
.adopt article .bg-blue
{
    margin-bottom: 24px; 
    padding: 12px;

    border-radius: 5px;
    background: #e9f2f7;
}
.member article .bg-blue h4,
.adopt article .bg-blue h4
{
    font-size: 1.125rem !important; 
    font-weight: bold;

    margin-bottom: 12px;

    text-align: center;

    color: #0075c1;
}
.member article .bg-blue .strong,
.adopt article .bg-blue .strong
{
    font-weight: bold;

    margin-bottom: 6px;
}

/* Slider */
.slick-slider
{
    position: relative;

    display: block;

    box-sizing: border-box;

    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;

    -webkit-touch-callout: none;
    -ms-touch-action: pan-y;
        touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

.slick-list
{
    position: relative;

    display: block;
    overflow: hidden;

    margin: 0;
    padding: 0;
}
.slick-list:focus
{
    outline: none;
}
.slick-list.dragging
{
    cursor: pointer;
    cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list
{
    transform: translate3d(0, 0, 0);
}

.slick-track
{
    position: relative;
    top: 0;
    left: 0;

    display: block;
}
.slick-track:before,
.slick-track:after
{
    display: table; 

    content: '';
}
.slick-track:after
{
    clear: both;
}
.slick-loading .slick-track
{
    visibility: hidden;
}

.slick-slide
{
    display: none; 
    float: left;

    height: 100%;
    min-height: 1px;
}
[dir='rtl'] .slick-slide
{
    float: right;
}
.slick-slide img
{
    display: block;
}
.slick-slide.slick-loading img
{
    display: none;
}
.slick-slide.dragging img
{
    pointer-events: none;
}
.slick-initialized .slick-slide
{
    display: block;
}
.slick-loading .slick-slide
{
    visibility: hidden;
}
.slick-vertical .slick-slide
{
    display: block;

    height: auto;

    border: 1px solid transparent;
}

.slick-arrow.slick-hidden
{
    display: none;
}

/* Slider */
/* Icons */
/* Arrows */
.slick-prev,
.slick-next
{
    font-size: 0;
    line-height: 0;

    position: absolute;
    top: 50%;

    display: block;

    width: 20px;
    height: 20px;
    padding: 0;

    cursor: pointer;
    transform: translate(0, -50%);

    color: transparent;
    border: none;
    outline: none; 
    background: transparent;
}
.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus
{
    color: transparent; 
    outline: none;
    background: transparent;
}
.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before
{
    opacity: 1;
}
.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before
{
    opacity: .25;
}
.slick-prev:before,
.slick-next:before
{
    font-size: 20px;
    line-height: 1;

    opacity: .75;
    color: white;

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.slick-prev
{
    left: -25px;
}
[dir='rtl'] .slick-prev
{
    right: -25px; 
    left: auto;
}
.slick-prev:before
{
    content: '←';
}
[dir='rtl'] .slick-prev:before
{
    content: '→';
}

.slick-next
{
    right: -25px;
}
[dir='rtl'] .slick-next
{
    right: auto; 
    left: -25px;
}
.slick-next:before
{
    content: '→';
}
[dir='rtl'] .slick-next:before
{
    content: '←';
}

/* Dots */
.slick-dotted.slick-slider
{
    margin-bottom: 30px;
}

.slick-dots
{
    position: absolute;
    bottom: -25px;

    display: block;

    width: 100%; 
    margin: 0;
    padding: 0;

    list-style: none;

    text-align: center;
}
.slick-dots li
{
    position: relative;

    display: inline-block;

    width: 20px;
    height: 20px;
    margin: 0 5px;
    padding: 0;

    cursor: pointer;
}
.slick-dots li button
{
    font-size: 0;
    line-height: 0;

    display: block;

    width: 20px;
    height: 20px;
    padding: 5px;

    cursor: pointer; 

    color: transparent;
    border: 0;
    outline: none;
    background: transparent;
}
.slick-dots li button:hover,
.slick-dots li button:focus
{
    outline: none;
}
.slick-dots li button:hover:before,
.slick-dots li button:focus:before
{
    opacity: 1;
}
.slick-dots li button:before
{
    font-size: 6px;
    line-height: 20px;

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

    width: 20px;
    height: 20px;

    content: '•';
    text-align: center;

    opacity: .25;
    color: black;

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.slick-dots li.slick-active button:before
{
    opacity: .75; 
    color: black;
}

/*
 *  Remodal - v1.1.1
 *  Responsive, lightweight, fast, synchronized with CSS animations, fully customizable modal window plugin with declarative configuration and hash tracking.
 *  http://vodkabears.github.io/remodal/
 *
 *  Made by Ilya Makarov
 *  Under MIT License
 */
/* ==========================================================================
   Remodal's necessary styles
   ========================================================================== */
/* Hide scroll bar */
html.remodal-is-locked
{
    overflow: hidden;

    -ms-touch-action: none;
        touch-action: none;
}

/* Anti FOUC */
.remodal,
[data-remodal-id]
{
    display: none;
}

/* Necessary styles of the overlay */
.remodal-overlay
{
    position: fixed;
    z-index: 9999;
    top: -5000px;
    right: -5000px;
    bottom: -5000px;
    left: -5000px;

    display: none;
}

/* Necessary styles of the wrapper */
.remodal-wrapper
{
    position: fixed;
    z-index: 10000;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;

    display: none;
    overflow: auto;

    text-align: center;

    -webkit-overflow-scrolling: touch;
}

.remodal-wrapper:after
{
    display: inline-block;

    height: 100%;
    margin-left: -.05em;

    content: '';
}

/* Fix iPad, iPhone glitches */
.remodal-overlay,
.remodal-wrapper
{
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
}

/* Necessary styles of the modal dialog */
.remodal
{
    position: relative;

    outline: none;

    -webkit-text-size-adjust: 100%;
        -ms-text-size-adjust: 100%;
            text-size-adjust: 100%;
}

.remodal-is-initialized
{
    /* Disable Anti-FOUC */
    display: inline-block;
}

/*
 *  Remodal - v1.1.1
 *  Responsive, lightweight, fast, synchronized with CSS animations, fully customizable modal window plugin with declarative configuration and hash tracking.
 *  http://vodkabears.github.io/remodal/
 *
 *  Made by Ilya Makarov
 *  Under MIT License
 */
/* ==========================================================================
   Remodal's default mobile first theme
   ========================================================================== */
/* Default theme styles for the background */
.remodal-bg.remodal-is-opening,
.remodal-bg.remodal-is-opened
{
    filter: blur(3px);
}

/* Default theme styles of the overlay */
.remodal-overlay
{
    background: rgba(43, 46, 56, .9);
}

.remodal-overlay.remodal-is-opening,
.remodal-overlay.remodal-is-closing
{
    animation-duration: .3s;

    animation-fill-mode: forwards;
}

.remodal-overlay.remodal-is-opening
{
    animation-name: remodal-overlay-opening-keyframes;
}

.remodal-overlay.remodal-is-closing
{
    animation-name: remodal-overlay-closing-keyframes;
}

/* Default theme styles of the wrapper */
.remodal-wrapper
{
    padding: 10px 10px 0;
}

/* Default theme styles of the modal dialog */
.remodal
{
    box-sizing: border-box;
    width: 100%;
    margin-bottom: 10px;
    padding: 35px;

    transform: translate3d(0, 0, 0);

    color: #2b2e38;
    background: #fff;
}

.remodal.remodal-is-opening,
.remodal.remodal-is-closing
{
    animation-duration: .3s;

    animation-fill-mode: forwards;
}

.remodal.remodal-is-opening
{
    animation-name: remodal-opening-keyframes;
}

.remodal.remodal-is-closing
{
    animation-name: remodal-closing-keyframes;
}

/* Vertical align of the modal dialog */
.remodal,
.remodal-wrapper:after
{
    vertical-align: middle;
}

/* Close button */
.remodal-close
{
    position: absolute;
    top: 0;
    left: 0;

    display: block;
    overflow: visible;

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

    cursor: pointer;
    transition: color .2s;
    text-decoration: none;

    color: #95979c;
    border: 0;
    outline: 0;
    background: transparent;
}

.remodal-close:hover,
.remodal-close:focus
{
    color: #2b2e38;
}

.remodal-close:before
{
    font-family: Arial, 'Helvetica CY', 'Nimbus Sans L', sans-serif !important;
    font-size: 25px;
    line-height: 35px;

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

    display: block;

    width: 35px;

    content: '\00d7';
    text-align: center;
}

/* Dialog buttons */
.remodal-confirm,
.remodal-cancel
{
    font: inherit;

    display: inline-block;
    overflow: visible;

    min-width: 110px;
    margin: 0;
    padding: 12px 0;

    cursor: pointer;
    transition: background .2s;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;

    border: 0;
    outline: 0;
}

.remodal-confirm
{
    color: #fff;
    background: #81c784;
}

.remodal-confirm:hover,
.remodal-confirm:focus
{
    background: #66bb6a;
}

.remodal-cancel
{
    color: #fff;
    background: #e57373;
}

.remodal-cancel:hover,
.remodal-cancel:focus
{
    background: #ef5350;
}

/* Remove inner padding and border in Firefox 4+ for the button tag. */
.remodal-confirm::-moz-focus-inner,
.remodal-cancel::-moz-focus-inner,
.remodal-close::-moz-focus-inner
{
    padding: 0;

    border: 0;
}

/* Keyframes
   ========================================================================== */

@keyframes remodal-opening-keyframes
{
    from
    {
        transform: scale(1.05);

        opacity: 0;
    }
    to
    {
        transform: none;

        opacity: 1;

        filter: blur(0);
    }
}

@keyframes remodal-closing-keyframes
{
    from
    {
        transform: scale(1);

        opacity: 1;
    }
    to
    {
        transform: scale(.95);

        opacity: 0;

        filter: blur(0);
    }
}

@keyframes remodal-overlay-opening-keyframes
{
    from
    {
        opacity: 0;
    }
    to
    {
        opacity: 1;
    }
}

@keyframes remodal-overlay-closing-keyframes
{
    from
    {
        opacity: 1;
    }
    to
    {
        opacity: 0;
    }
}

/* Media queries
   ========================================================================== */
@media only screen and (min-width: 641px)
{
    .remodal
    {
        max-width: 700px;
    }
}

/* IE8
   ========================================================================== */
.lt-ie9 .remodal-overlay
{
    background: #2b2e38;
}

.lt-ie9 .remodal
{
    width: 700px;
}

/* Magnific Popup CSS */
.mfp-bg
{
    position: fixed;
    z-index: 1042;
    top: 0;
    left: 0;

    overflow: hidden;

    width: 100%;
    height: 100%;

    opacity: .8;
    background: #0b0b0b;

    filter: alpha(opacity=80);
}

.mfp-wrap
{
    position: fixed;
    z-index: 1043;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    outline: none !important;

    -webkit-backface-visibility: hidden;
}

.mfp-container
{
    position: absolute;
    top: 0;
    left: 0;

    box-sizing: border-box; 
    width: 100%;
    height: 100%;
    padding: 0 8px;

    text-align: center;
}

.mfp-container:before
{
    display: inline-block;

    height: 100%;

    content: '';
    vertical-align: middle;
}

.mfp-align-top .mfp-container:before
{
    display: none;
}

.mfp-content
{
    position: relative;
    z-index: 1045; 

    display: inline-block;

    margin: 0 auto;

    text-align: left;
    vertical-align: middle;
}

.mfp-inline-holder .mfp-content,
.mfp-ajax-holder .mfp-content
{
    width: 100%;

    cursor: auto;
}

.mfp-ajax-cur
{
    cursor: progress;
}

.mfp-zoom-out-cur,
.mfp-zoom-out-cur .mfp-image-holder .mfp-close
{
    cursor: zoom-out;
}

.mfp-zoom
{
    cursor: pointer;
    cursor: zoom-in;
}

.mfp-auto-cursor .mfp-content
{
    cursor: auto;
}

.mfp-close,
.mfp-arrow,
.mfp-preloader,
.mfp-counter
{
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
}

.mfp-loading.mfp-figure
{
    display: none;
}

.mfp-hide
{
    display: none !important;
}

.mfp-preloader
{
    position: absolute;
    z-index: 1044; 
    top: 50%;
    right: 8px;
    left: 8px;

    width: auto;
    margin-top: -.8em;

    text-align: center;

    color: #ccc;
}

.mfp-preloader a
{
    color: #ccc;
}

.mfp-preloader a:hover
{
    color: #fff;
}

.mfp-s-ready .mfp-preloader
{
    display: none;
}

.mfp-s-error .mfp-content
{
    display: none;
}

button.mfp-close,
button.mfp-arrow
{
    z-index: 1046;

    display: block;
    overflow: visible;

    padding: 0;

    cursor: pointer;

    border: 0;
    outline: none;
    background: transparent;
    box-shadow: none; 

    -webkit-appearance: none;
}

button::-moz-focus-inner
{
    padding: 0;

    border: 0;
}

.mfp-close
{
    font-family: Arial, Baskerville, monospace; 
    font-size: 28px;
    font-style: normal;
    line-height: 44px;

    position: absolute;
    top: 0;
    right: 0;

    width: 44px;
    height: 44px;
    padding: 0 0 18px 10px;

    text-align: center;
    text-decoration: none;

    opacity: .65;
    color: #fff;

    filter: alpha(opacity=65);
}

.mfp-close:hover,
.mfp-close:focus
{
    opacity: 1;

    filter: alpha(opacity=100);
}

.mfp-close:active
{
    top: 1px;
}

.mfp-close-btn-in .mfp-close
{
    color: #333;
}

.mfp-image-holder .mfp-close,
.mfp-iframe-holder .mfp-close
{
    right: -6px;

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

    text-align: right;

    color: #fff;
}

.mfp-counter
{
    font-size: 12px;
    line-height: 18px;

    position: absolute;
    top: 0;
    right: 0;

    white-space: nowrap; 

    color: #ccc;
}

.mfp-arrow
{
    position: absolute;
    top: 50%;

    width: 90px;
    height: 110px;
    margin: 0;
    margin-top: -55px;
    padding: 0;

    opacity: .65;

    filter: alpha(opacity=65);
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.mfp-arrow:active
{
    margin-top: -54px;
}

.mfp-arrow:hover,
.mfp-arrow:focus
{
    opacity: 1;

    filter: alpha(opacity=100);
}

.mfp-arrow:before,
.mfp-arrow:after,
.mfp-arrow .mfp-b,
.mfp-arrow .mfp-a
{
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 0;
    height: 0;
    margin-top: 35px;
    margin-left: 35px;

    content: '';

    border: medium inset transparent;
}

.mfp-arrow:after,
.mfp-arrow .mfp-a
{
    top: 8px; 

    border-top-width: 13px;
    border-bottom-width: 13px;
}

.mfp-arrow:before,
.mfp-arrow .mfp-b
{
    opacity: .7; 
    border-top-width: 21px;
    border-bottom-width: 21px;
}

.mfp-arrow-left
{
    left: 0;
}

.mfp-arrow-left:after,
.mfp-arrow-left .mfp-a
{
    margin-left: 31px; 

    border-right: 17px solid #fff;
}

.mfp-arrow-left:before,
.mfp-arrow-left .mfp-b
{
    margin-left: 25px;

    border-right: 27px solid #3f3f3f;
}

.mfp-arrow-right
{
    right: 0;
}

.mfp-arrow-right:after,
.mfp-arrow-right .mfp-a
{
    margin-left: 39px; 

    border-left: 17px solid #fff;
}

.mfp-arrow-right:before,
.mfp-arrow-right .mfp-b
{
    border-left: 27px solid #3f3f3f;
}

.mfp-iframe-holder
{
    padding-top: 40px;
    padding-bottom: 40px;
}

.mfp-iframe-holder .mfp-content
{
    line-height: 0;

    width: 100%;
    max-width: 900px;
}

.mfp-iframe-holder .mfp-close
{
    top: -40px;
}

.mfp-iframe-scaler
{
    overflow: hidden;

    width: 100%;
    height: 0;
    padding-top: 56.25%;
}

.mfp-iframe-scaler iframe
{
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    background: #000; 
    box-shadow: 0 0 8px rgba(0, 0, 0, .6);
}

/* Main image in popup */
img.mfp-img
{
    line-height: 0;

    display: block;

    box-sizing: border-box;
    width: auto;
    max-width: 100%;
    height: auto;
    margin: 0 auto; 
    padding: 40px 0 40px;
}

/* The shadow behind the image */
.mfp-figure
{
    line-height: 0;
}

.mfp-figure:after
{
    position: absolute;
    z-index: -1;
    top: 40px;
    right: 0;
    bottom: 40px;
    left: 0;

    display: block;

    width: auto;
    height: auto;

    content: '';

    background: #444; 
    box-shadow: 0 0 8px rgba(0, 0, 0, .6);
}

.mfp-figure small
{
    font-size: 12px;
    line-height: 14px; 

    display: block;

    color: #bdbdbd;
}

.mfp-figure figure
{
    margin: 0;
}

.mfp-bottom-bar
{
    position: absolute;
    top: 100%;
    left: 0;

    width: 100%;
    margin-top: -36px;

    cursor: auto;
}

.mfp-title
{
    line-height: 18px;

    padding-right: 36px; 

    text-align: left;
    word-wrap: break-word;

    color: #f3f3f3;
}

.mfp-image-holder .mfp-content
{
    max-width: 100%;
}

.mfp-gallery .mfp-image-holder .mfp-figure
{
    cursor: pointer;
}

@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px)
{
    /**
       * Remove all paddings around the image on small screen
       */
    .mfp-img-mobile .mfp-image-holder
    {
        padding-right: 0; 
        padding-left: 0;
    }
    .mfp-img-mobile img.mfp-img
    {
        padding: 0;
    }
    .mfp-img-mobile .mfp-figure:after
    {
        top: 0;
        bottom: 0;
    }
    .mfp-img-mobile .mfp-figure small
    {
        display: inline;

        margin-left: 5px;
    }
    .mfp-img-mobile .mfp-bottom-bar
    {
        position: fixed;
        top: auto;
        bottom: 0;

        box-sizing: border-box; 
        margin: 0;
        padding: 3px 5px;

        background: rgba(0, 0, 0, .6);
    }
    .mfp-img-mobile .mfp-bottom-bar:empty
    {
        padding: 0;
    }
    .mfp-img-mobile .mfp-counter
    {
        top: 3px; 
        right: 5px;
    }
    .mfp-img-mobile .mfp-close
    {
        line-height: 35px;

        position: fixed;
        top: 0;
        right: 0;

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

        text-align: center;

        background: rgba(0, 0, 0, .6);
    }
}

@media all and (max-width: 900px)
{
    .mfp-arrow
    {
        transform: scale(.75);
    }
    .mfp-arrow-left
    {
        transform-origin: 0;
    }
    .mfp-arrow-right
    {
        transform-origin: 100%;
    }
    .mfp-container
    {
        padding-right: 6px; 
        padding-left: 6px;
    }
}

.mfp-ie7 .mfp-img
{
    padding: 0;
}

.mfp-ie7 .mfp-bottom-bar
{
    left: 50%;

    width: 600px;
    margin-top: 5px;
    margin-left: -300px;
    padding-bottom: 5px;
}

.mfp-ie7 .mfp-container
{
    padding: 0;
}

.mfp-ie7 .mfp-content
{
    padding-top: 44px;
}

.mfp-ie7 .mfp-close
{
    top: 0;
    right: 0;

    padding-top: 0;
}
