@charset "UTF-8";
@media screen and (max-width: 767px) {

    /* 全体＆TOPページ SP用CSS */

    /*----------------------------------------
共通設定
------------------------------------------*/
    .pc_dn {
        display: block;
    }

    .sp_dn {
        display: none;
    }

    section {
        margin-bottom: 2.3em;
    }

    .mb16 {
        margin-bottom: 2em;
    }

    /*----------------------------------------
ヘッダー、ハンバーガーメニュー
------------------------------------------*/
    .header {
        height: min(60 / 375* 100vw, 60px);
        position: fixed;
    }

    .header__inner {
        align-items: center;
        height: min(60 / 375* 100vw, 60px);
        padding: 0;
        padding-left: min(24 / 375* 100vw, 24px);
        position: relative;
    }

    .logo {
        width: min(230 / 375* 100vw, 230px);
        height: auto;
    }

    /* ハンバーガーボタンのデザイン */
    .drawer__button {
        position: relative;
        width: min(60 / 375* 100vw, 60px);
        height: 100%;
        background-color: transparent;
        border: none;
        cursor: pointer;
        display: block;
        z-index: 5000;
    }

    .drawer__button.active {
        background-color: var(--primary);
    }

    /* ハンバーガーボタン内の線 */
    .drawer__button>span {
        display: block;
        position: absolute;
        top: 50%;
        left: 50%;
        width: 2rem;
        height: 2px;
        background-color: black;
        transform: translateX(-50%);
    }

    .drawer__button>span:first-child {
        transform: translate(-50%, calc(-50% - 0.5rem));
        transition: transform 0.3s ease;
    }

    .drawer__button.active>span:nth-child(2) {
        transform: translate(-50%, calc(-50% + 0.5rem));
        transition: transform 0.3s ease;
    }

    .drawer__button p {
        font-size: clamp(7px, 11.5/375*100vw, 11.5px);
        text-align: center;
        margin-top: 2.3em;
        transition: 0.3s ease;
    }

    /* 展開時のデザイン */
    .drawer__button.active>span:first-child {
        transform: translate(-50%, -50%) rotate(-45deg);
        background-color: var(--white);
    }

    .drawer__button.active>span:nth-child(2) {
        transform: translate(-50%, -50%) rotate(45deg);
        background-color: var(--white);
    }

    .drawer__button.active>p {
        opacity: 0;
    }

    /* メニューのデザイン */
    .drawer__nav {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100vh;
        transition: opacity 0.3s ease;
        opacity: 0;
        visibility: hidden;
    }

    .drawer__nav.active {
        opacity: 1;
        visibility: visible;
    }

    .drawer__nav__inner {
        position: relative;
        width: 100%;
        height: fit-content;
        background-color: white;
        border-bottom: 1px solid var(--primary);
        margin: 0 0 0 auto;
        /* overflow: scroll; */
        overflow-x: hidden;
        transition: 0.3s;
    }

    .inner-logo {
        position: sticky;
        height: min(60 / 375* 100vw, 60px);
        padding: 0 min(24 / 375* 100vw, 24px);
        display: flex;
        align-items: center;
        box-shadow: 0px 5px 3px #00000045;
    }

    .drawer__nav__menu {
        display: block;
        list-style: none;
        padding-left: 0;
    }

    .drawer__nav__link {
        display: block;
        color: black;
        text-decoration: none;
        padding: 1rem 1rem;
        border-bottom: solid 1px var(--primary);
        display: flex;
        justify-content: space-between;
    }

    .drawer__nav__link .pc_dn {
        width: min(24 / 375* 100vw, 24px);
        transform: rotate(90deg);
    }

    /* メニュー展開時、背景を固定 */
    body.active {
        height: 100%;
        overflow: hidden;
    }

    /*----------------------------------------
#KV
------------------------------------------*/
    #KV {
        margin-top: min(60 / 375* 100vw, 60px);
    }

    /*========================================
TOPページ
========================================*/








}