@charset "utf-8";

/* CSS INFORMATION -====================================================
File name : action.css
Description : 番組向上への取り組み共通css
===================================================================== */


/* =====================================================================
*    次世代育成支援対策推進法, 読売テレビ行動計画
* =================================================================== */

.purpose_list>li:not(:last-child) {
    margin-bottom: calc(80 / 630 * 100%);
}

.purpose_list h5 {
    border: 4px solid #efefef;
    font-size: 2.8rem;
    font-weight: 700;
    padding: 1em;
    margin-bottom: 1.5em;
}

.purpose_list h5 strong {
    position: absolute;
    left: .8em;
    padding: 0 .2em;
    background-color: #fff;
    color: #f39800;
    font-size: 3.2rem;
}

.next .purpose_list h5 strong {
    top: -1.4em;
}

.plan .purpose_list h5 strong {
    top: -1.2em;
}

.purpose_list h5 span {
    font-family: 'Inter', sans-serif;
    font-size: 4rem;
    margin-left: .2em;
}

.purpose_list dl>* {
    padding-left: 1em;
    font-size: 2.8rem;
}

.purpose_list dt {
    color: #f39800;
    font-weight: 700;
    margin-bottom: .3em;
}

.purpose_list dt::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    width: .4em;
    height: .4em;
    border-radius: 50%;
    background-color: #f39800;
}


/*次世代育成支援対策推進法*/

.next_box:not(:last-child) {
    margin-bottom: calc(120 / 630 * 100%);
}

.next_box .ttl_wrap {
    margin-bottom: calc(50 / 630 * 100%);
}

.next_box>p {
    font-weight: 700;
    letter-spacing: .1em;
    font-size: 2.8rem;
}


/*読売テレビ行動計画*/

.plan_caption {
    margin-bottom: calc(70 / 630 * 100%);
}

.plan_box:not(:last-child) {
    margin-bottom: calc(100 / 630 * 100%);
}

.plan_box .ttl_wrap {
    margin-bottom: calc(30 / 630 * 100%);
}

.plan_box_date,
.plan_list1 li {
    font-size: 2.7rem;
    font-weight: 700;
}

.plan_box_txt {
    font-size: 2.8rem;
    margin-bottom: 3em;
}

.plan_list2 li {
    font-size: 2.4rem;
    margin-bottom: .3em;
    padding-left: 1em;
}

.plan_list2 li::before {
    content: '';
    position: absolute;
    top: .9em;
    left: 0;
    margin: auto;
    width: .3em;
    height: .3em;
    border-radius: 50%;
    background-color: #302d28;
}

@media screen and (min-width: 768px) {
    .purpose_list>li:not(:last-child) {
        margin-bottom: calc(70 / 940 * 100%);
    }
    .purpose_list h5 {
        font-size: 1.8rem;
    }
    .purpose_list h5 strong {
        left: .7em;
        font-size: 2rem;
    }
    .purpose_list h5 span {
        font-size: 2.4rem;
    }
    .purpose_list dl>* {
        font-size: 1.6rem;
    }
    /*次世代育成支援対策推進法*/
    .next_box:not(:last-child) {
        margin-bottom: calc(80 / 940 * 100%);
    }
    .next_box .ttl_wrap {
        margin-bottom: calc(45 / 940 * 100%);
    }
    .next_box>p {
        font-size: 1.8rem;
    }
    /*読売テレビ行動計画*/
    .plan_caption {
        margin-bottom: calc(60 / 940 * 100%);
    }
    .plan_box:not(:last-child) {
        margin-bottom: calc(80 / 940 * 100%);
    }
    .plan_box .ttl_wrap {
        margin-bottom: calc(40 / 940 * 100%);
    }
    .plan_box_date,
    .plan_list1 li,
    .plan_box_txt,
    .plan_list2 li {
        font-size: 1.6rem;
    }
}


/* =====================================================================
*    国民保護業務計画、放送番組の種別の基準
* =================================================================== */

.ttl_protect {
    color: #f39800;
    font-weight: 700;
    font-size: 2.8rem;
    margin-bottom: 1em;
    padding-bottom: .6em;
    border-bottom: 2px solid #efefef;
}

.protect .txt_caption {
    line-height: 1.7;
}

.protect .ttl_wrap {
    margin-bottom: calc(40 / 630 * 100%);
}

.protect_box:not(:last-child),
.category_topList:not(:last-child) {
    margin-bottom: calc(80 / 630 * 100%);
}

.protect_box *,
.category_topList * {
    font-size: 2.8rem;
}

.protect_box>ol>li:not(:last-child),
.category_topList>li:not(:last-child) {
    margin-bottom: 1.8em;
}

.protect_box h5,
.category_topList h5 {
    display: inline;
    font-weight: 700;
    background: -o-linear-gradient(transparent 70%, #fad255 70%);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(70%, #fad255));
    background: linear-gradient(transparent 70%, #fad255 70%);
}

.protect_box h5+p,
.category_topList h5+p {
    margin-top: .5em;
}

.protect_innerBox {
    background-color: #efefef;
    padding: 1.5em;
    margin-top: 1em;
}

.protect_innerBox * {
    font-size: 2.4rem;
}

.protect_innerBox li {
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.protect_innerBox li:not(:last-child) {
    margin-bottom: 1em;
}

.category_link li:not(:last-child) {
    margin-bottom: 2em;
}

.category_link dt {
    font-weight: 700;
    margin-bottom: .5em;
}

.category_link dd {
    margin-bottom: .5em;
}

.category_link dd a {
    display: inline;
    text-decoration: underline;
}

.category_link dd a:hover {
    opacity: 0.6;
}

@media screen and (min-width: 768px) {
    .ttl_protect {
        font-size: 2.2rem;
        padding-bottom: .3em;
    }
    .protect .txt_caption {
        line-height: 2;
    }
    .protect .ttl_wrap {
        margin-bottom: calc(40 / 940 * 100%);
    }
    .protect_box:not(:last-child),
    .category_topList:not(:last-child) {
        margin-bottom: calc(80 / 940 * 100%);
    }
    .protect_box *,
    .protect_innerBox *,
    .category_topList * {
        font-size: 1.6rem;
    }
}


/* =====================================================================
*    反社会的勢力の排除について 
* =================================================================== */

.st_caption {
    background-color: #efefef;
    padding: 1.5em 2em;
    margin-bottom: calc(100 / 630 * 100%);
}

.st_caption span {
    display: block;
    text-align: right;
    margin-top: .5em;
}

.st .ttl_wrap {
    margin-bottom: calc(30 / 630 * 100%);
}

.st_box:not(:last-child) {
    margin-bottom: calc(130 / 630 * 100%);
}

.st_box_date {
    text-align: right;
    font-weight: 700;
    margin-bottom: 1.5em;
}

.st_box dl {
    font-size: 2.8rem;
}

.st_box dt {
    margin-bottom: 2em;
}

.st_box ol span {
    position: absolute;
    top: 0;
    left: 0;
}

.st_box dd>ol>li {
    padding-left: 1.5em;
    margin-bottom: 1em;
}

.st_box ol ol {
    font-size: 2.4rem;
    margin-top: .5em;
}

.st_box ol ol li {
    padding-left: 2.2em;
}

.txt_end {
    text-align: right;
    font-size: 2.8rem;
}

@media screen and (min-width: 768px) {
    .st_caption {
        padding: 2em 2.5em;
        margin-bottom: calc(80 / 940 * 100%);
    }
    .st .ttl_wrap {
        margin-bottom: calc(40 / 940 * 100%);
    }
    .st_box:not(:last-child) {
        margin-bottom: calc(80 / 940 * 100%);
    }
    .st_box dl,
    .st_box ol ol,
    .txt_end {
        font-size: 1.6rem;
    }
    .st_box dd>ol>li {
        margin-bottom: 1.5em;
    }
}


/* =====================================================================
*    反社会的勢力の排除について、放送基準
* =================================================================== */

.vs_caption {
    background-color: #efefef;
    padding: 1.5em 2em;
    margin-bottom: calc(100 / 630 * 100%);
}

.vs_box:not(:last-child) {
    margin-bottom: calc(100 / 630 * 100%);
}

.number_list li {
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 1em;
    font-size: 2.8rem;
}

.number_list li span {
    font-family: 'Inter', sans-serif;
    font-size: 4rem;
    color: #f39800;
    margin: -.4em .5em 0 0;
}

.vs_box>dl {
    margin-bottom: 2em;
}

.vs_box>dl>dt {
    padding-bottom: .3em;
    margin-bottom: 1em;
    border-bottom: 2px solid #d9d8d5;
}

.vs_box>dl>dt::before {
    content: '';
    position: absolute;
    bottom: -.15em;
    left: 0;
    width: 4.8em;
    height: 2px;
    background-color: #ffb300;
}

.vs_box>dl h5 {
    font-weight: 700;
    font-size: 2.8rem;
}

.bs .vs_caption:first-of-type {
    text-align: center;
}

.vs_caption ol {
    counter-reset: item;
    margin: 1em;
}

.vs_caption ol li:before {
    counter-increment: item;
    content: counter(item)'.';
}

.table {
    background-color: #fff;
    text-align: center;
    border: 1px solid #efefef;
}

.vs_caption .table {
    margin-top: 1.5em;
    background-color: #bbb;
}

.table dl {
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.table_ttl {
    font-weight: 700;
    background-color: #999;
}

.table dl>* {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border-bottom: 1px solid #efefef;
}

.table dt {
    padding: 1em;
    width: 35%;
    background-color: #bbb;
}

.table dd {
    width: 64.9%;
    background-color: #fff;
    border-left: 1px solid #efefef;
}

.table dd a {
    padding: 1em;
    width: 100%;
    height: 100%;
    text-decoration: underline;
}

.bs_list li {
    margin-bottom: .5em;
}

.bs_list_inner {
    width: 90%;
    margin: 0 auto;
}

.bs_table1 {
    margin: .5em 0;
}

.bs_table1 dt {
    width: 40%;
}

.bs_table1 dd {
    width: 60%;
}

.table>p {
    background-color: #eee;
}

.bs_table1,
.bs_table2 {
    /*	border-color: #bbb;*/
}

.bs_table2 {
    font-size: 1.5rem;
}

.bs_table2 dt {
    width: 44%;
    background-color: #fff;
}

.bs_table2 dd {
    width: 28%;
}

.table .subttl>* {
    background-color: #bbb;
}

@media screen and (min-width: 768px) {
    .vs_caption {
        padding: 2em 2.5em;
        margin-bottom: calc(80 / 940 * 100%);
    }
    .vs_box:not(:last-child) {
        margin-bottom: calc(80 / 940 * 100%);
    }
    .number_list li {
        font-size: 1.6rem;
    }
    .number_list li span {
        font-size: 2.4rem;
    }
    .vs_box>dl {
        margin-bottom: 2.5em;
    }
    .vs_box>dl h5 {
        font-size: 2.2rem;
    }
}