@charset "utf-8";
@import url(//fonts.googleapis.com/earlyaccess/mplus1p.css);
@import url(https://fonts.googleapis.com/earlyaccess/notosanskr.css);
.btn-chromeless {
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
    background: rgba(0, 0, 0, 0);
    height: auto;
    line-height: inherit;
    border-width: 0;
    padding: 0;
    vertical-align: baseline
}
.btn-chromeless:focus {
    outline: 0
}
.table-responsive {
    width: 100%;
    overflow-x: auto;
    background-color: #fff;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, .05);
    -webkit-overflow-scrolling: touch;
    margin: 0 0 1em
}
.table-responsive::-webkit-scrollbar {
    width: 6px;
    height: 6px
}
.table-responsive::-webkit-scrollbar-thumb {
    background-color: #ced4da
}
.table-responsive:hover::-webkit-scrollbar-track {
    background-color: rgba(0, 0, 0, .05)
}
.table-responsive:hover::-webkit-scrollbar-thumb {
    background-color: #adb5bd
}
.table-responsive:hover::-webkit-scrollbar-thumb:hover {
    background-color: tomato
}
.table-responsive .text-nowrap {
    white-space: nowrap
}
.table-responsive .text-center {
    text-align: center
}
.table-responsive .text-right {
    text-align: right
}
.table-responsive .table, .table-responsive .text-wrap table {
    width: 100%;
    max-width: 100%;
    background-color: transparent
}
.table-responsive table tr {
    border-top: 1px solid #dee2e6
}
.table-responsive table .tutor-img {
    -webkit-border-radius: 100px;
    -moz-border-radius: 100px;
    -o-border-radius: 100px;
    -ms-border-radius: 100px;
    border-radius: 100px;
    width: 50px
}
.table-responsive table .tutor-name {
    font-size: 1em;
    margin-bottom: 5px
}
.table-responsive table .lesson-title {
    font-size: .9em
}
.table-responsive table .lesson-title .lesson-img {
    width: 1.2em;
    vertical-align: text-bottom
}
.table-responsive table tbody tr:hover {
    background-color: rgba(241, 196, 15, .1)
}
.table-responsive table td, .table-responsive table th {
    vertical-align: middle;
    padding: 5px 10px
}
.table-responsive table th {
    text-align: left-1;
    font-size: .9em;
    font-weight: 600;
    padding: 10px 10px
}
@font-face {
    font-family: Merriweather;
    font-style: italic;
    font-weight: 300;
    src: local('Merriweather Light Italic'), local('Merriweather-LightItalic'), url(https://fonts.gstatic.com/s/merriweather/v20/u-4l0qyriQwlOrhSvowK_l5-eR7lXff4jvk.ttf) format('truetype')
}
@font-face {
    font-family: Merriweather;
    font-style: italic;
    font-weight: 400;
    src: local('Merriweather Italic'), local('Merriweather-Italic'), url(https://fonts.gstatic.com/s/merriweather/v20/u-4m0qyriQwlOrhSvowK_l5-eRZOf-c.ttf) format('truetype')
}
@font-face {
    font-family: Merriweather;
    font-style: italic;
    font-weight: 700;
    src: local('Merriweather Bold Italic'), local('Merriweather-BoldItalic'), url(https://fonts.gstatic.com/s/merriweather/v20/u-4l0qyriQwlOrhSvowK_l5-eR71Wvf4jvk.ttf) format('truetype')
}
@font-face {
    font-family: Merriweather;
    font-style: italic;
    font-weight: 900;
    src: local('Merriweather Black Italic'), local('Merriweather-BlackItalic'), url(https://fonts.gstatic.com/s/merriweather/v20/u-4l0qyriQwlOrhSvowK_l5-eR7NWPf4jvk.ttf) format('truetype')
}
@font-face {
    font-family: Merriweather;
    font-style: normal;
    font-weight: 300;
    src: local('Merriweather Light'), local('Merriweather-Light'), url(https://fonts.gstatic.com/s/merriweather/v20/u-4n0qyriQwlOrhSvowK_l521wRZWMf_.ttf) format('truetype')
}
@font-face {
    font-family: Merriweather;
    font-style: normal;
    font-weight: 400;
    src: local('Merriweather Regular'), local('Merriweather-Regular'), url(https://fonts.gstatic.com/s/merriweather/v20/u-440qyriQwlOrhSvowK_l5-fCZJ.ttf) format('truetype')
}
@font-face {
    font-family: Merriweather;
    font-style: normal;
    font-weight: 700;
    src: local('Merriweather Bold'), local('Merriweather-Bold'), url(https://fonts.gstatic.com/s/merriweather/v20/u-4n0qyriQwlOrhSvowK_l52xwNZWMf_.ttf) format('truetype')
}
@font-face {
    font-family: Merriweather;
    font-style: normal;
    font-weight: 900;
    src: local('Merriweather Black'), local('Merriweather-Black'), url(https://fonts.gstatic.com/s/merriweather/v20/u-4n0qyriQwlOrhSvowK_l52_wFZWMf_.ttf) format('truetype')
}
@font-face {
    font-family: Lato;
    font-style: italic;
    font-weight: 100;
    src: local('Lato Hairline Italic'), local('Lato-HairlineItalic'), url(https://fonts.gstatic.com/s/lato/v14/S6u-w4BMUTPHjxsIPx-oPCc.ttf) format('truetype')
}
@font-face {
    font-family: Lato;
    font-style: italic;
    font-weight: 300;
    src: local('Lato Light Italic'), local('Lato-LightItalic'), url(https://fonts.gstatic.com/s/lato/v14/S6u_w4BMUTPHjxsI9w2_Gwfo.ttf) format('truetype')
}
@font-face {
    font-family: Lato;
    font-style: italic;
    font-weight: 400;
    src: local('Lato Italic'), local('Lato-Italic'), url(https://fonts.gstatic.com/s/lato/v14/S6u8w4BMUTPHjxsAXC-v.ttf) format('truetype')
}
@font-face {
    font-family: Lato;
    font-style: italic;
    font-weight: 700;
    src: local('Lato Bold Italic'), local('Lato-BoldItalic'), url(https://fonts.gstatic.com/s/lato/v14/S6u_w4BMUTPHjxsI5wq_Gwfo.ttf) format('truetype')
}
@font-face {
    font-family: Lato;
    font-style: italic;
    font-weight: 900;
    src: local('Lato Black Italic'), local('Lato-BlackItalic'), url(https://fonts.gstatic.com/s/lato/v14/S6u_w4BMUTPHjxsI3wi_Gwfo.ttf) format('truetype')
}
@font-face {
    font-family: Lato;
    font-style: normal;
    font-weight: 100;
    src: local('Lato Hairline'), local('Lato-Hairline'), url(https://fonts.gstatic.com/s/lato/v14/S6u8w4BMUTPHh30AXC-v.ttf) format('truetype')
}
@font-face {
    font-family: Lato;
    font-style: normal;
    font-weight: 300;
    src: local('Lato Light'), local('Lato-Light'), url(https://fonts.gstatic.com/s/lato/v14/S6u9w4BMUTPHh7USSwiPHA.ttf) format('truetype')
}
@font-face {
    font-family: Lato;
    font-style: normal;
    font-weight: 400;
    src: local('Lato Regular'), local('Lato-Regular'), url(https://fonts.gstatic.com/s/lato/v14/S6uyw4BMUTPHjx4wWw.ttf) format('truetype')
}
@font-face {
    font-family: Lato;
    font-style: normal;
    font-weight: 700;
    src: local('Lato Bold'), local('Lato-Bold'), url(https://fonts.gstatic.com/s/lato/v14/S6u9w4BMUTPHh6UVSwiPHA.ttf) format('truetype')
}
@font-face {
    font-family: Lato;
    font-style: normal;
    font-weight: 900;
    src: local('Lato Black'), local('Lato-Black'), url(https://fonts.gstatic.com/s/lato/v14/S6u9w4BMUTPHh50XSwiPHA.ttf) format('truetype')
}
:root {
    --blue: #467fcf;
    --indigo: #6574cd;
    --purple: #a55eea;
    --pink: #f66d9b;
    --red: #cd201f;
    --orange: #fd9644;
    --yellow: #f1c40f;
    --green: #5eba00;
    --teal: #2bcbba;
    --cyan: #17a2b8;
    --white: #fff;
    --gray: #868e96;
    --gray-dark: #343a40;
    --azure: #45aaf2;
    --lime: #7bd235;
    --primary: #467fcf;
    --secondary: #868e96;
    --success: #5eba00;
    --info: #45aaf2;
    --warning: #f1c40f;
    --danger: #cd201f;
    --light: #f8f9fa;
    --dark: #343a40;
    --breakpoint-xs: 0;
    --breakpoint-sm: 576px;
    --breakpoint-md: 768px;
    --breakpoint-lg: 992px;
    --breakpoint-xl: 1280px;
    --font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    --font-family-monospace: Monaco, Consolas, "Liberation Mono", "Courier New", monospace
}
* {
    max-height: 99999px
}
@media screen and (min-width:1440px) {
    @-ms-viewport {
        width: 1366px
    }
}
@media only screen and (max-width:799px) {
    .hide-for-mobile, .show-for-desktop-up {
        display: none!important
    }
}
@media only screen and (min-width:800px) {
    .hide-for-mobile, .show-for-desktop-up {
        display: inherit!important
    }
}
@media only screen and (min-width:800px) {
    .show-for-mobile {
        display: none!important
    }
}
@media only screen and (max-width:799px) {
    .show-for-mobile {
        display: inherit!important
    }
}
.flex-container {
    display: flex;
    flex-flow: row nowrap
}
.flex-container .flex-item.auto-width {
    flex-grow: 1
}
.homepage-content {
    width: 100%;
    max-width: 1080px;
    margin: 0 auto;
    background-color: #fff;
}
.homepage-content .content-wrapper {
    /* overflow: hidden; */
    width: 100%;
    /* max-width: 980px; */
    margin: 0 auto;
}
.homepage-content .title-image-wrapper {
    /* padding: 13rem 1rem 9rem; */
    /* overflow: hidden; */
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    background-color: #fff;
    position: relative;
}
@media only screen and (min-width:0px) and (max-width:768px) {
    .homepage-content .title-image-wrapper .fbox {
        flex-direction: column
    }
    .homepage-content .title-image-wrapper .fbox>div {
        width: 100%
    }
}
.homepage-content .title-image-wrapper .cafetalk-ryugaku {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
}
.homepage-content .title-image-wrapper .cafetalk-ryugaku p {
    margin: 2em 0;
    color: #fff;
    font-weight: bold;
    font-size: 1.5em;
    text-align: center;
    line-height: 2;
}
.homepage-content .title-image-wrapper .cafetalk-ryugaku img {
    display: block;
}
.homepage-content .title-image-wrapper .cafetalk-ryugaku .img-plan {
    position: relative;
    top: -2em;
}
.homepage-content .title-image-wrapper .cafetalk-ryugaku-case {
    padding: 0 1.5rem
}
.homepage-content .title-image-wrapper .cafetalk-ryugaku-case img {
    width: 400px;
    -webkit-filter: drop-shadow(1px 1px 1px #000);
    filter: drop-shadow(1px 1px 1px #000)
}
.homepage-content .title-image-wrapper .title-phrase {
    color: #fff;
    text-shadow: 1px 1px 1px #333;
    font-size: 1.1rem;
    font-weight: 600;
    text-align: cneter;
    /* max-width: 800px; */
    /* margin: 2rem auto 0; */
}
.homepage-content .title-image-wrapper .button-wrapper {
    position: relative;
    text-align: center;
}
.homepage-content .title-image-wrapper .button-wrapper a {
    display: inline-block;
    padding: .6rem 1rem;
    font-size: .9rem;
    margin: 2em 0;
}

@media only screen and (min-width:0px) and (max-width:768px) {
    .homepage-content .about img {
        display: none
    }
}
.homepage-content .about .homestay-banner {
    margin-top: 5rem
}

.homepage-content .plan .inner {
    padding: 0 1em;
}
.homepage-content .plan h2, .homepage-content .plan h2 {
    font-size: 1.5rem;
    margin: 1em 0 .5em;
}
.homepage-content .plan h3, .homepage-content .plan h3 {
    font-size: 1rem;
    color: #683686;
    font-weight: 600;
    margin: 0 0 .5em;
}
.homepage-content .plan .button-wrapper, .homepage-content .plan .button-wrapper {
    margin: 1.5em 0;
    text-align: center;
}
.homepage-content .plan .button-wrapper a, .homepage-content .plan .button-wrapper a {
    display: inline-block;
    padding: .6rem 2rem;
    font-weight: bold;
    color: #fff;
    background-color: #1d85bc;
    -webkit-border-radius: 50px;
    -moz-border-radius: 50px;
    -o-border-radius: 50px;
    -ms-border-radius: 50px;
    border-radius: 50px;
}

.plan {}
.plan h2 {}
.plan ul {
    margin: 0 0 2em;
}
.plan li {
    line-height: 1.5;
    font-size: 13px;
    margin: 0 0 .7em .15em;
    position: relative;
}
.plan li em {
    color: #777;
    font-style: normal;
    position: absolute;
    left: -1.8em;
    font-size: .8em;
    top: .2em;
}
.plan .box {
    margin: 1em 0;
    background-color: #f8fff3;
    padding: 1em;
    border: 2px dashed #68b386;
}
.plan .box.red {
    margin: 1em 0;
    background-color: #fffbf2;
    padding: 1em;
    border: 2px dashed #ffb491;
}
.plan .box h4 {
    margin: 0 0 1em;
    font-size: 1em;
}
.plan .box ul {}
.plan .box li {
    font-size: .9em;
}
.plan .box p {
    color: #bb3838;
    font-weight: bold;
}
.plan dl {
    margin: 0 0 3em;
}
.plan dt {
    display: block;
    /* font-size: 1.15em; */
    line-height: 2;
    /* border-bottom: 1px dotted #ccc; */
    padding: .5em;
    font-weight: bold;
}
.plan dd {
    /* margin: 0 0 0 8.5em; */
    font-size: 1.15em;
    line-height: 2;
    border-bottom: 1px dotted #ccc;
    padding: .5em;
}
.plan dd.price {
    background-color: #fdf8d3;
    padding: 1em;
}
.plan dd.price b {
    font-weight: bold;
    font-size: 120%;
}
.plan dd.price span {
    color: #ca1414;
    font-weight: bold;
    display: block;
}
.plan h3 {}
.plan p {
    margin: 0 0 .3em;
}
.homepage-content .photos-wrapper {
    position: relative;
}

.homepage-content {}
.homepage-content .waku.for-mobile {
    background-color: #f9f8f5;
    padding: 1em;
    margin: 0 1em 1em;
}
.homepage-content h2 {
    text-align: left;
    font-size: 1.3rem;
    /* margin: 4em 0 0 0; */
}
.homepage-content p {
    font-size: 1.2em;
    margin: 0 0 1em;
}
.homepage-content .inner.foto img {
    /* margin: 7em 0 0 0; */
    /* position: relative; */
    /* left: -16px; */
}
.homepage-content .contact h2 {
    text-align: center;
    font-size: 1.5rem
}
.homepage-content .contact h3 {
    text-align: center;
    font-size: 1rem
}
.homepage-content .contact .info-wrapper {
    margin-top: 3rem
}
.homepage-content .contact .info-wrapper img {
    height: 300px
}
.homepage-content .contact .info-wrapper p {
    font-size: 1rem
}
.homepage-content .contact .info-wrapper h4 {
    font-size: 2rem
}
.homepage-content .contact .info-wrapper .counseling {
    margin-top: 2rem
}
.homepage-content .contact .info-wrapper .counseling .button-wrapper {
    margin-top: 1rem
}
.homepage-content .contact .info-wrapper .counseling .button-wrapper a {
    display: inline-block;
    border: 1px solid #777;
    padding: .6rem 1rem;
    font-size: .9rem;
    background-color: #eee
}
.agent {
    border: 2px dotted #7e6ea5;
    padding: 1em;
    margin: 3em 0;
}
.agent p {font-size: .95em;}
.main-footer .photos-wrapper {}
.main-footer .photos-wrapper img {
    display: block;
    max-width: 980px;
    margin: 0 auto;
    width: 100%;
}
.main-footer .footer-image-wrapper {
    background-color: #4f4471;
    padding: 5em 2em;
}
.main-footer .footer-image-wrapper .fbox {}
.main-footer .footer-image-wrapper .fbox .cafetalk-ryugaku {}
.main-footer .footer-image-wrapper .fbox .cafetalk-ryugaku img {
    width: 324px;
    margin: 0 1em 0 0;
}
.main-footer .footer-image-wrapper .fbox .cafetalk-ryugaku-case {}
.main-footer .footer-image-wrapper .fbox .cafetalk-ryugaku-case img {
    width: 240px;
}
.wrapper {
    width: 100%;
    background-color: #f1f1f1;
}
.homepage-content .plan .center-wrapper h2, .homepage-content .plan h2 {
    margin: 1.5em 0 1em;
    font-size: 1.6em;
}
.homepage-content h4 {
    font-size: 1.1em;
    margin: 0 0 1em;
}
.tel {
    background-color: #fff7cd;
    padding: 2em;
}

.tel b {
    display: block;
    font-size: 127%;
    margin: 0 0 .5em;
}
.for-pc {
    display: none;
}
/* - ## x >= 569px
 ------------------------------------------------------------ */

@media screen and (min-width:569px) {
    .homepage-content .plan .center-wrapper, .homepage-content .plan .center-wrapper {
        padding: 0 2rem 1em;
    }
    .homepage-content .plan .center-wrapper .button-wrapper, .homepage-content .plan .center-wrapper .button-wrapper {
        margin: 1.5rem 0;
        text-align: center;
    }
    .homepage-content .plan .center-wrapper h2, .homepage-content .plan h2 {}
    .homepage-content .plan .center-wrapper h2, .homepage-content .plan li {}
}
/* - ## x >= 769px
 ------------------------------------------------------------ */

@media screen and (min-width:769px) {
    .homepage-content .plan .center-wrapper, .homepage-content .plan .center-wrapper {
        padding: 0 1em;
    }
    .homepage-content .plan .center-wrapper .button-wrapper, .homepage-content .plan .center-wrapper .button-wrapper {
        margin: 2.5rem 0;
        text-align: center;
    }
    .plan dt {
        /* float: left-1; */
        /* font-size: 1.15em; */
        line-height: 2;
        /* border-bottom: 1px dotted #ccc; */
        padding: .5em;
        font-weight: bold;
        float: left;
    }
    .plan dd {
        margin: 0 0 0 8.5em;
        /* font-size: 1.15em; */
        line-height: 2;
        border-bottom: 1px dotted #ccc;
        padding: .5em;
    }
    h4 {
        font-size: 1.125rem;
    }
    .homepage-content .top .text {
        position: absolute;
        bottom: 2em;
        left: 3em;
        padding: 1em;
        background-color: #5b42b399;
        max-width: 45%;
        font-weight: bold;
    }
    .homepage-content .top .text p {
        color: #fff;
    }
    .white-space span:not(.eccetto) {
        display: inline-block;
        white-space: nowrap;
    }
    
    
    .waku.for-pc {
    margin: 1em;
    font-size: .9em;
    /* background-color: #f8f8ee; */
    /* box-shadow: 0 2px 4px #aaa; */
    padding: 1em;
}
    .for-pc {
        display: block;
    }
    .for-mobile {
        display: none;
    }
}