@charset "UTF-8";

@media print {
    @page {
        size: 210mm 297mm;
        /* or size: 794px 1123px; */
        size: 297mm 420mm;
        /* or size: 1123px 1588px; */
    }
    .m-page-top{
        display: none;
    }
}
html{
    overflow-x: auto !important;
}
html, body{
    width: 100%;
    min-width: 1184px;
    margin: 0 auto;
}
/* header */
.m-global-header__logo__word img{
    width: 350px;
    object-fit: cover;
}
.m-global-header .selfContent a, .m-global-header .selfContent span {
    font-size: 14px;
}
.m-vertical-card__body{
    width: 100%;
}
.m-table__thead{
    width: 100%;
}
.m-table__tbody {
    overflow-x: auto;
    max-width: 100%;
}
.m-table__col{
    width: 100%;
}
.m-heading{
    width: 100%;
}
.header_link {
    margin-left: 20px;
}
.margin {
    padding: 0 10px;
}
.mb300 {
    margin-bottom: 300px;
}
.mr0 {
    margin-right: 0 !important;
}
.mr20 {
    margin-right: 20px;
}
.mt200{
    margin-top: 200px;
}
.w30{
    width: 30%;
}
.w40{
    width: 40%;
}
.w60{
    width: 60%;
}
.w70{
    width: 70%;
}
.ml5{
    margin-left: 5px;
}
.tx-left, .common-table .tx-left{
    text-align: left !important;
}
.tx-italic{
    font-style: italic;
}
.btn-disabled{
    color: #8c8c8c !important;
    background-color: #dcdcdc !important;
    border-color: transparent !important;
}
.btn-disabled:active{
    transform: none !important;
}
.btn-fluid{
    width: 100%;
}
.hide{
    display: none;
}
.reader{
    position: absolute;
    height: 1px;
    width: 1px;
    overflow: hidden;
}
.m-form--error__item:active{
    outline: none !important;
}
.m-form--error__item:focus{
    outline: none !important;
    border: 2px solid rgba(251, 0, 32, 0.5) !important;
}
h1.typesquare_option{
    font-size: clamp(24px,calc(1.5rem + ((1vw - 3.75px) * 3.0534)),36px);
}
.required{
    position: relative;
}
.required::before{
    position: absolute;
    content: '*';
    color: #ff6b7f;
    left: -14px;
}
.m-global-header__menu{
    transform: translate3d(0, 0, 0);
}
@media print,screen and (max-width: 400px) {
    .m-global-header .m-global-header__head {
        height: 5.5rem;
    }
}
@media screen and (max-width: 767px) {
    .m-global-header__links {
        width: 100%;
    }
    .m-global-header.-active {
        height: auto;
    }
    .m-global-header.-active .js-global-menu-root {
        height: auto !important;
    }
    .m-global-header.-hide {
        height: 3rem;
    }
    .m-global-header.-hide .js-global-menu-root {
        height: 0 !important;
    }
    .selfContent .l-flex {
        flex-wrap: wrap;
        justify-content: start;
    }
    .selfContent .l-flex a, .selfContent .l-flex span, .selfContent .l-flex li {
        width: 100%;
        margin: 0;
    }
    .selfContent .l-flex .border {
        font-size: 1.375rem;
        padding-top: 1.0625rem;
        padding-right: 0.25rem;
        padding-bottom: 0.5625rem;
        padding-left: 0.25rem;
        border-bottom: 1px solid #c8c8c8;
        color: #333;
    }
    .selfContent .l-flex .border0 {
        border: none;
    }
    .selfContent .l-flex .hide {
        display: none;
    }
}
@media print,screen and (max-width: 920px) {
    .m-global-header__utils__inner > .m-global-header__links {
        display: block !important;
    }
}
.m-global-header__utils {
    order: 0 !important;
}
.m-global-menu {
    margin-top: 0 !important;
}

/* footer */
#carrera_footer .m-copyright {
    color: #dcdcdc;
    margin-bottom: 2.25rem;
    font-size: 14px;
}
#carrera_footer .m-form__select::before, #carrera_footer .m-form__select::after {
    border-top: none !important;
    border-bottom: none !important;
}
#carrera_footer .m-form__select .m-form__select-item {
    background: none;
    border: 1px solid #000000;
    color: #8c8c8c;
}
#carrera_footer .m-form__select .m-form__select-item:hover {
    border: 1px solid #8c8c8c;
}

/* page */
.page {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 20px;
}
.page li a{
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}
.page li {
    text-align: center;
    color: #000;
    background: #fff;
    cursor: pointer;
    border-radius: 2px;
}
.page .pageOper {
    border: 1px solid #555;
    color: #555;
    height: 32px;
    width: 32px;
    line-height: 32px;
}
.page .pageOper .left, .page .pageOper .right {
    border-top: 1px solid #555;
    border-left: 1px solid #555;
    position: relative;
    top: 0;
    width: 12px;
    height: 12px;
    display: inline-block;
}
.page .pageOper .left {
    transform: rotate(-45deg);
    left: 3px;
}
.page .pageOper .right {
    transform: rotate(135deg);
    right: 3px;
}
.page .pageOper.disabled {
    cursor: no-drop;
    border: 1px solid #8c8c8c;
    color: #8c8c8c;
    background: #eee;
}
.page .pageOper.disabled .left, .page .pageOper.disabled .right {
    border-top: 1px solid #8c8c8c;
    border-left: 1px solid #8c8c8c;
}
.page .pageItem {
    padding: 0 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 32px;
    flex: 0 0 32px;
}
.page .pageItem:hover {
    color: #018463;
}
.page .pageItem.active, .page .pageItem.active:hover {
    color: #fff;
    background-color: #01916d;
    border: 1px solid #018463;
}
.page .mr {
    margin-right: 8px;
}
.page .ml {
    margin-left: 8px;
}

/* search & table_result */
.tabs {
    margin-top: 30px;
    display: flex;
    justify-content: flex-start;
    box-shadow: 0 2px 5px rgba(0,0,0,0.4);
}
.tabs li {
    padding: 8px 15px;
    cursor: pointer;
    color: #333;
}
.tabs li.active {
    border-bottom: 4px solid #01916d;
    color: #01916d;
}

.searchBox {
    margin-top: 50px;
}
.searchBox .search-item {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin: 5px;
}
.searchBox .search-item p {
    width: 240px;
    font-weight: 600;
    margin-right: 30px;
    text-align: right;
}
.searchBox .search-item .m-form.info {
    width: auto;
}
.searchBox .search-item .m-form {
    width: 225px;
}
.searchBox .search-item .m-form.search {
    width: 375px;
    margin-right: 20px;
}

/***** エラー画面 start  *******/
table.err_table {
    width : 100% ;
    border-style : none ;
    margin-top: 40px;
    vertical-align : top ;
    font-weight: bold;
    text-align: center;
}

table.err_table dt.error{
    font-size: large;
    line-height : 1.4em ;
}

table.err_table dd.error{
    margin-top: 20px;
    margin-left: 0;
    color: red;
    line-height : 1.2em ;
}
table.err_table a:link{
    color: #01916d;
    text-decoration: none;
}
.err_box a{
    color: #01916d;
    text-decoration: none;
}
/*-- 赤字--*/
.tx-caution-mk {
    color : #FF3333 ;
}

.err-box3{
    margin: 10px;
    padding : 8px 10px;
    color:#FF0000;
}

.m-heading-3__title{
    font-weight: bold;
}

.common-table{
    table-layout: fixed;
    overflow: hidden;
}
.common-table th{
    text-align: center !important;
}
.common-table td{
    text-align: right !important;
}
.common-table .message-td{
    text-align: center !important;
}
.m-table__table .m-table__cell{
    padding: 0.5rem;
}

.m-form__select-item.-inputed{
    background: #fafafa;
}
.p0 {
    padding:0;
}

/*-- step--*/
.stepBox {
    margin: 30px auto;
    text-align: center;
}
.stepBox .m-progress__body {
    max-width: 100%;
}

.js_contents_area {
    display: none;
}

.mt1 a {
    color: #01916d;
}

/*step phone*/
.m-progress__body{
    width: 100%;
    max-width: 930px !important;
    margin: 0 auto;
    padding: 1.5rem 0 !important;
}
.m-progress__row{
    display: flex;
    justify-content: center;
}
.m-progress__col:not(:last-child):not(:only-child){
    padding-bottom: 0;
}
.m-progress__col--col-4{
    flex: 1 1 calc(100% / 3 - 0.01px);
    max-width: calc(100% / 3 - 0.01px);
    width: calc(100% / 3 - 0.01px);
}
.m-progress__col{
    text-align: center;
    padding: 2.8125rem 0.75rem 0;
}
.m-progress__mark{
    top: 0;
    left: 50%;
    font-size: 1.4375rem;
    width: 2.375rem;
    height: 2.375rem;
    transform: translateX(-50%);
}
.m-progress__col:not(:last-child):not(:only-child)::after{
    bottom: 50%;
    left: 100%;
    width: 1.125rem;
    height: 1.125rem;
    transform: translate(-80%, 50%) rotate(-45deg);
}

/*header phone*/
@media screen and (max-width: 400px) {
    .m-global-header .m-global-header__head{
        height: 4rem;
    }
}
/*footer phone*/
@media screen and (max-width: 767px){
    .m-global-footer__copyright{
        display: initial;
    }
}