/*===============================================
Typography - テキストの指定
===============================================*/
html {
    font-size: 62.5%;
}

body {
    font-size: 17px;
    font-size: 1.7rem;
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Noto Sans JP", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Verdana, "ＭＳ Ｐゴシック", sans-serif;
    color: #454545;
    line-height: 1.75;
    font-weight: 400;
    -webkit-text-size-adjust: 100%;
}

@media (min-width: 992px) {
    body {
        line-height: 1.9;
    }
}

.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
.lead,
h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: 600;
}

h1,
.h1 {
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 1.5;
}

h2,
.h2 {
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 1.5;
}

h2 strong {
    font-size: 110%;
}

h3,
.h3 {
    font-size: 22px;
    font-size: 2.2rem;
}

h3 strong {
    font-size: 110%;
}

h4,
.h4 {
    font-size: 20px;
    font-size: 2.0rem;
    margin-bottom: 2.2rem;
    line-height: 1.5;
}

h5,
.h5 {
    font-size: 18px;
    font-size: 1.8rem;
    margin-bottom: 2.2rem;
}

h6,
.h6 {
    font-size: 17px;
    font-size: 1.7rem;
    margin-bottom: 2.2rem;
}

p {
    margin-bottom: 2.2rem;
}

p,
li,
div {
    font-size: 17px;
    font-size: 1.7rem;
}

td,
th {
    font-size: 15px;
    font-size: 1.5rem;
}

.lead {
    font-size: 20px;
    font-size: 2rem;
    line-height: 1.6;
}

b, strong {
    font-weight: 700;
}

@media (min-width: 768px) {

    h1,
    .h1 {
        font-size: 34px;
        font-size: 3.4rem;
    }

    h2,
    .h2 {
        font-size: 28px;
        font-size: 2.8rem;
    }

    h3,
    .h3 {
        font-size: 24px;
        font-size: 2.4rem;
    }

    p,
    li,
    div {
        font-size: 16px;
        font-size: 1.6rem;
    }

    .lead {
        font-size: 22px;
        font-size: 2.2rem;
    }

}

@media (min-width: 992px) {

    h1,
    .h1 {
        font-size: 36px;
        font-size: 3.6rem;
    }

    h2,
    .h2 {
        font-size: 30px;
        font-size: 3rem;
    }

    h3,
    .h3 {
        font-size: 25px;
        font-size: 2.5rem;
    }

    .lead {
        line-height: 1.8;
    }

}

@media (min-width: 1800px) {

    h1,
    .h1 {
        font-size: 40px;
        font-size: 4rem;
    }

    h2,
    .h2 {
        font-size: 36px;
        font-size: 3.6rem;
    }

    h3,
    .h3 {
        font-size: 28px;
        font-size: 2.8rem;
    }

    .lead {
        font-size: 24px;
        font-size: 2.4rem;
    }

}

/*=========================================================
list - リスト
=========================================================*/
ul,
ol {
    margin-bottom: 2.2rem;
}

ul {
    padding-left: 2.75rem;
}

ol {
    padding-left: 3.25rem;
}

nav ul {
    padding: 0;
    margin: 0;
}

ul li {
    list-style-type: none;
    position: relative;
}

ul li:before {
    border-radius: 50%;
    width: 7px;
    height: 7px;
    display: block;
    position: absolute;
    left: -1.2em;
    top: 0.8em;
    content: "";
    background: #ffb633;
    /*点の色*/
}

ul.wt_check li:before {
    left: -1.5em;
    top: 0;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    display: inline;
    background: none;
    content: '\f00c';
    color: #5bcd26;
}

ul.wt_asta li:before {
    left: -1.9em;
    top: .5em;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    display: inline;
    background: none;
    content: '\f069';
    font-size: 1.1rem;
    color: #e75050;
}

ol {
    counter-reset: num;
    list-style-type: none;
}

ol li {
    position: relative;
}

ol li:before {
    position: absolute;
    counter-increment: num;
    content: counter(num);
    display: inline-block;
    background: #ffa1a9;
    color: #fff;
    border-radius: 50%;
    font-size: 85%;
    top: 0.375em;
    left: -2.2em;
    width: 2.1rem;
    height: 2.1rem;
    line-height: 2.1rem;
    text-align: center;
}

nav ul li:before {
    display: inline;
    background: none;
}

/*=========================================================
Color - カラー設定
=========================================================*/

/*テキスト*/
.text-primary {
    color: #0c88cc !important;
}

.text-secondary {
    color: #f3aa26 !important;
}

.text-success {
    color: #5bcd26 !important;
}

.text-warning {
    color: #e75050 !important;
}

.text-danger {
    color: #fa3515 !important;
}

.text-info {
    color: #ffa1a9 !important;
}

.text-dark {
    color: #6c6c6c !important;
}

.text-black {
    color: #454545 !important;
}

/*背景*/
.bg-primary {
    background-color: #0c88cc !important;
}

.bg-secondary {
    background-color: #f3aa26 !important;
}

.bg-success {
    background-color: #5bcd26 !important;
}

.bg-warning {
    background-color: #e75050 !important;
}

.bg-danger {
    background-color: #fa3515 !important;
}

.bg-info {
    background-color: #ffa1a9 !important;
}

.bg-dark {
    background-color: #6c6c6c !important;
}

.bg-black {
    background-color: #454545 !important;
}

/*ボタン*/
.btn-primary {
    background-color: #0c88cc;
    border-color: #0c88cc;
    color: #fff;
}

.btn-primary:hover {
    background-color: #047dbf;
    border-color: #047dbf;
    color: #fff;
}

.btn-primary:focus,
.btn-primary.focus {
    box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
}

.btn-primary.disabled,
.btn-primary:disabled {
    background-color: #0c88cc;
    border-color: #0c88cc;
}

.btn-primary:not(:disabled):not(.disabled):active,
.btn-primary:not(:disabled):not(.disabled).active,
.show>.btn-primary.dropdown-toggle {
    background-color: #047dbf;
    border-color: #047dbf;
}

.btn-primary:not(:disabled):not(.disabled):active:focus,
.btn-primary:not(:disabled):not(.disabled).active:focus,
.show>.btn-primary.dropdown-toggle:focus {
    box-shadow: 0 0 0 0.2rem rgba(12, 136, 204, 0.5);
}

.btn-secondary {
    background-color: #ffb633;
    border-color: #ffb633;
    color: #fff;
}

.btn-secondary:hover {
    background-color: #f3aa26;
    border-color: #f3aa26;
    color: #fff;
}

.btn-secondary:focus,
.btn-secondary.focus {
    box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);
}

.btn-secondary.disabled,
.btn-secondary:disabled {
    background-color: #ffb633;
    border-color: #ffb633;
}

.btn-secondary:not(:disabled):not(.disabled):active,
.btn-secondary:not(:disabled):not(.disabled).active,
.show>.btn-secondary.dropdown-toggle {
    background-color: #f3aa26;
    border-color: #f3aa26;
}

.btn-secondary:not(:disabled):not(.disabled):active:focus,
.btn-secondary:not(:disabled):not(.disabled).active:focus,
.show>.btn-secondary.dropdown-toggle:focus {
    box-shadow: 0 0 0 0.2rem rgba(255, 182, 51, 0.5);
}

.btn-success {
    background-color: #5bcd26;
    border-color: #5bcd26;
    color: #fff;
}

.btn-success:hover {
    background-color: #46a619;
    border-color: #46a619;
    color: #fff;
}

.btn-success:focus,
.btn-success.focus {
    box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);
}

.btn-success.disabled,
.btn-success:disabled {
    background-color: #5bcd26;
    border-color: #5bcd26;
}

.btn-success:not(:disabled):not(.disabled):active,
.btn-success:not(:disabled):not(.disabled).active,
.show>.btn-success.dropdown-toggle {
    background-color: #46a619;
    border-color: #46a619;
}

.btn-success:not(:disabled):not(.disabled):active:focus,
.btn-success:not(:disabled):not(.disabled).active:focus,
.show>.btn-success.dropdown-toggle:focus {
    box-shadow: 0 0 0 0.2rem rgba(255, 182, 51, 0.5);
}

.btn-warning {
    background-color: #e75050;
    border-color: #e75050;
    color: #fff;
}

.btn-warning:hover {
    background-color: #cd3b3b;
    border-color: #cd3b3b;
    color: #fff;
}

.btn-warning:focus,
.btn-warning.focus {
    box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);
}

.btn-warning.disabled,
.btn-warning:disabled {
    background-color: #e75050;
    border-color: #e75050;
}

.btn-warning:not(:disabled):not(.disabled):active,
.btn-warning:not(:disabled):not(.disabled).active,
.show>.btn-warning.dropdown-toggle {
    background-color: #cd3b3b;
    border-color: #cd3b3b;
}

.btn-warning:not(:disabled):not(.disabled):active:focus,
.btn-warning:not(:disabled):not(.disabled).active:focus,
.show>.btn-warning.dropdown-toggle:focus {
    box-shadow: 0 0 0 0.2rem rgba(255, 182, 51, 0.5);
}


.btn-danger {
    background-color: #fa3515;
    border-color: #fa3515;
    color: #fff;
}

.btn-danger:link,
.btn-danger:visited {
    color: #fff;
}

.btn-danger:hover {
    background-color: #e72809;
    border-color: #e72809;
    color: #fff;
}

.btn-danger:focus,
.btn-danger.focus {
    box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);
}

.btn-danger.disabled,
.btn-danger:disabled {
    background-color: #fa3515;
    border-color: #fa3515;
}

.btn-danger:not(:disabled):not(.disabled):active,
.btn-danger:not(:disabled):not(.disabled).active,
.show>.btn-danger.dropdown-toggle {
    background-color: #e72809;
    border-color: #e72809;
}

.btn-danger:not(:disabled):not(.disabled):active:focus,
.btn-danger:not(:disabled):not(.disabled).active:focus,
.show>.btn-danger.dropdown-toggle:focus {
    box-shadow: 0 0 0 0.2rem rgba(250, 53, 21, 0.5);
}



/*=========================================================
Anchor - アンカーテキスト設定
=========================================================*/

a {
    color: #0c88cc;
    text-decoration: none;
}

a:hover {
    color: #34495e;
    text-decoration: underline;
}

a:link {
    -webkit-tap-highlight-color: #34495e;
}

a {
    outline: 0;
    transition: all 200ms ease-out;
    -webkit-transition: all 200ms ease-out;
}

a img {
    transition: all 200ms ease-out;
    -webkit-transition: all 200ms ease-out;
}

a:hover img {
    opacity: .8;
}

a.btn:hover {
    text-decoration: none;
}


/*=========================================================
Container - コンテナ
=========================================================*/
@media (min-width: 1400px) {

    .container,
    .container-lg,
    .container-md,
    .container-sm,
    .container-xl,
    .container-xxl {
        max-width: 1140px;
    }
}

@media (min-width: 1800px) {

    .container,
    .container-lg,
    .container-md,
    .container-sm,
    .container-xl,
    .container-xxl {
        max-width: 1320px;
    }
}

.row>* {
    padding-right: calc(var(--bs-gutter-x) * 1.3);
    padding-left: calc(var(--bs-gutter-x) * 1.3);
}

/*=========================================================
Section - セクション
=========================================================*/

section {
    padding-top: 40px;
    padding-bottom: 40px;
}

@media (min-width: 768px) {
    section {
        padding-top: 45px;
        padding-bottom: 45px;
    }
}

@media (min-width: 992px) {
    section {
        padding-top: 60px;
        padding-bottom: 60px;
    }
}

/*=========================================================
table - テーブル
=========================================================*/
.table {
    color: #454545;
}

.table-striped>tbody>tr:nth-of-type(odd) {
    background: #f7f7f7;
    --bs-table-accent-bg: inherit;
}

.table>thead {
    background-color: #8fc3e9;
    color: #fff;
}

.table>thead.bg-white,
.table>thead.bg-light {
    color: #454545;
}

.table-striped>tbody>tr:nth-of-type(odd) {
    color: #454545;
}

/*=========================================================
button - ボタン
=========================================================*/
.btn {
    font-size: 16px;
    font-size: 1.6rem;
    box-shadow: 0 3px 6px rgba(0, 0, 0, .10);
    padding: 1.5rem 2rem;
    border-radius: 5rem;
    transition: all 0.2s ease 0s;
}

.btn:hover {
    box-shadow: 0 6px 10px rgba(0, 0, 0, .2);
    transform: translateY(-0.1875em);
}

.btn-sm {
    padding: 1rem 1.5rem;
}

.btn-lg {
    padding: 2.25rem 3.5rem;
    font-size: 1.8rem;
    font-weight: 600;
}

/*=========================================================
form - フォーム
=========================================================*/
.form-control {
    font-size: 1.6rem;
}

.form-group label,
.form-group .col-form-legend {
    font-weight: 600;
    cursor: pointer;
}

.required::after {
    content: "\203B\5FC5\9808";
    font-size: 14px;
    font-size: 1.4rem;
    padding-left: 10px;
    color: rgb(226, 67, 30);
}

.error-message {
    color: #fa3515;
}

/*=========================================================
badge - バッヂ
=========================================================*/
.badge {
    padding: .5em .75em;
    font-size: 14px;
    font-size: 1.4rem;
    margin-right: .75em;
}

.badge-primary {
    background: #0c88cc;
}

.badge-secondary {
    background: #f3aa26;
}

.badge-success {
    background: #5bcd26;
}

.badge-warning {
    background: #e75050;
}

.badge-danger {
    background: #fa3515;
}

.badge-info {
    background: #ffa1a9;
}
