@charset "utf-8";
/*
Theme Name: give-us2026
Theme URI: http://www.b-faith.com/
Description: Build-Faith theme
Version: 346.1.23-2
Author: B-faith
Author URI: http://www.b-faith.com/
Tags: simple

    B-faith
     http://www.b-faith.com/

*/

@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
@import url(https://fonts.googleapis.com/earlyaccess/sawarabimincho.css);
@import url(https://fonts.googleapis.com/css?family=Noto+Serif+JP);
@import url(https://fonts.googleapis.com/css?family=Open+Sans:400,700,800);
@import 'https://fonts.googleapis.com/css?family=Anton';





/*
font-family: 'Noto Sans Japanese';(notosansjapanese.css)
font-family: 'Sawarabi Mincho';(sawarabimincho.css)
font-family: 'Open Sans';(https://fonts.googleapis.com/css?family=Open+Sans:400,700,800)
font-family: 'Noto Serif JP', serif; (Noto Serif JP*Noto明朝)


*/
* {
    margin: 0;
    padding: 0;
}


html {
    height: 100%;
    font-size: 62.5%;
}

body {
    font: 1.6rem/1.6 "メイリオ", "Meiryo", arial, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック体", "Yu Gothic", YuGothic, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;
    height: 100%;
    color: #252525;
    letter-spacing: .1px;
    background-color: #fff;
    counter-reset: number 0;
}

a {
    color: #777;
    transition: 0.5s;
    -webkit-transition: 0.5s;
    -moz-transition: 0.5s;
    -o-transition: 0.5s;
    -ms-transition: 0.5s;
}

a:hover {
    color: #999;
    text-decoration: none;
}

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

a:hover img {
    opacity: 0.5;
    filter: alpha(opacity=50);
    -ms-filter: "alpha( opacity=50 )";
    transition: 0.5s;
    -webkit-transition: 0.5s;
    -moz-transition: 0.5s;
    -o-transition: 0.5s;
    -ms-transition: 0.5s;
}

img {
    border: 0;
}

.container img,
div img {
    max-width: 100%;
    height: auto;
}

.container-fluid01 {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding: 0;
}

.ofi {
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: 50% 50%;
    object-position: 50% 50%;
    font-family: 'object-fit: cover; object-position: 50% 50%;'
        /* IE・Edge対応 */
}

/* メディアに挿入で必要 */

.aligncenter {
    margin: 0 auto;
    display: block;
}

.alignright {
    float: right;
    margin: 0.5em 0 0.5em 1em;
}

.alignleft {
    float: left;
    margin: 0.5em 1em 0.5em 0;
}

/* //end */

hr {
    border-width: 1px 0px 0px 0px;
    border-style: dotted;
    border-color: #cccccc;
    height: 1px;
    margin: 20px 0 15px 0;
    clear: both;
}

.text-center {
    text-align: center;
}

.hrn {
    border-width: 0;
    border-color: #fff;
}

.flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: space-between;
    -ms-flex-pack: space-between;
    justify-content: space-between;
}

.reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}

.flex-center {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.align-items-center {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -ms-grid-row-align: center;
    align-items: center;
}

.flex-sb {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.d-flex_header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.dp-block {
    display: block;
}

.none {
    display: none;
}

.no-gutter > [class*='col-'],
.no-gutter {
    padding-right: 0;
    padding-left: 0;
}

.attention {
    margin-bottom: 40px;
    font-size: 1.6rem;
}

/*******************************
全体
*******************************/

.max {
    margin: 0 auto;
    padding: 1% 4%;
}

.container,
.inner {
    margin: 0 auto;
    max-width: 1170px;
}

.container01 {
    max-width: 1600px;
    margin: 0 auto;
}

.container01 {
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto;
}

/*******************************
/* ヘッダー
*******************************/

header {
    padding: 80% 0 10%;
    background-image: url("/wp-content/themes/give-us2026/images/bunner-bg3.gif");
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    width: 100%;
    position: relative;
    z-index: 1;
}

#top {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 56.25%;
  background-image: url("/wp-content/themes/give-us2026/images/bunner-bg3.gif");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

#top h1 {
  margin: 0;
}

/* logo */

header h1 a {
    /*    margin: 0 auto;*/
    display: block;
    text-indent: -9999px;
    text-align: center;
    width: 40%;
    height: auto;
    /*    padding: 20% 50% 0%;*/
    z-index: 15;
    /**background: url(images/logo.png) 50% 50% no-repeat;**/
    background-size: contain;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: 11% auto 0;
}

header h1 a:hover {}

@media(max-width:1600px) {
    header h1 a {
        margin-top: 11%;
        height: auto;
    }
}

header h1 a img::before {}

header h1 a:hover img {
    opacity: 1;
}


header .header-bottom {
    position: absolute;
    bottom: -3%;
    z-index: 10;
}

header ul.img-position {
    list-style-type: none;
}

header ul.img-position li img {
    position: absolute;
    z-index: 5;
}

header ul.img-position li.img01 img {
    right: 10%;
    bottom: 56%;
    width: 23%;
    height: auto;
}

/*
header ul.img-position li.img02 img {
    left: 0;
    top: 5%;
    width: 27%;
    height: auto;
}
*/



header ul.img-position li.img02 {
    /*    position: relative;*/
}

header ul.img-position li.img02 img {
    left: 10%;
    bottom: 56%;
    width: 23%;
    height: auto;
}

/**
header ul.img-position li.img02 .swiper-container {
    overflow: inherit;
    position: absolute;
    left: 0;
    top: 5%;
    width: 27%;
}

header ul.img-position li.img02 .swiper-container img {

    height: auto;
}
**/


header ul.img-position li.img03 img {
    left: 8%;
    top: 50%;
    width: 20%;
    height: auto;
}

header ul.img-position li.img04 img {
    right: 8%;
    top: 50%;
    width: 20%;
    height: auto;
}

header ul.img-position li.img05 img {
    left: 14%;
    top: 68%;
    width: 22%;
    height: auto;
}

header ul.img-position li.center_row_img img {
    right: 36%;
    top: 87%;
    width: 30%;
    height: auto;
}


header ul.header-side-btn {
    list-style-type: none;
}

header ul.header-side-btn li img {
    position: absolute;
    z-index: 5;
}

header ul.header-side-btn li.btn01 img {
    right: 0.3%;
    top: 12%;
    width: 6%;
    height: auto;
}

header ul.header-side-btn li.btn02 img {
    right: 0.3%;
    top: 25%;
    width: 6%;
    height: auto;
}

header#sub ul.header-side-btn li.btn01 img {
    right: 0.3%;
    top: 12%;
    width: 6%;
    height: auto;
}

header#sub ul.header-side-btn li.btn02 img {
    right: 0.3%;
    top: 30%;
    width: 6%;
    height: auto;
}

header .tel a {
    position: absolute;
    right: 0;
    width: 279px;
    height: auto;
    margin-top: -20px;
    top: 0;
    display: block;
}

header .tel a:hover {
    margin: 0;
    opacity: 1;
    bottom: 0;
}

header .tel a:hover img {
    opacity: 1;
}

/*
header .tel {
    position: absolute;
    background-color: #6ad20d;
    color: #FFF;
    top: 0;
    right: 0;
    width: 17%;
    padding: 0.5% 1%;
    border-radius: 0 0 15px 15px;
    font-size: 1rem;
    text-align: center;
}

header .tel span a {
    display: block;
    font-size: 1.6rem;
    font-weight: bold;
    color: #fff;
}

header .tel span a::before {
    font-size: 1.6rem;
    font-family: "Font Awesome 5 Free";
    content: "\f098";
    margin: 0;
    top: 0;
    position: relative;
    left: 0;
    padding-right: 5%;
    color: #FFF;
    font-weight: 800;
}
*/


header .header-pc-nav {
    width: 100%;

    position: absolute;
    top: 0;

}

header .header-pc-nav ul.navbar-nav01 {
    width: 100%;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    text-align: center;
    z-index: 20;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    list-style-type: none;
    position: relative;
}

header .header-pc-nav ul.navbar-nav01 li {
    margin: 0 10px;
    width: 100px;
    height: 60px;
    margin-top: -20px;

}


header .header-pc-nav ul.navbar-nav01 li.navi01 a,
header .header-pc-nav ul.navbar-nav01 li.navi02 a,
header .header-pc-nav ul.navbar-nav01 li.navi03 a,
header .header-pc-nav ul.navbar-nav01 li.navi04 a {
    position: absolute;
    /*    bottom: 15%;*/
    display: block;
    left: 0;
    right: 0;

}

header .header-pc-nav ul.navbar-nav01 li.navi01 a:hover,
header .header-pc-nav ul.navbar-nav01 li.navi02 a:hover,
header .header-pc-nav ul.navbar-nav01 li.navi03 a:hover,
header .header-pc-nav ul.navbar-nav01 li.navi04 a:hover {
    /*    bottom: 30%;*/
    margin-top: -10px;
    transition: 0.2s;

    -webkit-transition: 0.2s;
    -moz-transition: 0.2s;
    -o-transition: 0.2s;
    -ms-transition: 0.2s;
}


header .header-pc-nav ul.navbar-nav01 li:hover {
    margin-top: 0;
    transition: 0.2s;
    -webkit-transition: 0.2s;
    -moz-transition: 0.2s;
    -o-transition: 0.2s;
    -ms-transition: 0.2s;
}

header .header-pc-nav ul.navbar-nav01 li.navi01 {
    /*    background-color: #ffa21e;*/
    position: relative;

}

header .header-pc-nav ul.navbar-nav01 li.navi02 {
    /*    background-color: #023972;*/
    position: relative;
}

header .header-pc-nav ul.navbar-nav01 li.navi03 {
    /*    background-color: #fc678f;*/
    position: relative;
}

header .header-pc-nav ul.navbar-nav01 li.navi04 {
    /*    background-color: #008ad2;*/
    position: relative;
}


header .header-pc-nav ul.navbar-nav01 li a {
    color: #fff;
    /*    padding: 0.3% 1% 1%;*/
    font-weight: bold;
}

header .header-pc-nav ul.navbar-nav01 li a:hover img {
    opacity: 1;
}

/***********************
ヘッダー サブページ

***************************************/
header#sub {
    padding: 27% 0 10%;
    /**background: url(images/header-bg_sub.png) 50% 0% no-repeat;**/
    background: url(images/bunner-bg2.gif) 50% 0% no-repeat;
    background-size: cover;
    position: relative;
    width: 100%;
    height: auto;
    z-index: 1;
}

/* logo */

header#sub h1 a {
    /*    margin: 0 auto;*/
    display: block;
    text-indent: -9999px;
    text-align: center;
    width: 20%;
    height: auto;
    /*    padding: 20% 50% 0%;*/
    z-index: 15;
    /**background: url(images/logo-sub.png) 50% 50% no-repeat;**/
    background-size: contain;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: 11% auto 0;
}

@media(max-width:1600px) {
    header#sub h1 a {
        margin-top: 11%;
        height: auto;
    }
}

header#sub h1 a img::before {}

header#sub h1 a:hover img {
    opacity: 1;
}

/*以下～サブページのヘッダー画像*/
header#sub ul.img-position {
    list-style-type: none;
}

header#sub ul.img-position li img {
    position: absolute;
    z-index: 5;
}

header#sub ul.img-position li.img01 img {
    right: 70px;
    bottom: -5%;
    width: 20%;
    height: auto;
}


header#sub ul.img-position li.img02 img {
    left: 0;
    top: 5%;
    width: 75%;
    height: auto;
}

/*
header#sub ul.img-position li.img02 img {
    left: 0;
    top: 5%;
    width: 21%;
    height: auto;
}
*/

header#sub ul.img-position li.img03 img {
    left: 97px;
    top: 18%;
    width: 23%;
    height: auto;
}

/*
header h1 a {
    background: 0;
}*/

header h2 a {
    display: block;
    margin-top: 0;
    width: 100%;
    height: 47px;
}

/*****ヘッダーメニュー******/

h1,
h2,
h3,
header ul {
    font-family: 'Noto Sans Japanese';
    font-weight: 600;
}

.container ul {
    margin-left: 5px;
}

header h1,
header h2,
header h3,
header ul {
    margin: 0;
    font-weight: normal;
    color: #7054a0;
    font-size: 1.6rem;
    line-height: 21px;
}

.navbar-nav li::after {
    content: "|";
    margin: 0 .5em;
}

.navbar-nav > li > a {
    margin-bottom: 0;
    padding: 0;
    color: #7054a0;
    font-weight: 600;
}

.navbar-nav > li > a:hover {
    opacity: 0.8;
    text-decoration: underline;
}

.navbar-nav > li > a {
    margin-top: 0;
}

/************************************
 ヘッダー位置のボタン3つ
************************************/
.side_img01 a {
    background: url(images/header-info.png) bottom right no-repeat;
    background-size: contain;
    position: fixed;
    right: .5%;
    top: 30%;
    width: 100px;
    height: 100px;
    z-index: 500;
    display: block;
    text-indent: -9999px;
}

.side_img02 a {
    background: url(images/header-lessons.png) bottom right no-repeat;
    background-size: contain;
    position: fixed;
    right: .5%;
    top: 43%;
    width: 100px;
    height: 100px;
    z-index: 500;
    display: block;
    text-indent: -9999px;
}

.side_img03 a {
    background: url(images/header-procedures.png) bottom right no-repeat;
    background-size: contain;
    position: fixed;
    right: .5%;
    top: 56%;
    width: 100px;
    height: 100px;
    z-index: 500;
    display: block;
    text-indent: -9999px;
}

.side_img04 a {
    background: url(images/fixed-virtual01.png) bottom right no-repeat;
    background-size: contain;
    position: fixed;
    right: .5%;
    top: 69%;
    width: 100px;
    height: 100px;
    z-index: 500;
    display: block;
    text-indent: -9999px;
}


/************************************
 メインナビゲーション
************************************/
#header-navi {
    width: 100%;
}

/**
#header-navi p {
    font-size: 3.5rem;
    text-align: center;
    color: #dc0f48;
    font-weight: bold;
    padding: 2% 0 0;
}
**/
.header-navi-title {
    font-size: 3.5rem;
    text-align: center;
    color: #000000;
    font-weight: bold;
    padding: 2% 0 0;
}

#header-navi span {
    display: block;
    font-size: 2rem;
    font-weight: 600;
}

#header-navi ul.navi-list {
    list-style-type: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 2% 0 0;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
}

#header-navi ul.navi-list li {
    padding: 0 10px;
}


header ul.navbar-nav {
    width: 100%;
    font-size: 1.6rem;
    text-align: right;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
}

/*
.navbar {
    margin-bottom: 75px;
    -webkit-box-shadow: 0px 1px 2px 0px rgba(13, 5, 9, 0.1);
    box-shadow: 0px 1px 2px 0px rgba(13, 5, 9, 0.1);
}
*/

.navbar-nav > li > a {
    margin-bottom: 0;
    padding: 0;
}

.navbar-default .navbar-nav > li > a:focus,
.navbar-default .navbar-nav > li > a:hover {
    background-color: transparent;
}

ul.nav {
    margin: 0 auto;
}

ul.nav li {
    float: left;
    width: 185px;
    list-style: none;
    text-align: center;
}

ul.nav a {
    display: inline-block;
    width: 185px;
    height: 100px;
    overflow: hidden;
    text-indent: 100%;
    white-space: nowrap;
    text-decoration: none;
    transition: none;
    -webkit-transition: none;
    -moz-transition: none;
    -o-transition: none;
    -ms-transition: none;
}

ul.nav .menu-item:nth-of-type(1) a {
    background: url(images/navi01.png) 50% 50% no-repeat;
}

ul.nav .menu-item:nth-of-type(2) a {
    background: url(images/navi02.png) 50% 50% no-repeat;
}

ul.nav .menu-item:nth-of-type(3) a {
    background: url(images/navi03.png) 50% 50% no-repeat;
}

ul.nav .menu-item:nth-of-type(4) a {
    background: url(images/navi04.png) 50% 50% no-repeat;
}

ul.nav .menu-item:nth-of-type(5) a {
    background: url(images/navi05.png) 50% 50% no-repeat;
}

ul.nav .menu-item:nth-of-type(6) a {
    background: url(images/navi06.png) 50% 50% no-repeat;
}


ul.nav .menu-item a:hover,
ul.nav li.active .menu-item a {
    background-color: #efefef;
}


/***************************
Gutenberg（グーテンベルグ）
*******************************/
.gutenberg p {}


.gutenberg h2 {
    color: #364e96;
    padding: 0.5em 0;
    border-top: solid 3px #364e96;
    border-bottom: solid 3px #364e96;
}

.gutenberg h3 {
    padding: 10px;
    /*    border-left: 5px solid #FF9100;*/
}

.gutenberg h4 {
    padding: 10px;
    border-bottom: dashed 2px #FF9100;
}


/*LIST(通常)　*/
section .gutenberg ul {
    padding: .3em .8em;
    width: 100%;
}

section .gutenberg ul li {
    list-style-type: disc;
    margin: 0 0 8px 1em;
    padding: 0 .5em 0 2em;
}


/*LIST(カウント)　*/
.gutenberg ol {
    padding: 5px 20px;
    counter-reset: number;
    list-style-type: none !important;
    padding: 0.3em 0.8em;
    /*    border: solid 2px #ffb107;*/
    width: 100%;
}

.gutenberg ol li {
    border-bottom: dashed 1px orange;
    position: relative;
    padding: 0.5em 0.5em 0.5em 30px;
    line-height: 1.5em;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.gutenberg ol li::before {
    position: absolute;
    counter-increment: number;
    content: counter(number);
    display: inline-block;
    background: #ffb107;
    color: white;
    font-family: 'Avenir', 'Arial Black', 'Arial', sans-serif;
    font-weight: bold;
    font-size: 15px;
    border-radius: 50%;
    left: 0;
    width: 25px;
    height: 25px;
    line-height: 25px;
    text-align: center;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}


/*TABLE*/
.gutenberg table.wp-block-table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0px;
}


.gutenberg table.wp-block-table tr {
    /*
    border-width: 0 0 1px 0;
    border-style: dashed;
    border-color: #8bbaf0;
*/
}

/*
.gutenberg table.wp-block-table th {
    font-weight: bold;
    color: #006cba;
    width: 18%;
    background: none;
    border: none;
}
*/

.gutenberg table.wp-block-table td {
    /*    border: none;*/
}



/*
.gutenberg table.wp-block-table th {
    background-color: #31a783;
    border: solid 1px #148665;
    font-weight: bold;
    padding: 10px 20px;
    color: #fff;
    width: 18%;

}
*/

.gutenberg table.wp-block-table td {
    border-top: solid 1px #666;
    border-bottom: solid 1px #666;
    border-left: solid 1px #666;
    border-right: solid 1px #666;
    margin: 0;
    padding: 10px 20px;
}

@media(max-width:767.98px) {
    .gutenberg table.wp-block-table td {
        /*                border-top: 0;*/
        border-bottom: 0;
        padding: 10px;
        /*        text-align: center;*/
    }

    .gutenberg table.wp-block-table th,
    .gutenberg table.wp-block-table td {
        display: block;
    }

    .gutenberg table.wp-block-table tbody th {
        border-bottom: 0;
        display: inline-block;
    }

    .gutenberg table.wp-block-table td {
        /*        border: solid 1px #666;*/
        margin: 0;
        padding: 10px;
    }

    .gutenberg table.wp-block-table td:last-child {
        border-bottom: solid 1px #666;
        margin-bottom: 10px;
    }

    .gutenberg table.wp-block-table th {
        width: 100%;
    }

}

/*******************************
/* コンテンツ
*******************************/

.pc-none {
    display: none;
}

.sp-none {
    /*    display: block;*/
}

/*******************************
/* ドロワー　（サイドスライドイン）
*******************************/
.smp-area {
    display: none;
}

.drawer_tel-area {
    padding: 15px 30px;
    margin: 0 auto;
}

/* drawer menu */
.drawer-menu {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    position: fixed;
    overflow-y: scroll;
    top: 0;
    right: 0;
    width: 75%;
    height: 100%;
    padding: 5%;
    background-color: #002868;
    -webkit-transition-property: all;
    transition-property: all;
    -webkit-transition-duration: .5s;
    transition-duration: .5s;
    -webkit-transition-delay: 0s;
    transition-delay: 0s;
    -webkit-transform-origin: right center;
    transform-origin: right center;
    -webkit-transform: perspective(500px) rotateY(-90deg);
    transform: perspective(500px) rotateY(-90deg);
    opacity: 0;
}

.drawer-menu ul {
    list-style-type: none;
}

.drawer-menu li {
    text-align: center;

    margin-bottom: 5px;
}

.drawer-menu li a {
    display: block;
    /*    height: 40px;*/
    height: auto;
    line-height: 40px;
    font-size: 1.4rem;
    color: #fff;
    -webkit-transition: all .8s;
    transition: all .8s;
    font-weight: bold;
    /*    border: 5px solid #002868;*/
    /*    margin-bottom: 2%;*/
    /*    border-radius: 5px;*/
    border: dotted 1px #fff;
    padding: 0;
    margin: 0;
}

.drawer-menu li a:hover {
    color: #002868;
    background: #fff;
    /*    border: 5px solid #770827;*/
    margin-bottom: 0;
    /*    color: #770827;*/
    font-weight: bold;
    font-size: 1.8rem;
    border: dotted 1px #fff;
}

/* checkbox */
.check {
    display: none;
}

/* menu button - label tag */
.menu-btn {
    position: fixed;
    display: block;
    top: 0px;
    right: 0px;
    display: block;
    width: 60px;
    height: 60px;
    font-size: 10px;
    text-align: center;
    cursor: pointer;
    z-index: 2000;
    background-color: #002868;
    border-radius: 0 0 0px 10px;
}

.bar {
    position: absolute;
    top: 15%;
    left: 15%;
    display: block;
    width: 40px;
    height: 3px;
    background: #FFF;
    -webkit-transition: all .5s;
    transition: all .5s;
    -webkit-transform-origin: left top;
    transform-origin: left top;
}

.bar.middle {
    top: 21px;
    opacity: 1;
}

.bar.bottom {
    top: 32px;
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
}

.menu-btn__text {
    position: absolute;
    bottom: 5px;
    left: 0;
    right: 0;
    margin: auto;
    color: #FFF;
    -webkit-transition: all .5s;
    transition: all .5s;
    display: block;
    visibility: visible;
    opacity: 1;
}

.menu-btn:hover .bar {
    background: #999;
}

.menu-btn:hover .menu-btn__text {
    color: #999;
}

.close-menu {
    position: fixed;
    top: 0;
    right: 5%;
    width: 100%;
    height: 100vh;
    background: rgba(0, 0, 0, 0);
    cursor: url(http://theorthodoxworks.com/demo/images/cross.svg), auto;
    -webkit-transition-property: all;
    transition-property: all;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-delay: 0s;
    transition-delay: 0s;
    visibility: hidden;
    opacity: 0;
}

/* checked */
.check:checked ~ .drawer-menu {
    -webkit-transition-delay: .3s;
    transition-delay: .3s;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
    z-index: 2500;
}

.check:checked ~ .contents {
    -webkit-transition-delay: 0s;
    transition-delay: 0s;
    -webkit-transform: translateX(-300px);
    transform: translateX(-300px);
}

.check:checked ~ .menu-btn .menu-btn__text {
    visibility: hidden;
    opacity: 0;
}

.check:checked ~ .menu-btn .bar.top {
    width: 56px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.check:checked ~ .menu-btn .bar.middle {
    opacity: 0;
}

.check:checked ~ .menu-btn .bar.bottom {
    width: 56px;
    top: 40px;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

.check:checked ~ .close-menu {
    -webkit-transition-duration: 1s;
    transition-duration: 1s;
    -webkit-transition-delay: .3s;
    transition-delay: .3s;
    background: rgba(0, 0, 0, .5);
    visibility: visible;
    opacity: 1;
    z-index: 3;
}


.navbar-toggle .small {
    margin-top: -2px;
    display: block;
    width: 100%;
}

.navbar-toggle {
    padding: 9px 10px 4px;
}

.container ul.nav li {
    background-image: none;
}


.navbar-toggle .small {
    margin-top: -2px;
    display: block;
    width: 100%;
}

.navbar-toggle {
    padding: 9px 10px 4px;
}

.container ul.nav li {
    background-image: none;
}

/*******************************
メイン画像
*******************************/

.mainimg {
    text-align: center;
    padding: 0px 0 0px;
    overflow: hidden;
}

/************************************
TOP
************************************/
.home #block01 {
    margin-bottom: 60px;
}

.home #block01 p {
    margin: 0;
}

.home #block01 .box01 {
    border: solid 10px #ffc21e;
    background-color: #fff;
}

.home #block01 .box02 {
    border: solid 10px #24b627;
    background-color: #fff;
}

.home #block01 .box02 h2 {
    font-size: 3rem;
    text-align: center;
    background-color: #24b627;
    color: #fff;
    padding: 10px 10px 15px;
}

.home #block01 .box02 h2 span {
    font-size: 1.8rem;
    display: block;
}

.home #block01 .box03 {
    border: solid 10px #c81d1d;
    background-color: #fff;

}

.home #block01 .box01,
.home #block01 .box03 {
    height: auto;
    margin-bottom: 15px;
    padding: 2%;
}

.home #block01 .box02 {
    height: auto;
    margin-bottom: 15px;
    padding: 0;
}

.home #block01 .box01 h2,
.home #block01 .box03 h2 {
    text-align: center;
}

.home #block01 .box01 h2 {
    font-size: 3.8rem;
    font-weight: bold;
    padding-top: 2%;
    color: #d09e18;
}

.home #block01 .box01 h2 span {
    font-size: 2rem;
    display: block;
}

.home #block01 .box03 h2 {
    font-size: 3.8rem;
    font-weight: bold;
    padding-top: 2%;
    color: #0e3774;
}

.home #block01 .box03 h2 span {
    font-size: 2rem;
    display: block;
}

.home .tp-class-select {
    background: url(images/cnt-bg01.png) top center no-repeat;
    background-size: cover;
    padding: 50px;
}

.home .tp-class-select h2 {
    color: #fff82d;
    text-align: center;
    margin-bottom: 50px;
    font-size: 7.5rem;
    font-weight: bold;
}

.home .tp-class-select h2 span {
    font-size: 11rem;
}

.home .tp-class-select h4 {
    font-weight: bold;
    text-align: center;
    font-size: 1.8rem;
}

.home .tp-class-area {
    background: url(images/cnt-bg02.png) top center no-repeat;
    background-size: cover;
    padding: 50px;
    color: #fff;
}

.tp-class-area h3 {
    color: #ffde00;
    font-size: 4rem;
    margin-top: 2em;
}

.tp-class-area p.english_txt {
    padding: 15px 0;
    font-size: 2.3rem;
}

.home .tp-staff-area {
    background: url(images/cnt-bg03.png) top center no-repeat;
    background-size: cover;
    padding: 50px;
    color: #fff;
}

.tp-staff-area a {
    color: #fff;
}

.tp-staff-area h3 {
    font-size: 3.5rem;
}

.tp-staff-area p.english_txt {
    padding: 15px 0;
    font-size: 2.3rem;
}

.tp-staff-area .tp-staff_img {
    text-align: center;
    margin: 30px 0;
}

.tp-staff-area .tp-staff_img img {
    border: solid 5px #fff;
    border-radius: 50%;
}

.tp-staff-area a:hover .tp-staff_img img {
    opacity: 1;
}

.home .tp-topics-area {
    border: solid 20px #008ad2;
    background: url(images/cnt-bg_topics.png) top center no-repeat;
    padding: 50px;
}

.home .tp-footer-area {
    background: url(images/cnt-bg04.png) top center no-repeat;
    background-size: cover;
    padding: 50px;
}

footer .wp_social_bookmarking_light div.wsbl_twitter {
    width: auto;
}

.tp-bus_box,
.tp-welteach_box {
    border-radius: 10px;
}

.tp-bus_box {
    background-color: #ffde00;
    color: #664b05;
    padding: 30px;
}

.tp-bus_box h3 {
    font-size: 2.2rem;
}

.tp-bus_box h3.ttl01 {
    color: #000;
    margin-bottom: 20px;
}

.tp-bus_box .japanese_txt02 {
    color: #664b05;
    font-weight: bold;
}

.tp-bus_box .english_txt02 {
    color: #000;
    font-weight: bold;
}

.tp-bus_box .btn-area01 {
    margin: 15px 0 25px;
}

.tp-bus_box .btn-area01 .btn_a a {
    font-weight: 600;
    font-size: 1.6rem;
    color: #fff;
    border: solid 5px #FFF;
    border-radius: 15px;
    width: 60%;
    padding: 1.5%;
    display: block;
    margin: 0 auto;
}

.bus-position01 {
    max-width: 120%;
    margin-left: -20%;
}

.tp-welteach_box {
    background-color: #003bc0;
    color: #fff;
    padding: 22px;
}

.tp-welteach_box .welteach_bg {
    background: url(images/welteach_bg01.png) bottom right no-repeat;
    min-height: 452px;
}

.tp-welteach_box h3 {
    font-size: 3.5rem;
}

.tp-welteach_box .english_txt01 {
    padding: 10px 0;
    font-size: 2.3rem;
    font-weight: bold;
    color: #fbff00;
}

.tp-welteach_box .japanese_txt02 {
    color: #fff;
    font-weight: bold;
}

.tp-welteach_box .english_txt02 {
    color: #fbff00;
    font-weight: bold;
}


.regular-box,
.junior-box,
.general-box,
.advance-box {
    margin-bottom: 15px;
}

.tp-class-area h2,
.tp-staff-area h2,
.tp-topics-area h2 {
    margin-bottom: 30px;
    display: inline-block;
}

.home .regular-box {
    background-color: #f9e103;
    border-radius: 15px;
    padding: 20px;
}

.home .regular-box h3 {
    background-color: #deb701;
    text-align: center;
    color: #fff;
    padding: 10px;
    border-radius: 50px;
    font-size: 1.8rem;
}

.home .junior-box {
    background-color: #ff678e;
    border-radius: 15px;
    padding: 20px;
    color: #fff;
}

.home .junior-box h3 {
    background-color: #e80c26;
    text-align: center;
    color: #fff;
    padding: 10px;
    border-radius: 50px;
    font-size: 1.8rem;
}

.home .general-box {
    background-color: #008ad3;
    border-radius: 15px;
    padding: 20px;
    color: #fff;
}

.home .general-box h3 {
    background-color: #002a80;
    text-align: center;
    color: #fff;
    padding: 10px;
    border-radius: 50px;
    font-size: 1.8rem;
}

.home .advance-box {
    background-color: #94b331;
    border-radius: 15px;
    padding: 20px;
    color: #fff;
}

.home .advance-box h3 {
    background-color: #667b22;
    text-align: center;
    color: #fff;
    padding: 10px;
    border-radius: 50px;
    font-size: 1.8rem;
}


.top-class-img {
    margin: 15px 0 15px;
}

.top-class-img img {
    border-radius: 15px;
}

/*****TOP レギュラー　BTN******/
.home .regular-box .btn01 {
    width: 100%;
    /*    height: 50px;*/
    border: 5px solid #deb701;
    background-color: #fff;
    text-align: center;
    cursor: pointer;
    position: relative;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    overflow: hidden;
    margin: 0;
    font-weight: bold;
}

.home .regular-box .btn01 a {
    font-family: arial;
    font-size: 1.8rem;
    color: #deb701;
    text-decoration: none;
    line-height: 50px;
    -webkit-transition: all .5s ease;
    transition: all .5s ease;
    z-index: 2;
    position: relative;
}

.home .regular-box .eff-4 {
    width: 100%;
    height: 50px;
    color: #fff;
    /*    border: 5px solid #fff;*/
    left: -100%;
    background: #deb701;
    position: absolute;
    -webkit-transition: all .5s ease;
    transition: all .5s ease;
    z-index: 1;
}

.home .regular-box .btn01:hover .eff-4 {
    left: 0;
}

.home .regular-box .btn01:hover a {
    color: #fff;
}

/*****TOP Junior　BTN******/
.home .junior-box .btn01 {
    width: 100%;
    /*    height: 50px;*/
    border: 5px solid #e80c26;
    background-color: #fff;
    text-align: center;
    cursor: pointer;
    position: relative;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    overflow: hidden;
    margin: 0;
    font-weight: bold;
}

.home .junior-box .btn01 a {
    font-family: arial;
    font-size: 1.8rem;
    color: #e80c26;
    text-decoration: none;
    line-height: 50px;
    -webkit-transition: all .5s ease;
    transition: all .5s ease;
    z-index: 2;
    position: relative;
}

.home .junior-box .eff-4 {
    width: 100%;
    height: 50px;
    color: #fff;
    /*    border: 5px solid #fff;*/
    left: -100%;
    background: #e80c26;
    position: absolute;
    -webkit-transition: all .5s ease;
    transition: all .5s ease;
    z-index: 1;
}

.home .junior-box .btn01:hover .eff-4 {
    left: 0;
}

.home .junior-box .btn01:hover a {
    color: #fff;
}

/*****TOP general　BTN******/
.home .general-box .btn01 {
    width: 100%;
    /*    height: 50px;*/
    border: 5px solid #002a80;
    background-color: #fff;
    text-align: center;
    cursor: pointer;
    position: relative;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    overflow: hidden;
    margin: 0;
    font-weight: bold;
}

.home .general-box .btn01 a {
    font-family: arial;
    font-size: 1.8rem;
    color: #002a80;
    text-decoration: none;
    line-height: 50px;
    -webkit-transition: all .5s ease;
    transition: all .5s ease;
    z-index: 2;
    position: relative;
}

.home .general-box .eff-4 {
    width: 100%;
    height: 50px;
    color: #fff;
    /*    border: 5px solid #fff;*/
    left: -100%;
    background: #002a80;
    position: absolute;
    -webkit-transition: all .5s ease;
    transition: all .5s ease;
    z-index: 1;
}

.home .general-box .btn01:hover .eff-4 {
    left: 0;
}

.home .general-box .btn01:hover a {
    color: #fff;
}

/*****TOP advance　BTN******/
.home .advance-box .btn01 {
    width: 100%;
    /*    height: 50px;*/
    border: 5px solid #667b22;
    background-color: #fff;
    text-align: center;
    cursor: pointer;
    position: relative;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    overflow: hidden;
    margin: 0;
    font-weight: bold;
}

.home .advance-box .btn01 a {
    font-family: arial;
    font-size: 1.8rem;
    color: #667b22;
    text-decoration: none;
    line-height: 50px;
    -webkit-transition: all .5s ease;
    transition: all .5s ease;
    z-index: 2;
    position: relative;
}

.home .advance-box .eff-4 {
    width: 100%;
    height: 50px;
    color: #fff;
    /*    border: 5px solid #fff;*/
    left: -100%;
    background: #667b22;
    position: absolute;
    -webkit-transition: all .5s ease;
    transition: all .5s ease;
    z-index: 1;
}

.home .advance-box .btn01:hover .eff-4 {
    left: 0;
}

.home .advance-box .btn01:hover a {
    color: #fff;
}


/************************************
TOP 通常ボタン
************************************/

.btn-area01 {
    text-align: center;
    margin: 50px 0;
}

.btn-area01 .btn_a a {
    font-weight: 600;
    font-size: 2.8rem;
    color: #fff;
    border: solid 5px #FFF;
    border-radius: 15px;
    width: 60%;
    padding: 20px;
    display: block;
    margin: 0 auto;
}

.btn-area01 .btn_a a:hover {
    color: #deb701;
    border: solid 5px #deb701;
    background-color: #fff;
}

.tp-class-area .btn-area01 .btn_a a {
    width: 100%;
}

/************************************
TOP 通常ボタンエフェクト
************************************/
/* 画像エフェクト(ヘッダー関連) */
/*LOGO*/

/*IMG画像*/
ul.img-position li a:hover img {
    opacity: 1;
}

.rotate_z:hover img {
    -webkit-transform: rotate(-2deg);
    transform: rotate(-2deg);
}

.rotate_z02:hover img {
    -webkit-transform: rotate(-2deg);
    transform: rotate(-2deg);
}

.rotate_z03:hover img {
    -webkit-transform: rotate(-2deg);
    transform: rotate(-2deg);
}

.rotate_z04:hover img {
    -webkit-transform: rotate(-2deg);
    transform: rotate(-2deg);
}

.rotate_z05:hover img {
    -webkit-transform: rotate(-2deg);
    transform: rotate(-2deg);
}


/* 画像エフェクト(ナビ) */

.rotate-anime:hover {
    -webkit-animation: rotate-anime-y 3s linear infinite;
    animation: rotate-anime-y 3s linear infinite;
}

@-webkit-keyframes rotate-anime-y {
    0% {
        -webkit-transform: rotateY(0);
        transform: rotateY(0);
    }

    100% {
        -webkit-transform: rotateY(360deg);
        transform: rotateY(360deg);
    }
}

@keyframes rotate-anime-y {
    0% {
        -webkit-transform: rotateY(0);
        transform: rotateY(0);
    }

    100% {
        -webkit-transform: rotateY(360deg);
        transform: rotateY(360deg);
    }
}

.rotate-anime a:hover img {
    opacity: 1;
}


/* 上下に動くエフェクト */
#button-13 {
    -webkit-font-smoothing: antialiased;
}

#button-13:hover {
    -webkit-animation: wobbleud 0.5s linear infinite;
    animation: wobbleud 0.5s linear infinite;
}

@-webkit-keyframes wobbleud {
    0% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }

    25% {
        -webkit-transform: translateY(-5px);
        transform: translateY(-5px);
    }

    75% {
        -webkit-transform: translateY(5px);
        transform: translateY(5px);
    }

    100% {
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }
}

@keyframes wobbleud {
    0% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }

    25% {
        -webkit-transform: translateY(-5px);
        transform: translateY(-5px);
    }

    75% {
        -webkit-transform: translateY(5px);
        transform: translateY(5px);
    }

    100% {
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }
}

/************************************
TOP 投稿エリア
************************************/
.tp-info-box,
.tp-bullentin-box {
    background-color: #fff;
    border-radius: 5px;
    padding: 25px;

}

.tp-info-box {
    -webkit-box-shadow: 10px 10px #00507a;
    box-shadow: 10px 10px #00507a;
}

.tp-info-box h3 {
    border-bottom: solid 3px #0093e0;
    display: block;
    padding: 0 0 15px;
}


.tp-bullentin-box {
    -webkit-box-shadow: 10px 10px #045b0a;
    box-shadow: 10px 10px #045b0a;
}

.tp-bullentin-box h3 {
    border-bottom: solid 3px #068b0f;
    display: block;
    padding: 0 0 15px;
}


.tp-info-color {
    background-color: #00507a;
}

.tp-bullentin-color {
    background-color: #068b0f;
}

.tp-info-btn a {
    width: 40%;
    padding: 8px 30px;
    /*    background-color: #FFF;*/
    color: #FFF;
    display: block;
    text-align: center;
    font-weight: 800;
    margin: 0;
    position: relative;
}

.tp-info-btn a:hover {
    opacity: 0.7;
}

.tp-info-btn a::before {
    font-size: 2rem;
    font-family: "Font Awesome 5 Free";
    content: "\f101";
    margin: 0;
    position: absolute;
    top: 5px;
    left: 15px;
    color: #FFF;
}


dl.tp_topics_feed {
    padding: 10px 20px;
}

dl.tp_topics_feed dd {
    margin-bottom: 0.7em;
}

dl.tp_topics_feed dd a {
    font-size: 1.5rem;
    color: #3aa9e6;
    font-weight: 600;
}


/*************************
/* ボックス
*************************/

.box01 {
    border: solid 1px #666;
}


/* カテゴリー一覧用 */

.cat-name {
    display: inline-block;
    margin-right: 1em;
    padding: 2px 8px;
    width: 80px;
    text-align: center;
    font-size: 1.3rem;
    color: #fff;
    font-weight: normal;
    border-radius: 2px;
    background-color: #e85e73;
}

.cat-name.news-c {
    background-color: #8ac1c0;
}

.cat-name.blog-c {
    background-color: #ab839a;
}

.cat-name.info-c {
    background-color: #c2a700;
}

.cat-name.rec-c {
    background-color: #91af63;
}

.cat-name.item-c {
    background-color: #59a8d6;
}


/*******************************
/* LINK BTN　リンクボタン
*******************************/
.mail-link_btn a {
    background-color: #4392e2;
    text-align: center;
    color: #fff;
    display: block;
    border-radius: 5px;
    padding: 15px;
    font-weight: 800;
    font-size: 3rem;
    /*    width: 80%;*/
    margin: 0 auto;
}

.mail-link_btn a::before {
    font-size: 3rem;
    font-family: "Font Awesome 5 Free";
    content: "\f0e0";
    margin: 0;
    top: 0px;
    position: relative;
    left: -10px;
    color: #FFF;
    font-weight: 800;
}



.tel-link_btn a {
    background-color: #990000;
    text-align: center;
    color: #fff;
    display: block;
    border-radius: 5px;
    padding: 15px;
    font-weight: 800;
    font-size: 3rem;
    /*    width: 80%;*/
    margin: 0 auto;
}


.tel-link_btn a::before {
    font-size: 3rem;
    font-family: "Font Awesome 5 Free";
    content: "\f098";
    margin: 0;
    top: 0px;
    position: relative;
    left: 0px;
    color: #FFF;
    font-weight: 800;
}

.hd-mail-link_btn a {
    background-color: #4392e2;
    text-align: center;
    color: #fff;
    display: block;
    border-radius: 5px;
    padding: 5px 15px;
    font-weight: 800;
    font-size: 1.6rem;
    /*    width: 80%;*/
    margin: 5px auto 0;
}


.hd-mail-link_btn a::before {
    font-size: 1.6rem;
    font-family: "Font Awesome 5 Free";
    content: "\f0e0";
    margin: 0;
    top: 0px;
    position: relative;
    left: 0px;
    color: #FFF;
    font-weight: 800;
}

.hd-tel-link_btn a::before {
    font-size: 1.6rem;
    font-family: "Font Awesome 5 Free";
    content: "\f098";
    margin: 0;
    top: 0px;
    position: relative;
    left: 0px;
    color: #FFF;
    font-weight: 800;
}

.hd-tel-link_btn a {
    background-color: #f39800;
    text-align: center;
    color: #fff;
    display: block;
    border-radius: 5px;
    padding: 5px 15px;
    font-weight: 800;
    font-size: 1.6rem;
    /*    width: 80%;*/
    margin: 5px auto 0;
}


.mail-link_btn a:hover,
.tel-link_btn a:hover,
.link_btn01 a:hover,
.link_btn02 a:hover {
    opacity: 0.7;
}


/*******************************
/* カラー
*******************************/

.bg-fff {
    background-color: #FFF;
}

.bg-f4f4f4 {
    background-color: #f4f4f4;
}

/*******************************
/* margin/padding
*******************************/

.ml15 {
    margin-left: 15px;
}

.ml-auto01 {
    margin-left: auto;
}

/*******************************
/* 長さ
*******************************/
.wid100 {
    width: 100%;
}

/*******************************
// 投稿・固定ページ編集用装飾
*******************************/
#post-page {}

/*******************************
/* MAP
*******************************/
.google_map {
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 45%;
}

.google_map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/*******************************
// Extra small devices (portrait phones, less than 450px)
*******************************/

@media(max-width:449.98px) {
    .google_map {
        padding-top: 65%;
    }
}


/* tag */

.tagArea {
    border-bottom: 1px dotted #ccc;
    background: #efefef;
    border-radius: 4px;
    color: #ddd;
    font-size: 1.1rem;
    margin-top: 4%;
    padding: 2% 0;
}

.tag {
    padding: 2px 5px;
    margin: 0 10px;
    color: #999;
    border-radius: 4px;
}

#date {
    text-align: right;
    padding-right: 5px;
    padding-top: 15px;
    padding-bottom: 10px;
    color: #858585;
}

#date a {
    color: #858585;
    text-decoration: none;
}

#date a:hover {
    color: #efefef;
    text-decoration: none;
}

#date a:active,
a:focus {
    outline: 0;
}

#next {
    clear: both;
    text-align: center;
    padding-top: 30px;
    padding-bottom: 30px;
}

.box_img_border {
    border: 1px solid #cccccc;
    padding: 1px;
    margin: 1px;
}

/* パンくずリスト */

.breadcrumbs_area {
    clear: both;
    font-size: 1.1rem;
    padding: 2%;
    background: #faf2f2;
    border: 1px solid #efefef;
    border-radius: 7px;
    -webkit-border-radius: 7px;
    -moz-border-radius: 7px;
    -ms-border-radius: 7px;
    -o-border-radius: 7px;
}

ul.bread_crumb {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
}

.container ul.bread_crumb li {
    padding: 0 2px;
    background-image: none;
}

.container ul.bread_crumb li:before {
    margin-right: 5px;
    content: ">";
}

.container ul.bread_crumb li.top:before {
    margin-right: 5px;
    content: "";
}

/*************
/* 見出し
*************/

h1,
h2,
h3 {
    font-family: 'Noto Sans Japanese';
    /*    font-family: "Sawarabi Mincho", serif; 明朝*/
}

/*************
/* リスト
*************/

.container ul {
    margin-left: 5px;
}

section ul li,
.footerUpper ul li {
    list-style: none;
    margin: 0 0 8px 0em;
    padding: 0 .5em 0 1em;
    /*    text-indent: -2em;*/
    /*    background: url(images/bullet.gif) no-repeat 0 5px;*/
}

.navbar .container ul,
.navbar .container ul li {
    margin: auto;
    padding: 0;
    list-style: none;
}

.navbar-nav > li > a {
    margin-top: 0;
}

.footer-nav li {
    padding: 25px 10px 14px 0;
    list-style: none;
    display: block;
    font-size: 1.3rem;
}

.footer-nav li:before {
    /*    padding-left: 10px;*/
    /*    content: "|";*/
    color: #fff;
}

.footer-nav li:last-child:after {
    content: none;
}


ul.list001 li {
    margin-left: 2em;
    margin-bottom: 10px;
}

/*************
/* リスト文
*************/

/**リスト(カウント)*/

ol.count {
    padding: 5px 20px;
    counter-reset: number;
    list-style-type: none !important;
    padding: 0.3em 0.8em;
    border: solid 2px #ffb107;
    width: 100%;
}

ol.count li {
    border-bottom: dashed 1px orange;
    position: relative;
    padding: 0.5em 0.5em 0.5em 30px;
    line-height: 1.5em;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

ol.count li::before {
    position: absolute;
    counter-increment: number;
    content: counter(number);
    display: inline-block;
    background: #ffb107;
    color: white;
    font-family: 'Avenir', 'Arial Black', 'Arial', sans-serif;
    font-weight: bold;
    font-size: 15px;
    border-radius: 50%;
    left: 0;
    width: 25px;
    height: 25px;
    line-height: 25px;
    text-align: center;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

/**リスト(カウント)*/

ul.check-box {
    padding: 5px 20px;
    list-style-type: none !important;
    padding: 0.3em 0.8em;
    border: solid 2px #ffb107;
    width: 100%;
    margin: 0;
}

ul.check-box li {
    border-bottom: dashed 1px orange;
    position: relative;
    padding: 0.5em 0.5em 0.5em 30px;
    line-height: 1.5em;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin: 0;

}

ul.check-box li::before {
    font-size: 1.6rem;
    font-family: "Font Awesome 5 Free";
    content: "\f00c";
    margin: 0;
    top: 0;
    position: relative;
    padding-right: 3px;
    padding-left: 8px;
    color: #ffb107;
    font-weight: 800;
}

/***/

ul.flex-2 {
    background-color: #444;
    width: 100%;
    list-style-type: none;
    margin: 0;
}

ul.flex-2 li {
    max-width: 580px;
    width: 48%;
    position: relative;
    background-color: #eeeeee;
    /*    border-radius: 20px;*/
    margin: 1%;
    text-indent: 0;
    padding: 0 0em 0 0em;
    /*    background: url(none);*/
}

@media(max-width:767.98px) {

    ul.flex-2,
    ul.flex-2 li {
        display: block;
        margin: 2rem auto;
        width: 100%;
    }
}

/*　FAQ　*/

dl.faq dt,
dl.faq dd {
    padding: 5px 0 5px 50px;
}

dl.faq dt {
    font-size: 1.6rem;
    font-weight: normal;
    color: #d6746b;
    background: url(images/icon_q.png) 0 50% no-repeat;
}

dl.faq dd {
    margin-bottom: 40px;
    padding-bottom: 20px;
    border-bottom: 1px dotted #ccc;
    background: url(images/icon_a.png) 0 50% no-repeat;
}

/*******************************
/* MAP
*******************************/
.google_map {
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 45%;
}

.google_map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/*******************************
// Extra small devices (portrait phones, less than 450px)
*******************************/

@media(max-width:449.98px) {
    .google_map {
        padding-top: 65%;
    }
}



/*　会社概要のリスト　*/

dl.company {
    margin: 10px 0 20px 10px;
    border-bottom: 1px dotted #ccc;
}

dl.company dt {
    clear: left;
    float: left;
    margin: 0 0 0.8em;
    width: 10em;
    border-left: solid 4px #6b9dbc;
    border-top: 1px dotted #ccc;
    padding: 10px 0 10px 10px;
    font-weight: bold;
}

dl.company dd {
    margin-bottom: 0.8em;
    margin-left: 7.5em;
    padding: 10px 0 10px;
    border-top: 1px dotted #ccc;
    overflow: hidden;
}

/*　個人情報保護のリスト　*/

dl.list dt {
    padding-bottom: 0.5em;
    margin-top: 1em;
    width: 100%;
    border-bottom: dotted 1px #505050;
    font-weight: bold;
    color: #669;
}

dl.list dd {
    margin: 0.5em 0 2em;
}


/*　topix　*/

dl.topix {
    margin-bottom: 30px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

dl.topix dt {
    padding: 1% 1.5%;
    width: 18%;
    color: #8ec661;
    display: inline-block;
    font-weight: normal;
}

dl.topix dd {
    padding: 1% 1.5%;
    margin-bottom: 0;
    width: 82%;
    display: inline-block;
}

.dl-horizontal dt {
    padding: 15px;
    text-align: left;
}

.dl-horizontal dd {
    margin-left: 0;
}

.dl-horizontal dd:nth-of-type(2n+1),
.dl-horizontal dt:nth-of-type(2n+1) {
    background: #f9f2f2;
}

dl.topix a {
    color: #252525;
    text-decoration: none;
}

dl.topix a:hover {
    color: #ddd;
    text-decoration: none;
}

dl.topix a:active,
a:focus {
    outline: 0;
}

/*************
マージン・パディング
*************/
.pd10 {
    padding: 10px;
}

.pb10 {
    padding-bottom: 10px;
}

.pb60 {
    padding-bottom: 60px;
}

.mt10 {
    margin-top: 10px;
}

.mt30 {
    margin-top: 30px;
}

.mb10 {
    margin-bottom: 10px;
}

.mb30 {
    margin-bottom: 30px;
}

.mb50 {
    margin-bottom: 50px;
}

.pd-tb-60 {
    padding-top: 60px;
    padding-bottom: 60px;
}

/*************
サイド（右側）コンテンツ
*************/

aside p {
    margin-bottom: 20px;
}

aside ul {
    margin-bottom: 10px;
}

aside li a {
    display: block;
}

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

aside .sidemenu {
    width: auto;
    margin: 0 0 20px;
    padding: 15px 0 0 0;
    border-left: 2px solid #f3f3f3;
    border-right: 2px solid #f3f3f3;
    border-bottom: 2px solid #f3f3f3;
}

.sidemenu ul li {
    list-style: none;
    line-height: 32px;
    padding: 5px 5px 10px 35px;
    border-bottom: 1px dotted #dddddd;
    background: url(images/side_bullet.gif) no-repeat 10px 40%;
}

.sidemenu ul {
    margin-bottom: 0;
    margin-left: 0;
}

.sidemenu .side_last {
    border-bottom: none;
    padding: 5px 5px 0 35px;
}

.sidemenu .side_last {
    background: url(images/side_bullet.gif) no-repeat 10px 55%;
}

.sidemenu a {
    color: #252525;
    text-decoration: none;
}

.sidemenu a:hover {
    color: #999;
    text-decoration: none;
}

.sidemenu a:active,
a:focus {
    outline: 0;
    text-decoration: none;
}

/*******************************
/* フッター
*******************************/
footer {
    background: url(images/footer-bg.png) top left no-repeat;
    background-size: cover;
}


.footerUpper {
    font-size: 1.1rem;
    clear: both;
    padding: 20px 0;
    border-bottom: 1px solid #5d5d5d;
    overflow: hidden;
    /*    background: #f6f6f6;*/
}

.footerUpper ul li {
    /*
    color: #fff;
    background: url(images/bullet.gif) no-repeat 0 3px;
*/
}

.footerLower {
    padding: 10px;
    text-align: center;
    background: #1d2088;
}

address {
    margin-bottom: 0;
    color: #fff;
    font-style: normal;
    font-size: 1.3rem;
}

.footerLower a {
    color: #fff;
    text-decoration: none;
}

.footerLower a:hover {
    color: #fff;
    text-decoration: none;
}

.footerLower a:active,
a:focus {
    outline: 0;
}

ul.footer-nav div ul li {
    font-weight: 800;
    font-size: 1.6rem;
}

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

ul.footer-nav div ul li a:hover {
    opacity: 0.7;
}

ul.footer-nav div ul li > ul.sub-menu li {
    font-weight: normal;
    font-size: 1.4rem;
    padding: 0;
    line-height: 1.8;
    margin: 0;
}


/*************
テーブル
*************/

table {
    border-collapse: collapse;
    color: #555;
    width: 100%;
}

table,
th,
td {
    color: #555;
    text-align: left;
    margin: 0 20px 20px 0px;
}

td,
th {
    padding: 10px 5px;
    border: 1px solid #dddddd;
}

th {
    width: 30%;
    font-weight: normal;
}

.home table.custom01 {
    font-size: 1.3rem;
    margin: 0;
}

.home table.custom01 tr {
    border-width: 1px;
}

.home table.custom01 th {
    width: 25%;
}

.home table.custom01 td {
    width: 75%;
    padding: 10px 0 10px 15px;
}

#form table.custom01 {
    font-size: 1.4rem;
}

#form table.custom01 th {
    width: 40%;
}

#form table.custom01 td {
    width: 60%;
}

table.custom01 {
    /*    width: 100%;*/
    border-collapse: collapse;
}

table.custom01 tr {
    border-bottom: solid 2px white;
}

table.custom01 tr:last-child {
    border-bottom: none;
}

table.custom01 th {
    position: relative;
    text-align: left;
    width: 30%;
    background-color: #274485;
    color: white;
    text-align: center;
    padding: 10px 0;
    border: 0;
}

table.custom01 th:after {
    display: block;
    content: "";
    width: 0px;
    height: 0px;
    position: absolute;
    top: calc(50% - 10px);
    right: -10px;
    border-left: 10px solid #274485;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
}

table.custom01 td {
    text-align: left;
    width: 70%;
    /*    text-align: center;*/
    background-color: #eee;
    padding: 10px 0 10px 25px;
    border: 0;
}

table.custom01 td.custom0a {
    text-align: left;
    width: 50%;
    /*    text-align: center;*/
    background-color: #eee;
    padding: 10px 0 10px 25px;
}

table.custom01 td.custom0b {
    /*    text-align: left;*/
    width: 20%;
    text-align: center;
    font-weight: bold;
    background-color: #274485;
    color: #fff;
    padding: 10px 0 10px 25px;
}


table.custom01 th.regular {
    background-color: #deb701;
}

table.custom01 th.regular:after {
    border-left: 10px solid #deb701;
}

table.custom01 td.regular {
    background-color: #f9f4c9;
}

table.custom01 th.junior {
    background-color: #e80c26;
}

table.custom01 th.junior:after {
    border-left: 10px solid #e80c26;
}

table.custom01 td.junior {
    background-color: #fcdfe7;
}

table.custom01 th.general {
    background-color: #002a80;
}

table.custom01 th.general:after {
    border-left: 10px solid #002a80;
}

table.custom01 td.general {
    background-color: #eee;
}

table.custom01 th.advance {
    background-color: #667b22;
}

table.custom01 th.advance:after {
    border-left: 10px solid #667b22;
}

table.custom01 td.advance {
    background-color: #eafde9;
}

table.custom01 td span.mwform-checkbox-field label,
table.custom01 td span.mwform-radio-field label {
    display: block;
}

.mw_wp_form table.custom01 td span.horizontal-item + .horizontal-item {
    margin: 0;
}

#page .mwform-tel-field input[type="text"] {
    width: 25%;
}

#class table.custom01 {
    width: 100%;
    font-size: 1.3rem;
    margin-bottom: 5px;
}

#class table.custom01 th {
    width: 20%;
}

#class table.custom01 td {
    width: 80%;
}





/*************
ギャラリー
*************/
#page dl.gallery-item {
    display: inline-block;
}

#page dl.gallery-item dt {
    margin: 0 2%;
}

/*************
STAFF
*************/

#staff_mainimg img {
    -webkit-box-shadow: 0px 0px 20px -5px rgba(0, 0, 0, 0.9);
    box-shadow: 0px 0px 20px -5px rgba(0, 0, 0, 0.9);
}


/*************
CLASS
*************/
.class_area {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border: dashed 2px #deb701;
    padding: 10px 10px 10px;
    margin: 10px 10px 10px;
}

.class_area01 {
    padding: 10px;
    width: 100%;
}

.class-name {
    margin: 15px 0 0;
    text-align: center;
    font-weight: bold;
}

.class-name a {
    color: #fff;
}

.class-name a:hover {
    color: #ffde00;
}

.home .class-name {
    font-size: 2.5rem;
    padding-right: 10px;
}

.class-name span {
    font-size: 1.8rem;
    padding-left: 10px;
}

#class img.lightbox {
    padding: 8px;
    border-top: 1px solid #ccc;
    border-left: 1px solid #ccc;
    border-bottom: 1px solid #c2c2c2;
    border-right: 1px solid #c2c2c2;

    /* IE */
    -ms-filter: "progid:DXImageTransform.Microsoft.Shadow(color=#cccccc,direction=135,strength=3,enabled=true)";
    filter: progid:DXImageTransform.Microsoft.Shadow(color=#cccccc, direction=135, strength=3, enabled=true);
    /* IE5.5+ */
    background: #fff;
    margin-bottom: 10px;

}

#class_lesson_img img {
    padding: 5px;
}

.door_to_door {
    padding: 15px;

    /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#ffffff+1,fdfdca+100 */
    background: #ffffff;

    /* Old browsers */
    /* FF3.6-15 */
    /* Chrome10-25,Safari5.1-6 */
    background: -webkit-gradient(linear, left top, left bottom, color-stop(1%, #ffffff), to(#fdfdca));
    background: linear-gradient(to bottom, #ffffff 1%, #fdfdca 100%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#fdfdca', GradientType=0);
    /* IE6-9 */
}

/*******************************
/* FONT
*******************************/

.ft-color-red01 {
    color: #CC0000;
}

.ft-color-regular {
    color: #deb701;
}

.ft-color-junior {
    color: #e80c26;
}

.ft-color-general {
    color: #002a80;
}

.ft-color-advance {
    color: #667b22;
}

.f-13 {
    font-size: 1.3rem;
}

.f-18 {
    font-size: 1.8rem;
}

.f-20 {
    font-size: 2.0rem;
}

.f-bold {
    font-weight: bold;
}

/*******************************
/* MW WP Form
*******************************/

.mw_wp_form th {
    vertical-align: middle;
    width: 30%;
}

.mw_wp_form td input,
.mw_wp_form td select,
.mw_wp_form td textarea {
    width: 95%;
    border: solid 1px #999;
}

.mw_wp_form td input[type="checkbox"],
.mw_wp_form td input[type="radio"] {
    width: auto;
    vertical-align: 0;
}

.mw_wp_form th .check {
    color: red;
    font-size: 1.1rem;
}

/*******************************
/* 問い合わせフォーム
*******************************/

/*　フォーム入力欄文字サイズ　*/

input,
select,
textarea {
    padding: 2px;
}

/*　フォーム送信ボタンサイズ　*/

#confirm-button {
    text-align: center;
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
    padding: 10px;
    width: 25%;
}

/*******************************
/* メールフォーム(テンプレ用)
*******************************/
#privacy_mail {
    /*    border: solid 1px #006644;*/
    font-size: 1.3rem;
    padding: 10px;
    background-color: #eafde9;
}

#page #privacy_mail h3 {
    color: #fff;
    text-align: center;
    border-bottom: 5px solid #4f5f1a;
    padding: 10px;
    margin-bottom: 15px;
    display: inline-block;
    font-size: 2rem;
    width: 100%;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
    background: #667b22;
}

#page #privacy_mail h3::before {
    display: none;
}


#page #privacy_mail dl.list dt {
    padding-bottom: .5em;
    margin-top: 1em;
    width: 100%;
    border-bottom: dotted 1px #667b22;
    font-weight: bold;
    color: #4f5f1a;
    font-size: 1.4rem;
}

#privacy_mail ul {
    padding: 10px 0 10px;
}

#privacy_mail ul li {
    margin-left: 1em;

}

#form .form_txt {
    width: 100%;
    font-size: 2.5rem;
    text-align: center;
    color: #dc0f48;
    font-weight: 600;
}

/*******************************
/* ページャー
*******************************/

.pager {
    text-align: center;
    padding: 10%;
}

a.page-numbers,
.pager .current {
    background: rgba(0, 0, 0, 0.02);
    border: solid 1px rgba(0, 0, 0, 0.1);
    border-radius: 5px;
    padding: 5px 8px;
    margin: 0 2px;
}

.pager .current {
    background: rgba(0, 0, 0, 1);
    border: solid 1px rgba(0, 0, 0, 1);
    color: rgba(255, 255, 255, 1);
}

/*******************************
/* SNS BTN
*******************************/

.snsbox {
    padding: 10px 0;
    width: 715px;
    clear: both;
    border-top: 1px dotted #ccc;
}

#main .sns .snsb li {
    float: left;
    margin-right: 10px;
    list-style-type: none;
}

#main .snsb li {
    float: left;
    margin-right: 10px;
    list-style-type: none;
    background-image: none;
}

/*******************************
/* jetpack
*******************************/

#main .contact-form label,
#main div#trust-form.contact-form table th {
    font-weight: normal;
}

/*******************************
/* google map
*******************************/

.ggmap {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 30px;
    height: 0;
    overflow: hidden;
}

.ggmap iframe,
.ggmap object,
.ggmap embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.text-right01 {
    text-align: right;
}

/*******************************
/* topへ戻る
*******************************/

.pagetop {
    display: none;
    position: fixed;
    bottom: 10%;
    right: 5%;
}

.pagetop a {
    display: block;
    width: 50px;
    height: 50px;
    background-color: #333;
    border-radius: 50px;
    text-align: center;
    color: #F4F2F0;
    font-size: 25px;
    text-decoration: none;
    opacity: 0.6;
    filter: alpha(opacity=60);
    -ms-filter: "alpha( opacity=60 )";
}

.pagetop a .glyphicon {
    padding: 3px 0 5px 2px;
    color: #999;
    line-height: inherit;
}

/*******************************
/* リニューアル(装飾)
*******************************/
#page h2 {
    color: #fff;
    border-bottom: 5px solid #770827;
    background-color: #002868;
    margin-bottom: 30px;
    /*    padding: 1.5% 0;*/
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 3rem;
    width: 100%;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
}

#page h2::before {
    content: url(images/page_h2_before.png);
    margin: 0;
    position: relative;
    top: 3px;
    padding-right: 15px;
    padding-left: 5px;
}

#page h2:after {
    content: url(images/page_h2_after.png);
    position: absolute;
    /*    top: 50%;*/
    right: 10px;
    /*    margin-top: -12px;*/
}

#page h2 span {
    color: #f6ff00;
    margin: 0 1%;
}

#page h3 {
    color: #fff;
    border-bottom: 5px solid #002868;
    padding: 15px 0 15px 3em;
    margin-bottom: 20px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 2.5rem;
    width: 100%;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
    /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#1a59a3+0,7387c0+50,1a59a3+100 */
    background: #1a59a3;
    /* Old browsers */
    /* FF3.6-15 */
    /* Chrome10-25,Safari5.1-6 */
    background: -webkit-gradient(linear, left top, right top, from(#1a59a3), color-stop(50%, #7387c0), to(#1a59a3));
    background: linear-gradient(to right, #1a59a3 0%, #7387c0 50%, #1a59a3 100%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#1a59a3', endColorstr='#1a59a3', GradientType=1);
    /* IE6-9 */
}


#page h3::before {
    content: url(images/page_h3_before.png);
    margin: 0;
    position: absolute;
    top: 0;
    left: 0;

}

#page h3 span {
    color: #f6ff00;
    margin: 0 1%;
}

#page h4 {
    font-size: 2.2rem;
    font-weight: 600;
    margin-bottom: 15px;
}

#page h4.ttl01 {
    color: #164f90;
    border-bottom: solid 3px #164f90;
    padding-top: 1em;
}

#page h4.ttl02 {
    color: #c30b25;
    border-bottom: solid 3px #c30b25;
    padding-top: 1em;
}

/*******************************
/* Re STAFF
*******************************/

.staff-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 15px;
    max-height: 600px;
}

.staff-mainimg {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
}

.staff-text-box {
    width: 500px;
    color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.staff-text-box.english {
    background-color: #164f90;
}

.staff-text-box.japanese {
    background-color: #c30b25;
}

.staff-text-box .english-area {
    padding: 20px;
    background-color: #164f90;
}

.staff-text-box .japanese-area {
    padding: 20px;
    background-color: #c30b25;
}

#page .staff-text-box h4.ttl01 {
    color: #fff;
    border-bottom: 0;
    display: inline-block;
    padding-top: 0.3em;

}

#page .staff-text-box p.name01 {
    font-size: 1.8rem;
    font-weight: 600;
}

#page .staff-text-box p.name01.english {
    color: #f6ff00;
}

#page .staff-text-box p.name01.japanese {
    color: #FFF;
}

#page .staff-text-box p.name01 span {
    margin-left: 10px;
    font-size: 1.4rem;
}

#page .staff-text-box span.name02 {
    margin-left: 10px;
}

#page .staff-text-box div.txt {
    font-size: 1.4rem;
    margin: 0;
}

#page #archive h3 {
    background: #fff;
    padding: 10px 0 5px 15px;
    border-bottom: dashed 2px #002868;
}

#page #archive h3 span {
    color: #99cc00;
    font-size: 1.8rem;
}

#page #archive h3::before {
    font-size: 3rem;
    font-family: "Font Awesome 5 Free";
    content: "\f101";
    margin: 0;
    top: 0;
    position: relative;
    left: 0;
    color: #DF5248;
    font-weight: 800;
    padding-right: 10px;
}

/*******************************
// Large devices (desktops, less than 1130px)
*******************************/

@media(max-width:1129.98px) {
    .staff-mainimg {
        overflow: hidden;
    }

    .staff-mainimg img {
        height: 40vw;
        max-width: 200vw;
        margin: 0 -0vw;
    }

    .staff-text-box {
        width: 450px;
    }
}

@media(max-width:768.98px) {
    .staff-wrapper {
        display: block;
    }

    .staff-text-box {
        width: 100%;
    }

    .staff-text-box .english-area,
    .staff-text-box .japanese-area {
        padding: 10px 20px;
    }

    .staff-mainimg img {
        height: auto;
        max-width: 100%;
        margin: 0;
    }
}

/*******************************
// IE フォントサイズ調整
*******************************/

@media all and (-ms-high-contrast: none) {

    body {
        font-size: 1.4rem;
    }

    .navbar-nav > li > a {
        margin-top: 0;
        font-size: 1.3rem;
    }

    ul.footer-nav div ul li {
        /*        font-size: 1.1rem;*/
    }


    header ul.navbar-nav {
        font-size: 1.2rem;
    }

}

/*******************************
// Large devices (desktops, less than 1600px)
*******************************/

@media(min-width:1600px) {
    .staff-cont-area {
        padding-top: 30px;
    }
}

/*******************************
// Large devices (desktops, less than 1200px)
*******************************/

@media(max-width:1199.98px) {
    #header-navi p {
        font-size: 2rem;
    }

    #header-navi span {
        font-size: 1.6rem;
    }

}

/*******************************
// Medium devices (tablets, less than 992px)
*******************************/

@media(max-width:1024px) {
    header ul.navbar-nav {
        font-size: 1.3rem;
    }

    .home .tp-class-select h2 {
        font-size: 6rem;
    }
}

/*******************************
// Medium devices (tablets, less than 992px)
*******************************/

@media(max-width:991.98px) {
    .smp-area {
        display: block;
    }

    header .tel,
    header ul.header-side-btn,
    header .header-pc-nav {
        display: none;
    }

    div#tel_mail {
        margin-right: 0;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }

    .d-flex_header {
        display: block;
    }

    header h1,
    header h1 a,
    header h3 {
        /*        width: 100%;*/
        background-size: contain;
        text-align: center;
        height: auto;
        background-position: center;
    }

    .tel-area.text-right01 {
        text-align: center;
    }

    .tp-welteach_box .welteach_bg {
        background: none;
        min-height: auto;
    }
}

/*******************************
// Small devices (landscape phones, less than 768px)
*******************************/

@media(max-width:767.98px) {
    .home .tp-class-select h2 {
        font-size: 4rem;
    }

    .home .tp-class-select h2 span {
        font-size: 6rem;
    }

    #class table.custom01 th {
        width: 100%;
    }

    #class table.custom01 td {
        width: 100%;
    }

    table.custom01 th.regular:after {
        display: none;
    }

    .class_area .sp-img-none img {
        display: none;
    }


    .class_area {
        display: block;
    }

    #form table.custom01 td {
        width: 100%;
    }

    #form table.custom01 th {
        width: 100%;
    }

    table.custom01 th:after {
        display: none;
    }

    .tel-area {
        display: none;
    }

    ul.nav {
        height: auto;
    }

    .footerUpper {
        /*        display: none;*/
    }

    dl.topix dt,
    dl.company dt {
        padding: 1% 0;
        display: block;
        float: none;
        width: auto;
    }

    dl.topix dd,
    dl.company dd {
        padding: 1% 0 2%;
    }

    dl.topix dd {
        width: 100%;
    }

    .mw_wp_form button,
    html input[type="button"],
    input[type="reset"],
    input[type="submit"] {
        width: 100%;
    }

    .block {
        padding-top: 8%;
        padding-bottom: 8%;
    }

    th,
    td {
        display: block;
        margin: 0;
        border: 0;
    }

    th,
    .mw_wp_form th {
        width: 100%;
    }

    td {
        margin-bottom: 2%;
        border-top: none;
    }

    article .col-md-8.mb30 {
        margin-bottom: 60px;
    }

    #block01 .pc-none {
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
    }

    .sp-none {
        display: none;
    }

    .tp-info-btn a {
        width: 100%;
    }

    .home .tp-footer-area {
        padding: 2%;
    }

    table.custom01 {
        margin: 20px 0;
    }

    table.custom01 th,
    table.custom01 td {
        width: 100%;
    }

    #page h4.ttl01 {
        padding-top: 0;
    }

    .home .junior-box .btn01 a,
    .home .regular-box .btn01 a,
    .home .advance-box .btn01 a,
    .home .general-box .btn01 a {
        font-size: 1.4rem;
        line-height: inherit;
        padding: 3% 2%;
        display: block;
    }

    .home .junior-box .btn01,
    .home .regular-box .btn01,
    .home .advance-box .btn01,
    .home .general-box .btn01 {
        border-width: 2px;
        width: 80%;
        margin: 0 auto 20px;
    }

    .home .tp-class-select,
    .home .tp-class-area,
    .home .tp-topics-area,
    .home .tp-staff-area {
        padding: 2%;
    }

    .home .tp-topics-area {
        border: solid 5px #008ad2;
        margin-bottom: 15px;
    }

    .bus-position01 {
        max-width: 100%;
        margin-left: 0;
    }

    footer {
        background-position: top center;
    }

    .home .class-name {
        text-align: left;
        font-size: 1.6rem;
        margin: 0;
        padding-right: 0.5em;
        width: 50%;
    }

    .class-name span {
        display: none;

    }

    .tp-class-area h3 {
        margin-top: 20px;
        font-size: 2.2rem;
    }

    .home .tp-staff-area .f-20 {
        font-size: 1.6rem;
    }

    dl.tp_topics_feed {
        padding: 10px;
    }

    .disp-none {
        display: none;
    }

    .tp-staff-area .tp-staff_img {
        margin: 15px 0 10px;
    }

    .tp-staff-area h3 {
        font-size: 1.6rem;
    }

    .tp-staff-area p.english_txt,
    .tp-class-area p.english_txt {
        font-size: 1.4rem;
        text-align: left;
        padding: 2% 0;

    }

    #page .class_area .class-name {
        text-align: center;
        font-size: 1.6rem;
        margin: 15px 0 10px;
    }

    #class.row.mb30 {
        margin-bottom: 15px;
    }

    #class table.custom01 {
        margin-top: 0;
    }

    .pd-tb-60 {
        padding-top: 30px;
        padding-bottom: 30px;
    }

    #class02 p.ft-color-red01 {
        margin-top: 15px;
    }

    #btm01 h4.ttl02 {
        padding-top: 0;
    }

    .tp-info-box h3 {
        text-align: center;
    }

    .tp-bus_box h3 {
        font-size: 1.8rem;
        margin-bottom: 15px;
    }

    .tp-bus_box .btn-area01 .btn_a a {
        width: 80%;
    }

    .tp-welteach_box h3 {
        font-size: 1.8rem;
    }

    .tp-welteach_box .english_txt01 {
        font-size: 1.8rem;
    }

    .tp-welteach_box .english_txt02,
    .tp-bus_box .english_txt02 {
        font-weight: normal;
        font-size: 1.4rem;
    }

    .tp-class-area .flex {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
    }

    .home table.custom01 th,
    .home table.custom01 td {
        width: 100%;
    }

    .home table.custom01 td {
        margin-bottom: 0;
    }

    .home table.custom01 tr {
        border-bottom: 0;
    }

    .home table.custom01 {
        display: none;
    }

    #form .form_txt {
        font-size: initial;
        padding: 0 15px;
        text-align: left;
    }

    /*TOP CLASS SELECT START*/
    .home .regular-box,
    .home .junior-box,
    .home .general-box,
    .home .advance-box {
        padding: 10px;
    }

    .home .regular-box h3,
    .home .junior-box h3,
    .home .general-box h3,
    .home .advance-box h3 {
        /*        font-size: 1.2rem;*/
        padding: 10px;
    }

    /*TOP CLASS SELECT END*/
    .mb30 {
        margin-bottom: 15px;
    }

    .mainimg img {
        /*
        height: 65vw;
        max-width: 300vw;
        margin: 0 -100vw;
*/
    }
}

/*******************************
// Extra small devices (portrait phones, less than 576px)
*******************************/

@media(max-width:575.98px) {
    #page h2 {
        font-size: 2rem;
        padding: 10px;
    }

    #page h3 {
        font-size: 1.8rem;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        padding: 10px;
    }

    #page h2 span,
    #page h3 span,
    #page h2::after {
        display: none;
    }

    .mbnone {
        display: none;
    }

    div#tel_mail {
        display: none;
    }

    #header-navi ul.navi-list li {
        padding: 0 5px;
    }

    #header-navi p {
        font-size: 1.6rem;
    }

    #header-navi span {
        font-size: 1.3rem;
    }

    .home #block01 .box01 h2,
    .home #block01 .box03 h2 {
        font-size: 2.2rem;

    }

    .home #block01 .box01 h2 span,
    .home #block01 .box03 h2 span {
        font-size: 1.6rem;

    }

    .home #block01 p {
        font-size: 1.3rem;
        padding: 10px;
    }

    .tp-class-select .regular-box p,
    .tp-class-select .junior-box p,
    .tp-class-select .general-box p,
    .tp-class-select .advance-box p {
        display: none;
    }

    .btn-area01 {
        margin: 20px 0;
    }

    .btn-area01 .btn_a a {
        width: 80%;
        padding: 10px;
        font-size: 2rem;
    }

    .home .tp-class-select h2,
    .home .tp-class-select h2 span {
        font-size: 2rem;
        margin-bottom: 15px;
        padding-top: 20px;
    }

    #header-navi ul.navi-list {
        display: none;
    }

    .pd-tb-60 {
        padding-top: 0;
    }

    .home #block01 .box02 h2 span {
        font-size: 1.4rem;
    }
}

/** ギブアス追加 **/

.resson_logo {
    margin: 0 auto;
    margin-top: 45px;
}


