/*
Theme Name: SEJ Robot Application Theme
Theme URI: https://hellohas.co.jp/
Author: Hello Has
Author URI: https://hellohas.co.jp/
Description: セブン-イレブン加盟店向け窓拭きロボット本体申込専用テーマ。
Version: 1.1.6
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 7.4
Text Domain: sej-robot-application-theme
*/

:root {
    --sej-green: #00843d;
    --sej-orange: #ff7a1a;
    --sej-blue: #4aa6df;
    --sej-text: #24313a;
    --sej-muted: #647484;
    --sej-line: #dce5ed;
    --sej-bg: #ffffff;
}

* {
    box-sizing: border-box;
}

html {
    min-height: 100%;
    background: var(--sej-bg);
}

body {
    margin: 0;
    min-height: 100%;
    color: var(--sej-text);
    background: var(--sej-bg);
    font-family: -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Yu Gothic", "YuGothic", "Meiryo", sans-serif;
    font-size: 16px;
    line-height: 1.7;
}

a {
    color: var(--sej-green);
}

.sej-site-header {
    border-bottom: 1px solid #edf1f4;
    background: #fff;
    position: sticky;
    top: 0;
    z-index: 100;
}

.admin-bar .sej-site-header { top: 32px; }

.sej-site-header__inner {
    display: flex;
    align-items: center;
    width: 100%;
    max-width: 1440px;
    min-height: 82px;
    margin: 0 auto;
    padding: 0 28px;
    justify-content: space-between;
    position: relative;
}

.sej-site-logo,
.sej-site-logo > a {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
}

.sej-site-logo {
    gap: 12px;
    min-width: 0;
}

.sej-site-logo img {
    display: block;
    width: 58px;
    height: 58px;
    object-fit: contain;
}

.sej-site-title {
    color: var(--sej-text);
    display: block;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .08em;
    text-decoration: none;
}

.sej-site-copy small {
    color: var(--sej-muted);
    display: block;
    font-size: 12px;
}

.sej-mobile-account-link { display: none; }

.sej-site-nav { align-items: center; display: flex; flex: 0 1 auto; gap: 16px; margin-left: auto; white-space: nowrap; }
.sej-site-nav a { color: var(--sej-text); font-size: 12.5px; font-weight: 750; text-decoration: none; }
.sej-site-nav a:hover { color: var(--sej-green); }
.sej-site-nav .sej-nav-cta { background: var(--sej-green); border-radius: 7px; color: #fff; padding: 10px 16px; }
.sej-menu-button { background: transparent; border: 0; display: none; height: 50px; padding: 7px; width: 54px; }
.sej-menu-button span { background: var(--sej-text); display: block; height: 2px; margin: 5px auto; width: 25px; }
.sej-menu-button em { display: block; font-size: 9px; font-style: normal; }

.sej-site-main {
    width: 100%;
}

.sej-site-content {
    width: min(1280px, calc(100% - 48px));
    margin: 0 auto;
    padding: 52px 0 80px;
}

.sej-site-content > .entry-title {
    display: none;
}

.sej-site-footer {
    padding: 24px;
    color: #91a0ad;
    text-align: center;
    font-size: 13px;
}

.screen-reader-text {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

@media (max-width: 1280px) {
    .admin-bar .sej-site-header { top: 46px; }
    .sej-menu-button { display: block; }
    .sej-site-nav { background: #fff; border-bottom: 1px solid var(--sej-line); box-shadow: 0 14px 38px rgba(27,58,45,.09); display: none; flex-direction: column; gap: 0; left: 0; padding: 14px 28px 24px; position: absolute; right: 0; top: 100%; }
    .sej-site-nav.is-open { display: flex; }
    .sej-site-nav a { border-bottom: 1px solid var(--sej-line); padding: 13px 4px; width: 100%; }
    .sej-site-nav .sej-nav-cta { margin-top: 12px; text-align: center; }
    .sej-site-nav .sej-mobile-account-link { display: block; }
    .sej-site-nav .sej-mobile-account-create { background: var(--sej-green); border: 0; border-radius: 7px; color: #fff; margin-top: 12px; padding-left: 14px; padding-right: 14px; text-align: center; }
}

@media (max-width: 640px) {
    .sej-site-header__inner {
        min-height: 68px;
        padding-left: 14px;
        padding-right: 10px;
        width: 100%;
    }

    .sej-site-content {
        width: min(100% - 28px, 100%);
    }

    .sej-site-logo {
        flex: 1 1 auto;
        gap: 8px;
        max-width: calc(100% - 54px);
        overflow: hidden;
    }

    .sej-site-logo > a {
        flex: 0 0 44px;
    }

    .sej-site-logo img {
        width: 44px;
        height: 44px;
    }

    .sej-site-copy {
        display: block;
        min-width: 0;
        overflow: hidden;
    }

    .sej-site-title {
        font-size: 12px;
        letter-spacing: 0;
        line-height: 1.35;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .sej-site-copy small {
        font-size: 9px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .sej-menu-button { flex: 0 0 50px; }

    .sej-site-nav { padding-left: 18px; padding-right: 18px; }

    .sej-site-content {
        padding: 28px 0 56px;
    }
}
