@charset "UTF-8";

.header_custom html {
    font-size: 62.5%;
}

.header_custom body {
    font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
    font-size: calc(1.2rem + 2 * (100vw - 320px)/1600);
    /*ベースサイズ最小1.2rem - 最大1.4rem*/
    line-height: 2.1;
    color: #000000;
    background-image: url("../img/common/backpaper.jpg");
    /*	background-image: image-set(url("../img/common/backpaper.jpg") 1x, url("../img/common/backpaper@2x.jpg") 2x);
	background-image: -webkit-image-set(url("../img/common/backpaper.jpg") 1x, url("../img/common/backpaper@2x.jpg") 2x);*/
    background-position: top center;
    background-size: contain;
    background-repeat: repeat-y;
}

.header_custom h6,
.header_custom h5,
.header_custom h4,
.header_custom h3,
.header_custom h2,
.header_custom h1,
.header_custom p,
.header_custom ol,
.header_custom ul,
.header_custom dl {
    margin: 0;
    padding: 0;
    margin-block-start: 0 !important;
    margin-block-end: 0 !important;
    margin-inline-start: 0 !important;
    margin-inline-end: 0 !important;
    padding-inline-start: 0 !important;
    font-weight: 400;
    list-style: none;
}

#customer_footer ol,
#customer_footer ul,
#customer_footer dl {
    margin: 0;
    padding: 0;
    margin-block-start: 0 !important;
    margin-block-end: 0 !important;
    margin-inline-start: 0 !important;
    margin-inline-end: 0 !important;
    padding-inline-start: 0 !important;
    font-weight: 400;
    list-style: none;
}

.header_custom a {
    text-decoration: none !important;
    transition: all .5s ease !important;
}

.header_custom a>* {
    transition: all .5s ease !important;
}

.header_custom a:hover {
    opacity: .3 !important;
}

.header_custom a.op-50:hover {
    opacity: 1 !important;
}

.header_custom a.hover-zoom,
.header_custom a.hover-zoom .img {
    display: block !important;
    overflow: hidden !important;
}

.header_custom a.hover-zoom .img img {
    transition: all .5s ease !important;
}

.header_custom a.hover-zoom:hover .img img {
    transform: scale(1.1) !important;
}

.header_custom a.hover-zoom:hover {
    opacity: 1 !important;
}

.header_custom a.hover-mask {
    display: block;
    position: relative;
    overflow: hidden;
}

.header_custom a.hover-mask .hover-text {
    opacity: 0;
    width: 100%;
    height: auto;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    background: rgba(0, 0, 0, .75);
    display: flex;
    justify-content: center;
    align-items: center;
    letter-spacing: .1rem !important;
}

.header_custom a.hover-mask:hover,
.header_custom a.hover-mask:hover img,
.header_custom a.hover-mask:hover .hover-text {
    opacity: 1 !important;
}

.header_custom img {
    white-space: pre;
    /**title, alt属性内の「&#13;&#10;」で改行**/
    line-height: 1;
}

.header_custom .border-top {
    border-top: 1px solid #A8A8A8 !important;
}

.header_custom .border-end {
    border-right: 1px solid #A8A8A8 !important;
}

.header_custom .border-bottom {
    border-bottom: 1px solid #A8A8A8 !important;
}

.header_custom .border-start {
    border-left: 1px solid #A8A8A8 !important;
}

.header_custom .border {
    border: 1px solid #A8A8A8 !important;
}

.header_custom .border-black {
    border-color: #000 !important;
}

.header_custom .border-lightgray {
    border-color: #D8D8D8 !important;
}

.header_custom .border-gray {
    border-color: #D6D6D6 !important;
}

.header_custom .border-dark-gray {
    border-color: #312E2E !important;
}

.header_custom .border-5 {
    border-width: .5rem !important;
}

.header_custom .border-9 {
    border-width: .9rem !important;
}

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

.w-70 {
    width: 70% !important;
}

.w-83 {
    width: 83% !important;
}

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

.bg-black.op-81 {
    background-color: rgba(0, 0, 0, .81) !important;
}

.bg-white.op-72 {
    background-color: rgba(255, 255, 255, .72) !important;
}

.op-10 {
    opacity: 10% !important;
}

.op-34 {
    opacity: 34% !important;
}

.op-50 {
    opacity: 50% !important;
}



.sans-serif {
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif !important;
}

.fc-white {
    color: #fff !important;
}

.fc-white a {
    color: #fff !important;
}

.fc-gray {
    color: #A8A8A8 !important;
}

.fc-dark-gray {
    color: #5C5C5C !important;
}

.fc-red {
    color: red !important;
}

.lh-0 {
    line-height: 0 !important;
}

.lh-sm {
    line-height: 1.5 !important;
}

.lh-m {
    line-height: 1.8 !important;
}

.lh-23 {
    line-height: 2.3 !important;
}

@media (min-width: 576px) {
    .lh-sm-1 {
        line-height: 1 !important;
    }
}

.ls-13 {
    letter-spacing: 0.13rem !important;
}

b,
strong,
.fw-bold {
    font-weight: 600 !important;
}

.text-justify {
    text-align: justify !important;
    text-justify: auto !important;
}



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

.fs-11 {
    font-size: calc(1rem + 1 * (100vw - 320px)/1600);
}

/*ベースサイズ最小1rem - 最大1.1rem*/
.fs-12 {
    font-size: calc(1rem + 2 * (100vw - 320px)/1600);
}

/*ベースサイズ最小1rem - 最大1.2rem*/
.fs-13 {
    font-size: calc(1.1rem + 2 * (100vw - 320px)/1600);
}

/*ベースサイズ最小1.1rem - 最大1.3rem*/
.fs-14 {
    font-size: calc(1.2rem + 2 * (100vw - 320px)/1600);
}

/*ベースサイズ最小1.2rem - 最大1.4rem*/
.fs-15 {
    font-size: calc(1.3rem + 2 * (100vw - 320px)/1600);
}

/*ベースサイズ最小1.3rem - 最大1.5rem*/
.fs-16 {
    font-size: calc(1.4rem + 2 * (100vw - 320px)/1600);
}

/*ベースサイズ最小1.4rem - 最大1.6rem*/
.fs-17 {
    font-size: calc(1.5rem + 2 * (100vw - 320px)/1600);
}

/*ベースサイズ最小1.5rem - 最大1.7rem*/
.fs-18 {
    font-size: calc(1.6rem + 2 * (100vw - 320px)/1600);
}

/*ベースサイズ最小1.6rem - 最大1.8rem*/
.fs-19 {
    font-size: calc(1.7rem + 2 * (100vw - 320px)/1600);
}

/*ベースサイズ最小1.7rem - 最大1.9rem*/
.fs-21 {
    font-size: calc(1.9rem + 2 * (100vw - 320px)/1600);
}

/*ベースサイズ最小1.9rem - 最大2.1rem*/
.fs-23 {
    font-size: calc(2.1rem + 2 * (100vw - 320px)/1600);
}

/*ベースサイズ最小2.1rem - 最大2.3rem*/
.fs-25 {
    font-size: calc(2.3rem + 2 * (100vw - 320px)/1600);
}

/*ベースサイズ最小2.3rem - 最大2.5rem*/
.fs-31 {
    font-size: calc(2.9rem + 2 * (100vw - 320px)/1600);
}

/*ベースサイズ最小2.9rem - 最大3.1rem*/
@media (min-width: 576px) {
    .fs-sm-15 {
        font-size: calc(1.3rem + 2 * (100vw - 576px)/1600);
    }

    /*ベースサイズ最小1.3rem - 最大1.5rem*/
    .fs-sm-16 {
        font-size: calc(1.4rem + 2 * (100vw - 576px)/1600);
    }

    /*ベースサイズ最小1.4rem - 最大1.6rem*/
    .fs-sm-18 {
        font-size: calc(1.6rem + 2 * (100vw - 576px)/1600);
    }

    /*ベースサイズ最小1.6rem - 最大1.8rem*/
    .fs-sm-20 {
        font-size: calc(1.8rem + 2 * (100vw - 576px)/1600);
    }

    /*ベースサイズ最小1.8rem - 最大2.0rem*/
    .fs-sm-22 {
        font-size: calc(2.0rem + 2 * (100vw - 576px)/1600);
    }

    /*ベースサイズ最小2.0rem - 最大2.2rem*/
}

@media (min-width: 768px) {
    .fs-md-23 {
        font-size: calc(2.1rem + 2 * (100vw - 768px)/1600);
    }

    /*ベースサイズ最小2.1rem - 最大2.3rem*/
    .fs-md-27 {
        font-size: calc(2.5rem + 2 * (100vw - 768px)/1600);
    }

    /*ベースサイズ最小2.5rem - 最大2.7rem*/
}

@media (min-width: 992px) {
    .fs-lg-19 {
        font-size: calc(1.7rem + 2 * (100vw - 992px)/1600);
    }

    /*ベースサイズ最小1.7rem - 最大1.9rem*/
    .fs-lg-31 {
        font-size: calc(2.9rem + 2 * (100vw - 992px)/1600);
    }

    /*ベースサイズ最小2.9rem - 最大3.1rem*/
}



.m-1col {
    margin: 8.33333% !important;
}

.m-50 {
    margin: 5rem !important;
}

.mx-025col {
    margin-left: 2.083333% !important;
    margin-right: 2.083333% !important;
}

.mx-05col {
    margin-left: 4.166666% !important;
    margin-right: 4.166666% !important;
}

.mx-1col {
    margin-left: 8.33333% !important;
    margin-right: 8.33333% !important;
}

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

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

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

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

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

.mt-55 {
    margin-top: 5.5rem !important;
}

.mt-60 {
    margin-top: 6rem !important;
}

.mt-10 {
    margin-top: 0rem !important;
}

.mt-15 {
    margin-top: 15rem !important;
}

.mt-n18 {
    margin-top: -18rem !important;
}

.me-1col {
    margin-right: 8.33333% !important;
}

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

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

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

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

.mb-8 {
    margin-bottom: 8rem !important;
}

.mb-10 {
    margin-bottom: 10rem !important;
}

.p-05col {
    padding: 4.166666% !important;
}

.p-1col {
    padding: 8.33333% !important;
}

.p-40 {
    padding: 4rem !important;
}

.px-1col {
    padding-left: 8.33333% !important;
    padding-right: 8.33333% !important;
}

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

.py-1col {
    padding-top: 8.33333% !important;
    padding-bottom: 8.33333% !important;
}

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

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

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

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

.py-75 {
    padding-top: 7.5rem !important;
    padding-bottom: 7.5rem !important;
}

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

.pt-6 {
    padding-top: 6rem !important;
}

.pt-65 {
    padding-top: 6.5rem !important;
}

.pt-75 {
    padding-top: 7.5rem !important;
}

.pt-8 {
    padding-top: 8rem !important;
}

.pt-10 {
    padding-top: 10rem !important;
}

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

.pb-5 {
    padding-bottom: 3rem !important;
    list-style: none;
}

.pb-8 {
    padding-bottom: 8rem !important;
}


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

@media (min-width: 576px) {
    .mx-sm-025col {
        margin-left: 2.083333% !important;
        margin-right: 2.083333% !important;
    }

    .mx-sm-1col {
        margin-left: 8.33333% !important;
        margin-right: 8.33333% !important;
    }

    .mt-sm-n10 {
        margin-top: -10rem !important;
    }

    .mt-sm-50 {
        margin-top: 5rem !important;
    }

    .mt-sm-55 {
        margin-top: 5.5rem !important;
    }

    .mt-sm-60 {
        margin-top: 6rem !important;
    }

    .mt-sm-10 {
        margin-top: 10rem !important;
    }

    .mb-sm-0 {
        margin-bottom: 0rem !important;
    }

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

    .mb-sm-75 {
        margin-bottom: 7.5rem !important;
    }

    .mb-sm-10 {
        margin-bottom: 10rem !important;
    }

    .p-sm-05col {
        padding: 4.151515% !important;
    }

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

@media (min-width: 768px) {
    .mx-md-0 {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .my-md-10 {
        margin-top: 10rem !important;
        margin-bottom: 10rem !important;
    }

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

    .mt-md-50 {
        margin-top: 5rem !important;
    }

    .mt-md-75 {
        margin-top: 7.5rem !important;
    }

    .mt-md-10 {
        margin-top: 10rem !important;
    }

    .mt-md-15 {
        margin-top: 0rem !important;
    }

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

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

    .mb-md-50 {
        margin-bottom: 5rem !important;
    }

    .mb-md-75 {
        margin-bottom: 7.5rem !important;
    }

    .mb-md-15 {
        margin-bottom: 15rem !important;
    }

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

    .p-md-05col {
        padding: 4.166666% !important;
    }

    .px-md-1col {
        padding-left: 8.33333% !important;
        padding-right: 8.33333% !important;
    }

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

    .py-md-75 {
        padding-top: 7.5rem !important;
        padding-bottom: 7.5rem !important;
    }

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

    .pt-md-10 {
        padding-top: 10rem !important;
    }

    .pt-md-75 {
        padding-top: 7.5rem !important;
    }

    .pb-md-50 {
        padding-bottom: 5rem !important;
    }
}

@media (min-width: 992px) {
    .mx-lg-05col {
        margin-left: 4.166666% !important;
        margin-right: 4.166666% !important;
    }

    .mx-lg-1col {
        margin-left: 8.33333% !important;
        margin-right: 8.33333% !important;
    }

    .mt-lg-n6 {
        margin-top: -6rem !important;
    }

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

    .mb-lg-50 {
        margin-bottom: 5rem !important;
    }

    .p-lg-0 {
        padding: 0 !important;
    }

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

    .px-lg-1col {
        padding-left: 8.33333% !important;
        padding-right: 8.33333% !important;
    }

    .ps-lg-2col {
        padding-left: 16.66666% !important;
    }
}


/* @group Footer */


footer {
    position: relative;
    background-image: url("https://storage.489ban.net/storage/customer/2753/goshoboh/img/footer_back.jpg");
    background-image: image-set(url("https://storage.489ban.net/storage/customer/2753/goshoboh/img/footer_back.jpg") 1x, url("https://storage.489ban.net/storage/customer/2753/goshoboh/img/footer_back.jpg") 2x);
    background-image: -webkit-image-set(url("https://storage.489ban.net/storage/customer/2753/goshoboh/img/footer_back.jpg") 1x, url("https://storage.489ban.net/storage/customer/2753/goshoboh/img/footer_back.jpg") 2x);
    background-position: top center;
    background-size: cover;
    background-repeat: no-repeat;
    z-index: 1031;
}


/* @end */

.d-flex {
    display: flex !important;
    align-items: center !important;
    justify-content: center;
    gap: 0 20px;
}

.flex-column {
    flex-direction: column !important;
}

.align-items-center {
    list-style: none;
    align-items: center !important;
}

.justify-content-center {
    justify-content: center !important;
}

.grecaptcha-badge {
    display: none;
    visibility: hidden;
}

/* @group Footer */
#sdgsbanner {
    max-width: 160px !important;
    height: auto;
    border-radius: 3px;
    display: flex;
    margin: 0 auto;
}

#sdgsbanner a {
    display: block;
    width: 100%;
}

#sdgsbanner a img {
    width: 100%;
    max-width: 160px;
    height: auto;
}

/* @end */

.bg-white {
    background-color: white !important;
}

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

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

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

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

.container-fluid {
    display: flex;
    flex-wrap: inherit;
    align-items: center;
    justify-content: space-between;
    padding: 0 !important;
}

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

.header_custom {
    width: 100%;
    margin: auto;
    background-color: #fff;
    opacity: 0.7;
    padding: 16px 0;
}

.header_flex {
    display: flex;
    justify-content: center;
    width: 95%;
    gap: 20px;
    margin: 0 auto;
}

.header_block1 {
    width: 20%;
    margin: auto 0;
}

.header_block1 img {
    width: 100% !important;
    max-width: 250px !important;
}

.header_block2 {
    width: 70%;
    margin: auto;
}

.header_block3 {
    width: 10%;
    margin: auto;
}

.header_block3_a {
    background-color: #000;

    color: #fff !important;
    padding: 8px 20px;
    text-align: center;
    display: block !important;
}

.header_block3_a:hover {
    color: #fff !important;
    background-color: #000;
    text-decoration: none;
}

.header_block2_flex {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin: auto;
}

.menu_a {
    color: #000 !important;
}

.menu_a:hover {
    text-decoration: none;
}

.gnavi__lists {
    display: flex;
    margin: auto;
}

.gnavi__list {
    width: 20%;
    height: 30px;
    position: relative;
    transition: all .3s;
    list-style: none;
}

.gnavi__list:hover {
    color: #000;
}


.gnavi__list:hover::before {}

.gnavi__list a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    text-decoration: none;
    color: #000;
    font-size: 14px;
    letter-spacing: 0.05em;
    font-weight: 400;
    transition: all .3s;
}

.gnavi__list:hover a {
    color: #000 !important;
}

.dropdown__lists {
    display: none;
    /*デフォルトでは非表示の状態にしておく*/
    width: 100%;
    position: absolute;
    top: 30px;
    left: 0;
}

.gnavi__list:hover .dropdown__lists {
    display: block;
    /*Gナビメニューにホバーしたら表示*/
}

.dropdown__list {
    background-color: #000;
    color: #fff;
    height: 30px;
    transition: all .3s;
    position: relative;
    list-style: none;
}

.dropdown__list:not(:first-child)::before {
    content: "";
    width: 100%;
    height: 1px;
    background-color: #000;
    position: absolute;
    top: 0;
    left: 0;
}

.dropdown__list:hover {
    background-color: #000;
    color: #fff;
}

.dropdown__list a {
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff !important;
    text-decoration: none;
    position: relative;
}

.dropdown__lists {
    visibility: hidden;
    /*デフォルトでは非表示の状態にしておく*/
    opacity: 0;
    /*不透明度0*/
    transition: all .3s;
    /*表示の変化を0.3秒に指定*/
    width: 100%;
    position: absolute;
    top: 30px;
    left: 0;
}

.gnavi__list:hover .dropdown__lists {
    visibility: visible;
    /*Gナビメニューにホバーしたら表示*/
    opacity: 1;
    /*不透明度1*/
}