.explanation {
    padding: 0 20px 20px;
    letter-spacing: 0.74px;
    line-height: 1.78;
}


.explanation h3 {
    font-size: 15px;
    text-align: center;
    font-weight: bold;
    color: #FFF;
}

span.uppercase {
    text-transform: uppercase;
}


.explanation div:nth-child(1) {
    border-radius: 30px;
    border: 1px solid #000;
    padding: 2% 0%;
    margin: 20px;
    background: #000;
}

.explanation div:nth-child(2) {
    margin-top: 4%;
    border: 1px solid #000;
    padding: 7% 4% 4% 4%;
    border-radius: 8px;
    margin-top: -10%;
}








.mb50 {
    margin-bottom: 50px;
}


td.layout_menu {
    display: none;
}

.wapper-spgmove {
    padding: 0 7%;
}

@media only screen and (min-width: 641px) {
    .wapper-spgmove {
        padding: 0 28%;
    }
}

.wapper-spgmove a {
    color: #000;
}

html .wapper-spgmove h1 {
    font-family: "Arial Black", "游ゴシック体", "YuGothic", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'ヒラギノ角ゴシック', 'Hiragino Sans', sans-serif;
}

html .wapper-spgmove {
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'ヒラギノ角ゴシック', 'Hiragino Sans', sans-serif;
}

.channel-title {
    text-align: center;
    padding: 55px 20px 20px 20px;
}

@media only screen and (min-width: 641px) {
    .channel-title {
        padding: 80px 20px 20px 20px;
    }
}



.channel-title h1 {
    text-transform: uppercase;
    font-size: 20px;
    letter-spacing: 2.2px;
    color: #000;
    font-weight: bold;
}


@media only screen and (min-width: 641px) {
    .channel-title h1 {
        font-size: 35px;
    }
}


.channel-title p {
    margin-top: 15px;
    text-align: left;
    font-size: 14px;
    letter-spacing: 0.74px;
    line-height: 1.78;
}


.mainbox {
    display: table;
    width: 100%;
}


.inbox_logo {
    display: table-cell;
    padding-right: 14px;
    width: 25%;
}

.inbox_title {
    display: table-cell;
    vertical-align: middle;
    width: 65%;
}

.mainbox img {
    width: 100%;
}



@media screen and (max-width: 940px) {

    .container-400,
    .container-500,
    .container-750,
    .container-805,
    .container-1000,
    .container-top-desc {
        width: 100%;
        max-width: 540px;
    }
}

.container-750 {
    width: 100%;
    margin: 0 auto;
}

.wapper-spgmove img {
    vertical-align: middle;
    width: 100%;
    max-width: 100%;
}



h3.program-heading {
    display: inline-block;
    margin: 35px 0px 0px 0px;
    padding: 6px 20px;
    font-size: 17px;
    font-weight: bold;
    line-height: 1;
    border-radius: 20px;
}

@media only screen and (min-width: 641px) {
    h3.program-heading {
        margin: 75px 0px 15px 0px;

    }
}





h3.program-heading.program-heading-before {
    color: #fff;
    background: #E60012;
}

h3.program-heading.program-heading-after {
    color: #fff;
    background: #000;
}

h3.program-heading.program-heading-end {
    color: #fff;
    background: #A2A2A2;
}

@media screen and (max-width: 940px) {
    h3.program-heading {
        font-size: 14px;
    }
}


.program-idnex-date {
    margin: 10px 0 5px;
    font-size: 16px;
    font-weight: bold;
}


@media screen and (max-width: 940px) {
    .program-idnex-date {
        font-size: 14px;
    }
}

@media screen and (max-width: 940px) {

    .lower-program-inner.lower-program-inner-flex {
        display: flex;
        justify-content: space-between;
        padding: 20px;
        border-bottom: 1px solid #D3D3D3;
    }
}


@media screen and (max-width: 940px) {
    .lower-program-inner.lower-program-inner-flex {
        display: block;
        padding: 15px 15px 20px 15px;
    }
}

@media screen and (max-width: 940px) {
    .lower-program-inner.lower-program-inner-flex .program-img {
        max-width: 300px;
        margin: 0 auto 20px;
    }
}


.back-btn-sec {
    padding: 60px 0 120px;
}


@media screen and (max-width: 940px) {
    .back-btn-sec {
        padding: 40px 0 60px;
    }
}

.back-btn {
    display: block;
    width: 70%;
    max-width: 300px;
    margin: 0 auto;
    padding: 15px 10px;
    color: #000;
    font-weight: bold;
    text-align: center;
    letter-spacing: 1px;
    border: 1px solid #D3D3D3;
    border-radius: 6px;
    cursor: pointer;
    transition: all .2s ease-out 0s;
}

@media only screen and (min-width: 641px) {
    .sp {
        display: none !important;
    }
}

@media only screen and (max-width: 640px) {
    .pc {
        display: none !important;
    }
}



