@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Caveat:wght@400..700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Caveat:wght@400..700&family=Monsieur+La+Doulaise&family=Shippori+Mincho:wght@400;500;600;700;800&family=Special+Gothic+Expanded+One&display=swap');
@font-face {
    font-family: iconfont;
    font-display: block;
    src: url(../fonts/artifacts/iconfont.eot) format("embedded-opentype"), url(../fonts/artifacts/iconfont.woff) format("woff"), url(../fonts/artifacts/iconfont.woff2) format("woff2"), url(../fonts/artifacts/iconfont.ttf) format("truetype"), url(../fonts/artifacts/iconfont.svg) format("svg")
}

.c-icon {
    display: inline-block;
    line-height: 1
}

.c-icon:before {
    position: relative;
    top: 1px;
    font-family: iconfont !important;
    font-style: normal;
    font-weight: 400 !important;
    vertical-align: top
}

.c-icon--angle-right:before {
    content: "\f101"
}

.c-icon--arrow:before {
    content: "\f102"
}

.c-icon--calendar-star:before {
    content: "\f103"
}

.c-icon--chalkboard-teacher:before {
    content: "\f104"
}

.c-icon--clock:before {
    content: "\f105"
}

.c-icon--comments:before {
    content: "\f106"
}

.c-icon--external-link:before {
    content: "\f107"
}

.c-icon--fb:before {
    content: "\f108"
}

.c-icon--file-alt:before {
    content: "\f109"
}

.c-icon--globe:before {
    content: "\f10a"
}

.c-icon--insta:before {
    content: "\f10b"
}

.c-icon--line:before {
    content: "\f10c"
}

.c-icon--logo-mark-medical:before {
    content: "\f10d"
}

.c-icon--logo-mark-snc:before {
    content: "\f10e"
}

.c-icon--megaphone:before {
    content: "\f10f"
}

.c-icon--phone-alt:before {
    content: "\f110"
}

.c-icon--play:before {
    content: "\f111"
}

.c-icon--school:before {
    content: "\f112"
}

.c-icon--tw:before {
    content: "\f113"
}

.c-icon--users-class:before {
    content: "\f114"
}

.c-icon--wifi:before {
    content: "\f115"
}

.c-icon--yt:before {
    content: "\f116"
}

:root {
    --bs-blue: #0d6efd;
    --bs-indigo: #6610f2;
    --bs-purple: #6f42c1;
    --bs-pink: #d63384;
    --bs-red: #dc3545;
    --bs-orange: #fd7e14;
    --bs-yellow: #ffc107;
    --bs-green: #198754;
    --bs-teal: #20c997;
    --bs-cyan: #0dcaf0;
    --bs-black: #000;
    --bs-white: #fff;
    --bs-gray: #6c757d;
    --bs-gray-dark: #343a40;
    --bs-gray-100: #f8f9fa;
    --bs-gray-200: #e9ecef;
    --bs-gray-300: #dee2e6;
    --bs-gray-400: #ced4da;
    --bs-gray-500: #adb5bd;
    --bs-gray-600: #6c757d;
    --bs-gray-700: #495057;
    --bs-gray-800: #343a40;
    --bs-gray-900: #212529;
    --bs-primary: #0d6efd;
    --bs-secondary: #6c757d;
    --bs-success: #198754;
    --bs-info: #0dcaf0;
    --bs-warning: #ffc107;
    --bs-danger: #dc3545;
    --bs-light: #f8f9fa;
    --bs-dark: #212529;
    --bs-primary-rgb: 13, 110, 253;
    --bs-secondary-rgb: 108, 117, 125;
    --bs-success-rgb: 25, 135, 84;
    --bs-info-rgb: 13, 202, 240;
    --bs-warning-rgb: 255, 193, 7;
    --bs-danger-rgb: 220, 53, 69;
    --bs-light-rgb: 248, 249, 250;
    --bs-dark-rgb: 33, 37, 41;
    --bs-white-rgb: 255, 255, 255;
    --bs-black-rgb: 0, 0, 0;
    --bs-body-color-rgb: 33, 37, 41;
    --bs-body-bg-rgb: 255, 255, 255;
    --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, .15), rgba(255, 255, 255, 0));
    --bs-body-font-family: var(--bs-font-sans-serif);
    --bs-body-font-size: 1rem;
    --bs-body-font-weight: 400;
    --bs-body-line-height: 1.5;
    --bs-body-color: #212529;
    --bs-body-bg: #fff;
    --bs-border-width: 1px;
    --bs-border-style: solid;
    --bs-border-color: #dee2e6;
    --bs-border-color-translucent: rgba(0, 0, 0, .175);
    --bs-border-radius: .375rem;
    --bs-border-radius-sm: .25rem;
    --bs-border-radius-lg: .5rem;
    --bs-border-radius-xl: 1rem;
    --bs-border-radius-2xl: 2rem;
    --bs-border-radius-pill: 50rem;
    --bs-link-color: #0d6efd;
    --bs-link-hover-color: #0a58ca;
    --bs-code-color: #d63384;
    --bs-highlight-bg: #fff3cd
}

*,
*:before,
*:after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

@media (prefers-reduced-motion: no-preference) {
    :root {
        scroll-behavior: smooth
    }
}

body {
    margin: 0;
    font-family: var(--bs-body-font-family);
    font-size: var(--bs-body-font-size);
    font-weight: var(--bs-body-font-weight);
    line-height: var(--bs-body-line-height);
    color: var(--bs-body-color);
    text-align: var(--bs-body-text-align);
    background-color: var(--bs-body-bg);
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0)
}

hr {
    margin: 1rem 0;
    color: inherit;
    border: 0;
    border-top: 1px solid;
    opacity: .25
}

h6,
.h6,
h5,
.h5,
h4,
.h4,
h3,
.h3,
h2,
.h2,
h1,
.h1 {
    margin-top: 0;
    margin-bottom: .5rem;
    font-weight: 500;
    line-height: 1.2
}

h1,
.h1 {
    font-size: calc(1.375rem + 1.5vw)
}

@media (min-width: 1200px) {

    h1,
    .h1 {
        font-size: 2.5rem
    }
}

h2,
.h2 {
    font-size: calc(1.325rem + .9vw)
}

@media (min-width: 1200px) {

    h2,
    .h2 {
        font-size: 2rem
    }
}

h3,
.h3 {
    font-size: calc(1.3rem + .6vw)
}

@media (min-width: 1200px) {

    h3,
    .h3 {
        font-size: 1.75rem
    }
}

h4,
.h4 {
    font-size: calc(1.275rem + .3vw)
}

@media (min-width: 1200px) {

    h4,
    .h4 {
        font-size: 1.5rem
    }
}

h5,
.h5 {
    font-size: 1.25rem
}

h6,
.h6 {
    font-size: 1rem
}

p {
    margin-top: 0;
    margin-bottom: 1rem
}

abbr[title] {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
    cursor: help;
    -webkit-text-decoration-skip-ink: none;
    text-decoration-skip-ink: none
}

address {
    margin-bottom: 1rem;
    font-style: normal;
    line-height: inherit
}

ol,
ul {
    padding-left: 2rem
}

ol,
ul,
dl {
    margin-top: 0;
    margin-bottom: 1rem
}

ol ol,
ul ul,
ol ul,
ul ol {
    margin-bottom: 0
}

dt {
    font-weight: 700
}

dd {
    margin-bottom: .5rem;
    margin-left: 0
}

blockquote {
    margin: 0 0 1rem
}

b,
strong {
    font-weight: bolder
}

small,
.small {
    font-size: .875em
}

mark,
.mark {
    padding: .1875em;
    background-color: var(--bs-highlight-bg)
}

sub,
sup {
    position: relative;
    font-size: .75em;
    line-height: 0;
    vertical-align: baseline
}

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

a {
    color: var(--bs-link-color);
    text-decoration: underline
}

a:hover {
    color: var(--bs-link-hover-color)
}

a:not([href]):not([class]),
a:not([href]):not([class]):hover {
    color: inherit;
    text-decoration: none
}

pre,
code,
kbd,
samp {
    font-family: var(--bs-font-monospace);
    font-size: 1em
}

pre {
    display: block;
    margin-top: 0;
    margin-bottom: 1rem;
    overflow: auto;
    font-size: .875em
}

pre code {
    font-size: inherit;
    color: inherit;
    word-break: normal
}

code {
    font-size: .875em;
    color: var(--bs-code-color);
    word-wrap: break-word
}

a>code {
    color: inherit
}

kbd {
    padding: .1875rem .375rem;
    font-size: .875em;
    color: var(--bs-body-bg);
    background-color: var(--bs-body-color);
    border-radius: .25rem
}

kbd kbd {
    padding: 0;
    font-size: 1em
}

figure {
    margin: 0 0 1rem
}

img,
svg {
    vertical-align: middle
}

table {
    caption-side: bottom;
    border-collapse: collapse
}

caption {
    padding-top: .5rem;
    padding-bottom: .5rem;
    color: #6c757d;
    text-align: left
}

th {
    text-align: inherit;
    text-align: -webkit-match-parent
}

thead,
tbody,
tfoot,
tr,
td,
th {
    border-color: inherit;
    border-style: solid;
    border-width: 0
}

label {
    display: inline-block
}

button {
    border-radius: 0
}

button:focus:not(:focus-visible) {
    outline: 0
}

input,
button,
select,
optgroup,
textarea {
    margin: 0;
    font-family: inherit;
    font-size: inherit;
    line-height: inherit
}

button,
select {
    text-transform: none
}

[role=button] {
    cursor: pointer
}

select {
    word-wrap: normal
}

select:disabled {
    opacity: 1
}

[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator {
    display: none !important
}

button,
[type=button],
[type=reset],
[type=submit] {
    -webkit-appearance: button
}

button:not(:disabled),
[type=button]:not(:disabled),
[type=reset]:not(:disabled),
[type=submit]:not(:disabled) {
    cursor: pointer
}

::-moz-focus-inner {
    padding: 0;
    border-style: none
}

textarea {
    resize: vertical
}

fieldset {
    min-width: 0;
    padding: 0;
    margin: 0;
    border: 0
}

legend {
    float: left;
    width: 100%;
    padding: 0;
    margin-bottom: .5rem;
    font-size: calc(1.275rem + .3vw);
    line-height: inherit
}

@media (min-width: 1200px) {
    legend {
        font-size: 1.5rem
    }
}

legend+* {
    clear: left
}

::-webkit-datetime-edit-fields-wrapper,
::-webkit-datetime-edit-text,
::-webkit-datetime-edit-minute,
::-webkit-datetime-edit-hour-field,
::-webkit-datetime-edit-day-field,
::-webkit-datetime-edit-month-field,
::-webkit-datetime-edit-year-field {
    padding: 0
}

::-webkit-inner-spin-button {
    height: auto
}

[type=search] {
    outline-offset: -2px;
    -webkit-appearance: textfield
}

::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-color-swatch-wrapper {
    padding: 0
}

::-webkit-file-upload-button {
    font: inherit;
    -webkit-appearance: button
}

::file-selector-button {
    font: inherit;
    -webkit-appearance: button
}

output {
    display: inline-block
}

iframe {
    border: 0
}

summary {
    display: list-item;
    cursor: pointer
}

progress {
    vertical-align: baseline
}

[hidden] {
    display: none !important
}

.lead {
    font-size: 1.25rem;
    font-weight: 300
}

.display-1 {
    font-size: calc(1.625rem + 4.5vw);
    font-weight: 300;
    line-height: 1.2
}

@media (min-width: 1200px) {
    .display-1 {
        font-size: 5rem
    }
}

.display-2 {
    font-size: calc(1.575rem + 3.9vw);
    font-weight: 300;
    line-height: 1.2
}

@media (min-width: 1200px) {
    .display-2 {
        font-size: 4.5rem
    }
}

.display-3 {
    font-size: calc(1.525rem + 3.3vw);
    font-weight: 300;
    line-height: 1.2
}

@media (min-width: 1200px) {
    .display-3 {
        font-size: 4rem
    }
}

.display-4 {
    font-size: calc(1.475rem + 2.7vw);
    font-weight: 300;
    line-height: 1.2
}

@media (min-width: 1200px) {
    .display-4 {
        font-size: 3.5rem
    }
}

.display-5 {
    font-size: calc(1.425rem + 2.1vw);
    font-weight: 300;
    line-height: 1.2
}

@media (min-width: 1200px) {
    .display-5 {
        font-size: 3rem
    }
}

.display-6 {
    font-size: calc(1.375rem + 1.5vw);
    font-weight: 300;
    line-height: 1.2
}

@media (min-width: 1200px) {
    .display-6 {
        font-size: 2.5rem
    }
}

.list-unstyled,
.list-inline {
    padding-left: 0;
    list-style: none
}

.list-inline-item {
    display: inline-block
}

.list-inline-item:not(:last-child) {
    margin-right: .5rem
}

.initialism {
    font-size: .875em;
    text-transform: uppercase
}

.blockquote {
    margin-bottom: 1rem;
    font-size: 1.25rem
}

.blockquote>:last-child {
    margin-bottom: 0
}

.blockquote-footer {
    margin-top: -1rem;
    margin-bottom: 1rem;
    font-size: .875em;
    color: #6c757d
}

.blockquote-footer:before {
    content: "\2014\a0"
}

.container,
.container-fluid,
.container-xxl,
.container-xl,
.container-lg,
.container-md,
.container-sm {
    --bs-gutter-x: 1.5rem;
    --bs-gutter-y: 0;
    width: 100%;
    padding-right: calc(var(--bs-gutter-x) * .5);
    padding-left: calc(var(--bs-gutter-x) * .5);
    margin-right: auto;
    margin-left: auto
}

@media (min-width: 576px) {

    .container-sm,
    .container {
        max-width: 540px
    }
}

@media (min-width: 768px) {

    .container-md,
    .container-sm,
    .container {
        max-width: 720px
    }
}

@media (min-width: 992px) {

    .container-lg,
    .container-md,
    .container-sm,
    .container {
        max-width: 960px
    }
}

@media (min-width: 1200px) {

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

@media (min-width: 1400px) {

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

.row {
    --bs-gutter-x: 1.5rem;
    --bs-gutter-y: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-top: calc(-1 * var(--bs-gutter-y));
    margin-right: calc(-.5 * var(--bs-gutter-x));
    margin-left: calc(-.5 * var(--bs-gutter-x))
}

.row>* {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 100%;
    max-width: 100%;
    padding-right: calc(var(--bs-gutter-x) * .5);
    padding-left: calc(var(--bs-gutter-x) * .5);
    margin-top: var(--bs-gutter-y)
}

.col {
    -webkit-box-flex: 1;
    -ms-flex: 1 0 0%;
    flex: 1 0 0%
}

.row-cols-auto>* {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: auto
}

.row-cols-1>* {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: 100%
}

.row-cols-2>* {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: 50%
}

.row-cols-3>* {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: 33.3333333333%
}

.row-cols-4>* {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: 25%
}

.row-cols-5>* {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: 20%
}

.row-cols-6>* {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: 16.6666666667%
}

.col-auto {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: auto
}

.col-1 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: 8.33333333%
}

.col-2 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: 16.66666667%
}

.col-3 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: 25%
}

.col-4 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: 33.33333333%
}

.col-5 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: 41.66666667%
}

.col-6 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: 50%
}

.col-7 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: 58.33333333%
}

.col-8 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: 66.66666667%
}

.col-9 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: 75%
}

.col-10 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: 83.33333333%
}

.col-11 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: 91.66666667%
}

.col-12 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: 100%
}

.offset-1 {
    margin-left: 8.33333333%
}

.offset-2 {
    margin-left: 16.66666667%
}

.offset-3 {
    margin-left: 25%
}

.offset-4 {
    margin-left: 33.33333333%
}

.offset-5 {
    margin-left: 41.66666667%
}

.offset-6 {
    margin-left: 50%
}

.offset-7 {
    margin-left: 58.33333333%
}

.offset-8 {
    margin-left: 66.66666667%
}

.offset-9 {
    margin-left: 75%
}

.offset-10 {
    margin-left: 83.33333333%
}

.offset-11 {
    margin-left: 91.66666667%
}

.g-0,
.gx-0 {
    --bs-gutter-x: 0
}

.g-0,
.gy-0 {
    --bs-gutter-y: 0
}

.g-1,
.gx-1 {
    --bs-gutter-x: .25rem
}

.g-1,
.gy-1 {
    --bs-gutter-y: .25rem
}

.g-2,
.gx-2 {
    --bs-gutter-x: .5rem
}

.g-2,
.gy-2 {
    --bs-gutter-y: .5rem
}

.g-3,
.gx-3 {
    --bs-gutter-x: 1rem
}

.g-3,
.gy-3 {
    --bs-gutter-y: 1rem
}

.g-4,
.gx-4 {
    --bs-gutter-x: 1.5rem
}

.g-4,
.gy-4 {
    --bs-gutter-y: 1.5rem
}

.g-5,
.gx-5 {
    --bs-gutter-x: 3rem
}

.g-5,
.gy-5 {
    --bs-gutter-y: 3rem
}

@media (min-width: 576px) {
    .col-sm {
        -webkit-box-flex: 1;
        -ms-flex: 1 0 0%;
        flex: 1 0 0%
    }

    .row-cols-sm-auto>* {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: auto
    }

    .row-cols-sm-1>* {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 100%
    }

    .row-cols-sm-2>* {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 50%
    }

    .row-cols-sm-3>* {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 33.3333333333%
    }

    .row-cols-sm-4>* {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 25%
    }

    .row-cols-sm-5>* {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 20%
    }

    .row-cols-sm-6>* {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 16.6666666667%
    }

    .col-sm-auto {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: auto
    }

    .col-sm-1 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 8.33333333%
    }

    .col-sm-2 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 16.66666667%
    }

    .col-sm-3 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 25%
    }

    .col-sm-4 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 33.33333333%
    }

    .col-sm-5 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 41.66666667%
    }

    .col-sm-6 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 50%
    }

    .col-sm-7 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 58.33333333%
    }

    .col-sm-8 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 66.66666667%
    }

    .col-sm-9 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 75%
    }

    .col-sm-10 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 83.33333333%
    }

    .col-sm-11 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 91.66666667%
    }

    .col-sm-12 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 100%
    }

    .offset-sm-0 {
        margin-left: 0
    }

    .offset-sm-1 {
        margin-left: 8.33333333%
    }

    .offset-sm-2 {
        margin-left: 16.66666667%
    }

    .offset-sm-3 {
        margin-left: 25%
    }

    .offset-sm-4 {
        margin-left: 33.33333333%
    }

    .offset-sm-5 {
        margin-left: 41.66666667%
    }

    .offset-sm-6 {
        margin-left: 50%
    }

    .offset-sm-7 {
        margin-left: 58.33333333%
    }

    .offset-sm-8 {
        margin-left: 66.66666667%
    }

    .offset-sm-9 {
        margin-left: 75%
    }

    .offset-sm-10 {
        margin-left: 83.33333333%
    }

    .offset-sm-11 {
        margin-left: 91.66666667%
    }

    .g-sm-0,
    .gx-sm-0 {
        --bs-gutter-x: 0
    }

    .g-sm-0,
    .gy-sm-0 {
        --bs-gutter-y: 0
    }

    .g-sm-1,
    .gx-sm-1 {
        --bs-gutter-x: .25rem
    }

    .g-sm-1,
    .gy-sm-1 {
        --bs-gutter-y: .25rem
    }

    .g-sm-2,
    .gx-sm-2 {
        --bs-gutter-x: .5rem
    }

    .g-sm-2,
    .gy-sm-2 {
        --bs-gutter-y: .5rem
    }

    .g-sm-3,
    .gx-sm-3 {
        --bs-gutter-x: 1rem
    }

    .g-sm-3,
    .gy-sm-3 {
        --bs-gutter-y: 1rem
    }

    .g-sm-4,
    .gx-sm-4 {
        --bs-gutter-x: 1.5rem
    }

    .g-sm-4,
    .gy-sm-4 {
        --bs-gutter-y: 1.5rem
    }

    .g-sm-5,
    .gx-sm-5 {
        --bs-gutter-x: 3rem
    }

    .g-sm-5,
    .gy-sm-5 {
        --bs-gutter-y: 3rem
    }
}

@media (min-width: 768px) {
    .col-md {
        -webkit-box-flex: 1;
        -ms-flex: 1 0 0%;
        flex: 1 0 0%
    }

    .row-cols-md-auto>* {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: auto
    }

    .row-cols-md-1>* {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 100%
    }

    .row-cols-md-2>* {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 50%
    }

    .row-cols-md-3>* {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 33.3333333333%
    }

    .row-cols-md-4>* {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 25%
    }

    .row-cols-md-5>* {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 20%
    }

    .row-cols-md-6>* {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 16.6666666667%
    }

    .col-md-auto {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: auto
    }

    .col-md-1 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 8.33333333%
    }

    .col-md-2 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 16.66666667%
    }

    .col-md-3 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 25%
    }

    .col-md-4 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 33.33333333%
    }

    .col-md-5 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 41.66666667%
    }

    .col-md-6 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 50%
    }

    .col-md-7 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 58.33333333%
    }

    .col-md-8 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 66.66666667%
    }

    .col-md-9 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 75%
    }

    .col-md-10 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 83.33333333%
    }

    .col-md-11 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 91.66666667%
    }

    .col-md-12 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 100%
    }

    .offset-md-0 {
        margin-left: 0
    }

    .offset-md-1 {
        margin-left: 8.33333333%
    }

    .offset-md-2 {
        margin-left: 16.66666667%
    }

    .offset-md-3 {
        margin-left: 25%
    }

    .offset-md-4 {
        margin-left: 33.33333333%
    }

    .offset-md-5 {
        margin-left: 41.66666667%
    }

    .offset-md-6 {
        margin-left: 50%
    }

    .offset-md-7 {
        margin-left: 58.33333333%
    }

    .offset-md-8 {
        margin-left: 66.66666667%
    }

    .offset-md-9 {
        margin-left: 75%
    }

    .offset-md-10 {
        margin-left: 83.33333333%
    }

    .offset-md-11 {
        margin-left: 91.66666667%
    }

    .g-md-0,
    .gx-md-0 {
        --bs-gutter-x: 0
    }

    .g-md-0,
    .gy-md-0 {
        --bs-gutter-y: 0
    }

    .g-md-1,
    .gx-md-1 {
        --bs-gutter-x: .25rem
    }

    .g-md-1,
    .gy-md-1 {
        --bs-gutter-y: .25rem
    }

    .g-md-2,
    .gx-md-2 {
        --bs-gutter-x: .5rem
    }

    .g-md-2,
    .gy-md-2 {
        --bs-gutter-y: .5rem
    }

    .g-md-3,
    .gx-md-3 {
        --bs-gutter-x: 1rem
    }

    .g-md-3,
    .gy-md-3 {
        --bs-gutter-y: 1rem
    }

    .g-md-4,
    .gx-md-4 {
        --bs-gutter-x: 1.5rem
    }

    .g-md-4,
    .gy-md-4 {
        --bs-gutter-y: 1.5rem
    }

    .g-md-5,
    .gx-md-5 {
        --bs-gutter-x: 3rem
    }

    .g-md-5,
    .gy-md-5 {
        --bs-gutter-y: 3rem
    }
}

@media (min-width: 992px) {
    .col-lg {
        -webkit-box-flex: 1;
        -ms-flex: 1 0 0%;
        flex: 1 0 0%
    }

    .row-cols-lg-auto>* {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: auto
    }

    .row-cols-lg-1>* {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 100%
    }

    .row-cols-lg-2>* {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 50%
    }

    .row-cols-lg-3>* {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 33.3333333333%
    }

    .row-cols-lg-4>* {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 25%
    }

    .row-cols-lg-5>* {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 20%
    }

    .row-cols-lg-6>* {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 16.6666666667%
    }

    .col-lg-auto {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: auto
    }

    .col-lg-1 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 8.33333333%
    }

    .col-lg-2 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 16.66666667%
    }

    .col-lg-3 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 25%
    }

    .col-lg-4 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 33.33333333%
    }

    .col-lg-5 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 41.66666667%
    }

    .col-lg-6 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 50%
    }

    .col-lg-7 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 58.33333333%
    }

    .col-lg-8 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 66.66666667%
    }

    .col-lg-9 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 75%
    }

    .col-lg-10 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 83.33333333%
    }

    .col-lg-11 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 91.66666667%
    }

    .col-lg-12 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 100%
    }

    .offset-lg-0 {
        margin-left: 0
    }

    .offset-lg-1 {
        margin-left: 8.33333333%
    }

    .offset-lg-2 {
        margin-left: 16.66666667%
    }

    .offset-lg-3 {
        margin-left: 25%
    }

    .offset-lg-4 {
        margin-left: 33.33333333%
    }

    .offset-lg-5 {
        margin-left: 41.66666667%
    }

    .offset-lg-6 {
        margin-left: 50%
    }

    .offset-lg-7 {
        margin-left: 58.33333333%
    }

    .offset-lg-8 {
        margin-left: 66.66666667%
    }

    .offset-lg-9 {
        margin-left: 75%
    }

    .offset-lg-10 {
        margin-left: 83.33333333%
    }

    .offset-lg-11 {
        margin-left: 91.66666667%
    }

    .g-lg-0,
    .gx-lg-0 {
        --bs-gutter-x: 0
    }

    .g-lg-0,
    .gy-lg-0 {
        --bs-gutter-y: 0
    }

    .g-lg-1,
    .gx-lg-1 {
        --bs-gutter-x: .25rem
    }

    .g-lg-1,
    .gy-lg-1 {
        --bs-gutter-y: .25rem
    }

    .g-lg-2,
    .gx-lg-2 {
        --bs-gutter-x: .5rem
    }

    .g-lg-2,
    .gy-lg-2 {
        --bs-gutter-y: .5rem
    }

    .g-lg-3,
    .gx-lg-3 {
        --bs-gutter-x: 1rem
    }

    .g-lg-3,
    .gy-lg-3 {
        --bs-gutter-y: 1rem
    }

    .g-lg-4,
    .gx-lg-4 {
        --bs-gutter-x: 1.5rem
    }

    .g-lg-4,
    .gy-lg-4 {
        --bs-gutter-y: 1.5rem
    }

    .g-lg-5,
    .gx-lg-5 {
        --bs-gutter-x: 3rem
    }

    .g-lg-5,
    .gy-lg-5 {
        --bs-gutter-y: 3rem
    }
}

@media (min-width: 1200px) {
    .col-xl {
        -webkit-box-flex: 1;
        -ms-flex: 1 0 0%;
        flex: 1 0 0%
    }

    .row-cols-xl-auto>* {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: auto
    }

    .row-cols-xl-1>* {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 100%
    }

    .row-cols-xl-2>* {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 50%
    }

    .row-cols-xl-3>* {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 33.3333333333%
    }

    .row-cols-xl-4>* {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 25%
    }

    .row-cols-xl-5>* {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 20%
    }

    .row-cols-xl-6>* {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 16.6666666667%
    }

    .col-xl-auto {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: auto
    }

    .col-xl-1 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 8.33333333%
    }

    .col-xl-2 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 16.66666667%
    }

    .col-xl-3 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 25%
    }

    .col-xl-4 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 33.33333333%
    }

    .col-xl-5 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 41.66666667%
    }

    .col-xl-6 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 50%
    }

    .col-xl-7 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 58.33333333%
    }

    .col-xl-8 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 66.66666667%
    }

    .col-xl-9 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 75%
    }

    .col-xl-10 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 83.33333333%
    }

    .col-xl-11 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 91.66666667%
    }

    .col-xl-12 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 100%
    }

    .offset-xl-0 {
        margin-left: 0
    }

    .offset-xl-1 {
        margin-left: 8.33333333%
    }

    .offset-xl-2 {
        margin-left: 16.66666667%
    }

    .offset-xl-3 {
        margin-left: 25%
    }

    .offset-xl-4 {
        margin-left: 33.33333333%
    }

    .offset-xl-5 {
        margin-left: 41.66666667%
    }

    .offset-xl-6 {
        margin-left: 50%
    }

    .offset-xl-7 {
        margin-left: 58.33333333%
    }

    .offset-xl-8 {
        margin-left: 66.66666667%
    }

    .offset-xl-9 {
        margin-left: 75%
    }

    .offset-xl-10 {
        margin-left: 83.33333333%
    }

    .offset-xl-11 {
        margin-left: 91.66666667%
    }

    .g-xl-0,
    .gx-xl-0 {
        --bs-gutter-x: 0
    }

    .g-xl-0,
    .gy-xl-0 {
        --bs-gutter-y: 0
    }

    .g-xl-1,
    .gx-xl-1 {
        --bs-gutter-x: .25rem
    }

    .g-xl-1,
    .gy-xl-1 {
        --bs-gutter-y: .25rem
    }

    .g-xl-2,
    .gx-xl-2 {
        --bs-gutter-x: .5rem
    }

    .g-xl-2,
    .gy-xl-2 {
        --bs-gutter-y: .5rem
    }

    .g-xl-3,
    .gx-xl-3 {
        --bs-gutter-x: 1rem
    }

    .g-xl-3,
    .gy-xl-3 {
        --bs-gutter-y: 1rem
    }

    .g-xl-4,
    .gx-xl-4 {
        --bs-gutter-x: 1.5rem
    }

    .g-xl-4,
    .gy-xl-4 {
        --bs-gutter-y: 1.5rem
    }

    .g-xl-5,
    .gx-xl-5 {
        --bs-gutter-x: 3rem
    }

    .g-xl-5,
    .gy-xl-5 {
        --bs-gutter-y: 3rem
    }
}

@media (min-width: 1400px) {
    .col-xxl {
        -webkit-box-flex: 1;
        -ms-flex: 1 0 0%;
        flex: 1 0 0%
    }

    .row-cols-xxl-auto>* {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: auto
    }

    .row-cols-xxl-1>* {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 100%
    }

    .row-cols-xxl-2>* {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 50%
    }

    .row-cols-xxl-3>* {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 33.3333333333%
    }

    .row-cols-xxl-4>* {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 25%
    }

    .row-cols-xxl-5>* {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 20%
    }

    .row-cols-xxl-6>* {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 16.6666666667%
    }

    .col-xxl-auto {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: auto
    }

    .col-xxl-1 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 8.33333333%
    }

    .col-xxl-2 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 16.66666667%
    }

    .col-xxl-3 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 25%
    }

    .col-xxl-4 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 33.33333333%
    }

    .col-xxl-5 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 41.66666667%
    }

    .col-xxl-6 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 50%
    }

    .col-xxl-7 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 58.33333333%
    }

    .col-xxl-8 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 66.66666667%
    }

    .col-xxl-9 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 75%
    }

    .col-xxl-10 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 83.33333333%
    }

    .col-xxl-11 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 91.66666667%
    }

    .col-xxl-12 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 100%
    }

    .offset-xxl-0 {
        margin-left: 0
    }

    .offset-xxl-1 {
        margin-left: 8.33333333%
    }

    .offset-xxl-2 {
        margin-left: 16.66666667%
    }

    .offset-xxl-3 {
        margin-left: 25%
    }

    .offset-xxl-4 {
        margin-left: 33.33333333%
    }

    .offset-xxl-5 {
        margin-left: 41.66666667%
    }

    .offset-xxl-6 {
        margin-left: 50%
    }

    .offset-xxl-7 {
        margin-left: 58.33333333%
    }

    .offset-xxl-8 {
        margin-left: 66.66666667%
    }

    .offset-xxl-9 {
        margin-left: 75%
    }

    .offset-xxl-10 {
        margin-left: 83.33333333%
    }

    .offset-xxl-11 {
        margin-left: 91.66666667%
    }

    .g-xxl-0,
    .gx-xxl-0 {
        --bs-gutter-x: 0
    }

    .g-xxl-0,
    .gy-xxl-0 {
        --bs-gutter-y: 0
    }

    .g-xxl-1,
    .gx-xxl-1 {
        --bs-gutter-x: .25rem
    }

    .g-xxl-1,
    .gy-xxl-1 {
        --bs-gutter-y: .25rem
    }

    .g-xxl-2,
    .gx-xxl-2 {
        --bs-gutter-x: .5rem
    }

    .g-xxl-2,
    .gy-xxl-2 {
        --bs-gutter-y: .5rem
    }

    .g-xxl-3,
    .gx-xxl-3 {
        --bs-gutter-x: 1rem
    }

    .g-xxl-3,
    .gy-xxl-3 {
        --bs-gutter-y: 1rem
    }

    .g-xxl-4,
    .gx-xxl-4 {
        --bs-gutter-x: 1.5rem
    }

    .g-xxl-4,
    .gy-xxl-4 {
        --bs-gutter-y: 1.5rem
    }

    .g-xxl-5,
    .gx-xxl-5 {
        --bs-gutter-x: 3rem
    }

    .g-xxl-5,
    .gy-xxl-5 {
        --bs-gutter-y: 3rem
    }
}

.clearfix:after {
    display: block;
    clear: both;
    content: ""
}

.text-bg-primary {
    color: #fff !important;
    background-color: RGBA(13, 110, 253, var(--bs-bg-opacity, 1)) !important
}

.text-bg-secondary {
    color: #fff !important;
    background-color: RGBA(108, 117, 125, var(--bs-bg-opacity, 1)) !important
}

.text-bg-success {
    color: #fff !important;
    background-color: RGBA(25, 135, 84, var(--bs-bg-opacity, 1)) !important
}

.text-bg-info {
    color: #000 !important;
    background-color: RGBA(13, 202, 240, var(--bs-bg-opacity, 1)) !important
}

.text-bg-warning {
    color: #000 !important;
    background-color: RGBA(255, 193, 7, var(--bs-bg-opacity, 1)) !important
}

.text-bg-danger {
    color: #fff !important;
    background-color: RGBA(220, 53, 69, var(--bs-bg-opacity, 1)) !important
}

.text-bg-light {
    color: #000 !important;
    background-color: RGBA(248, 249, 250, var(--bs-bg-opacity, 1)) !important
}

.text-bg-dark {
    color: #fff !important;
    background-color: RGBA(33, 37, 41, var(--bs-bg-opacity, 1)) !important
}

.link-primary {
    color: #0d6efd !important
}

.link-primary:hover,
.link-primary:focus {
    color: #0a58ca !important
}

.link-secondary {
    color: #6c757d !important
}

.link-secondary:hover,
.link-secondary:focus {
    color: #565e64 !important
}

.link-success {
    color: #198754 !important
}

.link-success:hover,
.link-success:focus {
    color: #146c43 !important
}

.link-info {
    color: #0dcaf0 !important
}

.link-info:hover,
.link-info:focus {
    color: #3dd5f3 !important
}

.link-warning {
    color: #ffc107 !important
}

.link-warning:hover,
.link-warning:focus {
    color: #ffcd39 !important
}

.link-danger {
    color: #dc3545 !important
}

.link-danger:hover,
.link-danger:focus {
    color: #b02a37 !important
}

.link-light {
    color: #f8f9fa !important
}

.link-light:hover,
.link-light:focus {
    color: #f9fafb !important
}

.link-dark {
    color: #212529 !important
}

.link-dark:hover,
.link-dark:focus {
    color: #1a1e21 !important
}

.ratio {
    position: relative;
    width: 100%
}

.ratio:before {
    display: block;
    padding-top: var(--bs-aspect-ratio);
    content: ""
}

.ratio>* {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.ratio-1x1 {
    --bs-aspect-ratio: 100%
}

.ratio-4x3 {
    --bs-aspect-ratio: 75%
}

.ratio-16x9 {
    --bs-aspect-ratio: 56.25%
}

.ratio-21x9 {
    --bs-aspect-ratio: 42.8571428571%
}

.fixed-top {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 1030
}

.fixed-bottom {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1030
}

.sticky-top {
    position: sticky;
    top: 0;
    z-index: 1020
}

.sticky-bottom {
    position: sticky;
    bottom: 0;
    z-index: 1020
}

@media (min-width: 576px) {
    .sticky-sm-top {
        position: sticky;
        top: 0;
        z-index: 1020
    }

    .sticky-sm-bottom {
        position: sticky;
        bottom: 0;
        z-index: 1020
    }
}

@media (min-width: 768px) {
    .sticky-md-top {
        position: sticky;
        top: 0;
        z-index: 1020
    }

    .sticky-md-bottom {
        position: sticky;
        bottom: 0;
        z-index: 1020
    }
}

@media (min-width: 992px) {
    .sticky-lg-top {
        position: sticky;
        top: 0;
        z-index: 1020
    }

    .sticky-lg-bottom {
        position: sticky;
        bottom: 0;
        z-index: 1020
    }
}

@media (min-width: 1200px) {
    .sticky-xl-top {
        position: sticky;
        top: 0;
        z-index: 1020
    }

    .sticky-xl-bottom {
        position: sticky;
        bottom: 0;
        z-index: 1020
    }
}

@media (min-width: 1400px) {
    .sticky-xxl-top {
        position: sticky;
        top: 0;
        z-index: 1020
    }

    .sticky-xxl-bottom {
        position: sticky;
        bottom: 0;
        z-index: 1020
    }
}

.hstack {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-item-align: stretch;
    align-self: stretch
}

.vstack {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-item-align: stretch;
    align-self: stretch
}

.visually-hidden,
.visually-hidden-focusable:not(:focus):not(:focus-within) {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important
}

.stretched-link:after {
    position: absolute;
    inset: 0;
    z-index: 1;
    content: ""
}

.text-truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.vr {
    display: inline-block;
    -ms-flex-item-align: stretch;
    align-self: stretch;
    width: 1px;
    min-height: 1em;
    background-color: currentcolor;
    opacity: .25
}

.align-baseline {
    vertical-align: baseline !important
}

.align-top {
    vertical-align: top !important
}

.align-middle {
    vertical-align: middle !important
}

.align-bottom {
    vertical-align: bottom !important
}

.align-text-bottom {
    vertical-align: text-bottom !important
}

.align-text-top {
    vertical-align: text-top !important
}

.float-start {
    float: left !important
}

.float-end {
    float: right !important
}

.float-none {
    float: none !important
}

.opacity-0 {
    opacity: 0 !important
}

.opacity-25 {
    opacity: .25 !important
}

.opacity-50 {
    opacity: .5 !important
}

.opacity-75 {
    opacity: .75 !important
}

.opacity-100 {
    opacity: 1 !important
}

.overflow-auto {
    overflow: auto !important
}

.overflow-hidden {
    overflow: hidden !important
}

.overflow-visible {
    overflow: visible !important
}

.overflow-scroll {
    overflow: scroll !important
}

.d-inline {
    display: inline !important
}

.d-inline-block {
    display: inline-block !important
}

.d-block {
    display: block !important
}

.d-grid {
    display: grid !important
}

.d-table {
    display: table !important
}

.d-table-row {
    display: table-row !important
}

.d-table-cell {
    display: table-cell !important
}

.d-flex {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important
}

.d-inline-flex {
    display: -webkit-inline-box !important;
    display: -ms-inline-flexbox !important;
    display: inline-flex !important
}

.d-none {
    display: none !important
}

.shadow {
    -webkit-box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15) !important;
    box-shadow: 0 .5rem 1rem #00000026 !important
}

.shadow-sm {
    -webkit-box-shadow: 0 .125rem .25rem rgba(0, 0, 0, .075) !important;
    box-shadow: 0 .125rem .25rem #00000013 !important
}

.shadow-lg {
    -webkit-box-shadow: 0 1rem 3rem rgba(0, 0, 0, .175) !important;
    box-shadow: 0 1rem 3rem #0000002d !important
}

.shadow-none {
    -webkit-box-shadow: none !important;
    box-shadow: none !important
}

.position-static {
    position: static !important
}

.position-relative {
    position: relative !important
}

.position-absolute {
    position: absolute !important
}

.position-fixed {
    position: fixed !important
}

.position-sticky {
    position: sticky !important
}

.top-0 {
    top: 0 !important
}

.top-50 {
    top: 50% !important
}

.top-100 {
    top: 100% !important
}

.bottom-0 {
    bottom: 0 !important
}

.bottom-50 {
    bottom: 50% !important
}

.bottom-100 {
    bottom: 100% !important
}

.start-0 {
    left: 0 !important
}

.start-50 {
    left: 50% !important
}

.start-100 {
    left: 100% !important
}

.end-0 {
    right: 0 !important
}

.end-50 {
    right: 50% !important
}

.end-100 {
    right: 100% !important
}

.translate-middle {
    -webkit-transform: translate(-50%, -50%) !important;
    transform: translate(-50%, -50%) !important
}

.translate-middle-x {
    -webkit-transform: translateX(-50%) !important;
    transform: translate(-50%) !important
}

.translate-middle-y {
    -webkit-transform: translateY(-50%) !important;
    transform: translateY(-50%) !important
}

.border {
    border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important
}

.border-0 {
    border: 0 !important
}

.border-top {
    border-top: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important
}

.border-top-0 {
    border-top: 0 !important
}

.border-end {
    border-right: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important
}

.border-end-0 {
    border-right: 0 !important
}

.border-bottom {
    border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important
}

.border-bottom-0 {
    border-bottom: 0 !important
}

.border-start {
    border-left: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important
}

.border-start-0 {
    border-left: 0 !important
}

.border-primary {
    --bs-border-opacity: 1;
    border-color: rgba(var(--bs-primary-rgb), var(--bs-border-opacity)) !important
}

.border-secondary {
    --bs-border-opacity: 1;
    border-color: rgba(var(--bs-secondary-rgb), var(--bs-border-opacity)) !important
}

.border-success {
    --bs-border-opacity: 1;
    border-color: rgba(var(--bs-success-rgb), var(--bs-border-opacity)) !important
}

.border-info {
    --bs-border-opacity: 1;
    border-color: rgba(var(--bs-info-rgb), var(--bs-border-opacity)) !important
}

.border-warning {
    --bs-border-opacity: 1;
    border-color: rgba(var(--bs-warning-rgb), var(--bs-border-opacity)) !important
}

.border-danger {
    --bs-border-opacity: 1;
    border-color: rgba(var(--bs-danger-rgb), var(--bs-border-opacity)) !important
}

.border-light {
    --bs-border-opacity: 1;
    border-color: rgba(var(--bs-light-rgb), var(--bs-border-opacity)) !important
}

.border-dark {
    --bs-border-opacity: 1;
    border-color: rgba(var(--bs-dark-rgb), var(--bs-border-opacity)) !important
}

.border-white {
    --bs-border-opacity: 1;
    border-color: rgba(var(--bs-white-rgb), var(--bs-border-opacity)) !important
}

.border-1 {
    --bs-border-width: 1px
}

.border-2 {
    --bs-border-width: 2px
}

.border-3 {
    --bs-border-width: 3px
}

.border-4 {
    --bs-border-width: 4px
}

.border-5 {
    --bs-border-width: 5px
}

.border-opacity-10 {
    --bs-border-opacity: .1
}

.border-opacity-25 {
    --bs-border-opacity: .25
}

.border-opacity-50 {
    --bs-border-opacity: .5
}

.border-opacity-75 {
    --bs-border-opacity: .75
}

.border-opacity-100 {
    --bs-border-opacity: 1
}

.w-25 {
    width: 25% !important
}

.w-50 {
    width: 50% !important
}

.w-75 {
    width: 75% !important
}

.w-100 {
    width: 100% !important
}

.w-auto {
    width: auto !important
}

.mw-100 {
    max-width: 100% !important
}

.vw-100 {
    width: 100vw !important
}

.min-vw-100 {
    min-width: 100vw !important
}

.h-25 {
    height: 25% !important
}

.h-50 {
    height: 50% !important
}

.h-75 {
    height: 75% !important
}

.h-100 {
    height: 100% !important
}

.h-auto {
    height: auto !important
}

.mh-100 {
    max-height: 100% !important
}

.vh-100 {
    height: 100vh !important
}

.min-vh-100 {
    min-height: 100vh !important
}

.flex-fill {
    -webkit-box-flex: 1 !important;
    -ms-flex: 1 1 auto !important;
    flex: 1 1 auto !important
}

.flex-row {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: normal !important;
    -ms-flex-direction: row !important;
    flex-direction: row !important
}

.flex-column {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
    -ms-flex-direction: column !important;
    flex-direction: column !important
}

.flex-row-reverse {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: reverse !important;
    -ms-flex-direction: row-reverse !important;
    flex-direction: row-reverse !important
}

.flex-column-reverse {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: reverse !important;
    -ms-flex-direction: column-reverse !important;
    flex-direction: column-reverse !important
}

.flex-grow-0 {
    -webkit-box-flex: 0 !important;
    -ms-flex-positive: 0 !important;
    flex-grow: 0 !important
}

.flex-grow-1 {
    -webkit-box-flex: 1 !important;
    -ms-flex-positive: 1 !important;
    flex-grow: 1 !important
}

.flex-shrink-0 {
    -ms-flex-negative: 0 !important;
    flex-shrink: 0 !important
}

.flex-shrink-1 {
    -ms-flex-negative: 1 !important;
    flex-shrink: 1 !important
}

.flex-wrap {
    -ms-flex-wrap: wrap !important;
    flex-wrap: wrap !important
}

.flex-nowrap {
    -ms-flex-wrap: nowrap !important;
    flex-wrap: nowrap !important
}

.flex-wrap-reverse {
    -ms-flex-wrap: wrap-reverse !important;
    flex-wrap: wrap-reverse !important
}

.justify-content-start {
    -webkit-box-pack: start !important;
    -ms-flex-pack: start !important;
    justify-content: flex-start !important
}

.justify-content-end {
    -webkit-box-pack: end !important;
    -ms-flex-pack: end !important;
    justify-content: flex-end !important
}

.justify-content-center {
    -webkit-box-pack: center !important;
    -ms-flex-pack: center !important;
    justify-content: center !important
}

.justify-content-between {
    -webkit-box-pack: justify !important;
    -ms-flex-pack: justify !important;
    justify-content: space-between !important
}

.justify-content-around {
    -ms-flex-pack: distribute !important;
    justify-content: space-around !important
}

.justify-content-evenly {
    -webkit-box-pack: space-evenly !important;
    -ms-flex-pack: space-evenly !important;
    justify-content: space-evenly !important
}

.align-items-start {
    -webkit-box-align: start !important;
    -ms-flex-align: start !important;
    align-items: flex-start !important
}

.align-items-end {
    -webkit-box-align: end !important;
    -ms-flex-align: end !important;
    align-items: flex-end !important
}

.align-items-center {
    -webkit-box-align: center !important;
    -ms-flex-align: center !important;
    align-items: center !important
}

.align-items-baseline {
    -webkit-box-align: baseline !important;
    -ms-flex-align: baseline !important;
    align-items: baseline !important
}

.align-items-stretch {
    -webkit-box-align: stretch !important;
    -ms-flex-align: stretch !important;
    align-items: stretch !important
}

.align-content-start {
    -ms-flex-line-pack: start !important;
    align-content: flex-start !important
}

.align-content-end {
    -ms-flex-line-pack: end !important;
    align-content: flex-end !important
}

.align-content-center {
    -ms-flex-line-pack: center !important;
    align-content: center !important
}

.align-content-between {
    -ms-flex-line-pack: justify !important;
    align-content: space-between !important
}

.align-content-around {
    -ms-flex-line-pack: distribute !important;
    align-content: space-around !important
}

.align-content-stretch {
    -ms-flex-line-pack: stretch !important;
    align-content: stretch !important
}

.align-self-auto {
    -ms-flex-item-align: auto !important;
    align-self: auto !important
}

.align-self-start {
    -ms-flex-item-align: start !important;
    align-self: flex-start !important
}

.align-self-end {
    -ms-flex-item-align: end !important;
    align-self: flex-end !important
}

.align-self-center {
    -ms-flex-item-align: center !important;
    align-self: center !important
}

.align-self-baseline {
    -ms-flex-item-align: baseline !important;
    align-self: baseline !important
}

.align-self-stretch {
    -ms-flex-item-align: stretch !important;
    align-self: stretch !important
}

.order-first {
    -webkit-box-ordinal-group: 0 !important;
    -ms-flex-order: -1 !important;
    order: -1 !important
}

.order-0 {
    -webkit-box-ordinal-group: 1 !important;
    -ms-flex-order: 0 !important;
    order: 0 !important
}

.order-1 {
    -webkit-box-ordinal-group: 2 !important;
    -ms-flex-order: 1 !important;
    order: 1 !important
}

.order-2 {
    -webkit-box-ordinal-group: 3 !important;
    -ms-flex-order: 2 !important;
    order: 2 !important
}

.order-3 {
    -webkit-box-ordinal-group: 4 !important;
    -ms-flex-order: 3 !important;
    order: 3 !important
}

.order-4 {
    -webkit-box-ordinal-group: 5 !important;
    -ms-flex-order: 4 !important;
    order: 4 !important
}

.order-5 {
    -webkit-box-ordinal-group: 6 !important;
    -ms-flex-order: 5 !important;
    order: 5 !important
}

.order-last {
    -webkit-box-ordinal-group: 7 !important;
    -ms-flex-order: 6 !important;
    order: 6 !important
}

.m-0 {
    margin: 0 !important
}

.m-1 {
    margin: .25rem !important
}

.m-2 {
    margin: .5rem !important
}

.m-3 {
    margin: 1rem !important
}

.m-4 {
    margin: 1.5rem !important
}

.m-5 {
    margin: 3rem !important
}

.m-auto {
    margin: auto !important
}

.mx-0 {
    margin-right: 0 !important;
    margin-left: 0 !important
}

.mx-1 {
    margin-right: .25rem !important;
    margin-left: .25rem !important
}

.mx-2 {
    margin-right: .5rem !important;
    margin-left: .5rem !important
}

.mx-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important
}

.mx-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important
}

.mx-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important
}

.mx-auto {
    margin-right: auto !important;
    margin-left: auto !important
}

.my-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important
}

.my-1 {
    margin-top: .25rem !important;
    margin-bottom: .25rem !important
}

.my-2 {
    margin-top: .5rem !important;
    margin-bottom: .5rem !important
}

.my-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important
}

.my-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important
}

.my-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important
}

.my-auto {
    margin-top: auto !important;
    margin-bottom: auto !important
}

.mt-0 {
    margin-top: 0 !important
}

.mt-1 {
    margin-top: .25rem !important
}

.mt-2 {
    margin-top: .5rem !important
}

.mt-3 {
    margin-top: 1rem !important
}

.mt-4 {
    margin-top: 1.5rem !important
}

.mt-5 {
    margin-top: 3rem !important
}

.mt-auto {
    margin-top: auto !important
}

.me-0 {
    margin-right: 0 !important
}

.me-1 {
    margin-right: .25rem !important
}

.me-2 {
    margin-right: .5rem !important
}

.me-3 {
    margin-right: 1rem !important
}

.me-4 {
    margin-right: 1.5rem !important
}

.me-5 {
    margin-right: 3rem !important
}

.me-auto {
    margin-right: auto !important
}

.mb-0 {
    margin-bottom: 0 !important
}

.mb-1 {
    margin-bottom: .25rem !important
}

.mb-2 {
    margin-bottom: .5rem !important
}

.mb-3 {
    margin-bottom: 1rem !important
}

.mb-4 {
    margin-bottom: 1.5rem !important
}

.mb-5 {
    margin-bottom: 3rem !important
}

.mb-auto {
    margin-bottom: auto !important
}

.ms-0 {
    margin-left: 0 !important
}

.ms-1 {
    margin-left: .25rem !important
}

.ms-2 {
    margin-left: .5rem !important
}

.ms-3 {
    margin-left: 1rem !important
}

.ms-4 {
    margin-left: 1.5rem !important
}

.ms-5 {
    margin-left: 3rem !important
}

.ms-auto {
    margin-left: auto !important
}

.p-0 {
    padding: 0 !important
}

.p-1 {
    padding: .25rem !important
}

.p-2 {
    padding: .5rem !important
}

.p-3 {
    padding: 1rem !important
}

.p-4 {
    padding: 1.5rem !important
}

.p-5 {
    padding: 3rem !important
}

.px-0 {
    padding-right: 0 !important;
    padding-left: 0 !important
}

.px-1 {
    padding-right: .25rem !important;
    padding-left: .25rem !important
}

.px-2 {
    padding-right: .5rem !important;
    padding-left: .5rem !important
}

.px-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important
}

.px-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important
}

.px-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important
}

.py-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important
}

.py-1 {
    padding-top: .25rem !important;
    padding-bottom: .25rem !important
}

.py-2 {
    padding-top: .5rem !important;
    padding-bottom: .5rem !important
}

.py-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important
}

.py-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important
}

.py-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important
}

.pt-0 {
    padding-top: 0 !important
}

.pt-1 {
    padding-top: .25rem !important
}

.pt-2 {
    padding-top: .5rem !important
}

.pt-3 {
    padding-top: 1rem !important
}

.pt-4 {
    padding-top: 1.5rem !important
}

.pt-5 {
    padding-top: 3rem !important
}

.pe-0 {
    padding-right: 0 !important
}

.pe-1 {
    padding-right: .25rem !important
}

.pe-2 {
    padding-right: .5rem !important
}

.pe-3 {
    padding-right: 1rem !important
}

.pe-4 {
    padding-right: 1.5rem !important
}

.pe-5 {
    padding-right: 3rem !important
}

.pb-0 {
    padding-bottom: 0 !important
}

.pb-1 {
    padding-bottom: .25rem !important
}

.pb-2 {
    padding-bottom: .5rem !important
}

.pb-3 {
    padding-bottom: 1rem !important
}

.pb-4 {
    padding-bottom: 1.5rem !important
}

.pb-5 {
    padding-bottom: 3rem !important
}

.ps-0 {
    padding-left: 0 !important
}

.ps-1 {
    padding-left: .25rem !important
}

.ps-2 {
    padding-left: .5rem !important
}

.ps-3 {
    padding-left: 1rem !important
}

.ps-4 {
    padding-left: 1.5rem !important
}

.ps-5 {
    padding-left: 3rem !important
}

.gap-0 {
    gap: 0 !important
}

.gap-1 {
    gap: .25rem !important
}

.gap-2 {
    gap: .5rem !important
}

.gap-3 {
    gap: 1rem !important
}

.gap-4 {
    gap: 1.5rem !important
}

.gap-5 {
    gap: 3rem !important
}

.font-monospace {
    font-family: var(--bs-font-monospace) !important
}

.fs-1 {
    font-size: calc(1.375rem + 1.5vw) !important
}

.fs-2 {
    font-size: calc(1.325rem + .9vw) !important
}

.fs-3 {
    font-size: calc(1.3rem + .6vw) !important
}

.fs-4 {
    font-size: calc(1.275rem + .3vw) !important
}

.fs-5 {
    font-size: 1.25rem !important
}

.fs-6 {
    font-size: 1rem !important
}

.fst-italic {
    font-style: italic !important
}

.fst-normal {
    font-style: normal !important
}

.fw-light {
    font-weight: 300 !important
}

.fw-lighter {
    font-weight: lighter !important
}

.fw-normal {
    font-weight: 400 !important
}

.fw-bold {
    font-weight: 700 !important
}

.fw-semibold {
    font-weight: 600 !important
}

.fw-bolder {
    font-weight: bolder !important
}

.lh-1 {
    line-height: 1 !important
}

.lh-sm {
    line-height: 1.25 !important
}

.lh-base {
    line-height: 1.5 !important
}

.lh-lg {
    line-height: 2 !important
}

.text-start {
    text-align: left !important
}

.text-end {
    text-align: right !important
}

.text-center {
    text-align: center !important
}

.text-decoration-none {
    text-decoration: none !important
}

.text-decoration-underline {
    text-decoration: underline !important
}

.text-decoration-line-through {
    text-decoration: line-through !important
}

.text-lowercase {
    text-transform: lowercase !important
}

.text-uppercase {
    text-transform: uppercase !important
}

.text-capitalize {
    text-transform: capitalize !important
}

.text-wrap {
    white-space: normal !important
}

.text-nowrap {
    white-space: nowrap !important
}

.text-break {
    word-wrap: break-word !important;
    word-break: break-word !important
}

.text-primary {
    --bs-text-opacity: 1;
    color: rgba(var(--bs-primary-rgb), var(--bs-text-opacity)) !important
}

.text-secondary {
    --bs-text-opacity: 1;
    color: rgba(var(--bs-secondary-rgb), var(--bs-text-opacity)) !important
}

.text-success {
    --bs-text-opacity: 1;
    color: rgba(var(--bs-success-rgb), var(--bs-text-opacity)) !important
}

.text-info {
    --bs-text-opacity: 1;
    color: rgba(var(--bs-info-rgb), var(--bs-text-opacity)) !important
}

.text-warning {
    --bs-text-opacity: 1;
    color: rgba(var(--bs-warning-rgb), var(--bs-text-opacity)) !important
}

.text-danger {
    --bs-text-opacity: 1;
    color: rgba(var(--bs-danger-rgb), var(--bs-text-opacity)) !important
}

.text-light {
    --bs-text-opacity: 1;
    color: rgba(var(--bs-light-rgb), var(--bs-text-opacity)) !important
}

.text-dark {
    --bs-text-opacity: 1;
    color: rgba(var(--bs-dark-rgb), var(--bs-text-opacity)) !important
}

.text-black {
    --bs-text-opacity: 1;
    color: rgba(var(--bs-black-rgb), var(--bs-text-opacity)) !important
}

.text-white {
    --bs-text-opacity: 1;
    color: rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important
}

.text-body {
    --bs-text-opacity: 1;
    color: rgba(var(--bs-body-color-rgb), var(--bs-text-opacity)) !important
}

.text-muted {
    --bs-text-opacity: 1;
    color: #6c757d !important
}

.text-black-50 {
    --bs-text-opacity: 1;
    color: #00000080 !important
}

.text-white-50 {
    --bs-text-opacity: 1;
    color: #ffffff80 !important
}

.text-reset {
    --bs-text-opacity: 1;
    color: inherit !important
}

.text-opacity-25 {
    --bs-text-opacity: .25
}

.text-opacity-50 {
    --bs-text-opacity: .5
}

.text-opacity-75 {
    --bs-text-opacity: .75
}

.text-opacity-100 {
    --bs-text-opacity: 1
}

.bg-primary {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important
}

.bg-secondary {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-secondary-rgb), var(--bs-bg-opacity)) !important
}

.bg-success {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-success-rgb), var(--bs-bg-opacity)) !important
}

.bg-info {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-info-rgb), var(--bs-bg-opacity)) !important
}

.bg-warning {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-warning-rgb), var(--bs-bg-opacity)) !important
}

.bg-danger {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-danger-rgb), var(--bs-bg-opacity)) !important
}

.bg-light {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-light-rgb), var(--bs-bg-opacity)) !important
}

.bg-dark {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important
}

.bg-black {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-black-rgb), var(--bs-bg-opacity)) !important
}

.bg-white {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-white-rgb), var(--bs-bg-opacity)) !important
}

.bg-body {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-body-bg-rgb), var(--bs-bg-opacity)) !important
}

.bg-transparent {
    --bs-bg-opacity: 1;
    background-color: transparent !important
}

.bg-opacity-10 {
    --bs-bg-opacity: .1
}

.bg-opacity-25 {
    --bs-bg-opacity: .25
}

.bg-opacity-50 {
    --bs-bg-opacity: .5
}

.bg-opacity-75 {
    --bs-bg-opacity: .75
}

.bg-opacity-100 {
    --bs-bg-opacity: 1
}

.bg-gradient {
    background-image: var(--bs-gradient) !important
}

.user-select-all {
    -webkit-user-select: all !important;
    -moz-user-select: all !important;
    user-select: all !important
}

.user-select-auto {
    -webkit-user-select: auto !important;
    -moz-user-select: auto !important;
    -ms-user-select: auto !important;
    user-select: auto !important
}

.user-select-none {
    -webkit-user-select: none !important;
    -moz-user-select: none !important;
    -ms-user-select: none !important;
    user-select: none !important
}

.pe-none {
    pointer-events: none !important
}

.pe-auto {
    pointer-events: auto !important
}

.rounded {
    border-radius: var(--bs-border-radius) !important
}

.rounded-0 {
    border-radius: 0 !important
}

.rounded-1 {
    border-radius: var(--bs-border-radius-sm) !important
}

.rounded-2 {
    border-radius: var(--bs-border-radius) !important
}

.rounded-3 {
    border-radius: var(--bs-border-radius-lg) !important
}

.rounded-4 {
    border-radius: var(--bs-border-radius-xl) !important
}

.rounded-5 {
    border-radius: var(--bs-border-radius-2xl) !important
}

.rounded-circle {
    border-radius: 50% !important
}

.rounded-pill {
    border-radius: var(--bs-border-radius-pill) !important
}

.rounded-top {
    border-top-left-radius: var(--bs-border-radius) !important;
    border-top-right-radius: var(--bs-border-radius) !important
}

.rounded-end {
    border-top-right-radius: var(--bs-border-radius) !important;
    border-bottom-right-radius: var(--bs-border-radius) !important
}

.rounded-bottom {
    border-bottom-right-radius: var(--bs-border-radius) !important;
    border-bottom-left-radius: var(--bs-border-radius) !important
}

.rounded-start {
    border-bottom-left-radius: var(--bs-border-radius) !important;
    border-top-left-radius: var(--bs-border-radius) !important
}

.visible {
    visibility: visible !important
}

.invisible {
    visibility: hidden !important
}

@media (min-width: 576px) {
    .float-sm-start {
        float: left !important
    }

    .float-sm-end {
        float: right !important
    }

    .float-sm-none {
        float: none !important
    }

    .d-sm-inline {
        display: inline !important
    }

    .d-sm-inline-block {
        display: inline-block !important
    }

    .d-sm-block {
        display: block !important
    }

    .d-sm-grid {
        display: grid !important
    }

    .d-sm-table {
        display: table !important
    }

    .d-sm-table-row {
        display: table-row !important
    }

    .d-sm-table-cell {
        display: table-cell !important
    }

    .d-sm-flex {
        display: -webkit-box !important;
        display: -ms-flexbox !important;
        display: flex !important
    }

    .d-sm-inline-flex {
        display: -webkit-inline-box !important;
        display: -ms-inline-flexbox !important;
        display: inline-flex !important
    }

    .d-sm-none {
        display: none !important
    }

    .flex-sm-fill {
        -webkit-box-flex: 1 !important;
        -ms-flex: 1 1 auto !important;
        flex: 1 1 auto !important
    }

    .flex-sm-row {
        -webkit-box-orient: horizontal !important;
        -webkit-box-direction: normal !important;
        -ms-flex-direction: row !important;
        flex-direction: row !important
    }

    .flex-sm-column {
        -webkit-box-orient: vertical !important;
        -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
        flex-direction: column !important
    }

    .flex-sm-row-reverse {
        -webkit-box-orient: horizontal !important;
        -webkit-box-direction: reverse !important;
        -ms-flex-direction: row-reverse !important;
        flex-direction: row-reverse !important
    }

    .flex-sm-column-reverse {
        -webkit-box-orient: vertical !important;
        -webkit-box-direction: reverse !important;
        -ms-flex-direction: column-reverse !important;
        flex-direction: column-reverse !important
    }

    .flex-sm-grow-0 {
        -webkit-box-flex: 0 !important;
        -ms-flex-positive: 0 !important;
        flex-grow: 0 !important
    }

    .flex-sm-grow-1 {
        -webkit-box-flex: 1 !important;
        -ms-flex-positive: 1 !important;
        flex-grow: 1 !important
    }

    .flex-sm-shrink-0 {
        -ms-flex-negative: 0 !important;
        flex-shrink: 0 !important
    }

    .flex-sm-shrink-1 {
        -ms-flex-negative: 1 !important;
        flex-shrink: 1 !important
    }

    .flex-sm-wrap {
        -ms-flex-wrap: wrap !important;
        flex-wrap: wrap !important
    }

    .flex-sm-nowrap {
        -ms-flex-wrap: nowrap !important;
        flex-wrap: nowrap !important
    }

    .flex-sm-wrap-reverse {
        -ms-flex-wrap: wrap-reverse !important;
        flex-wrap: wrap-reverse !important
    }

    .justify-content-sm-start {
        -webkit-box-pack: start !important;
        -ms-flex-pack: start !important;
        justify-content: flex-start !important
    }

    .justify-content-sm-end {
        -webkit-box-pack: end !important;
        -ms-flex-pack: end !important;
        justify-content: flex-end !important
    }

    .justify-content-sm-center {
        -webkit-box-pack: center !important;
        -ms-flex-pack: center !important;
        justify-content: center !important
    }

    .justify-content-sm-between {
        -webkit-box-pack: justify !important;
        -ms-flex-pack: justify !important;
        justify-content: space-between !important
    }

    .justify-content-sm-around {
        -ms-flex-pack: distribute !important;
        justify-content: space-around !important
    }

    .justify-content-sm-evenly {
        -webkit-box-pack: space-evenly !important;
        -ms-flex-pack: space-evenly !important;
        justify-content: space-evenly !important
    }

    .align-items-sm-start {
        -webkit-box-align: start !important;
        -ms-flex-align: start !important;
        align-items: flex-start !important
    }

    .align-items-sm-end {
        -webkit-box-align: end !important;
        -ms-flex-align: end !important;
        align-items: flex-end !important
    }

    .align-items-sm-center {
        -webkit-box-align: center !important;
        -ms-flex-align: center !important;
        align-items: center !important
    }

    .align-items-sm-baseline {
        -webkit-box-align: baseline !important;
        -ms-flex-align: baseline !important;
        align-items: baseline !important
    }

    .align-items-sm-stretch {
        -webkit-box-align: stretch !important;
        -ms-flex-align: stretch !important;
        align-items: stretch !important
    }

    .align-content-sm-start {
        -ms-flex-line-pack: start !important;
        align-content: flex-start !important
    }

    .align-content-sm-end {
        -ms-flex-line-pack: end !important;
        align-content: flex-end !important
    }

    .align-content-sm-center {
        -ms-flex-line-pack: center !important;
        align-content: center !important
    }

    .align-content-sm-between {
        -ms-flex-line-pack: justify !important;
        align-content: space-between !important
    }

    .align-content-sm-around {
        -ms-flex-line-pack: distribute !important;
        align-content: space-around !important
    }

    .align-content-sm-stretch {
        -ms-flex-line-pack: stretch !important;
        align-content: stretch !important
    }

    .align-self-sm-auto {
        -ms-flex-item-align: auto !important;
        align-self: auto !important
    }

    .align-self-sm-start {
        -ms-flex-item-align: start !important;
        align-self: flex-start !important
    }

    .align-self-sm-end {
        -ms-flex-item-align: end !important;
        align-self: flex-end !important
    }

    .align-self-sm-center {
        -ms-flex-item-align: center !important;
        align-self: center !important
    }

    .align-self-sm-baseline {
        -ms-flex-item-align: baseline !important;
        align-self: baseline !important
    }

    .align-self-sm-stretch {
        -ms-flex-item-align: stretch !important;
        align-self: stretch !important
    }

    .order-sm-first {
        -webkit-box-ordinal-group: 0 !important;
        -ms-flex-order: -1 !important;
        order: -1 !important
    }

    .order-sm-0 {
        -webkit-box-ordinal-group: 1 !important;
        -ms-flex-order: 0 !important;
        order: 0 !important
    }

    .order-sm-1 {
        -webkit-box-ordinal-group: 2 !important;
        -ms-flex-order: 1 !important;
        order: 1 !important
    }

    .order-sm-2 {
        -webkit-box-ordinal-group: 3 !important;
        -ms-flex-order: 2 !important;
        order: 2 !important
    }

    .order-sm-3 {
        -webkit-box-ordinal-group: 4 !important;
        -ms-flex-order: 3 !important;
        order: 3 !important
    }

    .order-sm-4 {
        -webkit-box-ordinal-group: 5 !important;
        -ms-flex-order: 4 !important;
        order: 4 !important
    }

    .order-sm-5 {
        -webkit-box-ordinal-group: 6 !important;
        -ms-flex-order: 5 !important;
        order: 5 !important
    }

    .order-sm-last {
        -webkit-box-ordinal-group: 7 !important;
        -ms-flex-order: 6 !important;
        order: 6 !important
    }

    .m-sm-0 {
        margin: 0 !important
    }

    .m-sm-1 {
        margin: .25rem !important
    }

    .m-sm-2 {
        margin: .5rem !important
    }

    .m-sm-3 {
        margin: 1rem !important
    }

    .m-sm-4 {
        margin: 1.5rem !important
    }

    .m-sm-5 {
        margin: 3rem !important
    }

    .m-sm-auto {
        margin: auto !important
    }

    .mx-sm-0 {
        margin-right: 0 !important;
        margin-left: 0 !important
    }

    .mx-sm-1 {
        margin-right: .25rem !important;
        margin-left: .25rem !important
    }

    .mx-sm-2 {
        margin-right: .5rem !important;
        margin-left: .5rem !important
    }

    .mx-sm-3 {
        margin-right: 1rem !important;
        margin-left: 1rem !important
    }

    .mx-sm-4 {
        margin-right: 1.5rem !important;
        margin-left: 1.5rem !important
    }

    .mx-sm-5 {
        margin-right: 3rem !important;
        margin-left: 3rem !important
    }

    .mx-sm-auto {
        margin-right: auto !important;
        margin-left: auto !important
    }

    .my-sm-0 {
        margin-top: 0 !important;
        margin-bottom: 0 !important
    }

    .my-sm-1 {
        margin-top: .25rem !important;
        margin-bottom: .25rem !important
    }

    .my-sm-2 {
        margin-top: .5rem !important;
        margin-bottom: .5rem !important
    }

    .my-sm-3 {
        margin-top: 1rem !important;
        margin-bottom: 1rem !important
    }

    .my-sm-4 {
        margin-top: 1.5rem !important;
        margin-bottom: 1.5rem !important
    }

    .my-sm-5 {
        margin-top: 3rem !important;
        margin-bottom: 3rem !important
    }

    .my-sm-auto {
        margin-top: auto !important;
        margin-bottom: auto !important
    }

    .mt-sm-0 {
        margin-top: 0 !important
    }

    .mt-sm-1 {
        margin-top: .25rem !important
    }

    .mt-sm-2 {
        margin-top: .5rem !important
    }

    .mt-sm-3 {
        margin-top: 1rem !important
    }

    .mt-sm-4 {
        margin-top: 1.5rem !important
    }

    .mt-sm-5 {
        margin-top: 3rem !important
    }

    .mt-sm-auto {
        margin-top: auto !important
    }

    .me-sm-0 {
        margin-right: 0 !important
    }

    .me-sm-1 {
        margin-right: .25rem !important
    }

    .me-sm-2 {
        margin-right: .5rem !important
    }

    .me-sm-3 {
        margin-right: 1rem !important
    }

    .me-sm-4 {
        margin-right: 1.5rem !important
    }

    .me-sm-5 {
        margin-right: 3rem !important
    }

    .me-sm-auto {
        margin-right: auto !important
    }

    .mb-sm-0 {
        margin-bottom: 0 !important
    }

    .mb-sm-1 {
        margin-bottom: .25rem !important
    }

    .mb-sm-2 {
        margin-bottom: .5rem !important
    }

    .mb-sm-3 {
        margin-bottom: 1rem !important
    }

    .mb-sm-4 {
        margin-bottom: 1.5rem !important
    }

    .mb-sm-5 {
        margin-bottom: 3rem !important
    }

    .mb-sm-auto {
        margin-bottom: auto !important
    }

    .ms-sm-0 {
        margin-left: 0 !important
    }

    .ms-sm-1 {
        margin-left: .25rem !important
    }

    .ms-sm-2 {
        margin-left: .5rem !important
    }

    .ms-sm-3 {
        margin-left: 1rem !important
    }

    .ms-sm-4 {
        margin-left: 1.5rem !important
    }

    .ms-sm-5 {
        margin-left: 3rem !important
    }

    .ms-sm-auto {
        margin-left: auto !important
    }

    .p-sm-0 {
        padding: 0 !important
    }

    .p-sm-1 {
        padding: .25rem !important
    }

    .p-sm-2 {
        padding: .5rem !important
    }

    .p-sm-3 {
        padding: 1rem !important
    }

    .p-sm-4 {
        padding: 1.5rem !important
    }

    .p-sm-5 {
        padding: 3rem !important
    }

    .px-sm-0 {
        padding-right: 0 !important;
        padding-left: 0 !important
    }

    .px-sm-1 {
        padding-right: .25rem !important;
        padding-left: .25rem !important
    }

    .px-sm-2 {
        padding-right: .5rem !important;
        padding-left: .5rem !important
    }

    .px-sm-3 {
        padding-right: 1rem !important;
        padding-left: 1rem !important
    }

    .px-sm-4 {
        padding-right: 1.5rem !important;
        padding-left: 1.5rem !important
    }

    .px-sm-5 {
        padding-right: 3rem !important;
        padding-left: 3rem !important
    }

    .py-sm-0 {
        padding-top: 0 !important;
        padding-bottom: 0 !important
    }

    .py-sm-1 {
        padding-top: .25rem !important;
        padding-bottom: .25rem !important
    }

    .py-sm-2 {
        padding-top: .5rem !important;
        padding-bottom: .5rem !important
    }

    .py-sm-3 {
        padding-top: 1rem !important;
        padding-bottom: 1rem !important
    }

    .py-sm-4 {
        padding-top: 1.5rem !important;
        padding-bottom: 1.5rem !important
    }

    .py-sm-5 {
        padding-top: 3rem !important;
        padding-bottom: 3rem !important
    }

    .pt-sm-0 {
        padding-top: 0 !important
    }

    .pt-sm-1 {
        padding-top: .25rem !important
    }

    .pt-sm-2 {
        padding-top: .5rem !important
    }

    .pt-sm-3 {
        padding-top: 1rem !important
    }

    .pt-sm-4 {
        padding-top: 1.5rem !important
    }

    .pt-sm-5 {
        padding-top: 3rem !important
    }

    .pe-sm-0 {
        padding-right: 0 !important
    }

    .pe-sm-1 {
        padding-right: .25rem !important
    }

    .pe-sm-2 {
        padding-right: .5rem !important
    }

    .pe-sm-3 {
        padding-right: 1rem !important
    }

    .pe-sm-4 {
        padding-right: 1.5rem !important
    }

    .pe-sm-5 {
        padding-right: 3rem !important
    }

    .pb-sm-0 {
        padding-bottom: 0 !important
    }

    .pb-sm-1 {
        padding-bottom: .25rem !important
    }

    .pb-sm-2 {
        padding-bottom: .5rem !important
    }

    .pb-sm-3 {
        padding-bottom: 1rem !important
    }

    .pb-sm-4 {
        padding-bottom: 1.5rem !important
    }

    .pb-sm-5 {
        padding-bottom: 3rem !important
    }

    .ps-sm-0 {
        padding-left: 0 !important
    }

    .ps-sm-1 {
        padding-left: .25rem !important
    }

    .ps-sm-2 {
        padding-left: .5rem !important
    }

    .ps-sm-3 {
        padding-left: 1rem !important
    }

    .ps-sm-4 {
        padding-left: 1.5rem !important
    }

    .ps-sm-5 {
        padding-left: 3rem !important
    }

    .gap-sm-0 {
        gap: 0 !important
    }

    .gap-sm-1 {
        gap: .25rem !important
    }

    .gap-sm-2 {
        gap: .5rem !important
    }

    .gap-sm-3 {
        gap: 1rem !important
    }

    .gap-sm-4 {
        gap: 1.5rem !important
    }

    .gap-sm-5 {
        gap: 3rem !important
    }

    .text-sm-start {
        text-align: left !important
    }

    .text-sm-end {
        text-align: right !important
    }

    .text-sm-center {
        text-align: center !important
    }
}

@media (min-width: 768px) {
    .float-md-start {
        float: left !important
    }

    .float-md-end {
        float: right !important
    }

    .float-md-none {
        float: none !important
    }

    .d-md-inline {
        display: inline !important
    }

    .d-md-inline-block {
        display: inline-block !important
    }

    .d-md-block {
        display: block !important
    }

    .d-md-grid {
        display: grid !important
    }

    .d-md-table {
        display: table !important
    }

    .d-md-table-row {
        display: table-row !important
    }

    .d-md-table-cell {
        display: table-cell !important
    }

    .d-md-flex {
        display: -webkit-box !important;
        display: -ms-flexbox !important;
        display: flex !important
    }

    .d-md-inline-flex {
        display: -webkit-inline-box !important;
        display: -ms-inline-flexbox !important;
        display: inline-flex !important
    }

    .d-md-none {
        display: none !important
    }

    .flex-md-fill {
        -webkit-box-flex: 1 !important;
        -ms-flex: 1 1 auto !important;
        flex: 1 1 auto !important
    }

    .flex-md-row {
        -webkit-box-orient: horizontal !important;
        -webkit-box-direction: normal !important;
        -ms-flex-direction: row !important;
        flex-direction: row !important
    }

    .flex-md-column {
        -webkit-box-orient: vertical !important;
        -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
        flex-direction: column !important
    }

    .flex-md-row-reverse {
        -webkit-box-orient: horizontal !important;
        -webkit-box-direction: reverse !important;
        -ms-flex-direction: row-reverse !important;
        flex-direction: row-reverse !important
    }

    .flex-md-column-reverse {
        -webkit-box-orient: vertical !important;
        -webkit-box-direction: reverse !important;
        -ms-flex-direction: column-reverse !important;
        flex-direction: column-reverse !important
    }

    .flex-md-grow-0 {
        -webkit-box-flex: 0 !important;
        -ms-flex-positive: 0 !important;
        flex-grow: 0 !important
    }

    .flex-md-grow-1 {
        -webkit-box-flex: 1 !important;
        -ms-flex-positive: 1 !important;
        flex-grow: 1 !important
    }

    .flex-md-shrink-0 {
        -ms-flex-negative: 0 !important;
        flex-shrink: 0 !important
    }

    .flex-md-shrink-1 {
        -ms-flex-negative: 1 !important;
        flex-shrink: 1 !important
    }

    .flex-md-wrap {
        -ms-flex-wrap: wrap !important;
        flex-wrap: wrap !important
    }

    .flex-md-nowrap {
        -ms-flex-wrap: nowrap !important;
        flex-wrap: nowrap !important
    }

    .flex-md-wrap-reverse {
        -ms-flex-wrap: wrap-reverse !important;
        flex-wrap: wrap-reverse !important
    }

    .justify-content-md-start {
        -webkit-box-pack: start !important;
        -ms-flex-pack: start !important;
        justify-content: flex-start !important
    }

    .justify-content-md-end {
        -webkit-box-pack: end !important;
        -ms-flex-pack: end !important;
        justify-content: flex-end !important
    }

    .justify-content-md-center {
        -webkit-box-pack: center !important;
        -ms-flex-pack: center !important;
        justify-content: center !important
    }

    .justify-content-md-between {
        -webkit-box-pack: justify !important;
        -ms-flex-pack: justify !important;
        justify-content: space-between !important
    }

    .justify-content-md-around {
        -ms-flex-pack: distribute !important;
        justify-content: space-around !important
    }

    .justify-content-md-evenly {
        -webkit-box-pack: space-evenly !important;
        -ms-flex-pack: space-evenly !important;
        justify-content: space-evenly !important
    }

    .align-items-md-start {
        -webkit-box-align: start !important;
        -ms-flex-align: start !important;
        align-items: flex-start !important
    }

    .align-items-md-end {
        -webkit-box-align: end !important;
        -ms-flex-align: end !important;
        align-items: flex-end !important
    }

    .align-items-md-center {
        -webkit-box-align: center !important;
        -ms-flex-align: center !important;
        align-items: center !important
    }

    .align-items-md-baseline {
        -webkit-box-align: baseline !important;
        -ms-flex-align: baseline !important;
        align-items: baseline !important
    }

    .align-items-md-stretch {
        -webkit-box-align: stretch !important;
        -ms-flex-align: stretch !important;
        align-items: stretch !important
    }

    .align-content-md-start {
        -ms-flex-line-pack: start !important;
        align-content: flex-start !important
    }

    .align-content-md-end {
        -ms-flex-line-pack: end !important;
        align-content: flex-end !important
    }

    .align-content-md-center {
        -ms-flex-line-pack: center !important;
        align-content: center !important
    }

    .align-content-md-between {
        -ms-flex-line-pack: justify !important;
        align-content: space-between !important
    }

    .align-content-md-around {
        -ms-flex-line-pack: distribute !important;
        align-content: space-around !important
    }

    .align-content-md-stretch {
        -ms-flex-line-pack: stretch !important;
        align-content: stretch !important
    }

    .align-self-md-auto {
        -ms-flex-item-align: auto !important;
        align-self: auto !important
    }

    .align-self-md-start {
        -ms-flex-item-align: start !important;
        align-self: flex-start !important
    }

    .align-self-md-end {
        -ms-flex-item-align: end !important;
        align-self: flex-end !important
    }

    .align-self-md-center {
        -ms-flex-item-align: center !important;
        align-self: center !important
    }

    .align-self-md-baseline {
        -ms-flex-item-align: baseline !important;
        align-self: baseline !important
    }

    .align-self-md-stretch {
        -ms-flex-item-align: stretch !important;
        align-self: stretch !important
    }

    .order-md-first {
        -webkit-box-ordinal-group: 0 !important;
        -ms-flex-order: -1 !important;
        order: -1 !important
    }

    .order-md-0 {
        -webkit-box-ordinal-group: 1 !important;
        -ms-flex-order: 0 !important;
        order: 0 !important
    }

    .order-md-1 {
        -webkit-box-ordinal-group: 2 !important;
        -ms-flex-order: 1 !important;
        order: 1 !important
    }

    .order-md-2 {
        -webkit-box-ordinal-group: 3 !important;
        -ms-flex-order: 2 !important;
        order: 2 !important
    }

    .order-md-3 {
        -webkit-box-ordinal-group: 4 !important;
        -ms-flex-order: 3 !important;
        order: 3 !important
    }

    .order-md-4 {
        -webkit-box-ordinal-group: 5 !important;
        -ms-flex-order: 4 !important;
        order: 4 !important
    }

    .order-md-5 {
        -webkit-box-ordinal-group: 6 !important;
        -ms-flex-order: 5 !important;
        order: 5 !important
    }

    .order-md-last {
        -webkit-box-ordinal-group: 7 !important;
        -ms-flex-order: 6 !important;
        order: 6 !important
    }

    .m-md-0 {
        margin: 0 !important
    }

    .m-md-1 {
        margin: .25rem !important
    }

    .m-md-2 {
        margin: .5rem !important
    }

    .m-md-3 {
        margin: 1rem !important
    }

    .m-md-4 {
        margin: 1.5rem !important
    }

    .m-md-5 {
        margin: 3rem !important
    }

    .m-md-auto {
        margin: auto !important
    }

    .mx-md-0 {
        margin-right: 0 !important;
        margin-left: 0 !important
    }

    .mx-md-1 {
        margin-right: .25rem !important;
        margin-left: .25rem !important
    }

    .mx-md-2 {
        margin-right: .5rem !important;
        margin-left: .5rem !important
    }

    .mx-md-3 {
        margin-right: 1rem !important;
        margin-left: 1rem !important
    }

    .mx-md-4 {
        margin-right: 1.5rem !important;
        margin-left: 1.5rem !important
    }

    .mx-md-5 {
        margin-right: 3rem !important;
        margin-left: 3rem !important
    }

    .mx-md-auto {
        margin-right: auto !important;
        margin-left: auto !important
    }

    .my-md-0 {
        margin-top: 0 !important;
        margin-bottom: 0 !important
    }

    .my-md-1 {
        margin-top: .25rem !important;
        margin-bottom: .25rem !important
    }

    .my-md-2 {
        margin-top: .5rem !important;
        margin-bottom: .5rem !important
    }

    .my-md-3 {
        margin-top: 1rem !important;
        margin-bottom: 1rem !important
    }

    .my-md-4 {
        margin-top: 1.5rem !important;
        margin-bottom: 1.5rem !important
    }

    .my-md-5 {
        margin-top: 3rem !important;
        margin-bottom: 3rem !important
    }

    .my-md-auto {
        margin-top: auto !important;
        margin-bottom: auto !important
    }

    .mt-md-0 {
        margin-top: 0 !important
    }

    .mt-md-1 {
        margin-top: .25rem !important
    }

    .mt-md-2 {
        margin-top: .5rem !important
    }

    .mt-md-3 {
        margin-top: 1rem !important
    }

    .mt-md-4 {
        margin-top: 1.5rem !important
    }

    .mt-md-5 {
        margin-top: 3rem !important
    }

    .mt-md-auto {
        margin-top: auto !important
    }

    .me-md-0 {
        margin-right: 0 !important
    }

    .me-md-1 {
        margin-right: .25rem !important
    }

    .me-md-2 {
        margin-right: .5rem !important
    }

    .me-md-3 {
        margin-right: 1rem !important
    }

    .me-md-4 {
        margin-right: 1.5rem !important
    }

    .me-md-5 {
        margin-right: 3rem !important
    }

    .me-md-auto {
        margin-right: auto !important
    }

    .mb-md-0 {
        margin-bottom: 0 !important
    }

    .mb-md-1 {
        margin-bottom: .25rem !important
    }

    .mb-md-2 {
        margin-bottom: .5rem !important
    }

    .mb-md-3 {
        margin-bottom: 1rem !important
    }

    .mb-md-4 {
        margin-bottom: 1.5rem !important
    }

    .mb-md-5 {
        margin-bottom: 3rem !important
    }

    .mb-md-auto {
        margin-bottom: auto !important
    }

    .ms-md-0 {
        margin-left: 0 !important
    }

    .ms-md-1 {
        margin-left: .25rem !important
    }

    .ms-md-2 {
        margin-left: .5rem !important
    }

    .ms-md-3 {
        margin-left: 1rem !important
    }

    .ms-md-4 {
        margin-left: 1.5rem !important
    }

    .ms-md-5 {
        margin-left: 3rem !important
    }

    .ms-md-auto {
        margin-left: auto !important
    }

    .p-md-0 {
        padding: 0 !important
    }

    .p-md-1 {
        padding: .25rem !important
    }

    .p-md-2 {
        padding: .5rem !important
    }

    .p-md-3 {
        padding: 1rem !important
    }

    .p-md-4 {
        padding: 1.5rem !important
    }

    .p-md-5 {
        padding: 3rem !important
    }

    .px-md-0 {
        padding-right: 0 !important;
        padding-left: 0 !important
    }

    .px-md-1 {
        padding-right: .25rem !important;
        padding-left: .25rem !important
    }

    .px-md-2 {
        padding-right: .5rem !important;
        padding-left: .5rem !important
    }

    .px-md-3 {
        padding-right: 1rem !important;
        padding-left: 1rem !important
    }

    .px-md-4 {
        padding-right: 1.5rem !important;
        padding-left: 1.5rem !important
    }

    .px-md-5 {
        padding-right: 3rem !important;
        padding-left: 3rem !important
    }

    .py-md-0 {
        padding-top: 0 !important;
        padding-bottom: 0 !important
    }

    .py-md-1 {
        padding-top: .25rem !important;
        padding-bottom: .25rem !important
    }

    .py-md-2 {
        padding-top: .5rem !important;
        padding-bottom: .5rem !important
    }

    .py-md-3 {
        padding-top: 1rem !important;
        padding-bottom: 1rem !important
    }

    .py-md-4 {
        padding-top: 1.5rem !important;
        padding-bottom: 1.5rem !important
    }

    .py-md-5 {
        padding-top: 3rem !important;
        padding-bottom: 3rem !important
    }

    .pt-md-0 {
        padding-top: 0 !important
    }

    .pt-md-1 {
        padding-top: .25rem !important
    }

    .pt-md-2 {
        padding-top: .5rem !important
    }

    .pt-md-3 {
        padding-top: 1rem !important
    }

    .pt-md-4 {
        padding-top: 1.5rem !important
    }

    .pt-md-5 {
        padding-top: 3rem !important
    }

    .pe-md-0 {
        padding-right: 0 !important
    }

    .pe-md-1 {
        padding-right: .25rem !important
    }

    .pe-md-2 {
        padding-right: .5rem !important
    }

    .pe-md-3 {
        padding-right: 1rem !important
    }

    .pe-md-4 {
        padding-right: 1.5rem !important
    }

    .pe-md-5 {
        padding-right: 3rem !important
    }

    .pb-md-0 {
        padding-bottom: 0 !important
    }

    .pb-md-1 {
        padding-bottom: .25rem !important
    }

    .pb-md-2 {
        padding-bottom: .5rem !important
    }

    .pb-md-3 {
        padding-bottom: 1rem !important
    }

    .pb-md-4 {
        padding-bottom: 1.5rem !important
    }

    .pb-md-5 {
        padding-bottom: 3rem !important
    }

    .ps-md-0 {
        padding-left: 0 !important
    }

    .ps-md-1 {
        padding-left: .25rem !important
    }

    .ps-md-2 {
        padding-left: .5rem !important
    }

    .ps-md-3 {
        padding-left: 1rem !important
    }

    .ps-md-4 {
        padding-left: 1.5rem !important
    }

    .ps-md-5 {
        padding-left: 3rem !important
    }

    .gap-md-0 {
        gap: 0 !important
    }

    .gap-md-1 {
        gap: .25rem !important
    }

    .gap-md-2 {
        gap: .5rem !important
    }

    .gap-md-3 {
        gap: 1rem !important
    }

    .gap-md-4 {
        gap: 1.5rem !important
    }

    .gap-md-5 {
        gap: 3rem !important
    }

    .text-md-start {
        text-align: left !important
    }

    .text-md-end {
        text-align: right !important
    }

    .text-md-center {
        text-align: center !important
    }
}

@media (min-width: 992px) {
    .float-lg-start {
        float: left !important
    }

    .float-lg-end {
        float: right !important
    }

    .float-lg-none {
        float: none !important
    }

    .d-lg-inline {
        display: inline !important
    }

    .d-lg-inline-block {
        display: inline-block !important
    }

    .d-lg-block {
        display: block !important
    }

    .d-lg-grid {
        display: grid !important
    }

    .d-lg-table {
        display: table !important
    }

    .d-lg-table-row {
        display: table-row !important
    }

    .d-lg-table-cell {
        display: table-cell !important
    }

    .d-lg-flex {
        display: -webkit-box !important;
        display: -ms-flexbox !important;
        display: flex !important
    }

    .d-lg-inline-flex {
        display: -webkit-inline-box !important;
        display: -ms-inline-flexbox !important;
        display: inline-flex !important
    }

    .d-lg-none {
        display: none !important
    }

    .flex-lg-fill {
        -webkit-box-flex: 1 !important;
        -ms-flex: 1 1 auto !important;
        flex: 1 1 auto !important
    }

    .flex-lg-row {
        -webkit-box-orient: horizontal !important;
        -webkit-box-direction: normal !important;
        -ms-flex-direction: row !important;
        flex-direction: row !important
    }

    .flex-lg-column {
        -webkit-box-orient: vertical !important;
        -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
        flex-direction: column !important
    }

    .flex-lg-row-reverse {
        -webkit-box-orient: horizontal !important;
        -webkit-box-direction: reverse !important;
        -ms-flex-direction: row-reverse !important;
        flex-direction: row-reverse !important
    }

    .flex-lg-column-reverse {
        -webkit-box-orient: vertical !important;
        -webkit-box-direction: reverse !important;
        -ms-flex-direction: column-reverse !important;
        flex-direction: column-reverse !important
    }

    .flex-lg-grow-0 {
        -webkit-box-flex: 0 !important;
        -ms-flex-positive: 0 !important;
        flex-grow: 0 !important
    }

    .flex-lg-grow-1 {
        -webkit-box-flex: 1 !important;
        -ms-flex-positive: 1 !important;
        flex-grow: 1 !important
    }

    .flex-lg-shrink-0 {
        -ms-flex-negative: 0 !important;
        flex-shrink: 0 !important
    }

    .flex-lg-shrink-1 {
        -ms-flex-negative: 1 !important;
        flex-shrink: 1 !important
    }

    .flex-lg-wrap {
        -ms-flex-wrap: wrap !important;
        flex-wrap: wrap !important
    }

    .flex-lg-nowrap {
        -ms-flex-wrap: nowrap !important;
        flex-wrap: nowrap !important
    }

    .flex-lg-wrap-reverse {
        -ms-flex-wrap: wrap-reverse !important;
        flex-wrap: wrap-reverse !important
    }

    .justify-content-lg-start {
        -webkit-box-pack: start !important;
        -ms-flex-pack: start !important;
        justify-content: flex-start !important
    }

    .justify-content-lg-end {
        -webkit-box-pack: end !important;
        -ms-flex-pack: end !important;
        justify-content: flex-end !important
    }

    .justify-content-lg-center {
        -webkit-box-pack: center !important;
        -ms-flex-pack: center !important;
        justify-content: center !important
    }

    .justify-content-lg-between {
        -webkit-box-pack: justify !important;
        -ms-flex-pack: justify !important;
        justify-content: space-between !important
    }

    .justify-content-lg-around {
        -ms-flex-pack: distribute !important;
        justify-content: space-around !important
    }

    .justify-content-lg-evenly {
        -webkit-box-pack: space-evenly !important;
        -ms-flex-pack: space-evenly !important;
        justify-content: space-evenly !important
    }

    .align-items-lg-start {
        -webkit-box-align: start !important;
        -ms-flex-align: start !important;
        align-items: flex-start !important
    }

    .align-items-lg-end {
        -webkit-box-align: end !important;
        -ms-flex-align: end !important;
        align-items: flex-end !important
    }

    .align-items-lg-center {
        -webkit-box-align: center !important;
        -ms-flex-align: center !important;
        align-items: center !important
    }

    .align-items-lg-baseline {
        -webkit-box-align: baseline !important;
        -ms-flex-align: baseline !important;
        align-items: baseline !important
    }

    .align-items-lg-stretch {
        -webkit-box-align: stretch !important;
        -ms-flex-align: stretch !important;
        align-items: stretch !important
    }

    .align-content-lg-start {
        -ms-flex-line-pack: start !important;
        align-content: flex-start !important
    }

    .align-content-lg-end {
        -ms-flex-line-pack: end !important;
        align-content: flex-end !important
    }

    .align-content-lg-center {
        -ms-flex-line-pack: center !important;
        align-content: center !important
    }

    .align-content-lg-between {
        -ms-flex-line-pack: justify !important;
        align-content: space-between !important
    }

    .align-content-lg-around {
        -ms-flex-line-pack: distribute !important;
        align-content: space-around !important
    }

    .align-content-lg-stretch {
        -ms-flex-line-pack: stretch !important;
        align-content: stretch !important
    }

    .align-self-lg-auto {
        -ms-flex-item-align: auto !important;
        align-self: auto !important
    }

    .align-self-lg-start {
        -ms-flex-item-align: start !important;
        align-self: flex-start !important
    }

    .align-self-lg-end {
        -ms-flex-item-align: end !important;
        align-self: flex-end !important
    }

    .align-self-lg-center {
        -ms-flex-item-align: center !important;
        align-self: center !important
    }

    .align-self-lg-baseline {
        -ms-flex-item-align: baseline !important;
        align-self: baseline !important
    }

    .align-self-lg-stretch {
        -ms-flex-item-align: stretch !important;
        align-self: stretch !important
    }

    .order-lg-first {
        -webkit-box-ordinal-group: 0 !important;
        -ms-flex-order: -1 !important;
        order: -1 !important
    }

    .order-lg-0 {
        -webkit-box-ordinal-group: 1 !important;
        -ms-flex-order: 0 !important;
        order: 0 !important
    }

    .order-lg-1 {
        -webkit-box-ordinal-group: 2 !important;
        -ms-flex-order: 1 !important;
        order: 1 !important
    }

    .order-lg-2 {
        -webkit-box-ordinal-group: 3 !important;
        -ms-flex-order: 2 !important;
        order: 2 !important
    }

    .order-lg-3 {
        -webkit-box-ordinal-group: 4 !important;
        -ms-flex-order: 3 !important;
        order: 3 !important
    }

    .order-lg-4 {
        -webkit-box-ordinal-group: 5 !important;
        -ms-flex-order: 4 !important;
        order: 4 !important
    }

    .order-lg-5 {
        -webkit-box-ordinal-group: 6 !important;
        -ms-flex-order: 5 !important;
        order: 5 !important
    }

    .order-lg-last {
        -webkit-box-ordinal-group: 7 !important;
        -ms-flex-order: 6 !important;
        order: 6 !important
    }

    .m-lg-0 {
        margin: 0 !important
    }

    .m-lg-1 {
        margin: .25rem !important
    }

    .m-lg-2 {
        margin: .5rem !important
    }

    .m-lg-3 {
        margin: 1rem !important
    }

    .m-lg-4 {
        margin: 1.5rem !important
    }

    .m-lg-5 {
        margin: 3rem !important
    }

    .m-lg-auto {
        margin: auto !important
    }

    .mx-lg-0 {
        margin-right: 0 !important;
        margin-left: 0 !important
    }

    .mx-lg-1 {
        margin-right: .25rem !important;
        margin-left: .25rem !important
    }

    .mx-lg-2 {
        margin-right: .5rem !important;
        margin-left: .5rem !important
    }

    .mx-lg-3 {
        margin-right: 1rem !important;
        margin-left: 1rem !important
    }

    .mx-lg-4 {
        margin-right: 1.5rem !important;
        margin-left: 1.5rem !important
    }

    .mx-lg-5 {
        margin-right: 3rem !important;
        margin-left: 3rem !important
    }

    .mx-lg-auto {
        margin-right: auto !important;
        margin-left: auto !important
    }

    .my-lg-0 {
        margin-top: 0 !important;
        margin-bottom: 0 !important
    }

    .my-lg-1 {
        margin-top: .25rem !important;
        margin-bottom: .25rem !important
    }

    .my-lg-2 {
        margin-top: .5rem !important;
        margin-bottom: .5rem !important
    }

    .my-lg-3 {
        margin-top: 1rem !important;
        margin-bottom: 1rem !important
    }

    .my-lg-4 {
        margin-top: 1.5rem !important;
        margin-bottom: 1.5rem !important
    }

    .my-lg-5 {
        margin-top: 3rem !important;
        margin-bottom: 3rem !important
    }

    .my-lg-auto {
        margin-top: auto !important;
        margin-bottom: auto !important
    }

    .mt-lg-0 {
        margin-top: 0 !important
    }

    .mt-lg-1 {
        margin-top: .25rem !important
    }

    .mt-lg-2 {
        margin-top: .5rem !important
    }

    .mt-lg-3 {
        margin-top: 1rem !important
    }

    .mt-lg-4 {
        margin-top: 1.5rem !important
    }

    .mt-lg-5 {
        margin-top: 3rem !important
    }

    .mt-lg-auto {
        margin-top: auto !important
    }

    .me-lg-0 {
        margin-right: 0 !important
    }

    .me-lg-1 {
        margin-right: .25rem !important
    }

    .me-lg-2 {
        margin-right: .5rem !important
    }

    .me-lg-3 {
        margin-right: 1rem !important
    }

    .me-lg-4 {
        margin-right: 1.5rem !important
    }

    .me-lg-5 {
        margin-right: 3rem !important
    }

    .me-lg-auto {
        margin-right: auto !important
    }

    .mb-lg-0 {
        margin-bottom: 0 !important
    }

    .mb-lg-1 {
        margin-bottom: .25rem !important
    }

    .mb-lg-2 {
        margin-bottom: .5rem !important
    }

    .mb-lg-3 {
        margin-bottom: 1rem !important
    }

    .mb-lg-4 {
        margin-bottom: 1.5rem !important
    }

    .mb-lg-5 {
        margin-bottom: 3rem !important
    }

    .mb-lg-auto {
        margin-bottom: auto !important
    }

    .ms-lg-0 {
        margin-left: 0 !important
    }

    .ms-lg-1 {
        margin-left: .25rem !important
    }

    .ms-lg-2 {
        margin-left: .5rem !important
    }

    .ms-lg-3 {
        margin-left: 1rem !important
    }

    .ms-lg-4 {
        margin-left: 1.5rem !important
    }

    .ms-lg-5 {
        margin-left: 3rem !important
    }

    .ms-lg-auto {
        margin-left: auto !important
    }

    .p-lg-0 {
        padding: 0 !important
    }

    .p-lg-1 {
        padding: .25rem !important
    }

    .p-lg-2 {
        padding: .5rem !important
    }

    .p-lg-3 {
        padding: 1rem !important
    }

    .p-lg-4 {
        padding: 1.5rem !important
    }

    .p-lg-5 {
        padding: 3rem !important
    }

    .px-lg-0 {
        padding-right: 0 !important;
        padding-left: 0 !important
    }

    .px-lg-1 {
        padding-right: .25rem !important;
        padding-left: .25rem !important
    }

    .px-lg-2 {
        padding-right: .5rem !important;
        padding-left: .5rem !important
    }

    .px-lg-3 {
        padding-right: 1rem !important;
        padding-left: 1rem !important
    }

    .px-lg-4 {
        padding-right: 1.5rem !important;
        padding-left: 1.5rem !important
    }

    .px-lg-5 {
        padding-right: 3rem !important;
        padding-left: 3rem !important
    }

    .py-lg-0 {
        padding-top: 0 !important;
        padding-bottom: 0 !important
    }

    .py-lg-1 {
        padding-top: .25rem !important;
        padding-bottom: .25rem !important
    }

    .py-lg-2 {
        padding-top: .5rem !important;
        padding-bottom: .5rem !important
    }

    .py-lg-3 {
        padding-top: 1rem !important;
        padding-bottom: 1rem !important
    }

    .py-lg-4 {
        padding-top: 1.5rem !important;
        padding-bottom: 1.5rem !important
    }

    .py-lg-5 {
        padding-top: 3rem !important;
        padding-bottom: 3rem !important
    }

    .pt-lg-0 {
        padding-top: 0 !important
    }

    .pt-lg-1 {
        padding-top: .25rem !important
    }

    .pt-lg-2 {
        padding-top: .5rem !important
    }

    .pt-lg-3 {
        padding-top: 1rem !important
    }

    .pt-lg-4 {
        padding-top: 1.5rem !important
    }

    .pt-lg-5 {
        padding-top: 3rem !important
    }

    .pe-lg-0 {
        padding-right: 0 !important
    }

    .pe-lg-1 {
        padding-right: .25rem !important
    }

    .pe-lg-2 {
        padding-right: .5rem !important
    }

    .pe-lg-3 {
        padding-right: 1rem !important
    }

    .pe-lg-4 {
        padding-right: 1.5rem !important
    }

    .pe-lg-5 {
        padding-right: 3rem !important
    }

    .pb-lg-0 {
        padding-bottom: 0 !important
    }

    .pb-lg-1 {
        padding-bottom: .25rem !important
    }

    .pb-lg-2 {
        padding-bottom: .5rem !important
    }

    .pb-lg-3 {
        padding-bottom: 1rem !important
    }

    .pb-lg-4 {
        padding-bottom: 1.5rem !important
    }

    .pb-lg-5 {
        padding-bottom: 3rem !important
    }

    .ps-lg-0 {
        padding-left: 0 !important
    }

    .ps-lg-1 {
        padding-left: .25rem !important
    }

    .ps-lg-2 {
        padding-left: .5rem !important
    }

    .ps-lg-3 {
        padding-left: 1rem !important
    }

    .ps-lg-4 {
        padding-left: 1.5rem !important
    }

    .ps-lg-5 {
        padding-left: 3rem !important
    }

    .gap-lg-0 {
        gap: 0 !important
    }

    .gap-lg-1 {
        gap: .25rem !important
    }

    .gap-lg-2 {
        gap: .5rem !important
    }

    .gap-lg-3 {
        gap: 1rem !important
    }

    .gap-lg-4 {
        gap: 1.5rem !important
    }

    .gap-lg-5 {
        gap: 3rem !important
    }

    .text-lg-start {
        text-align: left !important
    }

    .text-lg-end {
        text-align: right !important
    }

    .text-lg-center {
        text-align: center !important
    }
}

@media (min-width: 1200px) {
    .float-xl-start {
        float: left !important
    }

    .float-xl-end {
        float: right !important
    }

    .float-xl-none {
        float: none !important
    }

    .d-xl-inline {
        display: inline !important
    }

    .d-xl-inline-block {
        display: inline-block !important
    }

    .d-xl-block {
        display: block !important
    }

    .d-xl-grid {
        display: grid !important
    }

    .d-xl-table {
        display: table !important
    }

    .d-xl-table-row {
        display: table-row !important
    }

    .d-xl-table-cell {
        display: table-cell !important
    }

    .d-xl-flex {
        display: -webkit-box !important;
        display: -ms-flexbox !important;
        display: flex !important
    }

    .d-xl-inline-flex {
        display: -webkit-inline-box !important;
        display: -ms-inline-flexbox !important;
        display: inline-flex !important
    }

    .d-xl-none {
        display: none !important
    }

    .flex-xl-fill {
        -webkit-box-flex: 1 !important;
        -ms-flex: 1 1 auto !important;
        flex: 1 1 auto !important
    }

    .flex-xl-row {
        -webkit-box-orient: horizontal !important;
        -webkit-box-direction: normal !important;
        -ms-flex-direction: row !important;
        flex-direction: row !important
    }

    .flex-xl-column {
        -webkit-box-orient: vertical !important;
        -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
        flex-direction: column !important
    }

    .flex-xl-row-reverse {
        -webkit-box-orient: horizontal !important;
        -webkit-box-direction: reverse !important;
        -ms-flex-direction: row-reverse !important;
        flex-direction: row-reverse !important
    }

    .flex-xl-column-reverse {
        -webkit-box-orient: vertical !important;
        -webkit-box-direction: reverse !important;
        -ms-flex-direction: column-reverse !important;
        flex-direction: column-reverse !important
    }

    .flex-xl-grow-0 {
        -webkit-box-flex: 0 !important;
        -ms-flex-positive: 0 !important;
        flex-grow: 0 !important
    }

    .flex-xl-grow-1 {
        -webkit-box-flex: 1 !important;
        -ms-flex-positive: 1 !important;
        flex-grow: 1 !important
    }

    .flex-xl-shrink-0 {
        -ms-flex-negative: 0 !important;
        flex-shrink: 0 !important
    }

    .flex-xl-shrink-1 {
        -ms-flex-negative: 1 !important;
        flex-shrink: 1 !important
    }

    .flex-xl-wrap {
        -ms-flex-wrap: wrap !important;
        flex-wrap: wrap !important
    }

    .flex-xl-nowrap {
        -ms-flex-wrap: nowrap !important;
        flex-wrap: nowrap !important
    }

    .flex-xl-wrap-reverse {
        -ms-flex-wrap: wrap-reverse !important;
        flex-wrap: wrap-reverse !important
    }

    .justify-content-xl-start {
        -webkit-box-pack: start !important;
        -ms-flex-pack: start !important;
        justify-content: flex-start !important
    }

    .justify-content-xl-end {
        -webkit-box-pack: end !important;
        -ms-flex-pack: end !important;
        justify-content: flex-end !important
    }

    .justify-content-xl-center {
        -webkit-box-pack: center !important;
        -ms-flex-pack: center !important;
        justify-content: center !important
    }

    .justify-content-xl-between {
        -webkit-box-pack: justify !important;
        -ms-flex-pack: justify !important;
        justify-content: space-between !important
    }

    .justify-content-xl-around {
        -ms-flex-pack: distribute !important;
        justify-content: space-around !important
    }

    .justify-content-xl-evenly {
        -webkit-box-pack: space-evenly !important;
        -ms-flex-pack: space-evenly !important;
        justify-content: space-evenly !important
    }

    .align-items-xl-start {
        -webkit-box-align: start !important;
        -ms-flex-align: start !important;
        align-items: flex-start !important
    }

    .align-items-xl-end {
        -webkit-box-align: end !important;
        -ms-flex-align: end !important;
        align-items: flex-end !important
    }

    .align-items-xl-center {
        -webkit-box-align: center !important;
        -ms-flex-align: center !important;
        align-items: center !important
    }

    .align-items-xl-baseline {
        -webkit-box-align: baseline !important;
        -ms-flex-align: baseline !important;
        align-items: baseline !important
    }

    .align-items-xl-stretch {
        -webkit-box-align: stretch !important;
        -ms-flex-align: stretch !important;
        align-items: stretch !important
    }

    .align-content-xl-start {
        -ms-flex-line-pack: start !important;
        align-content: flex-start !important
    }

    .align-content-xl-end {
        -ms-flex-line-pack: end !important;
        align-content: flex-end !important
    }

    .align-content-xl-center {
        -ms-flex-line-pack: center !important;
        align-content: center !important
    }

    .align-content-xl-between {
        -ms-flex-line-pack: justify !important;
        align-content: space-between !important
    }

    .align-content-xl-around {
        -ms-flex-line-pack: distribute !important;
        align-content: space-around !important
    }

    .align-content-xl-stretch {
        -ms-flex-line-pack: stretch !important;
        align-content: stretch !important
    }

    .align-self-xl-auto {
        -ms-flex-item-align: auto !important;
        align-self: auto !important
    }

    .align-self-xl-start {
        -ms-flex-item-align: start !important;
        align-self: flex-start !important
    }

    .align-self-xl-end {
        -ms-flex-item-align: end !important;
        align-self: flex-end !important
    }

    .align-self-xl-center {
        -ms-flex-item-align: center !important;
        align-self: center !important
    }

    .align-self-xl-baseline {
        -ms-flex-item-align: baseline !important;
        align-self: baseline !important
    }

    .align-self-xl-stretch {
        -ms-flex-item-align: stretch !important;
        align-self: stretch !important
    }

    .order-xl-first {
        -webkit-box-ordinal-group: 0 !important;
        -ms-flex-order: -1 !important;
        order: -1 !important
    }

    .order-xl-0 {
        -webkit-box-ordinal-group: 1 !important;
        -ms-flex-order: 0 !important;
        order: 0 !important
    }

    .order-xl-1 {
        -webkit-box-ordinal-group: 2 !important;
        -ms-flex-order: 1 !important;
        order: 1 !important
    }

    .order-xl-2 {
        -webkit-box-ordinal-group: 3 !important;
        -ms-flex-order: 2 !important;
        order: 2 !important
    }

    .order-xl-3 {
        -webkit-box-ordinal-group: 4 !important;
        -ms-flex-order: 3 !important;
        order: 3 !important
    }

    .order-xl-4 {
        -webkit-box-ordinal-group: 5 !important;
        -ms-flex-order: 4 !important;
        order: 4 !important
    }

    .order-xl-5 {
        -webkit-box-ordinal-group: 6 !important;
        -ms-flex-order: 5 !important;
        order: 5 !important
    }

    .order-xl-last {
        -webkit-box-ordinal-group: 7 !important;
        -ms-flex-order: 6 !important;
        order: 6 !important
    }

    .m-xl-0 {
        margin: 0 !important
    }

    .m-xl-1 {
        margin: .25rem !important
    }

    .m-xl-2 {
        margin: .5rem !important
    }

    .m-xl-3 {
        margin: 1rem !important
    }

    .m-xl-4 {
        margin: 1.5rem !important
    }

    .m-xl-5 {
        margin: 3rem !important
    }

    .m-xl-auto {
        margin: auto !important
    }

    .mx-xl-0 {
        margin-right: 0 !important;
        margin-left: 0 !important
    }

    .mx-xl-1 {
        margin-right: .25rem !important;
        margin-left: .25rem !important
    }

    .mx-xl-2 {
        margin-right: .5rem !important;
        margin-left: .5rem !important
    }

    .mx-xl-3 {
        margin-right: 1rem !important;
        margin-left: 1rem !important
    }

    .mx-xl-4 {
        margin-right: 1.5rem !important;
        margin-left: 1.5rem !important
    }

    .mx-xl-5 {
        margin-right: 3rem !important;
        margin-left: 3rem !important
    }

    .mx-xl-auto {
        margin-right: auto !important;
        margin-left: auto !important
    }

    .my-xl-0 {
        margin-top: 0 !important;
        margin-bottom: 0 !important
    }

    .my-xl-1 {
        margin-top: .25rem !important;
        margin-bottom: .25rem !important
    }

    .my-xl-2 {
        margin-top: .5rem !important;
        margin-bottom: .5rem !important
    }

    .my-xl-3 {
        margin-top: 1rem !important;
        margin-bottom: 1rem !important
    }

    .my-xl-4 {
        margin-top: 1.5rem !important;
        margin-bottom: 1.5rem !important
    }

    .my-xl-5 {
        margin-top: 3rem !important;
        margin-bottom: 3rem !important
    }

    .my-xl-auto {
        margin-top: auto !important;
        margin-bottom: auto !important
    }

    .mt-xl-0 {
        margin-top: 0 !important
    }

    .mt-xl-1 {
        margin-top: .25rem !important
    }

    .mt-xl-2 {
        margin-top: .5rem !important
    }

    .mt-xl-3 {
        margin-top: 1rem !important
    }

    .mt-xl-4 {
        margin-top: 1.5rem !important
    }

    .mt-xl-5 {
        margin-top: 3rem !important
    }

    .mt-xl-auto {
        margin-top: auto !important
    }

    .me-xl-0 {
        margin-right: 0 !important
    }

    .me-xl-1 {
        margin-right: .25rem !important
    }

    .me-xl-2 {
        margin-right: .5rem !important
    }

    .me-xl-3 {
        margin-right: 1rem !important
    }

    .me-xl-4 {
        margin-right: 1.5rem !important
    }

    .me-xl-5 {
        margin-right: 3rem !important
    }

    .me-xl-auto {
        margin-right: auto !important
    }

    .mb-xl-0 {
        margin-bottom: 0 !important
    }

    .mb-xl-1 {
        margin-bottom: .25rem !important
    }

    .mb-xl-2 {
        margin-bottom: .5rem !important
    }

    .mb-xl-3 {
        margin-bottom: 1rem !important
    }

    .mb-xl-4 {
        margin-bottom: 1.5rem !important
    }

    .mb-xl-5 {
        margin-bottom: 3rem !important
    }

    .mb-xl-auto {
        margin-bottom: auto !important
    }

    .ms-xl-0 {
        margin-left: 0 !important
    }

    .ms-xl-1 {
        margin-left: .25rem !important
    }

    .ms-xl-2 {
        margin-left: .5rem !important
    }

    .ms-xl-3 {
        margin-left: 1rem !important
    }

    .ms-xl-4 {
        margin-left: 1.5rem !important
    }

    .ms-xl-5 {
        margin-left: 3rem !important
    }

    .ms-xl-auto {
        margin-left: auto !important
    }

    .p-xl-0 {
        padding: 0 !important
    }

    .p-xl-1 {
        padding: .25rem !important
    }

    .p-xl-2 {
        padding: .5rem !important
    }

    .p-xl-3 {
        padding: 1rem !important
    }

    .p-xl-4 {
        padding: 1.5rem !important
    }

    .p-xl-5 {
        padding: 3rem !important
    }

    .px-xl-0 {
        padding-right: 0 !important;
        padding-left: 0 !important
    }

    .px-xl-1 {
        padding-right: .25rem !important;
        padding-left: .25rem !important
    }

    .px-xl-2 {
        padding-right: .5rem !important;
        padding-left: .5rem !important
    }

    .px-xl-3 {
        padding-right: 1rem !important;
        padding-left: 1rem !important
    }

    .px-xl-4 {
        padding-right: 1.5rem !important;
        padding-left: 1.5rem !important
    }

    .px-xl-5 {
        padding-right: 3rem !important;
        padding-left: 3rem !important
    }

    .py-xl-0 {
        padding-top: 0 !important;
        padding-bottom: 0 !important
    }

    .py-xl-1 {
        padding-top: .25rem !important;
        padding-bottom: .25rem !important
    }

    .py-xl-2 {
        padding-top: .5rem !important;
        padding-bottom: .5rem !important
    }

    .py-xl-3 {
        padding-top: 1rem !important;
        padding-bottom: 1rem !important
    }

    .py-xl-4 {
        padding-top: 1.5rem !important;
        padding-bottom: 1.5rem !important
    }

    .py-xl-5 {
        padding-top: 3rem !important;
        padding-bottom: 3rem !important
    }

    .pt-xl-0 {
        padding-top: 0 !important
    }

    .pt-xl-1 {
        padding-top: .25rem !important
    }

    .pt-xl-2 {
        padding-top: .5rem !important
    }

    .pt-xl-3 {
        padding-top: 1rem !important
    }

    .pt-xl-4 {
        padding-top: 1.5rem !important
    }

    .pt-xl-5 {
        padding-top: 3rem !important
    }

    .pe-xl-0 {
        padding-right: 0 !important
    }

    .pe-xl-1 {
        padding-right: .25rem !important
    }

    .pe-xl-2 {
        padding-right: .5rem !important
    }

    .pe-xl-3 {
        padding-right: 1rem !important
    }

    .pe-xl-4 {
        padding-right: 1.5rem !important
    }

    .pe-xl-5 {
        padding-right: 3rem !important
    }

    .pb-xl-0 {
        padding-bottom: 0 !important
    }

    .pb-xl-1 {
        padding-bottom: .25rem !important
    }

    .pb-xl-2 {
        padding-bottom: .5rem !important
    }

    .pb-xl-3 {
        padding-bottom: 1rem !important
    }

    .pb-xl-4 {
        padding-bottom: 1.5rem !important
    }

    .pb-xl-5 {
        padding-bottom: 3rem !important
    }

    .ps-xl-0 {
        padding-left: 0 !important
    }

    .ps-xl-1 {
        padding-left: .25rem !important
    }

    .ps-xl-2 {
        padding-left: .5rem !important
    }

    .ps-xl-3 {
        padding-left: 1rem !important
    }

    .ps-xl-4 {
        padding-left: 1.5rem !important
    }

    .ps-xl-5 {
        padding-left: 3rem !important
    }

    .gap-xl-0 {
        gap: 0 !important
    }

    .gap-xl-1 {
        gap: .25rem !important
    }

    .gap-xl-2 {
        gap: .5rem !important
    }

    .gap-xl-3 {
        gap: 1rem !important
    }

    .gap-xl-4 {
        gap: 1.5rem !important
    }

    .gap-xl-5 {
        gap: 3rem !important
    }

    .text-xl-start {
        text-align: left !important
    }

    .text-xl-end {
        text-align: right !important
    }

    .text-xl-center {
        text-align: center !important
    }
}

@media (min-width: 1400px) {
    .float-xxl-start {
        float: left !important
    }

    .float-xxl-end {
        float: right !important
    }

    .float-xxl-none {
        float: none !important
    }

    .d-xxl-inline {
        display: inline !important
    }

    .d-xxl-inline-block {
        display: inline-block !important
    }

    .d-xxl-block {
        display: block !important
    }

    .d-xxl-grid {
        display: grid !important
    }

    .d-xxl-table {
        display: table !important
    }

    .d-xxl-table-row {
        display: table-row !important
    }

    .d-xxl-table-cell {
        display: table-cell !important
    }

    .d-xxl-flex {
        display: -webkit-box !important;
        display: -ms-flexbox !important;
        display: flex !important
    }

    .d-xxl-inline-flex {
        display: -webkit-inline-box !important;
        display: -ms-inline-flexbox !important;
        display: inline-flex !important
    }

    .d-xxl-none {
        display: none !important
    }

    .flex-xxl-fill {
        -webkit-box-flex: 1 !important;
        -ms-flex: 1 1 auto !important;
        flex: 1 1 auto !important
    }

    .flex-xxl-row {
        -webkit-box-orient: horizontal !important;
        -webkit-box-direction: normal !important;
        -ms-flex-direction: row !important;
        flex-direction: row !important
    }

    .flex-xxl-column {
        -webkit-box-orient: vertical !important;
        -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
        flex-direction: column !important
    }

    .flex-xxl-row-reverse {
        -webkit-box-orient: horizontal !important;
        -webkit-box-direction: reverse !important;
        -ms-flex-direction: row-reverse !important;
        flex-direction: row-reverse !important
    }

    .flex-xxl-column-reverse {
        -webkit-box-orient: vertical !important;
        -webkit-box-direction: reverse !important;
        -ms-flex-direction: column-reverse !important;
        flex-direction: column-reverse !important
    }

    .flex-xxl-grow-0 {
        -webkit-box-flex: 0 !important;
        -ms-flex-positive: 0 !important;
        flex-grow: 0 !important
    }

    .flex-xxl-grow-1 {
        -webkit-box-flex: 1 !important;
        -ms-flex-positive: 1 !important;
        flex-grow: 1 !important
    }

    .flex-xxl-shrink-0 {
        -ms-flex-negative: 0 !important;
        flex-shrink: 0 !important
    }

    .flex-xxl-shrink-1 {
        -ms-flex-negative: 1 !important;
        flex-shrink: 1 !important
    }

    .flex-xxl-wrap {
        -ms-flex-wrap: wrap !important;
        flex-wrap: wrap !important
    }

    .flex-xxl-nowrap {
        -ms-flex-wrap: nowrap !important;
        flex-wrap: nowrap !important
    }

    .flex-xxl-wrap-reverse {
        -ms-flex-wrap: wrap-reverse !important;
        flex-wrap: wrap-reverse !important
    }

    .justify-content-xxl-start {
        -webkit-box-pack: start !important;
        -ms-flex-pack: start !important;
        justify-content: flex-start !important
    }

    .justify-content-xxl-end {
        -webkit-box-pack: end !important;
        -ms-flex-pack: end !important;
        justify-content: flex-end !important
    }

    .justify-content-xxl-center {
        -webkit-box-pack: center !important;
        -ms-flex-pack: center !important;
        justify-content: center !important
    }

    .justify-content-xxl-between {
        -webkit-box-pack: justify !important;
        -ms-flex-pack: justify !important;
        justify-content: space-between !important
    }

    .justify-content-xxl-around {
        -ms-flex-pack: distribute !important;
        justify-content: space-around !important
    }

    .justify-content-xxl-evenly {
        -webkit-box-pack: space-evenly !important;
        -ms-flex-pack: space-evenly !important;
        justify-content: space-evenly !important
    }

    .align-items-xxl-start {
        -webkit-box-align: start !important;
        -ms-flex-align: start !important;
        align-items: flex-start !important
    }

    .align-items-xxl-end {
        -webkit-box-align: end !important;
        -ms-flex-align: end !important;
        align-items: flex-end !important
    }

    .align-items-xxl-center {
        -webkit-box-align: center !important;
        -ms-flex-align: center !important;
        align-items: center !important
    }

    .align-items-xxl-baseline {
        -webkit-box-align: baseline !important;
        -ms-flex-align: baseline !important;
        align-items: baseline !important
    }

    .align-items-xxl-stretch {
        -webkit-box-align: stretch !important;
        -ms-flex-align: stretch !important;
        align-items: stretch !important
    }

    .align-content-xxl-start {
        -ms-flex-line-pack: start !important;
        align-content: flex-start !important
    }

    .align-content-xxl-end {
        -ms-flex-line-pack: end !important;
        align-content: flex-end !important
    }

    .align-content-xxl-center {
        -ms-flex-line-pack: center !important;
        align-content: center !important
    }

    .align-content-xxl-between {
        -ms-flex-line-pack: justify !important;
        align-content: space-between !important
    }

    .align-content-xxl-around {
        -ms-flex-line-pack: distribute !important;
        align-content: space-around !important
    }

    .align-content-xxl-stretch {
        -ms-flex-line-pack: stretch !important;
        align-content: stretch !important
    }

    .align-self-xxl-auto {
        -ms-flex-item-align: auto !important;
        align-self: auto !important
    }

    .align-self-xxl-start {
        -ms-flex-item-align: start !important;
        align-self: flex-start !important
    }

    .align-self-xxl-end {
        -ms-flex-item-align: end !important;
        align-self: flex-end !important
    }

    .align-self-xxl-center {
        -ms-flex-item-align: center !important;
        align-self: center !important
    }

    .align-self-xxl-baseline {
        -ms-flex-item-align: baseline !important;
        align-self: baseline !important
    }

    .align-self-xxl-stretch {
        -ms-flex-item-align: stretch !important;
        align-self: stretch !important
    }

    .order-xxl-first {
        -webkit-box-ordinal-group: 0 !important;
        -ms-flex-order: -1 !important;
        order: -1 !important
    }

    .order-xxl-0 {
        -webkit-box-ordinal-group: 1 !important;
        -ms-flex-order: 0 !important;
        order: 0 !important
    }

    .order-xxl-1 {
        -webkit-box-ordinal-group: 2 !important;
        -ms-flex-order: 1 !important;
        order: 1 !important
    }

    .order-xxl-2 {
        -webkit-box-ordinal-group: 3 !important;
        -ms-flex-order: 2 !important;
        order: 2 !important
    }

    .order-xxl-3 {
        -webkit-box-ordinal-group: 4 !important;
        -ms-flex-order: 3 !important;
        order: 3 !important
    }

    .order-xxl-4 {
        -webkit-box-ordinal-group: 5 !important;
        -ms-flex-order: 4 !important;
        order: 4 !important
    }

    .order-xxl-5 {
        -webkit-box-ordinal-group: 6 !important;
        -ms-flex-order: 5 !important;
        order: 5 !important
    }

    .order-xxl-last {
        -webkit-box-ordinal-group: 7 !important;
        -ms-flex-order: 6 !important;
        order: 6 !important
    }

    .m-xxl-0 {
        margin: 0 !important
    }

    .m-xxl-1 {
        margin: .25rem !important
    }

    .m-xxl-2 {
        margin: .5rem !important
    }

    .m-xxl-3 {
        margin: 1rem !important
    }

    .m-xxl-4 {
        margin: 1.5rem !important
    }

    .m-xxl-5 {
        margin: 3rem !important
    }

    .m-xxl-auto {
        margin: auto !important
    }

    .mx-xxl-0 {
        margin-right: 0 !important;
        margin-left: 0 !important
    }

    .mx-xxl-1 {
        margin-right: .25rem !important;
        margin-left: .25rem !important
    }

    .mx-xxl-2 {
        margin-right: .5rem !important;
        margin-left: .5rem !important
    }

    .mx-xxl-3 {
        margin-right: 1rem !important;
        margin-left: 1rem !important
    }

    .mx-xxl-4 {
        margin-right: 1.5rem !important;
        margin-left: 1.5rem !important
    }

    .mx-xxl-5 {
        margin-right: 3rem !important;
        margin-left: 3rem !important
    }

    .mx-xxl-auto {
        margin-right: auto !important;
        margin-left: auto !important
    }

    .my-xxl-0 {
        margin-top: 0 !important;
        margin-bottom: 0 !important
    }

    .my-xxl-1 {
        margin-top: .25rem !important;
        margin-bottom: .25rem !important
    }

    .my-xxl-2 {
        margin-top: .5rem !important;
        margin-bottom: .5rem !important
    }

    .my-xxl-3 {
        margin-top: 1rem !important;
        margin-bottom: 1rem !important
    }

    .my-xxl-4 {
        margin-top: 1.5rem !important;
        margin-bottom: 1.5rem !important
    }

    .my-xxl-5 {
        margin-top: 3rem !important;
        margin-bottom: 3rem !important
    }

    .my-xxl-auto {
        margin-top: auto !important;
        margin-bottom: auto !important
    }

    .mt-xxl-0 {
        margin-top: 0 !important
    }

    .mt-xxl-1 {
        margin-top: .25rem !important
    }

    .mt-xxl-2 {
        margin-top: .5rem !important
    }

    .mt-xxl-3 {
        margin-top: 1rem !important
    }

    .mt-xxl-4 {
        margin-top: 1.5rem !important
    }

    .mt-xxl-5 {
        margin-top: 3rem !important
    }

    .mt-xxl-auto {
        margin-top: auto !important
    }

    .me-xxl-0 {
        margin-right: 0 !important
    }

    .me-xxl-1 {
        margin-right: .25rem !important
    }

    .me-xxl-2 {
        margin-right: .5rem !important
    }

    .me-xxl-3 {
        margin-right: 1rem !important
    }

    .me-xxl-4 {
        margin-right: 1.5rem !important
    }

    .me-xxl-5 {
        margin-right: 3rem !important
    }

    .me-xxl-auto {
        margin-right: auto !important
    }

    .mb-xxl-0 {
        margin-bottom: 0 !important
    }

    .mb-xxl-1 {
        margin-bottom: .25rem !important
    }

    .mb-xxl-2 {
        margin-bottom: .5rem !important
    }

    .mb-xxl-3 {
        margin-bottom: 1rem !important
    }

    .mb-xxl-4 {
        margin-bottom: 1.5rem !important
    }

    .mb-xxl-5 {
        margin-bottom: 3rem !important
    }

    .mb-xxl-auto {
        margin-bottom: auto !important
    }

    .ms-xxl-0 {
        margin-left: 0 !important
    }

    .ms-xxl-1 {
        margin-left: .25rem !important
    }

    .ms-xxl-2 {
        margin-left: .5rem !important
    }

    .ms-xxl-3 {
        margin-left: 1rem !important
    }

    .ms-xxl-4 {
        margin-left: 1.5rem !important
    }

    .ms-xxl-5 {
        margin-left: 3rem !important
    }

    .ms-xxl-auto {
        margin-left: auto !important
    }

    .p-xxl-0 {
        padding: 0 !important
    }

    .p-xxl-1 {
        padding: .25rem !important
    }

    .p-xxl-2 {
        padding: .5rem !important
    }

    .p-xxl-3 {
        padding: 1rem !important
    }

    .p-xxl-4 {
        padding: 1.5rem !important
    }

    .p-xxl-5 {
        padding: 3rem !important
    }

    .px-xxl-0 {
        padding-right: 0 !important;
        padding-left: 0 !important
    }

    .px-xxl-1 {
        padding-right: .25rem !important;
        padding-left: .25rem !important
    }

    .px-xxl-2 {
        padding-right: .5rem !important;
        padding-left: .5rem !important
    }

    .px-xxl-3 {
        padding-right: 1rem !important;
        padding-left: 1rem !important
    }

    .px-xxl-4 {
        padding-right: 1.5rem !important;
        padding-left: 1.5rem !important
    }

    .px-xxl-5 {
        padding-right: 3rem !important;
        padding-left: 3rem !important
    }

    .py-xxl-0 {
        padding-top: 0 !important;
        padding-bottom: 0 !important
    }

    .py-xxl-1 {
        padding-top: .25rem !important;
        padding-bottom: .25rem !important
    }

    .py-xxl-2 {
        padding-top: .5rem !important;
        padding-bottom: .5rem !important
    }

    .py-xxl-3 {
        padding-top: 1rem !important;
        padding-bottom: 1rem !important
    }

    .py-xxl-4 {
        padding-top: 1.5rem !important;
        padding-bottom: 1.5rem !important
    }

    .py-xxl-5 {
        padding-top: 3rem !important;
        padding-bottom: 3rem !important
    }

    .pt-xxl-0 {
        padding-top: 0 !important
    }

    .pt-xxl-1 {
        padding-top: .25rem !important
    }

    .pt-xxl-2 {
        padding-top: .5rem !important
    }

    .pt-xxl-3 {
        padding-top: 1rem !important
    }

    .pt-xxl-4 {
        padding-top: 1.5rem !important
    }

    .pt-xxl-5 {
        padding-top: 3rem !important
    }

    .pe-xxl-0 {
        padding-right: 0 !important
    }

    .pe-xxl-1 {
        padding-right: .25rem !important
    }

    .pe-xxl-2 {
        padding-right: .5rem !important
    }

    .pe-xxl-3 {
        padding-right: 1rem !important
    }

    .pe-xxl-4 {
        padding-right: 1.5rem !important
    }

    .pe-xxl-5 {
        padding-right: 3rem !important
    }

    .pb-xxl-0 {
        padding-bottom: 0 !important
    }

    .pb-xxl-1 {
        padding-bottom: .25rem !important
    }

    .pb-xxl-2 {
        padding-bottom: .5rem !important
    }

    .pb-xxl-3 {
        padding-bottom: 1rem !important
    }

    .pb-xxl-4 {
        padding-bottom: 1.5rem !important
    }

    .pb-xxl-5 {
        padding-bottom: 3rem !important
    }

    .ps-xxl-0 {
        padding-left: 0 !important
    }

    .ps-xxl-1 {
        padding-left: .25rem !important
    }

    .ps-xxl-2 {
        padding-left: .5rem !important
    }

    .ps-xxl-3 {
        padding-left: 1rem !important
    }

    .ps-xxl-4 {
        padding-left: 1.5rem !important
    }

    .ps-xxl-5 {
        padding-left: 3rem !important
    }

    .gap-xxl-0 {
        gap: 0 !important
    }

    .gap-xxl-1 {
        gap: .25rem !important
    }

    .gap-xxl-2 {
        gap: .5rem !important
    }

    .gap-xxl-3 {
        gap: 1rem !important
    }

    .gap-xxl-4 {
        gap: 1.5rem !important
    }

    .gap-xxl-5 {
        gap: 3rem !important
    }

    .text-xxl-start {
        text-align: left !important
    }

    .text-xxl-end {
        text-align: right !important
    }

    .text-xxl-center {
        text-align: center !important
    }
}

@media (min-width: 1200px) {
    .fs-1 {
        font-size: 2.5rem !important
    }

    .fs-2 {
        font-size: 2rem !important
    }

    .fs-3 {
        font-size: 1.75rem !important
    }

    .fs-4 {
        font-size: 1.5rem !important
    }
}

@media print {
    .d-print-inline {
        display: inline !important
    }

    .d-print-inline-block {
        display: inline-block !important
    }

    .d-print-block {
        display: block !important
    }

    .d-print-grid {
        display: grid !important
    }

    .d-print-table {
        display: table !important
    }

    .d-print-table-row {
        display: table-row !important
    }

    .d-print-table-cell {
        display: table-cell !important
    }

    .d-print-flex {
        display: -webkit-box !important;
        display: -ms-flexbox !important;
        display: flex !important
    }

    .d-print-inline-flex {
        display: -webkit-inline-box !important;
        display: -ms-inline-flexbox !important;
        display: inline-flex !important
    }

    .d-print-none {
        display: none !important
    }
}

body.snc {
    --theme-color: #EE858F;
    --theme-color-light: #f0a2c3
}

body.snc .p-page-head {
    background-image: url(../img/bg_page_head_snc-8818b726.webp)
}

body.snc .p-page-head .p-logo:before {
    content: "\f10e";
    font-family: iconfont
}

body.snc .p-future:after {
    content: "\f10e";
    font-family: iconfont
}

body.snc .p-footer {
    background-image: url(../img/bg_footer_snc-b716fd50.webp)
}

body.medical {
    --theme-color: green;
    --theme-color-light: #369c03
}

body.medical .p-page-head {
    background-image: url(../img/bg_page_head_medical-63c9e4fe.webp)
}

body.medical .p-page-head .p-logo:before {
    content: "\f10d";
    font-family: iconfont
}

body.medical .p-future:after {
    content: "\f10d";
    font-family: iconfont
}

body.medical .p-footer {
    background-image: url(../img/bg_footer_medical-01cb7d88.webp)
}

.js-fade {
    opacity: 0;
    -webkit-transition: .7s cubic-bezier(.25, .1, .25, 1);
    transition: .7s cubic-bezier(.25, .1, .25, 1);
    -webkit-transition-delay: .3s;
    transition-delay: .3s
}

.js-fade.js-in {
    opacity: 1
}

.js-fadeY {
    opacity: 0;
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px);
    -webkit-transition: .7s cubic-bezier(.25, .1, .25, 1);
    transition: .7s cubic-bezier(.25, .1, .25, 1);
    -webkit-transition-delay: .3s;
    transition-delay: .3s
}

.js-fadeY.js-in {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0)
}

.js-fadeY2 {
    opacity: 0;
    -webkit-transform: translateY(10px);
    transform: translateY(10px);
    -webkit-transition: .7s cubic-bezier(.25, .1, .25, 1);
    transition: .7s cubic-bezier(.25, .1, .25, 1);
    -webkit-transition-delay: .3s;
    transition-delay: .3s
}

.js-fadeY2.js-in {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0)
}

.js-fadeX {
    opacity: 0;
    -webkit-transform: translateX(-10px);
    transform: translate(-10px);
    -webkit-transition: .7s cubic-bezier(.25, .1, .25, 1);
    transition: .7s cubic-bezier(.25, .1, .25, 1);
    -webkit-transition-delay: .3s;
    transition-delay: .3s
}

.js-fadeX.js-in {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translate(0)
}

.js-fadeX2 {
    opacity: 0;
    -webkit-transform: translateX(10px);
    transform: translate(10px);
    -webkit-transition: 1.2s cubic-bezier(.25, .1, .25, 1);
    transition: 1.2s cubic-bezier(.25, .1, .25, 1);
    -webkit-transition-delay: .3s;
    transition-delay: .3s
}

.js-fadeX2.js-in {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translate(0)
}

.js-focus {
    -webkit-transform: scale(1.03);
    transform: scale(1.03);
    opacity: 0;
    -webkit-transition: .8s cubic-bezier(.215, .61, .355, 1);
    transition: .8s cubic-bezier(.215, .61, .355, 1)
}

.js-focus.js-in {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1
}

.swiper-button-disabled {
    pointer-events: none !important;
    opacity: 0
}

.c-icon--school:before {
    top: -1px
}

.c-icon--yt:before {
    top: -2.5px
}

.c-icon--external-link:before {
    top: 0
}

html {
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

html.js-sp-bg-fixed {
    position: fixed;
    width: 100%
}

*,
*:before,
*:after {
    -webkit-box-sizing: inherit;
    box-sizing: inherit
}

html {
    scroll-behavior: auto !important;
    font-size: 15px;
    line-height: 1.7
}

@media (min-width: 992px) {
    html {
        font-size: 16px
    }
}

body {
    color: #222;
    font-family: Noto Sans JP, \6e38\30b4\30b7\30c3\30af, YuGothic, Hiragino Sans, Hiragino Kaku Gothic ProN, Helvetica Neue, Helvetica, Meiryo, sans-serif;
    font-weight: 400;
    -webkit-font-smoothing: subpixel-antialiased;
    -moz-osx-font-smoothing: auto;
    -webkit-font-kerning: normal;
    font-kerning: normal;
    background-color: #fff
}

h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6 {
    font-family: inherit;
    font-weight: 600;
    line-height: 1.4;
    color: inherit
}

ul,
ol {
    padding-left: 1em
}

li>ul,
li>ol {
    margin-bottom: 0
}

dd {
    margin-left: 0
}

table {
    width: 100%
}

th {
    text-align: left
}

a {
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    text-decoration: none !important;
    color: #009fe2
}

a:hover {
    opacity: .6;
    color: #009fe2
}

hr {
    border-top: 1px solid #ccc
}

img {
    max-width: 100%;
    height: auto;
    vertical-align: middle
}

[src$=".svg"],
[data$=".svg"] {
    width: 100%
}

i,
cite,
em,
address,
dfn {
    font-style: normal
}

code,
pre {
    font-family: Consolas, Menlo, Courier, monospace
}

code {
    padding: .2em;
    border-radius: 3px;
    font-size: .8em;
    background-color: #0000000f
}

pre code {
    padding: 0;
    font-size: .8em;
    background-color: inherit
}

h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6,
ul,
ol,
dl,
blockquote,
p,
address,
hr,
table,
fieldset,
figure,
pre {
    margin-top: 0;
    margin-bottom: 0
}

.l-header {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
    width: 100%
}

.l-sidebar {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-left: 15px;
    margin-right: 30px;
    min-width: 230px;
    max-width: 295px;
    width: 20%
}

@media (min-width: 992px) {
    .l-sidebar {
        display: none
    }
}

@media (max-width: 991.98px) {
    .l-sidebar {
        width: 100%;
        max-width: none
    }

    .l-sidebar.is-active {
        pointer-events: auto;
        opacity: 1
    }
}

.l-wrapper {
    padding-top: 100px;
    padding-bottom: 100px
}

@media (max-width: 991.98px) {
    .l-wrapper {
        padding-top: 50px;
        padding-bottom: 50px
    }
}

.l-wrapper__sidebar {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start
}

.l-wrapper__sidebar .l-sidebar {
    display: block
}

.l-wrapper__sidebar .l-main {
    overflow: hidden;
    padding-right: 15px;
    width: 100%
}

@media (max-width: 991.98px) {
    .l-wrapper__sidebar {
        display: block
    }

    .l-wrapper__sidebar .l-main {
        padding-left: 15px
    }
}

.l-wrapper--sidebar-cart {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse
}

.l-wrapper--sidebar-cart .l-wrapper {
    overflow: hidden;
    width: 100%
}

@media (max-width: 1696px) {
    .l-wrapper--sidebar-cart .l-wrapper {
        padding-right: 200px
    }
}

@media (max-width: 991.98px) {
    .l-wrapper--sidebar-cart .l-wrapper {
        padding-right: 0
    }
}

.l-wrapper--sidebar-cart+.p-footer {
    padding-right: 200px
}

.l-wrapper--sidebar-cart+.p-footer .p-pagetop {
    right: 230px
}

@media (max-width: 991.98px) {
    .l-wrapper--sidebar-cart+.p-footer {
        padding-right: 0
    }

    .l-wrapper--sidebar-cart+.p-footer .p-pagetop {
        right: 15px
    }
}

.home .l-wrapper {
    padding-top: 115px
}

@media (max-width: 991.98px) {
    .home .l-wrapper {
        padding-top: 50px
    }
}

.l-inner {
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    max-width: 900px
}

.c-list--num {
    list-style: none;
    margin-bottom: 10px;
    counter-reset: li;
    padding-left: 0
}

.c-list--num li {
    margin-bottom: 15px;
    position: relative;
    padding-left: 30px
}

.c-list--num li:last-child {
    margin-bottom: 0
}

.c-list--num li:before {
    counter-increment: li;
    content: counters(li, ".") " ";
    position: absolute;
    top: -1%;
    left: 0;
    letter-spacing: .2rem;
    color: var(--theme-color, green)
}

.c-list--arrow {
    padding: 0;
    margin: 0
}

.c-list--arrow li {
    list-style: none;
    padding-left: 12px;
    margin-bottom: 5px;
    position: relative
}

.c-list--arrow li:last-child {
    margin-bottom: 0
}

.c-list--arrow li:before {
    content: "\f101";
    font-family: iconfont;
    position: absolute;
    top: 1px;
    left: 0;
    color: var(--theme-color, green)
}

.c-list--dot {
    padding: 0;
    margin: 0
}

.c-list--dot li {
    list-style: none;
    padding-left: 1em;
    margin-bottom: 5px;
    position: relative
}

.c-list--dot li:last-child {
    margin-bottom: 0
}

.c-list--dot li:before {
    content: "\30fb";
    position: absolute;
    left: 0;
    padding-right: 2px;
    color: var(--theme-color, green)
}

.c-list--disc {
    padding: 0;
    margin: 0
}

.c-list--disc li {
    list-style: none;
    padding-left: 1.3em;
    margin-bottom: 5px;
    position: relative
}

.c-list--disc li:last-child {
    margin-bottom: 0
}

.c-list--disc li:before {
    content: "\25cf";
    position: absolute;
    left: 0;
    padding-right: 5px;
    color: var(--theme-color, green)
}

.c-list--asterisk {
    padding: 0;
    margin: 0
}

.c-list--asterisk li {
    list-style: none;
    padding-left: 1.2em;
    margin-bottom: 5px;
    position: relative
}

.c-list--asterisk li:last-child {
    margin-bottom: 0
}

.c-list--asterisk li:before {
    content: "\203b";
    position: absolute;
    top: 1px;
    left: 0;
    padding-right: 5px;
    color: #df4643
}

.c-h2 small,
.c-h2 .small,
.c-h3 small,
.c-h3 .small,
.c-h4 small,
.c-h4 .small {
    margin-left: 5px;
    font-size: 16px;
    font-size: 1rem
}

.c-h2 {
    position: relative;
    margin-bottom: 30px;
    padding-bottom: 15px;
    font-size: 30px;
    font-size: 1.875rem;
    font-weight: 500
}

.c-h2:before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 5px;
    background-color: #eff5f8
}

.c-h2:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    width: 150px;
    height: 5px;
    background-color: var(--theme-color, green)
}

@media screen and (max-width: 743.9px) {
    .c-h2 {
        font-size: 24px;
        font-size: 1.5rem
    }
}

.c-h3 {
    margin-bottom: 20px;
    padding: 2px 12px;
    font-size: 22px;
    font-size: 1.375rem;
    font-weight: 500;
    border-left: 5px solid var(--theme-color, green)
}

@media screen and (max-width: 743.9px) {
    .c-h3 {
        font-size: 20px;
        font-size: 1.25rem
    }
}

.c-h4 {
    margin-bottom: 10px;
    padding-bottom: 5px;
    border-bottom: 1px dotted #ddd;
    font-size: 20px;
    font-size: 1.25rem;
    font-weight: 500
}

@media screen and (max-width: 743.9px) {
    .c-h4 {
        font-size: 16px;
        font-size: 1rem
    }
}

.c-h5 {
    margin-bottom: 10px;
    font-size: 16px;
    font-size: 1rem;
    font-weight: 500
}

.c-badge {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 17px;
    height: 17px;
    border-radius: 50%;
    background-color: #df4643;
    font-size: 10px;
    font-size: .625rem;
    text-align: center;
    color: #fff
}

.c-label {
    display: inline-block;
    padding: 4px 6px;
    font-size: 11px;
    font-size: .6875rem;
    line-height: 1;
    text-align: center;
    white-space: nowrap;
    border-radius: 5px;
    border: 1px solid #222;
    font-weight: 500;
    color: #222
}

.c-label .c-icon {
    margin-right: 3px
}

.c-label--blue {
    border: 1px solid #009FE2;
    color: #009fe2
}

.c-label--green {
    border: 1px solid #2ED166;
    color: #2ed166
}

.c-label--white {
    border: 1px solid #fff;
    color: #fff
}

.c-label--theme {
    border: 1px solid var(--theme-color, green);
    color: var(--theme-color, green)
}

.c-label--theme a {
    color: var(--theme-color, green) !important
}

.c-label--theme-solid {
    border: 0;
    background-color: var(--theme-color, green);
    color: #fff !important
}

.c-label--theme-solid a {
    color: #fff !important
}

.c-label--m {
    padding: 4.5px 10px;
    font-size: 12px;
    font-size: .75rem
}

.c-label--gray {
    padding: 5px 8px;
    background-color: #ccc;
    border: 0;
    color: #fff
}

.c-label--nurse {
    padding: 5px 8px;
    background-color: #ee858f;
    border: 0;
    color: #fff
}

.c-label--ce {
    padding: 5px 8px;
    background-color: #ea545d;
    border: 0;
    color: #fff
}

.c-label--emt {
    padding: 5px 8px;
    background-color: #0d326f;
    border: 0;
    color: #fff
}

.c-label--care {
    padding: 5px 8px;
    background-color: #eb6100;
    border: 0;
    color: #fff
}

.c-label--basic {
    padding: 5px 8px;
    background-color: #8fc31f;
    border: 0;
    color: #fff
}

.c-label--expart {
    padding: 5px 8px;
    background-color: #e84572;
    border: 0;
    color: #fff;
}

.c-label--expart-basic {
    padding: 5px 8px;
    background-color: #4994c4;
    border: 0;
    color: #fff
}

.c-label-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    list-style: none;
    padding: 0
}

.c-label-list .c-label {
    margin-right: 5px
}

.c-input[type=text],
.c-input[type=tel],
.c-input[type=number],
.c-input[type=email],
.c-input[type=date],
.c-input[type=password] {
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    padding: 7px 9px !important;
    width: 100%;
    border-radius: 8px !important;
    border: 1px solid #ccc !important;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

.c-input[type=text]::-webkit-input-placeholder,
.c-input[type=tel]::-webkit-input-placeholder,
.c-input[type=number]::-webkit-input-placeholder,
.c-input[type=email]::-webkit-input-placeholder,
.c-input[type=date]::-webkit-input-placeholder,
.c-input[type=password]::-webkit-input-placeholder {
    font-family: "Font Awesome 5 Pro";
    color: #ccc
}

.c-input[type=text]::-moz-placeholder,
.c-input[type=tel]::-moz-placeholder,
.c-input[type=number]::-moz-placeholder,
.c-input[type=email]::-moz-placeholder,
.c-input[type=date]::-moz-placeholder,
.c-input[type=password]::-moz-placeholder {
    font-family: "Font Awesome 5 Pro";
    color: #ccc
}

.c-input[type=text]:-ms-input-placeholder,
.c-input[type=tel]:-ms-input-placeholder,
.c-input[type=number]:-ms-input-placeholder,
.c-input[type=email]:-ms-input-placeholder,
.c-input[type=date]:-ms-input-placeholder,
.c-input[type=password]:-ms-input-placeholder {
    font-family: "Font Awesome 5 Pro";
    color: #ccc
}

.c-input[type=text]::-ms-input-placeholder,
.c-input[type=tel]::-ms-input-placeholder,
.c-input[type=number]::-ms-input-placeholder,
.c-input[type=email]::-ms-input-placeholder,
.c-input[type=date]::-ms-input-placeholder,
.c-input[type=password]::-ms-input-placeholder {
    font-family: "Font Awesome 5 Pro";
    color: #ccc
}

.c-input[type=text]::placeholder,
.c-input[type=tel]::placeholder,
.c-input[type=number]::placeholder,
.c-input[type=email]::placeholder,
.c-input[type=date]::placeholder,
.c-input[type=password]::placeholder {
    font-family: "Font Awesome 5 Pro";
    color: #ccc
}

.c-input:focus {
    outline: none;
    border-color: var(--theme-color, green) !important;
    -webkit-box-shadow: 0px 0px 0px 1px var(--theme-color, green);
    box-shadow: 0 0 0 1px var(--theme-color, green)
}

textarea.c-input {
    padding: 7px 9px;
    width: 100%;
    border-radius: 5px;
    height: 150px;
    border: 1px solid #ccc;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

textarea.c-input::-webkit-input-placeholder {
    color: #ccc
}

textarea.c-input::-moz-placeholder {
    color: #ccc
}

textarea.c-input:-ms-input-placeholder {
    color: #ccc
}

textarea.c-input::-ms-input-placeholder {
    color: #ccc
}

textarea.c-input::placeholder {
    color: #ccc
}

.c-input--s {
    max-width: 80px !important
}

@media (max-width: 991.98px) {
    .c-input--s {
        max-width: 60px !important
    }
}

.c-input--sm {
    max-width: 100px !important
}

.c-input--m {
    max-width: 150px !important
}

.c-input--ml {
    max-width: 200px !important
}

.c-input--l {
    max-width: 300px !important
}

@media (max-width: 991.98px) {
    .c-input--l {
        max-width: 100% !important
    }
}

.c-checkbox input[type=checkbox] {
    display: none
}

.c-checkbox input[type=checkbox]:checked+span:after {
    opacity: 1
}

.c-checkbox span {
    cursor: pointer;
    position: relative;
    display: block;
    margin-bottom: 0;
    padding-left: 25px;
    text-indent: 0;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    font-size: 16px;
    font-size: 1rem
}

.c-checkbox span:before {
    content: "";
    display: block;
    position: absolute;
    top: 3px;
    left: 0;
    width: 20px;
    height: 20px;
    border-radius: 3PX;
    border: 1px solid var(--theme-color, green);
    background-color: #fff
}

.c-checkbox span:after {
    opacity: 0;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    content: "";
    display: block;
    position: absolute;
    border-left: 2px solid var(--theme-color, green);
    border-bottom: 2px solid var(--theme-color, green);
    width: 13px;
    height: 7px;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    left: 3.5px;
    top: 8px
}

@media screen and (max-width: 743.9px) {
    .c-checkbox span:before {
        top: 2px
    }

    .c-checkbox span:after {
        top: 7px
    }

}

.c-radio input[type=radio] {
    display: none
}

.c-radio input[type=radio]:checked+span:after {
    opacity: 1
}

.c-radio span {
    cursor: pointer;
    position: relative;
    display: block;
    margin-bottom: 0;
    padding-left: 25px;
    text-indent: 0;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    font-size: 16px;
    font-size: 1rem
}

.c-radio span:before {
    content: "";
    display: block;
    position: absolute;
    top: 3px;
    left: 0;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    border: 1px solid var(--theme-color, green);
    background-color: #fff
}

.c-radio span:after {
    opacity: 0;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    content: "";
    display: block;
    position: absolute;
    top: 6.5px;
    left: 3.5px;
    width: 13px;
    height: 13px;
    border-radius: 50%;
    background-color: var(--theme-color, green)
}

@media screen and (max-width: 743.9px) {
    .c-radio span:before {
        top: 2px
    }

    .c-radio span:after {
        top: 5.5px
    }
}

.c-zip {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.c-zip .c-input {
    margin: 0 5px
}

.c-zip__1 {
    width: 60px !important
}

.c-zip__2 {
    width: 100px !important
}

.c-zip__btn {
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    outline: none;
    margin-left: 5px;
    padding: 5px 12px;
    border: 0;
    border-radius: 15px;
    background-color: var(--theme-color, green);
    font-size: 12px;
    font-size: .75rem;
    color: #fff
}

.c-zip__btn:hover {
    opacity: .7
}

.c-select {
    overflow: hidden;
    position: relative;
    border-radius: 5px;
    border: 1px solid #ccc;
    background-color: #fff;
    color: #222
}

.c-select select {
    width: 100%;
    cursor: pointer;
    text-indent: .01px;
    text-overflow: ellipsis;
    border: none;
    outline: none;
    background: transparent;
    background-image: none;
    -webkit-box-shadow: none;
    box-shadow: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding: 8px 40px 8px 15px;
    color: #222
}

.c-select select::-ms-expand {
    display: none
}

.c-select:before {
    position: absolute;
    top: 50%;
    right: 15px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 0;
    height: 0;
    padding: 0;
    content: "";
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 6px solid #ccc;
    pointer-events: none
}

.c-card {
    display: block;
    padding: 30px;
    border-radius: 20px;
    background-color: #fff
}

@media screen and (max-width: 743.9px) {
    .c-card {
        padding: 15px
    }
}

.c-panel {
    padding: 50px;
    border-radius: 20px;
    background-color: #fff
}

@media screen and (max-width: 743.9px) {
    .c-panel {
        padding: 30px 15px;
        border-radius: 15px
    }
}

.c-panel--gray {
    background-color: #f7f7f7
}

.c-panel--border {
    border: 1px solid #ddd
}

.c-frame {
    position: relative;
    padding: 15px;
    border-radius: 10px;
    border: 2px solid var(--theme-color, green)
}

.c-frame__title {
    position: absolute;
    top: -13px;
    left: 20px;
    padding: 0 15px;
    background-color: #fff;
    font-weight: 700;
    color: var(--theme-color, green)
}

.c-sns p {
    margin-bottom: 15px !important;
    font-size: 14px;
    font-size: .875rem;
    font-weight: 700;
    text-align: center;
    color: #baa793
}

.c-sns ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    list-style: none;
    padding: 0
}

.c-sns ul li {
    margin: 0;
    width: 40px
}

.c-sns ul li+li {
    margin-left: 15px
}

.c-circle-thumb {
    overflow: hidden;
    width: 200px;
    height: 200px;
    border-radius: 50%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    background-color: #fff
}

.c-circle-thumb img {
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%;
    height: 100%
}

.c-product-row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 15px;
    border-top: 1px dotted #ccc
}

.c-product-row__thumb {
    margin-right: 15px;
    width: 15%;
    display: block;
    overflow: hidden;
    position: relative;
    background-size: cover;
    background-position: center;
    border-radius: 5px
}

.c-product-row__thumb:before {
    content: "";
    display: block;
    width: 100%;
    padding-bottom: 66.6666%
}

@media screen and (max-width: 743.9px) {
    .c-product-row__thumb {
        width: 20%
    }
}

.c-product-row__body {
    margin-right: 15px;
    width: 70%
}

.c-product-row__body .c-product-row__subtotal {
    display: none;
    width: auto
}

@media screen and (max-width: 743.9px) {
    .c-product-row__body {
        margin-right: 0;
        width: 80%
    }

    .c-product-row__body .c-product-row__subtotal {
        display: block;
        margin-bottom: 10px
    }
}

.c-product-row__subtotal {
    width: 15%;
    font-weight: 700
}

@media screen and (max-width: 743.9px) {
    .c-product-row__subtotal {
        display: none
    }
}

.c-product-row__title {
    display: block;
    margin-bottom: 5px;
    font-size: 15px;
    font-size: .9375rem;
    font-weight: 700;
    color: #222
}

.c-product-row__price {
    margin-bottom: 5px;
    font-size: 12px;
    font-size: .75rem;
    font-weight: 700
}

.c-product-row__option {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.c-product-row__option dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
    font-size: 12px;
    font-size: .75rem
}

.c-product-row__option dl:after {
    content: "/";
    margin: 0 5px
}

.c-product-row__option dl:last-child:after {
    content: none;
    margin: 0
}

.c-product-row__option dt {
    margin: 0;
    padding: 0;
    font-weight: 400
}

.c-product-row__option dt:after {
    content: "\ff1a"
}

.c-product-row__option dd {
    margin: 0;
    padding: 0
}

.c-product-row__buttons {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-top: 15px
}

.c-product-row__buttons .p-button {
    width: 100px;
    min-width: auto;
    height: 30px;
    padding: 8px;
    font-size: 12px;
    font-size: .75rem;
    border-radius: 5px;
    line-height: 1;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

.c-product-row__buttons .p-button+.p-button {
    margin-left: 10px
}

.c-close-button {
    cursor: pointer;
    position: relative;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: #000
}

.c-close-button:before,
.c-close-button:after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 1px;
    height: 20px;
    background-color: #fff
}

.c-close-button:before {
    -webkit-transform: translate(-50%, -50%) rotate(45deg);
    transform: translate(-50%, -50%) rotate(45deg)
}

.c-close-button:after {
    -webkit-transform: translate(-50%, -50%) rotate(-45deg);
    transform: translate(-50%, -50%) rotate(-45deg)
}

.c-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #000c;
    z-index: 999999;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.c-thumb-card-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-content: space-between;
}

.c-thumb-card-list,
.c-thumb-card-list:before,
.c-thumb-card-list:after,
.c-thumb-card-list *,
.c-thumb-card-list *:before,
.c-thumb-card-list *:after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

.c-thumb-card-list>* {
    -webkit-box-flex: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 48%;
    margin-bottom: 30px
}

/* .c-thumb-card-list>*:not(:last-child) {
    margin-right: 30px
}

.c-thumb-card-list>*:nth-child(3n) {
    margin-right: 0
} */

.c-thumb-card-list--col2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.c-thumb-card-list--col2,
.c-thumb-card-list--col2:before,
.c-thumb-card-list--col2:after,
.c-thumb-card-list--col2 *,
.c-thumb-card-list--col2 *:before,
.c-thumb-card-list--col2 *:after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

.c-thumb-card-list--col2>* {
    -webkit-box-flex: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -ms-flex-preferred-size: calc((100% - 30px)/2);
    flex-basis: calc((100% - 30px)/2);
    margin-bottom: 30px
}

.c-thumb-card-list--col2>*:not(:last-child) {
    margin-right: 30px
}

.c-thumb-card-list--col2>*:nth-child(2n) {
    margin-right: 0
}

@media screen and (max-width: 743.9px) {
    .c-thumb-card-list {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }

    .c-thumb-card-list,
    .c-thumb-card-list:before,
    .c-thumb-card-list:after,
    .c-thumb-card-list *,
    .c-thumb-card-list *:before,
    .c-thumb-card-list *:after {
        -webkit-box-sizing: border-box;
        box-sizing: border-box
    }

    .c-thumb-card-list>* {
        -webkit-box-flex: 0;
        -ms-flex-positive: 0;
        flex-grow: 0;
        -ms-flex-negative: 0;
        flex-shrink: 0;
        -ms-flex-preferred-size: calc((100% - 15px)/2);
        flex-basis: calc((100% - 15px)/2);
        margin-bottom: 15px
    }

    .c-thumb-card-list>*:not(:last-child) {
        margin-right: 15px
    }

    .c-thumb-card-list>*:nth-child(2n) {
        margin-right: 0
    }
}

.c-thumb-card {
    margin: 0 0 30px
}

.c-thumb-card__image {
    aspect-ratio: 3/2;
    overflow: hidden;
    margin-bottom: 10px;
    border-radius: 5px
}

.c-thumb-card__image img {
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%;
    height: 100%
}

.c-thumb-card__title {
    margin-bottom: 10px;
    font-weight: 500;
    text-align: center
}

.c-thumb-card__desc {
    font-size: 14px;
    font-size: .875rem
}

.c-caution {
    padding: 15px 20px;
    background-color: #ffffe0
}

@media (max-width: 575.98px) {
    .c-caution {
        padding: 10px 15px
    }
}

.p-button {
    outline: none;
    overflow: hidden;
    position: relative;
    z-index: 1;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin: 0;
    padding: 15px 20px;
    width: 100%;
    line-height: 1.4;
    text-align: center;
    text-decoration: none;
    background-color: var(--theme-color, green);
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-radius: 50px;
    border: 0;
    max-width: 230px;
    font-weight: 500;
    color: #fff !important
}

.p-button:disabled,
.p-button.is-disabled {
    pointer-events: none;
    opacity: .3
}

.p-button--blue {
    background-color: #009fe2;
    color: #fff !important
}

.p-button--white {
    border: 1px solid var(--theme-color, green);
    background-color: #fff;
    color: var(--theme-color, green) !important
}

.p-button--m {
    padding: 12px 20px;
    max-width: 180px;
    font-size: 15px;
    font-size: .9375rem
}

.p-button--s {
    padding: 8px 30px;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    font-size: 15px;
    font-size: .9375rem
}

.p-button--mw-none {
    max-width: none
}

.p-button--wfit {
    max-width: 100%;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content
}

.p-button--arrow {
    padding-right: 50px;
    padding-left: 50px
}

.p-button--arrow:after {
    position: absolute !important;
    top: calc(50% - 6px) !important;
    right: 18px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    content: "\f102";
    font-family: iconfont
}

.p-button--arrow.p-button--s {
    padding-right: 30px;
    padding-left: 30px
}

.p-button--arrow.p-button--s:after {
    top: calc(50% - 4px) !important;
    right: 10px;
    font-size: 12px;
    font-size: .75rem
}

.p-more:not(.p-more--news) {
    outline: none;
    overflow: hidden;
    position: relative;
    z-index: 1;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin: 0;
    padding: 15px 20px;
    width: 100%;
    height: 40px;
    line-height: 1.4;
    text-align: center;
    text-decoration: none;
    background-color: #fff;
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-radius: 50px;
    border: 1px solid #000;
    max-width: 120px;
    font-size: 18px;
    font-size: 1.125rem;
    font-family: Roboto Condensed, Noto Sans JP, \6e38\30b4\30b7\30c3\30af, YuGothic, Hiragino Sans, Hiragino Kaku Gothic ProN, Helvetica Neue, Helvetica, Meiryo, sans-serif;
    font-weight: 500;
    color: #222
}

.p-more:not(.p-more--news):hover,
.p-more:not(.p-more--news):active,
.p-more:not(.p-more--news):focus {
    opacity: .7;
    color: #222
}

.p-more:not(.p-more--news):disabled,
.p-more:not(.p-more--news).is-disabled {
    pointer-events: none;
    opacity: .3
}

.p-button-group {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.p-button-group .p-button+.p-button {
    margin-left: 10px
}

.p-breadcrumb {
    margin-bottom: 50px;
    padding: 10px 0;
    font-size: 12px;
    font-size: .75rem;
    color: #222
}

.p-breadcrumb a {
    color: #222 !important
}

.p-breadcrumb .c-icon {
    margin: 0 3px
}

@media (max-width: 991.98px) {
    .p-breadcrumb {
        margin-bottom: 30px;
        white-space: nowrap;
        overflow: scroll;
        padding-right: 15px
    }

    .p-breadcrumb .container:after {
        content: "";
        display: inline-block;
        width: 10px
    }
}

.p-list--num1 {
    list-style: none;
    margin-bottom: 10px;
    counter-reset: li;
    padding-left: 0
}

.p-list--num1 li {
    margin-bottom: 15px;
    font-weight: 700;
    position: relative;
    padding-left: 20px
}

.p-list--num1 li:last-child {
    margin-bottom: 0
}

.p-list--num1 li:before {
    counter-increment: li;
    content: counters(li, ".") " ";
    position: absolute;
    top: -1%;
    left: 0;
    font-weight: 700;
    letter-spacing: .2rem;
    color: #baa793
}

.p-list--num1 li ol {
    margin-top: 10px
}

.p-list--num1 li ol li {
    font-weight: 400;
    padding-left: 35px;
    font-size: 14px;
    font-size: .875rem
}

.p-list--num2 {
    list-style: none;
    margin-bottom: 10px;
    counter-reset: li;
    padding-left: 0
}

.p-list--num2 li {
    margin-bottom: 15px;
    position: relative;
    padding-left: 35px
}

.p-list--num2 li:last-child {
    margin-bottom: 0
}

.p-list--num2 li:before {
    counter-increment: li;
    content: counters(li, ".") " ";
    position: absolute;
    top: 0;
    left: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-right: 5px;
    width: 27px;
    height: 27px;
    border-radius: 50%;
    background-color: #000;
    color: #fff
}

.p-list--num2 li ol {
    margin-top: 10px
}

.p-list--num2 li ol li {
    padding-left: 45px
}

.p-list--arrow {
    padding: 0;
    margin: 0
}

.p-list--arrow li {
    list-style: none;
    padding-left: 20px;
    margin-bottom: 15px;
    position: relative
}

.p-list--arrow li:last-child {
    margin-bottom: 0
}

.p-list--arrow li:before {
    font-family: "Font Awesome 5 Pro";
    content: "\f054";
    position: absolute;
    top: 3px;
    left: 0;
    color: #baa793
}

.p-list--check {
    padding: 0;
    margin: 0
}

.p-list--check li {
    list-style: none;
    padding-left: 30px;
    margin-bottom: 15px;
    position: relative
}

.p-list--check li:last-child {
    margin-bottom: 0
}

.p-list--check li:before {
    position: absolute;
    top: .1em;
    left: 0;
    color: #baa793;
    font-size: 20px;
    font-size: 1.25rem;
    content: "\f00c";
    font-family: "Font Awesome 5 Pro";
    font-weight: 700
}

.p-list--dot {
    padding: 0;
    margin: 0
}

.p-list--dot li {
    list-style: none;
    padding-left: 20px;
    margin-bottom: 10px;
    position: relative
}

.p-list--dot li:last-child {
    margin-bottom: 0
}

.p-list--dot li:before {
    content: "";
    position: absolute;
    top: 8px;
    left: 0;
    display: block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    font-weight: 700;
    background-color: #baa793
}

.p-list--disc {
    padding: 0;
    margin: 0
}

.p-list--disc li {
    list-style: none;
    padding-left: 25px;
    margin-bottom: 15px;
    position: relative
}

.p-list--disc li:last-child {
    margin-bottom: 0
}

.p-list--disc li:before {
    content: "\25cf";
    position: absolute;
    top: 3px;
    left: 0;
    font-size: .75rem;
    color: #baa793
}

.p-list--dot-under {
    margin: 0;
    padding: 0
}

.p-list--dot-under li {
    list-style: none;
    padding-bottom: 10px;
    border-bottom: 1px dotted #ccc;
    margin-bottom: 10px
}

.p-list--dot-under li:last-child {
    border-bottom: none;
    margin-bottom: 0
}

.p-list span {
    font-weight: 700;
    margin-right: 15px
}

@media (max-width: 575.98px) {
    .p-list span {
        display: block
    }
}

caption {
    caption-side: top;
    margin-bottom: 15px;
    padding: 0;
    font-size: 18px;
    font-size: 1.125rem;
    font-weight: 500;
    text-align: left;
    color: var(--theme-color, green)
}

@media screen and (max-width: 743.9px) {
    .p-table-responsive {
        overflow-x: scroll
    }

    .p-table-responsive .p-table th,
    .p-table-responsive .p-table td {
        white-space: nowrap
    }
}

@media screen and (max-width: 743.9px) {
    .p-table-responsive .p-table--fixed {
        table-layout: auto
    }
}

.p-table-rounded {
    border-radius: 5px;
    border: 1px solid #ddd
}

.p-table {
    overflow: hidden;
    font-size: 16px;
    font-size: 1rem
}

.p-table th,
.p-table td {
    padding: 15px;
    border: 1px solid #ddd;
    text-align: center
}

.p-table th {
    font-weight: 500;
    background-color: var(--theme-color, green);
    color: #fff
}

.p-table tbody th {
    position: relative;
    background-color: transparent;
    color: #222
}

.p-table tbody th:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    background-color: var(--theme-color, green);
    opacity: .1
}

.p-table.text-left th,
.p-table.text-left td {
    text-align: left
}

.p-table--underline tr {
    border-bottom: 1px solid #ddd
}

.p-table--underline th,
.p-table--underline td {
    padding-right: 0;
    padding-left: 0;
    border: 0
}

.p-table--underline th {
    background-color: transparent
}

.p-table--underline tbody th:after {
    content: none
}

.p-table .p-table__empty {
    background-color: #f7f7f7
}

.p-table .p-table__index {
    background-color: #f1f0e7;
    color: text
}

.p-table .p-table__head1 {
    background-color: var(--theme-color, green);
    color: #fff
}

.p-table .p-table__head2 {
    background-color: #233347;
    color: #fff
}

.p-table--fixed {
    table-layout: fixed
}

.p-header {
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding-left: 30px;
    width: 100%;
    height: 70px;
    background-color: #ffffffe6
}


.p-header .p-logo {
    width: 250px;
    line-height: 1;
    font-size: 16px;
    font-size: 1rem
}

.p-header .p-logo a {
    display: block
}

.p-header__utility {
    margin-left: auto;
    margin-right: 80px
}

.p-header__utility ul,
.p-header__utility li {
    list-style: none;
    margin: 0;
    padding: 0
}

.p-header__utility ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.p-header__utility ul li {
    margin-right: 30px;
    font-weight: 500
}

.p-header__utility a {
    color: #222
}

.p-header .p-menu-button {
    cursor: pointer;
    position: absolute;
    top: 50%;
    right: 30px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    z-index: 11;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background-color: var(--theme-color, green)
}

.p-header .p-menu-button a {
    opacity: 1;
    display: block;
    height: 100%
}

.p-header .p-menu-button a:hover,
.p-header .p-menu-button a:active {
    opacity: 1
}

.p-header .p-menu-button .p-hamburger,
.p-header .p-menu-button .p-hamburger span {
    display: block;
    -webkit-transition: all .3s;
    transition: all .3s;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

.p-header .p-menu-button .p-hamburger {
    position: relative;
    width: 23px;
    height: 16px
}

.p-header .p-menu-button .p-hamburger:hover {
    opacity: 1
}

.p-header .p-menu-button .p-hamburger span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #fff
}

.p-header .p-menu-button .p-hamburger span:nth-of-type(1) {
    top: 0
}

.p-header .p-menu-button .p-hamburger span:nth-of-type(2) {
    top: 7px
}

.p-header .p-menu-button .p-hamburger span:nth-of-type(3) {
    bottom: 0
}

.p-header .p-menu-button.is-open .p-hamburger span {
    background-color: #fff
}

.p-header .p-menu-button.is-open .p-hamburger span:nth-of-type(1) {
    -webkit-transform: translateY(7px) rotate(-45deg);
    transform: translateY(7px) rotate(-45deg)
}

.p-header .p-menu-button.is-open .p-hamburger span:nth-of-type(2) {
    opacity: 0
}

.p-header .p-menu-button.is-open .p-hamburger span:nth-of-type(3) {
    -webkit-transform: translateY(-7px) rotate(45deg);
    transform: translateY(-7px) rotate(45deg)
}

@media screen and (max-width: 743.9px) {
    .p-header {
        height: 50px;
        padding-left: 15px
    }

    .p-header.is-narrow {
        height: 50px
    }

    .p-header .p-logo {
        width: 180px
    }

    .p-header__utility {
        display: none
    }

    .p-header .p-menu-button {
        right: 15px;
        width: 35px;
        height: 35px
    }

    .p-header .p-menu-button .p-hamburger {
        width: 18px;
        height: 14px
    }

    .p-header .p-menu-button .p-hamburger span {
        height: 2px
    }

    .p-header .p-menu-button .p-hamburger span:nth-of-type(2) {
        top: 6px
    }

    .p-header .p-menu-button.is-open .p-hamburger span:nth-of-type(1) {
        -webkit-transform: translateY(6px) rotate(-45deg);
        transform: translateY(6px) rotate(-45deg)
    }

    .p-header .p-menu-button.is-open .p-hamburger span:nth-of-type(2) {
        opacity: 0
    }

    .p-header .p-menu-button.is-open .p-hamburger span:nth-of-type(3) {
        -webkit-transform: translateY(-6px) rotate(45deg);
        transform: translateY(-6px) rotate(45deg)
    }
}

@-webkit-keyframes line-scale {
    0% {
        -webkit-transform: scaley(1);
        transform: scaley(1)
    }

    50% {
        -webkit-transform: scaley(.4);
        transform: scaley(.4)
    }

    to {
        -webkit-transform: scaley(1);
        transform: scaley(1)
    }
}

@keyframes line-scale {
    0% {
        -webkit-transform: scaley(1);
        transform: scaley(1)
    }

    50% {
        -webkit-transform: scaley(.4);
        transform: scaley(.4)
    }

    to {
        -webkit-transform: scaley(1);
        transform: scaley(1)
    }
}

.p-loader {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 999;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    height: 100vh;
    background-color: #fff;
    opacity: 1
}

.p-loader.is-loaded {
    -webkit-transition: opacity .3s;
    transition: opacity .3s;
    opacity: 0
}

.p-loader__icon div {
    background-color: var(--theme-color, green);
    width: 4px;
    height: 35px;
    border-radius: 2px;
    margin: 2px;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    display: inline-block
}

.p-loader__icon div:nth-child(1) {
    -webkit-animation: line-scale 1s -.4s infinite cubic-bezier(.2, .68, .18, 1.08);
    animation: line-scale 1s -.4s infinite cubic-bezier(.2, .68, .18, 1.08)
}

.p-loader__icon div:nth-child(2) {
    -webkit-animation: line-scale 1s -.3s infinite cubic-bezier(.2, .68, .18, 1.08);
    animation: line-scale 1s -.3s infinite cubic-bezier(.2, .68, .18, 1.08)
}

.p-loader__icon div:nth-child(3) {
    -webkit-animation: line-scale 1s -.2s infinite cubic-bezier(.2, .68, .18, 1.08);
    animation: line-scale 1s -.2s infinite cubic-bezier(.2, .68, .18, 1.08)
}

.p-loader__icon div:nth-child(4) {
    -webkit-animation: line-scale 1s -.1s infinite cubic-bezier(.2, .68, .18, 1.08);
    animation: line-scale 1s -.1s infinite cubic-bezier(.2, .68, .18, 1.08)
}

.p-loader__icon div:nth-child(5) {
    -webkit-animation: line-scale 1s 0s infinite cubic-bezier(.2, .68, .18, 1.08);
    animation: line-scale 1s 0s infinite cubic-bezier(.2, .68, .18, 1.08)
}

.p-footer {
    position: relative;
    padding: 80px 0 50px;
    background-image: url(../img/bg_footer_medical-01cb7d88.webp);
    background-size: cover;
    background-position: center
}

.p-footer:before {
    opacity: .85;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    display: block;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, .9)
}

.p-footer:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px)
}

.p-footer .p-gnav {
    position: relative;
    z-index: 2;
    color: #fff
}

.p-footer .p-gnav a {
    color: #fff
}

.p-footer .p-gnav__nav nav .p-nav>li>a {
    border-bottom: 1px solid #666
}

.p-footer .p-pagetop {
    -webkit-transform: scaleX(-1) rotate(270deg);
    transform: scaleX(-1) rotate(270deg);
    opacity: 0;
    position: fixed;
    bottom: 30px;
    right: 30px;
    z-index: 10;
    display: grid;
    place-items: center;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background-color: var(--theme-color, green)
}

.p-footer .p-pagetop.is-hide {
    pointer-events: none
}

.p-footer .p-pagetop .c-icon {
    position: relative;
    top: -10px;
    font-size: 24px;
    font-size: 1.5rem;
    color: #fff
}

@media (max-width: 991.98px) {
    .p-footer {
        padding-top: 50px
    }

    .p-footer .p-pagetop {
        bottom: 60px;
        right: 10px;
        width: 40px;
        height: 40px
    }

    .p-footer .p-pagetop .c-icon {
        position: relative;
        top: -8px;
        font-size: 20px;
        font-size: 1.25rem;
        color: #fff
    }
}

.p-sidebar__search {
    padding: 15px;
    background-color: #f7f7f7;
    border-radius: 10px
}

.p-sidebar__search__block {
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: 1px dotted #ccc
}

.p-sidebar__search .c-title {
    margin-bottom: 15px;
    font-size: 15px;
    font-size: .9375rem
}

.p-sidebar__search .p-cat-list {
    list-style: none;
    margin: 0;
    padding: 0
}

.p-sidebar__search .p-cat-list li {
    list-style: none;
    margin: 0 0 10px;
    padding: 0;
    font-size: 14px;
    font-size: .875rem;
    line-height: 1.2
}

.p-sidebar__search .p-cat-list--col2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0 -5px
}

.p-sidebar__search .p-cat-list--col2 li {
    margin: 0 5px 10px;
    width: calc(50% - 10px)
}

.p-sidebar__search .c-input {
    font-size: 14px;
    font-size: .875rem
}

.p-sidebar__search .c-input::-webkit-input-placeholder {
    font-weight: 300
}

.p-sidebar__search .c-input::-moz-placeholder {
    font-weight: 300
}

.p-sidebar__search .c-input:-ms-input-placeholder {
    font-weight: 300
}

.p-sidebar__search .c-input::-ms-input-placeholder {
    font-weight: 300
}

.p-sidebar__search .c-input::placeholder {
    font-weight: 300
}

.p-sidebar__search .p-button--close {
    display: none
}

.p-sidebar .p-banners {
    margin-top: 30px
}

@media (max-width: 991.98px) {
    .p-sidebar {
        -webkit-transition: all .3s ease;
        transition: all .3s ease;
        pointer-events: none;
        opacity: 0;
        position: fixed;
        top: 50px;
        left: 0;
        z-index: 11;
        overflow: scroll;
        margin: 0;
        padding-bottom: 50px;
        width: 100%;
        height: 100%
    }

    .p-sidebar__search {
        border-radius: 0
    }

    .p-sidebar__search .p-button {
        max-width: none
    }

    .p-sidebar__search .p-button--close {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        margin: 30px auto
    }

    .p-sidebar .p-banners {
        display: none
    }
}

.home .p-main {
    margin-top: 0
}

.p-main {
    margin-top: 70px
}

.p-main a {
    color: var(--theme-color, green)
}

.p-main .p-main__header {
    aspect-ratio: 1440/250;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    text-align: center
}

@media screen and (max-width: 743.9px) {
    .p-main {
        margin-top: 50px
    }
}

.p-section {
    padding: 80px 0
}

.p-section__header {
    margin-bottom: 50px
}

.p-section__header .p-title,
.p-section__header .p-sub-title {
    text-align: center
}

.p-section__header .p-lead {
    margin-top: 30px;
    text-align: center
}

.p-section .l-inner .p-section:first-child {
    padding-top: 0
}

.p-section .p-section+.p-section {
    padding-top: 0
}

.p-section p {
    line-height: 1.6
}

@media screen and (max-width: 743.9px) {
    .p-section {
        padding: 50px 0
    }
}

.p-breadcrumb+.p-section {
    padding-top: 0
}

.p-title {
    font-size: 64px;
    font-size: 4rem;
    font-family: Roboto Condensed, Noto Sans JP, \6e38\30b4\30b7\30c3\30af, YuGothic, Hiragino Sans, Hiragino Kaku Gothic ProN, Helvetica Neue, Helvetica, Meiryo, sans-serif;
    font-weight: 700;
    color: var(--theme-color, green)
}

.p-title span {
    display: inline-block;
    opacity: 0;
    -webkit-transform: translateY(50px);
    transform: translateY(50px)
}

.p-title span.js-in {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
    -webkit-transition: .3s cubic-bezier(.175, .885, .32, 1.275);
    transition: .3s cubic-bezier(.175, .885, .32, 1.275);
    -webkit-transition-delay: calc(25ms * var(--i));
    transition-delay: calc(25ms * var(--i))
}

.p-title--shadow {
    -webkit-text-stroke: 1px #000;
    text-shadow: 2px 2px 0 #000
}

@media screen and (max-width: 743.9px) {
    .p-title {
        font-size: 50px;
        font-size: 3.125rem
    }
}

.p-sub-title {
    font-size: 20px;
    font-size: 1.25rem;
    font-weight: 500
}

.p-sub-title--slash:before,
.p-sub-title--slash:after {
    font-weight: 700
}

.p-sub-title--slash:before {
    content: "\ff3c"
}

.p-sub-title--slash:after {
    content: "\ff0f"
}

@media screen and (max-width: 743.9px) {
    .p-sub-title {
        font-size: 18px;
        font-size: 1.125rem
    }
}

.p-angled-sub-title {
    -webkit-transform: rotate(340deg);
    transform: rotate(340deg);
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    font-family: Caveat, cursive;
    font-size: 40px;
    font-size: 2.5rem;
    font-weight: 700
}

.p-underline-angled-title {
    position: relative;
    margin: 0 auto;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content
}

.p-underline-angled-title .p-title {
    margin-bottom: 30px;
    padding-bottom: 10px;
    border-bottom: 3px solid var(--theme-color, green);
    font-size: 24px;
    font-size: 1.5rem;
    font-family: Noto Sans JP, \6e38\30b4\30b7\30c3\30af, YuGothic, Hiragino Sans, Hiragino Kaku Gothic ProN, Helvetica Neue, Helvetica, Meiryo, sans-serif;
    font-weight: 600;
    color: #222
}

.p-underline-angled-title .p-angled-sub-title {
    position: absolute;
    top: -25px;
    left: -80px;
    font-size: 30px;
    font-size: 1.875rem
}

@media screen and (max-width: 743.9px) {
    .p-underline-angled-title .p-title {
        font-size: 20px;
        font-size: 1.25rem
    }

    .p-underline-angled-title .p-angled-sub-title {
        position: absolute;
        top: -25px;
        left: -40px;
        font-size: 24px;
        font-size: 1.5rem
    }
}

.p-vertical-line-title {
    position: relative;
    padding-bottom: 60px;
    font-family: EB Garamond, Shippori Mincho, \6e38\660e\671d, YuMincho, Hiragino Mincho ProN, HG\660e\671d E, Meiryo, serif
}

.p-vertical-line-title:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translate(-50%);
    display: block;
    height: 50px;
    width: 1px;
    background-color: #ccc
}

.p-vertical-line-title .p-title {
    font-size: 34px;
    font-size: 2.125rem;
    font-family: EB Garamond, Shippori Mincho, \6e38\660e\671d, YuMincho, Hiragino Mincho ProN, HG\660e\671d E, Meiryo, serif;
    font-weight: 500;
    color: #222
}

.p-vertical-line-title .p-sub-title {
    color: var(--theme-color, green)
}

@media screen and (max-width: 743.9px) {
    .p-vertical-line-title .p-title {
        font-size: 30px;
        font-size: 1.875rem
    }
}

.p-megamenu {
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    opacity: 0;
    pointer-events: none;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10;
    width: 100%;
    -webkit-backdrop-filter: blur(7px);
    backdrop-filter: blur(7px);
    background-color: #ffffffe6;
    color: #fff
}

.p-megamenu.is-open {
    opacity: 1;
    pointer-events: auto
}

.p-megamenu .p-gnav {
    padding: 60px 0 30px;
    color: #000
}

.p-megamenu .p-gnav a {
    color: #000
}

@media (max-width: 991.98px) {
    .p-megamenu {
        height: 100%
    }

    .p-megamenu .p-gnav {
        overflow-y: scroll;
        padding-top: 40px;
        height: 100%
    }
}

.p-gnav ul,
.p-gnav li {
    list-style: none;
    margin: 0;
    padding: 0
}

.p-gnav__wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.p-gnav__info {
    margin-right: 100px
}

.p-gnav__info .p-company {
    margin-bottom: 10px;
    font-size: 14px;
    font-size: .875rem
}

.p-gnav__info .p-logo {
    margin-bottom: 10px;
    width: 250px;
    line-height: 1
}

.p-gnav__info .p-address {
    margin-bottom: 20px;
    font-size: 14px;
    font-size: .875rem;
    line-height: 1.8
}

.p-gnav__nav {
    width: 100%
}

.p-gnav__nav nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.p-gnav__nav nav,
.p-gnav__nav nav:before,
.p-gnav__nav nav:after,
.p-gnav__nav nav *,
.p-gnav__nav nav *:before,
.p-gnav__nav nav *:after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

.p-gnav__nav nav>* {
    -webkit-box-flex: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -ms-flex-preferred-size: calc((100% - 90px)/4);
    flex-basis: calc((100% - 90px)/4);
    margin-bottom: 30px
}

.p-gnav__nav nav>*:not(:last-child) {
    margin-right: 30px
}

.p-gnav__nav nav>*:nth-child(4n) {
    margin-right: 0
}

.p-gnav__nav nav .p-nav>li {
    font-size: 16px;
    font-size: 1rem
}

.p-gnav__nav nav .p-nav>li>a,
.p-gnav__nav nav .p-nav>li>span {
    display: block;
    margin-bottom: 10px;
    padding-bottom: 5px;
    border-bottom: 1px solid #ddd
}

.p-gnav__nav nav .p-nav__child li {
    margin-bottom: 10px;
    font-size: 14px;
    font-size: .875rem
}

.p-gnav__footer {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    border-top: 1px solid #666;
    margin-top: 30px;
    padding-top: 30px;
    font-size: 12px;
    font-size: .75rem
}

.p-gnav__footer ul {
    list-style: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 0;
    padding: 0
}

.p-gnav__footer ul li {
    margin: 0
}

.p-gnav__footer ul li+li {
    margin-left: 15px
}

@media (max-width: 991.98px) {
    .p-gnav {
        padding-right: 15px !important;
        padding-left: 15px !important
    }

    .p-gnav__wrap {
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse
    }

    .p-gnav__info {
        margin-right: 0
    }

    .p-gnav__info .p-company {
        text-align: center
    }

    .p-gnav__info .p-logo {
        margin-right: auto;
        margin-left: auto
    }

    .p-gnav__info .p-address {
        text-align: center
    }

    .p-gnav__info .p-sns-icons {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center
    }

    .p-gnav__nav nav {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }

    .p-gnav__nav nav,
    .p-gnav__nav nav:before,
    .p-gnav__nav nav:after,
    .p-gnav__nav nav *,
    .p-gnav__nav nav *:before,
    .p-gnav__nav nav *:after {
        -webkit-box-sizing: border-box;
        box-sizing: border-box
    }

    .p-gnav__nav nav>* {
        -webkit-box-flex: 0;
        -ms-flex-positive: 0;
        flex-grow: 0;
        -ms-flex-negative: 0;
        flex-shrink: 0;
        -ms-flex-preferred-size: calc((100% - 30px)/2);
        flex-basis: calc((100% - 30px)/2);
        margin-bottom: 30px
    }

    .p-gnav__nav nav>*:not(:last-child) {
        margin-right: 30px
    }

    .p-gnav__nav nav>*:nth-child(2n) {
        margin-right: 0
    }

    .p-gnav__footer {
        display: block;
        text-align: center
    }

    .p-gnav__footer ul {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        margin-bottom: 15px
    }
}

.p-mainvisual {
    position: relative;
    min-height: 100vh;
    min-height: calc(var(--vh, 1vh) * 100)
}

.p-mainvisual .p-sns-icons {
    position: absolute;
    bottom: 50px;
    right: 30px;
    z-index: 1
}

.p-mainvisual .p-mv-catch {
    overflow: hidden;
    position: absolute;
    top: 40%;
    left: 20px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    z-index: 2;
    font-family: EB Garamond, Shippori Mincho, \6e38\660e\671d, YuMincho, Hiragino Mincho ProN, HG\660e\671d E, Meiryo, serif
}

.p-mainvisual .p-mv-catch span {
    position: relative;
    display: inline-block;
    padding: 5px 3px;
    background-color: #fff;
}

.p-mainvisual .p-mv-catch span:nth-of-type(2){
    margin-left: -20px;
}

.p-mainvisual .p-mv-catch span:before {
    -webkit-transition: .5s width cubic-bezier(.25, .1, .25, 1);
    transition: .5s width cubic-bezier(.25, .1, .25, 1);
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    display: block;
    width: 100%;
    height: 100%;
    background-color: #fff
}

.p-mainvisual .p-mv-catch .js-title {
    -webkit-transition: .5s -webkit-transform cubic-bezier(.25, .1, .25, 1);
    transition: .5s -webkit-transform cubic-bezier(.25, .1, .25, 1);
    transition: .5s transform cubic-bezier(.25, .1, .25, 1);
    transition: .5s transform cubic-bezier(.25, .1, .25, 1), .5s -webkit-transform cubic-bezier(.25, .1, .25, 1);
    -webkit-transform: translateX(-100%);
    transform: translate(-100%)
}

.p-mainvisual .p-mv-catch .js-in {
    -webkit-transform: translateX(0);
    transform: translate(0)
}

.p-mainvisual .p-mv-catch .js-in span:before {
    width: 0;
    -webkit-transition-delay: .3s;
    transition-delay: .3s
}

.p-mainvisual .p-mv-catch .p-main-copy {
    margin-bottom: 15px;
    font-size: clamp(12px, 5vw, 70px);
    font-weight: 500;
    line-height: 1
}


.p-mainvisual .p-mv-catch .p-sub-copy {
    font-size: 1.5vw;
    font-size: clamp(24px, 2vw, 30px);
    font-weight: 500;
    line-height: 1
}

.p-mainvisual .p-mv-catch .p-sub-copy .js-in {
    -webkit-transition-delay: .3s;
    transition-delay: .3s
}

.p-mainvisual .p-mv-catch .p-sub-copy .js-in span:before {
    -webkit-transition-delay: .6s;
    transition-delay: .6s
}

.p-main-copy__sp{
    display: none;
}

.p-mainvisual .swiper,
.p-mainvisual .p-mv-slider {
    height: 100%
}

.p-mainvisual .p-mv-slider .p-mv-slider__item {
    position: absolute;
    opacity: 0;
    -webkit-transition: opacity 1.5s ease-in-out;
    transition: opacity 1.5s ease-in-out;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    height: 100%
}

.p-mainvisual .p-mv-slider .p-mv-slider__item.is-active {
    opacity: 1
}

.p-mainvisual .p-mv-slider .p-mv-slider__item img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

@media (max-width: 991.98px) {
    .pc{
        display: none !important;
    }
    .p-mainvisual.js-focus {
        -webkit-transform: scale(1);
        transform: scale(1)
    }

    .p-mainvisual .p-sns-icons {
        left: 50%;
        -webkit-transform: translateX(-50%);
        transform: translate(-50%);
        bottom: 120px;
        right: auto
    }

    .p-mainvisual .p-mv-catch {
        top:41%;
        left: 10px
    }

    .p-mainvisual .p-mv-catch .p-main-copy {
        margin-bottom: 10px;
        font-size: 2.375rem
    }


    .p-mainvisual .p-mv-catch .p-main-copy {
        display: -webkit-box !important;
        display: -ms-flexbox !important;
        display: flex !important;
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column
    }

    .p-mainvisual .p-mv-catch .p-main-copy span {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content
    }

    .p-mainvisual .p-mv-catch .p-main-copy span+span {
        margin-top: 5px
    }
.p-mainvisual .p-mv-catch span:nth-of-type(2){
    margin-left: 0;
}

    .p-mainvisual .p-mv-catch .p-sub-copy {
        font-size: 1.15rem
    }
    .p-main-copy__sp{
        display: flex;
        flex-direction: column;
    }
}

@media screen and (min-width: 744px) and (orientation: portrait) {
    .p-mainvisual .p-mv-catch .p-main-copy__sp {
        font-size: 3.125rem
    }

    .p-mainvisual .p-mv-catch .p-sub-copy {
        font-size: 1.5rem
    }
}

.p-banner-slider {
    padding: 35px 0 !important;
    background-color: #eff5f8;
    position: relative
}

.p-banner-slider ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0
}

.p-banner-slider ul li {
    overflow: hidden;
    margin: 0;
    padding: 0;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -ms-flex-preferred-size: 280px;
    flex-basis: 280px;
    border-radius: 8px;
    -webkit-box-shadow: 0px 0px 10px rgba(0, 0, 0, .07);
    box-shadow: 0 0 10px #00000012;
    background-color: #fff
}

.p-banner-slider ul li a {
    overflow: hidden;
    display: block;
    padding: 5px
}

.p-banner-slider ul li a img {
    border-radius: 6px
}

.p-banner-slider__nav {
    pointer-events: none;
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 50%;
    -webkit-transform: translateX(-50%) translateY(-50%);
    transform: translate(-50%) translateY(-50%);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.p-banner-slider__nav .p-arrow {
    pointer-events: auto;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    cursor: pointer;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 1px solid var(--theme-color, green);
    background-color: #fff;
    -webkit-box-shadow: 0px 0px 10px rgba(0, 0, 0, .1);
    box-shadow: 0 0 10px #0000001a;
    color: var(--theme-color, green)
}

.p-banner-slider__nav .p-arrow .c-icon {
    position: relative;
    top: -7px
}

.p-banner-slider__nav .p-arrow.p-prev {
    -webkit-transform: scaleX(-1);
    transform: scaleX(-1)
}

.p-banner-slider__nav .p-arrow:hover {
    opacity: .5
}

.p-news-ticker {
    overflow: hidden;
    position: absolute;
    bottom: 50px;
    left: 30px;
    z-index: 10;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    height: 40px;
    background-color: #fff;
    border-radius: 10px;
    -webkit-box-shadow: 0px 0px 10px rgba(0, 0, 0, .1);
    box-shadow: 0 0 10px #0000001a
}

.p-news-ticker ul {
    height: 40px;
    overflow: hidden;
    width: 450px !important;
    list-style: none;
    margin: 0;
    padding: 0
}

.p-news-ticker ul li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin: 0;
    padding: 0
}

.p-news-ticker ul li a {
    display: inline-block;
    max-width: 100%;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
    word-wrap: normal;
    display: block;
    font-size: 14px;
    font-size: .875rem;
    color: #222
}

.p-news-ticker ul li .p-date {
    margin-right: 15px
}

.p-news-ticker__slider {
    -ms-flex-negative: 1;
    flex-shrink: 1;
    -webkit-box-flex: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
    overflow: hidden
}

.p-news-ticker__title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-right: 15px;
    padding: 5px 15px;
    background-color: var(--theme-color, green);
    font-family: Roboto Condensed, Noto Sans JP, \6e38\30b4\30b7\30c3\30af, YuGothic, Hiragino Sans, Hiragino Kaku Gothic ProN, Helvetica Neue, Helvetica, Meiryo, sans-serif;
    color: #fff
}

.p-news-ticker .p-more {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-left: 15px;
    padding: 5px 15px;
    border-left: 1px solid #f7f7f7;
    white-space: nowrap;
    font-size: 12px;
    font-size: .75rem;
    color: #222
}

.p-news-ticker .p-more .c-icon {
    margin-left: 5px
}

@media (max-width: 991.98px) {
    .p-news-ticker {
        left: 50%;
        -webkit-transform: translateX(-50%);
        transform: translate(-50%);
        bottom: 55px;
        width: calc(100% - 30px);
        height: 45px
    }

    .p-news-ticker ul {
        width: 100% !important
    }

    .p-news-ticker ul li a {
        display: inline-block;
        max-width: 100%;
        text-overflow: ellipsis;
        white-space: nowrap;
        overflow: hidden;
        word-wrap: normal;
        display: block;
        font-size: 14px;
        font-size: .875rem;
        color: #222
    }

    .p-news-ticker ul li .p-date {
        display: block;
        margin-right: 0;
        font-size: 12px;
        font-size: .75rem
    }

    .p-news-ticker__title {
        padding: 5px 10px
    }

    .p-news-ticker__title+.swiper {
        margin-left: 0
    }

    .p-news-ticker .p-more {
        padding: 5px 10px
    }
}

.p-sns-icons {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0
}

.p-sns-icons li {
    margin: 0
}

.p-sns-icons li+li {
    margin-left: 5px
}

.p-sns-icons a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    font: 0/0 a;
    color: transparent
}

.p-sns-icons a:before {
    font-size: 18px;
    font-size: 1.125rem;
    color: #fff
}

.p-sns-icons__line {
    background-color: #06c755
}

.p-sns-icons__line:before {
    content: "\f10c";
    font-size: 21px;
    font-size: 1.3125rem;
    font-family: iconfont
}

.p-sns-icons__insta {
    background: -webkit-gradient(linear, left bottom, left top, from(#802FF7), color-stop(#DD0C9B), to(#FFC102));
    background: linear-gradient(to top, #802FF7, #DD0C9B, #FFC102)
}

.p-sns-icons__insta:before {
    content: "\f10b";
    font-family: iconfont
}

.p-sns-icons__fb {
    background-color: #1877f2
}

.p-sns-icons__fb:before {
    content: "\f108";
    font-family: iconfont
}

.p-sns-icons__tw {
    background-color: #1d9bf0
}

.p-sns-icons__tw:before {
    position: relative;
    top: -1px;
    content: "\f113";
    font-family: iconfont
}

.p-sns-icons__yt {
    background-color: red
}

.p-sns-icons__yt:before {
    position: relative;
    top: -2.5px;
    content: "\f116";
    font-family: iconfont
}

.p-sns-icons--bw a {
    border: 1px solid #000 !important;
    background: transparent !important
}

.p-sns-icons--bw a:before {
    color: #000 !important
}

.p-sns-icons--w a {
    border: 1px solid #fff !important;
    background: transparent !important
}

.p-sns-icons--w a:before {
    color: #fff !important
}

.p-fixed-buttons {
    position: fixed;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    right: 0;
    z-index: 10;
    list-style: none;
    margin: 0;
    padding: 0
}

.p-fixed-buttons li {
    margin: 0;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl
}

.p-fixed-buttons li+li {
    margin-top: 5px
}

.p-fixed-buttons li a {
    display: block;
    padding: 15px 8px;
    border-radius: 5px 0 0 5px;
    font-size: 15px;
    font-size: .9375rem;
    font-weight: 500;
    color: #fff
}

.p-fixed-buttons .c-icon {
    margin-bottom: 5px
}

.p-fixed-buttons__oc {
    background-color: #009fe2
}

.p-fixed-buttons__doc {
    background-color: #2ed166
}

@media (max-width: 991.98px) {
    .p-fixed-buttons {
        inset: auto auto 0 50%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-transform: translate(-50%, 0);
        transform: translate(-50%)
    }

    .p-fixed-buttons .c-icon {
        margin-bottom: 0;
        margin-right: 5px
    }

    .p-fixed-buttons li {
        -webkit-writing-mode: horizontal-tb;
        -ms-writing-mode: lr-tb;
        writing-mode: horizontal-tb;
        -ms-flex-negative: 0;
        flex-shrink: 0
    }

    .p-fixed-buttons li+li {
        margin-top: 0;
        margin-left: 5px
    }

    .p-fixed-buttons li a {
        padding: 8px 12px;
        border-radius: 5px 5px 0 0
    }
}

.p-follow-us {
    position: relative;
    margin: 0 auto;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content
}

.p-follow-us .p-angled-sub-title {
    position: absolute;
    top: -30px;
    left: -80px
}

.p-follow-us .p-sns-icons {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.p-follow-us .p-sns-icons li a {
    width: 50px;
    height: 50px
}

.p-follow-us .p-sns-icons li a:before {
    font-size: 30px;
    font-size: 1.875rem
}

.p-follow-us .p-sns-icons li+li {
    margin-left: 15px
}

.p-follow-us .p-sns-icons__yt:before {
    top: -3.5px
}

@media screen and (max-width: 743.9px) {
    .p-follow-us .p-angled-sub-title {
        position: absolute;
        top: -30px;
        left: -60px;
        font-size: 34px;
        font-size: 2.125rem
    }

    .p-follow-us .p-sns-icons {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center
    }

    .p-follow-us .p-sns-icons li a {
        width: 38px;
        height: 38px
    }

    .p-follow-us .p-sns-icons li a:before {
        font-size: 25px;
        font-size: 1.5625rem
    }

    .p-follow-us .p-sns-icons li+li {
        margin-left: 10px
    }

    .p-follow-us .p-sns-icons__yt:before {
        top: -3.5px
    }
}

.home .p-section--oc {
    background-image: url(../img/bg_oc-3e31e6e7.webp);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover
}

.home .p-section--oc .p-title {
    color: #ffed57
}

.home .p-section--course {
    padding-bottom: 0
}

.home .p-section--course .p-course+.p-course {
    margin-top: 50px
}

.home .p-section--course .p-course:nth-child(odd) .p-course-head {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse
}

.home .p-section--campus-life {
    overflow-x: hidden;
    background-image: repeating-linear-gradient(-45deg, #FFFACF 0px, #FFFACF 5px, #FFFEF6 5px, #FFFEF6 10px)
}

.home .p-section--campus-life .p-title {
    color: #ffed57
}

.home .p-section--campus-life .p-movie-slider__nav {
    margin-bottom: 80px
}

@media (max-width: 991.98px) {
    .home .p-section--campus-life .p-movie-slider__nav {
        margin-bottom: 50px
    }
}

@media screen and (max-width: 743.9px) {
    .home .p-section--course {
        padding-bottom: 0
    }

    .home .p-section--course .p-course+.p-course {
        margin-top: 30px
    }

    .home .p-section--course .p-course:nth-child(odd) .p-course-head {
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse
    }
}

.p-oc-day ul,
.p-oc-day li:not(.c-label) {
    list-style: none;
    margin: 0;
    padding: 0
}

.p-oc-day__card {
    overflow: hidden;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    height: 100%;
    border-radius: 12px;
    background-color: #fff;
    -webkit-box-shadow: 0px 0px 8px rgba(0, 0, 0, .2);
    box-shadow: 0 0 8px #0003;
    text-align: center;
    font-family: Roboto Condensed, Noto Sans JP, \6e38\30b4\30b7\30c3\30af, YuGothic, Hiragino Sans, Hiragino Kaku Gothic ProN, Helvetica Neue, Helvetica, Meiryo, sans-serif
}

.p-oc-day__card .p-month {
    font-size: 40px;
    font-size: 2.5rem;
    background-color: #009fe2;
    color: #fff
}

.p-oc-day__card .p-month span {
    margin-left: 3px;
    font-size: 16px;
    font-size: 1rem
}

.p-oc-day__card:hover,
.p-oc-day__card:active,
.p-oc-day__card:focus {
    opacity: .8
}

.p-oc-day__body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 10px 15px 15px;
    height: 100%
}

.p-oc-day__body .p-day {
    margin-bottom: 10px;
    line-height: 1;
    color: #222
}

.p-oc-day__body .p-day .p-num {
    font-size: 70px;
    font-size: 4.375rem
}

.p-oc-day__body .c-label {
    font-family: Noto Sans JP, \6e38\30b4\30b7\30c3\30af, YuGothic, Hiragino Sans, Hiragino Kaku Gothic ProN, Helvetica Neue, Helvetica, Meiryo, sans-serif;
    width: 100%;
    font-size: 10px;
    font-size: .625rem
}

.p-oc-day .p-oc-day-slider-wrap {
    position: relative;
    margin: 0 auto;
    padding: 0 60px !important;
    max-width: 1000px
}

.p-oc-day .p-oc-day-slider {
    padding: 10px
}

.p-oc-day .p-oc-day-slider .swiper-slide {
    height: auto
}

.p-oc-day .p-oc-day-slider__nav {
    pointer-events: none;
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 50%;
    -webkit-transform: translateX(-50%) translateY(-50%);
    transform: translate(-50%) translateY(-50%);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.p-oc-day .p-oc-day-slider__nav .p-arrow {
    pointer-events: auto;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    cursor: pointer;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: #009fe2;
    -webkit-box-shadow: 0px 0px 10px rgba(0, 0, 0, .1);
    box-shadow: 0 0 10px #0000001a;
    color: #fff
}

.p-oc-day .p-oc-day-slider__nav .p-arrow .c-icon {
    position: relative;
    top: -7px
}

.p-oc-day .p-oc-day-slider__nav .p-arrow.p-prev {
    -webkit-transform: scaleX(-1);
    transform: scaleX(-1)
}

.p-oc-day .p-oc-day-slider__nav .p-arrow:hover {
    opacity: .5
}

.p-oc-day .p-button {
    margin: 50px auto 0
}

@media (max-width: 991.98px) {
    .p-oc-day__body .p-day .p-num {
        font-size: 50px;
        font-size: 3.125rem
    }

    .p-oc-day .p-oc-day-slider-wrap {
        padding: 0 !important
    }

    .p-oc-day .p-prev {
        position: relative;
        left: -20px
    }

    .p-oc-day .p-next {
        position: relative;
        right: -20px
    }
}

.is-sat {
    color: #71c7d1
}

.is-sun {
    color: #ea545d
}

.p-oc-icon-note {
    list-style: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 30px;
    padding: 0
}

.p-oc-icon-note li {
    font-size: 14px;
    font-size: .875rem
}

.p-oc-icon-note li+li {
    margin-left: 15px
}

.p-oc-icon-note__oc {
    color: #009fe2
}

.p-oc-icon-note__web {
    color: #2ed166
}

.p-oc-icon-note .c-icon {
    margin-right: 3px
}

.p-oc-icon-note .c-icon--school:before {
    position: relative;
    top: 0
}

.p-oc-icon-note .c-icon--globe:before {
    position: relative;
    top: 1px
}

.p-oc-calendar-slider-wrap {
    position: relative;
    margin: 0 auto;
    padding: 0 60px !important;
    max-width: 1000px
}

@media screen and (max-width: 743.9px) {
    .p-oc-calendar-slider-wrap {
        padding: 0 !important
    }
}

.p-oc-calendar-slider__nav {
    pointer-events: none;
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 50%;
    -webkit-transform: translateX(-50%) translateY(-50%);
    transform: translate(-50%) translateY(-50%);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.p-oc-calendar-slider__nav .p-arrow {
    pointer-events: auto;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    cursor: pointer;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: #009fe2;
    -webkit-box-shadow: 0px 0px 10px rgba(0, 0, 0, .1);
    box-shadow: 0 0 10px #0000001a;
    color: #fff
}

.p-oc-calendar-slider__nav .p-arrow .c-icon {
    position: relative;
    top: -7px
}

.p-oc-calendar-slider__nav .p-arrow.p-prev {
    -webkit-transform: scaleX(-1);
    transform: scaleX(-1)
}

.p-oc-calendar-slider__nav .p-arrow:hover {
    opacity: .5
}

@media screen and (max-width: 743.9px) {
    .p-oc-calendar-slider__nav {
        top: 0;
        -webkit-transform: translate(-50%, 0);
        transform: translate(-50%)
    }
}

.p-oc-calendar {
    padding: 0 15px;
    font-family: Roboto Condensed, Noto Sans JP, \6e38\30b4\30b7\30c3\30af, YuGothic, Hiragino Sans, Hiragino Kaku Gothic ProN, Helvetica Neue, Helvetica, Meiryo, sans-serif;
    text-align: center
}

.p-oc-calendar__month {
    margin-bottom: 30px;
    line-height: 1;
    font-size: 50px;
    font-size: 3.125rem
}

.p-oc-calendar__table th {
    font-size: 20px;
    font-size: 1.25rem;
    text-align: center
}

.p-oc-calendar__table td {
    position: relative;
    vertical-align: top;
    height: 62px;
    font-size: 28px;
    font-size: 1.75rem
}

.p-oc-calendar__table td a,
.p-oc-calendar__table td span {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin: 0 auto;
    width: 37px;
    height: 37px;
    background-color: transparent;
    border-radius: 50%;
    color: #222
}

.p-oc-calendar__table td.is-active a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 37px;
    height: 37px;
    background-color: #009fe2;
    border-radius: 50%;
    color: #fff !important
}

.p-oc-calendar__table td.is-sat,
.p-oc-calendar__table td.is-sun {
    color: #222
}

.p-oc-calendar__table ul {
    list-style: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: -2px;
    padding: 0
}

.p-oc-calendar__table ul li {
    margin: 0
}

.p-oc-calendar__table ul li+li {
    margin-left: 5px
}

.p-oc-calendar__table ul .is-oc {
    font-size: 14px;
    font-size: .875rem;
    color: #009fe2
}

.p-oc-calendar__table ul .is-oc:after {
    position: relative;
    top: -1px;
    content: "\f112";
    font-family: iconfont
}

.p-oc-calendar__table ul .is-web {
    font-size: 14px;
    font-size: .875rem;
    color: #2ed166
}

.p-oc-calendar__table ul .is-web:after {
    content: "\f10a";
    font-family: iconfont
}

.open-campus .p-main__header {
    aspect-ratio: 1440/300;
    background-image: url(../img/bg_oc-3e31e6e7.webp);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover
}

.open-campus .p-main__header .p-title {
    color: #ffed57
}

@media screen and (max-width: 743.9px) {
    .open-campus .p-main__header {
        aspect-ratio: 375/200
    }
}

.open-campus .p-section__header .p-title {
    color: #009fe2
}

.open-campus .p-section--whats .p-future__title {
    font-family: Noto Sans JP, \6e38\30b4\30b7\30c3\30af, YuGothic, Hiragino Sans, Hiragino Kaku Gothic ProN, Helvetica Neue, Helvetica, Meiryo, sans-serif;
    font-weight: 600;
    color: #009fe2
}

@media (max-width: 991.98px) {
    .open-campus .p-section--whats .p-future__title {
        width: 100%;
        text-align: center
    }

    .open-campus .p-section--whats .p-future__body {
        padding: 0 15px 30px
    }
}

.open-campus .p-section--flow {
    background-color: #eff5f8
}

.open-campus .p-section--flow .p-section__header .p-underline-angled-title .p-angled-sub-title {
    color: var(--theme-color, green)
}

.open-campus .p-section--flow .p-section__header .p-underline-angled-title .p-title {
    color: #222
}

.open-campus .p-section--oc-list {
    background-image: repeating-linear-gradient(-45deg, #FFFACF 0px, #FFFACF 5px, #FFFEF6 5px, #FFFEF6 10px)
}

.p-flow {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.p-flow,
.p-flow:before,
.p-flow:after,
.p-flow *,
.p-flow *:before,
.p-flow *:after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

.p-flow>* {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 20%;
    flex: 0 0 20%;
    margin-bottom: 0
}

.p-flow>*:not(:last-child) {
    margin-right: 0
}

.p-flow__item-wrap {
    position: relative;
    padding: 0 15px
}

.p-flow__item-wrap:after {
    position: absolute;
    right: -7.5px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    content: "";
    height: 0;
    width: 0;
    display: inline-block;
    border-style: solid;
    border-color: transparent transparent transparent #009FE2;
    border-width: 12.5px 0 12.5px 15px
}

.p-flow__item-wrap:last-child:after {
    content: none
}

.p-flow__item {
    overflow: hidden;
    height: 100%;
    border-radius: 10px;
    background-color: #fff
}

.p-flow__head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 10px;
    background-color: #009fe2;
    line-height: 1;
    font-family: Roboto Condensed, Noto Sans JP, \6e38\30b4\30b7\30c3\30af, YuGothic, Hiragino Sans, Hiragino Kaku Gothic ProN, Helvetica Neue, Helvetica, Meiryo, sans-serif;
    font-size: 30px;
    font-size: 1.875rem;
    color: #fff
}

.p-flow__head .c-icon {
    margin-right: 5px;
    font-size: 24px;
    font-size: 1.5rem
}

.p-flow__head .c-icon:before {
    top: 0
}

.p-flow__body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: 15px
}

.p-flow__body .c-icon {
    margin-bottom: 15px;
    text-align: center;
    font-size: 60px;
    font-size: 3.75rem;
    color: #009fe2
}

.p-flow__title {
    margin-bottom: 10px;
    font-size: 18px;
    font-size: 1.125rem;
    font-weight: 500;
    text-align: center
}

.p-flow__desc {
    font-size: 14px;
    font-size: .875rem
}

@media (max-width: 991.98px) {
    .p-flow {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center
    }

    .p-flow,
    .p-flow:before,
    .p-flow:after,
    .p-flow *,
    .p-flow *:before,
    .p-flow *:after {
        -webkit-box-sizing: border-box;
        box-sizing: border-box
    }

    .p-flow>* {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 calc(100% / 3);
        flex: 0 0 calc(100% / 3);
        margin-bottom: 0
    }

    .p-flow>*:not(:last-child) {
        margin-right: 0
    }

    .p-flow__item-wrap {
        margin-bottom: 15px
    }
}

@media screen and (max-width: 743.9px) {
    .p-flow {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }

    .p-flow,
    .p-flow:before,
    .p-flow:after,
    .p-flow *,
    .p-flow *:before,
    .p-flow *:after {
        -webkit-box-sizing: border-box;
        box-sizing: border-box
    }

    .p-flow>* {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        margin-bottom: 0
    }

    .p-flow>*:not(:last-child) {
        margin-right: 0
    }

    .p-flow__item-wrap {
        position: relative;
        padding: 0 0 30px
    }

    .p-flow__item-wrap:after {
        position: absolute;
        inset: auto auto 7.5px 50%;
        -webkit-transform: translate(-50%, 0);
        transform: translate(-50%);
        content: "";
        height: 0;
        width: 0;
        display: inline-block;
        border-style: solid;
        border-color: #009FE2 transparent transparent;
        border-width: 15px 12.5px 0
    }

    .p-flow__item-wrap:last-child:after {
        content: none
    }

    .p-flow__head {
        padding: 5px;
        font-size: 20px;
        font-size: 1.25rem
    }

    .p-flow__head .c-icon {
        font-size: 16px;
        font-size: 1rem
    }

    .p-flow__head .c-icon:before {
        top: 1
    }

    .p-flow__body {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
        padding: 10px
    }

    .p-flow__body .c-icon {
        margin-bottom: 0;
        margin-right: 15px;
        font-size: 50px;
        font-size: 3.125rem
    }

    .p-flow__title {
        margin-bottom: 5px;
        text-align: left;
        font-size: 16px;
        font-size: 1rem
    }
}

.p-oc-list__group+.p-oc-list__group {
    margin-top: 50px
}

.p-oc-list__head {
    margin-bottom: 30px;
    padding: 15px;
    background-color: #fff;
    border-bottom: 5px solid #009FE2;
    font-family: Roboto Condensed, Noto Sans JP, \6e38\30b4\30b7\30c3\30af, YuGothic, Hiragino Sans, Hiragino Kaku Gothic ProN, Helvetica Neue, Helvetica, Meiryo, sans-serif;
    font-size: 60px;
    font-size: 3.75rem;
    line-height: 1
}

.p-oc-list__head span {
    font-family: Noto Sans JP, \6e38\30b4\30b7\30c3\30af, YuGothic, Hiragino Sans, Hiragino Kaku Gothic ProN, Helvetica Neue, Helvetica, Meiryo, sans-serif;
    font-size: 24px;
    font-size: 1.5rem
}

.p-oc-list__card {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-shadow: 0px 0px 10px rgba(0, 0, 0, .1);
    box-shadow: 0 0 10px #0000001a
}

.p-oc-list__card.p-oc-list__card {
    margin-top: 20px
}

.p-oc-list__card .p-button {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    white-space: nowrap;
    padding: 6px 10px;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    font-size: 13px;
    font-size: .8125rem;
    border: 1px solid #000;
    background-color: #fff;
    color: #222 !important
}

.p-oc-list__card__content {
    margin-right: 15px;
    width: 100%
}

.p-oc-list__card__content .c-card__header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 15px;
    padding-bottom: 15px;
    border-bottom: 1px dotted #ccc
}

.p-oc-list__card__content .c-card__header .p-date {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    line-height: 1
}

.p-oc-list__card__content .c-card__header .p-date .c-icon {
    margin-right: 3px
}

.p-oc-list__card__content .c-card__header ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    list-style: none;
    margin-right: 10px;
    padding: 0
}

.p-oc-list__card__content .c-card__header ul li {
    margin: 0
}

.p-oc-list__card__content .c-card__header ul li+li {
    margin-left: 10px
}

.p-oc-list__card__content .c-card__header .c-label {
    padding: 6px 12px;
    font-size: 16px;
    font-size: 1rem
}

.p-oc-list__card__content .c-card__body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.p-oc-list__card__content .c-card__body .p-oc-list__image {
    overflow: hidden;
    aspect-ratio: 1/1;
    margin-right: 15px;
    width: 100px;
    border-radius: 5px
}

.p-oc-list__card__content .c-card__body .p-oc-list__image img {
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%;
    height: 100%
}

.p-oc-list__card__content .c-card__body .p-oc-list__text .p-oc-list__title {
    margin-bottom: 10px;
    font-size: 20px;
    font-size: 1.25rem;
    font-weight: 500
}

.p-oc-list__card__content .c-card__body .p-oc-list__text p {
    font-size: 14px;
    font-size: .875rem
}

@media screen and (max-width: 743.9px) {
    .p-oc-list__card {
        display: block
    }

    .p-oc-list__card .p-button {
        margin: 15px auto 0;
        padding: 10px 30px;
        font-size: 16px;
        font-size: 1rem
    }

    .p-oc-list__card__content {
        margin-right: 0
    }

    .p-oc-list__card__content .c-card__header {
        display: block;
        margin-bottom: 15px;
        padding-bottom: 15px;
        border-bottom: 1px dotted #ccc
    }

    .p-oc-list__card__content .c-card__header ul {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        margin-right: 0;
        margin-bottom: 5px
    }

    .p-oc-list__card__content .c-card__header ul li {
        margin: 0 5px 5px 0
    }

    .p-oc-list__card__content .c-card__header ul li+li {
        margin-left: 0
    }

    .p-oc-list__card__content .c-card__body {
        display: block
    }

    .p-oc-list__card__content .c-card__body .p-oc-list__image {
        margin: 0 auto 15px
    }

    .p-oc-list__card__content .c-card__body .p-oc-list__text .p-oc-list__title {
        font-size: 18px;
        font-size: 1.125rem
    }
}

.p-course.nurse {
    --theme-color: #EE858F;
    --theme-color-light: #f0a2c3
}

.p-course.nurse .p-course-head__title:after {
    content: "NS"
}

.p-course.ce {
    --theme-color: #0154a6;
    --theme-color-light: #0055aa;
}

.p-course.ce .p-course-head__title:after {
    content: "CE"
}

.p-course.emt {
    --theme-color: #f15929;
    --theme-color-light: #f23900;
}

.p-course.emt .p-course-head__title:after {
    content: "EMT";
    -webkit-transform: scaleX(.8) translateY(-50%);
    transform: scaleX(.8) translateY(-50%);
    right: -20px
}

.p-course.care {
    --theme-color: #179648;
    --theme-color-light: #076029;
}

.p-course.care .p-course-head__title:after {
    content: "CW"
}

.p-course.ipe {
    --theme-color: #856491;
    --theme-color-light: #a07fac;
}

.p-course.ipe .p-course-head__title:after {
    content: "IPE"
}


.home .p-course-head {
    aspect-ratio: 1440/400
}

.home .p-course-head .p-course-head__title:after {
    font-size: clamp(250px, 24vw, 600px)
}

.home .p-course-head .c-label {
    margin-left: 10px;
    font-size: 14px;
    font-size: .875rem;
    font-family: Noto Sans JP, \6e38\30b4\30b7\30c3\30af, YuGothic, Hiragino Sans, Hiragino Kaku Gothic ProN, Helvetica Neue, Helvetica, Meiryo, sans-serif
}

@media screen and (max-width: 743.9px) {
    .home .p-course-head__image img {
        height: 200px
    }
}

.p-course-head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    aspect-ratio: 1440/300
}

.p-course-head .p-course-head__title {
    position: relative;
    display: grid;
    place-items: center;
    width: 50%;
    background: linear-gradient(340deg, var(--theme-color-light, #369c03) 0%, var(--theme-color, green) 100%);
    color: #fff
}

.p-course-head .p-course-head__title>div {
    position: relative;
    z-index: 2;
    width: 80%
}

.p-course-head .p-course-head__title .p-course-en {
    font-size: 24px;
    font-size: 1.5rem;
    font-family: EB Garamond, Shippori Mincho, \6e38\660e\671d, YuMincho, Hiragino Mincho ProN, HG\660e\671d E, Meiryo, serif
}

.p-course-head .p-course-head__title .p-course-name {
    margin-bottom: 10px;
    font-size: 4vw;
    font-size: clamp(18px, 4vw, 40px);
    font-family: EB Garamond, Shippori Mincho, \6e38\660e\671d, YuMincho, Hiragino Mincho ProN, HG\660e\671d E, Meiryo, serif;
    font-weight: 400
}

.p-course-head .p-course-head__title .p-course-desc {
    margin-bottom: 10%;
    font-size: clamp(12px, 1.3vw, 18px)
}

.p-course-head .p-course-head__title .c-label {
    font-size: 14px;
    font-size: .875rem;
    font-family: Noto Sans JP, \6e38\30b4\30b7\30c3\30af, YuGothic, Hiragino Sans, Hiragino Kaku Gothic ProN, Helvetica Neue, Helvetica, Meiryo, sans-serif
}

.p-course-head .p-course-head__title:after {
    pointer-events: none;
    opacity: .1;
    position: absolute;
    z-index: 1;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    right: 30px;
    font-family: Roboto Condensed, Noto Sans JP, \6e38\30b4\30b7\30c3\30af, YuGothic, Hiragino Sans, Hiragino Kaku Gothic ProN, Helvetica Neue, Helvetica, Meiryo, sans-serif;
    font-size: clamp(140px, 20vw, 400px);
    line-height: 1
}

.p-course-head__image {
    width: 50%
}

.p-course-head__image img {
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%;
    height: 100%;
}

@media screen and (max-width: 743.9px) {
    .p-course-head {
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse
    }

    .p-course-head .p-course-head__title {
        padding-top: 20px;
        padding-bottom: 30px;
        width: 100%
    }

    .p-course-head .p-course-head__title .p-course-en {
        font-size: 20px;
        font-size: 1.25rem
    }

    .p-course-head .p-course-head__title .p-course-name {
        margin-bottom: 10px;
        font-size: 30px;
        font-size: 1.875rem
    }

    .p-course-head .p-course-head__title .p-course-desc {
        margin-bottom: 30px;
        font-size: 18px;
        font-size: 1.125rem
    }

    .p-course-head .p-course-head__title .c-label {
        font-size: 14px;
        font-size: .875rem
    }

    .p-course-head .p-course-head__title .p-button {
        margin: 0 auto
    }

    .p-course-head .p-course-head__title:after {
        right: 0
    }

    .p-course-head__image {
        width: 100%
    }

    .p-course-head__image img {
        height: 150px
    }
}

.p-section--whats {
    padding-bottom: 0
}

.p-section--whats .p-future {
    overflow: hidden;
    margin-bottom: 0;
    padding-top: 30px;
    padding-bottom: 80px
}

.p-section--whats .p-future:after {
    top: -30px;
    font-size: 500px;
    font-size: 31.25rem
}

.p-section--whats .p-future__body>div {
    margin-left: 0;
    padding-left: 0;
    border-left: 0
}

.p-section--whats .p-future__body .c-frame {
    margin-top: 50px
}

.p-section--whats .p-future__body .c-frame ul {
    list-style: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding: 0
}

.p-section--whats .p-future__body .c-frame ul li {
    margin: 0
}

.p-section--whats .p-future__body .c-frame ul li:after {
    content: "/";
    margin: 0 8px
}

.p-section--whats .p-future__body .c-frame ul li:last-child:after {
    content: none
}

.p-section--whats .p-future__title {
    position: relative;
    margin-bottom: 30px;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    font-size: 30px;
    font-size: 1.875rem;
    font-family: EB Garamond, Shippori Mincho, \6e38\660e\671d, YuMincho, Hiragino Mincho ProN, HG\660e\671d E, Meiryo, serif;
    font-weight: 500;
    color: var(--theme-color, green)
}

@media (max-width: 991.98px) {
    .p-section--whats .p-future {
        padding-top: 0;
        padding-bottom: 50px
    }

    .p-section--whats .p-future__body {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        padding: 0 15px;
        width: 100%
    }

    .p-section--whats .p-future__body>div {
        margin-left: 0;
        padding-left: 0;
        border-left: 0
    }

    .p-section--whats .p-future__body .c-frame {
        margin-top: 30px;
        margin-bottom: 30px
    }

    .p-section--whats .p-future__title {
        margin: 0 0 15px;
        text-align: left;
        font-size: 24px;
        font-size: 1.5rem
    }

    .p-section--whats .p-future__title small,
    .p-section--whats .p-future__title .small {
        font-size: 16px;
        font-size: 1rem
    }

    .p-section--whats .p-future p {
        margin-bottom: 0;
        text-align: left
    }

    .p-section--whats .p-future__image {
        width: 100%;
        border-radius: 0 !important
    }

    .p-section--whats .p-future__image img {
        height: 30vh
    }
}

@media screen and (max-width: 743.9px) {
    .p-section--whats .p-section__header {
        margin-bottom: 15px
    }
}

.p-section--main-work {
    background-color: #fafafa
}

.p-section--main-work .p-angled-sub-title {
    color: var(--theme-color, green)
}

.p-section--point {
    background-image: repeating-linear-gradient(-45deg, var(--theme-color, green) 0px, var(--theme-color, green) 5px, #fff 5px, #fff 10px);
    background-color: #fffc;
    background-blend-mode: lighten
}

.p-section--point .c-panel {
    position: relative
}

.p-section--point .c-panel .p-section__header {
    position: absolute;
    top: -45px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translate(-50%);
    margin-bottom: 0
}

.p-section--point .p-check-point {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    margin-top: 50px;
    padding: 15px;
    border-radius: 10px;
    background-color: #fafafa
}

.p-section--point .p-check-point .p-angled-sub-title {
    position: absolute;
    top: -20px;
    left: -20px;
    color: var(--theme-color, green)
}

.p-section--point .p-check-point__image {
    overflow: hidden;
    aspect-ratio: 1/1;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-right: 20px;
    width: 150px;
    border-radius: 5px
}

.p-section--point .p-check-point__image img {
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%;
    height: 100%
}

.p-section--point .p-check-point__title {
    margin-bottom: 5px;
    padding-bottom: 5px;
    border-bottom: 1px dotted var(--theme-color, green);
    font-weight: 500;
    font-size: 16px;
    font-size: 1rem;
    color: var(--theme-color, green)
}

.p-section--point .p-check-point__desc {
    font-size: 14px;
    font-size: .875rem
}

@media screen and (max-width: 743.9px) {
    .p-section--point .c-panel .p-section__header {
        top: -35px
    }

    .p-section--point .p-check-point {
        display: block
    }

    .p-section--point .p-check-point .p-angled-sub-title {
        top: -20px;
        left: 0px
    }

    .p-section--point .p-check-point__image {
        margin: 0 auto 15px
    }

    .p-section--point .p-check-point__title {
        margin-bottom: 5px;
        padding-bottom: 5px;
        border-bottom: 1px dotted var(--theme-color, green);
        font-weight: 500;
        font-size: 16px;
        font-size: 1rem;
        color: var(--theme-color, green)
    }

    .p-section--point .p-check-point__desc {
        font-size: 14px;
        font-size: .875rem
    }
}

.flex_row{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}

.p-section--curriculum .p-curriculum-panel {
    display: flex;
    flex-direction: column;
    padding: 15px 0;
    border-top: 1px solid #e5e5e5
}

.panel-two .p-curriculum-panel{
    width: 48%;
}

.panel-three .p-curriculum-panel{
    width: 32%;
}


@media screen and (max-width: 743.9px) {
    .panel-two .p-curriculum-panel,
    .panel-three .p-curriculum-panel{
    width: 100%;
}
}

.p-section--curriculum .p-curriculum-panel:last-child {
    border-bottom: 1px solid #e5e5e5
}




.p-section--curriculum .p-curriculum-panel__title {
    text-orientation: upright;
    margin:0 0 15px 0;
    padding: 10px;
    font-weight: 500;
    background-color: #eff5f8;
    letter-spacing: 2px;
    text-align: center;
    box-sizing: border-box;
    width: 100%;
}

.p-section--curriculum .p-curriculum-panel__body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.p-section--curriculum .p-curriculum-panel__image {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: center;
    flex-direction: column;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1
}

.p-section--curriculum .p-curriculum-panel__figure {
   width: 100%;
   height: auto;
    margin-bottom: 10px
}

.p-section--curriculum .p-curriculum-panel__figure img {
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%;
    height: 100%
}

.p-section--curriculum .p-curriculum-panel__caption {
    font-size: 14px;
    font-size: .875rem
}

.p-section--curriculum .p-curriculum-panel__contents {
    -webkit-box-flex: 3;
    -ms-flex: 3;
    flex: 3
}

.p-section--curriculum .p-curriculum-panel__contents dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.p-section--curriculum .p-curriculum-panel__contents dl+dl {
    margin-top: 15px
}

.p-section--curriculum .p-curriculum-panel__contents dl dt {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-right: 15px;
    width: 100px;
    font-size: 12px;
    font-size: .75rem
}

.p-section--curriculum .p-curriculum-panel__contents dl dd {
    margin-bottom: 0;
    font-size: 14px;
    font-size: .875rem
}

.p-section--curriculum .p-curriculum-panel__contents dl dd ul {
    list-style: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding: 0
}

.p-section--curriculum .p-curriculum-panel__contents dl dd ul li {
    margin: 0
}

.p-section--curriculum .p-curriculum-panel__contents dl dd ul li:after {
    content: "/";
    margin: 0 8px
}

.p-section--curriculum .p-curriculum-panel__contents dl dd ul li:last-child:after {
    content: none
}

@media screen and (max-width: 743.9px) {
    .p-section--curriculum .p-curriculum-panel {
        display: block
    }

    .p-section--curriculum .p-curriculum-panel__title {
        -webkit-writing-mode: horizontal-tb;
        -ms-writing-mode: lr-tb;
        writing-mode: horizontal-tb;
        margin-right: 0;
        margin-bottom: 15px;
        padding: 10px;
        text-align: center
    }

    .p-section--curriculum .p-curriculum-panel__body {
        display: block
    }

    .p-section--curriculum .p-curriculum-panel__image {
        margin: 0 auto;
    }

    .p-section--curriculum .p-curriculum-panel__caption {
        margin-bottom: 15px;
    }

    .p-section--curriculum .p-curriculum-panel__contents dl {
        display: block
    }
}

@media (max-width: 767.98px) {
    .p-section--curriculum .p-curriculum-panel__contents dl {
        display: block
    }

    .p-section--curriculum .p-curriculum-panel__contents dl dt {
        margin-bottom: 5px
    }
}

.p-section--curriculum .p-curriculum-panel-row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.p-section--curriculum .p-curriculum-panel-row,
.p-section--curriculum .p-curriculum-panel-row:before,
.p-section--curriculum .p-curriculum-panel-row:after,
.p-section--curriculum .p-curriculum-panel-row *,
.p-section--curriculum .p-curriculum-panel-row *:before,
.p-section--curriculum .p-curriculum-panel-row *:after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

.p-section--curriculum .p-curriculum-panel-row>* {
    -webkit-box-flex: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -ms-flex-preferred-size: calc((100% - (3 - 1) * 30px) / 3);
    flex-basis: calc((100% - (3 - 1) * 30px) / 3);
    margin-bottom: 30px
}

.p-section--curriculum .p-curriculum-panel-row>*:not(:last-child) {
    margin-right: 30px
}

.p-section--curriculum .p-curriculum-panel-row>*:nth-child(3n) {
    margin-right: 0
}

.p-section--curriculum .p-curriculum-panel-row .p-curriculum-panel {
    display: block;
    border: 0
}

.p-section--curriculum .p-curriculum-panel-row .p-curriculum-panel__title {
    -webkit-writing-mode: horizontal-tb;
    -ms-writing-mode: lr-tb;
    writing-mode: horizontal-tb;
    margin-right: 0;
    margin-bottom: 15px;
    padding: 10px;
    text-align: center
}

.p-section--curriculum .p-curriculum-panel-row .p-curriculum-panel__image {
    margin: 0 auto
}

@media screen and (max-width: 743.9px) {
    .p-section--curriculum .p-curriculum-panel-row {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }

    .p-section--curriculum .p-curriculum-panel-row,
    .p-section--curriculum .p-curriculum-panel-row:before,
    .p-section--curriculum .p-curriculum-panel-row:after,
    .p-section--curriculum .p-curriculum-panel-row *,
    .p-section--curriculum .p-curriculum-panel-row *:before,
    .p-section--curriculum .p-curriculum-panel-row *:after {
        -webkit-box-sizing: border-box;
        box-sizing: border-box
    }

    .p-section--curriculum .p-curriculum-panel-row>* {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        margin-bottom: 0
    }

    .p-section--curriculum .p-curriculum-panel-row>*:not(:last-child) {
        margin-right: 0
    }

    .p-section--curriculum .p-curriculum-panel-row .p-curriculum-panel__image {
        margin: 0 auto;
        max-width: 80%
    }
}

.p-section--curriculum .p-curriculum-description {
    padding: 15px 30px;
    border-radius: 10px;
    background-color: #fafafa
}

.p-section--curriculum .p-curriculum-description dl,
.p-section--curriculum .p-curriculum-description dt,
.p-section--curriculum .p-curriculum-description dd {
    margin: 0
}

.p-section--curriculum .p-curriculum-description dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 15px;
    border-bottom: 1px dotted #ccc
}

.p-section--curriculum .p-curriculum-description dl:last-child {
    margin-bottom: 0;
    border: 0
}

.p-section--curriculum .p-curriculum-description .c-label {
    margin-right: 30px;
    width: 120px;
    font-size: 16px;
    font-size: 1rem
}

.p-section--curriculum .p-curriculum-description__box {
    margin-bottom: 15px
}

.p-section--curriculum .p-curriculum-description__box:last-child {
    margin-bottom: 0
}

.p-section--curriculum .p-curriculum-description__title {
    margin-bottom: 5px;
    font-weight: 700
}

.p-section--curriculum .p-curriculum-description__title:before {
    content: "\30fb"
}

.p-section--curriculum .p-curriculum-description__desc {
    font-size: 14px;
    font-size: .875rem
}

@media (max-width: 767.98px) {
    .p-section--curriculum .p-curriculum-description dl {
        display: block
    }

    .p-section--curriculum .p-curriculum-description .c-label {
        margin-right: 0;
        margin-bottom: 10px;
        width: 100%
    }
}

.p-section--education {
    background-color: #fafafa
}

.p-point.counter-start {
    counter-reset: glsCounter
}

.p-point.counter-start .counter-item:before,
.p-point.counter-continue .counter-item:before {
    content: counter(glsCounter, decimal-leading-zero);
    counter-increment: glsCounter;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    display: grid;
    place-items: center;
    margin-right: 30px;
    width: 60px;
    height: 60px;
    font-family: EB Garamond, Shippori Mincho, \6e38\660e\671d, YuMincho, Hiragino Mincho ProN, HG\660e\671d E, Meiryo, serif;
    line-height: 1;
    font-size: 30px;
    font-size: 1.875rem;
    background-color: var(--theme-color, green);
    color: #fff
}

.p-point__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.p-point__item+.p-point__item {
    margin-top: 30px
}

.p-point__title {
    margin-bottom: 5px;
    font-size: 18px;
    font-size: 1.125rem;
    font-weight: 500;
    color: var(--theme-color, green)
}

.p-point__desc {
    font-size: 14px;
    font-size: .875rem
}

@media screen and (max-width: 743.9px) {
    .p-point.counter-start {
        counter-reset: glsCounter
    }

    .p-point.counter-start .counter-item:before,
    .p-point.counter-continue .counter-item:before {
        content: counter(glsCounter, decimal-leading-zero);
        counter-increment: glsCounter;
        margin-right: 15px;
        width: 40px;
        height: 40px;
        font-size: 24px;
        font-size: 1.5rem
    }

    .p-point__title {
        font-size: 16px;
        font-size: 1rem
    }
}


/* 追加分 */
.pointno{
    display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: center;
}

.pointno img{
    width: 50%;
    max-width: fit-content;
    height: auto;
    margin-bottom: 5rem;
}

.pointno p{
    width:50%;
    font-weight: bolder;
    font-size: 2rem;
   padding:0 0 2rem 2rem;
   box-sizing: border-box;
}
.bl p{
    color: #00469A;
}

.or p{
    color: #E65515;
}

.gr p{
    color: #008D3B;
    font-size: 1.8rem;
    letter-spacing: -0.1em;
       padding:0 0 2rem 2rem;
}


@media screen and (max-width: 768px) {
    .pointno p{
    font-size: 1.6rem;
    }
}

@media screen and (max-width: 743.9px) {
        .pc{
        display: none;
    }

.pointno img{
    width: 100%;
    padding-right: 10px;
    box-sizing: border-box;
    margin-bottom: 0;
}
.pointno p{
    width:100%;
    text-align: center;
        margin-bottom: 3rem;
}
}

.p-check-point {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    margin-top: 50px;
    padding: 15px;
    border-radius: 10px;
    background-color: #fafafa
}

.p-check-point .p-angled-sub-title {
    position: absolute;
    top: -20px;
    left: -20px;
    color: var(--theme-color, green)
}

.p-check-point__image {
    overflow: hidden;
    aspect-ratio: 1/1;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-right: 20px;
    width: 150px;
    border-radius: 5px
}

.p-check-point__image img {
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%;
    height: 100%
}

.p-check-point__title {
    margin-bottom: 5px;
    padding-bottom: 5px;
    border-bottom: 1px dotted var(--theme-color, green);
    font-weight: 500;
    font-size: 16px;
    font-size: 1rem;
    color: var(--theme-color, green)
}

.p-check-point__desc {
    font-size: 14px;
    font-size: .875rem
}

@media screen and (max-width: 743.9px) {
    .p-check-point {
        display: block
    }

    .p-check-point .p-angled-sub-title {
        top: -20px;
        left: -20px
    }

    .p-check-point__image {
        margin: 0 auto 15px
    }

    .p-check-point__title {
        margin-bottom: 5px;
        padding-bottom: 5px;
        border-bottom: 1px dotted var(--theme-color, green);
        font-weight: 500;
        font-size: 16px;
        font-size: 1rem;
        color: var(--theme-color, green)
    }

    .p-check-point__desc {
        font-size: 14px;
        font-size: .875rem
    }
}

.p-future {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 30px
}

.p-future:after {
    opacity: .02;
    position: absolute;
    top: -50px;
    right: 0;
    z-index: -1;
    content: "\f10e";
    font-family: iconfont;
    font-size: 550px;
    font-size: 34.375rem;
    line-height: 1;
    -webkit-transform: rotate(15deg);
    transform: rotate(15deg)
}

.p-future__body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 50%;
    padding: 0 60px 0 30px
}

.p-future__body>div {
    margin-left: 30px;
    padding-left: 30px;
    border-left: 1px solid #ccc
}

.p-future__body.js-in .p-future__title span:after {
    -webkit-transition-delay: .8s;
    transition-delay: .8s;
    width: 100%
}

.p-future__title {
    position: relative;
    margin-bottom: 30px;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    font-size: 30px;
    font-size: 1.875rem
}

.p-future__title small,
.p-future__title .small {
    font-size: 20px;
    font-size: 1.25rem
}

.p-future__title span {
    position: relative
}

.p-future__title span:after {
    -webkit-transition: .4s width cubic-bezier(.25, .1, .25, 1);
    transition: .4s width cubic-bezier(.25, .1, .25, 1);
    content: "";
    position: absolute;
    bottom: -5px;
    left: 0;
    z-index: -1;
    display: block;
    width: 0;
    height: 20px;
    background-color: #ffed57
}

.p-future__image {
    overflow: hidden;
    width: 50%;
    border-radius: 0 30px 30px 0
}

.p-future__image img {
    -o-object-fit: cover;
    object-fit: cover;
    object-position: top;
    width: 100%;
    height: 40vh
}

@media (max-width: 991.98px) {
    .p-future {
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse
    }

    .p-future:after {
        top: 0;
        font-size: 350px;
        font-size: 21.875rem
    }

    .p-future__body {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        padding: 0 15px;
        width: 100%
    }

    .p-future__body>div {
        margin-left: 0;
        padding-left: 0;
        border-left: 0
    }

    .p-future__title {
        margin: 0 auto 30px;
        text-align: center;
        font-size: 28px;
        font-size: 1.75rem
    }

    .p-future__title small,
    .p-future__title .small {
        font-size: 16px;
        font-size: 1rem
    }

    .p-future p {
        margin-bottom: 30px;
        text-align: center
    }

    .p-future__image {
        width: 90%
    }

    .p-future__image img {
        height: 30vh
    }
}

.p-future-list {
    overflow: hidden;
    padding-bottom: 100px
}

.p-future-list.counter-start {
    counter-reset: glsCounter
}

.p-future-list.counter-start .counter-item:before,
.p-future-list.counter-continue .counter-item:before {
    content: counter(glsCounter, decimal-leading-zero);
    counter-increment: glsCounter;
    font-family: EB Garamond, Shippori Mincho, \6e38\660e\671d, YuMincho, Hiragino Mincho ProN, HG\660e\671d E, Meiryo, serif;
    font-style: italic;
    line-height: 1;
    font-size: 120px;
    font-size: 7.5rem;
    color: var(--theme-color, green)
}

@media (max-width: 991.98px) {
    .p-future-list {
        padding-bottom: 0
    }

    .p-future-list.counter-start {
        counter-reset: glsCounter
    }

    .p-future-list.counter-start .counter-item:before,
    .p-future-list.counter-continue .counter-item:before {
        content: counter(glsCounter, decimal-leading-zero);
        counter-increment: glsCounter;
        font-size: 70px;
        font-size: 4.375rem
    }
}

.p-future-list .p-future:after {
    top: -160px
}

.p-future-list .p-future:nth-child(odd) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse
}

.p-future-list .p-future:nth-child(odd):after {
    -webkit-transform: rotate(-15deg);
    transform: rotate(-15deg);
    left: 0
}

.p-future-list .p-future:nth-child(odd) .p-future__body {
    padding: 0 30px 0 60px
}

.p-future-list .p-future:nth-child(odd) .p-future__image {
    border-radius: 30px 0 0 30px
}

@media (max-width: 991.98px) {
    .p-future-list .p-future {
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse
    }

    .p-future-list .p-future:after {
        top: -30px
    }

    .p-future-list .p-future:nth-child(odd) {
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse
    }

    .p-future-list .p-future:nth-child(odd) .p-future__body {
        padding: 0 15px
    }

    .p-future-list .p-future:nth-child(odd) .p-future__image {
        margin-left: auto
    }
}

.p-movie-slider-wrap {
    height: 460px
}

@media (max-width: 991.98px) {
    .p-movie-slider-wrap {
        height: 347.5px
    }
}

@media screen and (max-width: 743.9px) {
    .p-movie-slider-wrap {
        height: 235px
    }
}

.p-movie-slider {
    width: 100%;
    height: 100%
}

.p-movie-slider__slide {
    min-width: 400px
}

@media (max-width: 991.98px) {
    .p-movie-slider__slide {
        max-width: 300px
    }
}

@media screen and (max-width: 743.9px) {
    .p-movie-slider__slide {
        max-width: 200px
    }
}

.p-movie-slider ul {
    margin: 0;
    padding: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    position: relative;
    overflow: hidden;
    cursor: pointer;
    list-style-type: none
}

.p-movie-slider ul li {
    max-width: 400px;
    position: relative;
    margin-bottom: 20px;
    border-radius: 10px;
    overflow: hidden
}

.p-movie-slider ul li:last-child {
    margin-bottom: 0
}

.p-movie-slider ul li:before {
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    background-color: #0000004d
}

.p-movie-slider ul li:hover:before {
    opacity: 0
}

.p-movie-slider ul .c-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translateX(-50%) translateY(-50%);
    transform: translate(-50%) translateY(-50%);
    display: grid;
    place-items: center;
    width: 50px;
    height: 50px;
    font-size: 18px;
    font-size: 1.125rem;
    color: #fff;
    background-color: red;
    border-radius: 50%
}

.p-movie-slider ul .c-icon:before {
    position: relative;
    right: -2px
}

.p-movie-slider ul:hover:before,
.p-movie-slider ul:active:before,
.p-movie-slider ul:focus:before {
    background-color: #0000
}

.p-movie-slider ul .p-movie-slider__frame {
    width: 100%;
    aspect-ratio: 16/9
}

.p-movie-slider ul img {
    -o-object-fit: cover;
    object-fit: cover;
    height: 100%;
    width: 100%
}

@media (max-width: 991.98px) {
    .p-movie-slider ul .c-icon {
        width: 35px;
        height: 35px;
        font-size: 14px;
        font-size: .875rem
    }

    .p-movie-slider ul .c-icon:before {
        right: -2px
    }
}

.p-movie-slider__nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 50px
}

.p-movie-slider__nav .p-more {
    margin: 0 15px
}

.p-movie-slider__nav .p-more .c-icon {
    margin-right: 5px;
    color: red
}

.p-movie-slider__nav .p-arrow {
    pointer-events: auto;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    cursor: pointer;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 1px solid #000;
    background-color: #fff;
    color: #222
}

.p-movie-slider__nav .p-arrow .c-icon {
    position: relative;
    top: -7px
}

.p-movie-slider__nav .p-arrow.p-prev {
    -webkit-transform: scaleX(-1);
    transform: scaleX(-1)
}
.p-next{
    z-index: 1;
}
.p-movie-slider__nav {
    z-index: 1;
}
.p-arrow:hover {
    opacity: .5

}
@media (max-width: 991.98px) {
    .p-movie-slider__nav {
        margin-top: 30px
    }
}

.c-modal {
    padding: 100px
}

@media (max-width: 991.98px) {
    .c-modal {
        padding: 30px
    }
}

@media screen and (max-width: 743.9px) {
    .c-modal {
        padding: 0
    }
}

.p-player-wrap {
    max-width: 900px;
    width: 100%
}

.p-player {
    position: relative;
    width: 100%;
    padding-bottom: 56.25%
}

.p-player iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.c-close-button {
    position: absolute;
    top: 30px;
    right: 30px
}

@media (max-width: 991.98px) {
    .c-close-button {
        top: 15px;
        right: 15px
    }
}

.p-ig-slider+.p-ig-slider {
    margin-top: 10px
}

.p-ig-slider .swiper-wrapper {
    -webkit-transition-timing-function: linear;
    transition-timing-function: linear
}

.p-ig-slider .swiper-slide {
    pointer-events: none
}

.p-ig-slider .swiper-slide div {
    overflow: hidden;
    aspect-ratio: 1/1;
    border-radius: 10px
}

.p-ig-slider .swiper-slide img {
    -o-object-fit: cover;
    object-fit: cover;
    height: 100%
}

.p-ig-slider__nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 50px
}

.p-ig-slider__nav .p-more {
    margin: 0 15px
}

.p-ig-slider__nav .p-more .c-icon {
    margin-right: 5px;
    background: -webkit-gradient(linear, left bottom, left top, from(#802FF7), color-stop(#DD0C9B), to(#FFC102));
    background: linear-gradient(to top, #802FF7, #DD0C9B, #FFC102);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent
}

.p-ig-slider__nav .p-more .c-icon:before {
    position: static
}

.p-ig-slider__nav .p-arrow {
    pointer-events: auto;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    cursor: pointer;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 1px solid #000;
    background-color: #fff;
    color: #222
}

.p-ig-slider__nav .p-arrow .c-icon {
    position: relative;
    top: -7px
}

.p-ig-slider__nav .p-arrow.p-prev {
    -webkit-transform: scaleX(-1);
    transform: scaleX(-1)
}

.p-ig-slider__nav .p-arrow:hover {
    opacity: .5
}

@media (max-width: 991.98px) {
    .p-ig-slider__nav {
        margin-top: 30px
    }
}

.p-page-head {
    position: relative;
    display: grid;
    place-items: center;
    padding: 0 15px;
    height: 250px;
    text-align: center;
    -webkit-backdrop-filter: blur(7px);
    backdrop-filter: blur(7px);
    background-image: url(../img/bg_page_head_medical-63c9e4fe.webp);
    background-size: cover;
    background-position: center;
    color: #fff
}

.p-page-head:before {
    opacity: .85;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    display: block;
    width: 100%;
    height: 100%;
    background: linear-gradient(340deg, var(--theme-color-light, green) 0%, var(--theme-color, green) 100%)
}

.p-page-head:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px)
}

.p-page-head__title {
    position: relative;
    z-index: 2;
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px)
}

.p-page-head__title .p-logo {
    font-size: 50px;
    font-size: 3.125rem
}

.p-page-head__title .p-logo:before {
    content: "\f10d";
    font-family: iconfont;
    margin-bottom: 15px
}

.p-page-head__title .p-page-title {
    margin-bottom: 5px;
    font-size: 30px;
    font-size: 1.875rem;
    font-weight: 500
}

.p-page-head__title .p-page-title-en {
    font-family: Roboto Condensed, Noto Sans JP, \6e38\30b4\30b7\30c3\30af, YuGothic, Hiragino Sans, Hiragino Kaku Gothic ProN, Helvetica Neue, Helvetica, Meiryo, sans-serif;
    font-size: 18px;
    font-size: 1.125rem;
    font-weight: 300
}

@media screen and (max-width: 743.9px) {
    .p-page-head {
        height: 150px
    }

    .p-page-head__title {
        -webkit-transform: translateY(-5px);
        transform: translateY(-5px)
    }

    .p-page-head__title .p-logo {
        margin-bottom: 10px;
        font-size: 35px;
        font-size: 2.1875rem
    }

    .p-page-head__title .p-page-title {
        margin-bottom: 5px;
        font-size: 20px;
        font-size: 1.25rem;
        font-weight: 500
    }

    .p-page-head__title .p-page-title-en {
        font-family: Roboto Condensed, Noto Sans JP, \6e38\30b4\30b7\30c3\30af, YuGothic, Hiragino Sans, Hiragino Kaku Gothic ProN, Helvetica Neue, Helvetica, Meiryo, sans-serif;
        font-size: 16px;
        font-size: 1rem;
        font-weight: 300
    }
}

.p-anchor {
    list-style: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 0
}

.p-anchor,
.p-anchor:before,
.p-anchor:after,
.p-anchor *,
.p-anchor *:before,
.p-anchor *:after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

.p-anchor>* {
    -webkit-box-flex: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -ms-flex-preferred-size: calc((100% - (3 - 1) * 10px) / 3);
    flex-basis: calc((100% - (3 - 1) * 10px) / 3);
    margin-bottom: 10px
}

.p-anchor>*:not(:last-child) {
    margin-right: 10px
}

.p-anchor>*:nth-child(3n) {
    margin-right: 0
}

.p-anchor li a {
    position: relative;
    display: block;
    padding: 15px 30px;
    border-radius: 30px;
    background-color: #fff;
    border: 1px solid var(--theme-color, green);
    text-align: center;
    color: #222
}

.p-anchor li a:after {
    position: absolute !important;
    top: calc(50% - 10px) !important;
    right: 12px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    content: "\f102";
    font-family: iconfont;
    -webkit-transform: rotate(-270deg);
    transform: rotate(-270deg);
    color: var(--theme-color, green)
}

@media (max-width: 767.98px) {
    .p-anchor {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }

    .p-anchor,
    .p-anchor:before,
    .p-anchor:after,
    .p-anchor *,
    .p-anchor *:before,
    .p-anchor *:after {
        -webkit-box-sizing: border-box;
        box-sizing: border-box
    }

    .p-anchor>* {
        -webkit-box-flex: 0;
        -ms-flex-positive: 0;
        flex-grow: 0;
        -ms-flex-negative: 0;
        flex-shrink: 0;
        -ms-flex-preferred-size: calc((100% - 10px)/2);
        flex-basis: calc((100% - 10px)/2);
        margin-bottom: 10px
    }

    .p-anchor>*:not(:last-child) {
        margin-right: 10px
    }

    .p-anchor>*:nth-child(2n) {
        margin-right: 0
    }

    .p-anchor li a {
        padding: 10px 20px;
        font-size: .8125rem
    }

    .p-anchor li a:after {
        top: calc(50% - 8px) !important;
        right: 6px
    }
}

.p-about {
    margin-bottom: 80px;
    background-image: url(../img/bg_about_snc-fa7581bb.webp);
    background-size: cover;
    background-position: center
}

.p-about .container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.p-about__image {
    aspect-ratio: 3/2;
    overflow: hidden;
    margin: 0 30px;
    border-radius: 30px
}

.p-about__image img {
    -o-object-fit: cover;
    object-fit: cover
}

.p-about__title {
    margin-bottom: 15px;
    font-family: EB Garamond, Shippori Mincho, \6e38\660e\671d, YuMincho, Hiragino Mincho ProN, HG\660e\671d E, Meiryo, serif;
    font-size: 30px;
    font-size: 1.875rem;
    font-weight: 500
}

.p-about__en {
    margin-bottom: 10px;
    font-family: EB Garamond, Shippori Mincho, \6e38\660e\671d, YuMincho, Hiragino Mincho ProN, HG\660e\671d E, Meiryo, serif;
    font-size: 20px;
    font-size: 1.25rem;
    font-weight: 500;
    color: var(--theme-color, green)
}

@media (max-width: 767.98px) {
    .p-about {
        margin-bottom: 50px
    }

    .p-about .container {
        display: block
    }

    .p-about__image {
        margin: 0 0 30px
    }

    .p-about__title {
        text-align: center;
        font-size: 24px;
        font-size: 1.5rem
    }

    .p-about__en {
        text-align: center;
        font-size: 18px;
        font-size: 1.125rem
    }
}

.p-greeting-summary {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-bottom: 50px
}

.p-greeting-summary .c-circle-thumb {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-right: 30px
}

.p-greeting-summary__contents .p-message {
    margin-bottom: 15px;
    font-size: 28px;
    font-size: 1.75rem;
    font-family: EB Garamond, Shippori Mincho, \6e38\660e\671d, YuMincho, Hiragino Mincho ProN, HG\660e\671d E, Meiryo, serif
}

.p-greeting-summary__contents .p-position {
    margin-bottom: 5px;
    font-size: 12px;
    font-size: .75rem;
    color: #666
}

.p-greeting-summary__contents .p-name {
    font-size: 20px;
    font-size: 1.25rem;
    font-family: EB Garamond, Shippori Mincho, \6e38\660e\671d, YuMincho, Hiragino Mincho ProN, HG\660e\671d E, Meiryo, serif
}

@media screen and (max-width: 743.9px) {
    .p-greeting-summary {
        display: block;
        margin-bottom: 30px
    }

    .p-greeting-summary .c-circle-thumb {
        margin: 0 auto 15px
    }

    .p-greeting-summary__contents .p-message {
        font-size: 24px;
        font-size: 1.5rem;
        text-align: center
    }

    .p-greeting-summary__contents .p-position {
        margin-bottom: 5px;
        text-align: center;
        font-size: 12px;
        font-size: .75rem;
        color: #666
    }

    .p-greeting-summary__contents .p-name {
        font-size: 20px;
        font-size: 1.25rem;
        text-align: center;
        font-family: EB Garamond, Shippori Mincho, \6e38\660e\671d, YuMincho, Hiragino Mincho ProN, HG\660e\671d E, Meiryo, serif
    }
}

body.about .p-table th {
    width: 25%
}

.p-history-list {
    list-style: none
}

.p-history-list {
    list-style: none;
    padding: 0
}

.p-history-list li {
    overflow: hidden;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 0;
    width: 100%
}

.p-history-list__date {
    padding: 15px 0;
    width: 110px
}

.p-history-list__content {
    position: relative;
    width: 100%;
    border-left: 1px solid #ddd;
    padding: 15px 0 15px 30px
}

.p-history-list__content:before {
    content: "";
    position: absolute;
    left: -5px;
    top: 23px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--theme-color, green)
}

.p-pagenation {
    margin-top: 50px;
    margin-bottom: 50px
}

.p-pagenation div.page-numbers {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    line-height: 1;
    font-size: 20px;
    font-size: 1.25rem;
    font-family: Roboto Condensed, Noto Sans JP, \6e38\30b4\30b7\30c3\30af, YuGothic, Hiragino Sans, Hiragino Kaku Gothic ProN, Helvetica Neue, Helvetica, Meiryo, sans-serif
}

.p-pagenation div.page-numbers a {
    color: #222
}

.p-pagenation div.page-numbers a:hover {
    opacity: .7;
    text-decoration: none
}

.p-pagenation div.page-numbers .page-numbers {
    margin: 15px
}

.p-pagenation div.page-numbers .current {
    position: relative;
    color: var(--theme-color, green)
}

.p-pagenation div.page-numbers .current:after {
    content: "";
    position: absolute;
    bottom: -10px;
    display: block;
    width: 100%;
    height: 4px;
    background-color: var(--theme-color, green)
}

.p-pagenation div.page-numbers .p-arrow {
    pointer-events: auto;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    cursor: pointer;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: var(--theme-color, green);
    color: #fff
}

.p-pagenation div.page-numbers .p-arrow .c-icon {
    position: relative;
    top: -9px
}

.p-pagenation div.page-numbers .p-arrow.p-prev {
    -webkit-transform: scaleX(-1);
    transform: scaleX(-1)
}

.p-pagenation div.page-numbers .p-arrow:hover {
    opacity: .5
}

@media screen and (max-width: 743.9px) {
    .p-pagenation {
        margin-top: 30px;
        margin-bottom: 30px
    }
}

.p-form dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.p-form dl:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: 0
}

.p-form dt,
.p-form dd {
    margin: 0;
    padding: 0
}

.p-form dt {
    padding-right: 30px;
    width: 30%;
    font-weight: 500
}

.p-form dd {
    width: 70%
}

.p-form__row {
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px dotted #ccc
}

.p-form__row dt {
    padding-top: 7px;
    width: 35%
}

.p-form__row dd {
    width: 65%
}

@media (max-width: 767.98px) {
    .p-form dl {
        display: block
    }

    .p-form dt,
    .p-form dd {
        width: 100%
    }

    .p-form dt {
        margin-bottom: 10px;
        padding: 0
    }
}

.p-form--confirm dl dt {
    padding-top: 0
}

.p-form--confirm dl dd {
    position: relative;
    padding-right: 100px
}

.p-form--confirm dl dd .p-button {
    position: absolute;
    top: 50%;
    right: 0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    padding: 5px;
    font-size: 12px;
    font-size: .75rem;
    border-radius: 5px;
    max-width: none;
    min-width: 0;
    width: 80px
}

.p-form__send {
    margin-top: 30px;
    text-align: center
}

.p-form__send .p-button {
    margin: 30px auto
}

.p-form__send .p-button:hover {
    opacity: .7
}

@media screen and (max-width: 743.9px) {
    .p-form__send .c-checkbox {
        text-align: left
    }
}

.p-select-cf7 {
    position: relative;
    max-width: none !important;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content
}

.p-select-cf7 select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding: 8px 40px 8px 15px;
    width: 100%;
    border-radius: 5px;
    border: 1px solid #ccc;
    background-color: #fff
}

.p-select-cf7:before {
    position: absolute;
    top: 18px;
    right: 15px;
    z-index: 1;
    width: 0;
    height: 0;
    padding: 0;
    content: "";
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 6px solid #ccc;
    pointer-events: none
}

.p-checkbox-cf7 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.p-checkbox-cf7 input[type=checkbox] {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    border: 1px solid var(--theme-color, green);
    border-radius: 3px;
    width: 20px;
    height: 20px;
    margin-right: 10px;
    position: relative
}

.p-checkbox-cf7 input[type=checkbox] :active,
.p-checkbox-cf7 input[type=checkbox] :focus,
.p-checkbox-cf7 input[type=checkbox] :hover {
    outline: 0
}

.p-checkbox-cf7 .wpcf7-list-item {
    margin: 0
}

.p-checkbox-cf7 .wpcf7-list-item:after {
    opacity: 0;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    content: "";
    display: block;
    position: absolute;
    border-left: 2px solid var(--theme-color, green);
    border-bottom: 2px solid var(--theme-color, green);
    width: 13px;
    height: 7px;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    left: 3.5px;
    top: 5px
}

.p-checkbox-cf7 .wpcf7-list-item.is-checked:after {
    opacity: 1
}

.p-checkbox-cf7 span {
    display: block;
    text-align: left
}

.p-checkbox-cf7 .wpcf7-form-control-wrap {
    margin-right: 8px
}

.p-checkbox-cf7 .wpcf7-form-control-wrap,
.p-checkbox-cf7 .wpcf7-form-control,
.p-checkbox-cf7 .wpcf7-list-item {
    width: 20px;
    height: 20px
}

.p-step {
    list-style: none;
    margin: 0;
    padding: 0
}

.p-step.counter-start {
    counter-reset: glsCounter
}

.p-step.counter-start .counter-item:before,
.p-step.counter-continue .counter-item:before {
    content: counter(glsCounter, decimal-leading-zero);
    counter-increment: glsCounter;
    font-family: EB Garamond, Shippori Mincho, \6e38\660e\671d, YuMincho, Hiragino Mincho ProN, HG\660e\671d E, Meiryo, serif;
    font-style: italic;
    line-height: 1;
    font-size: 50px;
    font-size: 3.125rem;
    color: var(--theme-color, green)
}

.p-step__item {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin: 0 0 40px;
    padding: 15px 0;
    background-color: #fff;
    border-radius: 12px
}

.p-step__item:last-child {
    margin-bottom: 0
}

.p-step__item:last-child:after {
    content: none
}

.p-step__item:after {
    position: absolute;
    bottom: -25px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translate(-50%);
    border-color: var(--theme-color, green) transparent transparent !important;
    content: "";
    height: 0;
    width: 0;
    display: inline-block;
    border-style: solid;
    border-color: black transparent transparent;
    border-width: 14px 12px 0
}

.p-step__num {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    position: relative;
    padding: 30px 30px 20px;
    border-right: 1px solid #ddd
}

.p-step__num span {
    position: absolute;
    top: 15px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translate(-50%);
    font-family: Roboto Condensed, Noto Sans JP, \6e38\30b4\30b7\30c3\30af, YuGothic, Hiragino Sans, Hiragino Kaku Gothic ProN, Helvetica Neue, Helvetica, Meiryo, sans-serif;
    font-size: 14px;
    font-size: .875rem
}

.p-step__body {
    padding: 0 30px;
    width: 100%
}

.p-step__body p {
    font-size: 15px;
    font-size: .9375rem
}

.p-step__title {
    margin-bottom: 5px;
    font-size: 16px;
    font-size: 1rem;
    font-weight: 500
}

@media screen and (max-width: 743.9px) {
    .p-step.counter-start {
        counter-reset: glsCounter
    }

    .p-step.counter-start .counter-item:before,
    .p-step.counter-continue .counter-item:before {
        content: counter(glsCounter, decimal-leading-zero);
        counter-increment: glsCounter;
        font-size: 45px;
        font-size: 2.8125rem
    }

    .p-step__num {
        padding: 20px 20px 15px
    }

    .p-step__num span {
        position: absolute;
        top: 5px;
        left: 50%;
        -webkit-transform: translateX(-50%);
        transform: translate(-50%);
        font-family: Roboto Condensed, Noto Sans JP, \6e38\30b4\30b7\30c3\30af, YuGothic, Hiragino Sans, Hiragino Kaku Gothic ProN, Helvetica Neue, Helvetica, Meiryo, sans-serif;
        font-size: 14px;
        font-size: .875rem
    }

    .p-step__body {
        padding: 0 20px
    }

    .p-step__body p {
        font-size: 14px;
        font-size: .875rem
    }

    .p-step__title {
        font-size: 15px;
        font-size: .9375rem
    }
}

.p-apply-panel {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 15px 0
}

.p-apply-panel__item {
    width: 100%;
    padding: 20px 30px
}

.p-apply-panel__item+.p-apply-panel__item {
    border-left: 1px solid #ddd
}

.p-apply-panel .p-button {
    margin: 0 auto;
    max-width: 80%
}

.p-apply-panel .p-tel {
    font-family: Roboto Condensed, Noto Sans JP, \6e38\30b4\30b7\30c3\30af, YuGothic, Hiragino Sans, Hiragino Kaku Gothic ProN, Helvetica Neue, Helvetica, Meiryo, sans-serif;
    font-size: 40px;
    font-size: 2.5rem;
    line-height: 1;
    text-align: center
}

.p-apply-panel .p-tel .c-icon {
    margin-right: 5px;
    font-size: 30px;
    font-size: 1.875rem;
    color: var(--theme-color, green)
}

.p-apply-panel .p-tel .c-icon:before {
    top: -2px
}

.p-apply-panel .p-tel a {
    pointer-events: none;
    color: #222
}

.p-apply-panel .p-hour {
    margin-top: 5px;
    text-align: center;
    font-size: 14px;
    font-size: .875rem
}

@media screen and (max-width: 743.9px) {
    .p-apply-panel {
        display: block;
        padding: 0 15px
    }

    .p-apply-panel__item {
        width: 100%;
        padding: 30px 20px
    }

    .p-apply-panel__item+.p-apply-panel__item {
        border-left: 0;
        border-top: 1px solid #ddd
    }

    .p-apply-panel .p-button {
        margin: 0 auto;
        max-width: 100%
    }

    .p-apply-panel .p-tel a {
        pointer-events: auto
    }
}

.p-news-item__meta {
    margin-bottom: 3px
}

.p-news-item__date {
    font-size: 14px;
    font-size: .875rem
}

.p-news-item__title {
    margin-bottom: 8px;
    font-size: 18px;
    font-size: 1.125rem;
    font-weight: 500;
    color: var(--theme-color, green)
}

.p-news-item__excerpt {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    font-size: 14px;
    font-size: .875rem
}

.p-news-item a {
    color: #222
}

.p-news-item .c-label-list {
    margin-bottom: 8px
}

.p-news-item .c-label {
    padding: 4px 8px 5px;
    border-radius: 30px;
    font-weight: 300
}

.p-category-link {
    list-style: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin: 0 auto;
    padding: 0;
    width: 80%
}

.p-category-link,
.p-category-link:before,
.p-category-link:after,
.p-category-link *,
.p-category-link *:before,
.p-category-link *:after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

.p-category-link>* {
    -webkit-box-flex: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -ms-flex-preferred-size: calc((100% - (3 - 1) * 10px) / 3);
    flex-basis: calc((100% - (3 - 1) * 10px) / 3);
    margin-bottom: 10px
}

.p-category-link>*:not(:last-child) {
    margin-right: 10px
}

.p-category-link>*:nth-child(3n) {
    margin-right: 0
}

.p-category-link li a {
    position: relative;
    display: block;
    padding: 12px 20px;
    border-radius: 30px;
    background-color: #fff;
    border: 1px solid #000;
    text-align: center;
    color: #222
}

.p-category-link li.is-active a {
    border: 1px solid var(--theme-color, green);
    background-color: var(--theme-color, green);
    color: #fff
}

@media screen and (max-width: 743.9px) {
    .p-category-link {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        width: 100%
    }

    .p-category-link,
    .p-category-link:before,
    .p-category-link:after,
    .p-category-link *,
    .p-category-link *:before,
    .p-category-link *:after {
        -webkit-box-sizing: border-box;
        box-sizing: border-box
    }

    .p-category-link>* {
        -webkit-box-flex: 0;
        -ms-flex-positive: 0;
        flex-grow: 0;
        -ms-flex-negative: 0;
        flex-shrink: 0;
        -ms-flex-preferred-size: calc((100% - 10px)/2);
        flex-basis: calc((100% - 10px)/2);
        margin-bottom: 10px
    }

    .p-category-link>*:not(:last-child) {
        margin-right: 10px
    }

    .p-category-link>*:nth-child(2n) {
        margin-right: 0
    }

    .p-category-link li a {
        padding: 10px 20px;
        font-size: .8125rem
    }
}

.p-single__header {
    margin-bottom: 30px;
    padding-bottom: 15px;
    border-bottom: 1px solid #ccc
}

.p-single__header+.p-single__body {
    padding-bottom: 30px;
    border-bottom: 1px solid #ccc
}

.p-single__header .c-label-list {
    margin-bottom: 8px
}

.p-single__header .c-label {
    padding: 5px 12px;
    border-radius: 30px;
    font-size: 13px;
    font-size: .8125rem;
    font-weight: 300
}

.p-single__title {
    margin-bottom: 15px !important;
    font-size: 28px;
    font-size: 1.75rem;
    font-weight: 500;
    color: var(--theme-color, green)
}

.p-single__date {
    font-size: 14px;
    font-size: .875rem
}

.p-single__body p {
    margin-bottom: 30px
}

@media screen and (max-width: 743.9px) {
    .p-single__title {
        font-size: 24px;
        font-size: 1.5rem
    }
}

/*! PhotoSwipe main CSS by Dmytro Semenov | photoswipe.com */
.pswp {
    --pswp-bg: #000;
    --pswp-placeholder-bg: #222;
    --pswp-root-z-index: 100000;
    --pswp-preloader-color: rgba(79, 79, 79, .4);
    --pswp-preloader-color-secondary: rgba(255, 255, 255, .9);
    --pswp-icon-color: #fff;
    --pswp-icon-color-secondary: #4f4f4f;
    --pswp-icon-stroke-color: #4f4f4f;
    --pswp-icon-stroke-width: 2px;
    --pswp-error-text-color: var(--pswp-icon-color)
}

.pswp {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: var(--pswp-root-z-index);
    display: none;
    -ms-touch-action: none;
    touch-action: none;
    outline: 0;
    opacity: .003;
    contain: layout style size;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0)
}

.pswp:focus {
    outline: 0
}

.pswp * {
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

.pswp img {
    max-width: none
}

.pswp--open {
    display: block
}

.pswp,
.pswp__bg {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    will-change: opacity
}

.pswp__bg {
    opacity: .005;
    background: var(--pswp-bg)
}

.pswp,
.pswp__scroll-wrap {
    overflow: hidden
}

.pswp__scroll-wrap,
.pswp__bg,
.pswp__container,
.pswp__item,
.pswp__content,
.pswp__img,
.pswp__zoom-wrap {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.pswp__img,
.pswp__zoom-wrap {
    width: auto;
    height: auto
}

.pswp--click-to-zoom.pswp--zoom-allowed .pswp__img {
    cursor: -webkit-zoom-in;
    cursor: zoom-in
}

.pswp--click-to-zoom.pswp--zoomed-in .pswp__img {
    cursor: move;
    cursor: -webkit-grab;
    cursor: grab
}

.pswp--click-to-zoom.pswp--zoomed-in .pswp__img:active {
    cursor: -webkit-grabbing;
    cursor: grabbing
}

.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img,
.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img:active,
.pswp__img {
    cursor: -webkit-zoom-out;
    cursor: zoom-out
}

.pswp__container,
.pswp__img,
.pswp__button,
.pswp__counter {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.pswp__item {
    z-index: 1;
    overflow: hidden
}

.pswp__hidden {
    display: none !important
}

.pswp__content {
    pointer-events: none
}

.pswp__content>* {
    pointer-events: auto
}

.pswp__error-msg-container {
    display: grid
}

.pswp__error-msg {
    margin: auto;
    font-size: 1em;
    line-height: 1;
    color: var(--pswp-error-text-color)
}

.pswp .pswp__hide-on-close {
    opacity: .005;
    will-change: opacity;
    -webkit-transition: opacity var(--pswp-transition-duration) cubic-bezier(.4, 0, .22, 1);
    transition: opacity var(--pswp-transition-duration) cubic-bezier(.4, 0, .22, 1);
    z-index: 10;
    pointer-events: none
}

.pswp--ui-visible .pswp__hide-on-close {
    opacity: 1;
    pointer-events: auto
}

.pswp__button {
    position: relative;
    display: block;
    width: 50px;
    height: 60px;
    padding: 0;
    margin: 0;
    overflow: hidden;
    cursor: pointer;
    background: none;
    border: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
    opacity: .85;
    -webkit-appearance: none;
    -webkit-touch-callout: none
}

.pswp__button:hover,
.pswp__button:active,
.pswp__button:focus {
    -webkit-transition: none;
    transition: none;
    padding: 0;
    background: none;
    border: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
    opacity: 1
}

.pswp__button:disabled {
    opacity: .3;
    cursor: auto
}

.pswp__icn {
    fill: var(--pswp-icon-color);
    color: var(--pswp-icon-color-secondary)
}

.pswp__icn {
    position: absolute;
    top: 14px;
    left: 9px;
    width: 32px;
    height: 32px;
    overflow: hidden;
    pointer-events: none
}

.pswp__icn-shadow {
    stroke: var(--pswp-icon-stroke-color);
    stroke-width: var(--pswp-icon-stroke-width);
    fill: none
}

.pswp__icn:focus {
    outline: 0
}

div.pswp__img--placeholder,
.pswp__img--with-bg {
    background: var(--pswp-placeholder-bg)
}

.pswp__top-bar {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 60px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    z-index: 10;
    pointer-events: none !important
}

.pswp__top-bar>* {
    pointer-events: auto;
    will-change: opacity
}

.pswp__button--close {
    margin-right: 6px
}

.pswp__button--arrow {
    position: absolute;
    width: 75px;
    height: 100px;
    top: 50%;
    margin-top: -50px
}

.pswp__button--arrow:disabled {
    display: none;
    cursor: default
}

.pswp__button--arrow .pswp__icn {
    top: 50%;
    margin-top: -30px;
    width: 60px;
    height: 60px;
    background: none;
    border-radius: 0
}

.pswp--one-slide .pswp__button--arrow {
    display: none
}

.pswp--touch .pswp__button--arrow {
    visibility: hidden
}

.pswp--has_mouse .pswp__button--arrow {
    visibility: visible
}

.pswp__button--arrow--prev {
    right: auto;
    left: 0
}

.pswp__button--arrow--next {
    right: 0
}

.pswp__button--arrow--next .pswp__icn {
    left: auto;
    right: 14px;
    -webkit-transform: scale(-1, 1);
    transform: scaleX(-1)
}

.pswp__button--zoom {
    display: none
}

.pswp--zoom-allowed .pswp__button--zoom {
    display: block
}

.pswp--zoomed-in .pswp__zoom-icn-bar-v {
    display: none
}

.pswp__preloader {
    position: relative;
    overflow: hidden;
    width: 50px;
    height: 60px;
    margin-right: auto
}

.pswp__preloader .pswp__icn {
    opacity: 0;
    -webkit-transition: opacity .2s linear;
    transition: opacity .2s linear;
    -webkit-animation: pswp-clockwise .6s linear infinite;
    animation: pswp-clockwise .6s linear infinite
}

.pswp__preloader--active .pswp__icn {
    opacity: .85
}

@-webkit-keyframes pswp-clockwise {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0)
    }

    to {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg)
    }
}

@keyframes pswp-clockwise {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0)
    }

    to {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg)
    }
}

.pswp__counter {
    height: 30px;
    margin-top: 15px;
    -webkit-margin-start: 20px;
    margin-inline-start: 20px;
    font-size: 14px;
    line-height: 30px;
    color: var(--pswp-icon-color);
    text-shadow: 1px 1px 3px var(--pswp-icon-color-secondary);
    opacity: .85
}

.pswp--one-slide .pswp__counter {
    display: none
}

.keen-slider:not([data-keen-slider-disabled]) {
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: transparent;
    -ms-flex-line-pack: start;
    align-content: flex-start;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    overflow: hidden;
    position: relative;
    -ms-touch-action: pan-y;
    touch-action: pan-y;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -khtml-user-select: none;
    width: 100%
}

.keen-slider:not([data-keen-slider-disabled]) .keen-slider__slide {
    min-height: 100%;
    overflow: hidden;
    position: relative;
    width: 100%
}

.keen-slider:not([data-keen-slider-disabled])[data-keen-slider-reverse] {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse
}

.keen-slider:not([data-keen-slider-disabled])[data-keen-slider-v] {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

/* IPE追加分 */
p span.bold{
    font-weight: bold;
}
p.center{
    text-align: center;
}

ul.cllb li{
width: 100%;
display: flex;
justify-content: space-between;
margin-bottom: 5rem;
}

ul.cllb li img{
    display: block;
    width: 30%;
    height: auto;
    margin: 0 auto auto auto;
}

ul.cllb li dl{
    display: flex;
    flex-wrap: wrap;
    width: 65%;
}

ul.cllb li dl dt{
    width: 5em;
    font-weight: bold;
}

ul.cllb li dl dt:first-child{
    width: 100%;
    font-size: 1.5em;
    margin-bottom: 1rem;
}
ul.cllb li dl dt span.b{
    color: #004899;
}

ul.cllb li dl dt span.o{
    color: #E15317;
}
ul.cllb li dl dt span.g{
    color: #038B3F;
}
ul.cllb li dl dt span.p{
    color: #E75C79;
}

ul.cllb li dl dd{
    width: calc(100% - 5em);
    padding-left: 1rem;
    box-sizing: border-box;
    margin-bottom: 0.25em;
}

@media screen and (max-width: 743.9px) {
    ul.cllb li{
    flex-wrap: wrap;
    }
    ul.cllb li img{
        width: 100%;
        height: auto;
        margin: 0 auto 1em auto;
    }
    
    ul.cllb li dl{
        display: flex;
        flex-wrap: wrap;
        width: 100%;
    }
    ul.cllb li dl dt:first-child{
    text-align: center;
    }
    ul.cllb li dl dt,
    ul.cllb li dl dd{
        width: 100%;
    }
    ul.cllb li dl dd{
    margin-bottom: 1em;
    padding:0;
    }
    
}
p span.o{
    color: #E15317;
}

.sp{
    display: none;
}
.komoji{
        font-size: 0.7em !important;
    letter-spacing: -0.2em;
}
@media screen and (max-width: 743.9px) {
    .sp{
        display: block;
    }
    .pc{
        display: none;
    }
    .komoji{
    font-size: 1rem !important;
    letter-spacing: 0;
    }
}