button {
    color: #2d2d2d;
}

html {
    scroll-behavior: smooth;
}

.boxwrap {
    max-width: 1182px;
    padding-left: 20px;
    padding-right: 20px;
    margin: 0 auto;
}

.boxwrap.custom {
    padding-left: 0;
    padding-right: 0;
}

.pc {
    display: block !important;
}

@media screen and (max-width: 768px) {
    .pc {
        display: none !important;
    }
}

.sp {
    display: none !important;
}

@media screen and (max-width: 768px) {
    .sp {
        display: block !important;
    }
}

.ipad {
    display: none !important;
}

@media screen and (max-width: 768px) {
    .ipad {
        display: block !important;
    }
}

.ipad_pc {
    display: block !important;
}

@media screen and (max-width: 768px) {
    .ipad_pc {
        display: none !important;
    }
}

.ipadPro_sp {
    display: none !important;
}

@media screen and (max-width: 1024px) {
    .ipadPro_sp {
        display: block !important;
    }
}

.ipadPro_pc {
    display: block !important;
}

@media screen and (max-width: 1024px) {
    .ipadPro_pc {
        display: none !important;
    }
}

.pc_inline {
    display: inline-block !important;
}

@media screen and (max-width: 568px) {
    .pc_inline {
        display: none !important;
    }
}

.sp_inline {
    display: none !important;
}

@media screen and (max-width: 568px) {
    .sp_inline {
        display: inline-block !important;
    }
}

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

li {
    list-style: none;
}

ul {
    padding: 0;
    margin: 0;
}

a {
    color: inherit;
    text-decoration: none;
    -webkit-transition: 0.2s;
    transition: 0.2s;
}

a:hover {
    cursor: pointer;
    opacity: 0.7;
}

/* setting.scss end*/
.header {
    padding: 15px 0;
    border-bottom: #ccc solid 1px;
}

@media screen and (max-width: 768px) {
    .header .boxwrap {
        padding-left: 10px;
        padding-right: 10px;
    }
}

.header__top-bar {
    font-size: 12px;
    border-bottom: #cccccc solid 1px;
    margin-bottom: 10px;
}

@media screen and (max-width: 768px) {
    .header__top-bar {
        display: none;
    }
}

.header__inner {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 0 20px;
}

@media screen and (max-width: 768px) {
    .header__inner {
        padding: 0;
        gap: 15px;
    }
}

.header__logo {
    max-width: 242px;
}

.header__contact a {
    background-color: #c7151c;
    color: #fff;
    font-weight: 500;
    font-size: 20px;
    padding: 12px 40px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 15px;
    border-radius: 30px;
}

@media screen and (max-width: 768px) {
    .header__contact a {
        font-size: 10px;
        border-radius: 10px;
        gap: 10px;
        padding: 10px 8px;
    }
}

.header__contact a::before {
    content: "";
    display: block;
    width: 24px;
    height: 24px;
    background-size: cover;
    background-image: url("data:image/svg+xml,%3Csvg height='256' viewBox='0 0 512 512' width='256' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m484.992 60.131h-10.519-447.469c-14.914 0-27.004 12.093-27.004 27.008v337.726c0 14.914 12.09 27.004 27.004 27.004h457.988c14.918 0 27.008-12.09 27.008-27.004v-337.726c0-14.915-12.09-27.008-27.008-27.008zm-438.445 333.265c47.21-37.867 94.414-75.742 141.613-113.629l49.379 39.41c9.875 7.878 23.89 7.863 33.746-.043l52.555-42.16c47.21 37.637 94.418 75.277 141.613 112.934v15.418h-418.906zm418.808-48.253c-31.187-24.879-62.382-49.75-93.582-74.618l-19.981-15.973c37.879-30.434 75.766-60.855 113.66-91.266v112.122zm.098-238.465v11.87c-64.738 51.954-129.48 103.906-194.234 155.848-9.851 7.902-23.863 7.926-33.738.051-63.645-50.746-127.298-101.481-190.934-152.234v-15.535h417.789zm-305.308 150.828c-23.328 18.73-46.668 37.449-70 56.168l-43.598 34.855v-181.691c31.058 24.789 62.121 49.566 93.191 74.343z' fill='%23fff'/%3E%3C/svg%3E");
}

.header__contact a span {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    white-space: nowrap;
}

.footer {
    color: #003586;
    padding-top: 20px;
    padding-bottom: 150px;
}

.footer__logo {
    margin-bottom: 10px;
}

.footer__logo a {
    display: block;
    text-align: center;
    line-height: 1.4;
}

.footer__logoText {
    font-size: 30px;
    font-weight: 700;
}

@media screen and (max-width: 768px) {
    .footer__logoText {
        font-size: 25px;
    }
}

.footer__logoSubText {
    font-size: 60px;
    font-weight: 700;
}

@media screen and (max-width: 768px) {
    .footer__logoSubText {
        font-size: 50px;
    }
}

.footer__copy {
    font-size: 15px;
    font-weight: 300;
    text-align: center;
    margin-bottom: 35px;
}

@media screen and (max-width: 768px) {
    .footer__copy {
        margin-bottom: 25px;
    }
}

.footer__antiques-law {
    font-size: 15px;
    font-weight: 300;
    line-height: 1.5;
    text-align: center;
}

.fixed-banner__inner {
    position: fixed;
    top: 66%;
    right: 0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    z-index: 10;
}

@media screen and (max-width: 568px) {
    .fixed-banner__inner {
        top: 75%;
    }
}

.fixed-banner a {
    background-color: #c7151c;
    color: #fff;
    font-size: 20px;
    font-weight: 500;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    padding: 30px 25px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 15px;
    border-radius: 12px 0 0 12px;
}

@media screen and (max-width: 768px) {
    .fixed-banner a {
        padding: 12px 24px 9px 23px;
        font-size: 13px;
        -webkit-writing-mode: unset;
        -ms-writing-mode: unset;
        writing-mode: unset;
        flex-direction: column;
        gap: 4px;
    }
}

@media screen and (max-width: 568px) {
    .fixed-banner a {
        -webkit-writing-mode: initial;
        -ms-writing-mode: initial;
        writing-mode: initial;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
        border-radius: 5px 0 0 5px;
        gap: 5px;
    }
}

.fixed-banner a::before {
    content: "";
    display: block;
    width: 24px;
    height: 24px;
    background-size: cover;
    background-image: url("data:image/svg+xml,%3Csvg height='256' viewBox='0 0 512 512' width='256' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m484.992 60.131h-10.519-447.469c-14.914 0-27.004 12.093-27.004 27.008v337.726c0 14.914 12.09 27.004 27.004 27.004h457.988c14.918 0 27.008-12.09 27.008-27.004v-337.726c0-14.915-12.09-27.008-27.008-27.008zm-438.445 333.265c47.21-37.867 94.414-75.742 141.613-113.629l49.379 39.41c9.875 7.878 23.89 7.863 33.746-.043l52.555-42.16c47.21 37.637 94.418 75.277 141.613 112.934v15.418h-418.906zm418.808-48.253c-31.187-24.879-62.382-49.75-93.582-74.618l-19.981-15.973c37.879-30.434 75.766-60.855 113.66-91.266v112.122zm.098-238.465v11.87c-64.738 51.954-129.48 103.906-194.234 155.848-9.851 7.902-23.863 7.926-33.738.051-63.645-50.746-127.298-101.481-190.934-152.234v-15.535h417.789zm-305.308 150.828c-23.328 18.73-46.668 37.449-70 56.168l-43.598 34.855v-181.691c31.058 24.789 62.121 49.566 93.191 74.343z' fill='%23fff'/%3E%3C/svg%3E");
}

.fixed-banner a:hover {
    opacity: 0.7;
}

#bottom-btns {
    display: block;
    width: 100%;
    height: auto;
    position: fixed;
    bottom: 0;
    right: 0;
    z-index: 999;
}

body.no-bottom-btns #bottom-btns {
    display: none;
}

#bottom-btns ul.bottom-btns-list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    list-style-type: none;
    margin: 0;
    padding: 0;
}

#bottom-btns ul.bottom-btns-list > li {
    width: 50%;
    height: auto;
    min-height: 50px !important;
    text-align: center;
    background-color: rgba(204, 51, 0, 0.9);
    border: none;
    border-top: 0px solid rgba(204, 204, 204, 0.65);
    margin: 0;
    padding: 4px;
}

#bottom-btns ul.bottom-btns-list > li.bottom-btns-item-call {
    padding-right: 2px;
}

#bottom-btns ul.bottom-btns-list > li.bottom-btns-item-contact {
    padding-left: 2px;
}

#bottom-btns ul.bottom-btns-list > li a {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    color: white;
    font-size: 16px;
    line-height: 1.1;
    border: 0px solid #ccc;
    border-radius: 2px;
    margin: 0;
    padding: 0.4em 0.5em;
}

#bottom-btns ul.bottom-btns-list > li a.call-btn {
    color: #c30;
    background-color: #c30;
    background-color: white;
    border-color: #bbb;
}

#bottom-btns ul.bottom-btns-list > li a.contact-btn {
    background-color: #090;
    border-color: #090;
}

#bottom-btns ul.bottom-btns-list > li a:hover {
    color: white;
    font-weight: normal;
    background-color: #aaa;
    border-color: #aaa;
}

#bottom-btns ul.bottom-btns-list > li a svg#bbtn-freedial-logo {
    width: auto;
    height: 18px;
}

#bottom-btns ul.bottom-btns-list > li a svg#bbtn-freedial-logo .st0 {
    fill: #999;
}

#bottom-btns ul.bottom-btns-list > li .flex-item {
    display: block;
    width: auto;
}

#bottom-btns ul.bottom-btns-list > li .flex-leftitem {
    text-align: right;
    padding: 0px 8px;
}

#bottom-btns ul.bottom-btns-list > li .flex-rightitem {
    text-align: left;
}

#bottom-btns ul.bottom-btns-list > li .flex-markeritem {
    font-size: 1.25em;
    line-height: 1;
    text-align: left;
    padding: 0px 2px;
    padding-left: 4px;
}

@media (max-width: 767px) {
    #bottom-btns {
        display: block;
    }

    #bottom-btns ul.bottom-btns-list > li a {
        font-size: 14px;
    }
}

@media (max-width: 500px) {
    #bottom-btns ul.bottom-btns-list > li {
        min-height: 44px !important;
    }

    #bottom-btns ul.bottom-btns-list > li.bottom-btns-item-call {
        width: 52%;
    }

    #bottom-btns ul.bottom-btns-list > li.bottom-btns-item-contact {
        width: 48%;
    }

    #bottom-btns ul.bottom-btns-list > li a {
        font-size: 13px;
        min-height: 44px;
    }

    #bottom-btns ul.bottom-btns-list > li .flex-leftitem {
        display: none;
    }

    #bottom-btns ul.bottom-btns-list > li .flex-rightitem {
        text-align: center;
    }
}

.feature {
    padding-top: 50px;
}

@media screen and (max-width: 768px) {
    .feature {
        padding-top: 40px;
    }
}

.feature__title {
    color: #003586;
    text-align: center;
    font-size: 40px;
    font-weight: bold;
    font-family: "Noto Serif JP", serif;
    margin-bottom: 50px;
}

@media screen and (max-width: 768px) {
    .feature__title {
        font-size: 25px;
        margin-bottom: 20px;
        line-height: 1.3;
    }
}

.voice {
    padding-top: 60px;
    padding-bottom: 45px;
    background-image: url(../images/voice-bg.png);
    background-size: 100% auto;
    position: relative;
    background-repeat: no-repeat;
}

@media screen and (max-width: 568px) {
    .voice {
        background-image: none;
    }
}

@media screen and (max-width: 568px) {
    .voice::before {
        content: "";
        background-image: url(../images/sp/square.jpg);
        background-position: top;
        background-size: cover;
        width: 100%;
        z-index: -1;
        padding-top: 45.86%;
        position: absolute;
        top: 0;
        left: 0;
        height: 40px;
    }
}

@media screen and (max-width: 568px) {
    /* .voice::after {
      content: "";
      background-image: url(../images/sp/square.jpg);
      background-position: top;
      background-size: cover;
      width: 100%;
      z-index: -1;
      padding-top: 45.86%;
      position: absolute;
      bottom: 0;
      left: 0;
    } */
}

.voice__title {
    text-align: center;
    font-size: 40px;
    font-weight: bold;
    font-family: "Noto Serif JP", serif;
    margin-bottom: 55px;
    line-height: 1;
}

@media screen and (max-width: 768px) {
    .voice__title {
        font-size: 23px;
    }
}

.voice__title .logo {
    width: 316px;
    display: inline-block;
}

@media screen and (max-width: 768px) {
    .voice__title .logo {
        width: 178px;
    }
}

.voice__title span {
    font-size: 50px;
    color: #ff6000;
}

@media screen and (max-width: 768px) {
    .voice__title span {
        font-size: 27px;
    }
}

.worries {
    background-color: #f6f2ec;
    padding-top: 80px;
    padding-bottom: 110px;
}

@media screen and (max-width: 768px) {
    .worries {
        padding-top: 30px;
        padding-bottom: 40px;
    }
}

.worries__inner {
    padding: 45px 0px;
    background-color: #fff;
}

@media screen and (max-width: 768px) {
    .worries__inner {
        background: none;
        padding: 0;
    }
}

.worries__content {
    background-color: #fff;
    padding: 50px;
}

.worries__headline {
    max-width: 400px;
    margin: 0 auto 10px;
}

@media screen and (max-width: 768px) {
    .worries__headline {
        max-width: 258px;
    }
}

.worries__title {
    font-size: 48px;
    margin-bottom: 55px;
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 15px;
    position: relative;
}

@media screen and (max-width: 1200px) {
    .worries__title {
        font-size: 38px;
    }
}

@media screen and (max-width: 768px) {
    .worries__title {
        font-size: 25px;
        gap: 3px;
        margin-bottom: 35px;
    }
}

.worries__title-icon {
    max-width: 58px;
    margin-top: -10px;
}

@media screen and (max-width: 1200px) {
    .worries__title-icon {
        max-width: 30px;
    }
}

@media screen and (max-width: 768px) {
    .worries__title-icon {
        margin-top: -7px;
    }
}

.worries__title-highlight {
    font-weight: bold;
}

.worries__title-img01 {
    display: block;
    max-width: 230px;
    position: absolute;
    top: 94%;
    left: 3%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

@media screen and (max-width: 1200px) {
    .worries__title-img01 {
        max-width: 180px;
    }
}

@media screen and (max-width: 1024px) {
    .worries__title-img01 {
        display: none;
    }
}

.worries__title-img02 {
    display: block;
    max-width: 228px;
    position: absolute;
    top: 295%;
    right: 3%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

@media screen and (max-width: 1200px) {
    .worries__title-img02 {
        max-width: 180px;
    }
}

@media screen and (max-width: 1024px) {
    .worries__title-img02 {
        display: none;
    }
}

.worries__section {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 40px;
    justify-content: center;
    padding: 0 30px;
    position: relative;
    background-color: #fff;
}

@media screen and (max-width: 768px) {
    .worries__section {
        padding: 0;
        gap: 25px;
    }
}

.worries__box {
    width: 30%;
    border: #003586 solid 3px;
    background-color: #fff;
}

.worries__box.custom {
    position: relative;
    z-index: 0;
}

.worries__section .fs30 {
    font-size: 30px;
}

/*.worries__box.custom::before {*/
/*  content: "";*/
/*  position: absolute;*/
/*  top: 0;*/
/*  left: 0;*/
/*  width: 100%;*/
/*  height: 100%; */
/*  background-image: url("../images/worries-bg.png");*/
/*  background-size: contain;*/
/*  background-repeat: no-repeat;*/
/*  background-position: bottom;*/
/*  z-index: -1;*/
/*}*/
@media screen and (max-width: 768px) {
    .worries__box {
        width: 100%;
    }

    .worries__box.custom::before {
        background-image: unset;
    }
}

.worries__box-title {
    color: #fff;
    background-color: #003586;
    font-size: 24px;
    font-weight: 400;
    padding: 20px 10px;
    text-align: center;
}

@media screen and (max-width: 768px) {
    .worries__box-title {
        font-size: 20px;
        padding: 5px 5px;
    }
}

.worries__box.custom .worries__box-title {
    background-color: #ffad37;
}

.worries__box.custom {
    border: #ffad37 solid 3px;
}

.worries__box.custom .worries__list-item {
    border-bottom: #ffad37 1px solid;
}

.worries__list {
    padding: 10px 15px 50px;
    font-feature-settings: "palt";
}

@media screen and (max-width: 768px) {
    .worries__list {
        padding: 2px 20px 10px;
        font-feature-settings: unset;
    }
}

.worries__list-item {
    font-size: 18px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    gap: 14px;
    padding: 16px 0;
    border-bottom: #003586 1px solid;
}

@media screen and (max-width: 768px) {
    .worries__list-item {
        font-size: 16px;
        gap: 3px;
        padding: 8px 0;
    }
}

.worries__list-item::before {
    content: "";
    display: block;
    width: 18px;
    height: 18px;
    border: #2d2d2d 1px solid;
    margin-top: 4px;
}

@media screen and (max-width: 768px) {
    .worries__list-item::before {
        width: 13px;
        height: 13px;
        margin-top: 6px;
    }
}

.worries__list-text {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
}

.promotion__top {
    font-family: "Noto Serif JP", serif;
    background-image: url(../images/promotion-bg-img.jpg);
    background-size: 100%;
    background-position: top;
    padding-top: 4.5%;
    padding-bottom: 3.5%;
    position: relative;
}

@media screen and (max-width: 1024px) {
    .promotion__top {
        background-color: rgba(255, 255, 255, 0.6);
        background-blend-mode: lighten;
    }
}

@media screen and (max-width: 768px) {
    .promotion__top {
        background-image: none;
        background-color: #fff;
        padding-top: 20px;
        padding-bottom: 25px;
    }
}

@media screen and (min-width: 1900px) {
    .promotion__top .boxwrap {
        max-width: 70%;
    }
}

.promotion__img {
    margin: 0 calc(50% - 50vw);
    width: 100vw;
}

.promotion__img--01 {
    margin-bottom: 20px;
}

.promotion__title {
    font-weight: bold;
    font-size: 45px;
    margin-bottom: 30px;
}

@media screen and (max-width: 768px) {
    .promotion__title {
        font-size: 25px;
        text-align: center;
        margin-bottom: 15px;
    }
}

.promotion__title .underline {
    position: relative;
}

.promotion__title .underline::after {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    display: block;
    height: 4px;
    width: 100%;
    background-color: #003586;
}

.promotion__title .color {
    color: #003586;
}

.promotion__title .color .big {
    font-size: 60px;
}

@media screen and (max-width: 768px) and (max-width: 768px) {
    .promotion__title .color .big {
        font-size: 35px;
    }
}

.promotion__text {
    font-weight: 500;
    font-size: 30px;
    line-height: 1.8;
}

@media screen and (max-width: 768px) {
    .promotion__text {
        font-size: 20px;
        text-align: center;
        line-height: 2.1;
        margin-bottom: 25px;
    }
}

.promotion__text:first-of-type {
    margin-bottom: 5px;
}

.promotion__text .highlight {
    font-size: 30px;
    background-color: #fefc9b;
    line-height: 1.5;
}

@media screen and (max-width: 768px) {
    .promotion__text .highlight {
        font-size: 25px;
    }
}

.promotion__text .color {
    color: #003586;
    font-size: 35px;
}

@media screen and (max-width: 768px) {
    .promotion__text .color {
        font-size: 30px;
    }
}

.promotion__cta {
    padding-top: 40px;
    padding-bottom: 80px;
}

@media screen and (max-width: 568px) {
    .promotion__cta {
        padding-top: 0;
    }
}

.promotion__cta-text {
    font-weight: 400;
    font-size: 30px;
    color: #003586;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding-bottom: 25px;
}

@media screen and (max-width: 768px) {
    .promotion__cta-text {
        font-size: 20px;
        line-height: 1.2;
        gap: 8px;
        text-align: center;
    }
}

.promotion__cta-text::before {
    content: " / ";
    display: inline-block;
    font-size: 35px;
    color: #003586;
    -webkit-transform: scaleX(-1);
    transform: scaleX(-1);
}

.promotion__cta-text::after {
    content: " / ";
    display: inline-block;
    font-size: 35px;
    color: #003586;
}

.promotion__cta-link {
    max-width: 844px;
    margin: 0 auto;
}

@media screen and (max-width: 768px) {
    .promotion__cta-link {
        margin: 0 calc(50% - 50vw);
        width: 100vw;
        padding: 0 10px;
    }
}

.promotion__cta-link a {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 20px;
    color: #fff;
    font-weight: 600;
    font-size: 35px;
    background-color: #c7151c;
    padding: 30px 15px;
    border-radius: 60px;
    -webkit-box-shadow: 8px 8px 0px 0px #6e070b;
    box-shadow: 8px 8px 0px 0px #6e070b;
    -webkit-transition: 0.1s;
    transition: 0.1s;
}

@media screen and (max-width: 768px) {
    .promotion__cta-link a {
        font-size: 21px;
        padding: 10px 40px;
    }
}

.promotion__cta-link a:hover {
    -webkit-transform: translate(5px, 5px);
    transform: translate(5px, 5px);
    -webkit-box-shadow: 3px 3px 0px 0px #6e070b;
    box-shadow: 3px 3px 0px 0px #6e070b;
}

.promotion__cta-link a::before {
    content: "";
    display: block;
    width: 43px;
    height: 43px;
    background-size: cover;
    background-image: url("data:image/svg+xml,%3Csvg height='256' viewBox='0 0 512 512' width='256' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m484.992 60.131h-10.519-447.469c-14.914 0-27.004 12.093-27.004 27.008v337.726c0 14.914 12.09 27.004 27.004 27.004h457.988c14.918 0 27.008-12.09 27.008-27.004v-337.726c0-14.915-12.09-27.008-27.008-27.008zm-438.445 333.265c47.21-37.867 94.414-75.742 141.613-113.629l49.379 39.41c9.875 7.878 23.89 7.863 33.746-.043l52.555-42.16c47.21 37.637 94.418 75.277 141.613 112.934v15.418h-418.906zm418.808-48.253c-31.187-24.879-62.382-49.75-93.582-74.618l-19.981-15.973c37.879-30.434 75.766-60.855 113.66-91.266v112.122zm.098-238.465v11.87c-64.738 51.954-129.48 103.906-194.234 155.848-9.851 7.902-23.863 7.926-33.738.051-63.645-50.746-127.298-101.481-190.934-152.234v-15.535h417.789zm-305.308 150.828c-23.328 18.73-46.668 37.449-70 56.168l-43.598 34.855v-181.691c31.058 24.789 62.121 49.566 93.191 74.343z' fill='%23fff'/%3E%3C/svg%3E");
}

.contact {
    padding-top: 60px;
    padding-bottom: 110px;
}

@media screen and (max-width: 768px) {
    .contact {
        padding-top: 0;
        padding-bottom: 30px;
    }
}

.contact__title {
    font-size: 40px;
    font-weight: 500;
    color: #003586;
    text-align: center;
    margin-bottom: 35px;
}

@media screen and (max-width: 768px) {
    .contact__title {
        font-size: 25px;
        margin-bottom: 0;
    }
}

.contact__flex .txtArea .linkArea {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 30px;
}

@media screen and (max-width: 768px) {
    .contact__flex .txtArea .linkArea {
        gap: 15px;
        padding: 0;
    }
}

.contact__flex .txtArea .linkArea .link01 a {
    font-size: 30px;
    font-weight: 400;
    font-family: 'D-DIN', serif;
    position: relative;
    height: 80px;
    padding: 9px 9px 9px 50px;
    border-radius: 60px;
    -webkit-box-shadow: 6px 6px 0px 0px #00381c;
    box-shadow: 6px 6px 0px 0px #00381c;
    -webkit-transition: 0.1s;
    transition: 0.1s;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    background-color: #308C65;
    color: #fff;
}

@media screen and (max-width: 1024px) {
    .contact__flex .txtArea .linkArea .link01 a {
        height: 64px;
        font-size: 28px;
        padding: 3px 15px 3px 55px;
    }
}

.contact__flex .txtArea .linkArea .link01 a:hover {
    -webkit-transform: translate(5px, 5px);
    transform: translate(5px, 5px);
    -webkit-box-shadow: 3px 3px 0px 0px #00381c;
    box-shadow: 3px 3px 0px 0px #00381c;
}

.contact__flex .txtArea .linkArea .link01 a::after {
    position: absolute;
    top: 50%;
    left: 9px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    content: "";
    display: block;
    width: 62px;
    height: 62px;
    background-image: url(../images/icon-tel.png);
    background-size: cover;
    background-position: center;
}

@media screen and (max-width: 1024px) {
    .contact__flex .txtArea .linkArea .link01 a::after {
        width: 50px;
        height: 50px;
    }
}

.contact__flex .txtArea .linkArea .link02 a {
    font-size: 20px;
    font-weight: 600;
    height: 80px;
    padding: 9px 14px;
    border-radius: 60px;
    -webkit-box-shadow: 6px 6px 0px 0px #6e070b;
    box-shadow: 6px 6px 0px 0px #6e070b;
    -webkit-transition: 0.1s;
    transition: 0.1s;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    background-color: #c7151c;
    color: #fff;
}

@media screen and (max-width: 1024px) {
    .contact__flex .txtArea .linkArea .link02 a {
        font-size: 17px;
        height: 64px;
        padding: 3px 14px;
    }
}

.contact__flex .txtArea .linkArea .link02 a:hover {
    -webkit-transform: translate(5px, 5px);
    transform: translate(5px, 5px);
    -webkit-box-shadow: 3px 3px 0px 0px #6e070b;
    box-shadow: 3px 3px 0px 0px #6e070b;
}

.consult__inner {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
}

@media screen and (max-width: 768px) {
    .consult__inner {
        display: block;
    }
}

.consult__inner .imgArea {
    width: 24.5%;
}

@media screen and (max-width: 768px) {
    .consult__inner .imgArea {
        width: 100%;
    }
}

.consult__inner .txtArea {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    padding: 50px 15px 20px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
}

@media screen and (max-width: 768px) {
    .consult__inner .txtArea {
        padding: 25px 15px 20px;
    }
}

.consult__inner .txtArea__title {
    margin-bottom: 25px;
    max-width: 720px;
}

@media screen and (max-width: 768px) {
    .consult__inner .txtArea__title {
        margin-bottom: 12px;
    }
}

.consult__inner .txtArea__text {
    font-size: 30px;
    font-weight: 500;
    text-align: center;
}

@media screen and (max-width: 768px) {
    .consult__inner .txtArea__text {
        font-size: 23px;
    }
}

.cta {
    padding-top: 70px;
    padding-bottom: 70px;
}

@media screen and (max-width: 768px) {
    .cta {
        padding-top: 10px;
        padding-bottom: 60px;
    }
}

.cta__heading {
    color: #003586;
    font-size: 30px;
    font-weight: 400;
    margin-bottom: 25px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
}

@media screen and (max-width: 768px) {
    .cta__heading {
        font-size: 19px;
        margin-bottom: 10px;
        text-align: center;
    }
}

.cta__heading::before {
    content: " / ";
    display: inline-block;
    font-size: 35px;
    color: #003586;
    -webkit-transform: scaleX(-1);
    transform: scaleX(-1);
}

@media screen and (max-width: 768px) {
    .cta__heading::before {
        font-size: 35px;
        margin-right: 10px;
    }
}

.cta__heading::after {
    content: " / ";
    display: inline-block;
    font-size: 35px;
    color: #003586;
}

@media screen and (max-width: 768px) {
    .cta__heading::after {
        font-size: 35px;
        margin-left: 10px;
    }
}

.cta__link {
    max-width: 845px;
    margin: 0 auto;
}

.cta__link a {
    font-size: 27px;
    font-weight: 600;
    padding: 30px 15px;
    border-radius: 60px;
    -webkit-box-shadow: 8px 8px 0px 0px #6e070b;
    box-shadow: 8px 8px 0px 0px #6e070b;
    -webkit-transition: 0.1s;
    transition: 0.1s;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    background-color: #c7151c;
    color: #fff;
    gap: 25px;
}

@media screen and (max-width: 768px) {
    .cta__link a {
        font-size: 20px;
        padding: 10px 30px;
    }
}

.cta__link a:hover {
    -webkit-transform: translate(5px, 5px);
    transform: translate(5px, 5px);
    -webkit-box-shadow: 3px 3px 0px 0px #6e070b;
    box-shadow: 3px 3px 0px 0px #6e070b;
}

.cta__link a::before {
    content: "";
    display: block;
    width: 43px;
    height: 43px;
    background-image: url("data:image/svg+xml,%3Csvg height='256' viewBox='0 0 512 512' width='256' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m484.992 60.131h-10.519-447.469c-14.914 0-27.004 12.093-27.004 27.008v337.726c0 14.914 12.09 27.004 27.004 27.004h457.988c14.918 0 27.008-12.09 27.008-27.004v-337.726c0-14.915-12.09-27.008-27.008-27.008zm-438.445 333.265c47.21-37.867 94.414-75.742 141.613-113.629l49.379 39.41c9.875 7.878 23.89 7.863 33.746-.043l52.555-42.16c47.21 37.637 94.418 75.277 141.613 112.934v15.418h-418.906zm418.808-48.253c-31.187-24.879-62.382-49.75-93.582-74.618l-19.981-15.973c37.879-30.434 75.766-60.855 113.66-91.266v112.122zm.098-238.465v11.87c-64.738 51.954-129.48 103.906-194.234 155.848-9.851 7.902-23.863 7.926-33.738.051-63.645-50.746-127.298-101.481-190.934-152.234v-15.535h417.789zm-305.308 150.828c-23.328 18.73-46.668 37.449-70 56.168l-43.598 34.855v-181.691c31.058 24.789 62.121 49.566 93.191 74.343z' fill='%23fff'/%3E%3C/svg%3E");
    background-size: cover;
}

.slider .slick-track {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    padding-bottom: 30px;
}

.slider .slick-slide {
    height: auto !important;
}

.slider .slick-dots li button:before {
    font-size: 15px !important;
    color: #a3b6e2 !important;
    opacity: 0.15 !important;
}

@media screen and (max-width: 768px) {
    .slider .slick-dots li button:before {
        font-size: 10px !important;
    }
}

.slider .slick-dots li.slick-active button:before {
    opacity: 0.5 !important;
}

.slider .slideCard {
    -webkit-box-shadow: 0 0 8px rgba(48, 141, 100, 0.2);
    box-shadow: 0 0 8px rgba(48, 141, 100, 0.2);
    margin: 0 15px;
    opacity: 0.5;
    background-color: #fff;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
}

@media screen and (max-width: 768px) {
    .slider .slideCard {
        margin: 0px 32px;
    }
}

.slider .slideCard.slick-center, .slider .slideCard:has(+ .slick-center), .slider .slideCard.slick-center + .slideCard {
    opacity: 1;
}

.slider .slideCard__name {
    background-color: #003586;
    color: #fff;
    padding: 7px;
    font-size: 18px;
    text-align: center;
}

.slider .slideCard__slideWrapper {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
}

.slider .slideCard__videoWrap {
    position: relative;
}

.slider .slideCard__videoWrap::after {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    z-index: 1;
    content: "\f04b";
    font-size: 20px;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    color: #fff;
    background-color: #ca3200;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.slider .slideCard .slideCard__videoThumbnail {
    width: 100%;
    height: auto;
    -o-object-fit: cover;
    object-fit: cover;
    aspect-ratio: 16/8.9;
}

.slider .slideCard__slideText {
    padding: 15px 15px 30px;
}

.slider .slideCard__slideContent {
    margin: 0 15px 20px;
    padding: 25px 10px;
    background-color: #e9f7f4;
    font-size: 16px;
    font-weight: 500;
    position: relative;
    margin-top: auto;
    height: 110px;
}

.slider .slideCard__slideCaption {
    padding: 0px 10px;
    background-color: #003586;
    font-size: 18px;
    font-weight: 500;
    position: absolute;
    line-height: 30px;
    height: 30px;
    left: -15px;
    top: -15px;
    color: #fff;
}

.slider .slideCard__slideDesc {
    font-size: 16px;
    font-weight: 500;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    overflow: hidden;
}

.slider .slide-arrow {
    cursor: pointer;
    -webkit-transition: 0.2s;
    transition: 0.2s;
}

.slider .slide-arrow:hover {
    opacity: 0.7;
}

.slider .prev-arrow {
    position: absolute;
    top: 40%;
    left: 13%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    z-index: 1;
}

@media screen and (max-width: 768px) {
    .slider .prev-arrow {
        top: 41%;
        left: 2%;
    }
}

.slider .prev-arrow::before {
    content: "";
    display: block;
    width: 50px;
    height: 50px;
    background-size: cover;
    background-image: url("../images/next.png");
    -webkit-transform: scaleX(-1);
    transform: scaleX(-1);
}

@media screen and (max-width: 768px) {
    .slider .prev-arrow::before {
        width: 40px;
        height: 40px;
    }
}

.slider .next-arrow {
    position: absolute;
    top: 40%;
    right: 13%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    z-index: 1;
}

@media screen and (max-width: 768px) {
    .slider .next-arrow {
        top: 41%;
        right: 2%;
    }
}

.slider .next-arrow::before {
    content: "";
    display: block;
    width: 50px;
    height: 50px;
    background-size: cover;
    background-image: url("../images/next.png");
}

@media screen and (max-width: 768px) {
    .slider .next-arrow::before {
        width: 40px;
        height: 40px;
    }
}

.slider-sp {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    gap: 30px;
    margin: 0 auto;
    padding: 0 20px;
    max-width: 1380px;
}

@media screen and (max-width: 768px) {
    .slider-sp {
        padding: 0px;
    }
}

.slider-sp .slideCard {
    -webkit-box-shadow: 0 0 8px rgba(48, 141, 100, 0.2);
    box-shadow: 0 0 8px rgba(48, 141, 100, 0.2);
    background-color: #fff;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    width: calc(25% - 22.5px);
}

@media screen and (max-width: 768px) {
    .slider-sp .slideCard {
        margin: 0px 32px;
    }
}

.slider-sp .slideCard__name {
    background-color: #003586;
    color: #fff;
    padding: 5px;
    font-size: 18px;
    text-align: center;
}

.slider-sp .slideCard__slideWrapper {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
}

.slider-sp .slideCard__videoWrap {
    position: relative;
}

.slider-sp .slideCard__videoWrap::after {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    z-index: 1;
    content: "\f04b";
    font-size: 20px;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    color: #fff;
    background-color: #ca3200;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.slider-sp .slideCard .slideCard__videoThumbnail {
    width: 100%;
    height: auto;
    -o-object-fit: cover;
    object-fit: cover;
    aspect-ratio: 16/8.9;
}

.slider-sp .slideCard__slideText {
    padding: 15px 15px 30px;
}

.slider-sp .slideCard__slideContent {
    margin: 0 15px 20px;
    padding: 20px 10px;
    background-color: #e9f7f4;
    font-size: 16px;
    font-weight: 500;
    position: relative;
    margin-top: auto;
    height: 110px;
}

.slider-sp .slideCard__slideCaption {
    padding: 0px 10px;
    background-color: #003586;
    font-size: 18px;
    font-weight: 500;
    position: absolute;
    line-height: 30px;
    height: 30px;
    left: -15px;
    top: -15px;
    color: #fff;
}

.slider-sp .slideCard__slideDesc {
    font-size: 16px;
    font-weight: 500;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    overflow: hidden;
}

.slider-sp .slide-arrow {
    cursor: pointer;
    -webkit-transition: 0.2s;
    transition: 0.2s;
}

.slider-sp .slide-arrow:hover {
    opacity: 0.7;
}

.slider-sp .prev-arrow {
    position: absolute;
    top: 50%;
    left: 13%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    z-index: 1;
}

@media screen and (max-width: 768px) {
    .slider-sp .prev-arrow {
        top: 41%;
        left: 2%;
    }
}

.slider-sp .prev-arrow::before {
    content: "";
    display: block;
    width: 50px;
    height: 50px;
    background-size: cover;
    background-image: url("../images/next.png");
    -webkit-transform: scaleX(-1);
    transform: scaleX(-1);
}

@media screen and (max-width: 768px) {
    .slider-sp .prev-arrow::before {
        width: 40px;
        height: 40px;
    }
}

.slider-sp .next-arrow {
    position: absolute;
    top: 50%;
    right: 13%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    z-index: 1;
}

@media screen and (max-width: 768px) {
    .slider-sp .next-arrow {
        top: 41%;
        right: 2%;
    }
}

.slider-sp .next-arrow::before {
    content: "";
    display: block;
    width: 50px;
    height: 50px;
    background-size: cover;
    background-image: url("../images/next.png");
}

@media screen and (max-width: 768px) {
    .slider-sp .next-arrow::before {
        width: 40px;
        height: 40px;
    }
}

.slider-sp .slick-track {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    padding-bottom: 30px;
}

.slider-sp .slick-slide {
    height: auto !important;
}

.slider-sp .slick-dots li button:before {
    font-size: 15px !important;
    color: #003586 !important;
    opacity: 0.15 !important;
}

@media screen and (max-width: 768px) {
    .slider-sp .slick-dots li button:before {
        font-size: 10px !important;
    }
}

.slider-sp .slick-dots li.slick-active button:before {
    opacity: 0.5 !important;
}

.text-highlight {
    font-weight: 700;
    background-color: #fefc9b;
    line-height: 1.4;
    display: inline-block;
    margin-bottom: 5px;
}

.cta-boxwrap.faststart {
    padding-top: 60px;
    padding-bottom: 69px;
}

.fukidashi--right.custom {
    margin-right: auto;
    margin-left: unset;
}

.emergency-banner {
  width: 90%;
  max-width: 860px;
  margin: 66px auto 0;
}

@media screen and (max-width: 768px) {
  .emergency-banner {
    width: 89.334%;
    max-width: 100%;
    margin: 60px auto 40px;
  }
}