@charset "UTF-8";
h1, .h1 {
    font-size: 2.5rem;
    line-height: 1.7;
}

h2, .h2 {
    font-size: 2rem;
    line-height: 1.7;
}

h3, .h3 {
    font-size: 1.75rem;
    line-height: 1.7;
}

h4, .h4 {
    font-size: 1.5rem;
    line-height: 1.7;
}

h5, .h5 {
    font-size: 1.25rem;
    line-height: 1.7;
}

h6, .h6 {
    font-size: 1rem;
    line-height: 1.7;
}

.text-14 {
    font-size: 0.875rem !important;
}

.light {
    font-weight: 300 !important;
}

.bold, strong, .strong {
    font-weight: 700 !important;
}

.bolder {
    font-weight: 900 !important;
}

.wrap {
    white-space: normal !important;
}

.nowrap {
    white-space: nowrap !important;
}

.pre-line {
    white-space: pre-line !important;
}

.pre-wrap {
    white-space: pre-wrap !important;
}

@media (min-width: 992px) {
    .pc-nowrap {
        white-space: nowrap !important;
    }
}

@media (max-width: 991.98px) {
    .sp-nowrap {
        white-space: nowrap !important;
    }
}

.ellipsis {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

@media (min-width: 992px) {
    .pc-ellipsis {
        overflow: hidden;
        white-space: nowrap;
        text-overflow: ellipsis;
    }
}

@media (max-width: 991.98px) {
    .sp-ellipsis {
        overflow: hidden;
        white-space: nowrap;
        text-overflow: ellipsis;
    }
}

.text-danger {
    color: #FF0000 !important;
}

.fs-8 {
    font-size: .5rem !important;
}

.fs-9 {
    font-size: .5625rem !important;
}

.fs-10 {
    font-size: .625rem !important;
}

.fs-11 {
    font-size: .6875rem !important;
}

.fs-12 {
    font-size: .75rem !important;
}

.fs-13 {
    font-size: .8125rem !important;
}

.fs-14 {
    font-size: .875rem !important;
}

.fs-15 {
    font-size: .9375rem !important;
}

.fs-16 {
    font-size: 1rem !important;
}

.fs-18 {
    font-size: 1.125rem !important;
}

.fs-20 {
    font-size: 1.25rem !important;
}

.fs-22 {
    font-size: 1.375rem !important;
}

.fs-24 {
    font-size: 1.5rem !important;
}

.fs-26 {
    font-size: 1.625rem !important;
}

.fs-28 {
    font-size: 1.75rem !important;
}

.fs-30 {
    font-size: 1.875rem !important;
}

.fw-light, .fw-200 {
    font-weight: 200 !important;
}

.fw-book, .fw-300 {
    font-weight: 300 !important;
}

.fw-normal, .fw-400 {
    font-weight: 400 !important;
}

.fw-medium, .fw-500 {
    font-weight: 500 !important;
}

.fw-bold, .fw-700 {
    font-weight: 700 !important;
}

.fw-black, .fw-900 {
    font-weight: 900 !important;
}

.ff-default, .ff-base {
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif !important;
}

.ff-primary, .ff-yumin {
    font-family: 'Yu Mincho' !important;
}

.ff-serif {
    font-family: Georgia, serif !important;
}

.ff-latino-serif {
    font-family: "Palatino Linotype", "Book Antiqua", Palatino, serif !important;
}

.ff-roman-serif {
    font-family: "Times New Roman", Times, serif !important;
}

.ff-sans {
    font-family: Arial, Helvetica, sans-serif !important;
}

.ff-verdana-sans {
    font-family: Verdana, Geneva, sans-serif !important;
}

.ff-tahoma-sans {
    font-family: Tahoma, Geneva, sans-serif !important;
}

.ff-lucida-sans {
    font-family: "Lucida Sans Unicode", "Lucida Grande", sans-serif !important;
}

.ff-mono {
    font-family: "Courier New", Courier, monospace !important;
}

.ff-lucida-mono {
    font-family: "Lucida Console", Monaco, monospace !important;
}

.animated {
    -webkit-animation-duration: 0.3s;
    animation-duration: 0.3s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
    animation-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}

.fit-cover {
    object-fit: cover !important;
}

.fit-contain {
    object-fit: contain !important;
}

.pointer-events-auto, .pe-auto {
    pointer-events: auto !important;
}

.pointer-events-none, .pe-none {
    pointer-events: none !important;
}

.Gmaps-style {
    -webkit-filter: grayscale(100%);
    -moz-filter: grayscale(100%);
    -ms-filter: grayscale(100%);
    -o-filter: grayscale(100%);
    filter: grayscale(100%);
}

@media (max-width: 991.98px) {
    .Gmaps-style {
        height: 18.75rem;
    }
}

.z-index-1 {
    z-index: 1;
}

.z-index-2 {
    z-index: 2;
}

.wpcf7-form-control-wrap {
    width: 100%;
    display: inline-block;
}

.separator-dash {
    border-bottom: 2px dashed #AFAFAF;
    padding-top: 1.5rem;
    margin-bottom: 1.5rem;
}

.btn-rounded-red {
    background: #fff;
    border: 2px solid #EE2623;
    padding: 1rem 2.5rem;
    border-radius: 1.875rem;
    outline: none;
    line-height: 1;
    transition: 0.5s all cubic-bezier(0.19, 1, 0.22, 1);
}

.btn-rounded-red:focus {
    box-shadow: none;
}

.btn-rounded-red:hover {
    background: #EE2623;
}

.btn-rounded-red:hover span {
    color: #fff;
}

.btn-rounded-red span {
    font-size: 1rem;
    line-height: 1;
    color: #EE2623;
}

.btn-full-red {
    background: #EE2623;
    color: #fff;
    padding: .875rem 0;
    width: 21.875rem;
    width: 60%;
    display: inline-block;
    border: 2px solid transparent;
    border-radius: 3.125rem;
    line-height: 1;
    transition: 0.5s all cubic-bezier(0.19, 1, 0.22, 1);
    margin-left: .5rem;
    margin-right: .5rem;
}

@media (max-width: 991.98px) {
    .btn-full-red {
        width: 100%;
        margin-bottom: 1rem;
        margin-left: 0;
        margin-right: 0;
    }
}

.btn-full-red:hover {
    border: 2px solid #EE2623;
    background: #fff;
}

.btn-full-red:hover.btn-icon i {
    color: #EE2623;
}

.btn-full-red:hover span {
    color: #EE2623;
}

.btn-full-red span {
    font-size: 1.375rem;
    font-weight: bold;
    line-height: 1;
}

.btn-full-red.btn-mail span {
    font-size: 1rem;
    font-weight: 500;
}

.btn-full-red.btn-icon i {
    font-size: 1.125rem;
    color: #fff;
    padding-right: .5rem;
}

.btn-red {
    background: #EE2623;
    color: #fff;
    padding: .875rem 0;
    min-width: 21.875rem;
    max-width: 21.875rem;
    width: 60%;
    display: inline-block;
    border: 2px solid transparent;
    border-radius: 3.125rem;
    line-height: 1;
    transition: 0.5s all cubic-bezier(0.19, 1, 0.22, 1);
}

@media (max-width: 991.98px) {
    .btn-red {
        width: 80%;
    }
}

.btn-red:hover {
    border: 2px solid #EE2623;
    background: #fff;
}

.btn-red:hover.btn-icon i {
    color: #EE2623;
}

.btn-red:hover span {
    color: #EE2623;
}

.btn-red span {
    font-size: 1rem;
    color: white;
    font-weight: bold;
    line-height: 1;
}

.breadcrumbs {
    position: relative;
    padding-top: .75rem;
    padding-bottom: 5rem;
}

@media (max-width: 767.98px) {
    .breadcrumbs {
        display: none;
    }
}

.breadcrumbs.pb-40 {
    padding-bottom: 2.5rem;
}

.breadcrumbs ul.breadcrumbs-list {
    padding-left: 0;
    margin-bottom: 0;
    list-style: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
}

.breadcrumbs ul.breadcrumbs-list li {
    padding-right: 2rem;
    position: relative;
}

.breadcrumbs ul.breadcrumbs-list li:not(:last-child):after {
    content: '>';
    position: absolute;
    right: .5rem;
    top: 50%;
    font-size: .875rem;
    color: #14375B;
    -webkit-transform: translateY(-55%);
    transform: translateY(-55%);
}

.breadcrumbs ul.breadcrumbs-list li:last-child {
    padding-right: 0;
}

.breadcrumbs ul.breadcrumbs-list li a {
    display: inline-block;
    color: #14375B;
    font-size: .875rem;
    font-weight: bold;
    line-height: 1;
    padding-bottom: .5rem;
    position: relative;
}

.breadcrumbs ul.breadcrumbs-list li a:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: #14375B;
}

.breadcrumbs ul.breadcrumbs-list li.active a {
    font-weight: 500;
}

.breadcrumbs ul.breadcrumbs-list li.active a:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: transparent;
}

.title-pack {
    position: relative;
}

.title-pack .angle-top {
    position: absolute;
    top: 0%;
    left: 0%;
}

.title-pack .angle-top img {
    width: .625rem;
    position: absolute;
}

.title-pack p.title {
    font-size: 2rem;
    font-weight: bold;
    line-height: 1;
    color: #242826;
    margin-bottom: 0;
    padding-bottom: .5rem;
    padding-left: .875rem;
    padding-top: .875rem;
}

.title-pack h2.sub {
    font-size: 1rem;
    color: #B5B5B5;
    line-height: 1;
    padding-left: .875rem;
}

.headers {
    position: relative;
}

.headers .title-pages {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    text-align: center;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    z-index: 1;
}

.headers .title-pages h1.title, .headers .title-pages div.title {
    position: relative;
    font-size: 2rem;
    line-height: 2;
    color: #fff;
    font-weight: bold;
    margin-bottom: 0;
    padding-bottom: 2rem;
}

@media (max-width: 991.98px) {
    .headers .title-pages h1.title, .headers .title-pages div.title {
        padding-bottom: 1rem;
    }
}

.headers .title-pages h1.title:after, .headers .title-pages div.title:after {
    content: '';
    position: absolute;
    left: 50%;
    bottom: 0;
    width: 2rem;
    height: 2px;
    background: #fff;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}

.title-border-left {
    position: relative;
    padding-left: 1rem;
    margin-bottom: 1.5rem;
}

.title-border-left:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: .375rem;
    bottom: 0;
    background: #EE2623;
    border-radius: 1.25rem;
}

.title-border-left h2.title {
    font-size: 1.5rem;
    color: #333333;
    line-height: 1.4;
    margin-bottom: 0;
    font-weight: bold;
}

.paginations {
    padding-left: 0;
    margin-bottom: 0;
    list-style: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.paginations li {
    padding: 0 .5rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.paginations li a {
    line-height: 1;
    font-size: 1.5rem;
    color: #333333;
}

.paginations li a i {
    color: #EE2623;
}

.paginations li .current {
    border: 0;
    border-radius: 100%;
    background: #EE2623;
    color: #fff;
    width: 2.0625rem;
    height: 2.0625rem;
    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;
}
