/* universal.css */

html, body {
    padding-bottom: 0 !important;
}

#loading {
    background: #FFF;
    position: fixed;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    z-index: 1000;
}

    #loading img {
        position: absolute;
        top: 50%;
        left: 50%;
        margin-top: -50px;
        margin-left: -50px;
    }

#wrapper {
    border-top: 5px solid #3C8CF0;
    background: url(../img/bg_mainvisual_loop.png) repeat-x center 50px;
}

.wrapper-login-header {
    background: #FFF !important;
}

#header {
    position: relative;
    z-index: 15;
    background: #FFF;
}

    #header h1 {
        font-size: 25px;
        font-weight: bold;
        margin: 0;
    }

.header-responsive-shadow {
    box-shadow: 0px 5px 5px -3px rgb(0 0 0 / 50%);
}

#header-inner {
    position: relative;
    width: 1000px;
    height: 75px;
    margin: 0 auto;
}

.header-inner-responsive {
    position: relative;
    max-width: 1000px;
    width: 100%;
    height: 75px;
    margin: 0 auto;
}

    .header-inner-responsive .logo-jf {
        height: 75px;
        margin-left: 1rem;
        display: flex;
        align-items: center;
    }

        .header-inner-responsive .logo-jf img,
        #header-floating-inner .logo-jf img {
            width: auto;
            height: 65px;
        }

#header-nav,
.header-nav-responsive {
    position: absolute;
    right: 0;
    top: 24px;
}

    #header-nav .select-box {
        overflow: hidden;
        float: left;
    }

    #header-nav select,
    .header-nav-responsive select,
    .header-nav-responsive select[disabled] {
        color: #505050;
        height: 26px;
        min-height: 26px;
        font-size: 12px;
        width: 140px;
        box-sizing: border-box;
        padding: 4px 10px 4px 12px;
        border: 1px solid #B3B3B3;
        border-radius: 2px;
        text-indent: .01px;
        text-overflow: "";
        margin: 0 0 0 0;
    }

.ie9 #select-lang {
    color: #505050;
    height: 26px;
    font-size: 11px;
    width: 140px;
    box-sizing: border-box;
    padding: 3px 12px 3px 12px;
    border: 1px solid #B3B3B3;
    border-radius: 2px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    text-indent: .01px;
    text-overflow: "";
    background: #FFF;
    margin: 0 0px 0 0;
}

/*
select::-ms-expand {
  display: none;
}
*/
/*
 * ヘッダ内の言語selectボックスの２重矢印を消す対応
 */

#header-nav .ul-header-nav {
    float: left;
}

    #header-nav .ul-header-nav li {
        display: inline-block;
        margin: 0 17px 0 0;
        font-size: 12px;
    }

#header-nav .header-username span,
.header-nav-responsive .header-username span {
    display: table-cell;
    vertical-align: middle;
    height: 26px;
    font-size: 12px;
    color: #1a63af;
}

#header-nav .header-btn {
    border-radius: 2px;
    height: 26px;
    width: 100px;
    color: #FFF;
    font-size: 12px;
    text-align: center;
    display: table-cell;
    vertical-align: middle;
    box-shadow: 0 1px 1px 0 rgba(0,0,0,0.4);
}

.header-nav-responsive .header-btn:hover {
    text-decoration: none;
}

.header-nav-responsive .header-text a {
    display: table-cell;
    vertical-align: middle;
    height: 26px;
    text-align: center;
    margin: 0 0 0 0 !important;
}

.header-nav-responsive .header-text:last-child {
    margin: 0 20px 0 0;
    padding: 0 0 0 0;
}

    .header-nav-responsive .header-text:last-child span {
        border-right: none;
        margin: 0 0 0 0;
        padding: 0 0 0 0px;
    }

.header-nav-responsive .header-text a {
    color: #505050;
}

.ul-header-nav-responsive {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-end;
    align-items: center;
    margin-right: 0;
}

    .ul-header-nav-responsive li {
        display: inline-block;
        margin: 0 17px 0 0;
        font-size: 12px;
    }

        .ul-header-nav-responsive li:last-child {
            margin-right: 0;
        }

.header-nav-responsive .header-btn {
    border-radius: 2px;
    height: 26px;
    width: 13rem;
    color: #FFF;
    font-size: 12px;
    text-align: center;
    display: table-cell;
    vertical-align: middle;
    box-shadow: 0 1px 1px 0 rgba(0,0,0,0.4);
}

/* 新規登録ボタンの幅調整（タイ語の場合改行される。） */
#header-nav .header-btn-account,
.header-nav-responsive .header-btn-account .he {
    width: 8rem !important;
}

.header-regist a {
    background: #58cee2;
    background: -moz-radial-gradient(top, ellipse cover, #58cee2 0%, #1db4d5 100%);
    background: -webkit-gradient(radial, center top, 0px, center center, 100%, color-stop(0%,#58cee2), color-stop(99%,#1db4d5));
    background: -webkit-radial-gradient(top, ellipse cover, #58cee2 0%,#1db4d5 100%);
    background: -o-radial-gradient(top, ellipse cover, #58cee2 0%,#1db4d5 100%);
    background: -ms-radial-gradient(top, ellipse cover, #58cee2 0%,#1db4d5 100%);
    background: radial-gradient(ellipse at top, #58cee2 0%,#1db4d5 100%);
}

.header-login a {
    background: #3a80c1;
    background: -moz-radial-gradient(top, ellipse cover, #3a80c1 0%, #0a53a7 100%);
    background: -webkit-gradient(radial, center top, 0px, center center, 100%, color-stop(0%,#3a80c1), color-stop(100%,#0a53a7));
    background: -webkit-radial-gradient(top, ellipse cover, #3a80c1 0%,#0a53a7 100%);
    background: -o-radial-gradient(top, ellipse cover, #3a80c1 0%,#0a53a7 100%);
    background: -ms-radial-gradient(top, ellipse cover, #3a80c1 0%,#0a53a7 100%);
    background: radial-gradient(ellipse at top, #3a80c1 0%,#0a53a7 100%);
}

.header-logoff a {
    background: #3a80c1;
    background: -moz-radial-gradient(top, ellipse cover, #3a80c1 0%, #0a53a7 100%);
    background: -webkit-gradient(radial, center top, 0px, center center, 100%, color-stop(0%,#3a80c1), color-stop(100%,#0a53a7));
    background: -webkit-radial-gradient(top, ellipse cover, #3a80c1 0%,#0a53a7 100%);
    background: -o-radial-gradient(top, ellipse cover, #3a80c1 0%,#0a53a7 100%);
    background: -ms-radial-gradient(top, ellipse cover, #3a80c1 0%,#0a53a7 100%);
    background: radial-gradient(ellipse at top, #3a80c1 0%,#0a53a7 100%);
}


.header-mypage a,
.header-mypage-sub a {
    background: #58cee2;
    background: -moz-radial-gradient(top, ellipse cover, #58cee2 0%, #1db4d5 100%);
    background: -webkit-gradient(radial, center top, 0px, center center, 100%, color-stop(0%,#58cee2), color-stop(99%,#1db4d5));
    background: -webkit-radial-gradient(top, ellipse cover, #58cee2 0%,#1db4d5 100%);
    background: -o-radial-gradient(top, ellipse cover, #58cee2 0%,#1db4d5 100%);
    background: -ms-radial-gradient(top, ellipse cover, #58cee2 0%,#1db4d5 100%);
    background: radial-gradient(ellipse at top, #58cee2 0%,#1db4d5 100%);
}


.header-application a {
    background: #3a80c1;
    background: -moz-radial-gradient(top, ellipse cover, #5d6dff 0%, #4650ff 100%);
    background: -webkit-gradient(radial, center top, 0px, center center, 100%, color-stop(0%,#5d6dff), color-stop(100%,#4650ff));
    background: -webkit-radial-gradient(top, ellipse cover, #5d6dff 0%,#4650ff 100%);
    background: -o-radial-gradient(top, ellipse cover, #5d6dff 0%,#4650ff 100%);
    background: -ms-radial-gradient(top, ellipse cover, #5d6dff 0%,#4650ff 100%);
    background: radial-gradient(ellipse at top, #5d6dff 0%,#4650ff 100%);
}


#header-nav .header-btn:hover {
    text-decoration: none;
}

#header-nav .header-text a {
    display: table-cell;
    vertical-align: middle;
    height: 26px;
    text-align: center;
    margin: 0 0 0 0 !important;
}

#header-nav .header-text:last-child {
    margin: 0 20px 0 0;
    padding: 0 0 0 0;
}

    #header-nav .header-text:last-child span {
        border-right: none;
        margin: 0 0 0 0;
        padding: 0 0 0 0px;
    }

#header-nav .header-text a {
    color: #505050;
}

@media screen and (max-width: 400px) {
    .header-inner-responsive .logo-jf img,
    #header-floating-inner .logo-jf img {
        height: 60px;
    }
}

/*追従ヘッダー*/

#header-floating {
    position: fixed;
    z-index: 200;
    background: #FFF;
    top: 0px;
    height: 0px;
    display: none;
    overflow: hidden;
    width: 100%;
    box-shadow: 0 1px 1px 1px rgba(0,0,0,0.2);
    border-top: 5px solid #3C8CF0;
}

#header-floating-inner {
    position: relative;
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
}

    #header-floating-inner .logo-jf {
        height: 75px;
        margin-left: 1rem;
        display: flex;
        align-items: center;
    }

#header-floating .ul-header-nav-responsive li a {
    color: #505050;
    font-size: 1.3rem;
    position: relative;
    padding: 0 0 0 15px;
}

    #header-floating .ul-header-nav-responsive li a:before {
        content: "";
        position: absolute;
        border-left: 1px solid #505050;
        width: 1px;
        height: 14px;
        top: 50%;
        margin-top: -7px;
        left: 0;
        z-index: 100;
    }

#header-floating .ul-header-nav-responsive li:first-child a:before,
#header-floating .ul-header-nav-responsive li:last-child a:before,
#header-floating .ul-header-nav-responsive li.no-border a:before {
    border: none;
}

#header-floating .ul-header-nav-responsive li:first-child a,
#header-floating .ul-header-nav-responsive li:last-child a {
    border-left: none;
}

#header-floating .ul-header-nav-responsive li a.active.tab1 {
    color: #3C8CF0;
    text-decoration: none;
}

#header-floating .ul-header-nav-responsive li a.active.tab2 {
    color: #5A73EB;
    text-decoration: none;
}

#header-floating .ul-header-nav-responsive li a.active.tab3 {
    color: #4664C8;
    text-decoration: none;
}

#header-floating .ul-header-nav-responsive li a.active.tab4 {
    color: #00AADC;
    text-decoration: none;
}

#header-floating .ul-header-nav-responsive li span.double {
    line-height: 1.5;
}


#header-floating .ul-header-nav-responsive li a.header-btn {
    border-radius: 2px;
    height: 26px;
    width: 100px;
    color: #FFF;
    font-size: 12px;
    text-align: center;
    display: table-cell;
    vertical-align: middle;
    box-shadow: 0 1px 1px 0 rgba(0,0,0,0.4);
    padding-left: 0 !important;
}

    #header-floating .ul-header-nav-responsive li a.header-btn:hover {
        text-decoration: none;
    }

.hamburger_menu_footer {
    color: black;
    font-size: 1.12rem;
}

.follow_header {
    position: fixed;
    z-index: 1050;
    top: 0%;
    width: 100vw;
    height: 5rem;
}

.header-shadow {
    display: block;
    max-width: 1000px;
    width: 100%;
    margin: 0 auto;
    text-align: center;
}

#mainvisual {
    position: relative;
    margin: 0 auto 0 auto;
}

.content-top {
    position: relative !important;
}

/*ハンバーガーメニューのコンテンツが隠れるためz-indexを100から10に変更*/
#content {
    width: 100%;
    z-index: 10;
}

    #content.tab1 {
        border-top: 5px solid #3C8CF0;
    }

    #content.tab2 {
        border-top: 5px solid #5A73EB;
    }

    #content.tab3 {
        border-top: 5px solid #4664C8;
    }

    #content.tab4 {
        border-top: 5px solid #00AADC;
    }

.content-inner-responsive {
    position: relative;
    background: #FFF;
    min-height: calc(100vh - 80px - 135px - 144px - 30px);
    /* header - JapanFoundationLogo - footerLink - copyRight */
}

#content-inner {
    position: relative;
    z-index: 100;
    min-height: 350px;
    background: #FFF;
}

    #content-inner .tab {
        min-height: 500px;
    }

    #content-inner #tab1 {
        /*   background: url(../../img/bg_content_header_1.jpg) no-repeat center top,url(../../img/bg_content_footer.png) repeat-x center bottom; */
    }

    #content-inner #tab2 {
        /*   background: url(../../img/bg_content_header_2.jpg) no-repeat center top,url(../../img/bg_content_footer.png) repeat-x center bottom; */
        display: none;
    }

    #content-inner #tab3 {
        /*   background: url(../../img/bg_content_header_3.jpg) no-repeat center top,url(../../img/bg_content_footer.png) repeat-x center bottom; */
        display: none;
    }

    #content-inner #tab4 {
        /*   background: url(../../img/bg_content_header_4.jpg) no-repeat center top,url(../../img/bg_content_footer.png) repeat-x center bottom; */
        display: none;
    }

#mainvisual-contents {
    position: relative;
    max-width: 1000px;
    width: 100%;
    height: 620px;
    margin: 0 auto;
}

    #mainvisual-contents .logo {
        position: absolute;
        top: 55px;
        left: 50%;
        transform: translateX(-50%);
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        z-index: 10;
    }

    #mainvisual-contents .logo-login {
        position: absolute;
        top: 20px;
        left: 20px;
        z-index: 10;
    }

        #mainvisual-contents .logo-login img {
            width: 260px;
        }

    #mainvisual-contents .main-nav {
        position: absolute;
        top: 215px;
        width: 410px;
        left: 50%;
        margin-left: -205px;
        z-index: 10;
    }


    #mainvisual-contents .main-nav {
        text-align: center;
    }

        #mainvisual-contents .main-nav .main-regist {
            border-radius: 2px;
            padding: 15px 20px;
            margin: 0 18px 0 0;
            font-weight: normal;
            color: #FFF;
            width: 180px;
            box-sizing: border-box;
            font-size: 18px;
            display: inline-block;
            vertical-align: middle;
            box-shadow: 0 3px 0 0 rgba(0,0,0,0.3);
            background: #58cee2;
            background: -moz-radial-gradient(top, ellipse cover, #58cee2 0%, #1db4d5 100%);
            background: -webkit-gradient(radial, center top, 0px, center center, 100%, color-stop(0%,#58cee2), color-stop(99%,#1db4d5));
            background: -webkit-radial-gradient(top, ellipse cover, #58cee2 0%,#1db4d5 100%);
            background: -o-radial-gradient(top, ellipse cover, #58cee2 0%,#1db4d5 100%);
            background: -ms-radial-gradient(top, ellipse cover, #58cee2 0%,#1db4d5 100%);
            background: radial-gradient(ellipse at top, #58cee2 0%,#1db4d5 100%);
        }

        #mainvisual-contents .main-nav .main-login {
            border-radius: 2px;
            padding: 15px 20px;
            margin: 0 0 0 18px;
            width: 180px;
            box-sizing: border-box;
            font-weight: normal;
            color: #FFF;
            font-size: 18px;
            display: inline-block;
            vertical-align: middle;
            box-shadow: 0 3px 0 0 rgba(0,0,0,0.3);
            background: #3a80c1;
            background: -moz-radial-gradient(top, ellipse cover, #3a80c1 0%, #0a53a7 100%);
            background: -webkit-gradient(radial, center top, 0px, center center, 100%, color-stop(0%,#3a80c1), color-stop(100%,#0a53a7));
            background: -webkit-radial-gradient(top, ellipse cover, #3a80c1 0%,#0a53a7 100%);
            background: -o-radial-gradient(top, ellipse cover, #3a80c1 0%,#0a53a7 100%);
            background: -ms-radial-gradient(top, ellipse cover, #3a80c1 0%,#0a53a7 100%);
            background: radial-gradient(ellipse at top, #3a80c1 0%,#0a53a7 100%);
        }

        #mainvisual-contents .main-nav a:hover {
            text-decoration: none;
            color: #FFF;
        }

    #mainvisual-contents .news {
        position: absolute;
        height: 175px;
        width: 100%;
        max-width: 1000px;
        box-sizing: border-box;
        background: rgba(255,255,255,0.7);
        top: 320px;
        left: 0px;
        z-index: 11;
        padding: 10px 15px;
    }

        #mainvisual-contents .news h2 {
            font-size: 1.6rem;
            color: #505050;
            text-align: center;
            padding-bottom: 0.3rem;
        }

        #mainvisual-contents .news .dl-news {
            height: 129px;
            overflow-y: auto;
        }

            #mainvisual-contents .news .dl-news dt {
                font-size: 14px;
                font-weight: normal;
            }

            #mainvisual-contents .news .dl-news dd {
                font-size: 14px;
                margin: 0 0 3px 0;
            }

            #mainvisual-contents .news .dl-news a {
                color: #0000FF;
                text-decoration: underline;
            }

                #mainvisual-contents .news .dl-news a:hover {
                    color: #0000FF;
                    text-decoration: none;
                }

            #mainvisual-contents .news .dl-news .tx-red {
                color: #F00000;
            }

@media screen and (max-width: 1020px) {
    #mainvisual-contents .news {
        width: 730px;
        left: 50%;
        transform: translateX(-50%);
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
    }
}

@media screen and (max-width: 999px) {
    #mainvisual-contents {
        position: relative;
        max-width: 1000px;
        width: 100%;
        height: 526px;
        margin: 0 auto;
    }

        #mainvisual-contents .news {
            height: 100px;
            top: 310px;
        }

            #mainvisual-contents .news .dl-news {
                height: 60px;
                overflow-y: auto;
            }

        #mainvisual-contents .logo img {
            width: 335px;
        }
}

@media screen and (max-width: 922px) {
    #mainvisual-contents {
        position: relative;
        max-width: 1000px;
        width: 100%;
        height: 526px;
        margin: 0 auto;
    }

        #mainvisual-contents .logo {
            top: 58px;
            text-align: center;
        }
}

@media screen and (max-width: 768px) {
    #mainvisual-contents {
        height: 370px;
    }

        #mainvisual-contents .logo {
            top: 42px;
        }

            #mainvisual-contents .logo img {
                width: 250px;
            }

        #mainvisual-contents .news {
            width: 80%;
        }

        #mainvisual-contents .news {
            top: 250px;
        }

        #mainvisual-contents .logo-login {
            top: 10px;
            left: -6px;
        }

            #mainvisual-contents .logo-login img {
                width: 240px;
            }
}

@media screen and (max-width: 576px) {
    #mainvisual-contents {
        height: 276px;
        /*height: 305px;*/
    }

        #mainvisual-contents .logo {
            top: 28px;
            text-align: center;
        }

            #mainvisual-contents .logo img {
                width: 220px;
            }

        #mainvisual-contents .news {
            width: 93%;
            height: 85px;
            top: 177px;
            /*top: 207px;*/
        }

            #mainvisual-contents .news .dl-news {
                /*height: 49px;*/
                height: 65px;
                overflow-y: auto;
                line-height: 1.2 !important;
            }

        #mainvisual-contents .logo-login {
            /*top: 5px;
            left: -18px;*/
            top: 10px;
            left: 0px;
        }

            #mainvisual-contents .logo-login img {
                width: 200px;
            }
}

#tabs {
    width: 100%;
    position: absolute;
    top: 627px;
    left: 0;
    z-index: 10;
}

#tabs-inner {
    position: relative;
    max-width: 1000px;
    width: 100%;
    margin: 0 auto;
}

    #tabs-inner ul {
        padding: 0;
        margin: 0;
    }

    #tabs-inner li {
        list-style: none;
        float: left;
        margin: 0 2px 0 0;
        width: 248px;
        height: 90px;
        position: relative;
    }

        #tabs-inner li:last-child {
            margin: 0 0 0 0;
            width: 249px;
            height: 90px;
        }

        #tabs-inner li a {
            position: absolute;
            bottom: 0;
            display: block;
            width: 248px;
            height: 76px;
            background: url(/img/bg_tab_off.png) no-repeat center bottom #FFF;
            box-shadow: 0px 0px 8px 2px rgba(0,0,0,0.2);
            -webkit-transition: all 0.3s ease-out;
            -moz-transition: all 0.3s ease-out;
            transition: all 0.3s ease-out;
        }

        #tabs-inner li:last-child a {
            display: block;
            width: 249px;
            height: 76px;
            background: url(/img/bg_tab_off_last.png) no-repeat center bottom #FFF;
        }

        #tabs-inner li a img {
            position: absolute;
            left: 0;
            z-index: 1;
            -webkit-transition: all 0.3s ease-out;
            -moz-transition: all 0.3s ease-out;
            transition: all 0.3s ease-out;
            opacity: 0;
        }

        #tabs-inner li a.active img,
        #tabs-inner li a:hover img {
            opacity: 1;
        }

        #tabs-inner li a.active,
        #tabs-inner li a:hover {
            height: 90px;
        }

        #tabs-inner li a span {
            font-size: 18px;
            color: #3C8CF0;
            font-weight: bold;
            position: absolute;
            display: inline-block;
            width: 100%;
            z-index: 2;
            left: 0;
            text-align: center;
            top: 50%;
            margin-top: -9px;
        }

        #tabs-inner li #tabh3 span {
            font-size: 17px;
        }

        #tabs-inner li a.active span,
        #tabs-inner li a:hover span {
            color: #FFF;
        }

        #tabs-inner li a span.double {
            top: 35%;
            line-height: 1.37;
        }

@media screen and (max-width: 1020px) {
    #tabs {
        width: 730px;
        left: 50%;
        transform: translateX(-50%);
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
    }

    #tabs-inner li,
    #tabs-inner li:last-child,
    #tabs-inner li a,
    #tabs-inner li:last-child a {
        width: 180px;
    }

        #tabs-inner li a.active,
        #tabs-inner li a:hover {
            height: 90px;
        }

        #tabs-inner li a img {
            width: 180px;
            height: 90px;
        }

        #tabs-inner li a span,
        #tabs-inner li #tabh3 span {
            font-size: 13px;
        }
}

@media screen and (max-width: 999px) {
    #tabs {
        top: 532px;
    }
}

@media screen and (max-width: 922px) {
    #tabs {
        top: 533px;
    }
}

#mainvisual-contents .btn-todays-word {
    position: relative;
    margin: 0 auto;
    width: 122px;
    height: 122px;
    top: 120px;
    margin-right: 10px;
    z-index: 10;
    -webkit-animation: tdw 5s linear infinite; /* Safari 4+ */
    -moz-animation: tdw 5s linear infinite; /* Fx 5+ */
    -o-animation: tdw 5s linear infinite; /* Opera 12+ */
    animation: tdw 5s linear infinite; /* IE 10+, Fx 29+ */
}

    #mainvisual-contents .btn-todays-word.login {
        top: 20px;
        margin-right: 10px;
    }

@-webkit-keyframes tdw {
    0% {
        -webkit-transform: rotate(0deg) translateX(5%) rotate(0deg);
    }

    100% {
        -webkit-transform: rotate(360deg) translateX(5%) rotate(-360deg);
    }
}

@-moz-keyframes tdw {
    0% {
        transform: rotate(0deg) translateX(5%) rotate(0deg);
    }

    100% {
        transform: rotate(360deg) translateX(5%) rotate(-360deg);
    }
}

@-o-keyframes tdw {
    0% {
        transform: rotate(0deg) translateX(5%) rotate(0deg);
    }

    100% {
        transform: rotate(360deg) translateX(5%) rotate(-360deg);
    }
}

@keyframes tdw {
    0% {
        transform: rotate(0deg) translateX(5%) rotate(0deg);
    }

    100% {
        transform: rotate(360deg) translateX(5%) rotate(-360deg);
    }
}

#mainvisual-contents .btn-todays-word img {
    -webkit-transition: all 0.3s ease-out;
    -moz-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
    -webkit-filter: drop-shadow(0 0 2px rgba(0, 0, 0, .5));
    filter: drop-shadow(0 0 2px rgba(0, 0, 0, .5));
}

#mainvisual-contents .btn-todays-word a.active:after,
#mainvisual-contents .btn-todays-word a:after {
    content: "";
    width: 122px;
    height: 122px;
    display: block;
    border-radius: 50%;
    top: 0;
    left: 0;
    padding: 0;
    position: absolute;
    z-index: 11;
    box-shadow: 0 0 0 2px rgba(255,255,255,0.1);
    opacity: 0;
    -webkit-transform: scale(0.9);
    -moz-transform: scale(0.9);
    -ms-transform: scale(0.9);
    transform: scale(0.9);
}

#mainvisual-contents .btn-todays-word a.active:before,
#mainvisual-contents .btn-todays-word a:before {
    content: "";
    width: 122px;
    height: 122px;
    display: block;
    border-radius: 50%;
    position: absolute;
    top: 0;
    left: 0;
    padding: 0;
    z-index: 11;
    box-shadow: 0 0 0 2px rgba(255,255,255,0.1);
    opacity: 0;
    -webkit-transform: scale(0.8);
    -moz-transform: scale(0.8);
    -ms-transform: scale(0.8);
    transform: scale(0.8);
}

#mainvisual-contents .btn-todays-word a:hover img {
    -webkit-transform: scale(0.93);
    -moz-transform: scale(0.93);
    -ms-transform: scale(0.93);
    transform: scale(0.93);
}

@media screen and (max-width: 1100px) {
    #mainvisual-contents .btn-todays-word {
        right: 5%;
    }
}

@media screen and (max-width: 992px) {
    #mainvisual-contents .btn-todays-word {
        top: 150px;
    }
}

@media screen and (max-width: 768px) {
    #mainvisual-contents .btn-todays-word {
        position: relative;
        width: 72px;
        height: 72px;
        top: 89px;
    }

        #mainvisual-contents .btn-todays-word a.active:after,
        #mainvisual-contents .btn-todays-word a:after,
        #mainvisual-contents .btn-todays-word a.active:before,
        #mainvisual-contents .btn-todays-word a:before {
            width: 72px;
            height: 72px;
        }

        #mainvisual-contents .btn-todays-word img {
            width: 72px;
        }
}

@media screen and (max-width: 576px) {
    #mainvisual-contents .btn-todays-word {
        top: 100px;
    }
}
/*
#mainvisual-contents .btn-todays-word a.active:after,
#mainvisual-contents .btn-todays-word a:hover:after {
    -webkit-animation: sonarEffect 1.3s ease-out 75ms;
    -moz-animation: sonarEffect 1.3s ease-out 75ms;
    animation: sonarEffect 1.3s ease-out 75ms;
}

#mainvisual-contents .btn-todays-word a.active:before,
#mainvisual-contents .btn-todays-word a:hover:before {
    -webkit-animation: sonarEffect2 0.8s ease-out 75ms;
    -moz-animation: sonarEffect2 0.8s ease-out 75ms;
    animation: sonarEffect2 0.8s ease-out 75ms;
}
*/

@-webkit-keyframes sonarEffect {
    0% {
        opacity: 0.3;
    }

    40% {
        opacity: 0.5;
        box-shadow: 0 0 0 2px rgba(255,255,255,0.1), 0 0 10px 10px #5693da, 0 0 0 10px rgba(255,255,255,0.5);
    }

    100% {
        box-shadow: 0 0 0 2px rgba(255,255,255,0.1), 0 0 10px 10px #5693da, 0 0 0 10px rgba(255,255,255,0.5);
        -webkit-transform: scale(1.5);
        opacity: 0;
    }
}

@-moz-keyframes sonarEffect {
    0% {
        opacity: 0.3;
    }

    40% {
        opacity: 0.5;
        box-shadow: 0 0 0 2px rgba(255,255,255,0.1), 0 0 10px 10px #5693da, 0 0 0 10px rgba(255,255,255,0.5);
    }

    100% {
        box-shadow: 0 0 0 2px rgba(255,255,255,0.1), 0 0 10px 10px #5693da, 0 0 0 10px rgba(255,255,255,0.5);
        -moz-transform: scale(1.5);
        opacity: 0;
    }
}

@keyframes sonarEffect {
    0% {
        opacity: 0.3;
    }

    40% {
        opacity: 0.5;
        box-shadow: 0 0 0 2px rgba(255,255,255,0.1), 0 0 10px 10px #5693da, 0 0 0 10px rgba(255,255,255,0.5);
    }

    99% {
        box-shadow: 0 0 0 2px rgba(255,255,255,0.1), 0 0 10px 10px #5693da, 0 0 0 10px rgba(255,255,255,0.5);
        transform: scale(1.5);
        opacity: 0;
    }
}

@-webkit-keyframes sonarEffect2 {
    0% {
        opacity: 0.3;
    }

    40% {
        opacity: 0.5;
        box-shadow: 0 0 0 2px rgba(255,255,255,0.1), 0 0 10px 10px #5693da, 0 0 0 10px rgba(255,255,255,0.5);
    }

    100% {
        box-shadow: 0 0 0 2px rgba(255,255,255,0.1), 0 0 10px 10px #5693da, 0 0 0 10px rgba(255,255,255,0.5);
        -webkit-transform: scale(1.1);
        opacity: 0;
    }
}

@-moz-keyframes sonarEffect2 {
    0% {
        opacity: 0.3;
    }

    40% {
        opacity: 0.5;
        box-shadow: 0 0 0 2px rgba(255,255,255,0.1), 0 0 10px 10px #5693da, 0 0 0 10px rgba(255,255,255,0.5);
    }

    100% {
        box-shadow: 0 0 0 2px rgba(255,255,255,0.1), 0 0 10px 10px #5693da, 0 0 0 10px rgba(255,255,255,0.5);
        -moz-transform: scale(1.1);
        opacity: 0;
    }
}

@keyframes sonarEffect2 {
    0% {
        opacity: 0.3;
    }

    40% {
        opacity: 0.5;
        box-shadow: 0 0 0 2px rgba(255,255,255,0.1), 0 0 10px 10px #5693da, 0 0 0 10px rgba(255,255,255,0.5);
    }

    100% {
        box-shadow: 0 0 0 2px rgba(255,255,255,0.1), 0 0 10px 10px #5693da, 0 0 0 10px rgba(255,255,255,0.5);
        transform: scale(1.1);
        opacity: 0;
    }
}


.bubble {
    position: absolute;
    left: 0;
    z-index: 10;
}

.bubble1 {
    -webkit-animation: bubble1 10s linear infinite; /* Safari 4+ */
    -moz-animation: bubble1 10s linear infinite; /* Fx 5+ */
    -o-animation: bubble1 10s linear infinite; /* Opera 12+ */
    animation: bubble1 10s linear infinite; /* IE 10+, Fx 29+ */
}

.bubble2 {
    -webkit-animation: bubble2 15s linear infinite; /* Safari 4+ */
    -moz-animation: bubble2 15s linear infinite; /* Fx 5+ */
    -o-animation: bubble2 15s linear infinite; /* Opera 12+ */
    animation: bubble2 15s linear infinite; /* IE 10+, Fx 29+ */
}

    .bubble1 > img,
    .bubble2 > img,
    .bubble3 > img {
        max-width: 100%;
        height: auto;
    }

.bubble3 {
    -webkit-animation: bubble3 20s linear infinite; /* Safari 4+ */
    -moz-animation: bubble3 20s linear infinite; /* Fx 5+ */
    -o-animation: bubble3 20s linear infinite; /* Opera 12+ */
    animation: bubble3 20s linear infinite; /* IE 10+, Fx 29+ */
}

@-webkit-keyframes bubble1 {
    0% {
        -webkit-transform: rotate(0deg) translateX(2%) rotate(0deg);
    }

    100% {
        -webkit-transform: rotate(360deg) translateX(2%) rotate(-360deg);
    }
}

@-moz-keyframes bubble1 {
    0% {
        transform: rotate(0deg) translateX(2%) rotate(0deg);
    }

    100% {
        transform: rotate(360deg) translateX(2%) rotate(-360deg);
    }
}

@-o-keyframes bubble1 {
    0% {
        transform: rotate(0deg) translateX(2%) rotate(0deg);
    }

    100% {
        transform: rotate(360deg) translateX(2%) rotate(-360deg);
    }
}

@keyframes bubble1 {
    0% {
        transform: rotate(0deg) translateX(2%) rotate(0deg);
    }

    100% {
        transform: rotate(360deg) translateX(2%) rotate(-360deg);
    }
}

@-webkit-keyframes bubble2 {
    0% {
        -webkit-transform: rotate(0deg) translateX(1%) rotate(0deg);
    }

    100% {
        -webkit-transform: rotate(360deg) translateX(1%) rotate(-360deg);
    }
}

@-moz-keyframes bubble2 {
    0% {
        transform: rotate(0deg) translateX(1%) rotate(0deg);
    }

    100% {
        transform: rotate(360deg) translateX(1%) rotate(-360deg);
    }
}

@-o-keyframes bubble2 {
    0% {
        transform: rotate(0deg) translateX(1%) rotate(0deg);
    }

    100% {
        transform: rotate(360deg) translateX(1%) rotate(-360deg);
    }
}

@keyframes bubble2 {
    0% {
        transform: rotate(0deg) translateX(1%) rotate(0deg);
    }

    100% {
        transform: rotate(360deg) translateX(1%) rotate(-360deg);
    }
}

@-webkit-keyframes bubble3 {
    0% {
        -webkit-transform: rotate(0deg) translateX(1%) rotate(0deg);
    }

    100% {
        -webkit-transform: rotate(360deg) translateX(1%) rotate(-360deg);
    }
}

@-moz-keyframes bubble3 {
    0% {
        transform: rotate(0deg) translateX(1%) rotate(0deg);
    }

    100% {
        transform: rotate(360deg) translateX(1%) rotate(-360deg);
    }
}

@-o-keyframes bubble3 {
    0% {
        transform: rotate(0deg) translateX(1%) rotate(0deg);
    }

    100% {
        transform: rotate(360deg) translateX(1%) rotate(-360deg);
    }
}

@keyframes bubble3 {
    0% {
        transform: rotate(0deg) translateX(1%) rotate(0deg);
    }

    100% {
        transform: rotate(360deg) translateX(1%) rotate(-360deg);
    }
}


#wave {
}

#wave-inner {
    width: 1200px;
    overflow: hidden;
    position: absolute;
    height: 635px;
    top: 0;
    left: 50%;
    margin-left: -600px;
    z-index: 0;
    background: url(../img/bg_mainvisual.png) no-repeat center top;
}

#wave img {
    position: absolute;
}

#wave .item {
    display: none;
}

#wave .wave {
    display: block;
}

#wave-0 {
    top: 270px;
}

#wave-1 {
    top: 215px;
}

#wave-2 {
    top: 135px;
}

#wave-3 {
    top: 230px;
}

#wave-4 {
    top: 267px;
}

#wave-l0 {
    top: 416px;
    left: -346px;
}

#wave-l1 {
    top: 357px;
    left: -587px;
}

#wave-l2 {
    top: 466px;
    left: -550px;
}

.wave-r {
    position: absolute;
    left: -625px;
    -webkit-animation: wave-r 5s ease-in-out infinite; /* Safari 4+ */
    -moz-animation: wave-r 5s ease-in-out infinite; /* Fx 5+ */
    -o-animation: wave-r 5s ease-in-out infinite; /* Opera 12+ */
    animation: wave-r 5s ease-in-out infinite; /* IE 10+, Fx 29+ */
}

.wave-l {
    position: absolute;
    left: -500px;
    -webkit-animation: wave-l 8s ease-in-out infinite; /* Safari 4+ */
    -moz-animation: wave-l 8s ease-in-out infinite; /* Fx 5+ */
    -o-animation: wave-l 8s ease-in-out infinite; /* Opera 12+ */
    animation: wave-l 8s ease-in-out infinite; /* IE 10+, Fx 29+ */
}

.wave-r2 {
    position: absolute;
    left: -655px;
    -webkit-animation: wave-r2 5s ease-in-out infinite; /* Safari 4+ */
    -moz-animation: wave-r2 5s ease-in-out infinite; /* Fx 5+ */
    -o-animation: wave-r2 5s ease-in-out infinite; /* Opera 12+ */
    animation: wave-r2 5s ease-in-out infinite; /* IE 10+, Fx 29+ */
}

.wave-r3 {
    position: absolute;
    left: -587px;
    -webkit-animation: wave-r3 8s ease-in-out infinite; /* Safari 4+ */
    -moz-animation: wave-r3 8s ease-in-out infinite; /* Fx 5+ */
    -o-animation: wave-r3 8s ease-in-out infinite; /* Opera 12+ */
    animation: wave-r3 8s ease-in-out infinite; /* IE 10+, Fx 29+ */
}

.wave-l2 {
    position: absolute;
    left: -500px;
    -webkit-animation: wave-l2 6s ease-in-out infinite; /* Safari 4+ */
    -moz-animation: wave-l2 6s ease-in-out infinite; /* Fx 5+ */
    -o-animation: wave-l2 6s ease-in-out infinite; /* Opera 12+ */
    animation: wave-l2 6s ease-in-out infinite; /* IE 10+, Fx 29+ */
}

.wave-l-top {
    position: absolute;
    width: 100%;
    height: 301px;
    top: 140px;
    background: url(../img/wave_top_1.png) repeat-x 0 0;
    /*   left: -10px; */
    -webkit-animation: wave-l-top 30s linear infinite; /* Safari 4+ */
    -moz-animation: wave-l-top 30s linear infinite; /* Fx 5+ */
    -o-animation: wave-l-top 30s linear infinite; /* Opera 12+ */
    animation: wave-l-top 30s linear infinite; /* IE 10+, Fx 29+ */
}

.wave-l-top-login {
    position: absolute;
    width: 100%;
    height: 301px;
    top: 170px;
    background: url(../img/wave_top_2.png) repeat-x 0 0;
    /*   left: -10px; */
    -webkit-animation: wave-l-top-login 60s linear infinite; /* Safari 4+ */
    -moz-animation: wave-l-top-login 60s linear infinite; /* Fx 5+ */
    -o-animation: wave-l-top-login 60s linear infinite; /* Opera 12+ */
    animation: wave-l-top-login 60s linear infinite; /* IE 10+, Fx 29+ */
}

@media screen and (max-width: 768px) {
    .wave-l-top-login {
        height: 150px;
        top: 170px;
        /*background: url(../img/wave_top_small.png) repeat-x 0 0;*/
        -webkit-animation: wave-l-top-login 30s linear infinite; /* Safari 4+ */
        -moz-animation: wave-l-top-login 30s linear infinite; /* Fx 5+ */
        -o-animation: wave-l-top-login 30s linear infinite; /* Opera 12+ */
        animation: wave-l-top-login 30s linear infinite; /* IE 10+, Fx 29+ */
    }
}

.wave-l3 {
    position: absolute;
    left: -550px;
    -webkit-animation: wave-l3 5s ease-in-out infinite; /* Safari 4+ */
    -moz-animation: wave-l3 5s ease-in-out infinite; /* Fx 5+ */
    -o-animation: wave-l3 5s ease-in-out infinite; /* Opera 12+ */
    animation: wave-l3 5s ease-in-out infinite; /* IE 10+, Fx 29+ */
}

.wave-c {
    position: absolute;
    left: -574px;
    -webkit-animation: wave-c 12s ease-in-out infinite; /* Safari 4+ */
    -moz-animation: wave-c 12s ease-in-out infinite; /* Fx 5+ */
    -o-animation: wave-c 12s ease-in-out infinite; /* Opera 12+ */
    animation: wave-c 12s ease-in-out infinite; /* IE 10+, Fx 29+ */
}

.wave-c2 {
    position: absolute;
    left: -346px;
    -webkit-animation: wave-c2 8s ease-in-out infinite; /* Safari 4+ */
    -moz-animation: wave-c2 8s ease-in-out infinite; /* Fx 5+ */
    -o-animation: wave-c2 8s ease-in-out infinite; /* Opera 12+ */
    animation: wave-c2 8s ease-in-out infinite; /* IE 10+, Fx 29+ */
}

@media screen and (max-width: 992px) {
    .wave-l-top-login {
        top: 160px;
    }
}

@media screen and (max-width: 768px) {
    .wave-l-top {
        top: 78px;
    }

    .wave-l-top-login {
        top: 158px;
    }
}

@media screen and (max-width: 576px) {
    .wave-l-top {
        top: 74px;
    }

    .wave-l-top-login {
        top: 118px;
    }
}

@-webkit-keyframes wave-r {
    0% {
        left: -625px;
    }

    50% {
        left: -554px;
    }

    100% {
        left: -625px;
    }
}

@-moz-keyframes wave-r {
    0% {
        left: -625px;
    }

    50% {
        left: -554px;
    }

    100% {
        left: -625px;
    }
}

@-o-keyframes wave-r {
    0% {
        left: -625px;
    }

    50% {
        left: -554px;
    }

    100% {
        left: -625px;
    }
}

@keyframes wave-r {
    0% {
        left: -625px;
    }

    50% {
        left: -554px;
    }

    100% {
        left: -625px;
    }
}

@-webkit-keyframes wave-r2 {
    0% {
        left: -685px;
    }

    50% {
        left: -594px;
    }

    100% {
        left: -685px;
    }
}

@-moz-keyframes wave-r2 {
    0% {
        left: -685px;
    }

    50% {
        left: -594px;
    }

    100% {
        left: -685px;
    }
}

@-o-keyframes wave-r2 {
    0% {
        left: -685px;
    }

    50% {
        left: -594px;
    }

    100% {
        left: -685px;
    }
}

@keyframes wave-r2 {
    0% {
        left: -685px;
    }

    50% {
        left: -504px;
    }

    100% {
        left: -685px;
    }
}

@-webkit-keyframes wave-r3 {
    0% {
        left: -587px;
    }

    50% {
        left: -557px;
    }

    100% {
        left: -587px;
    }
}

@-moz-keyframes wave-r3 {
    0% {
        left: -587px;
    }

    50% {
        left: -557px;
    }

    100% {
        left: -587px;
    }
}

@-o-keyframes wave-r3 {
    0% {
        left: -587px;
    }

    50% {
        left: -557px;
    }

    100% {
        left: -587px;
    }
}

@keyframes wave-r3 {
    0% {
        left: -607px;
    }

    50% {
        left: -527px;
    }

    100% {
        left: -607px;
    }
}

@-webkit-keyframes wave-l {
    0% {
        left: -500px;
    }

    50% {
        left: -594px;
    }

    100% {
        left: -500px;
    }
}

@-moz-keyframes wave-l {
    0% {
        left: -500px;
    }

    50% {
        left: -594px;
    }

    100% {
        left: -500px;
    }
}

@-o-keyframes wave-l {
    0% {
        left: -500px;
    }

    50% {
        left: -594px;
    }

    100% {
        left: -500px;
    }
}

@keyframes wave-l {
    0% {
        left: -500px;
    }

    50% {
        left: -594px;
    }

    100% {
        left: -500px;
    }
}

@-webkit-keyframes wave-l2 {
    0% {
        left: -500px;
    }

    50% {
        left: -594px;
    }

    100% {
        left: -500px;
    }
}

@-moz-keyframes wave-l2 {
    0% {
        left: -500px;
    }

    50% {
        left: -594px;
    }

    100% {
        left: -500px;
    }
}

@-o-keyframes wave-l2 {
    0% {
        left: -500px;
    }

    50% {
        left: -594px;
    }

    100% {
        left: -500px;
    }
}

@keyframes wave-l2 {
    0% {
        left: -500px;
    }

    50% {
        left: -594px;
    }

    100% {
        left: -500px;
    }
}

@-webkit-keyframes wave-l3 {
    0% {
        left: -630px;
    }

    50% {
        left: -500px;
    }

    100% {
        left: -630px;
    }
}

@-moz-keyframes wave-l3 {
    0% {
        left: -630px;
    }

    50% {
        left: -500px;
    }

    100% {
        left: -630px;
    }
}

@-o-keyframes wave-l3 {
    0% {
        left: -630px;
    }

    50% {
        left: -500px;
    }

    100% {
        left: -630px;
    }
}

@keyframes wave-l3 {
    0% {
        left: -630px;
    }

    50% {
        left: -500px;
    }

    100% {
        left: -630px;
    }
}

@-webkit-keyframes wave-l-top {
    0% {
        background-position: 0px 0px;
    }

    100% {
        background-position: -1220px 0px;
    }
}

@-moz-keyframes wave-l-top {
    0% {
        background-position: 0px 0px;
    }

    100% {
        background-position: -1220px 0px;
    }
}

@-o-keyframes wave-l-top {
    0% {
        background-position: 0px 0px;
    }

    100% {
        background-position: -1220px 0px;
    }
}

@keyframes wave-l-top {
    0% {
        background-position: 0px 0px;
    }

    100% {
        background-position: -1220px 0px;
    }
}

@-webkit-keyframes wave-l-top-login {
    0% {
        background-position: 0px 0px;
    }

    100% {
        background-position: -1400px 0px;
    }
}

@-moz-keyframes wave-l-top-login {
    0% {
        background-position: 0px 0px;
    }

    100% {
        background-position: -1400px 0px;
    }
}

@-o-keyframes wave-l-top-login {
    0% {
        background-position: 0px 0px;
    }

    100% {
        background-position: -1400px 0px;
    }
}

@keyframes wave-l-top-login {
    0% {
        background-position: 0px 0px;
    }

    100% {
        background-position: -1400px 0px;
    }
}


@-webkit-keyframes wave-c {
    0% {
        left: -574px;
    }

    50% {
        left: -614px;
    }

    100% {
        left: -574px;
    }
}

@-moz-keyframes wave-c {
    0% {
        left: -574px;
    }

    50% {
        left: -614px;
    }

    100% {
        left: -574px;
    }
}

@-o-keyframes wave-c {
    0% {
        left: -574px;
    }

    50% {
        left: -614px;
    }

    100% {
        left: -574px;
    }
}

@keyframes wave-c {
    0% {
        left: -574px;
    }

    50% {
        left: -614px;
    }

    100% {
        left: -574px;
    }
}

@-webkit-keyframes wave-c2 {
    0% {
        left: -346px;
    }

    50% {
        left: -366px;
    }

    100% {
        left: -346px;
    }
}

@-moz-keyframes wave-c2 {
    0% {
        left: -346px;
    }

    50% {
        left: -366px;
    }

    100% {
        left: -346px;
    }
}

@-o-keyframes wave-c2 {
    0% {
        left: -346px;
    }

    50% {
        left: -366px;
    }

    100% {
        left: -346px;
    }
}

@keyframes wave-c2 {
    0% {
        left: -346px;
    }

    50% {
        left: -366px;
    }

    100% {
        left: -346px;
    }
}

.login #minato-0 {
    display: block;
    top: 269px;
    left: 484px;
    z-index: 0;
}

.login2 #minato-1 {
    display: block;
    top: 178px;
    left: -698px;
}

.login2 #minato-1b {
    display: block;
    top: 285px;
    left: -272px;
}

/*
#wave-inner{
    -moz-transition: -moz-transform 0.5s linear;
    -webkit-transition: -webkit-transform 0.5s linear;
    -o-transition: -o-transform 0.5s linear;
    -ms-transition: -ms-transform 0.5s linear;
    transition: transform 0.5s linear;
}

#mainvisual-contents:hover {
    -webkit-transform: scale(1.2);
    -moz-transform: scale(1.2);
    -o-transform: scale(1.2);
    -ms-transform: scale(1.2);
    transform: scale(1.2);
}
*/

.opac {
    -webkit-transition: all 0.3s ease-out;
    -moz-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
    opacity: 1;
}

    .opac:hover {
        opacity: 0.6;
    }

.table-center {
    margin: 0 auto;
    text-align: center;
    display: table;
}

#content-footer-inner {
    max-width: 1000px;
    width: 100%;
    margin: 0 auto;
    text-align: center;
    padding: 20px 0;
}

.footer-login p {
    color: #00B4D7;
    font-size: 25px;
    text-align: center;
    margin: 0 0 20px 0;
}

.footer-login a {
    border-radius: 2px;
    padding: 20px 40px;
    font-weight: normal;
    color: #FFF;
    font-size: 25px;
    display: table-cell;
    vertical-align: middle;
    box-shadow: 0 3px 0 0 rgba(0,0,0,0.3);
}

.footer-login a {
    background: #58cee2;
    background: -moz-radial-gradient(top, ellipse cover, #58cee2 0%, #1db4d5 100%);
    background: -webkit-gradient(radial, center top, 0px, center center, 100%, color-stop(0%,#58cee2), color-stop(99%,#1db4d5));
    background: -webkit-radial-gradient(top, ellipse cover, #58cee2 0%,#1db4d5 100%);
    background: -o-radial-gradient(top, ellipse cover, #58cee2 0%,#1db4d5 100%);
    background: -ms-radial-gradient(top, ellipse cover, #58cee2 0%,#1db4d5 100%);
    background: radial-gradient(ellipse at top, #58cee2 0%,#1db4d5 100%);
}

    .footer-login a:hover {
        text-decoration: none;
    }

.footer-logoff p {
    color: #003264;
    font-size: 25px;
    text-align: center;
    margin: 0 0 20px 0;
}

.footer-logoff a {
    border-radius: 2px;
    padding: 20px 40px;
    font-weight: normal;
    color: #FFF;
    font-size: 25px;
    display: table-cell;
    vertical-align: middle;
    box-shadow: 0 3px 0 0 rgba(0,0,0,0.3);
}

.footer-logoff a {
    background: #58cee2;
    background: -moz-radial-gradient(top, ellipse cover, #0160be 0%, #003365 100%);
    background: -webkit-gradient(radial, center top, 0px, center center, 100%, color-stop(0%,#0160be), color-stop(99%,#003365));
    background: -webkit-radial-gradient(top, ellipse cover, #0160be 0%,#003365 100%);
    background: -o-radial-gradient(top, ellipse cover, #0160be 0%,#003365 100%);
    background: -ms-radial-gradient(top, ellipse cover, #0160be 0%,#003365 100%);
    background: radial-gradient(ellipse at top, #0160be 0%,#003365 100%);
}

    .footer-logoff a:hover {
        text-decoration: none;
    }

#footer {
    background: url(../img/bg_footer_shadow.png) no-repeat center top #EBEBEB;
}

#footer-inner {
    width: 1000px;
    margin: 0 auto;
    text-align: center;
    padding: 60px 0 60px 0;
}

.footer-inner-responsive {
    max-width: 1000px;
    width: 100%;
    margin: 0 auto;
    text-align: center;
    padding: 60px 0 60px 0;
}

#footer_b {
}

#footer-inner_b {
    width: 100%;
    margin: 0 auto;
    text-align: center;
    padding: 60px 0 60px 0;
    background: url(../img/bg_footer_shadow.png) no-repeat center top #EBEBEB;
}

.footer-bn {
    margin-bottom: 0px;
}

    .footer-bn a {
        display: inline-block;
        /*   border: 1px solid #DCDCDC; */
        background: #FFF;
        padding: 10px 20px;
    }

.ul-nav-footer {
    margin: 0 auto;
}

    .ul-nav-footer li {
        display: inline-block;
        padding: 0 20px;
        margin-bottom: 1rem;
        border-right: 1px solid #505050;
        font-size: 14px;
    }

        .ul-nav-footer li:last-child {
            border-right: none;
        }

        .ul-nav-footer li a {
            color: #505050;
        }

.footer-inner-responsive .ul-nav-footer li a span {
    white-space: nowrap;
}

.ul-nav-footer-sns {
    text-align: right;
    margin: 10px 20px auto auto;
}

    .ul-nav-footer-sns li {
        display: inline-block;
        padding: 0 5px;
    }

        .ul-nav-footer-sns li.fb-like {
            position: relative;
            left: 2px;
        }

        .ul-nav-footer-sns li.twitter {
            padding-left: 4px;
            padding-right: 4px;
            position: relative;
            top: 2px;
        }

        .ul-nav-footer-sns li.line {
            position: relative;
            top: 2px;
        }

    .ul-nav-footer-sns .fb_iframe_widget > span {
        height: 20px !important;
    }

#footer .copyright,
#footer .copyright-responsive {
    font-size: 12px;
    text-align: center;
    line-height: 1.4;
    padding: 0.5rem;
    background: #002d5a;
    width: 100%;
    color: #fff;
}

#footer_b .copyright {
    font-size: 12px;
    text-align: center;
    line-height: 2.5;
    background: #002D5A;
    width: 100%;
    color: #FFF;
}

/*以下、フッターのボタンがカラム落ちするwidthで設定*/

@media screen and (max-width: 976px) {
    .footer-inner-responsive .ul-nav-footer {
        flex-flow: row wrap;
        align-items: center;
        position: relative;
        margin-right: 0;
    }

        .footer-inner-responsive .ul-nav-footer li {
            border-right: none;
            font-size: 13px;
            padding: 0 0 0 16px;
        }

            .footer-inner-responsive .ul-nav-footer li a {
                position: relative;
                padding: 0 0 0 16px;
            }

                .footer-inner-responsive .ul-nav-footer li a:before {
                    content: "";
                    position: absolute;
                    border-left: 1px solid #505050;
                    width: 1px;
                    height: 14px;
                    top: 50%;
                    margin-top: -7px;
                    left: 0;
                }

            .footer-inner-responsive .ul-nav-footer li:first-child,
            .footer-inner-responsive .ul-nav-footer li:first-child a {
                padding-left: 0 !important;
            }

                .footer-inner-responsive .ul-nav-footer li:first-child a:before {
                    border: none;
                }

            .footer-inner-responsive .ul-nav-footer li:last-child {
                max-width: 250px;
            }

                .footer-inner-responsive .ul-nav-footer li:last-child a span {
                    white-space: normal;
                }

    html[lang="ja"] .footer-inner-responsive .ul-nav-footer li:last-child {
        width: auto;
        max-width: none;
    }
}

@media screen and (max-width: 576px) {
    .ul-nav-footer-sns li {
        padding: 0;
    }

        .ul-nav-footer-sns li.fb-like {
            left: 0;
        }
}

/* tabs common */

#content-inner #tab1 .tab-box,
#content-inner #tab2 .tab-box,
#content-inner #tab3 .tab-box,
#content-inner #tab4 .tab-box {
    position: relative;
    margin: 0 auto;
    width: 100%;
}

#content-inner #tab1 .tab-box {
    max-width: 1000px;
}

#content-inner #tab2 .tab-box,
#content-inner #tab3 .tab-box,
#content-inner #tab4 .tab-box {
    max-width: 920px;
}

@media screen and (min-width: 992px) {
    #content-inner #tab1 .tab-box,
    #content-inner #tab2 .tab-box,
    #content-inner #tab3 .tab-box,
    #content-inner #tab4 .tab-box {
        padding: 80px 0;
    }
}

#content-inner .tab-inner {
    max-width: 1000px;
    width: 100%;
    padding: 0 40px;
    margin: 0 auto;
}

.tab-box h2 {
    font-size: 34px;
    line-height: 1.5;
    margin: 0 0 40px 0;
    color: #508CF0;
}

#tab2 .tab-box h2 {
    color: #5A73EB;
}

#tab3 .tab-box h2 {
    color: #4664C8;
}

#tab4 .tab-box h2 {
    color: #00AADC;
}

/*About Japanese Course css*/
.about_japanese_course {
    color: #508CF0 !important;
    background-color: white !important;
    border-color: #68B2F2 !important;
    border-width: 3px;
    border-style: solid !important;
    position: relative;
    padding: 5px 50px;
    text-align: center;
    font-size: 16px;
    text-decoration: none;
    line-height: 35px;
}

a.about_japanese_course:hover {
    text-decoration: none;
}

/*検索*/

#tab1 .tab-box .search-btn {
    text-align: left;
    margin-top: 20px;
    display: block;
}

    #tab1 .tab-box .search-btn button {
        width: 230px;
        height: 40px;
    }

    #tab1 .tab-box .search-btn .row {
        justify-content: space-between;
        align-items: center;
    }

/*コースタブ*/

/*iPhone6s,7(safari)でカラム落ちするのを解消*/
#tab1 .row::before,
#tab1 .row::after,
#tab3 .row::before,
#tab3 .row::after {
    display: none;
}

#tab1 .tab-box .course-tab {
    margin-top: 30px;
    height: 60px;
    border-bottom: solid 3px #5797DF;
}

    #tab1 .tab-box .course-tab button {
        color: white !important;
        font-size: 19px;
        padding-top: 4px;
        border-top-left-radius: 10px;
        border-top-right-radius: 10px;
        flex: 0 0 33.1%;
        max-width: 33.1%;
    }

    #tab1 .tab-box .course-tab .intabbtn_on {
        height: 56px;
        margin-top: 1px;
        background: linear-gradient(#71C8FD, #2C7CD7 60%) !important;
        background-color: #5797DF !important;
        border: none !important;
        box-shadow: none !important;
    }

    #tab1 .tab-box .course-tab .intabbtn_off {
        height: 38px;
        margin-top: 19px;
        background-color: #D3D3D3 !important;
        border: none;
    }

#tab1 .tab-box .box-course-list {
    max-width: 935px;
    width: 100%;
    margin: 0 auto;
    padding: 50px 0 0;
}

@media screen and (max-width: 999px) {
    #content-inner #tab1 .tab-box {
        padding: 50px 0;
    }
}

@media screen and (max-width: 992px) {
    #tab1 .tab-box .course-tab button {
        font-size: 1.6rem !important;
        flex: 0 0 33%;
        max-width: 33%;
    }
}

@media screen and (max-width: 768px) {
    #content-inner #tab1 .tab-box {
        padding: 0;
    }

    #content-inner .tab-inner {
        padding: 0 15px;
    }

    #tab1 .tab-box .search-btn {
        text-align: center;
    }

        #tab1 .tab-box .search-btn button {
            font-size: 1.6rem;
        }

    #tab1 .tab-box .course-tab button {
        font-size: 1.3rem !important;
        line-height: 1.2;
        font-weight: 700;
        text-align: left;
        padding: 0.65rem 0.8rem;
    }
}

@media screen and (max-width: 576px) {
    #tab1 .tab-box .box-course-list {
        padding: 20px 0 0;
    }

    #content-inner .course-tab .tab-inner {
        padding: 0 5px;
    }

    #tab1 .tab-box .search-btn {
        margin-top: 0;
        display: flex !important;
        flex-wrap: wrap;
        justify-content: space-between;
    }

        #tab1 .tab-box .search-btn button {
            font-size: 1.4rem;
        }

            #tab1 .tab-box .search-btn button.col-6 {
                -ms-flex: 0 0 49%;
                flex: 0 0 49%;
                max-width: 49%;
            }

    #tab1 .tab-box .course-tab {
        margin-top: 15px;
    }

        #tab1 .tab-box .course-tab button {
            font-size: 1rem !important;
            line-height: 1.2;
            padding: 0.35rem 0.4rem;
        }
}

/* 日本語コース一覧 */

.go-about-course {
    text-align: right;
    padding: 8px;
    border: 1px solid #1db4d5;
    background: #58cee2;
    background: -moz-radial-gradient(top, ellipse cover, #58cee2 0%, #1db4d5 100%);
    background: -webkit-gradient(radial, center top, 0px, center center, 100%, color-stop(0%,#58cee2), color-stop(99%,#1db4d5));
    background: -webkit-radial-gradient(top, ellipse cover, #58cee2 0%,#1db4d5 100%);
    background: -o-radial-gradient(top, ellipse cover, #58cee2 0%,#1db4d5 100%);
    background: -ms-radial-gradient(top, ellipse cover, #58cee2 0%,#1db4d5 100%);
    background: radial-gradient(ellipse at top, #58cee2 0%,#1db4d5 100%);
    color: #FFF;
    position: absolute;
    box-shadow: 0 3px 0 0 rgba(0,0,0,0.3);
    right: 0;
    top: 160px;
    font-size: 14px;
}

    .go-about-course span {
        margin: 0 10px 0 0;
    }

    .go-about-course:hover {
        color: #FFF;
        text-decoration: none;
    }

    .go-about-course:focus {
        color: #FFF;
        text-decoration: none;
    }

.box-course-list {
    margin: 80px 0 0px 0;
}

    .box-course-list h3.h-drop {
        background: url(../img/icon_bubble.png) left center no-repeat;
        padding: 4px 0 0 38px;
        margin: 0 0 25px 0;
        line-height: 1.5;
        font-size: 24px;
        color: #508CF0;
        font-weight: normal;
    }

    .box-course-list h4.h-drop {
        padding-left: 15px;
        text-align: left;
        border-bottom: 1px solid #e5f1ff;
        margin: -10px 0 15px;
        line-height: 1.5;
        font-size: 24px;
        color: #508CF0;
        font-weight: normal;
    }

    .box-course-list h4.course-title-drop {
        padding-left: 15px;
        text-align: left;
        border-bottom: 2px solid #1c64b1;
        margin: -10px 0 15px;
        line-height: 1.5;
        font-size: 24px;
        color: #1c64b1;
        font-weight: normal;
        color: #1c64b1;
    }

.box-course {
    margin: 0 0 40px;
    padding: 0;
}

.table-course {
    width: 100%;
}

    .table-course .course-row {
        justify-content: flex-start;
    }

    .table-course tr td:nth-child(2n) {
        padding: 0 40px;
    }

    .table-course .course-data-box {
        background: #F6F6F6;
        box-shadow: 2px 2px 0px 0px rgba(195,195,195,0.9);
        max-width: 280px;
        width: 100%;
        margin: 0 auto;
    }

        .table-course .course-data-box a:hover {
            text-decoration: none;
        }

    .table-course td {
        vertical-align: top;
        margin-bottom: 30px;
    }

.course-img {
    margin: 0;
}

.course-status .course-id {
    float: left;
    font-size: 12px;
    padding: 5px 0;
    margin: 0 0 0 5px;
    box-sizing: border-box;
    color: #636363;
    text-align: center;
}

.course-details {
    padding: 10px;
    height: 105px;
}

.level-language {
    height: 40px;
    text-align: left;
    display: flex;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
}

.course-level {
    display: inline;
    vertical-align: top;
    background-color: #2980ff;
    color: #ffffff;
    font-size: 1.4rem;
    text-align: center;
    max-height: 26px;
    margin-right: 0.5rem;
    padding: 6px 10px;
    // border-radius: 18px;
    border-radius: 0.3rem;
}

.course-lang {
    display: inline;
    max-height: 26px;
    vertical-align: top;
    background-color: #2980ff;
    color: #ffffff;
    font-size: 1.4rem;
    text-align: left;
    padding: 6px 10px;
    // border-radius: 18px;
    border-radius: 0.3rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.course-tuitionfeetype {
    color: #333;
    font-size: 1.5rem;
    font-weight: bold;
}

.course-tuitionfeetype-charge {
    color: #ff9300
}

.course-tuitionfeetype-free {
    color: #2980ff
}

.course-status {
    max-width: inherit;
    max-height: 2rem;
    height: 2rem;
    margin: 10px 0 0;
    text-align: right;
    overflow: hidden;
    position: relative;
}

    .course-status .arrow {
        display: inline-block;
        border-top-color: #333;
        border-top-style: solid;
        border-top-width: 2px;
        border-right-color: #333;
        border-right-style: solid;
        border-right-width: 2px;
        width: 9px;
        height: 9px;
        transform: rotate(45deg);
        position: absolute;
        top: 3px;
        right: 1px;
    }

    .course-status .course-result {
        display: inline-block;
        max-width: 92%;
        max-height: 1.5rem;
        height: 1.5rem;
        margin-right: 14px;
        font-size: 1.2rem;
        line-height: 1.2;
        font-weight: 700;
        color: #333;
        text-align: right;
        text-overflow: ellipsis;
        overflow-wrap: normal !important;
        overflow: hidden;
    }

.course-pv {
    margin: 30px 0 0 0;
}

.box-course:last-child {
    margin: 0 0 0 0;
}

/*ステータスの色設定*/
/*TODO：いったん既存の色設定を引継ぎ　決定したら変更*/

.cr-red {
    color: #FF0000 !important;
}

    .cr-red + .arrow {
        border-top-color: #FF0000 !important;
        border-right-color: #FF0000 !important;
    }

.cr-purple {
    color: #9c25b4 !important;
}

    .cr-purple + .arrow {
        border-top-color: #9c25b4 !important;
        border-right-color: #9c25b4 !important;
    }

.cr-yellow {
    color: #DFA70F !important;
}

    .cr-yellow + .arrow {
        border-top-color: #DFA70F !important;
        border-right-color: #DFA70F !important;
    }

.cr-grey {
    color: #999 !important;
}

    .cr-grey + .arrow {
        border-top-color: #999 !important;
        border-right-color: #999 !important;
    }

/*どこに使用されているか分からないスタイル　一旦コメントアウト*/

/*.course-lvtype {
    background: #002D5A;
    border-top: 1px solid #78C8FF;
    vertical-align: middle;
    margin: 0 0 15px 0;
    padding: 15px 0;
}

.course-lvtype-inner {
    display: table;
    width: 100%;
}

.course-lvtype .course-level {
    color: #FFF;
    display: table-cell;
    text-align: center;
    width: 30%;
    font-size: 14px;
    border-right: 1px solid #64C8FF;
}

.course-lvtype .course-type {
    color: #FFF;
    display: table-cell;
    text-align: center;
    width: 70%;
    font-size: 14px;
}*/


@media screen and (max-width: 768px) {
    .box-course-list h4.h-drop,
    .box-course-list h4.course-title-drop {
        padding-left: 10px;
    }

    .course-details {
        padding: 10px;
        height: 100px;
    }

    .table-course td {
        vertical-align: top;
        margin-bottom: 20px;
    }

    .course-level,
    .course-lang,
    .course-tuitionfeetype,
    .course-status .course-result {
        font-size: 1.2rem;
    }
}

@media screen and (max-width: 576px) {
    .box-course-list h4.course-title-drop,
    .box-course-list h4.h-drop {
        font-size: 16px;
    }

    .box-course {
        margin-bottom: 25px;
        padding: 0;
    }

    .table-course td {
        margin-bottom: 10px;
    }

    .course-details {
        padding: 5px;
        height: 64px;
    }

    .course-level,
    .course-lang,
    .course-tuitionfeetype,
    .course-status .course-result {
        font-size: 1rem;
    }

    .level-language {
        height: 25px;
    }

    .course-lang,
    .course-level {
        max-height: 18px;
        margin-bottom: 4px;
        padding: 3px 8px;
    }

    .course-level {
        margin-right: 0.2rem;
    }

    .course-status {
        margin: 5px 0 0;
    }

        .course-status .course-result {
            margin-right: 7px;
            line-height: 1.2;
        }

        .course-status .arrow {
            top: 3px;
            width: 6px;
            height: 6px;
            border-top-width: 1px;
            border-right-width: 1px;
        }
}

@media screen and (max-width: 400px) {
    .course-details {
        padding: 6px 2px;
    }

    .course-level, .course-lang {
        height: 16px;
        padding: 3px 4px;
    }

    .course-status .course-result {
        letter-spacing: -0.1rem;
    }
}

/*日本語コースについて　モーダル*/

#about-course h2 {
    font-size: 3rem !important;
    text-align: center !important;
    padding: 1rem !important;
}

.table-quarter {
    width: 100%;
}

    .table-quarter h3.h-drop {
        background: url(../img/icon_bubble.png) left center no-repeat;
        padding: 4px 0 0 38px;
        margin: 0 0 10px 0;
        line-height: 1.5;
        font-size: 24px;
        color: #508CF0;
        font-weight: normal;
    }

    .table-quarter td {
        padding: 0 20px 10px;
        vertical-align: top;
    }

        .table-quarter td:nth-child(2n) {
            padding: 0 0 40px 0;
        }

.p-main {
    line-height: 1.5;
    font-size: 14px;
    color: #636363;
    margin: 0 0 15px 0;
}

.bn-marugoto {
    display: block;
    margin: 40px 0 0 0;
}

@media screen and (max-width: 992px) {
    .table-quarter h3.h-drop {
        font-size: 2.1rem;
    }
}

@media screen and (max-width: 768px) {
    #about-course h2 {
        font-size: 2.5rem !important;
    }

    .table-quarter td {
        padding: 0 0 10px;
    }
}

@media screen and (max-width: 576px) {
    .table-quarter h3.h-drop {
        font-size: 1.8rem;
        font-weight: bold;
    }
}

/* コミュニティ */

.table-triple {
    width: 100%;
}

    .table-triple td {
        width: 286px;
        vertical-align: top;
        padding: 0 15px 0 0;
    }

        .table-triple td:last-child {
            width: 288px;
            padding: 0 0 0 15px;
        }

        .table-triple td:nth-child(2n) {
            width: 286px;
            padding: 0 15px 0 15px;
        }

    .table-triple h3.h-drop {
        background: url(../img/icon_bubble.png) left center no-repeat;
        padding: 4px 0 0 38px;
        margin: 0 0 25px 0;
        line-height: 1.5;
        font-size: 24px;
        color: #5A73EB;
        font-weight: normal;
    }


    h3.h-drop_2,
    .table-triple h3.h-drop,
    .course-detail h4.h-drop {
        background: url(../img/icon_bubble.png) left center no-repeat;
        padding: 4px 0 0 38px;
        margin: 0 0 25px 0;
        line-height: 1.5;
        font-size: 24px;
        color: #5A73EB;
        font-weight: normal;
    }

.btn-search-comm-box {
    margin: 40px auto 40px auto;
    text-align: center;
    display: table;
}

.btn-search-comm {
    border-radius: 2px;
    padding: 20px 40px;
    font-weight: normal;
    color: #FFF;
    font-size: 25px;
    display: table-cell;
    vertical-align: middle;
    box-shadow: 0 3px 0 0 rgba(0,0,0,0.3);
    background: #58cee2;
    background: -moz-radial-gradient(top, ellipse cover, #4ba2f7 0%, #5c76e8 100%);
    background: -webkit-gradient(radial, center top, 0px, center center, 100%, color-stop(0%,#4ba2f7), color-stop(99%,#5c76e8));
    background: -webkit-radial-gradient(top, ellipse cover, #4ba2f7 0%,#5c76e8 100%);
    background: -o-radial-gradient(top, ellipse cover, #4ba2f7 0%,#5c76e8 100%);
    background: -ms-radial-gradient(top, ellipse cover, #4ba2f7 0%,#5c76e8 100%);
    background: radial-gradient(ellipse at top, #4ba2f7 0%,#5c76e8 100%);
}

    .btn-search-comm:hover {
        text-decoration: none;
        color: #FFF;
    }

.btn-search-comm-reg {
    border-radius: 2px;
    padding: 20px 40px;
    font-weight: normal;
    color: #FFF;
    font-size: 25px;
    display: table-cell;
    vertical-align: middle;
    box-shadow: 0 3px 0 0 rgba(0,0,0,0.3);
    background: #58cee2;
    background: -moz-radial-gradient(top, ellipse cover, #58cee2 0%, #1db4d5 100%);
    background: -webkit-gradient(radial, center top, 0px, center center, 100%, color-stop(0%,#58cee2), color-stop(99%,#1db4d5));
    background: -webkit-radial-gradient(top, ellipse cover, #58cee2 0%,#1db4d5 100%);
    background: -o-radial-gradient(top, ellipse cover, #58cee2 0%,#1db4d5 100%);
    background: -ms-radial-gradient(top, ellipse cover, #58cee2 0%,#1db4d5 100%);
    background: radial-gradient(ellipse at top, #58cee2 0%,#1db4d5 100%);
}

    .btn-search-comm-reg:hover {
        text-decoration: none;
        color: #FFF;
    }

#tab2 .com_btn {
    background-image: url(/img/bg_tab_2_on.png);
    width: 300px;
    height: 80px;
}


/* JF日本語学習サイト */

.table-triple {
    width: 100%;
    table-layout: fixed;
}

    .table-triple td {
        width: 280px;
        vertical-align: top;
        padding: 0 27px 30px 0;
    }

        .table-triple td:nth-child(2n) {
            width: 280px;
            padding: 0 18px 0 9px;
        }

        .table-triple td:nth-child(3n) {
            width: 280px;
            padding: 0 9px 0 17px;
        }

#tab3 img.dummy {
    width: 100%;
    height: 160px;
    background: #DCDDDD;
}

#tab3 .table-triple a {
    color: #0000FF;
    font-size: 18px;
    margin: 15px 0;
    display: block;
    text-decoration: underline;
}

    #tab3 .table-triple a:hover {
        text-decoration: none;
    }

#tab3 .card {
    max-width: 283px;
    width: 100%;
}

#tab3 .card-title a {
    font-size: 18px;
    color: #00f;
    text-decoration: underline;
}

/* みなととは */

.about-box {
    margin: 0 0 40px 0;
}

    .about-box h3.h-drop {
        background: url(../img/icon_bubble.png) left center no-repeat;
        padding: 4px 0 0 38px;
        margin: 0 0 25px 0;
        line-height: 1.5;
        font-size: 24px;
        color: #00AADC;
        font-weight: normal;
        text-align: left;
    }

    .about-box h3.h-drop_2 {
        background: url(../img/icon_bubble.png) left center no-repeat;
        padding: 4px 0 0 38px;
        margin: 0 0 25px 0;
        line-height: 1.5;
        font-size: 24px;
        color: #5A73EB;
        font-weight: normal;
    }

    .about-box h3.h-nodrop {
        padding: 4px 0 0 0;
        margin: 0 0 25px 0;
        line-height: 1.5;
        font-size: 24px;
        color: #00AADC;
        font-weight: bold;
    }

.p-large {
    line-height: 1.7;
    font-size: 16px;
    color: #636363;
    margin: 0 0 15px 0;
    text-align: justify;
    text-justify: inter-ideograph;
}

html[lang="th"] .p-large {
    line-height: 1.7;
    font-size: 16px;
    color: #636363;
    margin: 0 0 15px 0;
    text-align: justify;
    text-justify: inter-cluster;
}

#tab2 .p-large,
#tab3 .p-large,
#tab4 .p-large {
    line-height: 1.7;
    font-size: 1.5rem;
}

#tab2 .com_btn,
#tab4 .reg_btn {
    margin-top: 40px;
    font-size: 25px;
}

#tab3 .card-title a {
    font-size: 1.6rem;
    font-weight: bold;
    text-decoration: none;
    color: #4664c8;
}

#tab4 .movie img {
    max-width: 473px;
    width: 100%;
}

#tab4 .reg_btn {
    width: 300px;
    height: 80px;
    background: radial-gradient(ellipse at top, #58cee2 0%, #1db4d5 100%);
    margin-top: 10px;
}

/* Bootstrapのブレイクポイントより。Extra large（≥1020px） */

@media screen and (max-width: 1020px) {
    #tab1 .tab-box,
    #tab2 .tab-box,
    #tab3 .tab-box,
    #tab4 .tab-box {
        padding: 5rem 3rem 3rem;
    }

    #tab2 h3,
    #tab4 h3 {
        font-size: 24px;
    }

    #tab3 .card-title a {
        line-height: 1;
        font-size: 15px;
    }

    .course-detail h4.h-drop {
        margin: 0 0 10px;
    }

    #tab1 .mb-4half,
    #tab2 .mb-4half,
    #tab3 .mb-4half,
    #tab4 .mb-4half {
        margin-bottom: 4rem;
    }

    #tab2 .com_btn,
    #tab4 .reg_btn {
        margin-top: 35px;
        font-size: 22px;
    }
}

/* headerのブレイクポイント1000pxに合わせる */

@media screen and (max-width: 999px) {
    #tab1 .tab-box h2,
    #tab2 .tab-box h2,
    #tab3 .tab-box h2,
    #tab4 .tab-box h2 {
        font-size: 3.1rem;
    }

    #tab2 h3,
    #tab4 h3 {
        font-size: 2.1rem;
    }

    #tab3 .card-text {
        line-height: 1.4;
    }
}

/* Bootstrapのブレイクポイントより。Medium（≥768px） */

@media screen and (max-width: 768px) {
    #tab1 .tab-box {
        padding: 1rem 2rem 3rem;
    }

    #tab2 .tab-box,
    #tab3 .tab-box,
    #tab4 .tab-box {
        padding: 3rem 2rem 3rem;
    }

    #tab3 .card-title a {
        line-height: 1;
        font-size: 15px;
    }
}

/* Bootstrapのブレイクポイントより。Small（≥576px） */

@media screen and (max-width: 576px) {
    #tab1 .tab-box {
        padding: 1.5rem 1rem 2rem;
    }

    #tab2 .tab-box,
    #tab3 .tab-box,
    #tab4 .tab-box {
        padding: 1.5rem 1.5rem 2rem;
    }

    #tab2 h3,
    #tab4 h3 {
        font-size: 1.8rem;
        font-weight: bold;
    }

    #tab1 .mb-4half,
    #tab2 .mb-4half,
    #tab3 .mb-4half,
    #tab4 .mb-4half {
        margin-bottom: 2rem;
    }

    #tab2 .com_btn,
    #tab4 .reg_btn {
        margin-top: 50px;
        width: 250px;
        height: 70px;
        font-size: 18px;
    }

    #tab3 .p-large {
        line-height: 1.3;
    }

    #tab3 .card {
        max-width: 95% !important;
    }

    #tab4 .row {
        display: block;
        margin: 0;
    }

    #tab4 .col {
        padding: 0;
    }

    .p-large,
    html[lang="th"] .p-large {
        line-height: 1.4;
        font-size: 13px;
    }
}

/* 今日のことば */

.custombox-modal-container {
    margin-top: 0 !important;
    width: 100% !important;
}

#tw-overlay {
    z-index: 999;
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 120%;
    background-color: rgba(0,0,0,0.75);
}

#tw-overlay2 {
    z-index: 15001;
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 120%;
    background-color: rgba(0,0,0,0.75);
}

#todaysword {
    width: 880px;
    height: auto;
    position: relative;
    z-index: 1000;
    display: none;
    top: 0;
    left: 0;
    text-align: left;
}

    #todaysword .tw-header {
        position: relative;
    }

    #todaysword .tw-body {
        position: relative;
        background: url(../img/bg_tw.png) no-repeat center top;
        padding: 0 0 0 0;
        width: 890px !important;
        height: 585px;
        margin: 0 auto;
    }

    #todaysword .tw-body-content {
        position: relative;
        margin: 60px auto 0;
        width: 450px;
        height: 530px;
        z-index: 2;
    }

        #todaysword .tw-body-content .tw-close {
            width: 36px;
            height: 36px;
            font-size: 26px;
            box-sizing: border-box;
            border: 1px solid #FFF;
            border-radius: 50%;
            color: #FFF;
            display: block;
            position: absolute;
            right: -134px;
            top: -58px;
            text-align: center;
        }

            #todaysword .tw-body-content .tw-close .glyphicon {
                line-height: 33px !important;
            }

        #todaysword .tw-body-content h2 {
            font-size: 30px;
            color: #FFF;
            text-decoration: underline;
            padding: 12px 0 20px 40px;
        }

        #todaysword .tw-body-content #tw-photo {
            cursor: pointer;
            position: absolute;
            width: 150px;
            height: 150px;
            background: #000;
            right: -147px;
            bottom: 142px;
            display: table;
        }

            #todaysword .tw-body-content #tw-photo .zoom-up-inner {
                width: 100%;
                height: 100%;
                position: absolute;
                bottom: 0;
                left: 0;
                -webkit-transition: all 0.2s ease-out;
                -moz-transition: all 0.2s ease-out;
                transition: all 0.2s ease-out;
                background: rgba(255,255,255,0);
            }

                #todaysword .tw-body-content #tw-photo .zoom-up-inner i {
                    -webkit-transition: all 0.2s ease-out;
                    -moz-transition: all 0.2s ease-out;
                    transition: all 0.2s ease-out;
                    opacity: 0;
                    position: absolute;
                    top: 50%;
                    left: 50%;
                    margin-top: -15px;
                    margin-left: -15px;
                    font-size: 30px;
                    color: #333;
                }

            #todaysword .tw-body-content #tw-photo:hover .zoom-up-inner {
                background: rgba(255,255,255,0.5);
            }

                #todaysword .tw-body-content #tw-photo:hover .zoom-up-inner i {
                    opacity: 1;
                }

            #todaysword .tw-body-content #tw-photo span {
                display: table-cell;
                vertical-align: middle;
                text-align: center;
                width: 150px;
                height: 150px;
            }

            #todaysword .tw-body-content #tw-photo img {
                width: 100%;
                height: 100%;
                visibility: hidden;
            }

        #todaysword .tw-body-content #tw-txt {
            position: relative;
            padding-top: 150px;
            margin: 0 auto;
            width: 390px;
        }

        #todaysword .tw-body-content #zoomup {
            position: absolute;
            bottom: 0px;
            right: 4px;
            font-size: 30px;
            color: #FFF;
        }

#tw-photo-zoom {
    width: 480px !important;
    height: 480px;
    background: url(../img/bg_tw_ph_zoom.png) no-repeat center center;
    background-size: cover;
    display: none;
    position: fixed;
    text-align: center;
    top: 50%;
    left: 50%;
    margin-top: -240px;
    margin-left: -240px;
    z-index: 15002;
}

    #tw-photo-zoom #tw-photo {
        width: 474px !important;
        height: 474px;
        background: #000;
        display: table;
        text-align: center;
        margin: 3px auto;
    }

    #tw-photo-zoom span {
        display: table-cell;
        vertical-align: middle;
        text-align: center;
        width: 474px !important;
        height: 474px;
    }

    #tw-photo-zoom img {
        width: auto;
        height: auto;
    }

.zoom-close {
    width: 36px;
    height: 36px;
    font-size: 26px;
    box-sizing: border-box;
    border: 1px solid #FFF;
    border-radius: 50%;
    color: #FFF;
    display: block;
    position: absolute;
    right: 8px;
    top: 8px;
    text-align: center;
}

    .zoom-close:hover {
        color: #FFF;
    }

    .zoom-close .glyphicon {
        line-height: 33px !important;
    }

#todaysword .tw-body-content h3 {
    font-size: 26px;
    margin: 20px 0 10px 0;
    color: #FFF;
    text-align: center;
    border-bottom: 1px solid #3f71ce;
}

    #todaysword .tw-body-content h3 span {
        display: block;
        font-size: 22px;
        margin: 5px 0 10px 0;
        color: #FFF;
        text-align: center;
        font-weight: normal;
    }

#todaysword .tw-body-content .tw-exp {
    font-size: 18px;
    color: #FFF;
    line-height: 1.7;
}

#todaysword .tw-footer {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;
}

#todaysword img.dummy {
    width: 100%;
    height: 300px;
    background: #DCDDDD;
}

#todaysword .btn-todaysword-box {
    clear: both;
}

#todaysword .btn-todaysword-box {
    margin: 40px auto 0px auto;
    text-align: center;
    display: table;
}

#todaysword .btn-app-next {
    position: absolute;
    bottom: 70px;
    left: 170px;
    z-index: 2;
    -webkit-transition: all 0.3s ease-out;
    -moz-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
}

    #todaysword .btn-app-next span {
        color: #FFF;
        font-weight: bold;
        text-shadow: 0px 1px 2px black;
        position: absolute;
        font-size: 16px;
        letter-spacing: 1px;
        top: 47px;
        left: 20px;
    }

#todaysword .tw-body .btn-app-next span.next-harbor-en {
    top: 32px;
    text-align: center;
}

#todaysword .btn-app-next.disable {
    opacity: 0.3;
}

a.btn-app-next:hover {
    -webkit-transform: scale(0.9);
    -moz-transform: scale(0.9);
    -ms-transform: scale(0.9);
    transform: scale(0.9);
}

a.btn-app-next:focus {
    text-decoration: none;
    color: #FFF;
}

#todaysword .btn-app-next-msg {
    position: absolute;
    color: #e6f6ff;
    font-size: 12px;
    width: 200px;
    text-align: center;
    line-height: 1.5;
    bottom: 25px;
    left: 124px;
}

#header-floating .ul-header-nav li a.header-btn.mypage-btn span {
    background: #58cee2;
    background: -moz-radial-gradient(top, ellipse cover, #58cee2 0%, #1db4d5 100%);
    background: -webkit-gradient(radial, center top, 0px, center center, 100%, color-stop(0%,#58cee2), color-stop(99%,#1db4d5));
    background: -webkit-radial-gradient(top, ellipse cover, #58cee2 0%,#1db4d5 100%);
    background: -o-radial-gradient(top, ellipse cover, #58cee2 0%,#1db4d5 100%);
    background: -ms-radial-gradient(top, ellipse cover, #58cee2 0%,#1db4d5 100%);
    background: radial-gradient(ellipse at top, #58cee2 0%,#1db4d5 100%);
}

/*トップページコースパネル*/

.course-data-box .img-resize {
    display: inline-block;
    background-color: #FFF;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
}

.course-data-box .img-course {
    width: 100%;
    height: 0;
    padding-top: 57.142%; /* 表示画像の高さ ÷ 表示画像の幅 × 100 */
}

/*コース詳細*/

.course-detail .img-resize {
    display: inline-block;
    background-color: #FFF;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
}

.course-detail .img-course-detail {
    width: 280px;
    height: 160px;
    margin: 30px auto;
}

.course-detail .img-profile-user {
    width: 150px;
    height: 150px;
}

.required {
    color: #ed4040;
}

/* Bootstrapのブレイクポイントより。Large（≥992px） */

@media screen and (max-width: 992px) {

    .custombox-modal-wrapper {
        overflow: hidden;
    }

    #todaysword .tw-body {
        background-size: 768px;
    }
}

/* Bootstrapのブレイクポイントより。Medium（≥768px） */

@media screen and (max-width: 768px) {
    .custombox-modal #todaysword img {
        width: 80%;
    }

    #todaysword .tw-body {
        width: 576px !important;
        height: auto !important;
        background-size: 576px !important;
    }

    #todaysword .tw-body-content {
        margin: 50px auto 0;
        width: 284px;
        height: 400px;
    }

        #todaysword .tw-body-content .tw-close .glyphicon {
            line-height: 33px !important;
        }

        #todaysword .tw-body-content #tw-photo {
            width: 98px;
            height: 98px;
            right: -104px;
            bottom: 154px;
        }

            #todaysword .tw-body-content #tw-photo span {
                width: 98px;
                height: 98px;
            }

        #todaysword .tw-body-content #tw-txt {
            padding-top: 100px;
            width: 100%;
        }

        #todaysword .tw-body-content h3 {
            font-size: 2rem;
            margin: 0 0 0.5rem;
        }

            #todaysword .tw-body-content h3 span {
                font-size: 1.8rem;
                margin: 5px 0;
            }

        #todaysword .tw-body-content .tw-exp {
            font-size: 1.4rem;
            line-height: 1.5;
            padding-top: 0.5rem;
        }

    #todaysword .btn-app-next {
        width: 120px;
        margin: 0 auto;
        text-align: center;
        left: 0;
        right: 0;
    }

        #todaysword .btn-app-next span.next-harbor-jp {
            font-size: 1.3rem !important;
            top: 45px !important;
            left: 0;
            right: 0;
        }

        #todaysword .btn-app-next span.next-harbor-en {
            font-size: 1.3rem !important;
            top: 30px !important;
            left: 0;
            right: 0;
        }

    #todaysword .btn-app-next-msg {
        margin: 0 auto;
        top: 344px;
        left: 0;
        right: 0;
    }
}

/* Bootstrapのブレイクポイントより。Small（≥576px） */

@media screen and (max-width: 576px) {
    .custombox-modal #todaysword img {
        width: 60%;
    }

    #todaysword .tw-body {
        width: 320px !important;
        height: auto !important;
        background-size: 320px !important;
    }

    #todaysword .tw-body-content {
        width: 250px;
        height: 275px;
    }

        #todaysword .tw-body-content .tw-close {
            width: 30px;
            height: 30px;
            font-size: 22px;
            top: -68px;
            right: -25px;
        }

        #todaysword .tw-body-content #tw-photo {
            width: 54px;
            height: 54px;
            right: -11px;
            bottom: 161px;
        }

            #todaysword .tw-body-content #tw-photo span {
                width: 54px;
                height: 54px;
            }

        #todaysword .tw-body-content #tw-txt {
            width: 156px;
            padding-top: 24px;
        }

        #todaysword .tw-body-content h3 {
            font-size: 1.2rem;
            line-height: 1.2rem;
            margin: 0.5rem 0;
        }

            #todaysword .tw-body-content h3 span {
                font-size: 1.2rem;
                margin: 3px 0 5px;
            }

        #todaysword .tw-body-content .tw-exp {
            font-size: 1rem;
            line-height: 1.4;
            margin-top: 0;
        }

            #todaysword .tw-body-content .tw-exp br {
                display: none;
            }

        #todaysword .tw-body-content .tw-close .glyphicon {
            line-height: 27px !important;
        }

    #todaysword .btn-app-next {
        top: 127px;
    }

        #todaysword .btn-app-next.disable {
            opacity: 0.8;
        }

        #todaysword .btn-app-next span.next-harbor-jp {
            font-size: 0.8rem !important;
            top: 33px !important;
        }

        #todaysword .btn-app-next span.next-harbor-en {
            font-size: 0.8rem !important;
            top: 22px !important;
        }

    #todaysword .btn-app-next-msg {
        line-height: 1.4;
        top: 200px;
    }

    #tw-photo-zoom {
        width: 300px !important;
        height: 300px;
        margin-top: -150px;
        margin-left: -150px;
    }

        #tw-photo-zoom #tw-photo {
            width: 300px !important;
            height: 300px;
        }

        #tw-photo-zoom span {
            width: 300px !important;
            height: 300px;
        }

    .zoom-close {
        width: 30px;
        height: 30px;
        font-size: 22px;
    }

        .zoom-close .glyphicon {
            line-height: 26px !important;
        }
}

/*ヘッダーレスポンシブ用*/

nav#globalMenuSp {
    position: fixed;
    z-index: 20000;
    left: 60%;
    color: #000;
    text-align: center;
    transform: translateX(100%);
    transition: all 0.6s;
    width: 45%;
    height: calc(100% - 75px); /* 75px: header-inner-responsive */
    overflow-y: scroll;
}

    nav#globalMenuSp ul {
        position: relative;
        margin: 0 auto;
        padding: 0;
        width: 100%;
        overflow: auto;
    }

        nav#globalMenuSp ul li {
            list-style-type: none;
            padding: 0;
            width: 100%;
            border-bottom: 1px solid #fff;
        }

            nav#globalMenuSp ul li.separator {
                background-color: cadetblue;
                height: 0.4rem;
            }

            nav#globalMenuSp ul li:last-child {
                padding-bottom: 0;
                border-bottom: none;
            }

            nav#globalMenuSp ul li a,
            nav#globalMenuSp ul li.nickname {
                display: block;
                color: #000;
                padding: 1.4rem 0.4rem;
                text-decoration: none;
                line-height: 1.6rem;
            }

                nav#globalMenuSp ul li a:hover {
                    background: #ddd;
                }

    nav#globalMenuSp.active {
        transform: translateX(-10%);
    }

@media screen and (max-width:1024px) {
    .header-nav-responsive {
        right: 10px;
    }
}

@media screen and (min-width: 1000px) {
    .header-member .for-pc {
        display: block !important;
    }

    .header-member .for-sp {
        display: none !important;
    }

    .pc-button {
        display: block !important;
    }

    .sp-button {
        display: none !important;
    }
}

@media screen and (max-width: 999px) {
    .header-member .for-pc,
    .header-non-member .header-text.for-pc {
        display: none !important;
    }

    .header-member .for-sp {
        display: block !important;
    }

    .header-nav-responsive {
        top: 7px;
        right: 50px;
    }

        .header-nav-responsive select,
        .header-nav-responsive select[disabled] {
            width: 253px;
        }

    .pc-button {
        display: none !important;
    }

    .sp-button {
        display: inline-block !important;
    }

    .header-nav-responsive {
        top: 7px;
        right: 50px;
    }

        .header-nav-responsive select {
            width: 253px;
        }

        .header-nav-responsive .ul-header-nav-responsive li {
            margin: 0 1rem 0 0;
        }

        .header-nav-responsive .ul-header-nav-responsive .header-text {
            margin-top: 1rem;
        }

        .header-nav-responsive .ul-header-nav-responsive .select-box {
            margin-top: 0.6rem;
        }

            .header-nav-responsive .ul-header-nav-responsive .select-box select {
                float: right;
            }

    #header .nav_btn,
    #header-floating .nav_btn {
        width: 44px;
        height: 44px;
        z-index: 300;
        top: 7px;
        right: 7px;
        cursor: pointer;
        position: absolute;
    }

    .header-nav-responsive .header-member .header-mypage a,
    .header-nav-responsive .header-member .header-application a {
        width: 13rem !important;
    }

    .humberger {
        background-color: whitesmoke;
    }

    .hamburger_line {
        transition: all 0.6s;
        width: 34px;
        height: 2px;
        left: 5px;
        background-color: #000;
        position: absolute;
    }

    .hamburger_line1 {
        top: 10px;
    }

    .hamburger_line2 {
        top: 21px;
    }

    .hamburger_line3 {
        top: 32px;
    }

    .nav_open .nav_bg {
        opacity: 0.8;
        visibility: visible;
    }

    .nav_open .hamburger_line1 {
        transform: rotate(45deg);
        top: 20px;
    }

    .nav_open .hamburger_line2 {
        width: 0;
        left: 50%;
    }

    .nav_open .hamburger_line3 {
        transform: rotate(-45deg);
        top: 20px;
    }

    .header-nav-responsive .ul-header-nav-responsive {
        display: block;
    }

        .header-nav-responsive .ul-header-nav-responsive li.select-box {
            display: block;
        }

    .nav_btn {
        margin-top: 0.85rem;
    }
}

/*SPメニュー*/

@media screen and (min-width: 768px) {
    .sub-select {
        display: none;
    }

    .top-page-footer .for-pc,
    .sub-page-footer .for-pc {
        display: flex;
        justify-content: center;
    }


    #toppage-tab.for-pc {
        display: block !important;
    }

    .header-non-member .for-sp,
    .top-page-footer .for-sp,
    .sub-page-footer .for-sp,
    .tab-label,
    .jp-course-sp {
        display: none !important;
    }

    .ul-nav-footer-sns .for-pc {
        display: inline-block !important;
    }
}

@media screen and (max-width: 768px) {
    #content-inner {
        min-height: calc(100vh - 80px - 124px - 25px);
        /* header - JapanFoundationLogo - copyRight */
    }

    .sub-select {
        display: block;
    }

    .header-non-member .for-pc,
    .top-page-footer .for-pc,
    .sub-page-footer .for-pc,
    #toppage-tab.for-pc,
    .tab-box .for-pc {
        display: none !important;
    }

    .header-non-member .for-sp,
    .top-page-footer .for-sp,
    .sub-page-footer .for-sp,
    .tab-label,
    .jp-course-sp {
        display: block !important;
    }

    #tab1 .tab-label {
        background: rgb(84,148,241);
        background: linear-gradient( 65deg, rgba(84,148,241,1) 0%, rgba(104,198,250,1) 100%);
    }

    #tab1 .jp-course-sp a {
        cursor: pointer;
        font-size: 1.6rem;
        text-decoration: underline !important;
    }

    #tab2 .tab-label {
        background: rgb(142,163,248);
        background: linear-gradient( 65deg, rgba(91,116,235,1) 0%, rgba(142,163,248,1) 100%);
    }

    #tab3 .tab-label {
        background: rgb(72,105,203);
        background: linear-gradient( 65deg, rgba(72,105,203,1) 0%, rgba(91,157,239,1) 100%);
    }

    #tab4 .tab-label {
        background: rgb(9,174,222);
        background: linear-gradient( 65deg, rgba(9,174,222,1) 0%, rgba(109,216,245,1) 100%);
    }

    .tab-label h2 {
        font-size: 1.7rem;
    }

    #content.tab1,
    #content.tab2,
    #content.tab3,
    #content.tab4 {
        border-top: none;
    }

    #content-footer img {
        width: 85%;
    }

    .footer-inner-responsive {
        padding: 0;
    }

    .top-page-footer {
        padding: 10px 0 !important;
    }

    .sub-page-footer {
        padding: 0;
    }

    #footer .ul-nav-footer-sns {
        text-align: center;
        margin: 0;
    }

    #footer .copyright-responsive {
        font-size: 0.8rem;
        line-height: 1.5rem;
        padding: 0.5rem;
    }
}

@media screen and (max-width: 576px) {
    .tab-label h2 {
        font-size: 1.5rem;
    }

    #tab1 .jp-course-sp a {
        font-size: 1.4rem;
    }

    .header-nav-responsive .header-regist,
    .header-nav-responsive .header-mypage-sub {
        width: 112px;
    }

    .header-nav-responsive .header-login,
    .header-nav-responsive .header-logoff {
        width: 10rem;
    }

    .header-nav-responsive .header-member .header-mypage a,
    .header-nav-responsive .header-member .header-application a {
        width: 10rem !important;
    }

    .header-nav-responsive select,
    .header-nav-responsive select[disabled] {
        width: 205px;
    }
}

@media screen and (max-width: 412px) {
    .header-inner-responsive .logo-jf,
    #header-floating .logo-jf {
        margin-left: 0.4rem;
    }

    #header-floating .ul-header-nav-responsive li a.header-btn {
        padding-left: 0.2rem !important;
        padding-right: 0.2rem !important;
    }

    .header-nav-responsive {
        right: 50px;
    }

        .header-nav-responsive select,
        .header-nav-responsive select[disabled] {
            width: 200px;
        }

        .header-nav-responsive .header-member .header-mypage a,
        .header-nav-responsive .header-member .header-application a,
        .header-nav-responsive .header-btn-account {
            min-width: 80px;
            white-space: nowrap;
            padding: 0 0.2rem;
        }

        .header-nav-responsive .ul-header-nav-responsive li {
            margin: 0 0.4rem 0 0;
        }

        .header-nav-responsive .nav_btn {
            right: 4px;
        }

        .header-nav-responsive .header-login,
        .header-nav-responsive .header-logoff {
            width: 10rem;
        }
}

@media screen and (max-width: 340px) {
    #content-inner {
        min-height: calc(100vh - 80px - 124px - 40px);
        /* header - JapanFoundationLogo - copyRight */
    }

    .header-inner-responsive .logo-jf .for-sp-logo img {
        width: auto;
        height: 40px;
    }
}
