.elementor-396 .elementor-element.elementor-element-73e179d{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-396 .elementor-element.elementor-element-73e179d:not(.elementor-motion-effects-element-type-background), .elementor-396 .elementor-element.elementor-element-73e179d > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#111111;}.elementor-396 .elementor-element.elementor-element-6de0af8{--display:flex;}.elementor-396 .elementor-element.elementor-element-0ba1531{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-396 .elementor-element.elementor-element-0ba1531:not(.elementor-motion-effects-element-type-background), .elementor-396 .elementor-element.elementor-element-0ba1531 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#111111;}.elementor-396 .elementor-element.elementor-element-1134c68{--display:flex;}.elementor-396 .elementor-element.elementor-element-0f8b28a{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-396 .elementor-element.elementor-element-0f8b28a:not(.elementor-motion-effects-element-type-background), .elementor-396 .elementor-element.elementor-element-0f8b28a > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#111111;}.elementor-396 .elementor-element.elementor-element-9679be4{--display:flex;}.elementor-396 .elementor-element.elementor-element-7c9a6bd{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-396 .elementor-element.elementor-element-7c9a6bd:not(.elementor-motion-effects-element-type-background), .elementor-396 .elementor-element.elementor-element-7c9a6bd > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#111111;}.elementor-396 .elementor-element.elementor-element-df99563{--display:flex;}:root{--page-title-display:none;}/* Start custom CSS for html, class: .elementor-element-00a537c *//* セクション1: タイトル用CSS */
    .rr-company-title-section {
        background-color: #111111;
        color: #ffffff;
        font-family: 'Montserrat', 'Noto Serif JP', sans-serif;
        padding: 6rem 1.5rem 2rem 1.5rem;
        text-align: center;
    }

    .rr-section-title-en {
        color: #C5A05B; /* ゴールド */
        font-size: 0.9rem;
        letter-spacing: 0.2em;
        text-transform: uppercase;
        display: block;
        margin-bottom: 0.5rem;
        font-weight: 500;
    }

    .rr-section-title-jp {
        font-size: 2rem;
        font-family: 'Noto Serif JP', serif;
        font-weight: 500;
        margin: 0;
    }
    
    .rr-title-line {
        width: 60px;
        height: 1px;
        background-color: #C5A05B;
        margin: 1.5rem auto 0;
    }

    /* スマホ調整 */
    @media (max-width: 767px) {
        .rr-company-title-section {
            padding-top: 4rem;
        }
        .rr-section-title-jp {
            font-size: 1.8rem;
        }
    }/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-986dda2 *//* セクション2: メッセージ用CSS */
    .rr-company-message-section {
        background-color: #111111;
        color: #ffffff;
        font-family: 'Noto Serif JP', serif; /* 明朝体で品格を出す */
        padding: 2rem 1.5rem 8rem 1.5rem; /* 下に余白を多めに */
        text-align: center;
    }

    .rr-message-container {
        max-width: 800px;
        margin: 0 auto;
    }

    /* 見出しメッセージ */
    .rr-message-head {
        font-size: 2rem;
        line-height: 1.8;
        margin-bottom: 3rem;
        font-weight: 500;
        letter-spacing: 0.05em;
        color: #ffffff;
    }

    /* 本文 */
    .rr-message-body {
        font-size: 1rem;
        line-height: 2.4; /* ゆったりとした行間 */
        color: #cccccc;
        font-weight: 300;
        text-align: justify; /* 両端揃え */
        text-align-last: center; /* 最後の行は中央寄せ */
        font-family: 'Montserrat', 'Noto Serif JP', sans-serif;
    }

    /* スマホ調整 */
    @media (max-width: 767px) {
        .rr-company-message-section {
            padding-bottom: 4rem;
        }
        .rr-message-head {
            font-size: 1.5rem;
            line-height: 1.6;
            margin-bottom: 2rem;
            text-align: left; /* スマホでは左寄せの方が読みやすい場合も */
        }
        .rr-message-body {
            font-size: 0.95rem;
            text-align: left;
            text-align-last: left;
            line-height: 2;
        }
    }/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ba9df94 *//* セクション3: 会社概要表用CSS */
    .rr-company-table-section {
        background-color: #111111;
        color: #ffffff;
        font-family: 'Montserrat', 'Noto Serif JP', sans-serif;
        padding: 0 1.5rem 6rem 1.5rem;
    }

    .rr-table-container {
        max-width: 1000px;
        margin: 0 auto;
    }

    .rr-profile-table {
        width: 100%;
        border-collapse: collapse;
        border-top: 1px solid #333;
        border-bottom: 1px solid #333;
    }

    .rr-profile-table th,
    .rr-profile-table td {
        padding: 1.5rem;
        text-align: left;
        border-bottom: 1px solid #333;
        font-size: 0.95rem;
        vertical-align: top; /* 長い文章でも上揃え */
    }

    .rr-profile-table tr:last-child th,
    .rr-profile-table tr:last-child td {
        border-bottom: none;
    }

    .rr-profile-table th {
        width: 25%;
        color: #C5A05B; /* ゴールド */
        font-weight: normal;
        font-family: 'Noto Serif JP', serif;
        background-color: rgba(255,255,255,0.02);
        white-space: nowrap; /* 項目名は改行させない */
    }

    .rr-profile-table td {
        width: 75%;
        color: #ffffff;
        line-height: 1.8;
    }

    .rr-link-white {
        color: #ffffff;
        text-decoration: underline;
        transition: opacity 0.3s;
    }
    .rr-link-white:hover {
        opacity: 0.7;
    }

    /* スマホ調整 */
    @media (max-width: 767px) {
        .rr-profile-table th,
        .rr-profile-table td {
            display: block;
            width: 100%;
            padding: 1rem 0;
            border-bottom: none;
        }

        .rr-profile-table th {
            padding-bottom: 0.2rem;
            font-size: 0.85rem;
            background: none;
            color: #C5A05B;
            opacity: 0.8;
        }

        .rr-profile-table td {
            padding-top: 0;
            border-bottom: 1px solid #333;
            margin-bottom: 1rem;
        }
        
        .rr-profile-table tr:last-child td {
            border-bottom: none;
            margin-bottom: 0;
        }
    }/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-b455c6c *//* セクション4: マップ用CSS */
    .rr-company-map-section {
        background-color: #111111;
        color: #ffffff;
        padding: 0 1.5rem 6rem 1.5rem;
    }

    .rr-map-container {
        max-width: 1000px;
        margin: 0 auto;
    }

    /* 小見出し (ACCESS) */
    .rr-map-title {
        text-align: center;
        margin-bottom: 2rem;
    }
    .rr-map-title span {
        color: #C5A05B;
        font-size: 1rem;
        letter-spacing: 0.2em;
        text-transform: uppercase;
        font-family: 'Montserrat', sans-serif;
        border-bottom: 1px solid #333;
        padding-bottom: 10px;
        display: inline-block;
    }

    /* マップ埋め込み枠 */
    .rr-map-wrapper {
        width: 100%;
        height: 450px;
        border: 1px solid #333;
        /* デザインに合わせて地図の色味を調整 */
        filter: grayscale(100%) contrast(1.2) brightness(0.8);
        transition: filter 0.5s ease;
    }

    /* ホバーでカラーに戻す */
    .rr-map-wrapper:hover {
        filter: grayscale(0%);
    }

    .rr-map-wrapper iframe {
        width: 100%;
        height: 100%;
        border: 0;
        display: block;
    }

    /* スマホ調整 */
    @media (max-width: 767px) {
        .rr-map-wrapper {
            height: 300px; /* 高さを少し抑える */
        }
    }/* End custom CSS */