@charset "utf-8";

body {
    font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic,
        "游ゴシック体", "メイリオ", sans-serif;
    color: #333333;
}

/* layout ---------------------------------- */
.container {
    /* border: aqua 1px solid; */
}
p {
    margin-bottom: 24px;
    line-height: 1.9;
}

.container_mg {
    padding-top: 64px;
    padding-bottom: 64px;
}
.container_mg2 {
    padding-top: 48px;
    padding-bottom: 48px;
}

.row_mg {
    padding-top: 48px;
}
.row_mg2 {
    padding-top: 24px;
}

@media (max-width: 768px) {
    .container {
        /* --padding: 15px !important; */
        overflow-x: hidden !important;
    }
    .container_mg {
        padding-top: 32px;
        padding-bottom: 32px;
    }
    .container_mg2 {
        padding-top: 24px;
        padding-bottom: 24px;
    }
    .col_my {
        margin-top: 24px;
    }
    .col_my2 {
        margin-top: 48px;
    }

    .row_mg {
        padding-top: 24px;
        padding-bottom: 24px;
    }
    .row_mg2 {
        padding-top: 12px;
    }

    p {
        margin-top: 12px;
    }
    h1,
    h2,
    h3 {
        line-height: 1.4;
    }
}

@media (max-width: 992px) {
    .container.container_sm_memu {
        padding: 0 !important;
        margin: 0 auto !important;
    }
}

/* nav ----------------------------------*/
.navbar {
    padding-left: 0;
    padding-right: 0;
    margin-bottom: 12px;
}

.logo,
.jtp_logo {
    height: 62px;
    display: block;
    float: left;
}

.jtp_logo {
    margin-right: 20px;
}
@media (max-width: 768px) {
    .jtp_logo {
        margin-right: 15px;
    }
    .logo,
    .jtp_logo {
        height: 60px;
    }
}
/*footerlogo*/
.logo_jtp {
    width: 204px;
}

.nav-link {
    margin-top: 25px;
    /* border: #e4007f 1px solid; */
    padding-right: 0 !important;
    padding-left: 20px !important;
    padding-bottom: 0;
    color: #333333 !important;
    font-weight: bold;
    outline: none;
}

/*
.navbar-nav .nav-item:nth-child(1) .nav-link {
    padding-left: 0 !important;
}
*/
.nav-item {
    padding: 0 !important;
}

.nav_eng {
    color: #333333 !important;
    /* border: aqua 1px solid; */
    position: relative;
    float: right;
    top: 10px;
    height: 0;
    font-size: 13px;
    width: 120px;
    text-align: right;
    z-index: 1;
    margin-right: 0px;
    padding-left: 4px;
}
.nav_eng:before {
    content: "";
    display: inline-block;
    width: 16px;
    height: 16px;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23e4007f' class='bi bi-globe' viewBox='0 0 16 16'%3E%3Cpath d='M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8m7.5-6.923c-.67.204-1.335.82-1.887 1.855A8 8 0 0 0 5.145 4H7.5zM4.09 4a9.3 9.3 0 0 1 .64-1.539 7 7 0 0 1 .597-.933A7.03 7.03 0 0 0 2.255 4zm-.582 3.5c.03-.877.138-1.718.312-2.5H1.674a7 7 0 0 0-.656 2.5zM4.847 5a12.5 12.5 0 0 0-.338 2.5H7.5V5zM8.5 5v2.5h2.99a12.5 12.5 0 0 0-.337-2.5zM4.51 8.5a12.5 12.5 0 0 0 .337 2.5H7.5V8.5zm3.99 0V11h2.653c.187-.765.306-1.608.338-2.5zM5.145 12q.208.58.468 1.068c.552 1.035 1.218 1.65 1.887 1.855V12zm.182 2.472a7 7 0 0 1-.597-.933A9.3 9.3 0 0 1 4.09 12H2.255a7.03 7.03 0 0 0 3.072 2.472M3.82 11a13.7 13.7 0 0 1-.312-2.5h-2.49c.062.89.291 1.733.656 2.5zm6.853 3.472A7.03 7.03 0 0 0 13.745 12H11.91a9.3 9.3 0 0 1-.64 1.539 7 7 0 0 1-.597.933M8.5 12v2.923c.67-.204 1.335-.82 1.887-1.855q.26-.487.468-1.068zm3.68-1h2.146c.365-.767.594-1.61.656-2.5h-2.49a13.7 13.7 0 0 1-.312 2.5m2.802-3.5a7 7 0 0 0-.656-2.5H12.18c.174.782.282 1.623.312 2.5zM11.27 2.461c.247.464.462.98.64 1.539h1.835a7.03 7.03 0 0 0-3.072-2.472c.218.284.418.598.597.933M10.855 4a8 8 0 0 0-.468-1.068C9.835 1.897 9.17 1.282 8.5 1.077V4z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: 16px 16px;
    position: absolute;
    left: 56px;
    top: 1px;
}

.nav_ds {
    color: #333333 !important;
    /* border: aqua 1px solid; */
    position: relative;
    float: right;
    top: 10px;
    height: 0;
    font-size: 13px;
    width: 120px;
    text-align: right;
    z-index: 1;
    margin-right: 90px;
    padding-left: 4px;
}
.nav_ds:before {
    content: "";
    display: inline-block;
    width: 16px;
    height: 16px;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23e4007f' class='bi bi-shop' viewBox='0 0 16 16'%3E%3Cpath d='M2.97 1.35A1 1 0 0 1 3.73 1h8.54a1 1 0 0 1 .76.35l2.609 3.044A1.5 1.5 0 0 1 16 5.37v.255a2.375 2.375 0 0 1-4.25 1.458A2.37 2.37 0 0 1 9.875 8 2.37 2.37 0 0 1 8 7.083 2.37 2.37 0 0 1 6.125 8a2.37 2.37 0 0 1-1.875-.917A2.375 2.375 0 0 1 0 5.625V5.37a1.5 1.5 0 0 1 .361-.976zm1.78 4.275a1.375 1.375 0 0 0 2.75 0 .5.5 0 0 1 1 0 1.375 1.375 0 0 0 2.75 0 .5.5 0 0 1 1 0 1.375 1.375 0 1 0 2.75 0V5.37a.5.5 0 0 0-.12-.325L12.27 2H3.73L1.12 5.045A.5.5 0 0 0 1 5.37v.255a1.375 1.375 0 0 0 2.75 0 .5.5 0 0 1 1 0M1.5 8.5A.5.5 0 0 1 2 9v6h1v-5a1 1 0 0 1 1-1h3a1 1 0 0 1 1 1v5h6V9a.5.5 0 0 1 1 0v6h.5a.5.5 0 0 1 0 1H.5a.5.5 0 0 1 0-1H1V9a.5.5 0 0 1 .5-.5M4 15h3v-5H4zm5-5a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1zm3 0h-2v3h2z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: 16px 16px;
    position: absolute;
    left: 9px;
    top: 0;
}
.nav_ds:hover,
.nav_eng:hover {
    text-decoration: none;
}

@media (max-width: 1199px) {
    .nav-item {
        font-size: 14px;
    }
}

@media (max-width: 1199px) {
    .navbar-nav {
        background-color: #e4007f;
        --margin-bottom: 10px;
    }
    .nav-item {
        border-bottom: white 1px solid;
        padding: 0 auto 10px 0;
        height: 64px;
        line-height: 64px;
        font-size: larger;
    }
    .nav-link {
        padding: 0;
        margin: 0;
        color: white !important;
        padding-left: 24px !important;
    }
}
.navbar {
    padding-bottom: 0 !important;
}
.navbar-toggler {
    border: none;
    height: 65px;
    width: 65px;
    border-radius: 0;
    padding: 0 !important;
    margin: 0 !important;
}
.navbar-toggler:active {
    outline: none;
}
button:focus {
    outline: none;
}
.navbar-toggler-active {
    background-color: #e4007f;
}
.navbar-toggler-icon {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(228,0,127,1)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E") !important;
}
.navbar-toggler-icon-active {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255,255,255,1)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E") !important;
}

.breadcrumb {
    background-color: transparent;
    padding-left: 0 !important;
    margin-bottom: 0;
    padding-bottom: 0;
}

/* fonts , btn--------------------------- */
.a-disabled {
    color: #6b6b6b;
}
.a-disabled:hover {
    text-decoration: none;
    cursor: default;
    color: #6b6b6b;
}

.h_book {
    font-size: 1.5rem;
    font-weight: bold;
}
.p_mg {
    margin-top: 20px;
}

.bold {
    font-weight: bold;
}
.c_theme {
    color: #e4007f;
}
a.dl {
    font-size: larger;
}
.req {
    color: red;
}
.page_header {
    background-color: #e4007f;
}
.page_header h2 {
    text-align: center;
    color: white;
    padding: 30px 0;
    font-weight: bold;
}

.ico_app {
    width: 94px;
}
.ico_store_app {
    width: 120px;
}
.ico_store_google {
    width: 172px;
}
ul.error {
    margin-left: 0;
}

ul.info {
    list-style: none;
    padding-left: 0;
}
ul.info li {
    margin-bottom: 8px;
}

ul.intable {
    padding-left: 1rem;
    list-style-position: outside;
    list-style-type: disc;
    margin-bottom: 0;
}

.info_date {
    display: inline-block;
    width: 90px;
}

.copyr {
    font-size: smaller;
}
.fa-arrow-circle-right,
.fa-file-download,
.fa-arrow-circle-down {
    color: #e4007f;
}
.fa-file-download {
    margin-right: 0.2em;
}

.error {
    line-height: 2rem;
    color: #e92c2c;
}

ul.error {
    list-style: none;
    padding: 0;
    margin: 0;
    list-style-position: inside;
}

ul.error li {
    display: block;
    line-height: 1.5rem;
    font-weight: normal;
    text-indent: 0;
}

.req {
    color: crimson;
}

ul.info_menu {
    list-style: none;
    padding: 0;
    margin: 0;
}

ul.info_menu li {
    display: inline-block;
    margin-right: 48px;
}

@media (max-width: 768px) {
    ul.info_menu li {
        line-height: 2rem;
    }
}

@media (max-width: 768px) {
    .ico_store_app {
        width: 175px;
    }
    .ico_store_google {
        width: 200px;
    }
    .fb-page {
        width: 90% !important;
    }
    .info_date {
        display: block;
    }
    .page_header h2 {
        padding: 20px 0;
    }
}

/* tables ----------------------- */

.table_cul thead th {
    background-color: #e4007f;
    color: white;
    border: none;
}
.table_cul.table_cul2 thead th {
    background-color: #00a0e9;
}
.table_cul tbody th {
    background-color: #ffeff6;
    border-color: #cccccc;
    font-weight: normal;
    width: 25%;
}
.table_cul.table_cul.table_cul2 tbody th {
    background-color: #e7f7ff;
}

.table_cul td {
    border-color: #cccccc;
}

@media (min-width: 768px) {
    .table_cul .h_head {
        height: 200px;
    }
    .table_cul .h_reading {
        height: 220px;
    }
    .table_cul .h_writing {
        height: 170px;
    }
    .table_cul .h_speaking1 {
        height: 220px;
    }
    .table_cul .h_speaking2 {
        height: 240px;
    }
    .table_cul .h_listening {
        height: 130px;
    }
}

@media (max-width: 768px) {
    .table_cul {
        border-color: #cccccc;
    }
    .table_cul th,
    .table_cul tbody th,
    .table_cul td {
        display: block;
        width: 100%;
        border: none;
        border-top: #cccccc 1px solid;
    }
}

/* faq ------------------------------ */
p.faq_q {
    font-weight: bold;
    vertical-align: middle;
    font-size: larger;
}

.ico_faq {
    width: 24px;
    height: 24px;
    margin-top: -5px;
    margin-right: 5px;
}
.ico_faq.ico_faq_a {
    margin-bottom: 100%;
}
.ico_faq_p {
    width: 51px;
}
.faq_ans {
    display: inline-block;
    position: relative;
    padding: 15px 13px 15px 46px;
    border-radius: 12px;
    border: #ffeff6 4px solid;
    background: white;
    background-image: url(/images/faq/04_img_a-49180be91b40ebc235d048dbaa33b904.png);
    background-repeat: no-repeat;
    background-size: 24px;
    background-position: 10px 20px;
}

.faq_ans:after {
    content: "";
    display: inline-block;
    position: absolute;
    top: 16%;
    left: -25px;
    /* border: 12px solid transparent;
    border-right: 10px solid #ffeff6; */
    border: 6px solid transparent;
    border-right: 18px solid #ffeff6;
    -webkit-transform: rotate(10deg);
    transform: rotate(10deg);
}

.faq_ans_long:after {
    top: 5%;
}
.faq_ans p {
    margin: 0;
    padding: 0;
}

@media (max-width: 768px) {
    .faq_ans:after {
        top: 7%;
    }
    .faq_q {
        padding-bottom: 0;
    }
    .faq_ans_long:after {
        top: 30px;
    }
}

/* links ------------------------------ */
.links {
    margin-bottom: 32px;
}

.links p {
    margin-bottom: 4px;
}
.links span {
    font-size: 12px;
    color: #999999;
    padding-left: 1rem;
}

.links a.link {
    font-size: larger;
}
.links .link_en {
    padding-left: 1rem;
    font-size: 12px;
    margin-bottom: 0;
}

/* liminous ---------------------*/

.lum-lightbox {
    z-index: 999;
}

.lum-lightbox-inner img {
    background-color: #fff;
    padding: 1rem;
    max-width: 90vw;
    max-height: 90vh;
    border: #cccccc 0.5rem solid;
}

.lum-img {
    margin: 1rem;
    padding: 20px;
}

.img-thumbnail {
    padding: 2%;
}

.lum-gallery-button {
    display: none;
}

.btn_my {
    display: inline-block;
    border-radius: 35px;
    height: 60px;
    line-height: 56px;
    padding: 0 32px;
    font-size: 20px;
    border: #e4007f 2px solid;
    font-weight: bold;
    color: #e4007f;
    text-decoration: none;
    background-color: white;
    text-align: center;
}

.btn_my_s {
    font-size: 16px;
    height: auto;
    line-height: 18px;
    padding: 8px 24px;
    text-align: center;
}
.btn_my:hover {
    background-color: #e4007f;
    color: white;
    text-decoration: none;
}

.btn_ds_ja {
    font-size: 0.9rem;
    border-radius: ;
}
.btn_my_200 {
    width: 200px;
}
.btn_my_180 {
    width: 180px;
}
.btn_my_400 {
    width: 400px;
}

/* small only ----------------- */

@media (max-width: 768px) {
    .img_book {
        width: 70%;
    }

    .row_mg_pb-0 {
        padding-bottom: 0 !important;
    }
    .row_mg_pt-0 {
        padding-top: 0 !important;
    }
    .p_dl {
        margin-top: 8px;
        margin-bottom: 0;
    }
}

@media (max-width: 1199px) and (min-width: 992px) {
    .btn_my.btn_my_txt_s {
        font-size: 18px;
    }
}

@media (max-width: 419px) {
    .btn_my.btn_my_sp {
        width: 90%;
        font-size: 0.92rem;
        padding-top: 8px;
        height: 48px;
        line-height: 28px;
    }
    .btn_my_400 {
        width: 80%;
    }
}
