/* ------------------------------------
　▼root変数
------------------------------------ */
:root {
    --textColor: #333;
    --bootBlue: #0d6efd;
    --bootgrey: #E9ECEF;

}


/* ------------------------------------
　▼もともといたやつなど引用＆改変
------------------------------------ */
html, body {
    @media only screen and (max-width: 767px) {
        overflow-x: hidden;
    }
}

body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    background-color: var(--bs-body-bg);
    color: var(--bs-body-color);
    line-height: 1.6;
}

.main-content {
    background-color: var(--bs-body-bg);
    min-height: calc(100vh - 80px);
    margin-bottom: 20px;
}

.page-title {
    text-align: center;
    margin-bottom: 3rem;
    font-weight: bold;
    font-size: 1.8rem;
}


/* ------------------------------------
　▼help汎用
------------------------------------ */
.navbar {
    box-shadow: 0 0 5px 0 rgba(000, 000, 000, 0.3);
}

.heroHeader {
    background-color: #ffffff;
    background-image: radial-gradient(circle, #f5f5f5 5px, transparent 5px);
    background-position: 0 0;
    background-size: 30px 30px;
}

.heroHeader__title {
    padding: 30px 0 20px;
    position: relative;

    .page-title {
        font-weight: bold;
        background-color: #fff;
        border-top: solid 2px #333;
        border-bottom: solid 2px #333;
        padding: 10px 40px;
        width: fit-content;
        margin: 0 auto 16px;
        color: var(--textColor);

        @media only screen and (max-width: 767px) {
            margin: 0 auto 10px;
        }
    }

    .heroHeader__title--sub {
        text-align: center;
        font-size: 1.3rem;
        font-weight: bold;
        color: #333;
        margin-bottom: 0;
    }

    .headerFgc {
        width: 132px;
        position: absolute;
        left: calc(50% - 190px);
        bottom: -14px;
        transform: translateX(-50%);

        @media only screen and (max-width: 767px) {
            width: 100px;
            left: calc(50% - 108px);
            bottom: -11px;
        }
    }
}

.heroHeader__form {
    background-color: var(--bs-navbar-bg);
    padding: 50px 0;

    .formWrap {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;

        @media only screen and (max-width: 767px) {
            flex-direction: column;
        }

        .formWrap__title {
            margin-bottom: 0;
            font-size: 1.1rem;
            font-weight: bold;
            color: #666;;
        }
    }

    .gsc-control {
        margin: 0 auto;
        width: 545px;

        @media only screen and (max-width: 767px) {
            width: calc(100vw - 20px);
        }

        div {
            border-radius: 10px 0 0 10px !important;
        }
    }

    .gsc-control-cse {
        margin: 0 auto;
        width: 545px;
        background: transparent !important;
        border: none !important;
        @media only screen and (max-width: 767px) {
            width: calc(100vw - 20px);
        }
    }

    input.gsc-input {
        height: 45px !important;
        border-radius: 10px 0 0 10px !important;
        background: #ffffff !important;
        margin-top: -4px !important;
    }

    .gsc-input-box {
        border-radius: 10px 0 0 10px !important;
        height: 50px;
        padding: 0;
    }

    table.gsc-search-box td.gsc-input {
        padding-right: 1px !important;
    }

    table.gsc-search-box td#gs_tti50 {
        height: 50px;
        box-sizing: border-box;
    }

    .gsib_a {
        padding: 0px 10px;
    }
    .gsc-search-button {
        display: block !important;
    }
    .gsc-search-button-v2 {
        height: 50px;
        border-radius: 0 10px 10px 0 !important;
        position: relative;
        padding: 6px 35px;
        svg {
            position: relative;
            left: -17px;
        }
    }

    .gsc-search-button-v2::after {
        content: "検索";
        display: block;
        font-size: 16px;
        color: #fff;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        right: 17px;
    }
}

h2,
h3 {
    margin: 0;
}

ul {
    margin: 0;
}

.pnkz {
    display: flex;
    background-color: #fff;
    border-radius: 50px;
    padding: 6px 20px;
    list-style: none;
    margin: 50px 0;

    li {
        font-size: 12px;
        margin-right: 6px;
        color: var(--textColor);
    }

    li:after {
        content: ">";
        margin-left: 6px;
    }

    li:last-child:after {
        content: none;
        margin-right: 0;
    }
}

.helpMenu {
    padding-left: 25px;

    li {
        margin-bottom: 5px;
        color: #6c757d;
    }

    li:last-child {
        margin-bottom: 0;
    }
}

.helpCard {
    background: white;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 2rem;
    height: 100%;
    color: var(--textColor);

    @media only screen and (max-width: 767px) {
        padding: 25px 20px;
    }
}

.helpCard__bigTitle {
    font-size: 24px;
    font-weight: bold;

    i {
        margin-right: 10px;
        color: var(--bootBlue);
    }
}

.helpCard__title {
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 1rem;

    i {
        margin-right: 10px;
        color: var(--bootBlue);
    }
}

footer.footer-color {
    position: relative;
    margin-top: 200px !important;

    .footerFzc {
        position: absolute;
        height: 150px;
        top: -136px;
        left: 50%;
        transform: translateX(-50%);

        @media only screen and (max-width: 767px) {
            height: 130px;
            left: 50px;
            transform: inherit;
            top: -117px;
        }
    }
}

/* ------------------------------------
　▼help一覧ページ
------------------------------------ */
.heroHeader.top {
    .heroHeader__title {
        padding: 80px 0;

        @media only screen and (max-width: 767px) {
            padding: 40px 0 0;
        }
    }

    .page-title {
        margin-bottom: 30px;

        @media only screen and (max-width: 767px) {
            margin-bottom: 10px;
        }
    }

    .headerFgc {
        width: 226px;
        bottom: -24px;
        left: calc(50% - 300px);

        @media only screen and (max-width: 991px) {
            left: calc(50% - 200px);
        }

        @media only screen and (max-width: 767px) {
            position: relative;
            left: calc(50% + 15px);
        }
    }

    .heroHeader__form {
    }
}


.helpAll {
    max-width: 880px;
    margin: 0 auto;
    @media only screen and (max-width: 767px) {
        padding-top: 1.5rem !important;
    }
}

.helpAllBox {
    margin-bottom: 100px;
}

.faq {
    margin-bottom: 30px;

    p {
        margin-bottom: 0;
        display: flex;
        align-items: center;
    }

    .faq__q {
        border-bottom: solid 1px #000;
        padding-bottom: 10px;
        margin-bottom: 14px;
    }

    .faq__a {
        font-weight: normal;
        font-size: 16px;

        i {
            font-size: 20px;
        }
    }
}


/* ------------------------------------
　▼help詳細ページ：メインコンテンツ
------------------------------------ */
.helpContent {
    background-color: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;

    .intro {
        margin-bottom: 30px;
    }

    .helpCard {
        margin-bottom: 30px;
    }

    .helpCard__title {
        margin-bottom: 10px;
        text-indent: -11px;
        padding-left: 20px;

        i {
            margin-right: 2px;
        }
    }
}

.helpContentTitle {
    background-color: var(--bs-navbar-bg);
    padding: 20px;
    border-radius: 8px 8px 0 0;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;

    .helpContentTitle__title {
        font-size: 24px;
        font-weight: bold;
    }

    .helpContentTitle__btn {
        background-color: var(--bootBlue);
        color: #fff;
        border-radius: 50px;
        text-decoration: none;
        font-size: 12px;
        padding: 4px 16px;
        transition: .2s;
    }

    .helpContentTitle__btn:hover {
        background-color: #fff;
        color: var(--bootBlue);
    }
}

.helpContentDetail {
    padding: 30px 30px 50px;
    color: var(--textColor);
    @media only screen and (max-width: 767px) {
        padding: 20px 16px 50px;
    }
}

.helpPlan {
    .helpCard__title {
        background-color: #fff !important;
        padding: 0 !important;
        padding-left: 20px !important;
        text-indent: -11px !important;
    }
}

.planList {
    list-style: none;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;

    li {
        color: #fff;
        font-size: 14px;
        border-radius: 4px;
        padding: 2px 14px;
    }

    .free {
        background-color: #E6C521;
    }

    .light {
        background-color: #F7931E;
    }

    .basic {
        background-color: #975100;
    }
}

.mokuji {
    background-color: var(--bootgrey);

    .helpMenu {
        list-style: none;
        padding: 0;
        margin-bottom: 10px;
    }

    small {
        color: #7b838b;
    }
}

.sectionWrap {
    margin-top: -80px;
    padding-top: 80px;
    margin-bottom: 50px;

    .helpCard__title {
        background-color: var(--bootgrey);
        border-radius: 10px;
        padding: 16px;
        margin-bottom: 0;
        text-indent: 0;
    }
}

.sectionDetail {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    padding: 20px 20px 0;
    @media only screen and (max-width: 767px) {
        flex-direction: column;
        align-items: center;
    }

    .sectionDetail__img {
        width: 200px;
        cursor: pointer;

        img {
            width: 100%;
            margin-bottom: 10px;
        }

        img:last-child {
            margin-bottom: 0;
        }
    }

    .sectionDetail__text {
        flex: 1;

        .info {
            display: block;
            font-size: 12px;
            border: solid 1px #F7931E;
            border-radius: 10px;
            padding: 10px;
            padding-left: 26px;
            color: #7b838b;
            text-indent: -8px;
            margin-bottom: 16px;

            i {
                color: #F7931E;
                margin-right: 4px;
            }

            a {
                color: var(--bootBlue);
            }

            a:hover {
                color: var(--textColor);
            }
        }
    }
}

.reration {
    .reration__title {
        background-color: var(--bootgrey);
        border-top: solid 2px #000;
        border-bottom: solid 2px #000;
        font-size: 20px;
        font-weight: bold;
        display: flex;
        gap: 10px;
        justify-content: center;
        align-items: center;
        padding: 10px;

        img {
            width: 30px;
        }
    }

    .helpMenu {
        border-radius: 0 0 10px 10px;
        padding-left: 50px;
    }
}

.helpTopBtn {
    display: block;
    width: fit-content;
    margin: 0 auto;
    font-weight: bold;
    padding: 10px 20px;
}

/* ------------------------------------
　▼help詳細ページ：サイドバー
------------------------------------ */
.sidebar-container {
    @media only screen and (max-width: 991px) {
        position: static;
        width: 100%;
        max-width: 100%;
        z-index: 1;
    }

    .fixed-sidebar {
        @media only screen and (max-width: 991px) {
            height: auto;
        }
    }
}

.helpSide {
    background: white;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    position: relative;

    .helpCard__bigTitle {
        background-color: var(--bs-navbar-bg);
        padding: 20px 0;
        text-align: center;
        border-radius: 8px 8px 0 0;
    }

    .helpMenu {
        padding: 30px;
        padding-left: 46px;

        .current {
            text-decoration: none;
            color: #000;
        }
    }

    .sideFzc {
        position: absolute;
        width: 65px;
        bottom: -20px;
        right: 5px;
    }
}

.firstMv {
    max-width: 100%;
}

/* ------------------------------------
　▼help詳細ページ：モーダル
------------------------------------ */
.helpImgModal {
    position: fixed;
    inset: 0;
    z-index: 9999;

    /* 初期状態（非表示） */
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

.helpImgModal.is-active {
    opacity: 1;
    visibility: visible;
}

.helpImgModal__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.7);
}

/* モーダル本体 */
.helpImgModal__content {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0.95);
    opacity: 0;
    transition: transform 0.3s ease, opacity 0.3s ease;
}

.helpImgModal.is-active .helpImgModal__content {
    transform: translate(-50%, -50%) scale(1);
    opacity: 1;
}

.helpImgModal__content img {
    max-width: 90vw;
    max-height: 90vh;
}

.helpImgModal__close {
    border: solid 1px #fff;
    border-top: none;
    border-right: none;
    background-color: rgba(000, 000, 000, 0.6);
    width: 31px;
    height: 31px;
    color: #fff;
    position: absolute;
    top: 0;
    right: 0;
    border-radius: 0 0 0 10px;
}
