@charset "utf-8";

body {
    padding-top: 70px;
}


#contents .mainTitle {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    width: 100%;
    font-size: 2rem;
    font-weight: bold;
    height: 300px;
}

#contents .mainTitle span {
    margin: 0 auto;
    display: block;
    max-width: 1100px;
    text-shadow: 1px 1px 3px rgb(255 255 255 / 80%);
    line-height: 10.0em;
}
#contents .miniTitle  {
    color: #333;
    font-size: 1.7rem;
    font-weight: bold;
    display: block;
    margin: 2em auto;
    text-align: left;
    line-height: 1.5;
}
.returnTop {
    display: block;
    margin: 2em auto;
    text-align: center;
}
.returnTop a {
    color: blue;    
}
.detail .contributor {
    text-align: right;
}
.detail span {
    margin-left: 5px;
    width: 6em;
    color: #fff;
    padding: 0.2em;
    font-size: 0.8em;
    border-radius: 5px;
}


.detail .member {
    background-color: #F19624;
}

.detail .MLIT {
    background-color: #22B573;
}

.detail .headquarters {
    background-color: #0071BC;
}

.detail .important {
    background-color: #ED1C24;
}

.detail .emergency {
    background-color: #662D91;
}

.detail a {
    text-decoration: underline;
}

.innertable {
    max-width: 1100px;
}

#contents,
#footer {
    position: relative;
    z-index: 500;
}

#contents .mainTitle {
    background-image: url(../topics/img/main.jpg);
}

#contents .menubox ul li {
    width: calc(100% / 4);
}

.centertext {
    text-align: center;
    margin-bottom: 1em;
}

/*メリット*/
.section_merit {
    padding: 0;
}

.section_merit h5 {
    font-weight: bold;
    font-size: 1.2em;
    margin-bottom: 1em;
}

.section_merit .innerWrap {
    display: flex;
    flex-wrap: wrap;
}

.section_merit .innerWrap img {
    width: 70%;
    margin-left: 1em;
    float: right;
}

.section_merit .innerWrap div {
    width: 45%;
}

.section_merit .innerWrap div .detail {
    min-width: 80%;
    text-align: center;
    background-color: #006837;
    color: #FFF;
    padding: 0.5em 1em;
    display: inline-block;
    border-radius: 5px;
    margin-top: 2em;
}
/*お知らせ一覧ページ*/
.topics_list {
    max-width: 1100px;
    margin: 5em auto;
}
.topics_list ul {
    height: auto;
}
/*ご入会の手続き*/
.section_contents {
    padding: 1em 0;
}

.link_area a {
    text-decoration: underline;
    color: #0071bc;
}

.list_table {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: em;
}

.list_table li {
    width: 48%;
    background-color: #EFEFEF;
    padding: 0.5em 1em;
    margin: 0.2em;
}

.innertable {
    margin-bottom: 2.5em;
    padding-bottom: 2.5em;
    border-bottom: 1px solid #EFEFEF;
}

.txt_merit {
    margin-right: 2em;
}

.contents_ol {
    max-width: 1050px;
    column-count: 2;
    flex-wrap: wrap;
    margin: 0 auto;
    justify-content: space-between;
}

.contents_ol li {
    background-color: #EFEFEF;
    color: #009944;
    text-align: left;
    padding: 12px 10px 12px 50px;
    margin: 0 auto 1em;
    font-weight: bold;
    border-radius: 5px;
    line-height: 1.5;
    position: relative;
    font-size: 16px;
}

.contents_ol li a {
    text-decoration: underline;
}

ol {
    counter-reset: my-counter;
    list-style: none;
    padding: 0;
    margin: 0;
}

ol li:before {
    content: counter(my-counter);
    counter-increment: my-counter;
    background-color: #009944;
    border: 1px solid;
    border-radius: 50%;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 30px;
    width: 30px;
    color: #ffffff;
    font-size: 100%;
    line-height: 1;
    position: absolute;
    top: 9px;
    left: 10px;
}

/*入会に要する書類*/

/* media query
*********************************************************************/
@media (max-width: 1000px) {
    body {
        padding-top: 60px;
    }

    .innertable {
        width: 100%;
    }

    .innertable pricetable {
        100%;
    }

    table {
        max-width: 100%;
    }
}

@media (max-width: 700px) {
    .section_merit .innerWrap div .detail {
        display: block;
        margin: 1am auto;
    }
    
    .pricedata td {
        display: block;
        width: 100% !important;
        padding: 0.3em 0.5em;
    }

    .pricedata th {
        display: none;
    }

    .pricedata td.celllong {
        display: none !important;
    }

    .pricedata td.price div {
        text-align: right;
        float: none;
        font-size: 0.7rem;
    }

    .pricedata td.price div br {
        display: none;
    }

    .pricedata td::before {
        content: attr(data-label);
        display: block;
        font-size: 1.2rem;
        color: #FFF;
        background-color: #4D4D4D;
        margin-bottom: 0.2rem;
        padding-left: 0.3em;
    }
    #contents .mainTitle span.sp {
        line-height: 1em;
        font-size: 0.8em;
        padding: 5em 1em;
}

    table.line2 {
        width: calc(100% / 1);
        float: none;
    }

    table.line2 .month {
        background-color: #4D4D4D;
        color: #fff;
    }

    table.line2:nth-of-type(1) {
        margin-right: 0;
        margin-bottom: -8px;
    }

    table.listdata {
        border-spacing: 0px !important;
    }

    .listdata td {
        display: block;
        width: 100% !important;
        padding: 0.3em 0.5em;
        margin-bottom: 0.3em;
    }

    table.download {
        margin: 1em auto 1.5em;
    }

    .downloadbox div {
        flex-direction: column;
    }

    dl.download {
        width: calc(100% / 1) !important;
    }

    #c03 .listdata {
        width: 100%;
    }

    #c03 .listdata td {
        display: block;
        width: 100% !important;
        padding: 0.3em 0.5em;
    }

    #c03 .listdata td:nth-of-type(1) {
        display: none !important;
    }

    #c03 .listdata td::before {
        content: attr(data-label);
        display: block;
        font-size: 1.2rem;
        color: #FFF;
        background-color: #4D4D4D;
        margin-bottom: 0.2rem;
        padding-left: 0.3em;
    }

    .middletitle_bg .subTitle {
        padding: 0;
         !important margin: -3em auto;
    }

    .middletitle_bg p {
        margin: -2em auto;
    }

    #contents .miniTitle span {
        margin: 0.5em 0;
    }

    /*入会書類*/
    .list_table li {
        width: 100%;
    }

    .flexbox {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    .box1 {
        -webkit-box-ordinal-group: 1;
        -ms-flex-order: 1;
        -webkit-order: 1;
        order: 1;
    }

    .box2 {
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 2;
        -webkit-order: 2;
        order: 2;
    }
    .section_merit .innerWrap div {
        width: 100%;
        margin: auto;
    }
    .section_merit .innerWrap div img {
        float: none;
        margin: auto;
        display: block;
        text-align: center;
    }
    .section_merit h5 {
        text-align: center;
    }
    .section_merit .innerWrap .txt_merit {
        margin-top: 0.5em;
    }
    .section_merit .innerWrap .txt_merit2 {
        margin-top: 2em;
    }
    .contents_ol {
        column-count: 1;
    }

}

@media (max-width: 480px) {
    #c02 p {
        font-size: 4.0vw;
    }

    .btn_box {
        margin: 2em auto;
    }
}
