* {
    margin: 0;
    padding: 0;
}


/*　iOSのデフォルトの設定を無効か */


/* コンテキストメニューを無効化する */

button,
textarea,
select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

body,
html {
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
    font-family: sans-serif;
    background-color: #f5f3f3;
    scroll-behavior: smooth;
}

html {
    touch-action: manipulation;
}

@media screen and (max-width: 768px) {
    .parent {
        margin: 0 auto;
        width: 100%;
    }
}

@media screen and (min-width: 769px) {
    .parent {
        margin: 0 auto;
        width: 60%;
        max-width: 800px;
    }
}

@media screen and (max-width: 768px) {
    .parent_price {
        margin: 0 auto;
        width: 95%;
    }
}

@media screen and (min-width: 769px) {
    .parent_price {
        margin: 0 auto;
        width: 50%;
        max-width: 800px;
    }
}

.parent_black {
    margin: 0 auto;
    cursor: pointer;
    background-color: #000;
}

@media screen and (max-width: 768px) {
    .parent_black {
        width: 154px;
        height: fit-content;
    }
}

@media screen and (min-width: 769px) {
    .parent_black {
        width: fit-content;
        height: 204px;
    }
}

.send_btn_edit {
    text-align: center;
    font-weight: bold;
    font-size: 1em;
    padding: 5px 5px;
    cursor: pointer;
    border-radius: 6px;
    border-color: #89B700;
    width: 90px;
    color: #FFF;
    background: #89B700;
    margin-bottom: 5px;
    margin-top: 5px;
    box-shadow: none;
    border: none;
}

.edit_cancel {
    font-weight: bold;
    margin-left: 10px;
    font-size: 1em;
    padding: 5px 5px;
    cursor: pointer;
    border-radius: 6px;
    border-color: #464c5a;
    width: fit-content;
    color: #FFF;
    background: #464c5a;
    margin-bottom: 5px;
}

.send_btn {
    font-size: 1.1em;
    padding: 5px 5px;
    padding-left: 10px;
    padding-right: 10px;
    cursor: pointer;
    border-radius: 6px;
    border-color: #89B700;
    width: fit-content;
    color: #FFF;
    font-weight: bold;
    background: #89B700;
    border: 1px solid #89B700;
}

.send_btn2 {
    font-size: 1em;
    padding: 5px 5px;
    cursor: pointer;
    border-radius: 6px;
    border-color: #ff1493;
    width: fit-content;
    color: #FFF;
    background: #ff1493;
}

.beginner_q {
    border: none;
    padding: 5px 5px;
    margin-top: 3px;
    margin-right: 5px;
    margin-bottom: 8px;
    font-size: 0.9em;
    cursor: pointer;
    border-radius: 6px;
    width: fit-content;
    color: #FFF;
    background: #D91718;
    font-weight: bold;
}

.beginner_q_close {
    border: none;
    padding: 5px 5px;
    margin-top: 3px;
    margin-right: 5px;
    margin-bottom: 8px;
    font-size: 0.9em;
    cursor: pointer;
    border-radius: 6px;
    width: fit-content;
    color: #FFF;
    background: #475c86;
}

.beginner_q_hikaku {
    background: #797070;
}

.beginner_q_kankeishi {
    background: #797070;
}

.beginner_q_mix {
    background: #797070;
}

.beginner_q_mirai {
    background: #797070;
}

.beginner_q_keiken {
    background: #797070;
}

.beginner_q_katei {
    background: #797070;
}

.beginner_q_kazu {
    background: #797070;
}

.beginner_q_kenko {
    background: #797070;
}

.beginner_q_hindo {
    background: #797070;
}

.beginner_q_kazoku {
    background: #797070;
}

.beginner_q_kimochi {
    background: #797070;
}

.beginner_q_shuukan {
    background: #797070;
}

.send_btn3 {
    font-size: 1em;
    padding: 5px 20px;
    cursor: pointer;
    border-radius: 6px;
    border-color: #ff1493;
    width: fit-content;
    color: #FFF;
    background: #ff1493;
}

#ok_button {
    margin-top: 5px;
    margin-bottom: 5px;
    font-size: 0.9em;
    padding: 4px 10px;
    cursor: pointer;
    height: 29px;
    border-radius: 4px;
    width: fit-content;
    color: #FFF;
    background: #464c5a;
    border-style: hidden;
}

#next_button {
    margin-bottom: 5px;
    font-size: 0.9em;
    padding: 4px 10px;
    cursor: pointer;
    border-radius: 4px;
    border-color: #464c5a;
    width: fit-content;
    color: #FFF;
    background: #464c5a;
    border-style: hidden;
}

#delete_button {
    margin-left: 10px;
    margin-bottom: 5px;
    font-size: 0.9em;
    padding: 4px 10px;
    cursor: pointer;
    border-radius: 4px;
    border-color: #464c5a;
    width: fit-content;
    color: #FFF;
    background: #464c5a;
    border-style: hidden;
}

.send_btn4 {
    margin-left: 20px;
    font-size: 1em;
    padding: 5px 15px;
    cursor: pointer;
    border-radius: 6px;
    border-color: #5c595a;
    width: fit-content;
    color: #FFF;
    background: #5c595a;
    border-style: hidden;
}

.btns {
    margin-top: 20px;
}

.score {
    position: absolute;
    width: fit-content;
    bottom: 0%;
    left: 0%;
    font-size: 0.9em;
    color: #FFF;
    padding: 3px 3px;
    font-weight: bold;
    text-align: left;
    border-radius: 8px;
    background-color: #23547c;
    border: 1px solid white;
    z-index: 4;
}

.score.inverted {
    color: #23547c;
    background-color: #FFF;
}

h2 {
    margin-top: 5px;
    font-size: 1.2em;
    color: rgb(69, 64, 63);
    font-weight: bold;
}

.response {
    text-align: left;
}

.advice {
    color: #FF9900;
    font-weight: bold;
}

.container {
    text-align: center;
}

.mail_parent {
    margin-top: 20px;
    width: 100%;
    text-align: center;
}

#modoru {
    margin: 0 auto;
    text-align: center;
    width: 100px;
    cursor: pointer;
    background-color: #55575c;
    color: #FFF;
    border-radius: 6px;
    border-style: hidden;
    border: 2px solid #32545f;
    font-weight: bold;
}

.submit {
    cursor: pointer;
    width: fit-content;
    display: block;
    margin: 0 auto;
    text-align: center;
    font-size: 1em;
    padding: 5px 12px;
    color: #FFF;
    border-radius: 5px;
    font-weight: bold;
    background-color: #68889e;
}

#thanks {
    text-align: center;
}

.mail_parent2 {
    width: 90%;
    height: fit-content;
    text-align: center;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: #fff;
    padding: 20px;
    border-radius: 10px;
    z-index: 100;
    display: none;
}

.modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 99;
    display: none;
}

@media screen and (max-width: 768px) {
    .bigger {
        font-size: 1em;
    }
}

@media screen and (min-width: 769px) {
    .bigger {
        font-size: 1em;
    }
}

@media screen and (max-width: 768px) {
    .bigger6 {
        font-weight: bold;
        font-size: 1em;
    }
}

@media screen and (min-width: 769px) {
    .bigger6 {
        font-weight: bold;
        font-size: 1em;
    }
}

@media screen and (max-width: 768px) {
    #sound {
        width: 1em;
        height: auto;
    }
}

.bold {
    font-weight: bold;
}

h1 {
    padding-top: 5px;
    cursor: pointer;
    font-size: 1.4em;
    color: #5c8aaf;
    /*color: #23547c;*/
}

@media screen and (max-width: 768px) {
    #user-input6 {
        border-radius: 6px;
        padding-left: 4px;
        padding-right: 4px;
        padding-top: 2px;
        width: 94%;
    }
}

@media screen and (min-width: 769px) {
    #user-input6 {
        border-radius: 6px;
        padding-left: 5px;
        padding-right: 5px;
        padding-top: 5px;
        padding-bottom: 2px;
        width: 70%;
    }
}

@media screen and (max-width: 768px) {
    #user-input7 {
        border-radius: 6px;
        padding-left: 5px;
        padding-right: 5px;
        padding-top: 2px;
        width: 94%;
    }
}

@media screen and (min-width: 769px) {
    #user-input7 {
        border-radius: 6px;
        padding-left: 5px;
        padding-right: 5px;
        padding-top: 5px;
        padding-bottom: 2px;
        width: 85%;
    }
}

#ai_any {
    border-radius: 6px;
    padding-left: 5px;
    padding-right: 22px;
    width: auto;
    font-size: 1.2em;
    height: 1.6em;
}

#ai_age {
    border-radius: 6px;
    padding-left: 5px;
    padding-right: 22px;
    width: auto;
    font-size: 1.2em;
    height: 1.6em;
}

#ai_kokuseki {
    border-radius: 6px;
    padding-left: 5px;
    padding-right: 22px;
    width: auto;
    font-size: 1.2em;
    height: 1.6em;
}

#name_man {
    width: fit-content;
    border-radius: 6px;
    padding-left: 5px;
    padding-right: 5px;
    font-size: 1.2em;
    height: 1.6em;
}

#name_woman {
    width: fit-content;
    border-radius: 6px;
    padding-left: 5px;
    padding-right: 5px;
    font-size: 1.2em;
    height: 1.6em;
}

#naiyou {
    border-radius: 6px;
    padding: 5px 5px;
}

#mailtext {
    border-radius: 6px;
    padding-left: 10px;
}

.mailtext {
    border-radius: 6px;
    padding-left: 10px;
}

@media screen and (max-width: 768px) {
    .container2 {
        margin-top: 1px;
        width: 95%;
        margin-left: 10px;
    }
}

@media screen and (min-width: 769px) {
    .container2 {
        margin-top: 8px;
        width: 95%;
        margin-left: 10px;
    }
}

.footer_link {
    padding-right: 10px;
}

.footer_logo {
    width: 80px;
    height: auto;
}

.footer_table {
    width: 100%;
    padding-right: 8px;
}

.footer_link a {
    color: #525050;
    text-decoration: none;
}

#footer {
    margin-top: 0px;
    z-index: 3;
    text-align: center;
    bottom: 0;
    padding-top: 5px;
    font-size: 0.8em;
    height: 70px;
    color: #525050;
    background-color: #FFF;
}

@media screen and (max-width: 768px) {
    #footer {
        width: 100%;
    }
}

@media screen and (min-width: 769px) {
    #footer {
        width: 100%;
    }
}

.logo_parts_hidari {
    width: fit-content;
    text-align: center;
}

.logo_parts_migi {
    width: fit-content;
}

.footer_table {
    width: 100%;
    padding-right: 8px;
}

.footer_link {
    padding-right: 10px;
}

.footer_logo {
    width: 80px;
    height: auto;
}

.footer_link a:hover {
    color: #525050;
}

.loading_bg {
    color: #4f8091;
    z-index: 99;
    position: fixed;
    background: rgba(247, 245, 245, 1);
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100vh;
    font-size: 20px;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
}

@media screen and (max-width: 768px) {
    .loading_bg {
        font-size: 1.2em;
    }
}

@media screen and (min-width: 769px) {
    .loading_bg {
        font-size: 1.5em;
    }
}

.pcview {
    display: inline !important;
}

.spview {
    display: none !important;
}

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

    /*tablet , smart phone access*/
    .pcview {
        display: none !important;
    }

    .spview {
        display: inline !important;
    }
}

.btn3 {
    cursor: pointer;
    display: inline-block;
    text-align: center;
    margin-top: 5px;
    margin-bottom: 15px;
    color: #fff;
    border-radius: 6px;
    border-style: hidden;
    border-color: #ff1493;
    padding: 5px 10px;
    font-size: 0.8em;
    background-color: #ff1493;
    font-weight: 700;
}

.btn {
    cursor: pointer;
    display: inline-block;
    text-align: center;
    margin-top: 5px;
    margin-bottom: 5px;
    color: #fff;
    border-radius: 6px;
    border-style: hidden;
    border-color: #23547c;
    padding: 5px 10px;
    font-size: 1em;
    background-color: #23547c;
    font-weight: 700;
}

.btn_ok {
    cursor: pointer;
    display: inline-block;
    text-align: center;
    margin-top: 5px;
    margin-bottom: 5px;
    color: #fff;
    border-radius: 6px;
    border-style: hidden;
    border-color: #23547c;
    padding: 5px 10px;
    font-size: 1em;
    background-color: #23547c;
    font-weight: 700;
}

@media screen and (max-width: 768px) {
    #mailtext {
        padding: 5px;
        margin: 0 auto;
        width: 70%;
    }
}

@media screen and (min-width: 769px) {
    #mailtext {
        padding: 5px;
        margin: 0 auto;
        width: 40%;
        max-width: 800px;
        min-width: 300px;
    }
}

@media screen and (max-width: 768px) {
    .mailtext {
        padding: 5px;
        margin: 0 auto;
        width: 90%;
    }
}

@media screen and (min-width: 769px) {
    .mailtext {
        padding: 5px;
        margin: 0 auto;
        width: 40%;
        max-width: 800px;
        min-width: 300px;
    }
}

@media screen and (max-width: 768px) {
    #mailtext2 {
        margin: 0 auto;
        width: 95%;
    }
}

@media screen and (min-width: 769px) {
    #mailtext2 {
        margin: 0 auto;
        width: 50%;
        max-width: 800px;
    }
}

#mailtext2 {
    border-radius: 6px;
    padding: 5px;
    border-style: solid;
    border-width: 1px;
    border-color: rgb(80, 82, 90);
}

#niyou {
    padding: 5px;
}

#sound {
    position: relative;
    left: 50%;
    transform: translateX(-50%);
}

.advice2 {
    color: darkolivegreen;
    font-size: 0.8em;
    text-decoration: dotted;
}

.youup {
    width: 150px;
    height: auto;
}

.chara {
    font-size: 1.4em;
    text-decoration: dotted;
    color: darkolivegreen;
    font-weight: bold;
}

.chara_img {
    height: 30px;
    width: auto;
    margin-right: 10px;
}

@media screen and (max-width: 768px) {
    .alisa_rest {
        width: 100%;
        height: auto;
    }

    .alisa_rip {
        width: 100%;
        height: auto;
    }
}

@media screen and (min-width: 769px) {
    .alisa_rest {
        height: 240px;
        width: 384px;
    }

    .alisa_rip {
        height: 240px;
        width: 384px;
    }
}

#yaku_btn {
    color: darkolivegreen;
    text-decoration: underline;
    font-weight: bold;
}

#one_point {
    margin: 0 auto;
    width: fit-content;
    text-decoration: underline;
    font-size: 0.8em;
    cursor: pointer;
}

.kaiyaku {
    font-size: 0.9em;
}

#ai_kokuseki {
    font-size: 1em;
    border-width: 1px;
    border-color: rgb(80, 82, 90);
    color: #4a6888;
    font-weight: bold;
    background-color: #FFF;
}

#ai_any {
    font-size: 1em;
    border-width: 1px;
    border-color: rgb(80, 82, 90);
    color: #4a6888;
    font-weight: bold;
    background-color: #FFF;
}

.lang_select {
    font-size: 1em;
    border-width: 1px;
    border-color: rgb(80, 82, 90);
    color: #4a6888;
    font-weight: bold;
    background-color: #FFF;
}

.lang_select {
    border-radius: 6px;
    padding-left: 5px;
    padding-right: 22px;
    width: auto;
    font-size: 1.2em;
    height: 1.6em;
}


/*モダルウィンドウ言語セレクトSP*/

.modal_lang {
    z-index: 5;
    height: 100vh;
    position: fixed;
    top: 0;
    width: 100%;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
}

.modal_bg_lang {
    display: none;
    z-index: 3;
    background: rgba(52, 53, 54, 0.5);
    height: 100vh;
    position: absolute;
    width: 100%;
}

.modal_content_lang {
    display: none;
    z-index: 5;
    color: #FFF;
    text-align: left;
    display: inline-block;
    padding: 20px 30px;
    position: absolute;
    font-size: 15px;
    border-radius: 12px;
    background-color: #3c5461;
    border: medium solid #68889e;
    max-height: 90vh;
    max-width: 90%;
    width: fit-content;
    overflow: auto;
}

.modal_content_lang::-webkit-scrollbar {
    display: none;
}

#language {
    text-align: center;
    padding-left: 5px;
    height: 30px;
    font-size: 1.2em;
    background-color: #FFF;
}

#langselect {
    text-align: center;
    height: 28px;
    margin: 0;
    color: #fff;
    border-radius: 6px;
    border-style: hidden;
    border-color: #89B700;
    padding: 5px 5px;
    font-size: 1.2em;
    background-color: #89B700;
    font-weight: 700;
}

.lang_select_text {
    text-align: left;
}

@media screen and (max-width: 768px) {
    .tran_btn {
        cursor: pointer;
        height: 25px;
        width: auto;
        vertical-align: bottom;
    }
}

@media screen and (min-width: 769px) {
    .tran_btn {
        cursor: pointer;
        height: 25px;
        width: auto;
        vertical-align: bottom;
    }
}

.tran_btn_small {
    height: 20px;
    width: auto;
}

@media screen and (max-width: 768px) {
    .tran_btn {
        cursor: pointer;
        height: 25px;
        width: auto;
        vertical-align: bottom;
    }
}

@media screen and (min-width: 769px) {
    .tran_btn {
        cursor: pointer;
        height: 25px;
        width: auto;
        vertical-align: bottom;
    }
}

.honyaku_text {
    color: #484b53;
}

#jobs {
    margin-top: 5px;
    border-radius: 6px;
    padding-left: 5px;
    padding-right: 22px;
    width: auto;
    height: 1.6em;
}

#jobs {
    font-size: 1em;
    border-width: 1px;
    border-color: rgb(80, 82, 90);
    color: #4a6888;
    font-weight: bold;
    background-color: #FFF;
}

.red {
    color: red;
    font-weight: bold;
}

#button {
    cursor: pointer;
    display: inline-block;
    text-align: center;
    margin-top: 5px;
    margin-bottom: 5px;
    color: #fff;
    border-radius: 6px;
    border-style: hidden;
    padding: 5px 10px;
    height: 50px;
    font-size: 1em;
    background-color: #ff1493;
    font-weight: 700;
}

#button2 {
    cursor: pointer;
    display: inline-block;
    text-align: center;
    margin-top: 5px;
    margin-bottom: 5px;
    color: #fff;
    border-radius: 12px;
    border-style: hidden;
    padding: 5px 14px;
    height: 60px;
    font-size: 1.1em;
    background-color: #89B700;
    font-weight: 700;
}

#button3 {
    cursor: pointer;
    display: inline-block;
    text-align: center;
    margin-top: 5px;
    margin-bottom: 5px;
    color: #fff;
    border-radius: 12px;
    border-style: hidden;
    padding: 5px 17px;
    height: 60px;
    font-size: 1.1em;
    background-color: #ff1493;
    font-weight: 700;
}

#button5 {
    cursor: pointer;
    display: inline-block;
    text-align: center;
    margin-top: 8px;
    margin-bottom: 5px;
    color: #fff;
    border-radius: 6px;
    border-style: hidden;
    padding: 5px 10px;
    height: 50px;
    font-size: 1em;
    Width: 150px;
    background-color: #ff1493;
    font-weight: 700;
}

#button6 {
    cursor: pointer;
    display: inline-block;
    text-align: center;
    margin-top: 5px;
    margin-bottom: 5px;
    color: #fff;
    border-radius: 6px;
    border-style: hidden;
    padding: 5px 10px;
    height: 30px;
    font-size: 1em;
    background-color: #464c5a;
    font-weight: 700;
}

#button7 {
    margin-left: 10px;
    cursor: pointer;
    display: inline-block;
    text-align: center;
    margin-top: 5px;
    margin-bottom: 5px;
    color: #fff;
    border-radius: 6px;
    border-style: hidden;
    padding: 5px 10px;
    height: 30px;
    font-size: 1em;
    background-color: #464c5a;
    font-weight: 700;
}

#correct_btn {
    display: inline-block;
    text-align: center;
    margin-top: 5px;
    margin-bottom: 5px;
    margin-left: 10px;
    color: #fff;
    border-radius: 6px;
    border-style: hidden;
    padding: 5px 18px;
    height: 30px;
    font-size: 0.9em;
    background-color: #464c5a;
    font-weight: 700;
}

#button_del {
    cursor: pointer;
    display: inline-block;
    text-align: center;
    margin-top: 5px;
    margin-bottom: 5px;
    color: #fff;
    border-radius: 6px;
    border-style: hidden;
    padding: 5px 10px;
    height: 30px;
    font-size: 1em;
    background-color: #464c5a;
    font-weight: 700;
}

#button_cl {
    margin-left: 10px;
    cursor: pointer;
    display: inline-block;
    text-align: center;
    margin-top: 5px;
    margin-bottom: 5px;
    color: #fff;
    border-radius: 6px;
    border-style: hidden;
    padding: 5px 10px;
    height: 30px;
    font-size: 1em;
    background-color: #464c5a;
    font-weight: 700;
}

#button4 {
    cursor: pointer;
    display: inline-block;
    text-align: center;
    margin-top: 8px;
    margin-bottom: 5px;
    color: #fff;
    border-radius: 12px;
    border-style: hidden;
    padding: 5px 10px;
    height: 40px;
    font-size: 1.2em;
    background-color: #ff1493;
    font-weight: 700;
}

#start {
    cursor: pointer;
    display: inline-block;
    text-align: center;
    margin-bottom: 5px;
    color: #fff;
    border-radius: 6px;
    border-style: hidden;
    padding: 5px 10px;
    font-size: 1em;
    background-color: #ff1493;
    font-weight: 700;
}

#start.inverted {
    color: #ff1493;
    background-color: #FFF;
}

#button4.inverted {
    color: #ff1493;
    background-color: #FFF;
}

#free_train.inverted {
    color: #a7ccea;
    background-color: #FFF;
}

.modal1 {
    display: none;
    z-index: 10;
    height: 100vh;
    position: fixed;
    top: 0;
    width: 100%;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
}

.modal_bg1 {
    display: none;
    z-index: 9;
    background: rgba(52, 53, 54, 0.1);
    height: 100vh;
    position: absolute;
    width: 100%;
}

@media screen and (max-width: 768px) {
    .modal_content1 {
        display: none;
        z-index: 10;
        color: #000;
        background-color: #FFF;
        border: medium solid #68889e;
        border-radius: 6px;
        text-align: center;
        display: inline-block;
        padding: 10px;
        position: absolute;
        max-height: 90vh;
        width: 90%;
        overflow: auto;
    }
}

@media screen and (min-width: 769px) {
    .modal_content1 {
        display: none;
        z-index: 10;
        color: #000;
        background-color: #FFF;
        border: medium solid #68889e;
        border-radius: 6px;
        text-align: center;
        display: inline-block;
        padding: 10px;
        position: absolute;
        max-height: 90vh;
        max-width: 100%;
        width: fit-content;
        overflow: auto;
    }
}

.modal_content1::-webkit-scrollbar {
    display: none;
}

.mojide {
    color: #FFF;
    background-color: #89B700;
    font-weight: bold;
    cursor: pointer;
    border-radius: 6px;
    padding-left: 4px;
    padding-right: 4px;
}

.q {
    margin-left: 2px;
    margin-right: 2px;
    margin-top: 2px;
    width: 1.6em;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    display: inline-block;
    text-align: center;
    color: #fff;
    border-radius: 4px;
    border-style: hidden;
    padding: 3px 3px;
    padding-bottom: 4px;
    height: 25px;
    font-size: 1em;
    background-color: #464c5a;
    font-weight: 700;
}

.q_space {
    margin-left: 2px;
    margin-right: 2px;
    margin-top: 2px;
    width: fit-content;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    display: inline-block;
    text-align: center;
    color: #fff;
    border-radius: 4px;
    border-style: hidden;
    padding: 3px 3px;
    padding-bottom: 4px;
    height: 25px;
    font-size: 1em;
    background-color: #464c5a;
    font-weight: 700;
}

.edit {
    cursor: pointer;
    display: inline-block;
    text-align: center;
    margin-top: 8px;
    margin-bottom: 5px;
    color: #fff;
    border-radius: 6px;
    border-style: hidden;
    padding: 5px 10px;
    height: 50px;
    font-size: 1em;
    width: fit-content;
    background-color: #464c5a;
    font-weight: 700;
}

.edit_x {
    cursor: pointer;
    display: inline-block;
    text-align: center;
    margin-top: 8px;
    margin-bottom: 5px;
    color: #fff;
    border-radius: 6px;
    border-style: hidden;
    padding: 5px 10px;
    height: 50px;
    font-size: 1em;
    width: fit-content;
    background-color: #696969;
    font-weight: 700;
}

#button_send_x {
    cursor: pointer;
    display: inline-block;
    text-align: center;
    margin-top: 8px;
    margin-bottom: 5px;
    color: #fff;
    border-radius: 6px;
    border-style: hidden;
    padding: 5px 10px;
    height: 50px;
    font-size: 1em;
    Width: 150px;
    background-color: #696969;
    font-weight: 700;
}

.clear_text_all {
    cursor: pointer;
    display: inline-block;
    text-align: center;
    margin-top: 8px;
    margin-bottom: 5px;
    color: #fff;
    border-radius: 6px;
    border-style: hidden;
    padding: 5px 10px;
    height: 50px;
    font-size: 1em;
    width: fit-content;
    background-color: #696969;
    font-weight: 700;
}

#speaker {
    border-style: hidden;
}

.q_speaker {
    margin-top: 2px;
    cursor: pointer;
    width: 30px;
    height: 30px;
    vertical-align: bottom;
}

.q_speaker_small {
    margin-top: 2px;
    cursor: pointer;
    width: 25px;
    height: 25px;
    vertical-align: bottom;
}

.center {
    text-align: center;
}

.usen {
    width: 110px;
    height: auto;
    margin: 0 auto;
}

.explain_contents {
    padding: 11px;
    text-align: center;
    font-size: 1em;
    text-align: left;
}

.explain_parent {
    width: 100%;
    background-color: #FFF;
    border-radius: 6px;
}

.explain_parent_sugotoku {
    width: 100%;
    background-color: #FFF;
    border-radius: 6px;
    text-align: center;
}

.contents_ex {
    font-size: 0.8em;
    color: #585757;
}

a.sugo_link {
    color: black;
    text-decoration: underline;
}

a.sugo_link:visited {
    color: black;
}

.price_plan {
    width: 100%;
    background-color: #FFF;
    border-radius: 6px;
}

h3 {
    margin-left: 5px;
    margin-right: 5px;
    padding-top: 11px;
    font-weight: bold;
    font-size: 1.2em;
    color: #4c7ba1;
}

@media screen and (max-width: 768px) {
    h3 {
        text-align: left;
    }
}

@media screen and (min-width: 769px) {
    h3 {
        text-align: left;
    }
}

h4 {
    padding-top: 11px;
    font-weight: bold;
    text-align: center;
    font-size: 1.2em;
    color: #4c7ba1;
}

.h4-container {
    text-align: center;
    /* テキストと画像を中央揃え */
}

h5 {
    padding-top: 11px;
    font-weight: bold;
    text-align: center;
    font-size: 1.2em;
    color: #4c7ba1;
}

@media screen and (max-width: 768px) {
    h5 {
        text-align: left;
    }
}

@media screen and (min-width: 769px) {
    h5 {
        text-align: center;
    }
}

@media screen and (max-width: 768px) {
    h6 {
        padding-top: 11px;
        font-weight: bold;
        text-align: left;
        font-size: 1em;
        color: #4c7ba1;
    }
}

@media screen and (min-width: 769px) {
    h6 {
        padding-top: 11px;
        font-weight: bold;
        text-align: center;
        font-size: 1em;
        color: #4c7ba1;
    }
}

.main_blue {
    color: #4c7ba1;
    font-size: 1.1em;
}

.blue_arrow {
    color: #4c7ba1;
    font-size: 1em;
}

.gray {
    color: #89B700;
}

.checkmark002 {
    padding-right: 5px;
    padding-left: 24px;
    position: relative;
}

.checkmark002:before,
.checkmark002:after {
    content: "";
    display: block;
    position: absolute;
}

.checkmark002:before {
    width: 1.1em;
    height: 1.1em;
    border-radius: 0.7em;
    background: #89B700;
    border: 1px solid #89B700;
    left: 0;
    top: 0.1em;
}

.checkmark002:after {
    border-left: 3px solid #FFF;
    border-bottom: 3px solid #FFF;
    width: 0.5em;
    height: 0.3em;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    left: 0.3em;
    top: 0.4em;
}

.checkmark003 {
    padding-right: 5px;
    padding-left: 24px;
    position: relative;
}

.checkmark003:before,
.checkmark003:after {
    content: "";
    display: block;
    position: absolute;
}

.checkmark003:before {
    width: 1.1em;
    height: 1.1em;
    border-radius: 0.7em;
    background: #557005;
    border: 1px solid #557005;
    left: 0;
    top: 0.1em;
}

.checkmark003:after {
    border-left: 3px solid #FFF;
    border-bottom: 3px solid #FFF;
    width: 0.5em;
    height: 0.3em;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    left: 0.3em;
    top: 0.4em;
}

.checkmark004 {
    padding-right: 5px;
    padding-left: 24px;
    position: relative;
}

.checkmark004:before,
.checkmark004:after {
    content: "";
    display: block;
    position: absolute;
}

.checkmark004:before {
    width: 1.1em;
    height: 1.1em;
    border-radius: 0.7em;
    background: #FF9900;
    border: 1px solid #FF9900;
    left: 0;
    top: 0.1em;
}

.checkmark004:after {
    border-left: 3px solid #FFF;
    border-bottom: 3px solid #FFF;
    width: 0.5em;
    height: 0.3em;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    left: 0.3em;
    top: 0.4em;
}

.checkmark005 {
    padding-right: 5px;
    padding-left: 24px;
    position: relative;
}

.checkmark005:before,
.checkmark005:after {
    content: "";
    display: block;
    position: absolute;
}

.checkmark005:before {
    width: 1.1em;
    height: 1.1em;
    border-radius: 0.7em;
    background: #89B700;
    border: 1px solid #89B700;
    left: 0;
    top: 0.1em;
}

.checkmark005:after {
    border-left: 3px solid #FFF;
    border-bottom: 3px solid #FFF;
    width: 0.5em;
    height: 0.3em;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    left: 0.3em;
    top: 0.4em;
}

.checkmark006 {
    padding-right: 5px;
    padding-left: 24px;
    position: relative;
}

.checkmark006:before,
.checkmark006:after {
    content: "";
    display: block;
    position: absolute;
}

.checkmark006:before {
    width: 1.1em;
    height: 1.1em;
    border-radius: 0.7em;
    background: #6991bf;
    border: 1px solid #6991bf;
    left: 0;
    top: 0.1em;
}

.checkmark007 {
    padding-right: 5px;
    padding-left: 24px;
    position: relative;
}

.checkmark007:before,
.checkmark007:after {
    content: "";
    display: block;
    position: absolute;
}

.checkmark007:before {
    width: 1.1em;
    height: 1.1em;
    border-radius: 0.7em;
    background: #00bfff;
    border: 1px solid #00bfff;
    left: 0;
    top: 0.1em;
}

.checkmark007:after {
    border-left: 3px solid #FFF;
    border-bottom: 3px solid #FFF;
    width: 0.5em;
    height: 0.3em;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    left: 0.3em;
    top: 0.4em;
}

.checkmark007a {
    padding-right: 5px;
    padding-left: 24px;
    position: relative;
}

.checkmark007a:before,
.checkmark007a:after {
    content: "";
    display: block;
    position: absolute;
}

.checkmark007a:before {
    width: 1.1em;
    height: 1.1em;
    border-radius: 0.7em;
    background: #00bfff;
    border: 1px solid #00bfff;
    left: 0;
    top: 0.1em;
}

.checkmark007a:after {
    border-left: 3px solid #FFF;
    border-bottom: 3px solid #FFF;
    width: 0.5em;
    height: 0.3em;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    left: 0.3em;
    top: 0.4em;
}

.checkmark006:after {
    border-left: 3px solid #FFF;
    border-bottom: 3px solid #FFF;
    width: 0.5em;
    height: 0.3em;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    left: 0.3em;
    top: 0.4em;
}

.please_plan {
    margin-left: 5px;
    font-size: 1.1em;
    color: #a61f1f;
    margin-bottom: 3px;
    margin-top: 3px;
    font-weight: bold;
}

.media_parts {
    font-size: 0.9em;
    width: 100%;
    background-color: #FFF;
    border-radius: 6px;
}

.news_parts {
    font-size: 0.9em;
    width: 100%;
    background-color: #FFF;
    border-radius: 6px;
}

.story {
    text-align: center;
    font-size: 0.9em;
    width: 100%;
    background-color: #FFF;
    border-radius: 6px;
}

@media screen and (max-width: 768px) {
    .news_text_contents {
        width: 100%;
    }
}

@media screen and (min-width: 769px) {
    .news_text_contents {
        width: fit-content;
    }
}

.media2 {
    padding: 10px;
}

.media a {
    color: black;
    text-decoration: none;
}

@media screen and (max-width: 768px) {
    .media_image {
        width: 90px;
        height: auto;
        margin-left: 7px;
        margin-right: 7px;
        margin-bottom: 5px;
        margin-top: 5px;
    }
}

@media screen and (min-width: 769px) {
    .media_image {
        width: 110px;
        height: auto;
        margin-left: 7px;
        margin-right: 7px;
        margin-bottom: 5px;
        margin-top: 5px;
    }
}

.media_logo {
    text-align: center;
}

.lets_ask {
    width: 100%;
    background-color: #FFF;
    border-radius: 6px;
}

.lets_ask2 {
    padding: 10px;
}

@media screen and (max-width: 768px) {
    .pub {
        display: block;
        margin: 0 auto;
        width: 150px;
        height: auto;
    }
}

@media screen and (min-width: 769px) {
    .pub {
        display: block;
        margin: 0 auto;
        width: 150px;
        height: auto;
    }
}

.p_ai0 {
    cursor: pointer;
    width: 85px;
    height: 85px;
    position: relative;
    display: inline-block;
}

.p_ai {
    cursor: pointer;
    position: relative;
    width: 75px;
    min-width: 75px;
    height: 75px;
    min-height: 75px;
    border-radius: 50%;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

.p_ai::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border-radius: 50%;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    z-index: 0;
}

.p_ai::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border: 2px solid white;
    border-radius: 50%;
    box-shadow: inset 0 0 0 2px rgba(0, 0, 0, 0.1);
    z-index: 2;
}

.p_ai img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
    position: relative;
    z-index: 1;
}

.p_ai2 {
    z-index: 4;
    position: absolute;
    bottom: 5px;
    /* 修正: 単位(px)を追加 */
    right: 5px;
    /* 修正: 単位(px)を追加 */
    width: 12px;
    height: 12px;
    background-color: #89B700;
    border-radius: 50%;
    border: 2px solid white;
}

.p_ai2_red {
    z-index: 4;
    position: absolute;
    bottom: 5px;
    /* 修正: 単位(px)を追加 */
    right: 5px;
    /* 修正: 単位(px)を追加 */
    width: 12px;
    height: 12px;
    background-color: #a70b1e;
    border-radius: 50%;
    border: 2px solid white;
    pointer-events: none;
}

.news {
    width: 100%;
    overflow: hidden;
    white-space: nowrap;
    position: relative;
}

.news-text {
    display: inline-block;
    /* 必須 */
    padding-left: 100%;
    /* 右端から文字をスタートさせるため */
    white-space: nowrap;
    /* 改行が起こらないように対策 */
    line-height: 1em;
    animation: scroll 10s linear 0s infinite;
}

@keyframes scroll {
    0% {
        transform: translateX(0)
    }

    100% {
        transform: translateX(-100%)
    }
}

.small_text {
    font-size: 0.8em;
}

.small_text2 {
    font-size: 0.9em;
}

@media screen and (max-width: 768px) {
    .chara_container {
        position: relative;
        width: 100%;
        height: 240px;
        margin: 0 auto;
    }
}

@media screen and (min-width: 769px) {
    .chara_container {
        position: relative;
        width: 384px;
        height: 240px;
        margin: 0 auto;
    }
}

.chara_name_container {
    position: absolute;
    top: 0%;
    left: 0%;
}

.chara_name {
    position: absolute;
    width: fit-content;
    top: 0%;
    left: 0%;
    font-size: 0.9em;
    color: #FFF;
    padding: 3px 3px;
    font-weight: bold;
    text-align: left;
    background-color: #000;
    z-index: 4;
}

.zoon {
    position: absolute;
    width: fit-content;
    top: 0%;
    right: 0%;
    font-size: 0.9em;
    color: #FFF;
    padding: 3px 3px;
    font-weight: bold;
    text-align: right;
    width: 60px;
    height: auto;
}

.mike_zoon {
    z-index: 4;
    position: absolute;
    width: fit-content;
    bottom: 0%;
    right: 0%;
    font-size: 0.9em;
    color: #FFF;
    padding: 3px 3px;
    font-weight: bold;
    text-align: right;
    width: 40px;
    height: auto;
}

.ripple_zoon {
    z-index: 5;
    position: absolute;
    width: fit-content;
    bottom: 0%;
    right: 0%;
    font-size: 0.9em;
    color: #FFF;
    padding: 3px 3px;
    font-weight: bold;
    text-align: right;
    width: 40px;
    height: auto;
}

@media screen and (max-width: 768px) {
    .image-container {
        margin: 0 auto;
        width: 100%;
        height: auto;
        background-color: #000;
    }
}

@media screen and (min-width: 769px) {
    .image-container {
        margin: 0 auto;
        height: 241px;
        width: 385px;
        max-width: 385px;
        background-color: #000;
    }
}

@media screen and (max-width: 768px) {
    .first_mess {
        text-align: left;
        width: 80%;
    }
}

@media screen and (min-width: 769px) {
    .first_mess {
        text-align: center;
        width: 50%;
    }
}

@media screen and (max-width: 768px) {
    .text_speak {
        padding-top: 3px;
        line-height: 1em;
        min-height: 10px;
        text-align: left;
    }
}

@media screen and (min-width: 769px) {
    .text_speak {
        padding-top: 10px;
        line-height: 1em;
        min-height: 20px;
        text-align: left;
    }
}

.text_honyaku {
    padding-top: 0px;
    display: flex;
    justify-content: center;
    text-align: center;
}

@media screen and (max-width: 768px) {
    .text_honyaku2 {
        padding-top: 0px;
        text-align: left;
    }
}

@media screen and (min-width: 769px) {
    .text_honyaku2 {
        padding-top: 0px;
        text-align: left;
    }
}

.auto_onsei2 {
    padding-top: 0px;
    display: flex;
    justify-content: center;
    text-align: center;
}

@media screen and (max-width: 768px) {
    .auto_onsei_text {
        color: #324d72;
        text-align: center;
        font-size: 1em;
        font-weight: bold;
        width: 98%;
    }
}

@media screen and (min-width: 769px) {
    .auto_onsei_text {
        color: #324d72;
        text-align: center;
        font-size: 1em;
        font-weight: bold;
        width: 95%;
    }
}

#yaku {
    text-align: left;
}

#interim_span {
    text-align: left;
    font-size: 1.1em;
    color: darkgreen;
}

hr {
    height: 0;
    margin: 0;
    padding: 0;
    border: 0;
}

hr {
    margin: 0 auto;
    width: 100%;
    border-top: 1px dotted #aaa;
}

.hr_basic {
    height: 0;
    margin: 0;
    padding: 0;
    border: 0;
    margin: 0 auto;
    width: 100%;
    margin-bottom: 5px;
    margin-top: 5px;
    border-top: 1px dotted #aaa;
}

@media screen and (max-width: 768px) {
    .auto_text {
        color: #324d72;
        text-align: left;
        font-size: 1em;
        font-weight: bold;
        width: 98%;
    }
}

@media screen and (min-width: 769px) {
    .auto_text {
        color: #324d72;
        text-align: left;
        font-size: 1em;
        font-weight: bold;
        width: 95%;
    }
}

@media screen and (max-width: 768px) {
    .auto_text_tell {
        color: #808184;
        text-align: left;
        font-size: 0.8em;
        font-weight: bold;
        width: 98%;
    }
}

@media screen and (min-width: 769px) {
    .auto_text_tell {
        color: #808184;
        text-align: left;
        font-size: 0.8em;
        font-weight: bold;
        width: 95%;
    }
}

.history_contents {
    color: #000;
    text-align: left;
}

#correct {
    width: 98%;
    text-align: left;
    color: #2d4b56;
    font-weight: bold;
    background-color: #FFF;
    padding: 5px 5px;
    border-radius: 6px;
    border: 1px solid #54685e;
}

.tutaeru {
    text-align: center;
}

.trial_text {
    text-align: left;
}

#user_in {
    font-weight: bold;
    color: darkgreen;
    text-align: left;
}

.topic_yaku {
    color: #23547c;
    font-size: 0.9em;
    font-weight: bolder;
    text-decoration: underline;
}

.hitokuchi {
    margin: 0 auto;
    padding-top: 0px;
    display: flex;
    /*justify-content: center;*/
    width: 98%;
    text-align: center;
    margin-bottom: 6px;
}

.onsei_onoff {
    height: 1.2em;
    width: auto;
}

.onoff {
    text-align: left;
}

.onoff span {
    margin: 0 7px;
}

.topics_img {
    cursor: pointer;
    margin-right: 10px;
}

.button-container {
    display: flex;
}

.button-container2 {
    display: flex;
}

.topics_btn2 {
    height: 24px;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    border: none;
    padding-right: 15px;
    padding-left: 15px;
    margin-right: 5px;
    margin-top: 8px;
    font-size: 0.9em;
    border-radius: 6px;
    color: #FFF;
    font-weight: bold;
    background: #D91718;
}

.topics_btn {
    height: 24px;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    border: none;
    padding-right: 15px;
    padding-left: 15px;
    margin-right: 5px;
    margin-top: 8px;
    font-size: 0.9em;
    border-radius: 6px;
    color: #FFF;
    font-weight: bold;
    background: #D91718;
}

.begin_menu {
    margin-top: 15px;
}

.mike {
    position: relative;
    width: 40px;
    height: auto;
}

.photo {
    border-radius: 10px;
    background-color: #FFF;
    text-align: left;
}

@media screen and (min-width: 769px) {
    .text_honyaku2 {
        padding-top: 0px;
        text-align: left;
    }
}

.chara_review {
    margin-top: 5px;
    background-color: #000;
    width: 200px;
    height: auto;
    border: 0px solid black;
    padding: 1px;
}

.preview {
    display: block;
    margin: auto;
    width: 200px;
    height: auto;
}

.preview2 {
    display: block;
    margin: auto;
    width: 200px;
    height: auto;
    cursor: pointer;
}

.iphone_mike {
    width: 85%;
    height: auto;
}

.iphone_mike_for_faq {
    width: 70%;
    height: auto;
}

.iphone_mess {
    text-align: left;
}

.ripple2 {
    width: 30px;
    height: auto;
    margin-right: 5px;
}

@media screen and (max-width: 768px) {
    .bigger4 {
        font-size: 1em;
    }
}

@media screen and (min-width: 769px) {
    .bigger4 {
        font-size: 1.2em;
    }
}

@media screen and (max-width: 768px) {
    .bigger5 {
        font-size: 1em;
    }
}

@media screen and (min-width: 769px) {
    .bigger5 {
        font-size: 1.2em;
    }
}

.circle {
    display: inline-block;
    width: 1em;
    height: 1em;
    border-radius: 50%;
    background: rgb(200, 21, 80);
    color: #FFF;
    text-align: center;
    line-height: 1.2em;
    margin-right: 3px;
}

.circle2 {
    display: inline-block;
    width: 110px;
    height: 110px;
    border-radius: 50%;
    background: #b0c4de;
    text-align: center;
    line-height: 110px;
    color: #FFF;
    font-weight: bold;
}

.circle3 {
    display: inline-block;
    width: 110px;
    height: 110px;
    border-radius: 50%;
    background: #87ceeb;
    text-align: center;
    line-height: 110px;
    color: #FFF;
    font-weight: bold;
}

.circle3b {
    display: inline-block;
    width: 110px;
    height: 110px;
    border-radius: 50%;
    background: #b0c4de;
    text-align: center;
    line-height: 110px;
    color: #FFF;
    font-weight: bold;
}

.price_list {
    width: fit-content;
    margin: 0 auto;
    text-align: center;
}

.price_list_child {
    width: fit-content;
    text-align: left;
}

.price_list_child2 {
    width: 100%;
    text-align: left;
}

.check_box_center {
    display: flex;
    justify-content: center;
}

.check_box_center_child {
    text-align: left;
}

.ECM_CheckboxInput {
    padding: 12px 8px;
    display: flex;
    align-items: center;
    cursor: pointer;
}

.ECM_CheckboxInput-Input {
    margin: 0;
    width: 0;
    opacity: 0;
}

.ECM_CheckboxInput:hover>.ECM_CheckboxInput-DummyInput {
    background: #f6f4f4 !important;
    border: solid 2px #333333;
}

.ECM_CheckboxInput-Input:focus+.ECM_CheckboxInput-DummyInput {
    background: #f6f4f4 !important;
    border: solid 2px #333333;
}

.ECM_CheckboxInput-Input:checked+.ECM_CheckboxInput-DummyInput {
    border: solid 2px #333333;
    background: #FFFFFF;
}

.ECM_CheckboxInput-Input:checked+.ECM_CheckboxInput-DummyInput::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJmZWF0aGVyIGZlYXRoZXItY2hlY2siPjxwb2x5bGluZSBwb2ludHM9IjIwIDYgOSAxNyA0IDEyIj48L3BvbHlsaW5lPjwvc3ZnPg==") no-repeat center;
    background-size: contain;
}

.ECM_CheckboxInput-DummyInput {
    position: relative;
    top: 0;
    left: 0;
    display: block;
    width: 32px;
    height: 32px;
    border: solid 2px #888888;
    background: #FFFFFF;
    border-radius: 4px;
}

.ECM_CheckboxInput-DummyInput.inverted {
    border: solid 2px rgb(115, 155, 184);
    background: #bdd5ef;
}

@media screen and (max-width: 768px) {
    .ECM_CheckboxInput-LabelText {
        margin-left: 12px;
        display: block;
        font-size: 0.9em;
        font-weight: bold;
    }
}

@media screen and (min-width: 769px) {
    .ECM_CheckboxInput-LabelText {
        margin-left: 12px;
        display: block;
        font-size: 1em;
        font-weight: bold;
    }
}

.ECM_CheckboxInput-Input:checked+.ECM_CheckboxInput-DummyInput2::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJmZWF0aGVyIGZlYXRoZXItY2hlY2siPjxwb2x5bGluZSBwb2ludHM9IjIwIDYgOSAxNyA0IDEyIj48L3BvbHlsaW5lPjwvc3ZnPg==") no-repeat center;
    background-size: contain;
}

.ECM_CheckboxInput-DummyInput2 {
    position: relative;
    top: 0;
    left: 0;
    display: block;
    width: 32px;
    height: 32px;
    border: solid 2px #888888;
    background: #e5e3e3;
    border-radius: 4px;
}

#make_account_btn {
    display: inline-block;
    text-align: center;
    margin-top: 5px;
    margin-bottom: 15px;
    color: #fff;
    border-radius: 6px;
    border-style: hidden;
    padding: 12px 20px;
    font-size: 1.1em;
    background-color: #68889e;
    font-weight: 700;
    cursor: pointer;
}

@media screen and (max-width: 768px) {
    .chuui_text {
        font-size: 0.9em;
        text-align: left;
        margin: 0 auto;
        max-width: 95%;
        margin-bottom: 10px;
    }
}

@media screen and (min-width: 769px) {
    .chuui_text {
        font-size: 0.9em;
        text-align: left;
        margin: 0 auto;
        max-width: 70%;
        margin-bottom: 15px;
    }
}

@media screen and (max-width: 768px) {
    .textarea_parent {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 98%;
    }
}

@media screen and (min-width: 769px) {
    .textarea_parent {
        display: flex;
        justify-content: center;
        align-items: center;
        width: fit-content;
    }
}

.form_payment {
    padding-right: 40px;
}

.paytext {
    font-size: 1em;
    color: #464444;
}

#inputadd {
    margin-right: 3px;
    border-radius: 5px;
    font-weight: bold;
    line-height: 1.2em;
    width: 85%;
    font-size: 0.9em;
    color: #FFF;
    background: #253256;
}

::placeholder {
    color: #FFF;
}

::-webkit-input-placeholder {
    color: #FFF;
}

:-ms-input-placeholder {
    color: #FFF;
}

textarea:focus::placeholder {
    color: #50a5c1;
}

#input_check {
    cursor: pointer;
    width: fit-content;
    border-style: hidden;
    text-align: center;
    margin-top: 5px;
    margin-bottom: 5px;
    color: #fff;
    border-radius: 6px;
    padding: 12px 20px;
    font-size: 1em;
    background-color: #68889e;
    font-weight: 700;
}

#input_check2 {
    width: fit-content;
    border-style: hidden;
    text-align: center;
    margin-top: 5px;
    margin-bottom: 5px;
    color: #fff;
    border-radius: 6px;
    padding: 5px 10px;
    font-size: 0.8em;
    background-color: #595658;
    font-weight: 700;
}

#input_check {
    display: block;
    margin: 0 auto;
    text-align: center;
}

#input_check2 {
    display: block;
    margin: 0 auto;
    text-align: center;
}

.input_check2_wrapper {
    text-align: center;
}

.input_check2 {
    display: inline-block;
    width: fit-content;
    border-style: hidden;
    text-align: center;
    margin-top: 5px;
    margin-left: 5px;
    margin-bottom: 5px;
    color: #fff;
    border-radius: 6px;
    padding: 5px 10px;
    font-size: 0.8em;
    background-color: #595658;
    font-weight: 700;
    box-shadow: 2px 2px 4px #595658;
}

.list-item {
    height: 60px;
}

.menu-title {
    text-align: center;
    color: #fff;
    font-size: 1.1em;
    height: 50px;
    padding-top: 18px;
    padding-bottom: 4px;
    font-weight: 600;
    font-family: sans-serif;
}

@media (min-width: 769px) {
    .list-item {
        height: 60px;
    }

    .menu-title {
        height: 50px;
        padding-top: 20px;
        padding-bottom: 20px;
    }
}


/*　ハンバーガーボタン　*/

.hamburger {
    cursor: pointer;
    display: block;
    position: fixed;
    z-index: 13;
    right: 5px;
    top: 5px;
    width: 42px;
    height: 42px;
    cursor: pointer;
    text-align: center;
}

.hamburger span {
    display: block;
    position: absolute;
    width: 30px;
    height: 2px;
    left: 6px;
    background: #b75f5f;
    -webkit-transition: 0.5s ease-in-out;
    -moz-transition: 0.5s ease-in-out;
    transition: 0.5s ease-in-out;
}

.hamburger span:nth-child(1) {
    top: 10px;
}

.hamburger span:nth-child(2) {
    top: 20px;
}

.hamburger span:nth-child(3) {
    top: 30px;
}

@media (min-width: 769px) {
    .hamburger {
        display: block;
        position: fixed;
        z-index: 13;
        right: 13px;
        top: 12px;
        width: 42px;
        height: 42px;
        cursor: pointer;
        text-align: center;
    }

    .hamburger span {
        display: block;
        position: absolute;
        width: 30px;
        height: 2px;
        left: 6px;
        background: #b75f5f;
        -webkit-transition: 0.5s ease-in-out;
        -moz-transition: 0.5s ease-in-out;
        transition: 0.5s ease-in-out;
    }

    .hamburger span:nth-child(1) {
        top: 10px;
    }

    .hamburger span:nth-child(2) {
        top: 20px;
    }

    .hamburger span:nth-child(3) {
        top: 30px;
    }
}


/* ナビ開いてる時のボタン */

.hamburger.active span:nth-child(1) {
    top: 16px;
    left: 6px;
    -webkit-transform: rotate(315deg);
    -moz-transform: rotate(315deg);
    transform: rotate(315deg);
}

.hamburger.active span:nth-child(2),
.hamburger.active span:nth-child(3) {
    top: 16px;
    -webkit-transform: rotate(-315deg);
    -moz-transform: rotate(-315deg);
    transform: rotate(-315deg);
}

nav.globalMenuSp {
    position: fixed;
    z-index: 12;
    top: 0;
    left: 0;
    color: #000;
    background: #fff;
    text-align: center;
    transform: translateX(100%);
    transition: all 0.6s;
    width: 100%;
    overflow-y: scroll;
}

.globalMenuSp::-webkit-scrollbar {
    display: none;
}

nav.globalMenuSp ul {
    background: rgb(160, 159, 159);
    margin: 0 auto;
    padding: 0;
    width: 100%;
}

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

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

nav.globalMenuSp ul li:hover {
    background: #b0b0b0;
}


/* このクラスを、jQueryで付与・削除する */

nav.globalMenuSp.active {
    transform: translateX(0%);
}


/* アコーディオン */

.contents_menu {
    font-size: 1em;
    display: none;
    text-decoration: none;
}

.cencept_pa {
    width: 100%;
    text-align: center;
    display: inline-block;
}

.cencept_pa .concept {
    color: #fff;
    font-weight: bold;
    font-size: 16px;
    text-align: left;
    width: 98%;
    padding-left: 7px;
    padding-right: 7px;
    display: inline-block;
}

@media (min-width: 769px) {
    .cencept_pa .concept {
        width: 50%;
        text-align: left;
        display: inline-block;
    }
}

.account_item {
    margin-top: 1em;
    color: #2F96BB;
    font-weight: bold;
}

.small2 {
    font-size: 0.8em;
}

.account_item {
    margin-top: 1em;
    color: #2F96BB;
    font-weight: bold;
}

#account_mail1_code {
    margin-top: 8px;
    margin-right: 3px;
    font-size: 1em;
    height: 30px;
    text-align: center;
    border-radius: 4px;
}

.alert_msg {
    margin-top: 13px;
    font-size: 0.9em;
    padding-bottom: 10px;
    color: #23547c;
    font-weight: bold;
}

#apply_msg {
    font-size: 0.9em;
    color: #23547c;
    font-weight: bold;
}

.regist_kakunin {
    padding-top: 5px;
    font-weight: bold;
    font-size: 1.1em;
    color: #6f95c3;
}

.mail_reg_btn {
    cursor: pointer;
    font-size: 1em;
    padding: 5px;
    border-radius: 6px;
    border-color: #89B700;
    width: fit-content;
    color: #FFF;
    background: #89B700;
}

.anken_regist_kakunin {
    width: 100%;
}

#email3_code {
    margin-right: 5px;
}

.code_btn {
    cursor: pointer;
    margin-left: 5px;
}

.change_status2 {
    cursor: pointer;
    padding: 5px;
    border-radius: 6px;
    border-color: #68889e;
    width: fit-content;
    color: #FFF;
    background: #68889e;
}

.change_status {
    font-weight: bold;
    cursor: pointer;
    padding: 10px;
    border-radius: 6px;
    border-color: #89B700;
    width: fit-content;
    color: #FFF;
    background: #89B700;
}

.contact_list_btn {
    cursor: pointer;
    color: #2F96BB;
    text-decoration: underline;
    font-weight: bold;
}

.active {
    text-decoration: none;
}

#input_check {
    display: block;
    margin: 0 auto;
    text-align: center;
}

#input_check2 {
    display: block;
    margin: 0 auto;
    text-align: center;
}

.input_check2_wrapper {
    text-align: center;
}

.input_check2 {
    display: inline-block;
    width: fit-content;
    border-style: hidden;
    text-align: center;
    margin-top: 5px;
    margin-left: 5px;
    margin-bottom: 5px;
    color: #fff;
    border-radius: 6px;
    padding: 5px 10px;
    font-size: 0.8em;
    background-color: #595658;
    font-weight: 700;
}

#plan_box {
    font-size: 1.3em;
    margin-top: 10px;
    margin-bottom: 10px;
    font-weight: bold;
    text-align: center;
    color: #4c7ba1;
}

.bnts {
    margin-top: 15px;
    display: flex;
    justify-content: center;
}

.contact_change_btn:hover {
    background-color: #7e7979;
}

.contact_change_btn {
    margin: 0 auto;
    cursor: pointer;
    text-align: center;
    margin-top: 15px;
    margin-bottom: 10px;
    text-align: center;
    font-size: 0.9em;
    padding: 5px 15px;
    border-radius: 6px;
    border-color: #68889e;
    width: fit-content;
    color: #FFF;
    background: #68889e;
}

.id_change {
    margin-top: 15px;
}

#account_pass1 {
    margin: 0 auto;
}

.change_plan_btn {
    display: inline-block;
    vertical-align: middle;
    margin: 0 5px;
    text-align: center;
    width: fit-content;
    cursor: pointer;
    font-size: 1em;
    padding: 5px 21px;
    border-radius: 6px;
    border-color: #68889e;
    color: #FFF;
    background: #68889e;
}

.here {
    font-weight: bold;
    color: #2F96BB;
}

.mail2 {
    text-align: center;
}

#contact1 {
    margin-bottom: 10xp;
}

#stripe_status {
    text-align: center;
    font-size: 1.1em;
    color: #a70b1e;
    font-weight: bold;
    margin-top: 10px;
}

.close_btn_modal1 {
    cursor: pointer;
    font-size: 1em;
    z-index: 3;
    display: inline-block;
    text-align: center;
    color: #fff;
    border-radius: 8px;
    padding: 5px 10px;
    font-size: 0.8em;
    margin: 2px 0px 5px 0px;
    background: #23547c;
    border-style: hidden;
}

.close_btn_tell {
    cursor: pointer;
    font-size: 1.2em;
    z-index: 3;
    display: inline-block;
    text-align: center;
    color: #fff;
    border-radius: 8px;
    padding: 5px 10px;
    margin: 2px 0px 5px 0px;
    background: #23547c;
    border-style: hidden;
}

.history_close {
    cursor: pointer;
    font-size: 0.8em;
    display: inline-block;
    text-align: center;
    color: #fff;
    border-radius: 6px;
    padding: 3px 10px;
    background: #23547c;
    border-style: hidden;
}

.tensaku_close {
    cursor: pointer;
    font-size: 0.9em;
    display: inline-block;
    text-align: center;
    color: #fff;
    border-radius: 2px;
    padding: 1px 2px;
    background: #b1b1b2;
    border-style: hidden;
}

#correct_yaku {
    text-align: left;
}

#history {
    margin: 0 auto;
    text-align: center;
    width: fit-content;
    font-size: 0.9em;
    font-weight: bold;
    margin-top: 2px;
    margin-bottom: 5px;
    background-color: #23547c;
    color: #FFF;
    padding: 1px 20px;
    border-radius: 100px;
}

.your_comment {
    color: darkgreen;
    font-weight: bold;
}

.history_contents {
    padding: 5px 5px;
    border-radius: 6px;
    border: 1px solid #54685e;
    background-color: #FFF;
    overflow-y: auto;
}

@media screen and (max-width: 768px) {
    .history_contents {
        max-height: 220px;
    }
}

@media screen and (min-width: 769px) {
    .history_contents {
        max-height: 220px;
    }
}

.each_word {
    padding-left: 7px;
    color: #2a657b;
}

.each_word input[type="checkbox"] {
    margin-right: 2px;
}

#word_list {
    margin-top: 5px;
}

.popup {
    text-align: center;
    display: none;
    position: fixed;
    bottom: 70px;
    right: 20px;
    z-index: 97;
    border: 2px solid #85b0c9;
    background-color: #f1f1f1;
    padding: 4px;
    border-radius: 15px;
    color: #FFF;
    font-size: 0.9em;
    font-weight: bolder;
    width: fit-content;
    height: fit-content;
    background-color: #2c8caf;
    box-shadow: 0px 2px 2px 1px #bebebe;
}

.popup {
    text-align: center;
    display: none;
    position: fixed;
    right: 20px;
    z-index: 97;
    border: 2px solid #85b0c9;
    background-color: #f1f1f1;
    padding: 4px;
    border-radius: 15px;
    color: #FFF;
    font-size: 0.9em;
    font-weight: bolder;
    width: fit-content;
    height: fit-content;
    background-color: #2c8caf;
    box-shadow: 0px 2px 2px 1px #bebebe;
}

@media screen and (max-width: 768px) {
    .popup {
        bottom: 5px;
    }
}

@media screen and (min-width: 769px) {
    .popup {
        bottom: 70px;
    }
}

@media screen and (max-width: 768px) {
    .tango_cho {
        font-size: 0.9em;
    }
}

@media screen and (min-width: 769px) {
    .tango_cho {
        font-size: 0.9em;
    }
}

@media screen and (max-width: 768px) {
    .eitango {
        margin-right: 3px;
        font-size: 1.4em;
        margin-top: 45px;
    }

    .jptango {
        margin-top: 20px;
        font-size: 1.3em;
        margin-bottom: 50px;
    }
}

@media screen and (min-width: 769px) {
    .eitango {
        margin-right: 3px;
        font-size: 1.4em;
        margin-top: 40px;
    }

    .jptango {
        margin-top: 20px;
        font-size: 1.3em;
        margin-bottom: 20px;
    }
}

.tango {
    width: 60px;
    height: auto;
}


/* SP吹き出し*/

.bubble04 {
    position: relative;
    display: inline-block;
    width: fit-content;
    width: 250px;
    word-break: break-all;
    text-align: left;
    color: #FFF;
    padding: 9px;
    margin-left: 10px;
    background-color: #488aa0;
    border-radius: 12px;
}

.bubble04:before {
    content: '';
    position: absolute;
    display: block;
    border-style: solid;
    border-color: transparent #488aa0;
    border-width: 10px 10px 10px 0;
    top: 50%;
    left: -10px;
    margin-top: -10px;
}

@media (min-width: 769px) {

    /* left side */
    .bubble04 {
        position: relative;
        display: inline-block;
        width: fit-content;
        width: 250px;
        word-break: break-all;
        text-align: left;
        color: #FFF;
        padding: 9px;
        margin-left: 10px;
        background-color: #488aa0;
        border-radius: 12px;
    }

    .bubble04:before {
        content: '';
        position: absolute;
        display: block;
        border-style: solid;
        border-color: transparent #488aa0;
        border-width: 10px 10px 10px 0;
        top: 50%;
        left: -10px;
        margin-top: -10px;
    }
}

@media screen and (max-width: 768px) {
    .kessai {
        text-align: left;
        padding-left: 8px;
        padding-right: 8px;
    }
}

@media screen and (min-width: 769px) {
    .kessai {
        text-align: left;
        padding-left: 12px;
        padding-right: 12px;
    }
}

.kessai a {
    color: black;
}

.kessai a:visited {
    color: black;
}

@media screen and (max-width: 768px) {
    .faq_content {
        width: 100%;
        background-color: #FFF;
        border-radius: 6px;
        margin-bottom: 10px;
    }
}

@media screen and (min-width: 769px) {
    .faq_content {
        margin: 0 auto;
        width: 50%;
        background-color: #FFF;
        border-radius: 6px;
        margin-bottom: 10px;
    }
}

.faq_content2 {
    padding: 10px;
}

.faq_q {
    padding-left: 5px;
    padding-right: 5px;
    color: #FFF;
    font-weight: bold;
    width: 2em;
    height: 1.5em;
    border-radius: 40%;
    background-color: #89B700;
    /* 適宜、円形要素に影をつけるための設定 */
}

.faq_a {
    padding-left: 5px;
    padding-right: 5px;
    color: #FFF;
    font-weight: bold;
    width: 2em;
    height: 1.5em;
    border-radius: 40%;
    background-color: #bf1e1e;
    /* 適宜、円形要素に影をつけるための設定 */
}

.more {
    font-size: 1em;
    cursor: pointer;
    font-weight: bold;
    color: #535151;
    margin-top: 10px;
    text-decoration: underline;
}

.more_news_btn {
    text-align: center;
    font-size: 1em;
    cursor: pointer;
    font-weight: bold;
    color: #535151;
    margin-top: 10px;
    text-decoration: underline;
}

.more_dantai_btn {
    text-align: center;
    font-size: 1em;
    cursor: pointer;
    font-weight: bold;
    color: #535151;
    text-decoration: underline;
}

.more_dantai_btn_red {
    text-align: center;
    font-size: 1em;
    cursor: pointer;
    font-weight: bold;
    color: #D91718;
    text-decoration: underline;
}

@media screen and (max-width: 768px) {
    .mike_access {
        text-align: center;
        width: 70%;
        height: auto;
    }
}

@media screen and (min-width: 769px) {
    .mike_access {
        text-align: center;
        width: 350px;
        height: auto;
    }
}

.setting_icon {
    margin-top: 4px;
    width: 50px;
    height: auto;
}

@media screen and (max-width: 768px) {
    .setting_iphone {
        width: 80%;
        height: auto;
    }
}

@media screen and (min-width: 769px) {
    .setting_iphone {
        width: 432px;
        height: auto;
    }
}

.total_all_text_box {
    text-align: center;
}

.total_all_text {
    font-size: 2em;
    color: #a61f1f;
    font-weight: bold;
}

.total_all_text_ave {
    font-size: 2em;
    color: #a61f1f;
    font-weight: bold;
}

.total_all_study1 {
    font-size: 2em;
    color: #a61f1f;
    font-weight: bold;
}

.total_all_study2 {
    font-size: 2em;
    color: #a61f1f;
    font-weight: bold;
}

.total_all_text_kaiwa {
    font-size: 2em;
    color: #a61f1f;
    font-weight: bold;
}

.total_all_text2 {
    font-size: 1em;
    font-weight: bold;
    color: #434547;
}

#total_all_text {
    margin-top: 20px;
    width: 100%;
    background-color: #FFF;
    border-radius: 6px;
}

.total_all_text_parts {
    margin-top: 20px;
    width: 100%;
    background-color: #FFF;
    border-radius: 6px;
}

.speakL_data {
    text-align: center;
    font-size: 1.1em;
    color: #525050;
    margin-top: 10px;
    margin-bottom: 10px;
}

#one_point_loading {
    margin: 0 auto;
}

.one_point_loading {
    text-align: center;
    width: 40px;
    height: auto;
}

.left {
    padding-left: 8px;
    padding-right: 8px;
    text-align: left;
}

@media screen and (max-width: 768px) {
    .bigger_text {
        position: absolute;
        bottom: 40px;
        left: 50%;
        /* 横方向の中央配置 */
        transform: translateX(-50%);
        /* 横方向の中央配置 */
        font-size: 1em;
        font-weight: bold;
        color: #4b6b85;
    }
}

@media screen and (min-width: 769px) {
    .bigger_text {
        position: absolute;
        bottom: 80px;
        left: 50%;
        /* 横方向の中央配置 */
        transform: translateX(-50%);
        /* 横方向の中央配置 */
        font-size: 1.4em;
        font-weight: bold;
        color: #4b6b85;
    }
}

@media screen and (max-width: 768px) {
    .pub_said {
        text-align: left;
    }
}

@media screen and (min-width: 769px) {
    .pub_said {
        text-align: center;
    }
}

#button4.inverted {
    color: #ff1493;
    background-color: #FFF;
}

.onoff_btm {
    margin-bottom: 10px;
}

.advice_collect {
    color: #a52a2a;
    text-align: left;
    font-weight: bold;
}

.store {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    margin: 0 auto;
}

.app_store {
    max-width: 40%;
    height: auto;
}

.store_text {
    padding-left: 5px;
    padding-right: 5px;
    margin-top: 15px;
    font-size: 0.9em;
}

.store_text a {
    color: black;
}

.store_text a:visited {
    color: black;
}

.custom-swal-qr {
    max-width: 80%;
}

.qr_code {
    text-align: center;
}

.apps {
    text-align: center;
}

a.apple_link,
a.apple_link:visited {
    color: black;
}

.apple_link {
    text-decoration: underline;
}

.dantai {
    text-align: left;
    width: fit-content;
    margin: 0 auto;
    padding-left: 5px;
    padding-right: 5px;
    padding-left: 20xp;
}

.thinking {
    display: none;
    height: 6px;
    width: auto;
}

.clo {
    width: 20px;
    height: 20px;
}

#accent_skip {
    font-weight: bold;
    font-size: 1.1em;
    padding: 5px 8px;
    cursor: pointer;
    border-radius: 6px;
    border-color: #728e1f;
    width: fit-content;
    color: #FFF;
    background: #728e1f;
    box-shadow: none;
    border: none;
}

#accent_result {
    font-size: 1.3em;
    color: #308aaa;
    font-weight: bold;
}

#button2_accent {
    cursor: pointer;
    display: inline-block;
    text-align: center;
    margin-top: 5px;
    margin-bottom: 5px;
    color: #fff;
    border-radius: 6px;
    border-style: hidden;
    padding: 5px 12px;
    height: 50px;
    font-size: 1em;
    background-color: #576676;
    font-weight: 700;
}

#accent_nigate {
    cursor: pointer;
    display: inline-block;
    text-align: center;
    margin-top: 5px;
    margin-bottom: 5px;
    color: #fff;
    border-radius: 6px;
    border-style: hidden;
    padding: 5px 12px;
    height: 50px;
    font-size: 1.1em;
    background-color: #b22222;
    font-weight: 700;
}

#button3_accent {
    cursor: pointer;
    display: inline-block;
    text-align: center;
    margin-top: 5px;
    margin-bottom: 5px;
    color: #fff;
    border-radius: 6px;
    border-style: hidden;
    padding: 5px 12px;
    height: 50px;
    font-size: 1.1em;
    background-color: #ff1493;
    font-weight: 700;
}

#basic_train {
    margin: 0 auto;
    cursor: pointer;
    display: inline-block;
    text-align: center;
    margin-top: 5px;
    margin-bottom: 5px;
    color: #fff;
    border-radius: 6px;
    border-style: hidden;
    padding: 10px 12px;
    font-size: 1.1em;
    background-color: #23547c;
    font-weight: 700;
    width: 244px;
    max-width: 244px;
}

#basic_train2 {
    margin: 0 auto;
    cursor: pointer;
    display: inline-block;
    text-align: center;
    margin-top: 5px;
    margin-bottom: 5px;
    color: #fff;
    border-radius: 6px;
    border-style: hidden;
    padding: 10px 12px;
    font-size: 1.1em;
    background-color: #23547c;
    font-weight: 700;
    width: 244px;
    max-width: 244px;
}

#free_train {
    margin: 0 auto;
    cursor: pointer;
    display: inline-block;
    text-align: center;
    margin-top: 5px;
    margin-bottom: 5px;
    color: #fff;
    border-radius: 6px;
    border-style: hidden;
    padding: 10px 12px;
    font-size: 1.1em;
    background-color: #23547c;
    font-weight: 700;
    width: 244px;
    max-width: 244px;
}

#accent_train {
    margin: 0 auto;
    cursor: pointer;
    display: inline-block;
    text-align: center;
    margin-top: 5px;
    margin-bottom: 5px;
    color: #fff;
    border-radius: 6px;
    border-style: hidden;
    padding: 10px 12px;
    font-size: 1.1em;
    background-color: #23547c;
    font-weight: 700;
    width: 244px;
    max-width: 244px;
}

#free_tell {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    cursor: pointer;
    text-align: center;
    margin-top: 5px;
    margin-bottom: 5px;
    color: #fff;
    border-radius: 6px;
    border-style: hidden;
    padding: 10px 12px;
    font-size: 1.1em;
    background-color: #23547c;
    font-weight: 700;
    width: 220px;
    max-width: 220px;
    /* Set width to fit its content */
}

#teddy_a {
    display: flex;
    align-items: center;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    cursor: pointer;
    text-align: center;
    margin-top: 10px;
    margin-bottom: 5px;
    color: #fff;
    border-radius: 6px;
    border-style: hidden;
    padding: 10px 12px;
    font-size: 1.1em;
    font-weight: 700;
    background-color: #23547c;
    width: 220px;
    max-width: 220px;
}

#top_menu {
    cursor: pointer;
    display: inline-block;
    text-align: center;
    margin-top: 25px;
    margin-bottom: 5px;
    color: #fff;
    border-radius: 6px;
    border-style: hidden;
    padding: 5px 12px;
    height: 50px;
    font-size: 1em;
    background-color: #576676;
    font-weight: 700;
}

#start_accent {
    cursor: pointer;
    display: inline-block;
    text-align: center;
    margin-top: 5px;
    margin-bottom: 5px;
    color: #fff;
    border-radius: 50%;
    border-style: hidden;
    padding: 5px 12px;
    height: 100px;
    width: 100px;
    font-size: 1.1em;
    background-color: #ff1493;
    font-weight: 700;
}

#stop_accent {
    cursor: pointer;
    display: inline-block;
    text-align: center;
    margin-top: 5px;
    margin-bottom: 5px;
    color: #fff;
    border-radius: 50%;
    border-style: hidden;
    padding: 5px 12px;
    height: 100px;
    width: 100px;
    font-size: 1.1em;
    background-color: #ca3309;
    font-weight: 700;
}

#accent_ok {
    cursor: pointer;
    display: inline-block;
    text-align: center;
    margin-top: 8px;
    margin-bottom: 5px;
    color: #fff;
    border-radius: 12px;
    border-style: hidden;
    padding: 5px 10px;
    height: 40px;
    font-size: 1.2em;
    background-color: #ff1493;
    font-weight: 700;
}

#accent_skip {
    font-weight: bold;
    font-size: 1.1em;
    padding: 5px 8px;
    cursor: pointer;
    border-radius: 6px;
    border-color: #728e1f;
    width: fit-content;
    color: #FFF;
    background: #728e1f;
}

#accent_result {
    font-size: 1.3em;
    color: #308aaa;
    font-weight: bold;
}

.speak_turn {
    text-align: center;
    height: 25px;
    width: auto;
}

.speak_turn_box {
    height: 25px;
}

.for_member {
    text-align: left;
}

.voicetalk {
    width: 100%;
    margin-bottom: 15px;
}

.header_ani {
    position: relative;
    text-align: center;
    background: linear-gradient(60deg, rgba(146, 170, 198, 1) 0%, rgba(0, 172, 193, 1) 100%);
    color: white;
}

.inner-header {
    height: 100vh;
    width: 100%;
    margin: 0;
    padding: 0;
}

.flex {
    /*Flexbox for containers*/
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}

.waves {
    position: relative;
    width: 100%;
    height: 15vh;
    margin-bottom: -7px;
    /*Fix for safari gap*/
    min-height: 100px;
    max-height: 150px;
}


/* Animation */

.parallax>use {
    animation: move-forever 25s cubic-bezier(.55, .5, .45, .5) infinite;
}

.parallax>use:nth-child(1) {
    animation-delay: -2s;
    animation-duration: 7s;
}

.parallax>use:nth-child(2) {
    animation-delay: -3s;
    animation-duration: 10s;
}

.parallax>use:nth-child(3) {
    animation-delay: -4s;
    animation-duration: 13s;
}

.parallax>use:nth-child(4) {
    animation-delay: -5s;
    animation-duration: 20s;
}

@keyframes move-forever {
    0% {
        transform: translate3d(-90px, 0, 0);
    }

    100% {
        transform: translate3d(85px, 0, 0);
    }
}


/*Shrinking for mobile*/

@media (max-width: 768px) {
    .waves {
        height: 60px;
        min-height: 60px;
    }
}

#footer_contents {
    position: fixed;
    bottom: 0;
}

.basic_q {
    border: none;
    padding: 5px 10px;
    margin-top: 3px;
    margin-right: 5px;
    margin-bottom: 8px;
    font-size: 1em;
    cursor: pointer;
    border-radius: 6px;
    width: fit-content;
    color: #FFF;
    font-weight: bold;
    background: #23547c;
}

.red2 {
    background: #D91718;
}

@media screen and (max-width: 768px) {
    .basic_q {
        padding: 5px 10px;
    }
}

@media screen and (min-width: 769px) {
    .basic_q {
        padding: 10px 15px;
    }
}

.lesson_msg {
    text-align: left;
    color: #244058;
}

.next {
    margin-top: 15px;
    cursor: pointer;
    display: inline-block;
    text-align: center;
    color: #fff;
    border-radius: 6px;
    border-style: hidden;
    padding: 10px 10px;
    background-color: #ff1493;
    font-weight: 700;
    font-size: 1.1em;
    margin-bottom: 20px;
}

.active-button2 {
    background-color: #89B700;
}

#basic_setsumon {
    text-align: left;
}

.teacher_text {
    font-weight: bold;
    color: #6e9657;
}

.mohan_text {
    font-weight: bold;
    color: #4d4f4c;
    font-size: 0.9em;
}

.Your_sentence {
    font-weight: bold;
    color: #6495ed;
}

#chart01 {
    pointer-events: none;
}

#ok_button.inverted {
    color: #FFF;
    background-color: #6b84b3;
}

.Level_tittle {
    text-align: center;
    font-size: 0.9em;
    color: #2a657b;
    font-weight: bold;
}

.app_for_sm {
    margin-top: 5px;
}

@media screen and (max-width: 768px) {
    .group_nagara {
        font-size: 0.9em;
        color: #566a90;
        text-align: left;
    }
}

@media screen and (min-width: 769px) {
    .group_nagara {
        font-size: 0.9em;
        color: #566a90;
        text-align: center;
    }
}

.yajirushi {
    color: #89B700;
    padding-left: 3px;
    padding-right: 3px;
    font-weight: bold;
}

#mailtext_group {
    padding: 4px;
}

@media screen and (max-width: 768px) {
    #niyou_group {
        padding: 4px;
        font-size: 1em;
        width: 95%;
    }
}

@media screen and (min-width: 769px) {
    #niyou_group {
        padding: 4px;
        font-size: 1em;
        width: 75%;
    }
}

.group_toiawase {
    margin: 0 auto;
    text-align: center;
    font-weight: bold;
    font-size: 1em;
    padding: 5px 20px;
    cursor: pointer;
    border-radius: 4px;
    cursor: pointer;
    border-color: #728e1f;
    width: 120px;
    color: #FFF;
    background: #728e1f;
    margin-bottom: 15px;
}

.Email_address {
    font-weight: bold;
    color: #566a90;
}

@media screen and (max-width: 768px) {
    .student_data {
        margin: 0 auto;
        width: 100%;
        height: auto;
    }
}

@media screen and (min-width: 769px) {
    .student_data {
        margin: 0 auto;
        width: 100%;
        height: auto;
    }
}

.check_link {
    font-weight: bold;
    color: #2c8caf;
}

.bamen {
    background-color: #FFF;
    border-radius: 6px;
    padding: 10px;
}

.bamen_btn {
    text-align: center;
    border: none;
    padding: 5px 10px;
    margin-top: 3px;
    margin-right: 5px;
    margin-bottom: 8px;
    font-size: 0.9em;
    cursor: pointer;
    border-radius: 6px;
    width: fit-content;
    color: #FFF;
    font-weight: bold;
    background-color: #576676;
}

@media screen and (max-width: 768px) {
    .bamen_btn {
        padding: 5px 10px;
    }
}

@media screen and (min-width: 769px) {
    .bamen_btn {
        padding: 10px 15px;
    }
}

#textInput {
    border-radius: 5px;
    font-weight: bold;
    line-height: 1.2em;
    width: 90%;
    font-size: 1em;
    color: #FFF;
    margin: 0 auto;
    background: #253256;
}

#textInput_bamen {
    padding-left: 5px;
    padding-top: 5px;
    border-radius: 5px;
    line-height: 1.2em;
    width: 99%;
    font-size: 1em;
    margin: 0 auto;
    background: #FFF;
    border: 1px solid #54685e;
}

.button-container_bamen {
    display: flex;
    justify-content: center;
}

.send_bamen,
.send_bamen_close {
    text-align: center;
    margin-top: 20px;
    margin-bottom: 20px;
    font-weight: bold;
    font-size: 1em;
    padding: 5px 15px;
    cursor: pointer;
    border-radius: 6px;
    width: fit-content;
    color: #FFF;
    background: #413e3f;
    margin-right: 10px;
    /* ボタン間の間隔 */
}

#current_lesson {
    font-weight: bold;
    color: #324d72;
}

.small_text3 {
    text-align: center;
    font-size: 0.8em;
}

.small_text3_left {
    text-align: left;
    font-size: 0.8em;
}

@media screen and (max-width: 768px) {
    .small_text3_center_left {
        text-align: left;
        font-size: 0.8em;
    }
}

@media screen and (min-width: 769px) {
    .small_text3_center_left {
        text-align: center;
        font-size: 0.8em;
    }
}

.reloclub {
    font-size: 1.2em;
    color: #a52a2a;
    font-weight: bold;
    margin-bottom: 15px;
}

@media screen and (max-width: 768px) {
    .alisa_rest_overlay {
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.9);
        z-index: 3;
    }
}

@media screen and (min-width: 769px) {
    .alisa_rest_overlay {
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        width: 384px;
        height: 240px;
        background: rgba(0, 0, 0, 0.9);
        z-index: 3;
    }
}

@media screen and (max-width: 768px) {
    .zoon2 {
        position: absolute;
        width: fit-content;
        top: 1%;
        right: 0%;
        font-size: 0.9em;
        color: #FFF;
        font-weight: bold;
        text-align: right;
        width: 25px;
        height: auto;
        z-index: 4;
    }
}

@media screen and (min-width: 769px) {
    .zoon2 {
        position: absolute;
        width: fit-content;
        top: -2%;
        right: -3%;
        font-size: 0.9em;
        color: #FFF;
        font-weight: bold;
        text-align: right;
        width: 25px;
        height: auto;
        z-index: 4;
    }
}

.q_speaker2 {
    margin-top: 2px;
    cursor: pointer;
    width: 30px;
    height: 30px;
}

#q_speaker2 {
    text-align: center;
}

.popup-container_tell {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.75);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1000;
}

.popup-content_tell {
    background-color: #fff;
    padding: 20px;
    border-radius: 5px;
    text-align: center;
    width: 80%;
    max-width: 600px;
    min-height: 90%;
    min-width: 90%;
}


/* イコライザー風アニメーションの基本スタイル */

.talking_tell {
    display: inline-block;
    width: 2px;
    height: 10px;
    background: #ff6347;
    margin: 0 5px;
    animation: equalize 0.8s infinite ease-in-out;
    transform-origin: bottom;
}


/* アニメーションの高さをカスタマイズ */

@keyframes equalize {

    0%,
    100% {
        transform: scaleY(1);
    }

    50% {
        transform: scaleY(4);
    }

    /* 2倍の高さまで伸ばす */
}

.talking_tell:nth-child(1) {
    animation: equalize1 0.7s infinite ease-in-out;
}

.talking_tell:nth-child(2) {
    animation: equalize2 0.8s infinite ease-in-out;
}

.talking_tell:nth-child(3) {
    animation: equalize3 0.9s infinite ease-in-out;
}

.talking_tell:nth-child(4) {
    animation: equalize4 0.6s infinite ease-in-out;
}

.talking_tell:nth-child(5) {
    animation: equalize3 0.5s infinite ease-in-out;
}

.talking_tell:nth-child(6) {
    animation: equalize2 0.3s infinite ease-in-out;
}

.talking_tell:nth-child(7) {
    animation: equalize1 0.7s infinite ease-in-out;
}

@keyframes equalize1 {

    0%,
    100% {
        transform: scaleY(0.5);
    }

    /* 最も低い */
    50% {
        transform: scaleY(1);
    }
}

@keyframes equalize2 {

    0%,
    100% {
        transform: scaleY(0.75);
    }

    /* 低い */
    50% {
        transform: scaleY(1.5);
    }
}

@keyframes equalize3 {

    0%,
    100% {
        transform: scaleY(1);
    }

    /* 中間の高さ */
    50% {
        transform: scaleY(2);
    }
}

@keyframes equalize4 {

    0%,
    100% {
        transform: scaleY(1.25);
    }

    /* 最も高い */
    50% {
        transform: scaleY(2.5);
    }
}


/* それぞれのバーにアニメーションを適用 */

.talking_tell:nth-child(1),
.talking_tell:nth-child(7) {
    animation-name: equalize1;
}

.talking_tell:nth-child(2),
.talking_tell:nth-child(6) {
    animation-name: equalize2;
}

.talking_tell:nth-child(3),
.talking_tell:nth-child(5) {
    animation-name: equalize3;
}

.talking_tell:nth-child(4) {
    animation-name: equalize4;
}

.text_honyaku_tell {
    padding-top: 0px;
    display: flex;
    justify-content: center;
    text-align: center;
    height: 8px;
}

.online-status {
    display: flex;
    align-items: center;
}

.online-indicator {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background-color: #4c7894;
    animation: blinkAnimation 1.5s infinite;
}

.online-line {
    flex-grow: 1;
    height: 2px;
    background-color: #4c7894;
    margin: 0 10px;
}

@keyframes blinkAnimation {

    0%,
    100% {
        opacity: 1;
    }

    50% {
        opacity: 0.1;
    }
}

.online-status_parent {
    margin: 0 auto;
    width: 40%;
}

.tell {
    padding-left: 4px;
    width: 40px;
    height: auto;
}

.tell_icon {
    padding-left: 4px;
    width: 30px;
    height: auto;
}

.checkmark009 {
    padding-right: 5px;
    padding-left: 24px;
    position: relative;
}

.checkmark009:before,
.checkmark009:after {
    content: "";
    display: block;
    position: absolute;
}

.checkmark009:before {
    width: 1.1em;
    height: 1.1em;
    border-radius: 0.7em;
    background: #14ba17;
    border: 1px solid #14ba17;
    left: 0;
    top: 0.1em;
}

.checkmark009:after {
    border-left: 3px solid #FFF;
    border-bottom: 3px solid #FFF;
    width: 0.5em;
    height: 0.3em;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    left: 0.3em;
    top: 0.4em;
}

.checkmark009a {
    padding-right: 5px;
    padding-left: 24px;
    position: relative;
}

.checkmark009a:before,
.checkmark009a:after {
    content: "";
    display: block;
    position: absolute;
}

.checkmark009a:before {
    width: 1.1em;
    height: 1.1em;
    border-radius: 0.7em;
    background: #14ba17;
    border: 1px solid #14ba17;
    left: 0;
    top: 0.1em;
}

.checkmark009a:after {
    border-left: 3px solid #FFF;
    border-bottom: 3px solid #FFF;
    width: 0.5em;
    height: 0.3em;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    left: 0.3em;
    top: 0.4em;
}

.checkmark010 {
    padding-right: 5px;
    padding-left: 24px;
    position: relative;
}

.checkmark010:before,
.checkmark010:after {
    content: "";
    display: block;
    position: absolute;
}

.checkmark010:before {
    width: 1.1em;
    height: 1.1em;
    border-radius: 0.7em;
    background: #b6409a;
    border: 1px solid #b6409a;
    left: 0;
    top: 0.1em;
}

.checkmark010:after {
    border-left: 3px solid #FFF;
    border-bottom: 3px solid #FFF;
    width: 0.5em;
    height: 0.3em;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    left: 0.3em;
    top: 0.4em;
}

.checkmark010a {
    padding-right: 5px;
    padding-left: 24px;
    position: relative;
}

.checkmark010a:before,
.checkmark010a:after {
    content: "";
    display: block;
    position: absolute;
}

.checkmark010a:before {
    width: 1.1em;
    height: 1.1em;
    border-radius: 0.7em;
    background: #b6409a;
    border: 1px solid #b6409a;
    left: 0;
    top: 0.1em;
}

.checkmark010a:after {
    border-left: 3px solid #FFF;
    border-bottom: 3px solid #FFF;
    width: 0.5em;
    height: 0.3em;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    left: 0.3em;
    top: 0.4em;
}

.checkbox-auto-correct {
    margin-top: 8px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    margin-bottom: 5px;
}

.jidou {
    color: #464c5a;
}

.checkbox-auto-correct label {
    margin-left: 5px;
}

.info_awesome {
    color: #c0bcb7;
    font-size: 1.1em;
    padding-left: 2px;
}

.checkbox-auto-correct input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    width: 20px;
    height: 20px;
    border: 2px solid #ccc;
    border-radius: 4px;
    background-color: white;
    outline: none;
    cursor: pointer;
}

.checkbox-auto-correct input[type="checkbox"]:checked {
    background-color: #23547c;
    border-color: #23547c;
}

.checkbox-auto-correct input[type="checkbox"]:checked::before {
    content: "\2713";
    display: block;
    width: 100%;
    height: 100%;
    text-align: center;
    line-height: 20px;
    color: white;
    font-size: 14px;
}

@media screen and (max-width: 768px) {
    .accent_sample {
        text-align: left;
        color: rgb(68, 69, 68);
        font-weight: bold;
    }

    .accent_users {
        text-align: left;
        font-weight: bold;
    }

    .accent_result_kao {
        font-size: 1.1em;
    }
}

@media screen and (min-width: 769px) {
    .accent_sample {
        text-align: left;
        color: rgb(68, 69, 68);
        font-weight: bold;
    }

    .accent_users {
        text-align: left;
        font-weight: bold;
    }

    .accent_result_kao {
        font-size: 1.1em;
    }
}

.basic_menu {
    text-align: left;
}

.now_in {
    font-size: 1.1em;
    color: #ff1493;
}

.pdf {
    font-size: 1.1em;
    font-weight: bold;
    text-decoration: underline;
    color: #89B700;
    cursor: pointer;
}

.hatsuon-button {
    font-size: 0.8em;
    cursor: pointer;
    display: inline-block;
    margin-top: 5px;
    color: #fff;
    border-radius: 8px;
    border-style: hidden;
    padding: 2px 3px;
    height: fit-content;
}

.level2 {
    background-color: #89B700;
    -webkit-box-shadow: 0 5px 0 #668606;
    box-shadow: 0 5px 0 #668606;
}

.level1 {
    background-color: #FF9900;
    -webkit-box-shadow: 0 5px 0 #d98507;
    box-shadow: 0 5px 0 #d98507;
}

.level3 {
    background-color: #00bfff;
    -webkit-box-shadow: 0 5px 0 #0783ad;
    box-shadow: 0 5px 0 #0783ad;
}

.popup_alisa {
    cursor: pointer;
    text-align: center;
    position: fixed;
    left: 30px;
    z-index: 97;
    width: 60px;
    height: 60px;
    background-color: transparent;
}

@media screen and (max-width: 768px) {
    .popup_alisa {
        bottom: 31px;
    }
}

@media screen and (min-width: 769px) {
    .popup_alisa {
        bottom: 97px;
    }
}

.popup_alisa_level {
    cursor: pointer;
    text-align: center;
    position: fixed;
    left: 5px;
    z-index: 97;
    background-color: transparent;
}

@media screen and (max-width: 768px) {
    .popup_alisa_level {
        bottom: 8px;
    }
}

@media screen and (min-width: 769px) {
    .popup_alisa_level {
        bottom: 70px;
    }
}

@keyframes float_teddy {
    0% {
        transform: translateY(0px);
    }

    50% {
        transform: translateY(-10px);
    }

    100% {
        transform: translateY(0px);
    }
}

.popup_alisa {
    animation: float_teddy 3s ease-in-out infinite;
}

.hatsuon-button-a {
    font-size: 0.8em;
    cursor: pointer;
    display: inline-block;
    margin-top: 5px;
    color: #fff;
    border-radius: 8px;
    border-style: hidden;
    padding: 2px 3px;
    height: fit-content;
}

.level1-a {
    background-color: #FF9900;
    -webkit-box-shadow: 0 5px 0 #d98507;
    box-shadow: 0 5px 0 #d98507;
    margin-right: 3px;
}

.level2-a {
    background-color: #89B700;
    -webkit-box-shadow: 0 5px 0 #759908;
    box-shadow: 0 5px 0 #759908;
    margin-right: 3px;
}

.level3-a {
    background-color: #00bfff;
    -webkit-box-shadow: 0 5px 0 #09a9df;
    box-shadow: 0 5px 0 #09a9df;
    margin-right: 3px;
}

.teddy_icon {
    padding-left: 4px;
    width: 30px;
    height: auto;
}

.alertbook {
    width: 80%;
    max-width: 600px;
    height: auto;
}

.sound_equalizer {
    z-index: 5;
    position: absolute;
    bottom: 0%;
    right: 0%;
    left: 0%;
    height: 50px;
    display: none;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    gap: 3px;
    width: 100%;
    height: 100px;
    padding: 1px;
    border-radius: 10px;
    overflow: hidden;
}

.equalizer_bar {
    width: 8px;
    background-color: #a9a9a9;
    height: 20%;
    transition: height 0.1s ease-out;
}


/* 動きをランダム化するために異なる遅延を設定 */

.equalizer_bar:nth-child(1) {
    animation-delay: 0.1s;
}

.equalizer_bar:nth-child(2) {
    animation-delay: 0.2s;
}

.equalizer_bar:nth-child(3) {
    animation-delay: 0.3s;
}

.equalizer_bar:nth-child(4) {
    animation-delay: 0.4s;
}

.equalizer_bar:nth-child(5) {
    animation-delay: 0.5s;
}


/* アニメーションの定義 */

@keyframes bounce {

    0%,
    100% {
        height: 15%;
    }

    50% {
        height: 100%;
    }
}

.how_to_cancel {
    text-decoration: underline;
    color: #89B700;
    font-weight: bold;
}

.advice_result_anime {
    position: fixed;
    top: 40%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 48px;
    font-weight: bold;
    text-align: center;
    z-index: 9999;
    opacity: 0;
    color: #FF9900;
    ;
    text-shadow: 3px 3px 6px rgba(0, 0, 0, 0.3);
    width: 100%;
    pointer-events: none;
}

@keyframes bounce {

    0%,
    20%,
    50%,
    80%,
    100% {
        transform: translate(-50%, -50%);
    }

    40% {
        transform: translate(-50%, -60%);
    }

    60% {
        transform: translate(-50%, -40%);
    }
}

@keyframes glow {
    0% {
        text-shadow: 0 0 10px rgba(255, 153, 0, 0.7);
    }

    50% {
        text-shadow: 0 0 30px rgba(255, 153, 0, 1);
    }

    100% {
        text-shadow: 0 0 10px rgba(255, 153, 0, 0.7);
    }
}

.animate-message {
    opacity: 1;
    animation: bounce 1.2s ease-in-out 1, glow 2.0s ease-in-out infinite;
}

.advice_result_anime {
    position: fixed;
    top: 40%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 48px;
    font-weight: bold;
    text-align: center;
    z-index: 9999;
    opacity: 0;
    color: #FF9900;
    ;
    text-shadow: 3px 3px 6px rgba(0, 0, 0, 0.3);
    width: 100%;
    pointer-events: none;
}

@keyframes bounce {

    0%,
    20%,
    50%,
    80%,
    100% {
        transform: translate(-50%, -50%);
    }

    40% {
        transform: translate(-50%, -60%);
    }

    60% {
        transform: translate(-50%, -40%);
    }
}

@keyframes glow {
    0% {
        text-shadow: 0 0 10px rgba(255, 153, 0, 0.7);
    }

    50% {
        text-shadow: 0 0 30px rgba(255, 153, 0, 1);
    }

    100% {
        text-shadow: 0 0 10px rgba(255, 153, 0, 0.7);
    }
}

.animate-message {
    opacity: 1;
    animation: bounce 1.2s ease-in-out 1, glow 2.0s ease-in-out infinite;
}

.advice_result_anime {
    position: fixed;
    top: 30%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 48px;
    font-weight: bold;
    text-align: center;
    z-index: 9999;
    opacity: 0;
    color: #FF9900;
    ;
    text-shadow: 3px 3px 6px rgba(0, 0, 0, 0.3);
    width: 100%;
    pointer-events: none;
}

@keyframes bounce {

    0%,
    20%,
    50%,
    80%,
    100% {
        transform: translate(-50%, -50%);
    }

    40% {
        transform: translate(-50%, -60%);
    }

    60% {
        transform: translate(-50%, -40%);
    }
}

@keyframes glow {
    0% {
        text-shadow: 0 0 10px rgba(255, 153, 0, 0.7);
    }

    50% {
        text-shadow: 0 0 30px rgba(255, 153, 0, 1);
    }

    100% {
        text-shadow: 0 0 10px rgba(255, 153, 0, 0.7);
    }
}

.animate-message {
    opacity: 1;
    animation: bounce 1.2s ease-in-out 1, glow 2.0s ease-in-out infinite;
}

.advice_result_anime_accent {
    position: fixed;
    top: 20%;
    left: 50%;
    transform: translate(-50%, 0);
    font-size: 19px;
    font-weight: bold;
    text-align: left;
    z-index: 9999;
    opacity: 0;
    color: #66ccff;
    background-color: white;
    padding: 15px 25px;
    border-radius: 10px;
    width: auto;
    max-width: 80%;
    pointer-events: none;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    perspective: 1000px;
}

@media screen and (max-width: 768px) {
    .advice_result_anime_accent {
        font-size: 13px;
    }
}

.advice_result_anime_accent:after {
    content: '';
    position: absolute;
    top: -10px;
    left: 40%;
    width: 0;
    height: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-bottom: 10px solid white;
}

@keyframes flip3DWithBubble {
    0% {
        transform: translate(-50%, 0) rotateX(90deg);
        opacity: 0;
    }

    25% {
        transform: translate(-50%, 0) rotateX(0deg);
        opacity: 1;
    }

    75% {
        transform: translate(-50%, 0) rotateX(0deg);
        opacity: 1;
    }

    100% {
        transform: translate(-50%, 0) rotateX(-90deg);
        opacity: 0;
    }
}

@keyframes scaleBubble {

    0%,
    100% {
        transform: translate(-50%, 0) scale(1);
    }

    50% {
        transform: translate(-50%, 0) scale(1.1);
    }
}

@keyframes softGlowBubble {

    0%,
    100% {
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    }

    50% {
        box-shadow: 0 0 15px rgba(102, 204, 255, 0.6);
    }
}

.animate-message-accent {
    opacity: 1;
    animation: flip3DWithBubble 3s ease-in-out 1, softGlowBubble 3s ease-in-out infinite;
}

.animate-message-accent.active {
    animation: flip3DWithBubble 3s ease-in-out 1, scaleBubble 0.5s ease-in-out 0.5s 2, softGlowBubble 3s ease-in-out infinite;
    animation-fill-mode: forwards;
}

.advice_result_anime_visit {
    position: fixed;
    top: 20px;
    right: 10%;
    font-size: 19px;
    font-weight: bold;
    text-align: left;
    z-index: 9999;
    opacity: 0;
    color: #66ccff;
    background-color: white;
    padding: 15px 25px;
    border-radius: 10px;
    width: auto;
    max-width: 80%;
    pointer-events: none;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    perspective: 1000px;
}

@media screen and (max-width: 768px) {
    .advice_result_anime_visit {
        font-size: 13px;
        top: 20px;
        right: 5px;
        max-width: 95%;
    }

    .animate-message-visit,
    .animate-message-visit.active {
        animation: none !important;
        transform: none !important;
        opacity: 1;
    }
}

.advice_result_anime_visit:after {
    content: '';
    position: absolute;
    bottom: -10px;
    left: 25%;
    width: 0;
    height: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 10px solid white;
}

@keyframes flip3DWithBubble {
    0% {
        transform: translate(-50%, 0) rotateX(90deg);
        opacity: 0;
    }

    25% {
        transform: translate(-50%, 0) rotateX(0deg);
        opacity: 1;
    }

    75% {
        transform: translate(-50%, 0) rotateX(0deg);
        opacity: 1;
    }

    100% {
        transform: translate(-50%, 0) rotateX(-90deg);
        opacity: 0;
    }
}

@keyframes scaleBubble {

    0%,
    100% {
        transform: translate(-50%, 0) scale(1);
    }

    50% {
        transform: translate(-50%, 0) scale(1.1);
    }
}

@keyframes softGlowBubble {

    0%,
    100% {
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    }

    50% {
        box-shadow: 0 0 15px rgba(102, 204, 255, 0.6);
    }
}

.animate-message-visit {
    opacity: 1;
    animation: flip3DWithBubble 3s ease-in-out 1, softGlowBubble 3s ease-in-out infinite;
}

.animate-message-visit.active {
    animation: flip3DWithBubble 3s ease-in-out 1, scaleBubble 0.5s ease-in-out 0.5s 2, softGlowBubble 3s ease-in-out infinite;
    animation-fill-mode: forwards;
}

.contents_part {
    width: 95%;
    padding-left: 2%;
}


/* ボタンを基準要素にする（バッジの位置合わせ用） */

.basic_q {
    position: relative;
    overflow: visible;
    /* 念のため。角でクリップされないように */
}


/* 右上バッジ化（左インデントを無効化） */

.checkmark007,
.checkmark009,
.checkmark010 {
    padding-left: 0 !important;
    padding-right: 0 !important;
    position: static;
    /* 既存の相対配置を打ち消す想定 */
    /* 調整しやすいようにサイズ/オフセットを変数化 */
    --cm-size: 0.85em;
    /* バッジ直径（小さめ） */
    --cm-top: -0.15em;
    /* 上オフセット */
    --cm-right: -0.15em;
    /* 右オフセット */
}


/* 丸バッジ（::before）と✓（::after）を右上に絶対配置 */

.checkmark007::before,
.checkmark007::after,
.checkmark009::before,
.checkmark009::after,
.checkmark010::before,
.checkmark010::after {
    position: absolute;
    content: "";
    display: block;
    pointer-events: none;
    /* クリック操作を妨げない */
    z-index: 1;
}


/* 丸（色は既存定義を利用。ここでは位置とサイズだけ上書き） */

.checkmark007::before,
.checkmark009::before,
.checkmark010::before {
    width: var(--cm-size);
    height: var(--cm-size);
    border-radius: 50%;
    top: var(--cm-top);
    right: var(--cm-right);
    /* 既存では left/top による左側配置だったので打ち消す */
    left: auto !important;
}


/* ✓の描画（白い2pxライン） */

.checkmark007::after,
.checkmark009::after,
.checkmark010::after {
    border-left: 2px solid #FFF;
    border-bottom: 2px solid #FFF;
    width: calc(var(--cm-size) * .45);
    height: calc(var(--cm-size) * .28);
    transform: rotate(-45deg);
    top: calc(var(--cm-top) + var(--cm-size) * .42);
    right: calc(var(--cm-right) + var(--cm-size) * .27);
    /* 既存の left/top を無効化 */
    left: auto !important;
}


/* 親でカウンタをリセット */

.basic_train_part {
    counter-reset: lesson;
}


/* ボタンの見た目を少し整える（任意） */

.basic_train_part .basic_q::before {
    counter-increment: lesson;
    content: counter(lesson);
    /* 中央寄せを grid で（flex よりブレにくい） */
    display: inline-grid;
    place-items: center;
    width: 1.6em;
    aspect-ratio: 1 / 1;
    /* 正円を保証 */
    border-radius: 50%;
    background: #00ced1;
    color: #fff;
    font-weight: 700;
    font-size: 0.95em;
    /* 少しだけ小さめにすると視覚中心が合いやすい */
    line-height: 1;
    /* 行送りの影響を排除 */
    /* 数字の見え方を安定化（対応フォントのみ効く） */
    font-variant-numeric: tabular-nums lining-nums;
}


/* 丸バッジ */

.basic_train_part .basic_q::before {
    counter-increment: lesson;
    content: counter(lesson);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.6em;
    height: 1.6em;
    border-radius: 50%;
    background: #00ced1;
    color: #fff;
    font-weight: 700;
    line-height: 1;
    /* 文字の縦位置を中央に */
    flex: 0 0 auto;
    margin-inline-end: .3em;
}


/* ロールプレイ用：並び順で①②③…を付ける */

.roll_play_part {
    counter-reset: roll;
}

.roll_play_part .basic_q::before {
    counter-increment: roll;
    content: counter(roll);
    display: inline-grid;
    place-items: center;
    width: 1.6em;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    background: #ffa07a;
    color: #fff;
    font-weight: 700;
    font-size: 0.95em;
    line-height: 1;
    font-variant-numeric: tabular-nums lining-nums;
}

.roll_play_part .basic_q::before {
    counter-increment: roll;
    content: counter(roll);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.6em;
    height: 1.6em;
    border-radius: 50%;
    background: #ffa07a;
    /* 正円の背景色 */
    color: #fff;
    /* 番号の文字色 */
    font-weight: 700;
    line-height: 1;
    flex: 0 0 auto;
    margin-inline-end: .3em;
}

#kikinagashi {
    text-align: center;
    display: none;
    position: fixed;
    left: 20px;
    z-index: 98;
    border: 2px solid #85b0c9;
    padding: 4px;
    padding-left: 10px;
    padding-right: 10px;
    border-radius: 15px;
    color: #23547c;
    font-size: 0.8em;
    font-weight: bold;
    width: fit-content;
    height: fit-content;
    background-color: #faf0e6;
    box-shadow: 0px 2px 2px 1px #bebebe;
    cursor: pointer;
    bottom: 70px;
}

.kikinagashi_icon {
    padding-left: 4px;
    width: 30px;
    height: auto;
}

.hint_many {
    display: block;
    text-align: left;
    border-radius: 15px;
    background-color: #4682b4;
    border-color: #4682b4;
    color: #FFF;
    font-weight: bold;
    padding: 5px;
    font-size: 0.9em;
    padding-left: 10px;
    padding-right: 10px;
    border-style: hidden;
}