.vue_app {
    min-height: 100vh;
    display: flex;
    flex-flow: column;
}
.help-answer table {
    border-collapse: collapse;
    margin: 1rem;
}
.help-answer table th {
    border: 1px solid #333;
    padding: 0.5rem;
}
.help-answer table td {
    border: 1px solid #333;
    padding: 0.5rem;
    text-align: center;
}
.detail-header {
    page-break-inside: avoid;
    break-inside: avoid-page;
}
.detail-txt p {
    page-break-inside: avoid;
    break-inside: avoid-page;
}
.detail-txt p strong {
    background-color: #fffca8;
}
.cutout main {
    padding-top: 1rem;
}
@media screen and (max-width: 767px) {
    .cutout main {
        padding-top: 7rem;
    }
}
@media screen and (max-width: 599px) {
    .detail-metatxt span.result-paper {
        white-space: normal;
    }
}
@page {
    margin-top: 0.50in;
    margin-bottom: 0.52in;
}
@media print {
    html, body {
        height: auto;
        margin: 0;
        padding: 0;
        overflow: hidden;
    }
    body {
        min-height: unset;
    }
    .vue_app {
        height: auto;
        min-height: unset;
    }
    main {
        height: auto;
        flex: unset;
    }
    .search-result .panel-search {
        display: none;
    }
    .result-p strong {
        background-color: transparent;
        text-decoration: underline;
    }
    .detail-article {
        margin-bottom: 5.0rem;
    }
    .detail-header {
        border-bottom: none;
        border-left: 5px solid #17A2B8;
        padding: 0 1.5rem;
        margin: 0 0 2.5rem 0;
    }
    .detail-header .detail-title {
        font-size: 1.8rem;
        line-height: 2.5rem;
        margin-bottom: 0;
    }
    .detail-header .detail-metatxt {
        font-size: 1.4rem;
        line-height: 2.5rem;
        margin-bottom: 0;
    }
    .detail-content {
        padding: 0 1.5rem;
    }
    .detail-txt p {
        font-size: 1.6rem;
        line-height: 2.5rem;
        margin-bottom: 2.5rem;
    }
    .detail-txt p strong {
        background-color: transparent;
        text-decoration: underline;
    }
    .side-title {
        display: none;
    }
    .detail .copyright-for-print {
        border-top: 2px solid #ccc;
        margin-top: 0;
        padding-top: 2.5rem;
        text-align: center;
        break-inside: avoid-page;
    }
    .detail .copyright-for-print p {
        font-size: 1.4rem;
        line-height: 2.5rem;
    }
    body.modal-open div.modal-wrapper {
        display: none;
    }
}
a > i.fa-external-link {
    margin: 0 0.5rem;
}
.term-inner {
    font-size: 1.5rem;
}
.term-inner h1 {
    text-align: center;
    font-size: 1.8rem;
    margin: 1rem auto;
    color: #3a3a3a;
}
.term-inner h1 + p {
    margin: 2rem 0;
}
.term-inner h2 {
    text-align: center;
    font-size: 1.5rem;
    margin: 4rem auto 2rem;
}
.term-inner h3 {
    text-align: left;
    font-size: 1.5rem;
    margin: 0 auto;
}
.term-inner ol.lv1 {
    margin: 0 0 2rem 1em;
}
.term-inner ol.lv1 > li {
    list-style-type: none;
    counter-increment: cnt1;
    position: relative;
    margin: 0 0 0.5rem -0.5rem;
}
.term-inner ol.lv1 > li:before {
    content: counter(cnt1) ".";
    display: inline-block;
    margin-left: -2.5rem;
    text-align: right;
    position: absolute;
    top: 0;
    left: 0;
}
.term-inner ol.lv2 {
    margin-left: 1em;
}
.term-inner ol.lv2 > li {
    list-style-type: none;
    counter-increment: cnt2;
    position: relative;
}
.term-inner ol.lv2 > li:before {
    content: "(" counter(cnt2) ")";
    display: inline-block;
    margin-left: -3.5em;
    width: 3em;
    text-align: right;
    position: absolute;
    top: 0;
    left: 0;
}
.term-inner ol.lv3 {
    margin-left: 1rem;
}
.term-inner ol.lv3 li {
    list-style-type: none;
    counter-increment: cnt3;
    position: relative;
}
.term-inner ol.lv3 > li:before {
    content: counter(cnt3, katakana);
    display: inline-block;
    margin-left: -2.5em;
    width: 2em;
    text-align: right;
    position: absolute;
    top: 0;
    left: 0;
}
.term-inner table {
    border: 1px solid #3a3a3a;
    border-collapse: collapse;
    margin: 1rem auto;
}
.term-inner table th {
    border: 1px solid #3a3a3a;
    padding: 0.5rem;
}
.term-inner table td {
    border: 1px solid #3a3a3a;
    padding: 0.5rem;
}
.term-inner table thead th {
    text-align: center;
    padding: 0.5rem 4rem;
}
@media screen and (max-width: 599px) { 
   .term-inner table thead th {
        padding: 0.5rem;
    }
}
.term-inner table tbody th {
    text-align: left;
}
.term-inner table tbody td {
    text-align: center;
}
.term-inner h3.additional {
    font-weight: normal;
    margin-top: 4rem;
}
.term-inner ol.single {
    margin: 0 0 2rem 1em;
}
.term-inner ol.single li {
    list-style: none;
}
@keyframes yellowfade {
    from { background-color: yellow; }
    to { background-color: transparent; }
}
.yellow-fade {
    animation-name: yellowfade;
    animation-duration: 2.0s;
}
body.window .page-block {
    margin-top: 0;
}
body.window .page-h2 {
    margin: 0;
}
img, a {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    user-select: none;
}

.header .logo {
    margin-right: 10px;
}
.header .logo img {
    min-width: 175px;
}
.header .logo span {
    white-space: nowrap;
}
.gmenu-loginname {
    max-width: 39.2rem;
    overflow: hidden;
    text-overflow: ellipsis;
}
.gmenu-loginbtn {
    width: 130px;
}
.gmenu-navi > li > a {
    margin: 0 10px 0 0;
}
@media screen and (max-width: 991px) {
    .gmenu {
        width: calc( 100% - 180px );
        padding-right: 10px;
    }
    .gmenu.biz {
        width: calc( 100% - 280px );
    }
    .gmenu-container {
        justify-content: end;
        display: flex;
    }
    .gmenu-navi {
        flex-grow: 0;
        flex-shrink: 1;
    }
    .gmenu-login {
        max-width: calc( 100% - 260px );
        flex-grow: 0;
        flex-shrink: 1;
    }
    .gmenu.biz .gmenu-login {
        max-width: calc( 100% - 110px );
    }
    .gmenu-loginname {
        overflow: hidden;
        text-overflow: ellipsis;
        max-width: calc( 100% - 140px );
        display: inline-block;
    }
}
@media screen and (max-width: 767px) {
    .header .logo span {
        font-size: 1.8rem;
    }
    .gmenu {
        width: 29.5rem;
    }
    .gmenu.biz {
        width: 29.5rem;
    }
    .gmenu-container {
        justify-content: start;
    }
    .gmenu-login {
        width: 100%;
        max-width: unset;
    }
    .gmenu.biz .gmenu-login {
        width: 100%;
        max-width: unset;
    }
    .gmenu-loginname {
        width: 230px;
        max-width: unset;
    }
    .gmenu-loginbtn {
        width: 100%;
    }
}

.flatpickr-current-month {
    display: flex;
    justify-content: center;
}
.flatpickr-current-month .numInputWrapper {
    order: 1;
    display: block;
    width:  12.8rem;
    height: 100%;
    margin: 0.2rem 0.6rem 0 0;
    padding: 0;
}
.flatpickr-current-month .numInputWrapper .numInput {
    width: 6rem;
    height: 100%;
    text-align: center;
    padding: 0;
    /*
    -webkit-user-select: none;
    */
}
.flatpickr-current-month .numInputWrapper span {
    position: absolute;
    top: 0;
    line-height: 100%;
    height: 100%;
    width: 2.4rem;
    font-size: 2rem;
    text-align: center;
    cursor: pointer;
    user-select: none;
    margin: 0;
}
.flatpickr-current-month .numInputWrapper span.arrowDown {
    left: 0;
}
.flatpickr-current-month .numInputWrapper span.arrowUp {
    right: 0;
}
.flatpickr-current-month .numInputWrapper span::after {
    border: none;
    top: 0;
    width: 1.8rem;
}
.flatpickr-current-month .numInputWrapper span.arrowUp::after {
    content: '+';
}
.flatpickr-current-month .numInputWrapper span.arrowDown::after {
    content: '-';
}
.flatpickr-current-month .numInputWrapper::after {
     content: "年 ";
}
.flatpickr-current-month .flatpickr-monthDropdown-months {
    order: 2;
}
.flatpickr-day.flatpickr-disabled, .flatpickr-day.flatpickr-disabled:hover {
    color: #ccc;
}
