@charset 'utf-8';

.global-nav-links {
    /*display: none;*/
}

section.kv.cm {
    /*margin-top: 135px;*/
    margin-top: 0;
}
section.kv.cm .box {
    margin-bottom: 0;
}
.main-block.fadein.show {
    width: calc(100vw - 40px);
    background: rgba(0, 0, 0, 0.8);
    border-radius: 0;
    padding: 40px 20px;
    top: inherit;
    max-width: calc(100vw - 40px);
    position: absolute;
    bottom: 0;
}
.main-block .header-block.flex {
    align-items: flex-start;
    gap: 20px;
    max-width: 1500px;
    margin: 0 auto;
    justify-content: flex-start;
    margin-left: 10px;
}
.main-block .header-block.flex h2 {
    margin-top: 0;
    margin-bottom: 10px;
}
.main-block .header-block.flex h2 span.txt-s {
    display: block;
    font-size: 2rem;
}
section.about-txt {
    background: #daedee;
    padding: 20px;
}
section.about-txt .inner {
    max-width: 1260px;
    margin: 0 auto;
}
/*section.about-txt .inner h3 {*/
section.about-txt .inner h1 {
    color: #44a3a8;
    font-size: 3.6rem;
}
section.about-txt .inner p {
    font-size: 1.6rem;
    font-weight: normal;
    line-height: 1.7;
}

section.detail-search-block.bg-greenlight .inner {
    max-width: 1260px;
    margin: 0 auto;
}
section.detail-search-block.bg-greenlight .inner .detail-search-head {
    display: none;
}
section.detail-search-block.bg-greenlight .inner form.detail-search-body .form-input {
    /* padding-bottom: 30px;
	border-bottom: 1px solid #BBBBBB;
	margin-bottom: 30px; */
}
section.detail-search-block.bg-greenlight .inner form.detail-search-body input.form-search.form-control {
    width: calc(100% - 10px - 3em);
    font-size: 1.6rem;
    border: none;
    background: #ffffff;
    padding: 10px 10px 10px 3em;
    border-radius: 50px;
    position: relative;
    background-image: url(../img/common/icon-search.png);
    background-position: 15px center;
    background-repeat: no-repeat;
    background-size: auto 50%;
    box-shadow: 3px 0px 10px rgb(0 0 0 / 20%);
}
section.detail-search-block.bg-greenlight .inner .radio-block {
    position: relative;
    gap: 20px;
    margin: 30px 0;
    align-items: flex-start;
}
section.detail-search-block.bg-greenlight .inner .radio-block i img {
    height: 100%;
}
section.detail-search-block.bg-greenlight .inner form.detail-search-body .radio-title {
    font-size: 2rem;
    gap: 20px;
    width: calc(18% - 20px);
    padding: 10px 0;
}
section.detail-search-block.bg-greenlight .inner form.detail-search-body .radio-title i {
    width: 25px;
}
section.detail-search-block.bg-greenlight .inner form.detail-search-body .radio-title i img {
    width: 100%;
    align-items: center;
    display: flex;
}
section.detail-search-block.bg-greenlight .inner form.detail-search-body .radio-title span {
    display: block;
    width: 100%;
    letter-spacing: 0.4em;
}

section.detail-search-block.bg-greenlight .inner form.detail-search-body .radiobox {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-flex;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    position: relative;
    gap: 20px;
    width: calc(82%);
}
section.detail-search-block.bg-greenlight .inner form.detail-search-body .radiobox .radiobutton {
    display: none;
}
section.detail-search-block.bg-greenlight .inner form.detail-search-body .radiobox label {
    color: #58d5db;
    font-weight: normal;
    padding: 0.5em 2em;
    width: calc(25% - 17px - 4em);
    background: #ffffff;
    border-radius: 50px;
    border: 1px solid #58d5db;
    box-shadow: 2px 2px 10px rgb(0 0 0 / 20%);
    text-align: center;
    transition: all 0.4s ease;
}

section.detail-search-block.bg-greenlight .inner form.detail-search-body .radiobox input:checked + label,
section.detail-search-block.bg-greenlight .inner form.detail-search-body .radiobox label:hover {
    background: #44a3a8;
    color: #ffffff;
    border-color: #44a3a8;
}

section#movie-section {
    padding: 20px;
}
section#movie-section .section-body .movie-list {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-flex;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    position: relative;
    gap: 20px;
    list-style: none;
    padding: 40px 0;
}

section#movie-section .section-body .movie-list > a 
,section#movie-section .section-body .movie-list > li {
    width: calc(25% - 15px)!important;
    position: relative;
    display: block;
    text-decoration: none;
    color: inherit;
}
section#movie-section .section-body .movie-list > a > img.bx-sha 
,section#movie-section .section-body .movie-list > li > a > img.bx-sha {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    box-shadow: 1px 1px 10px rgba(0, 0, 0, 0.2);
}   
@media screen and (max-width: 1024px) {
    section#movie-section .section-body .movie-list > a 
    ,section#movie-section .section-body .movie-list > li {
        width: calc(33.333% - 14px)!important;
    }
}
@media screen and (max-width: 768px) {
    section#movie-section .section-body .movie-list > a 
    ,section#movie-section .section-body .movie-list > li {
        width: calc(50% - 10px)!important;
    }
}
@media screen and (max-width: 500px) {
    section#movie-section .section-body .movie-list > a 
    ,section#movie-section .section-body .movie-list > li {
        width: 100%!important;
    }
        section#movie-section .section-body .movie-list {
    /* 中央揃え */
    justify-content: center;
}
}

section.voice-lists.bg-greenlight .inner {
    max-width: 1260px;
    margin: 0 auto;
}

section.voice-lists.bg-greenlight .section-head h3 {
    font-size: 3.6rem;
    text-align: center;
    color: #2f7275;
}

section.voice-lists.bg-greenlight .section-body {
    position: relative;
}
section.voice-lists.bg-greenlight .section-body ul {
    position: relative;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-flex;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    position: relative;
    gap: 20px;
    list-style: none;
    padding: 0;
}
section.voice-lists.bg-greenlight .section-body ul li {
    width: calc(50% - 60px);
    padding: 30px 20px;
    background: #ffffff;
    border-radius: 15px;
    box-shadow: 1px 1px 10px rgb(0 0 0 / 20%);
}

section#banner-section {
    padding: 0;
}
section#banner-section .inner {
    max-width: 1920px;
    margin: 0 auto;
}
section#banner-section .inner img {
    width: 100%;
}

.contents section.tab-menu {
    padding: 20px 40px 10px;
}
.contents section.tab-menu ul.flex {
    list-style: none;
    gap: 20px;
    border-bottom: 1px solid #dddddd;
    padding: 0px;
}
.contents section.tab-menu ul.flex li {
    padding: 10px 0;
}
.contents section.tab-menu ul.flex li.active,
.contents section.tab-menu ul.flex li:hover {
    border-bottom: 3px solid #44a3a8;
}
.contents section.tab-menu ul.flex li a {
    color: #dddddd;
    transition: all 0.6s ease;
}
.contents section.tab-menu ul.flex li.active a,
.contents section.tab-menu ul.flex li:hover a {
    color: #666666;
    opacity: 1;
}

section.movie-lists .inner .section-head.sort-block {
    justify-content: space-between;
}
section#movie-section .section-body .movie-list li a .category-block p.title {
    font-size: 2rem;
    margin: 0.2em 0;
    line-height: 1.4em;
}
section#movie-section .section-body .movie-list li a .movie-data.flex > * {
    margin: 0;
}

.contents section.post-detail article table {
    width: calc(100% - 20px);
    margin-left: 20px;
    position: relative;
    background: #ffffff;
}
.contents section.post-detail article table th {
    vertical-align: top;
    padding: 20px 10px;
    background: #c6e3e5;
    color: #2f7275;
}
.contents section.post-detail article table td {
    font-weight: normal;
    background: #ecf6f6;
}
.contents section.post-detail article table td ul.list-bum {
    list-style: decimal;
}

/* program-01-detail */

.program-detail .contents {
    /*
    margin-top: 110px;
*/

    margin-top: 94px;
}

.program-detail .contents section.breadcrumbs.bg-greenlight {
    background: #f5fafb;
}

.program-detail .contents section.breadcrumbs.bg-greenlight .inner {
    max-width: 1260px;
    margin: 0 auto;
}

.program-detail .contents section.breadcrumbs.bg-greenlight .inner ul li,
.program-detail .contents section.breadcrumbs.bg-greenlight .inner ul li a {
    color: #1c2438;

    z-index: 100000;
    position: relative;
}
.program-detail .contents section.breadcrumbs.bg-greenlight .inner ul li::after {
    background-image: url(../img/common/icon-arrow-02-gry.png);
}
.program-detail .contents section.detail-main.bg-greenlight {
    /* padding-top: 20px; */

    padding-top: 0;

    top: 0;

    position: relative;

    background-color: #f5fafb;
}
.program-detail .contents section.detail-main.bg-greenlight .box {
    max-width: 1260px;
    margin: 0 auto;
    position: relative;
}

.program-detail .contents section.detail-main.bg-greenlight .box .title-head.flex {
    justify-content: space-between;
    margin-bottom: 20px;
    border-bottom: 1px solid #cccccc;
    align-items: flex-end;
}
.program-detail .contents section.detail-main.bg-greenlight .box .title-head.flex .title-area {
    width: calc(100% - 275px);
}
.program-detail .contents section.detail-main.bg-greenlight .box .title-head.flex .title-area p {
    font-size: 2rem;
    margin: 0.5em 0;
}
/*.program-detail .contents section.detail-main.bg-greenlight .box .title-head.flex .title-area h2 {*/
.program-detail .contents section.detail-main.bg-greenlight .box .title-head.flex .title-area h1 {
    font-size: 3.6rem;
    /*
    margin: 0.5em  0.5em 0 0;
*/
    margin: 0 0.5em 0.5em 0;
}

.program-detail .contents section.detail-main.bg-greenlight .box .title-head.flex .movie-status > * {
    display: none;
}
.program-detail .contents section.detail-main.bg-greenlight .box .title-head.flex .movie-status .movie-status-area.active {
    padding: 20px;
    background: #d1e8ea;
    text-align: center;
}
.program-detail .contents section.detail-main.bg-greenlight .box .title-head.flex .movie-status .movie-status-area.active span {
    font-size: 1.6rem;
    color: #44a3a8;
}
.program-detail .contents section.detail-main.bg-greenlight .box .title-head.flex .movie-status .movie-status-area.active span span.txt-ss {
    color: #707070;
    font-size: 1.2rem;
    font-weight: normal;
}
.program-detail .contents section.detail-main.bg-greenlight .box .title-head.flex .movie-status .active {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-flex;
    display: flex !important;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    position: relative;
    font-size: 1.2rem;
    justify-content: space-between;
}
.program-detail .contents section.detail-main.bg-greenlight .box .title-head.flex .movie-status {
    max-width: 215px;
    padding: 20px 20px 20px 40px;
    position: relative;
    font-size: 1.2rem;
    border-left: 1px solid #cccccc;
}
.program-detail .contents section.detail-main.bg-greenlight .box .title-head.flex .movie-status .active span.btn-block {
    width: 100%;
    margin: 0.5em 0;
    position: relative;
}
.program-detail .contents section.detail-main.bg-greenlight .box .title-head.flex .movie-status .active span.btn-block a {
    background-color: #ffaf00;
    display: block;
    text-align: center;
    padding: 10px;
    font-size: 1.6rem;
    color: #ffffff;
    cursor: pointer;
}
.program-detail .contents section.detail-main.bg-greenlight .box .title-head.flex .movie-status .active span.price {
    color: #44a3a8;
    font-size: 3rem;
}
.program-detail .contents section.detail-main.bg-greenlight .box .title-head.flex .movie-status .active span.dete {
    text-align: center;
    width: 100%;
}
.program-detail .contents section.detail-main.bg-greenlight .box .title-head.flex .movie-status .active span.title {
    text-align: center;
}

.program-detail .contents section.detail-main.bg-greenlight .box .main_hero a {
    display: block;
    width: 100%;
    position: relative;
    overflow: hidden;
}
.program-detail .contents section.detail-main.bg-greenlight .box .main_hero a img {
    width: 100%;
    z-index: 0;
    position: relative;
}
.program-detail .contents section.detail-main.bg-greenlight .box .main_hero .flex.seminar-data {
    gap: 40px;
    padding-bottom: 20px;
    border-bottom: 1px solid #dddddd;
    margin-bottom: 20px;
}
.program-detail .contents section.detail-main.bg-greenlight .box .main_hero a.movie-thum::before {
    content: "";
    background-color: rgba(0, 0, 0, 0.2);
    background-image: url(../img/common/icon-play.png);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 140px 140px;
    z-index: 1;
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 101%;
    height: 101%;
    transform: translate(-50%, -50%);
}

.program-detail .contents section.detail-main.bg-greenlight .box .main_hero a {
    display: block;
    width: 100%;
    position: relative;
    overflow: hidden;
}
.program-detail .contents section.detail-main.bg-greenlight .box .main_hero .flex.seminar-data a.movie-thum {
    width: 100%;
    max-width: 900px;
}
.program-detail .contents section.detail-main.bg-greenlight .box .main_hero .flex.seminar-data .seminar-data-block {
    max-width: 360px;
    width: 100%;
}
.program-detail .contents section.detail-main.bg-greenlight .box .main_hero .flex.seminar-data .seminar-data-block dd {
    margin: 0 0 40px;
    font-size: 2rem;
}
.program-detail .contents section.detail-main.bg-greenlight .box .main_hero .flex.seminar-data .seminar-data-block dd span.txt-deepgreen {
    font-size: 3rem;
}
.program-detail .contents section.detail-main.bg-greenlight .box .main_hero .flex.seminar-data .seminar-data-block dd span.txt-s {
    display: block;
}
.program-detail .contents section.detail-main.bg-greenlight .box .main_hero .flex.seminar-data .seminar-data-block a.btn.btn-orange {
    margin: 0;
    width: 100%;
    max-width: calc(100% - 2em);
}

.program-detail section.cancel-policy .inner {
    max-width: 1260px;
    margin: 0 auto;
}
.program-detail section.cancel-policy .inner h3 {
    font-size: 1.6rem;
    font-weight: normal;
}
.program-detail section.cancel-policy .inner p {
    font-size: 1.4rem;
    font-weight: normal;
    line-height: 1.7em;
    padding: 20px;
    border: 1px solid #ddd;
}
.program-detail section.cancel-policy .inner a.btn.btn-orange {
    max-width: 100%;
}

.movie-data.flex .category.flex i {
    margin-right: 0.5em;
    margin-left: 1em;
}
.movie-data.flex .category.flex i img {
    width: 32px;
}
.program-detail .contents section.detail-main.bg-greenlight .box .main_hero .movie-data-block.flex {
    justify-content: space-between;
    position: relative;
    gap: 20px;
}
.program-detail .contents section.detail-main.bg-greenlight .box .main_hero .movie-data-block.flex .movie-faq a.btn.btn-orange {
    width: calc(100% - 32px);
    margin: 10px 0;
}
.program-detail .contents section.detail-main.bg-greenlight .box .main_hero .movie-data-block.flex .movie-faq a.btn.btn-orange i {
    margin-right: 0.5em;
}
.program-detail .contents section.detail-main.bg-greenlight .box .main_hero .movie-data-block.flex .movie-faq a.btn.btn-orange img {
    width: 32px;
}

.program-detail .contents section.post-detail .inner {
    max-width: 800px;
    margin: 0 auto;
    position: relative;
}
/*********************************************************************/
.program-detail .contents section.post-detail h2 {
    background-color: #f0f3f5;
    border-radius: 8px;
    font-weight: bold !important;
    font-size: 2.6rem;
    line-height: 1.7;
    margin: 25px 0 !important;
    padding: 10px 20px;
}

.program-detail .contents section.post-detail h3 {
    position: relative;
    font-weight: bold !important;
    font-size: 2rem;
    line-height: 1.7;
    margin: 15px 0 !important;
    padding: 15px;
}
.program-detail .contents section.post-detail h3::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 3px;
    height: 60%;
    background-color: #46a3a8;
}

.program-detail .contents section.post-detail h4 {
    font-weight: bold !important;
    font-size: 1.8rem;
    border-left: solid 1px #46a3a8;
    margin: 15px 0 !important;
    padding-left: 5px;
}
.program-detail .contents section.post-detail p {
	line-height: 1.7 !important;
    font-weight: normal;
}
.program-detail .contents section.post-detail strong {
    background: linear-gradient(transparent 60%, #fff89a 60%);
    font-weight: bold;
}
/*********************************************************************/

.program-detail .contents section.post-detail .inner article:not(.rich-text-area) p {
    width: calc(100% - 30px);
    /*margin-left: 30px;*/
    margin: 5px 0px 0px 30px;
    /*
    margin-bottom: 60px;
*/
    font-size: 1.6rem;
}
.program-detail .contents section.post-detail .inner article .flex {
    align-items: flex-start;
    gap: 30px;
}
.program-detail .contents section.post-detail .inner article .flex .img-block {
    max-width: 400px;
    width: 100%;
    position: relative;
    margin-left: 30px;
}
.program-detail .contents section.post-detail .inner article .flex .img-block img {
    width: 100%;
}
.program-detail .contents section.post-detail .inner article .flex .img-block figure {
    margin: 0 0 20px;
}

.program-detail .contents section.post-detail .inner article .flex .img-block .button-block {
    display: flex;
    justify-content: space-between;
    gap: 10px;
}
.program-detail .contents section.post-detail .inner article .flex .img-block .button-block a.btn.btn-green {
    width: 50%;
    position: relative;
    display: flex;
    align-items: center;
    font-size: 1.2rem;
    justify-content: center;
    margin: 0;
}
.program-detail .contents section.post-detail .inner article .flex .img-block .button-block a.btn.btn-green i {
    width: 20px;
    display: inline-block;
    margin-right: 0.5em;
}
.program-detail .contents section.post-detail .inner article .flex .img-block .button-block a.btn.btn-green i img {
    width: 100%;
}

.program-detail .contents section.post-detail .inner article .flex .img-block .sns-block ul {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
}
.program-detail .contents section.post-detail .inner article .flex .img-block .sns-block ul {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    list-style: none;
    padding: 0;
    margin: 20px 0;
}
.program-detail .contents section.post-detail .inner article .flex .img-block .sns-block ul li a {
    max-width: 40px;
    display: block;
}
.program-detail .contents section.post-detail .inner article .flex .img-block .sns-block ul img {
    width: 100%;
}
.program-detail .contents section.post-detail .inner article .flex .txt-bloxk h4 {
    margin: 0;
    font-size: 1.6rem;
}
.program-detail .contents section.post-detail .inner article .flex .txt-bloxk h3.instructor-name {
    font-size: 2rem;
    line-height: 1.4;
}
.program-detail .contents section.post-detail .inner article .flex .txt-bloxk p {
    margin: 0 0 1.4em;
    font-weight: normal;
}

.program-detail .contents section.faq-lists {
    background: #fffbf2;
    padding: 40px 20px;
}
.program-detail .contents section.faq-lists .inner {
    max-width: 960px;
    margin: 0 auto;
}
.program-detail .contents section.faq-lists .inner .section-head.flex {
    max-width: 960px;
    gap: 20px;
}
.program-detail .contents section.faq-lists .inner .section-head.flex h3 {
    max-width: 260px;
}
.program-detail .contents section.faq-lists .inner .section-head.flex ul.link-list.flex li {
    font-size: 1.5rem;
    font-weight: bold;
    padding: 0;
}
.program-detail .contents section.faq-lists .inner .section-head.flex form.flex {
    justify-content: flex-end;
}

.program-detail .contents section.faq-lists .inner .section-body.flex {
    margin: 20px auto;
    position: relative;
    border: none;
    padding: 0;
}
.program-detail .contents section.faq-lists .inner .section-body.flex article {
    width: 100%;
    max-width: 990px;
    padding: 0;
}
.program-detail .contents section.faq-lists .inner .section-body.flex article::before {
    display: none;
}
.program-detail .contents section.faq-lists .inner .section-body.flex article .faq-head {
    display: flex;
    justify-content: space-between;
    gap: 40px;
    align-items: center;
    border-bottom: 1px solid #cccccc;
    padding-bottom: 20px;
}
.program-detail .contents section.faq-lists .inner .section-body.flex article .faq-head .sort-area {
    display: flex;
    gap: 40px;
}
.program-detail .contents section.faq-lists .inner .section-body.flex article ul.col-4.faq-blocks {
    padding: 0;
}
.program-detail .contents section.faq-lists .section-body.flex article ul.col-4.faq-blocks .faq-data.flex p.date {
    border-right: none;
}
.program-detail .contents section.faq-lists .inner .section-body.flex a.btn.btn-orange {
    max-width: 100%;
    color: #b37a00;
    background: #f0e1c2;
}

.program-detail .contents section.listener-lists.bg-greenlight {
    background-color: #ecf6f7;
    padding: 40px 20px;
}
.program-detail .contents section.listener-lists .inner {
    max-width: 990px;
    margin: 0 auto;
    position: relative;
}
.program-detail .contents section.listener-lists .inner .section-head.flex {
    max-width: 990px;
    gap: 20px;
    justify-content: space-between;
}
.program-detail .contents section.listener-lists .inner .section-head.flex h3 {
    font-size: 3.6rem;
    color: #2f7275;
    margin: 0;
}
.program-detail .contents section.listener-lists .inner .section-head.flex form.flex {
    justify-content: flex-end;
}
.program-detail .contents section.listener-lists .inner .section-head.flex form.flex input.btn.btn-orange.btn-review {
    background: #ffaf00;
    border: none;
    color: #fff;
    font-size: 1.6rem;
    padding: 0.5em 2em 0.5em 4em;
    background-image: url(../img/common/icon-grade.png);
    background-repeat: no-repeat;
    background-position: 10px center;
    background-size: auto 70%;
}

.program-detail .contents section.listener-lists .inner .section-body.flex .listener-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 40px;
    position: relative;
    padding: 40px 0 20px;
    border-bottom: 1px solid #bbbbbb;
}
.program-detail .contents section.listener-lists .inner .section-body.flex .listener-head .sort-area {
    display: flex;
    gap: 40px;
}

.program-detail .contents section.listener-lists .inner .section-body.flex article {
    position: relative;
    width: 100%;
}
.program-detail .contents section.listener-lists .inner .section-body.flex article ul.listener-blocks {
    padding: 0;
    list-style: none;
    margin: 0 0 20px;
}
.program-detail .contents section.listener-lists .inner .section-body.flex article ul.listener-blocks li {
    padding: 20px 0;
    border-bottom: 1px solid #bbbbbb;
}
.program-detail .contents section.listener-lists .inner .section-body.flex article ul.listener-blocks li .listener-data.flex {
    gap: 20px;
}
.program-detail .contents section.listener-lists .inner .section-body.flex article ul.listener-blocks li .listener-data.flex p.btn.btn-green.circle-link {
    border-radius: 50%;
    padding: calc(25px - 1rem);
    line-height: 1em;
    color: #ffffff;
    background: #44a3a8;
    font-size: 2rem;
    width: 1em;
}
.program-detail .contents section.listener-lists .inner .section-body.flex article ul.listener-blocks li .listener-data.flex .flex {
    gap: 1em;
    font-weight: normal;
}
.program-detail .contents section.listener-lists .inner .section-body.flex article ul.listener-blocks li .listener-data.flex .appraise-star {
    width: 90px;
    position: relative;
}
.program-detail .contents section.listener-lists .inner .section-body.flex article ul.listener-blocks li .listener-data.flex .appraise-star img {
    width: 100%;
}
.program-detail .contents section.listener-lists .inner .section-body.flex article ul.listener-blocks li .listener-data.flex .flex p {
    margin: 0;
}
.program-detail .contents section.listener-lists .inner .section-body.flex article ul.listener-blocks li p.faq-title.txt-green {
    line-height: 1.7em;
    font-weight: normal;
    font-size: 1.6rem;
    margin: 0;
    color: #444444;
}

.program-detail .contents section.listener-lists .inner .section-body.flex article a.btn.btn-orange {
    max-width: 100%;
    color: #44a3a8;
    background: #cbe6e8;
}

.program-detail .contents section.movie-lists .inner .section-body article.category-list-area ul.category-list-block {
    padding: 20px;
    background: #f5fafb;
    list-style: none;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-flex;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 1.5em;
}

.program-detail .contents section.movie-lists .inner .section-body article.category-list-area ul.category-list-block li {
    width: calc(33.333% - 1em);
}

.program-detail .contents section.movie-lists .inner .section-body article.category-list-area ul.category-list-block li a i img {
    width: 1.6em;
    transform: rotate(180deg);
}

@media screen and (min-width: 1137px) {
    section.kv.cm {
        margin-top: 86px;
        /*margin-top: 0;*/
    }
}
@media screen and (max-width: 1136px) and (min-width: 1022px) {
    section.kv.cm {
        margin-top: 124px;
        /*margin-top: 0;*/
    }
}
@media screen and (min-width: 1025px) {
}
@media screen and (max-width: 1024px) {
    .program.lecturer.detail #wrapper > .contents {
        /*padding-top: 50px;*/
    }

    .program-detail .contents section.detail-main.bg-greenlight .box .main_hero .movie-data-block.flex {
        /*
    top: 50px;
*/
    }
    section.about-txt .inner h1 {
        font-size: 2.3rem;
    }

    .program-detail .contents section.detail-main.bg-greenlight .box .main_hero {
        position: relative;

        top: 0;
    }

    .program section.kv.cm {
        /*margin-top: 109px;*/
        margin-top: 0;
        padding: 0;
        height: auto;
        position: relative;
    }
    .kv.cm:before {
        display: none;
    }
    .kv .box figure.main_hero {
        background: #000000;
    }
    .kv .box figure.main_hero img {
        height: auto;
        width: 100vw;
        margin-bottom: 30px;
    }
    .main-block.fadein.show {
        padding: 0;
        width: 100vw;
        height: 100%;
        max-width: 100%;
    }
    .main-block .header-block.flex h2 {
        position: absolute;
        bottom: 10px;
    }
    .main-block .header-block.flex h2 span.txt-s {
        font-size: 1.2rem;
    }
    section.about-txt .inner h3 {
        font-size: 2.4rem;
        margin: 0;
        letter-spacing: 0.04em;
    }
    section.movie-lists .inner .section-head {
        padding: 0 20px;
    }
    section.movie-lists .inner .section-head .form-input {
        display: none;
    }
    section#movie-section .section-body .movie-list li .movie-data.flex {
        display: block !important;
    }
    section#movie-section .section-body .movie-list {
        padding: 20px;
        gap: 20px;
    }
    .movie-data .appraise-star img {
        width: 100%;
        align-items: center;
        display: flex;
    }
    .movie-data p {
        display: inline-block;
    }
    .movie-data p.category {
        display: inline-block;
        margin-right: auto;
    }
    .pagination ul span,
    .pagination ul a {
        font-size: 1.4rem;
        width: 20px;
        height: 20px;
        line-height: 20px;
    }

    section.movie-lists .inner .section-body h3 {
        margin-top: 0;
    }
    section.voice-lists.bg-greenlight .section-head h3 {
        font-size: 2.4rem;
    }
    section.voice-lists.bg-greenlight .section-body ul li {
        width: 100%;
    }

    .program-detail .contents {
        /*

		margin-top: 110px;
*/

        /*
		margin-top: 80px;
*/
        margin-top: 60px;
    }
    .program-detail .contents section.detail-main.bg-greenlight .box .title-head.flex .title-area {
        width: 100%;
        border-right: none;
        margin-top: 20px;
    }
    .program-detail .contents section.detail-main.bg-greenlight .box .title-head.flex .title-area p {
        font-size: 1.4rem;
        margin: 0.5em 0;
    }
    .program-detail .contents section.detail-main.bg-greenlight .box .title-head.flex .title-area h2 {
        font-size: 1.8rem;
        margin: 0.5em 0;
    }
    .program-detail .contents section.detail-main.bg-greenlight .box .title-head.flex .movie-status {
        padding: 20px 0;
        max-width: 100%;
        border: none;
    }
    .program-detail .contents section.detail-main.bg-greenlight .box {
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: -moz-flex;
        display: flex;
        -webkit-box-lines: multiple;
        -moz-box-lines: multiple;
        -webkit-flex-wrap: wrap;
        -moz-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }
    .program-detail .contents section.detail-main.bg-greenlight .box .title-head.flex {
        order: 2;
        border: none;
        width: 100%;
    }
    .program-detail .contents section.detail-main.bg-greenlight .box .main_hero {
        order: 1;
        width: 100%;
    }
    .program-detail .contents section.detail-main.bg-greenlight .box .main_hero a.movie-thum::before {
        background-size: 100px 100px;
    }
    .program-detail .contents section.detail-main.bg-greenlight .box .main_hero .movie-data-block.flex .movie-faq {
        /* display: none; */
    }

    .movie-data.flex .category.flex i img {
        width: 24px;
    }
    .program-detail .contents section {
        padding: 20px;
    }
    .program-detail .contents section.post-detail .inner article p {
        width: 100%;
        margin-left: 0;
        margin-bottom: 40px;
        font-weight: normal;
    }
    .program-detail .contents section.post-detail .inner article .flex .img-block {
        margin: 0 30px 30px;
        width: calc(100% - 60px);
    }

    .program-detail .contents section.faq-lists .inner .section-body.flex,
    .program-detail .contents section.listener-lists .inner .section-body.flex {
        padding-top: 80px;
    }
    .program-detail .contents section.faq-lists .inner .section-body.flex article .faq-head {
        gap: 10px;
        font-size: 1.6rem;
    }
    .program-detail .contents section.faq-lists .inner .section-body.flex form.flex,
    .program-detail .contents section.listener-lists .inner .section-body.flex .listener-head form.flex {
        position: absolute;
        top: -80px;
        width: 100%;
        left: 0;
    }
    .program-detail .contents section.faq-lists .inner .section-head.flex form.flex,
    .program-detail .contents section.listener-lists .inner .section-head.flex form.flex {
        display: none !important;
    }
    #reviewBtn {
        /*20230601 sakai*/
        display: block !important;
        width: 100%;
        text-align: center;
        margin-bottom: 10px;
    }
    .program-detail .contents section.listener-lists .inner .section-body.flex article ul.listener-blocks li {
        padding: 20px 0 20px;
    }
    .program-detail .contents section.listener-lists .inner .section-body.flex article ul.listener-blocks li .listener-data.flex,
    .program-detail .contents section.listener-lists .inner .section-body.flex article ul.listener-blocks li .listener-data.flex .flex {
        display: flex !important;
    }
    .program-detail .contents section.listener-lists .inner .section-body.flex article ul.listener-blocks li p.faq-title.txt-green {
        margin-top: 10px;
    }

    .program-detail .contents section.movie-lists .inner .section-body article.category-list-area ul.category-list-block li {
        width: calc(100% - 1em);
    }
    .contents section.post-detail article table {
        margin: 0;
        width: 100%;
    }
    .contents section.post-detail article table th,
    .contents section.post-detail article table td {
        display: block;
        text-align: left;
        padding: 20px;
    }
    .category.flex {
        display: flex !important;
        justify-content: flex-start;
        align-items: center;
        flex-wrap: wrap;
    }
}

.post-detail {
    padding: 20px;

    /* top: -45px; */

    position: relative;
}
/***************************************************************************/
@media screen and (max-width: 600px) {
    .program-detail .contents section.post-detail h2 {
        font-size: 2rem;
        line-height: 1.5;
        margin: 20px 0 !important;
        padding: 5px 10px;
    }

    .program-detail .contents section.post-detail h3 {
        position: relative;
        font-weight: bold !important;
        font-size: 1.8rem;
        line-height: 1.5;
        margin: 20px 0 !important;
        padding: 10px;
    }

    .program-detail .contents section.post-detail h3 span::before {
        left: 0;
    }

    .program-detail .contents section.post-detail h4 {
        margin: 15px 0 !important;
        padding-left: 1px;
    }

    .program-detail .contents section.post-detail h4 span {
        font-weight: bold !important;
        font-size: 2rem;
    }
}
