/*
Theme Name:businespress child
Theme URI:
Description:WordPressテーマ「BsinessPress」を元に中小企業経営労務懇話会様用にご用意したカスタマイズテーマです。
Template:businesspress
Author:07LABO
Author URI:https://07labo.com/
Version:1.2.0
*/

.jumbotron {
    background-image: url("img/header.jpg");
}
.site-credit {
    display: none !important;
}
hr {
    margin: 2.5em 0;
    border-top: #ccc solid 1px;
}

input[type="text"], input[type="email"], input[type="url"], input[type="password"], input[type="search"], textarea {
    border-color: #ccc;
}

.newspost {
    padding: 1em 1.5em;
    margin-bottom: 3em;
    background: #f8f8f8;
    border: #ccc 1px solid;
}
.newspost p.news-ttl {
    margin-bottom: 1em;
    font-weight: bold;
}
.newspost ul {
    margin: 0;
}
.newspost li {
    padding: .5em 1em;
    margin-bottom: 2px;
    background: #fff;
    list-style: none;
}
.newspost li:last-child {
    margin-bottom: 0;
}
.newspost li p {
    margin-bottom: 0;
}
.newspost li p.time span {
    padding: .5em .8em .3em;
    background: #999;
    border-radius: 4px;
    color: #fff;
    font-size: .875em;
    line-height: 1em;
    display: inline-block;
}

.site-bottom-content,
#supplementary,
.footer-widget-content,
.footer-widget {
    padding: 0;
}
.site-bottom-content {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-end;
}
.footer-widget-1 {
    width: auto !important;
}
.footer-widget aside,
.site-copyright {
    margin: 0;
}
.footer-widget p {
    margin: 0;
    text-align: left;
}
@media screen and (max-width: 719.9999px) {
    .footer-widget-1,
    .site-info {
        width: 100%;
        padding: 0 20px;
    }
    .site-copyright {
        margin-top: 20px;
        text-align: center;
    }
}

h3.corp span {
    display: none;
}
h3.corp span:first-of-type {
    display: inline;
}
.wrapper-table {
    width: 100%;
    overflow-x: scroll;
}
table.company-all {
    white-space: nowrap;
}
.btn-printview,
.btn-print,
.btn-print2,
.btn-notice,
.btn-popup {
    width: 300px;
    height: 60px;
    margin: 20px auto 60px;
    border-radius: 8px;
    background: #2f8735;
    color: #fff;
    text-decoration: none;
    text-align: center;
    line-height: 60px;
    display: block;
}
.btn-notice {
    background: #333;
}
.btn-printview:hover,
.btn-print:hover,
.btn-print2:hover,
.btn-notice:hover,
.btn-popup:hover {
    opacity: .8;
    transition-duration: .8s;
}

.wrapper-certificate,
.wrapper-card {
    width: 100%;
    height: 100%;
    background: none;
    display: none;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 999;
}
.wrapper-certificate.print-view,
.wrapper-card.print-view {
    display: block;
}
.wrapper-print p {
    margin-bottom: 8px;
}
.wrapper-print .flex {
    width: 900px;
    height: 80vh;
    padding: 20px;
    background: #fff;
    font-size: 12px;
    line-height: 1.2;
    overflow-y: scroll;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 9999;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    gap: 20px;
}
.wrapper-print .flex.dom {
    width: calc(200mm * 1.2);
    height: calc(287mm * 1.2);
    margin: 0;
    break-inside: auto;
}
.wrapper-print .mydata,
.wrapper-print .reverse {
    width: 400px;
    height: auto;
    padding: 10px;
}
.wrapper-print .mydata .number-ref {
    font-size: 10px;
    text-align: right;
}
.wrapper-print .mydata p,
.wrapper-print .mydata table {
    margin-bottom: 6px;
}
.wrapper-print .mydata .ttl {
    text-align: center;
    font-size: 14px;
    font-weight: bold;
}
.wrapper-print .mydata .info {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
}
.wrapper-print .mydata dl {
    border: 1px dotted #000;
}
.wrapper-print .mydata dt,
.wrapper-print .mydata dd {
    padding: 8px;
    margin: 0;
}
.wrapper-print .mydata dt {
    border-bottom: 1px dotted #000;
}
.wrapper-print .mydata dd {
    display: flex;
    align-items: center;
}
.wrapper-print .info-company {
    background: url("img/sign-company.png") right center no-repeat;
    background-size: auto 80%;
    text-shadow: #fff 0 0 2px,#fff 0 0 2px,#fff 0 0 4px,#fff 0 0 4px;
}
.wrapper-print .info-hitori {
    background: url("img/sign-hitori.png") right center no-repeat;
    background-size: auto 80%;
    text-shadow: #fff 0 0 2px,#fff 0 0 2px,#fff 0 0 4px,#fff 0 0 4px;
}
.print-btn-box {
    display: flex;
    justify-content: center;
    gap: 20px;
    position: fixed;
    bottom: -20px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 9999;
}

.wrapper-table-popup {
    width: 900px;
    height: calc(100% - 100px);
    display: none;
    position: fixed;
    overflow-y: scroll;
    top: 50px;
    left: calc(50% - 450px);
    z-index: 999;
}
.wrapper-table-popup.view {
    display: block;
}
.wrapper-table-popup::before {
    content: '';
    width: 100vw;
    height: 100vh;
    background: rgba(0,0,0,.6);
    display: block;
    position: fixed;
    top: 0;
    left: 0;
}
.wrapper-table-popup-inner {
    padding: 20px;
    background: #fff;
    border-radius: 4px;
    position: relative;
}
.wrapper-table-popup .btn-close {
    width: 40px;
    height: 40px;
    padding: 0;
    background: #73b7e9;
    border-radius: 4px;
    color: #fff;
    text-align: center;
    font-size: 32px;
    line-height: 40px;
    font-weight: bold;
    text-decoration: none;
    position: absolute;
    top: 0;
    right: 0;
}
.wrapper-table-popup h4.cert-ttl {
    font-family: "Yuji Syuku", serif;
    font-weight: 400;
    font-size: 1.5em;
    text-align: center;
}
.wrapper-table-popup p.contract {
    font-size: .875em;
    text-align: right;
}
.wrapper-table-popup dl {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
}
.wrapper-table-popup dl dt,
.wrapper-table-popup dl dd {
    margin: 0;
    margin-bottom: .5em;
    line-height: 1.2em;
}
.wrapper-table-popup dl dt {
    width: 30%;
    font-family: "Yuji Syuku", serif;
    font-weight: 400;
}
.wrapper-table-popup dl dd {
    width: 70%;
}
.wrapper-table-popup table {
    width: 100%;
    border-collapse: collapse;
}
.wrapper-table-popup table th,
.wrapper-table-popup table td {
    padding: .4em 1em;
    border: #ccc 1px solid;
}
.wrapper-table-popup table th {
    background: #ededed;
    font-family: "Yuji Syuku", serif;
    font-weight: 400;
}
.wrapper-table-popup .cert-info {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}
.wrapper-table-popup .cert-info p {
    font-size: .875em;
}
.wrapper-table-popup .cert-info p.cert-info-iwaki {
    background: url("img/sign-right.png") left center no-repeat, url("img/sign-left.png") right center no-repeat;
    background-size: auto 100%;
    font-family: "Yuji Syuku", serif;
    font-weight: 400;
}
.area-btn {
    margin: 20px auto 60px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
}
.area-btn [class^='btn-'] {
    margin: 0 auto;
}
@media screen and (max-width: 719.9999px) {
    .wrapper-table-popup {
        width: 96vw;
        height: calc(100vh - 60px);
        top: 30px;
        left: calc(50% - 48vw);
    }
}

.hide {
    font-family: "Yuji Syuku", serif;
    font-weight: 400;
}

@page {
    size: A4 portrait;
    margin: 0;
}
@media print{
    * {        
        box-sizing: border-box;
    }
    html::before,
    header,
    footer,
    h2,
    h3,
    .wrapper-table,
    .mystatus,
    form,
    p.other,
    .newspost,
    .wrapper-print + p,
    .wrapper-table-popup,
    .area-btn,
    a[class^="btn-"] {
        display: none;
    }
    body {
        position: relative;
    }
    .content-area {
        margin-bottom: 0;
    }
    #page,
    #content,
    main,
    .wrapper-certificate,
    .wrapper-card {
        width: 100%;
        height: 100%;
        padding: 0;
        margin: 0;
    }
    main .wrapper-certificate {
        background: url("img/cert-top.jpg") center top no-repeat, url("img/cert-bottom.jpg") center bottom no-repeat, url("img/cert-middle.jpg") center top repeat-y;
        background-size: 100% auto, 100% auto, 100% auto;
        print-color-adjust: exact; /* 背景プリントの強制 */
        -webkit-print-color-adjust: exact; /* 背景プリントの強制 */
    }
    .wrapper-certificate,
    .wrapper-card {
        width: 210mm;
        height: 297mm;
        padding: 30mm 25mm;
        position: relative;
        print-color-adjust: exact; /* 背景プリントの強制 */
        -webkit-print-color-adjust: exact; /* 背景プリントの強制 */
    }
    .wrapper-card {
        width: 210mm;
        height: auto;
        padding: 0 14mm;
    }
    .wrapper-certificate p {
        margin: 0;
    }
    .wrapper-certificate .ttl-main {
        margin-bottom: 5mm;
        font-size: 28pt;
        line-height: 30pt;
        text-align: center;
        font-family: "Yuji Syuku", serif !important;
        font-weight: 400;
        letter-spacing: .8em;
    }
    .wrapper-certificate .established {
        text-align: right;
    }
    .wrapper-certificate table th,
    .wrapper-certificate table td {
        padding: 1mm;
        border-color: #ccc;
    }
    .wrapper-certificate table th {
        background: #eee;
        font-family: "Yuji Syuku", serif !important;
    }
    .wrapper-certificate .cert-corp td {
        width: calc(100% / 14);
        text-align: center;
    }
    .wrapper-certificate dl {
        font-size: 12pt;
        line-height: 13pt;
        display: flex;
        flex-wrap: wrap;
        align-items: baseline;
    }
    .wrapper-certificate dl dt,
    .wrapper-certificate dl dd {
        padding: 0 0 2mm 0 !important;
        border-bottom: #ccc 1px solid;
    }
    .wrapper-certificate dl dt {
        width: 20%;
        font-family: "Yuji Syuku", serif;
    }
    .wrapper-certificate dl dd {
        width: 75%;
    }
    .wrapper-certificate .sign {
        width: 150mm;
        font-size: 14pt;
        display: flex;
        justify-content: space-between;
        position: absolute;
        left: 30mm;
        bottom: 30mm;
    }
    .wrapper-certificate .sign .iwaki {
        background: url("img/sign-left.png") right center no-repeat, url("img/sign-right.png") left center no-repeat;
        background-size: auto 100%, auto 100%;
        text-align: right;
        font-family: "Yuji Syuku", serif;
        font-weight: 400;
        letter-spacing: .5em;
        print-color-adjust: exact; /* 背景プリントの強制 */
        -webkit-print-color-adjust: exact; /* 背景プリントの強制 */
    }
    .wrapper-card-flex {
        height: auto;
        position: unset;
        overflow: visible;
        gap: 0;
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
    }
    .wrapper-card .mydata {
        width: 91mm;
        height: 55mm;
        padding: 4mm;
    }
    .wrapper-card div:nth-of-type(10n) {
        page-break-after: always;
    }
    .wrapper-card .mydata .number-ref {
        margin-bottom: .5mm;
        font-size: 7pt;
        text-align: right;
    }
    .wrapper-card .mydata p,
    .wrapper-card .mydata table {
        margin-bottom: 1mm;
    }
    .wrapper-card .mydata .ttl {
        font-size: 10pt;
        line-height: 10pt;
        text-align: center;
    }
    .wrapper-card .txt-proof {
        margin-bottom: 1mm;
        white-space: nowrap;
        font-size: 8.5pt;
        line-height: 1.2em;
    }
    .wrapper-card .mydata dt,
    .wrapper-card .mydata dd {
        padding: 0 2mm;
        margin: 0;
        font-size: 7.75pt;
    }
    .wrapper-card table th,
    .wrapper-card table td {
        padding: .8mm 1mm;
        border-color: #ccc;
        font-size: 7.5pt;
    }
    .wrapper-card table th {
        background: #eee;
    }
    .wrapper-card .info {
        display: flex;
        justify-content: flex-end;
    }
    .wrapper-card .info .org {
        width: 65mm;
        padding-left: 6mm;
        margin-left: 5mm;
        background: url("img/sign-left.png") right center no-repeat, url("img/sign-right.png") left center no-repeat;
        background-size: auto 100%, auto 100%;
        font-size: 7.5pt;
        line-height: 8pt;
        print-color-adjust: exact; /* 背景プリントの強制 */
        -webkit-print-color-adjust: exact; /* 背景プリントの強制 */
    }
}