/*
Theme Name: SmartScreen Development
Description: Child theme for the Smartscreen
Author: Kazuki Nakagomi
Template: smartscreen
*/

@charset "utf-8";

/* ↓共通コードここから ※既存コードに埋め込む際は注意↓ */

* {
    margin: 0;
    padding: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    /* overscroll-behavior: contain; */
}

html,
body {
    /* ↓バウンド防止①↓ */
    overscroll-behavior: none;
}

body {
    width: 100vw;
    height: 100%;
    margin: 0 auto;
    overflow-x: hidden;
    font-family: "Droid Sans", sans-serif;
    -webkit-overflow-scrolling: touch;
    color: #000000;
}

header a {
    display: block;
    text-decoration: none;
    color: #000000;
}

header img {
    display: block;
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
}

header ul,
header li {
    list-style-type: none;
}

/* ↑共通コードここまで↑ */

header {
    margin-bottom: 56px;
}

/* ↓上メニューここから↓ */

.header-upper {
    width: 100%;
    height: 56px;
    padding: 14px 20px;
    background-color: #333333;
    overflow: hidden;
}

.header-upper::after {
    content: "";
    display: block;
    clear: both;
}

.header-logo {
    float: left;
}

.header-logo img {
    height: 28px;
}

.header-right {
    float: right;
    display: block;
}

.header-right ul,
.header-nav .forsp ul {
    display: flex;
    align-items: center;
}

.header-right ul li {
    padding-left: 18px;
}

.header-right img,
.header-nav .forsp img {
    height: 28px;
}

.header-right .yt,
.header-nav .forsp .yt {
    width: 35px;
    height: auto !important;
}

.header-right search,
.header-nav .forsp search {
    display: block;
}

.header-right search form,
.header-nav .forsp search form {
    display: flex;
    align-items: center;
    width: 200px;
    border-bottom: 1px solid #FFFFFF;
    box-sizing: border-box;
}

.header-right search button,
.header-nav .forsp search button {
    border: none;
    background: transparent;
    padding-right: 10.5px;
    cursor: pointer;
}

.header-right search button img,
.header-nav .forsp search button img {
    display: block;
    width: 16px;
}

.header-right search input[type="text"],
.header-nav .forsp search input[type="text"] {
    flex: 1;
    border: none;
    outline: none;
    font-size: 14px;
    background: transparent;
}

.header-right search input[type="text"],
.header-right search input[type="text"]::placeholder {
    color: #FFFFFF;
}

/* ↑上メニューここまで↑ */

#nav-close2 {
    display: none;
}

/* ↓下メニューここから↓ */

/* ↓親メニューここから↓ */

.header-nav {
    position: relative;
    width: auto;
    box-sizing: border-box;
    background-color: #FFFFFF;
}

.header-nav > nav > ul {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
}

.header-nav > nav > ul > li {
    position: relative;
    border-right: solid 1px #D9D9D9;
    border-bottom: solid 1px #D9D9D9;
}

.header-nav > nav > ul > li:last-child {
    border-right: none;
}

.header-nav > nav > ul > li > span {
    width: 100%;
    height: 100%;
    padding: 14px;
    font-size: 14px;
    font-weight: bold;
    letter-spacing: 0.1em;
    display: grid;
    place-items: center;
}

/* ↑親メニューここまで↑ */

/* ↓子メニューここから↓ */

.header-nav > nav > ul > li > ul {
    position: absolute;
    top: 100%;
    left: -1px;
    z-index: 9999 !important;
    width: calc(100% + 2px);
    background-color: #D9D9D9;
}

.header-nav > nav > ul > li > ul > li {
    position: relative;
}

.header-nav > nav > ul > li > ul > li > a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: 14.5px 14px !important;
    cursor: pointer;
}

.header-nav > nav > ul > li > ul > li > a > span {
    letter-spacing: 0.1em;
    text-align: center;
}

.header-nav > nav > ul > li > ul > li > a > span.ext-link {
    position: relative;
    padding-right: 17px;
}

.header-nav > nav > ul > li > ul > li > a > span.ext-link::after {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    content: "";
    width: 12px;
    height: 12px;
    background-image: url(images/kmopa-parts2026-ext-b.svg);
    background-size: contain;
    background-repeat: no-repeat;
}

/* ↓aタグ文字色修正↓ */
.header-nav > nav > ul > li > ul > li > a,
.header-nav > nav > ul > li > ul > li > a:hover {
    color: #000000 !important;
}

/* ↓hover設定ここから↓ */

.header-nav > nav > ul > li > ul {
    display: none;
}

.header-nav > nav > ul > li:hover {
    background-color: #D9D9D9;
    text-decoration: underline
}

.header-nav > nav > ul > li:hover > ul {
    display: block;
    text-decoration: none;
}

.header-nav > nav > ul > li > ul > li:hover {
    background-color: #333333;
}

.header-nav > nav > ul > li > ul > li:hover > a > span {
    color: #FFFFFF;
}

.header-nav > nav > ul > li > ul > li:hover > a > span.ext-link::after {
    background-image: url(images/kmopa-parts2026-ext-w.svg);
}

/* ↑hover設定ここまで↑ */

/* ↓メディアクエリここから↓ */

@media (min-width: 1024px) {
    .header-logo .forpc {
        display: block;
    }

    .header-logo .forsp,
    .header-right ul li.forsp,
    .header-nav .forsp {
        display: none;
    }
}

@media (max-width: 1023px) {
    .header-logo .forpc {
        display: block;
    }

    .header-logo .forsp,
    .header-right ul li.forsp,
    .header-nav .forsp {
        display: none;
    }

    /* ↓親メニュー3×2表示ここから↓ */

    .header-nav > nav > ul {
        grid-template-columns: repeat(3, 1fr);
        grid-template-rows: repeat(2, 1fr);
    }

    .header-nav > nav > ul > li:nth-child(3) {
        border-right: none;
    }

    /* ↑親メニュー3×2表示ここまで↑ */
}

@media (max-width: 767px) {
    .header-logo .forpc {
        display: none;
    }

    .header-logo .forsp {
        display: block;
    }

    /* ↓ハンバーガーメニューここから↓ */

    .header-right ul li.forsp,
    .header-nav .forsp {
        display: block;
    }

    .header-right ul li:not(.forsp) {
        display: none;
    }

    .header-right ul li.forsp img {
        cursor: pointer;
    }

    .nav-unshown {
        display: none;
    }

    #nav-close {
        position: fixed;
        z-index: 1;
        top: 0;
        left: 0;
        width: 100%;
        height: 100dvh;
        background-color: #000000;
    }

    #nav-input:checked ~ #nav-close {
        display: block;
        opacity: .3;
    }

    .header-nav {
        position: fixed;
        z-index: 2;
        top: 0;
        right: 0;
        width: 80%;
        height: 100dvh;
        box-sizing: border-box;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        background-color: #FFFFFF;
        -webkit-transform: translateX(105%);
        transform: translateX(105%);
    }

    header:has(#nav-input:checked) .header-nav {
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }

    body:has(#nav-input:checked) {
        position: fixed;
        width: 100%;
    }

    header:has(#nav-input:checked) #nav-close2 {
        display: block;
        z-index: 3;
        position: fixed;
        top: 14px;
        right: 20px;
    }

    #nav-close2 img {
        width: 28px;
    }

    .header-nav {
        padding: 42px 0;
        text-align: center;
        /* ↓バウンド防止②↓ */
        overscroll-behavior: contain;
    }

    .header-nav > nav * {
        border: none !important;
    }

    .header-nav > nav > ul,
    .header-nav > nav > ul > li {
        display: block;
        padding: 0;
    }

    .header-nav > nav > ul > li > span,
    .header-nav > nav > ul > li > ul > li > a {
        display: block;
        height: auto;
    }

    .header-nav > nav > ul > li > span {
        padding: 28px 0 14px 0;
        color: #B3B3B3;
    }

    .header-nav > nav > ul > li > ul {
        display: block;
        position: static;
        width: auto;
        padding: 0;
        background-color: transparent;
        margin-bottom: 14px;
    }

    .header-nav > nav > ul > li > ul > li > a {
        display: block;
        height: auto;
        padding: 14px;
    }

    .header-nav > nav > ul > li:hover,
    .header-nav > nav > ul > li > ul > li:hover {
        background-color: transparent;
        text-decoration: none;
    }

    .header-nav > nav > ul > li > ul > li:hover > a > span {
        color: #000000;
    }

    .header-nav > nav > ul > li > ul > li:hover > a > span.ext-link::after {
        background-image: url(images/kmopa-parts2026-ext-b.svg);
    }

    /* ↓サイト内検索・SNSアイコンここから↓ */

    .header-nav .forsp {
        display: inline-block;
        margin: 28px auto 0;
    }

    .header-nav .forsp search input[type="text"],
    .header-nav .forsp search input[type="text"]::placeholder {
        color: #000000;
    }

    .header-nav .forsp search form {
        border-bottom: 1px solid #000000;
    }

    .header-nav .forsp ul {
        margin: 42px auto 28px;
    }

    .header-nav .forsp ul li:not(:first-child) {
        padding-left: 28px;
    }

    /* ↑サイト内検索・SNSアイコンここまで↑ */

    /* ↑ハンバーガーメニューここまで↑ */
}

/* ↑メディアクエリここまで↑ */

/* ↑下メニューここまで↑ */
