/*============================
COMMON
============================*/
.title-area {
    width: 100%;
    height: 50vh;
    margin-bottom: 150px;
    display: flex;
    justify-content: center;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    filter: grayscale(100%);
}
#class .title-area {
    background-image: url(../img/class.jpg);
    background-position: 0px -30px;
}
#price .title-area {
    background-image: url(../img/price.jpg);
    background-position: 0px -220px;
}
#schedule .title-area {
    background-image: url(../img/schedule.jpg);
    background-position: 0px 0px;
}
#topics .title-area {
    background-image: url(../img/class.jpg);
    background-position: 0px -90px;
}
#profile .title-area {
    background-image: url(../img/profile.jpg);
    background-position: 0px -200px;
}
#special .title-area {
    background-image: url(../img/special.jpg);
    background-position: 0px -90px;
}
#voice .title-area {
    background-image: url(../img/voice.jpg);
    background-position: 0px 0px;
}
#q-and-a .title-area {
    background-image: url(../img/qanda.jpg);
    background-position: 0px 0px;
}
#contact .title-area {
    background-image: url(../img/contact.jpg);
    background-position: 0px 0px;
}
#kids .title-area {
    background-image: url(../img/kids.jpg);
    background-position: 0px -120px;
}

.title-area {
    height: 50vh;
    margin-bottom: 150px;
}
.title-area .inner {
    width: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    position: relative;
}
.title-area .inner::after {
    content: "";
    width: 100%;
    height: 5px;
    background-color: #fff;
    position: absolute;
    left: 0;
    right: 0;
    bottom: calc(50% - 5rem - 20px);
    margin: auto;
}

h1 {
    color: #f8f8f8;
    font-size: 5rem;
    font-weight: bold;
    text-align: center;
    text-shadow: 2px 2px 1px rgba(153, 153, 153, 0.8);
}

.h1-jp {
    display: inline-block !important;
    color: #f8f8f8;
    font-size: 1rem;
    text-align: center;
    text-shadow: 2px 2px 1px rgba(153, 153, 153, 0.8);
    font-weight: bold;
}

.content {
    margin-bottom: 150px !important;
}

th,
td {
    border: 1px solid #ccc;
}

@media screen and (min-width: 1025px) {
    /* pc */
    .pc-only {
        display: none;
    }
    .h1-jp {
    }

    .content {
        max-width: 1200px;
        margin: 0 auto;
    }
}
@media screen and (max-width: 480px) {
    /* sp */
    .sp-only {
        display: none;
    }
    .title-area {
        height: auto;
        margin: 0 0 50px;
        padding: calc(150 * (100vw / 480)) 0 calc(100 * (100vw / 480));
    }
    #class .title-area {
        background-position: 50% 50px;
    }
    #price .title-area {
        background-position: 50% 50px;
    }
    #schedule .title-area {
        background-position: 50% 50px;
    }
    #topics .title-area {
        background-position: 50% 50px;
    }
    #profile .title-area {
        background-position: 50% 50px;
    }
    #special .title-area {
        background-position: 50% 50px;
    }
    #voice .title-area,
    #q-and-a .title-area,
    #contact .title-area,
    #kids .title-area {
        background-position: 50% 50px;
    }
    .title-area .inner::after {
        content: "";
        width: 60%;
        height: 3px;
        background-color: #fff;
        position: absolute;
        left: 0;
        right: 0;
        bottom: -20px;
        margin: auto;
    }

    h1 {
        font-size: 3rem;
        font-weight: bold;
        text-align: center;
    }

    .h1-jp {
        margin-bottom: calc(20 * (100vw / 480));
        font-size: 1rem;
        text-align: center;
    }

    .content {
        margin-bottom: calc(150 * (100vw / 480)) !important;
    }
}

/*============================
CLASS
============================*/
#class .img-area {
    position: relative;
    height: 600px;
    overflow: hidden;
}
#class .sliderArea {
    position: relative;
    bottom: 20%;
}
#class .slide-arrow,
#class .slick-track p {
    display: none !important;
}
#class h2 {
    background: rgba(78, 72, 84, 0.8);
    color: #f8f8f8;
    font-weight: bold;
    position: absolute;
}
#class table tr {
    width: 100%;
}
#class table th {
    width: 30%;
    font-weight: bold;
    background: #4e4854;
    text-align: center;
    color: #f8f8f8;
}
#class table td {
    width: 70%;
}
#class table td h3 {
    font-weight: bold;
}
#class table td p {
    margin-top: 10px;
}
#class .grapling table td p {
    margin-top: 0;
}
#class .mma table td p {
    margin-top: 0;
}

/*============================
PRICE
============================*/
#price .price-box {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

#price .price-box._02 {
    margin-bottom: 50px;
}

#price li {
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 300px;
    margin-bottom: 20px;
    padding: 10px;
    box-shadow: 5px 10px 20px rgba(0, 0, 0, 0.25);
    text-align: center;
}
.price li p {
    font-weight: bold;
    font-size: 1rem;
    letter-spacing: 0;
}
#price .price-box._01 li {
    width: calc((100% - 20px) / 2);
}

#price .price-box._02 li {
    width: calc((100% - 20px) / 3);
}

#price .price-box._01 .price-text._01 {
    background-color: #f8f8f8;
}

#price .price-box._01 .price-text._02 {
    color: #f8f8f8;
    background-color: #4e4854;
}

#price .price-box._02 .price-text._01 {
    color: #f8f8f8;
    background-color: #292a2e;
}

#price .price-box._02 .price-text._02 {
    /* color: #f8f8f8; */
    background-color: #c6d800;
}

#price .price-box._02 .price-text._03 {
    color: #f8f8f8;
    background-color: #d48ca4;
}

#price .price-box._02 .price-text._04 {
    /* color: #f8f8f8; */
    background-color: #7bd6e1;
}

#price .price-box._02 .price-text._05 {
    color: #f8f8f8;
    background-color: #f0ae4c;
}

#price .price-box._02 .price-text._06 {
    color: #f8f8f8;
    background-color: #025273;
}

#price h2 {
    font-size: 2.6rem;
    font-weight: bold;
}
#price .price-box._02 .price-text._06 h2 {
    font-size: 2.5rem;
}
#price h3 {
    font-size: 1.2rem;
    font-weight: bold;
}

#price .fee {
    font-weight: bold;
    padding: 10px 0;
    font-size: 1.6rem;
}
#price .text {
    font-weight: bold;
    font-size: 1rem;
    letter-spacing: 0;
}
#price .text-area {
    margin-bottom: 150px;
}
#price table {
    margin: 0 0 20px;
}
#price th,
#price td {
    border: none;
    font-weight: normal;
    font-size: 1rem;
    padding: 5px 20px;
}
#price td {
    padding-left: 30px;
}
#price .text-area h4 {
    margin-bottom: 20px;
    font-size: 1.5rem;
    font-weight: bold;
}
#price .text-area h5 {
    margin-bottom: 10px;
    font-size: 1.3rem;
}
#price .text-area .text {
    margin-bottom: 50px;
    font-weight: normal;
}

/*============================
SCHEDULE
============================*/
#schedule table {
    width: 100%;
    height: 50vh;
    display: block;
    overflow-x: scroll;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
    font-size: 1rem;
    table-layout: fixed;
}
#schedule tbody {
    /* width: 100%; */
}
#schedule table td {
    text-align: center;
    font-size: 0.9rem;
    padding: 0 5px;
}
#schedule .sticky {
    position: sticky;
    top: 0;
    background-color: #4e4854;
    color: #f8f8f8;
}
#schedule .day {
    width: calc(90% / 8);
}
#schedule .holiday {
    width: 100%;
}
#schedule .sticky:before {
    content: "";
    position: absolute;
    top: -1px;
    left: -1px;
    width: 100%;
    height: 100%;
    /* border: 1px solid #ccc; */
}
#schedule .price-box._01 .price-text._01 {
    background-color: #f8f8f8;
}

#schedule .color.grey {
    color: #f8f8f8;
    background-color: #4e4854;
}

#schedule .color.red01 {
    color: #f8f8f8;
    background-color: #d33f49;
}
#schedule .color.red02 {
    background-color: #fcbb76;
}
#schedule .color.red03 {
    /* color: #f8f8f8; */
    background-color: #f15b47;
}
#schedule .color.blue {
    color: #f8f8f8;
    background-color: #083d77;
}

#schedule .color.pink {
    background-color: #ffeaea;
}

#schedule .color.green01 {
    color: #f8f8f8;
    background-color: #17a398;
}
#schedule .color.green02 {
    color: #f8f8f8;
    background-color: #007394;
}

#schedule .color.yellow01 {
    background-color: #ffedb3;
}
#schedule .color.yellow02 {
    background-color: #ffd400;
}
#schedule .color.yellow03 {
    background-color: #f0dc70;
}
#schedule .color.yellow04 {
    background-color: #c9ab53;
}

#schedule .color.brown {
    color: #f8f8f8;
    background-color: #786f52;
}
#schedule .color.kid {
    background: #fff2cc;
    color: #333;
}
#schedule .color.kbb {
    background: #f8cbad;
    color: #333;
}
#schedule .color.kba {
    background: #ff9999;
    color: #333;
}
#schedule .color.kbl {
    background: #fce4d6;
    color: #333;
}
#schedule .color.kbfn {
    background: #fce4d6;
    color: #333;
}
#schedule .color.ksc {
    background: #f781b6;
    color: #333;
}
#schedule .color.bjj {
    background: #a9d08e;
    color: #333;
}
#schedule .color.mma {
    background: #d9e1f1;
    color: #333;
}
#schedule .color.grp {
    background: #d0cece;
    color: #333;
}
#schedule .color.ktr {
    background: #c6e0b4;
    color: #333;
}
#schedule .color.kbf {
    background: #ffcc02;
    color: #333;
}
#schedule .color.grps {
    background: #b0abaa;
    color: #333;
}
#schedule .color.mmaa {
    background: #00aff1;
    color: #333;
}
#schedule .color.okt {
    background: #ffa400;
    color: #333;
}
#schedule .color.lk {
    background: #fed2fb;
    color: #333;
}
#schedule .color.wrest {
    background: #ffff00;
    color: #333;
}
#schedule .color.mma-sp {
    background: #8ea9db;
    color: #333;
}
#schedule .color.bjj-grsp {
    background: #00b050;
}
#schedule .color.junior-kick {
    background: #ffd966;
    color: #333;
}
#schedule .color.pro {
    background: #B7B7B7;
    color: #333;
}
#schedule .color.reserve {
    background: #DEECD5;
    color: #333;
}
#schedule .color.aoobi {
    background: #8EFFC5;
    color: #333;
}
#schedule .color.bgfm {
    background: #C5FF8E;
    color: #333;
}
#schedule .color.mens {
    background: #FFD45B;
    color: #333;
}
#schedule .color.kidkick {
    background: #FEF1C5;
    color: #FF2C8E;
}
#schedule .color.kidbja {
    background: #FEF1C5;
    color: #783513;
}
#schedule .color.kidbjj {
    background: #FEF1C5;
    color: #487730;
}
#schedule .color.grpt {
    background: #D4D4D4;
    color: #333;
}
#schedule .color.grpd {
    background: #B7B7B7;
    color: #333;
}
#schedule .color.spro {
    background: #CBC7C6;
    color: #333;
}
#schedule .color.physical {
    background: #FFFF00;
    color: #333;
}
#schedule .color.wrestling {
    background: #FEE699;
    color: #333;
}



#schedule .linkText {
    margin-bottom: 20px;
}
#schedule .linkText a {
    position: relative;
    text-decoration: none;
}
#schedule .linkText a::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 2px;
    background-color: #4e4854;
    transition: width 0.3s;
}

#schedule .linkText a:hover::after {
    width: 100%;
}
/*============================
TOPICS
============================*/
#topics {
}

#topics ul {
    display: flex;
    justify-content: space-between;
    margin-bottom: 150px;
}

#topics li {
    width: calc(100% / 3 - 20px);
    box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.4);
}

#topics figure {
    box-shadow: none;
}

#topics h3 {
    font-weight: bold;
}

#topics .category {
    border: 1px solid #000;
    border-radius: 50px;
}

/*============================
PROFILE
============================*/
#profile .profile {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: rgba(248, 248, 248, 0.9);
    background-blend-mode: lighten;
    background-size: cover;
    background-repeat: no-repeat;
}
#profile .profile._01 {
    background-image: url(../img/profile01.jpg);
    background-size: cover;
}
#profile .profile._02 {
    background-image: url(../img/profile02.jpg);
    background-size: cover;
}
#profile .profile._03 {
    background-image: url(../img/profile03.jpg);
    background-size: cover;
    background-position: 0px -300px;
    height: 600px;
}
#profile .profile._04 {
    background-image: url(../img/profile04.jpg);
    background-size: cover;
    background-position: 0px -300px;
}
#profile table {
    width: 100%;
}
#profile th,
#profile td {
    font-size: 1.5rem;
    border: none;
}
#profile h2 {
    font-weight: bold;
}
#profile p {
    font-size: 1.1rem;
    line-height: 2;
}
/*============================
SPECIAL
============================*/
#special .content {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
#special iframe {
    width: 100%;
}
#special .text-area {
    text-align: center;
}
/*============================
VOICE
============================*/
#voice li {
    display: flex;
    justify-content: space-between;
}
#voice li .left-content {
    width: 35%;
}
#voice li .left-content figure {
}
#voice li .left-content figure img {
}
#voice li .left-content .text-area {
}
#voice li .left-content .text-area h2 {
    font-size: 1.5rem;
}
#voice li .message {
    width: 65%;
    padding: 0 0 0 40px;
}
#voice li .message p {
    font-size: 1.1rem;
    line-height: 2;
}
@media screen and (max-width: 640px) {
    #voice li {
    }
    #voice li .left-content {
        width: 40%;
        display: block;
        float: left;
        margin: 0 20px 0px 0px;
    }
    #voice li .left-content figure {
        margin: 0 0 20px;
    }
    #voice li .left-content figure img {
    }
    #voice li .left-content .text-area {
    }
    #voice li .left-content .text-area h2 {
        font-size: 1.1rem;
    }
    #voice li .message {
        width: auto;
        padding: 0;
    }
    #voice li .message p {
        font-size: 0.9rem;
    }
}
/*============================
Q&A
============================*/
#q-and-a th,
#q-and-a td {
    border: none;
    font-size: 1rem;
}
#q-and-a th {
    vertical-align: top;
    padding: 10px;
}
/*============================
CONTACT
============================*/
#contact table {
    width: 100%;
    margin: 0 auto;
}
#contact table tr {
    width: 100%;
}
#contact table th {
    width: 30%;
    font-weight: bold;
    background: #4e4854;
    text-align: center;
    font-size: 1.2rem;
    color: #f8f8f8;
}
#contact table td {
    width: 70%;
}
#contact p {
    display: none;
}
#contact table p,#contact .submit p {
    display: block;
}
#contact .your-name input,
#contact .your-phone input,
#contact .your-email input,
#contact .your-email_confirm input,
#contact textarea {
    width: 100%;
    border: 1px solid #ccc;
    border-radius: 5px;
}
#contact input,
#contact textarea {
    font-size: 1rem;
}
#contact .submit {
    text-align: center;
}
#contact .submit input {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-appearance: button;
    appearance: none;
    border-radius: 50px;
    width: 100%;
    font-size: 16px;
    cursor: pointer;
    border: none;
    display: inline-block;
    width: 300px;
    background: #000;
    color: #f8f8f8;
    font-weight: bold;
    margin: 5px 10px;
    padding: 20px 15px;
}
#contact .submit input {
    background-color: #4e4854;
}
#contact .submit span {
    display: none;
}

/*============================
KIDS
============================*/
#kids {
}
#kids .inner {
}
#kids .content {
}
#kids h2.title {
    margin-bottom: 30px;
    padding: 0 0 10px 5px;
    font-family: "Lato", sans-serif;
    font-size: 1.7rem;
    color: #333;
    font-weight: bold;
    position: relative;
}
#kids h2.title::after {
    content: "";
    width: 100%;
    height: 5px;
    background: #333;
    position: absolute;
    bottom: 0;
    left: 0;
}
#kids .class {
    display: flex;
    justify-content: space-between;
}
#kids .class li.list {
    max-width: 365px;
    width: 100%;
    height: 365px;
    position: relative;
}
#kids .class li.list figure {
    width: 100%;
    height: 100%;
}
#kids .class li.list figure img {
    height: 100%;
    object-fit: cover;
    display: block;
}
#kids .class li.list .text-box {
    width: 90%;
    padding: 10px 5px;
    display: inline-block;
    background: rgba(78, 72, 84, 0.9);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
#kids .class li.list .text-box p.title {
    font-family: "Lato", sans-serif;
    font-size: 1.7rem;
    color: #fff;
    font-weight: bold;
    text-align: center;
}
#kids .reason {
    margin-top: 80px;
}
#kids .reason h2.title {
    margin-bottom: 50px;
}
#kids .reason-box {
    display: flex;
    justify-content: space-between;
}
#kids .reason-box .list {
    max-width: 210px;
    width: 100%;
    height: 210px;
    position: relative;
}
#kids .reason-box .list::after {
    font-family: "Lato", sans-serif;
    font-size: 5rem;
    color: #333;
    font-weight: bold;
    text-shadow: 0px 3px 4px #3b3b3b;
    position: absolute;
    top: -52px;
    right: -20px;
}
#kids .reason-box .list._01 {
    background: #c6d800;
}
#kids .reason-box .list._01::after {
    content: "01";
}
#kids .reason-box .list._02 {
    background: #d48ca4;
}
#kids .reason-box .list._02::after {
    content: "02";
}
#kids .reason-box .list._03 {
    background: #f8f8f8;
}
#kids .reason-box .list._03::after {
    content: "03";
}
#kids .reason-box .list._04 {
    background: #f0ae4c;
}
#kids .reason-box .list._04::after {
    content: "04";
}
#kids .reason-box .list._05 {
    background: #7bd6e1;
}
#kids .reason-box .list._05::after {
    content: "05";
}
#kids .reason-box .list p.text {
    width: 100%;
    padding: 0 15px;
    font-size: 1.2rem;
    font-weight: bold;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
#kids .schedule {
    margin-top: 80px;
}
#kids .schedule .text-box {
    padding: 25px 20px;
    background: #f8f8f8;
}
#kids .schedule .text-box li.list {
    margin-bottom: 15px;
    font-size: 1rem;
}
#kids .schedule .text-box li.list:last-child {
    margin: 0;
}
#kids .schedule .text-box li.list span {
    padding: 0 15px;
}
#kids .price {
    margin-top: 80px;
}
#kids .price .text-box {
    padding: 25px 20px;
    background: #f8f8f8;
}
#kids .price .text-box p.text {
    font-size: 1.9rem;
    color: #333;
    font-weight: bold;
}
#kids .price .text-box p.text span {
    padding: 0 10px;
    font-size: 2.5rem;
    color: #ff7c55;
}
#kids .necessities {
    margin-top: 80px;
}
#kids .necessities .text-box {
    padding: 25px 20px;
    background: #f8f8f8;
}
#kids .necessities li.list {
    margin-bottom: 15px;
    font-size: 1rem;
}
#kids .necessities li.list:last-child {
    margin: 0;
}
#kids .necessities li.list span {
    padding-left: 10px;
    font-weight: bold;
}
#kids .retire {
    margin-top: 80px;
}
#kids .retire .text-box {
    padding: 25px 20px;
    background: #f8f8f8;
}
#kids .retire .text-box .text {
    font-size: 1rem;
}

#kids .qa {
    margin-top: 80px;
}
#kids .qa .accordion {
    margin: 0 0 20px;
}
#kids .qa .accordion .accordion_header {
    padding: 25px 50px 25px 20px;
    display: block;
    background: #f8f8f8;
    border-radius: 4px;
    vertical-align: middle;
    text-decoration: none;
    font-size: 1rem;
    font-weight: bold;
    position: relative;
    cursor: pointer;
    transition-duration: 0.2s;
}
#kids .qa .accordion .accordion_header.open {
    border-bottom: none;
}
#kids .qa .accordion .accordion_inner {
    display: none;
    padding: 0 50px 25px 20px;
    box-sizing: border-box;
    background: #f8f8f8;
}
#kids .qa .accordion .accordion_inner .box_one {
    height: auto;
}
#kids .qa .accordion .accordion_inner p.txt_a_ac {
    margin: 0;
    font-size: 1rem;
    font-weight: bold;
}
#kids .qa .accordion .accordion_header::before,
#kids .qa .accordion .accordion_header::after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 40px;
    margin: auto;
    content: "";
    vertical-align: middle;
}
#kids .qa .accordion .accordion_header::before {
    width: 30px;
    height: 30px;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    background: #333;
}
#kids .qa .accordion .accordion_header::after {
    right: 50px;
    width: 10px;
    height: 10px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
}
#kids .qa .accordion .accordion_header.open::before {
    width: 30px;
    height: 30px;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    background: #333;
}
#kids .qa .accordion .accordion_header.open::after {
    right: 50px;
    width: 10px;
    height: 10px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

#kids .contact {
    margin-top: 80px;
}
#kids .contact .inner {
    padding: 50px 0;
    display: flex;
    justify-content: center;
    flex-direction: column;
    background: #f8f8f8;
    border: 2px dotted #333;
}
#kids .contact .message {
    font-family: "Lato", sans-serif;
    font-size: 1.9rem;
    color: #333;
    font-weight: bold;
    text-align: center;
}
#kids .contact .message span {
    background: linear-gradient(transparent 60%, #fff146 60%);
}
#kids .contact .buttonarea {
    width: 70%;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
}
#kids .contact .button {
    max-width: calc(50% - 20px);
    width: 100%;
    margin-top: 30px;
    display: flex;
    justify-content: center;
}
#kids .contact .button .btn03 {
    max-width: 100%;
    width: 100%;
    display: inline-block;
}
#kids .contact .button .btn03 span {
    max-width: none;
    width: auto;
    padding: 15px 30px;
    font-size: 1.9rem;
    z-index: auto;
}

@media screen and (min-width: 1025px) {
    /* pc */
    /*============================
CLASS
============================*/
    #class h2 {
        padding: 20px;
        left: 50px;
        bottom: 50px;
    }
    #class li {
        margin-bottom: 150px;
    }
    #class table {
        margin-top: 50px;
    }
    #class table th {
        padding: 20px;
    }
    #class table td {
        padding: 20px;
    }
    /*============================
PRICE
============================*/

    /*============================
SCHEDULE
============================*/
    #schedule table {
        max-width: 1200px;
    }
    #schedule tbody {
        /* max-width: 1190px; */
        /* display: table; */
    }
    #schedule .time {
        padding: 10px;
        width: 10%;
    }

    /*============================
TOPICS
============================*/
    #topics ul {
        padding: 0 50px;
    }

    #topics li {
        margin: 0 10px;
    }

    #topics .text-area {
        padding: 10px 10px 0 10px;
    }

    #topics .category {
        width: 100px;
        text-align: center;
    }

    #topics p {
        margin-bottom: 10px;
    }

    #topics h3 {
        margin-bottom: 10px;
    }

    /*============================
PROFILE
============================*/
    #profile .profile {
        height: 600px;
        margin-bottom: 150px;
    }
    #profile .profile._02,
    #profile .profile._04 {
        flex-direction: row-reverse;
    }
    #profile table {
        margin-left: 50px;
    }
    #profile th,
    #profile td {
        padding: 10px 0;
    }
    #profile .content {
        max-width: none;
    }
    #profile table,
    #profile .text-area {
        max-width: 750px;
    }
    #profile .profile._02 .text-area {
        margin-right: 50px;
    }
    #profile .profile._03 .text-area {
        margin-left: 50px;
    }
    #profile figure {
        max-width: 550px;
    }
    #profile .profile._03 figure {
        height: 366px;
        overflow: hidden;
    }
    #profile .profile._03 img {
        position: relative;
        top: -60px;
    }
    #profile h2 {
        margin-bottom: 20px;
    }

    /*============================
SPECIAL
============================*/
    #special iframe {
        width: 550px;
        margin-bottom: 20px;
    }
    #special .text-area {
        text-align: center;
        margin-bottom: 50px;
    }
    /*============================
VOICE
============================*/
    #voice .voice {
        margin-bottom: 110px;
    }
    #voice figure {
    }
    #voice h2 {
        font-size: 1.5rem;
    }
    #voice p {
        max-width: 900px;
        font-size: 1.2rem;
    }
    #voice .text-area {
        margin-top: 10px;
        text-align: center;
    }
    /*============================
Q&A
============================*/
    #q-and-a .question td {
        padding: 10px 0 20px 20px;
        text-decoration: underline;
    }
    #q-and-a .answer td {
        padding: 10px 0 50px 20px;
    }
    /*============================
CONTACT
============================*/
    #contact table {
        max-width: 1200px;
        margin-bottom: 50px;
    }
    #contact table th {
        padding: 20px;
    }
    #contact table td {
        padding: 0 20px;
    }
    #contact form {
        margin-bottom: 150px;
    }
    #contact .your-name input,
    #contact .your-phone input,
    #contact .your-email input,
    #contact .your-email_confirm input,
    #contact textarea {
        padding: 10px;
    }
}

@media only screen and (min-width: 481px) and (max-width: 1024px) {
    /* tablet */
    /*============================
CLASS
============================*/

    /*============================
PRICE
============================*/

    /*============================
SCHEDULE
============================*/

    /*============================
TOPICS
============================*/

    /*============================
PROFILE
============================*/

    /*============================
SPECIAL
============================*/

    /*============================
VOICE
============================*/

    /*============================
Q&A
============================*/

    /*============================
CONTACT
============================*/
}

@media screen and (max-width: 480px) {
    /*============================
CLASS
============================*/
    #class .single {
        height: 31vh;
    }
    #class .img-area {
        height: auto;
        margin: 0 0 20px;
    }
    #class h2 {
        padding: calc(20 * (100vw / 480));
        left: calc(20 * (100vw / 480));
        bottom: calc(20 * (100vw / 480));
    }
    #class li {
        margin-bottom: 50px;
    }
    #class table {
        margin: 0 10px;
    }
    #class table th,
    #class table td {
        display: block;
        width: 100%;
        font-size: 1rem;
        padding: 15px 10px;
    }
    #class table th {
    }
    #class table td {
    }

    /*============================
PRICE
============================*/
    #price .content {
        padding: 0 calc(20 * (100vw / 480));
    }
    #price .price-box {
        display: block;
    }
    #price .price-box li {
        width: 100% !important;
    }
    #price .text-area {
        margin-bottom: calc(150 * (100vw / 480));
    }
    /*============================
SCHEDULE
============================*/
    #schedule .content {
        padding: 0 calc(20 * (100vw / 480));
    }

    /*Ã£â€šÂ¢Ã£â€šÂ³Ã£Æ’Â¼Ã£Æ’â€¡Ã£â€šÂ£Ã£â€šÂªÃ£Æ’Â³Ã¥â€¦Â¨Ã¤Â½â€œ*/
    #schedule .accordion-area {
        list-style: none;
        width: 100%;
        margin: 0 auto 50px;
    }
    #schedule .accordion-area li {
        margin: calc(10 * (100vw / 480)) 0;
    }
    #schedule .accordion-area section {
        border: 1px solid #ccc;
    }

    /*Ã£â€šÂ¢Ã£â€šÂ³Ã£Æ’Â¼Ã£Æ’â€¡Ã£â€šÂ£Ã£â€šÂªÃ£Æ’Â³Ã£â€šÂ¿Ã£â€šÂ¤Ã£Æ’Ë†Ã£Æ’Â«*/
    #schedule .title {
        position: relative; /*+Ã£Æ’Å¾Ã£Æ’Â¼Ã£â€šÂ¯Ã£ÂÂ®Ã¤Â½ÂÃ§Â½Â®Ã¥Å¸ÂºÃ¦Âºâ€“Ã£ÂÂ¨Ã£Ââ„¢Ã£â€šâ€¹Ã£ÂÅ¸Ã£â€šÂrelativeÃ¦Å’â€¡Ã¥Â®Å¡*/
        cursor: pointer;
        font-size: 1rem;
        font-weight: normal;
        padding: 3% 3% 3% calc(50 * (100vw / 480));
        transition: all 0.5s ease;
    }

    /*Ã£â€šÂ¢Ã£â€šÂ¤Ã£â€šÂ³Ã£Æ’Â³Ã£ÂÂ®Ã¯Â¼â€¹Ã£ÂÂ¨Ãƒâ€”*/
    #schedule .title::before,
    #schedule .title::after {
        position: absolute;
        content: "";
        width: 15px;
        height: 2px;
        background-color: #333;
    }
    #schedule .title::before {
        top: 48%;
        left: 15px;
        transform: rotate(0deg);
    }
    #schedule .title::after {
        top: 48%;
        left: 15px;
        transform: rotate(90deg);
    }

    /*Ã£â‚¬â‚¬closeÃ£ÂÂ¨Ã£Ââ€žÃ£Ââ€ Ã£â€šÂ¯Ã£Æ’Â©Ã£â€šÂ¹Ã£ÂÅ’Ã£ÂÂ¤Ã£Ââ€žÃ£ÂÅ¸Ã£â€šâ€°Ã¥Â½Â¢Ã§Å Â¶Ã¥Â¤â€°Ã¥Å’â€“Ã£â‚¬â‚¬*/
    #schedule .title.close::before {
        transform: rotate(45deg);
    }
    #schedule .title.close::after {
        transform: rotate(-45deg);
    }

    /*Ã£â€šÂ¢Ã£â€šÂ³Ã£Æ’Â¼Ã£Æ’â€¡Ã£â€šÂ£Ã£â€šÂªÃ£Æ’Â³Ã£ÂÂ§Ã§ÂÂ¾Ã£â€šÅ’Ã£â€šâ€¹Ã£â€šÂ¨Ã£Æ’ÂªÃ£â€šÂ¢*/
    #schedule .box {
        display: none; /*Ã£ÂÂ¯Ã£ÂËœÃ£â€šÂÃ£ÂÂ¯Ã©ÂÅ¾Ã¨Â¡Â¨Ã§Â¤Âº*/
        background: #f3f3f3;
        margin: 0 3% 3% 3%;
        padding: 3%;
    }

    #schedule .color {
        padding: calc(10 * (100vw / 480));
    }

    /*============================
TOPICS
============================*/
    #topics ul {
        display: block;
        padding: 0 calc(50 * (100vw / 480));
    }
    #topics li {
        width: 100%;
        margin-bottom: calc(20 * (100vw / 480));
    }
    #topics .text-area {
        padding: calc(10 * (100vw / 480));
    }
    /*============================
PROFILE
============================*/
    #profile .profile {
        flex-direction: column;
        margin-bottom: 50px;
        padding: 10px;
        height: auto !important;
        background-color: #fff;
    }
    #profile .profile #profile content {
        margin: 0 calc(50 * (100vw / 480));
    }
    #profile table,
    #profile .text-area {
        margin-top: calc(50 * (100vw / 480));
    }
    #profile th,
    #profile td {
        padding: calc(10 * (100vw / 480)) 0;
        font-size: 1.2rem;
    }
    #profile h2 {
        margin-bottom: calc(20 * (100vw / 480));
    }
    /*============================
SPECIAL
============================*/
    #special .content {
        display: block;
        padding: 0 calc(20 * (100vw / 480));
    }
    #special li {
        width: 100%;
        margin-bottom: calc(20 * (100vw / 480));
    }
    #special iframe {
        margin-bottom: calc(20 * (100vw / 480));
    }
    #special .text-area {
        margin-bottom: calc(50 * (100vw / 480));
    }
    /*============================
VOICE
============================*/
    #voice .content {
        padding: 0 20px;
    }
    #voice li {
        display: block;
        overflow: hidden;
        height: auto;
        margin: 0 0 30px;
        padding: 0 0 30px;
        border-bottom: 1px solid #ccc;
    }
    #voice .left-content {
        width: 40%;
    }
    #voice h2 {
        font-size: 1rem;
        text-align: center;
    }
    #voice p {
        font-size: 0.8rem;
    }
    /*============================
Q&A
============================*/
    #q-and-a .content {
        margin: 0 calc(20 * (100vw / 480));
    }
    #q-and-a .question td {
        padding: 10px;
    }
    #q-and-a .answer td {
        padding: 10px;
    }
    /*============================
CONTACT
============================*/
    #contact table {
        margin-bottom: calc(50 * (100vw / 480));
    }
    #contact table th {
        padding: calc(20 * (100vw / 480));
        font-size: 0.6rem;
    }
    #contact table td {
        padding: 0 calc(20 * (100vw / 480));
    }
    #contact table textarea {
        margin: calc(20 * (100vw / 480)) 0;
    }
    #contact input,
    #contact textarea {
        font-size: 0.6rem;
    }
    #contact form {
        margin-bottom: calc(150 * (100vw / 480));
    }
    #contact .your-name input,
    #contact .your-phone input,
    #contact .your-email input,
    #contact .your-email_confirm input,
    #contact textarea {
        padding: calc(10 * (100vw / 480));
    }
    /*============================
KIDS
============================*/
    #kids {
    }
    #kids .inner {
    }
    #kids .content {
        margin: 0 10px;
    }
    #kids h2.title {
        margin-bottom: 20px;
        padding: 0 0 10px 5px;
        font-size: 1.2rem;
    }
    #kids h2.title::after {
        content: "";
        width: 100%;
        height: 5px;
        background: #333;
        position: absolute;
        bottom: 0;
        left: 0;
    }
    #kids .class {
        display: block;
    }
    #kids .class li.list {
        max-width: none;
        width: 100%;
        height: 150px;
        margin-bottom: 20px;
    }
    #kids .class li.list figure {
        margin: 0;
    }
    #kids .class li.list figure img {
    }
    #kids .class li.list .text-box {
        width: 70%;
        padding: 10px 5px;
    }
    #kids .class li.list .text-box p.title {
        font-size: 1.2rem;
    }
    #kids .reason {
        margin-top: 50px;
    }
    #kids .reason h2.title {
        margin-bottom: 44px;
        font-size: 1rem;
    }
    #kids .reason-box {
        display: block;
    }
    #kids .reason-box .list {
        max-width: none;
        width: 97%;
        height: 130px;
        margin-bottom: 35px;
    }
    #kids .reason-box .list::after {
        font-size: 3.2rem;
        top: -34px;
        right: -12px;
    }
    #kids .reason-box .list p.text {
        padding: 0 15px;
        font-size: 1.2rem;
    }
    #kids .schedule {
        margin-top: 50px;
    }
    #kids .schedule .text-box {
        padding: 25px 20px;
    }
    #kids .schedule .text-box li.list {
        margin-bottom: 15px;
        font-size: 0.8rem;
    }
    #kids .schedule .text-box li.list:last-child {
        margin: 0;
    }
    #kids .schedule .text-box li.list span {
        padding: 0 15px;
    }
    #kids .price {
        margin-top: 50px;
    }
    #kids .price .text-box {
        padding: 25px 20px;
    }
    #kids .price .text-box p.text {
        font-size: 1.6rem;
        text-align: center;
    }
    #kids .price .text-box p.text span {
        padding: 0 5px;
        font-size: 1.9rem;
    }
    #kids .necessities {
        margin-top: 50px;
    }
    #kids .necessities .text-box {
        padding: 25px 20px;
        background: #f8f8f8;
    }
    #kids .necessities li.list {
        margin-bottom: 15px;
        font-size: 0.8rem;
    }
    #kids .necessities li.list:last-child {
        margin: 0;
    }
    #kids .necessities li.list span {
        padding-left: 10px;
        font-weight: bold;
    }
    #kids .retire {
        margin-top: 50px;
    }
    #kids .retire .text-box {
        padding: 25px 20px;
    }
    #kids .retire .text-box .text {
        font-size: 0.8rem;
    }

    #kids .qa {
        margin-top: 50px;
    }
    #kids .qa .accordion {
        margin: 0 0 20px;
    }
    #kids .qa .accordion .accordion_header {
        padding: 25px 50px 25px 20px;
        font-size: 0.8rem;
    }
    #kids .qa .accordion .accordion_header.open {
    }
    #kids .qa .accordion .accordion_header:hover {
    }
    #kids .qa .accordion .accordion_inner {
        padding: 0 50px 25px 20px;
        display: none;
    }
    #kids .qa .accordion .accordion_inner .box_one {
        height: auto;
    }
    #kids .qa .accordion .accordion_inner p.txt_a_ac {
        margin: 0;
        font-size: 0.8rem;
    }
    #kids .qa .accordion .accordion_header::before,
    #kids .qa .accordion .accordion_header::after {
        position: absolute;
        top: 0;
        bottom: 0;
        right: 10px;
        margin: auto;
        content: "";
        vertical-align: middle;
    }
    #kids .qa .accordion .accordion_header::before {
        width: 30px;
        height: 30px;
        -webkit-border-radius: 50%;
        border-radius: 50%;
    }
    #kids .qa .accordion .accordion_header::after {
        right: 19px;
        width: 12px;
        height: 12px;
        border-top: 3px solid #fff;
        border-right: 3px solid #fff;
        -webkit-transform: rotate(135deg);
        transform: rotate(135deg);
    }
    #kids .qa .accordion .accordion_header.open::before {
        width: 30px;
        height: 30px;
        -webkit-border-radius: 50%;
        border-radius: 50%;
    }
    #kids .qa .accordion .accordion_header.open::after {
        right: 19px;
        width: 12px;
        height: 12px;
        border-top: 3px solid #fff;
        border-right: 3px solid #fff;
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
    }

    #kids .contact {
        margin-top: 50px;
    }
    #kids .contact .inner {
        padding: 30px 10px;
    }
    #kids .contact .message {
        font-size: 1rem;
    }
    #kids .contact .message span {
    }
    #kids .contact .buttonarea {
        width: 90%;
        display: block;
    }
    #kids .contact .button {
        max-width: 100%;
        margin-top: 30px;
    }
    #kids .contact .button .btn03 {
    }
    #kids .contact .button .btn03 span {
        padding: 15px 30px;
        font-size: 1.2rem;
    }
}

form.post-password-form {
    padding: 20% 0;
    max-width: 640px;
    margin: 0 auto;
}
form.post-password-form p {
    font-size: 1rem;
    word-break: keep-all;
    margin: 0 0 40px;
    text-align: center;
}
form.post-password-form p label {
    font-size: 1.2rem;
}
form.post-password-form p input[type="password"] {
    padding: 10px;
    border: 1px solid #ccc;
    font-size: 1rem;
}
form.post-password-form p input[type="submit"] {
    display: inline-block;
    padding: 10px 20px;
    background: #4e4854;
    color: #fff;
    font-weight: bold;
    border: none;
    border-radius: 5px;
}
@media screen and (max-width: 640px) {
    form.post-password-form {
        padding: 40% 10px;
    }
    form.post-password-form p {
        font-size: 3vw;
    }
    form.post-password-form p label {
        font-size: 3vw;
    }
    form.post-password-form p input[type="password"] {
    }
    form.post-password-form p input[type="submit"] {
    }
}

#price .price-box2 {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.price li {
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 300px;
    margin-bottom: 20px;
    padding: 10px;
    box-shadow: 5px 10px 20px rgba(0, 0, 0, 0.25);
    text-align: center;
}
.price li p {
    font-weight: bold;
    font-size: 1rem;
    letter-spacing: 0;
}
#price .price-box2 li {
    width: calc((100% - 20px) / 2);
}

#price .price-box2 li {
    width: calc((100% - 20px) / 3);
}

#price .price-box2 .price-text._01 {
    background-color: #f8f8f8;
}

#price .price-box2 .price-text._02 {
    color: #f8f8f8;
    background-color: #4e4854;
}

#price .price-box2 .price-text._01 {
    color: #292a2e;
    background-color: #f8f8f8;
    line-height: 1;
}

#price .price-box2 .price-text._02 {
    color: #f8f8f8;
    background-color: #4e4854;
}

#price .price-box2 .price-text._03 {
    color: #f8f8f8;
    background-color: #292a2e;
}

#price .price-box2 .price-text._04 {
    /* color: #f8f8f8; */
    background-color: x;
    background-color: #c6d800;
}

#price .price-box2 .price-text._05 {
    color: #f8f8f8;
    background-color: #d48ca4;
}

#price .price-box2 .price-text._06 {
    background-color: #7bd6e1;
}

#price .price-box2 .price-text._07 {
    background-color: #81f4c6;
}

#price .price-box2 .price-text._08 {
    background-color: #f0ae4c;
}

#price .price-box2 .price-text._09 {
    color: #f8f8f8;
    background-color: #025273;
}

#price .price-box2 .price-text._10 {
    color: #f8f8f8;
    background-color: #E4550F;
}

@media screen and (max-width: 640px) {
    #price .price-box2 li {
        width: 100%;
    }
}