/* PC表示ではモバイル専用ヘッダーを非表示 */ 
.mobile-only-menu-header,
.mobile-header-logo {
    display: none;
}

/* モバイル表示時のスタイル (767px以下をモバイルと仮定) */
@media (max-width: 767px) {
    .header {
        display: none;
    }

    .mobile-only-menu-header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        background-color: #32b5d5;
        padding: 10px 15px;
        position: relative;
        z-index: 1000;
        min-height: 60px;
        width: 100%;
        box-sizing: border-box;
    }

    .mobile-only-menu-inner {
        display: flex;
        justify-content: space-between;
        align-items: center;
        width: 100%;
    }

    .mobile-header-text {
        display: flex;
        align-items: center;
        margin-right: auto;
    }

    .mobile-header-text img {
        width: 40px;
        height: 40px;
        margin-right: 10px;
    }

    .mobile-header-text h1 {
        font-size: 16pt;
        color: white;
        margin: 0;
        white-space: nowrap;
    }

    .mobile-header-logo img {
        width: 60px;
        height: 60px;
        margin-right: 10px;
    }

    .mobile-header-text p {
        font-size: 11pt;
        color: #333;
        margin: 5px 0 0;
    }

    .mobile-menu-spttt {
        width: 30px;
        height: 24px;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        cursor: pointer;
        position: relative;
        z-index: 1001;
    }

    .mobile-menu-spttt span {
        display: block;
        width: 100%;
        height: 3px;
        background-color: white;
        transition: all 0.3s ease;
        border-radius: 2px;
    }

    .mobile-menu-toggle {
        display: none;
    }

    .mobile-only-menu-nav {
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        background-color: #666;
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.3s ease-out;
        box-shadow: 0 2px 5px rgba(0,0,0,0.2);
        z-index: 999;
    }

    .mobile-only-menu-nav ul {
        list-style: none;
        padding: 0;
        margin: 0;
    }

    .mobile-only-menu-nav li {
        border-bottom: 1px solid #555;
        position: relative;
    }

    .mobile-only-menu-nav li:last-child {
        border-bottom: none;
    }

    .mobile-only-menu-nav a {
        display: block;
        padding: 12px 16px;/* ← ここを小さくする */
        color: white;
        text-decoration: none;
        font-size: 15px;/* ← ここを小さくする */
        transition: background-color 0.3s ease;
    }

    .mobile-only-menu-nav a:hover {
        background-color: #32b5d5;
    }

    .mobile-only-menu-nav .sub-menu {
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.3s ease-out;
        background-color: #555;
        padding-left: 20px;
    }

    .mobile-only-menu-nav li.active .sub-menu {
        max-height: 500px;
    }

.mobile-only-menu-nav .sub-menu li {
  border-bottom: none;
}


    .mobile-only-menu-nav .sub-menu li:last-child {
        border-bottom: none;
    }

    /* two-column レイアウト対応 */
.mobile-only-menu-nav .sub-menu.two-column {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    padding: 10px 20px;
    column-gap: 10px;
    row-gap: 5px;
    max-height: none !important;
    background-color: #fff;  /* ★ ←ここで背景色を指定 */
}


.mobile-only-menu-nav .sub-menu.two-column li a {
  color: #000;
  background-color: #fff;
  padding: 6px 12px;  /* ← 上下6px・左右12pxなどに変更 */
  text-decoration: none;
  display: block;
  position: relative;
}

.mobile-only-menu-nav .sub-menu.two-column li a::before {
  content: "";
  position: absolute;
  left: -2px;                /* テキストの左2px */
  top: 50%;                  /* 高さ中央に配置 */
  transform: translateY(-50%);
}

.mobile-only-menu-nav .sub-menu.two-column li a:hover::before {
  content: "●";
  color: #000;
  font-size: 12px;
}

    .mobile-menu-toggle:checked ~ .mobile-only-menu-nav {
        max-height: 1000px;
    }

    .mobile-menu-toggle:checked ~ .mobile-menu-spttt span:nth-child(1) {
        transform: translateY(10.5px) rotate(45deg);
    }

    .mobile-menu-toggle:checked ~ .mobile-menu-spttt span:nth-child(2) {
        opacity: 0;
    }

    .mobile-menu-toggle:checked ~ .mobile-menu-spttt span:nth-child(3) {
        transform: translateY(-10.5px) rotate(-45deg);
    }
}
