/* ===================
共通
====================== */
/*
h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
  font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "メイリオ", sans-serif !important;
}
*/

body {
    font-family: automonospace;
}

/* shibbolethログイン
---------------------- */
#geolocation_img,
.wayf_radioArea .wayf_row,
#wayf_intro_label,
#wayf_logo {
    display: none !important;
}

#wayf_div {
    margin-top: 2rem !important;
    background: #fff !important;
    border-style: none !important;
}

.shibboleth-login-form-container .card {
    margin-top: 2rem;
}

.pagelayout-login #page {
    background-image: unset !important;
}

.pagelayout-login #page h2,
.pagelayout-login #page .container>.card:first-child,
.pagelayout-login #page .container>.card:first-child .justify-content-center>div label,
.pagelayout-login #page .container>.card:first-child .justify-content-center>div .form-text {
    display: none;
}

.container {
    border: solid #D9D9D9 .5px;
    border-radius: 10px;
    box-shadow: 0 0 10px rgba(0, 0, 0, .1);
}

.o-logo {
    margin-top: 3rem;
    margin-bottom: 1rem;
}

.fw-bold {
    font-weight: 700 !important;
}

.badge-wallet {
    font-family: 'Times New Roman', Times, serif;
    margin-bottom: 1.5rem;
}

.pagelayout-login #page .container>.card:first-child .justify-content-center {
    display: block;
}

.row {
    margin: 0 24px;
    place-content: center;
}

.pagelayout-login #page .container>.card:first-child .justify-content-center>div {
    max-width: unset;
}

.btn {
    font-size: 1.171875rem;
    border-radius: .5rem;
}

.btn-block {
    width: 40%;
    min-width: 200px;
    margin: auto;
}

.mx-1 {
    margin-left: auto;
    margin-right: auto;
}

.mt-5 {
    margin-top: 3rem !important;
}

.mb-2 {
    font-size: 1.25rem !important;
}

.mb-0 {
    font-size: 1.6rem;
}

.container-fluid .login-container {
    max-width: 1500px;
    margin-bottom: 0px;
}

.container-fluid .col-12 {
    padding-left: 0px;
    padding-right: 0px;
}

.ologo img {
    vertical-align: inherit;
    height: 65px;
}

.container-fluid .btn-primary,
.container-fluid .btn-secondary {
    display: block;
    width: 65%;
    max-width: 300px;
    margin: 0 auto 0.7rem;
}

.container-fluid .container .row .card {
    border: solid #D9D9D9 0.5px;
    border-radius: 10px;
}

.container-fluid .card-title {
    font-size: 1.75rem;
    font-weight: bold;
}

.container-fluid .section-title {
    font-size: 1.25rem;
    font-weight: bold;
    margin-top: 1rem;
    margin-bottom: 0.5rem;
}

.container-fluid .card-body .text-right>p {
    margin-bottom: -3rem;
}

.mb-5 {
    margin-top: 4rem;
    margin-bottom: 2rem;
}

.p-5 {
    padding: 2rem;
}

.container-fluid .container .row .shibboleth-login-form-container .card {
    margin-top: 30px;
    border: none;
    box-shadow: none;
}

body {
    background-color: #f8f9fa;
}

.container {
    max-width: 1080px;
}

.card {
    border: solid #D9D9D9 0.5px;
    border-radius: 10px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

.card-title {
    font-size: 1.75rem;
    font-weight: bold;
}

.section-title {
    font-size: 1.25rem;
    font-weight: bold;
    margin-top: 1rem;
}

.btn-primary,
.btn-secondary {
    display: block;
    width: 65%;
    max-width: 300px;
    margin: 0 auto 0.7rem;
}

.row .btn-primary {
    color: #fff;
    background-color: #1d4ed8;
    border-color: #1d4ed8;
}

.row .btn-secondary {
    color: #1d2125;
    background-color: #ced4da;
    border-color: #ced4da;
}

.btn-primary:hover {
    background-color: #0056b3;
    border-color: #0056b3;
}

.btn-secondary:hover {
    background-color: #5a6268;
    border-color: #545b62;
}

.form-group {
    max-width: 300px;
    margin: 0 auto 1rem;
}

.shibboleth-login-form-container .card-body {
    padding-bottom: 0;
}

.col-md-6 {
    flex: 0 0 50%;
    max-width: 50%;
    max-width: 700px;
}

.row div:nth-child(2) .btn-primary {
    margin: 0 auto;
}

#page-auth-shibboleth-login .logo-margin {
    margin-top: 3.38rem !important;
}

.card-margin {
    margin-top: 35.72px;
}

.c-login {
    color: red;
    font-size: x-large;
    font-weight: bold;
    margin-top: 1rem;
    margin-bottom: -.5rem;
}

.login-wrapper {
    display: unset;
}

/*タブレット用（1024px未満の場合）
---------------------- */
@media (max-width: 1024px) {
    .card-body {
        padding: 0;
        max-width: 100%
    }

    .container-fluid .btn-primary,
    .container-fluid .btn-secondary {
        width: 40%;
        max-width: 300px;
    }

    .container-fluid .card-body .text-right>p {
        margin-bottom: 0;
    }

    .container-fluid {
        max-width: 95%;
    }

    .login-container {
        padding: 0;
    }
}

/*モバイル用（767.98px未満の場合）
---------------------- */
@media (min-width: 767.98px) {

    .container,
    .container-sm,
    .container-md {
        max-width: unset;
    }

    .row {
        margin: 0.5rem;
    }

    .p-5 {
        padding: 1.5rem;
    }

    .card .card-body,
    .ml-1 {
        padding: 0;
        margin: 0;
    }

    .col-md-6 {
        padding-left: .5rem;
        padding-right: .5rem;
    }

    .btn-primary,
    .btn-secondary {
        width: 75%;
        min-width: 170px;
    }
}

/*その他のサイズ
---------------------- */
@media (max-width: 1242px) {
    .col-md-6 {
        flex: 0 0 100%;
        max-width: 100%;
    }
}

@media (min-width: 992px) {
    .container {
        max-width: unset;
    }
}

@media (min-width: 576px) {
    .my-sm-5 {
        margin-bottom: unset !important;
    }
}

@media (min-width: 576px) {
    .my-sm-5 {
        margin-top: unset !important;
    }
}

@media (min-width: 576px) {

    .container,
    .container-sm,
    .container-md {
        max-width: unset;
    }
}