@charset "UTF-8";

body {
    width: 100%;
}

/*///////////////////// font-face 読み込み例 ///////////////////////////*/

/*Noto Sans JP 400*/
@font-face {
    font-family: 'Noto Sans JP';
    src: url(/fonts/NotoSansJP-Regular.woff2);
    font-weight: 400;
    font-display: swap;
}
/*Noto Sans JP 500*/
@font-face {
    font-family: 'Noto Sans JP';
    src: url(/fonts/NotoSansJP-Medium.woff2);
    font-weight: 500;
    font-display: swap;
}
/*Noto Sans JP 700*/
@font-face {
    font-family: 'Noto Sans JP';
    src: url(/fonts/NotoSansJP-Bold.woff2);
    font-weight: 700;
    font-display: swap;
}
/*Noto Sans JP 900*/
@font-face {
    font-family: 'Noto Sans JP';
    src: url(/fonts/NotoSansJP-Black.woff2);
    font-weight: 900;
    font-display: swap;
}

/*///////////////////// font-face 読み込み例 ///////////////////////////*/

:root {
    --text-main-color: #1C1C1C;
    --text-white-color: #FFF;
    --text-black-color: #000;
    --text-red-color: #D82D2D;
    --text-orange-color: #FF5800;
    --text-main-font: "Noto Sans JP";
    --text-Lato-font: "Lato";
    --black: #1C1C1C;
    --white: #FFF;
    --orange: #FF5800;
    --red: #D82D2D;
    --yellow: #FF9D00;
    --green: #07B53B;
    --icon-black-color: #1C1C1C;
    --icon-white-color: #FFF;
    --icon-orange-color: #FF5800;
}

.org-header * {
    font-size: 14px;
    font-weight: 500;
    color: var(--text-main-color);
    font-family: var(--text-main-font);
}

.org-header * svg {
    width: 30px;
    height: 30px;
}
.org-header * a:hover {
    opacity: 1;
}

.org-header {
    background: var(--white);
    width: 100%;
    position: sticky;
    top: 0;
    left: 0;
    right: 0;
    z-index: 2;
}
    .org-header__inner {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding-left: 20px;
    }
        .org-header__left {
            display: flex;
            align-items: center;
            gap: 0 10px;
        }
            .header__bkn-count {
                color: var(--text-black-color);
                text-align: center;
                line-height: 1.9;
            }
                .header__bkn-count span {
                    font-size: 22px;
                    font-weight: 700;
                    font-family: var(--text-Lato-font);
                    line-height: 1;
                    letter-spacing: 0.88px;
                    color: var(--text-red-color);
                }
        .org-header__right {
            display: flex;
            align-items: center;
        }
            .header__navi-list {
                display: flex;
                align-items: flex-end;
                gap: 0 25px;
            }
                .header__navi-item a {
                    display: flex;
                    flex-direction: column;
                    justify-content: flex-end;
                    align-items: center;
                    gap: 2px;
                }
                .header__navi-item a .icon__st {
                    stroke: var(--icon-black-color);
                    fill: none;
                }
                .header__navi-item a .icon__fi {
                    stroke: none;
                    fill: var(--icon-black-color);
                }
                .header__navi-item a:hover {
                    color: var(--text-orange-color);
                }
                    .header__navi-item a:hover .icon__st {
                        stroke: var(--icon-orange-color);
                        transition: all .4s;
                    }
                    .header__navi-item a:hover .icon__fi {
                        fill: var(--icon-orange-color);
                        transition: all .4s;
                    }
                
            .header__btn-list {
                display: flex;
                align-items: center;
                gap: 0 5px;
                margin-left: 25px;
            }
                [class*="header__btn-item--"] a {
                    display: block;
                    width: 110px;
                    height: 56px;
                    border-radius: 5px;
                    padding-top: 28px;
                    color: var(--white);
                    text-align: center;
                    position: relative;
                }
                .header__btn-item--tel {
                    position: relative;
                }
                .header__btn-item--tel a {
                    background: var(--red);
                    border: 1px solid var(--red);
                }
                .tel__popup {
                    display: none;
                    position: absolute;
                    top: 110%;
                    left: -106px;
                    margin-top: 5px;
                    width: 264px;
                    background: linear-gradient(0deg, rgba(255, 255, 255, 0.92) 0%, rgba(255, 255, 255, 0.92) 100%), #EA2F2F;
                    padding: 15px 18px;
                    border-radius: 5px;
                    z-index: 10;
                }
                .header__btn-item--tel.is-show .tel__popup {
                    display: block;
                }
                    .popup__number {
                        display: flex;
                        align-items: center;
                        gap: 0 2px;
                        font-size: 30px;
                        font-weight: 500;
                        line-height: 1;
                        margin-bottom: 5px;
                        font-family: var(--text-Lato-font);
                    }
                        .popup__number svg {
                            fill: var(--red);
                            stroke: none;
                        }
                    .popup__info {
                        text-align: center;
                    }
                .header__btn-item--line a {
                    background: var(--green);
                    border: 1px solid var(--green);
                }
                .header__btn-item--mail a {
                    background: var(--orange);
                    border: 1px solid var(--orange);
                }
                    [class*="header__btn-item--"] a svg {
                        position: absolute;
                        top: 3px;
                        left: 50%;
                        transform: translateX(-50%);
                    }
                    [class*="header__btn-item--"] a .icon__st {
                        stroke: var(--icon-white-color);
                        fill: none;
                    }
                    [class*="header__btn-item--"] a .icon__fi {
                        stroke: none;
                        fill: var(--icon-white-color);
                    }
                    [class*="header__btn-item--"] a:hover {
                        background: var(--white);
                    }
                    .header__btn-item--tel a:hover,
                    .header__btn-item--tel.is-show > a {
                        background: var(--white);
                        color: var(--red);

                        svg {
                            fill: var(--red);
                        }
                    }
                    .header__btn-item--line a:hover {
                        color: var(--green);

                        svg {
                            stroke: var(--green);
                        }
                    }
                    .header__btn-item--mail a:hover {
                        color: var(--orange);

                        svg {
                            stroke: var(--orange);
                        }
                    }
            .menu__btn {
                display: flex;
                flex-direction: column;
                justify-content: flex-end;
                align-items: center;
                gap: 10px 0;
                width: 100px;
                height: 100px;
                padding-bottom: 19px;
                cursor: pointer;
            }
                .menu__icon {
                    width: 34px;
                    height: 25px;
                    margin: 0 auto;
                    position: relative;
                }
                    .menu__icon span {
                        display: block;
                        width: 100%;
                        height: 3px;
                        background: var(--black);
                        transition: all .5s;
                        position: absolute;
                        left: 0;
                    }
                    .menu__icon span:nth-of-type(1) {
                        top: 0;
                    }
                    .menu__icon span:nth-of-type(2) {
                        top: 11px;
                    }
                    .menu__icon span:nth-of-type(3) {
                        bottom: 0;
                    }
                    .menu__btn.active span:nth-of-type(1) {
                        -webkit-transform: translateY(12px) rotate(-45deg);
                        transform: translateY(12px) rotate(-45deg);
                    }
                    .menu__btn.active span:nth-of-type(2) {
                        opacity: 0;
                    }
                    .menu__btn.active span:nth-of-type(3) {
                        -webkit-transform: translateY(-10px) rotate(45deg);
                        transform: translateY(-10px) rotate(45deg);
                    }
                .menu__text {
                    text-align: center;
                }

.org-menu__modal * {
    font-size: 14px;
    font-weight: 400;
    color: var(--text-main-color);
    font-family: var(--text-main-font);
}
.org-menu__modal {
    display: none;
    background: rgba(255, 255, 255, 0.75);
    backdrop-filter: blur(10px);
    width: 100%;
    height: fit-content;
    padding: 50px 0 100px;
    position: fixed;
    top: 100px;
    left: 0;
    right: 0;
    z-index: 2;
}
    .org-menu__inner {
        display: flex;
        justify-content: center;
        gap: 0 59px;
    }
        .menu__group-wrap .menu__group:not(:last-of-type) {
            margin-bottom: 59px;
        }
            .menu__group-title {
                display: flex;
                align-items: center;
                gap: 0 8px;
                font-size: 16px;
                line-height: 1.25;
                margin-bottom: 15px;
            }
                .menu__group-title::before {
                    content: '';
                    background: var(--black);
                    width: 10px;
                    height: 10px;
                }
            .menu__link-item:not(:last-child) {
                margin-bottom: 18px;
            }
                .menu__link-item a {
                    line-height: 1;
                }
                .menu__link-item a:hover {
                    color: var(--color-primary-default-main);
                }
            .menu__sns-list {
                display: flex;
                gap: 20px;
            }
                .menu__sns a:hover {
                    opacity: .7;
                }

[class*="prefectures__modal--"] * {
    font-size: 14px;
    font-weight: 400;
    color: var(--text-main-color);
    font-family: var(--text-main-font);
}
[class*="prefectures__modal--"] {
    background: rgba(28, 28, 28, 0.55);
    backdrop-filter: blur(10px);
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 4;
}
.prefectures__modal--header {
    display: none;
}
div.prefectures__modal--header[aria-hidden="false"] {
    display: block;
}
div.prefectures__modal--header[aria-hidden="true"] {
    display: none;
}
    .prefectures__modal-contents {
        padding: 50px 60px 60px;
        background: var(--white);
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%,-50%);
    }
        .prefectures__modal-close {
            position: absolute;
            top: 20px;
            right: 20px;
            cursor: pointer;
        }
        .prefectures__modal-title {
            font-size: 30px;
            font-weight: 700;
            line-height: 1.5;
            letter-spacing: 1.2px;
            text-align: center;
            margin-bottom: 30px;
        }
            .prefectures__modal-title span {
                font-size: 30px;
                font-weight: 700;
                line-height: 1.5;
                letter-spacing: 1.2px;
                color: var(--orange);
            }
        .prefectures__modal-wrap {
            display: grid;
            grid-template-columns: 468px 586px;
            gap: 30px 50px;
        }
            .prefectures__modal-group:nth-child(odd) {
                width: 468px;
            }
            .prefectures__modal-group:nth-child(even) {
                width: 586px;
            }
                .prefectures__modal-region {
                    font-size: 16px;
                    font-weight: 700;
                    line-height: 1.25;
                    margin-bottom: 8px;
                }
                .prefectures__modal-area-list {
                    display: flex;
                    align-items: center;
                    gap: 0 8px;
                }
                    .prefectures__modal-area-item a {
                        display: flex;
                        justify-content: center;
                        align-items: center;
                        padding: 7px 15px;
                        border-radius: 5px;
                        background: #F3F3F3;
                        font-size: 14px;
                        line-height: 1;
                    }
                    .prefectures__modal-area-item.is-disabled a {
                        color: #B9B9B9;
                        pointer-events: none;
                        cursor: default;
                    }

@media screen and (max-width: 1280px) {
    .header__navi-list {
        gap: 18px;
    }
    .header__navi-item a {
        white-space: nowrap;
    }
    .header__btn-list {
        margin-left: 15px;
    }
}