/*モーダルウインドウ*/

/*全て共通：hideエリアをはじめは非表示*/
.hide-area{
	display: none;
}

/*全て共通：モーダルのボタンの色を変更したい場合*/
.modaal-close:after, 
.modaal-close:before{
	background:#ccc;	
}

.modaal-close:focus:after,
.modaal-close:focus:before,
.modaal-close:hover:after,
.modaal-close:hover:before{
	background:#666;
}



.wrapper.japanese {
    background: url(../img/subject/japanese-bg.png) repeat;
}
.wrapper.math {
    background: url(../img/subject/math-bg.png) repeat;
}
.wrapper.science {
    background: url(../img/subject/science-bg.png) repeat;
}
.wrapper.social {
    background: url(../img/subject/social-bg.png) repeat;
}
.wrapper.english {
    background: url(../img/subject/english-bg.png) repeat;
}
.wrapper.prog {
    background: url(../img/subject/prog-bg.png) repeat;
}
h2 {
    font-size: 3rem;
    background: none;
    padding: 0;
}
h2.small-caption {
    font-size: 1.8rem;
}
    @media screen and (max-width: 768px) {
        h2 {
            font-size: 2rem;
            margin-bottom: 20px;
    }
}
h3 {
    font-size: 20px;
}
@media screen and (max-width: 768px) {
.pagetop {
    left: 16px;
}
}
.c-center {
    text-align: center!important;
}
.c-mv {
    width: 800px;
    margin-bottom: 72px;
    justify-content: space-around;
}
.c-mv__logo {
    width: 400px;
    min-width: 400px;
}
    .c-mv__logo p {
        width: 100%;
        font-size: 1.5rem;
        vertical-align: middle;
        text-align: center;
        border-radius: 10px;
        font-family: "M PLUS Rounded 1c", sans-serif;
        font-weight: 600;
        line-height: 40px;
        display: flex;
        justify-content:center;
        align-items: center;
    }
    .c-mv__logo p.japanese-text {
        background: #F8D3E9;
    }
    .c-mv__logo p.math-text {
        background: #DCEDF8;
    }
    .c-mv__logo p.science-text {
        background: #D3EDD7;
    }
    .c-mv__logo p.social-text {
        background: #F8E4D3;
    }
    .c-mv__logo p.english-text {
        background: #E5D7ED;
    }
    .c-mv__logo p.programming-text {
        background: #F6DBDB;
    }
 .c-mv__logo span {
    font-size: 1rem;
    padding: 0 10px;
    line-height: 40px;
 }
.c-mv .c-mv-book {
    display: flex;
    padding: 100px 0 0 40px;
    align-items: flex-start;
}
    .c-mv .c-mv-book img {
        width: 180px;
        height: auto;
    }
    .c-mv .c-mv-book ul {
        padding-top: 24px;
    }
    .c-mv .c-mv-book ul span {
        background: #7D38A5;
        color: #fff;
        padding: 0 16px;
        border-radius: 24px;
    }
.l-content {
    width: 100%;
    text-align: center;
}
@media screen and (max-width: 768px) {
    .c-mv {
        width: 100%;
        height: auto;
        display: block;
        margin: 0 0 40px;
    }
    .c-mv__logo {
        width: 100%;
        min-width: auto;
        max-width: 360px;
    }
    .c-mv .c-mv-book {
        width: 80%;
        min-width: 280px;
        padding: 0;
        margin: 40px auto 0;
        justify-content: center;
    }
    .c-mv .c-mv-book img {
        width: 100%;
        max-width: 168px;
        height: 225px;
    }
    .prog  .c-mv__logo p {
        flex-direction: column;
    }
}
.c-button {
    margin: 0 auto;

}
    .l-content p {
        width: 80%;
        margin: 0 auto 40px;
        text-align: left;
    }
    @media screen and (max-width: 768px) {
        .l-content p {
        width: 100%;
        padding: 0 16px;
        text-align: left;
        }
    }
.l-content-bg {
    background: none;
}
.l-content-list__white {
    width: 80vw;
    margin:  0 auto 50px;
    display: flex;
    gap: 20px;
    justify-content: space-around;
}
    .l-content-list__white li div {
        width: 100%;
        display: block;
        background: #fff;
        border-radius: 19px;
        box-shadow: 0 1px 10px rgba(0, 0, 0, 0.4);
        padding: 20px;
        margin-bottom: 8px;
    }
    @media screen and (max-width: 768px) {
        .l-content-list__white {
        flex-direction: column;
        }
    }
.l-content-point {
    width: 90vw;
    max-width: 960px;
    border-radius: 20px;
    margin: 0 auto 120px;
    background: #fff;
    padding: 60px 0 0;
    position: relative;
}
@media screen and (max-width: 768px) {
    .l-content-point { 
        padding: 30px 0 0;
    }
}
.japanese .l-content-point,
.japanese .l-content-point__2,
.japanese .l-content-point__3 {
    border: 3px solid #DD2292;
}
.math .l-content-point,
.math .l-content-point__2,
.math .l-content-point__3 {
    border: 3px solid #52A5DD;
}
.science .l-content-point,
.science .l-content-point__2,
.science .l-content-point__3 {
    border: 3px solid #21A53A;
}
.social .l-content-point,
.social .l-content-point__2,
.social .l-content-point__3 {
    border: 3px solid #DD7A22;
}
.english .l-content-point,
.english .l-content-point__2,
.english .l-content-point__3 {
    border: 3px solid #7D38A5;
}
.programming .l-content-point,
.programming .l-content-point__2,
.programming .l-content-point__3 {
    border: 3px solid #D34A4A;
}
    .l-content-point__1::before,
    .l-content-point__2::before,
    .l-content-point__3:before {
        content: '';
        width: 300px;
        height:80px;
        position: absolute;
        top: -80px;
        left: 0;
        right: 0;
        margin: 0 auto;
    }
    @media screen and (max-width: 768px) {
        .l-content-point__1::before,
        .l-content-point__2::before,
        .l-content-point__3:before {
            width: 240px;
            height:65px;
            top: -65px;
        }
    }
    .p-lineup-bg {
        padding: 0 24px 24px;
    }
    .japanese .l-content-point__1::before {
        background: url(../img/subject/japanese-point1-title.png) no-repeat;
        background-size: cover;
    }
    .math .l-content-point__1::before {
        background: url(../img/subject/math-point1-title.png) no-repeat;
        background-size: cover;
    }
    .science .l-content-point__1::before {
        background: url(../img/subject/science-point1-title.png) no-repeat;
        background-size: cover;
    }
    .social .l-content-point__1::before {
        background: url(../img/subject/social-point1-title.png) no-repeat;
        background-size: cover;
    }
    .english .l-content-point__1::before {
        background: url(../img/subject/english-point1-title.png) no-repeat;
        background-size: cover;
    }
    .programming .l-content-point__1::before {
        background: url(../img/subject/programming-point1-title.png) no-repeat;
        background-size: cover;
    }
    .japanese .l-content-point__2::before {
        background: url(../img/subject/japanese-point2-title.png) no-repeat;
        background-size: cover;
    }
    .math .l-content-point__2::before {
        background: url(../img/subject/math-point2-title.png) no-repeat;
        background-size: cover;
    }
    .science .l-content-point__2::before {
        background: url(../img/subject/science-point2-title.png) no-repeat;
        background-size: cover;
    }
    .social .l-content-point__2::before {
        background: url(../img/subject/social-point2-title.png) no-repeat;
        background-size: cover;
    }
    .english .l-content-point__2::before {
        background: url(../img/subject/english-point2-title.png) no-repeat;
        background-size: cover;
    }
    .programming .l-content-point__2::before {
        background: url(../img/subject/programming-point1-title.png) no-repeat;
        background-size: cover;
    }
    .japanese .l-content-point__3::before {
        background: url(../img/subject/japanese-point3-title.png) no-repeat;
        background-size: cover;
    }
    .math .l-content-point__3::before {
        background: url(../img/subject/math-point3-title.png) no-repeat;
        background-size: cover;
    }
    .science .l-content-point__3::before {
        background: url(../img/subject/science-point3-title.png) no-repeat;
        background-size: cover;
    }
    .social .l-content-point__3::before {
        background: url(../img/subject/social-point3-title.png) no-repeat;
        background-size: cover;
    }
    .english .l-content-point__3::before {
        background: url(../img/subject/english-point3-title.png) no-repeat;
        background-size: cover;
    }
    .programming .l-content-point__3::before {
        background: url(../img/subject/programming-point2-title.png) no-repeat;
        background-size: cover;
    }
    .japanese h2,
    .japanese h3 {
        color: #DD2292;
    }
    .math h2,
    .math h3 {
        color: #52A5DD;
    }
    .science h2,
    .science h3 {
        color: #21A53A;
    }
    .social h2,
    .social h3 {
        color: #DD7A22;
    }
    .english h2,
    .english h3 {
        color: #7D38A5;
    }
    .programming h2,
    .programming h3 {
        color: #D34A4A;
    }
    ul.step-list {
        display:flex;
        flex-direction: column;
    }
    .step-list h3 {
        text-align: left;
        padding: 0.9rem 0 0;
    }
    .step-list h3 img {
        width: 30px;
        display: inline;
        vertical-align: middle;
        margin: 0 5px 6px 0;
        float: left;
    }
    .step-list p {
        width: 50%;
        float: left;
    }
    .step-list div {
        float: right;
        width: 284px;
    }
    .step-list div.page {
        width: 142px;
        text-align: left;
    }
    .l-content-point__1 table {
        width: 95%;
        font-size: 0.875rem;
        margin: 0 auto;
        border-collapse: collapse;
        border-spacing: 0;
    }
    .l-content-point__1 table th,
    .l-content-point__1 table td {
        padding: 5px;
        border: 1px solid #C9C9C9;
        white-space: nowrap;
        font-weight: normal;
    }
    .l-content-point__1 table .publisher {
        text-align: left;
        padding-left: 8px;
    }
    .l-content-point__1 table .subject {
        color: #fff;
        text-align: center;
    }
    .l-content-point__1 table .kokugo {
        background-color: #CE0D66;
    }
        .l-content-point__1 table .kokugo-checked {
            color: #CE0D66;
        }
    .l-content-point__1 table .kanji {
        background-color: #E24C71;
    }
        .l-content-point__1 table .kanji-checked {
            color: #E24C71;
        }
    .l-content-point__1 table .syakai {
        background-color: #D57B00;
    }
        .l-content-point__1 table .syakai-checked {
            color: #D57B00;
        }
    .l-content-point__1 table .sansuu {
        background-color: #10A7DD;
    }
        .l-content-point__1 table .sansuu-checked {
            color: #10A7DD;
        }
    .l-content-point__1 table .kazu {
        background-color: #13B494;
    }
        .l-content-point__1 table .kazu-checked {
            color: #13B494;
        }
    .l-content-point__1 table .bunsyou {
        background-color: #234AB4;
    }
        .l-content-point__1 table .bunsyou-checked {
            color: #234AB4;
        }
    .l-content-point__1 table .rika {
        background-color: #59AA23;
    }
        .l-content-point__1 table .rika-checked {
            color: #59AA23;
        }
    .l-content-point__1 table .eigo {
        background-color: #802EA0;
    }
        .l-content-point__1 table .eigo-checked {
            color: #802EA0;
        }
    .l-content-point__1 table .programing {
        background-color: #DF5454;
    }
        .l-content-point__1 table .programing-checked {
            color: #DF5454;
        }


    .l-content-point__2 ul {
        width: 80%;
        margin:  0 auto;
        display: flex;
        gap: 20px;
    }
    @media screen and (max-width: 800px) {
        .l-content-point__2 ul {
            width: 90%;
            flex-direction: column;
        }
        .l-content-point__2 ul li div img {
            margin:  0 auto;
        }
        .step-list p { 
            width: 100%;
            padding: 0;
            margin-bottom: 8px;
        }
        .step-list div {
            float:none;
            margin: 0 auto;
        }
    }

    .l-content-point__3 p {
        text-align: center;
    }
    .l-content-point__3 dl {
        margin-bottom: 40px;
    }
    .l-content-point__3 dl dt {
        color: #DD2292;
        font-weight: bold;
        font-size:1.3rem;
        margin-bottom:8px;
    }
    .math .l-content-point__3 dl dt {
        color: #52A5DD;
    }
    .science .l-content-point__3 dl dt {
        color: #21A53A;
    }
    .social .l-content-point__3 dl dt {
        color: #DD7A22;
    }
    .english .l-content-point__3 dl dt {
        color: #7D38A5;
    }
    .programming .l-content-point__3 dl dt {
        color: #D34A4A;
    }
    .l-content-point__3 dl dd {
        width: 80%;
        margin: 0 auto 24px;
        text-align: left;
    }
    .l-content-point__3 dl dd img {
        width: 640px;
        margin: 0 auto 16px;
    }
    .l-content-point__3 ul {
        width: 80%;
        margin:  0 auto;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-around;
        gap: 20px;
    }
    .l-content-point__3 ul li {
        width: 40%;
        font-size: 0.75rem;
        box-shadow: 0 0 10px rgba(0, 0, 0, 0.4);
        border-radius: 15px;
        padding: 16px;
        text-align: left;
    }
    .l-content-point__3 ul li img {
        width: auto;
        height: 140px;
        margin: 0 auto 8px;
    }
    .l-content-point__3 ul li span {
        font-weight: bold;
        font-size: 1.125rem;
        display: block;
        text-align: center;
    }
    .l-content-point__3 ul li .row span {
        float: left;
    }
    .l-content-point__3 ul li .row::after {
        content: '';
        display: block;
        clear: both;
        zoom: 1;
    }
    @media screen and (max-width: 768px) {
        .l-content-point__3 p {
            text-align: left;
        }
        .l-content-point__3 ul {
            flex-direction: column;
        }
        .l-content-point__3 ul li {
            width: 100%;
    }
}
.l-content-detailbg {
    width: 100%;
    background: #FCFAE5;
    padding: 70px 0 0;
    background-size: 140px;
}
    .l-content-detail h2,
    .l-content-set h2 {
        background: none;
        color: #703A0E;
    }
    .l-content-detail p {
        margin-bottom: 30px;
        text-align: center;
    }
    .l-content-detail .connection {
        width: 50%;
        max-width: 400px;
        margin: 0 auto 24px;
        display: flex;
    }
    .l-content-detail .connection img {
        width:170px;
        height: 240px;
        margin-right: 24px;
    }
    .l-content-detail .connection p {
        font-weight: bold;
        text-align: left;
        margin: 0 0 16px;
    }
    .l-content-detail .connection ul li {
        text-align: left;
    }
    .work-list {
        width: 200px;
        padding: 0 0 0 30px;
    }
    @media screen and (max-width: 768px) {
        .l-content-detail .connection {
            width: 90%;
            justify-content: space-around;
        }
        .work-list {
            padding-left: 8px;
        }
        .work-list p {
            padding: 0;
    }
    .l-content-detail p {
        margin-bottom: 30px;
        text-align: left;
    }
}
.bnr-campaign {
    width:80vw;
    max-width:680px;
    margin: 60px auto 0;
}
    
.l-content-set ul li img {
    width: 160px;
    margin: 16px auto;
} 
.l-content-purchasebg {
    padding: 60px 0;
}
    .l-content-purchasebg p {
        text-align: center;
    }
.bnr-set {
    width: 50%;
    margin: 0 auto;
}
    @media screen and (max-width: 768px) {
        .bnr-set {
            width: 50%;
            min-width: 345px;
            margin: 0 auto;
        }
        .l-content-purchasebg p {
            text-align: left;
        }
    }