@media (min-width: 481px) and (max-width: 767px) {
    #header {
        width: 100%;
        height: 60px;
    }

    .container {
        display: flex;
        justify-content: space-between;
        padding: 0px 12px;
        margin: 0 auto;
    }

    .logo {
        width: 115.71px;
        height: 30px;
        img {
            width: 100%;
            height: 100%;
        }
    }

    .menbers a {
        padding: 11px;
        background-color: #f96ba6;
        color: white;
        border-radius: 4px;
    }

    .headleft {
        display: flex;
    }

    .subname {
        margin-top: 10px;
    }

    .center {
        padding-left: 6%;
    }

    .headleft,
    .headright {
        padding-top: 17px;
    }

    .headright {
        display: flex;
        align-items: center;
    }

    /* btn */

    .btn {
        width: 39px;
        height: 33px;
        border-radius: 4px;
        cursor: pointer;
        z-index: 100;
        background-color: #f96ba6;
        margin-left: 8px;
        position: relative;
    }

    .btn span {
        display: inline-block;
        width: 50%;
        height: 2px;
        background-color: white;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        position: absolute;
    }

    .btn span:nth-of-type(1) {
        top: 33%;
    }
    .btn span:nth-of-type(2) {
        top: 50%;
    }
    .btn span:nth-of-type(3) {
        top: 66%;
    }

    .btn.active span:nth-of-type(1) {
        transform: translate(-10px, 5px) rotate(-45deg);
    }
    .btn.active span:nth-of-type(2) {
        display: none;
    }
    .btn.active span:nth-of-type(3) {
        transform: translate(-10px, -6px) rotate(45deg);
    }

    #menu {
        display: none;
    }

    #menu.show {
        display: block;
    }

    .pc {
        display: none;
    }
    /* top */

    .top-img {
        width: 100%;
        height: 100%;
    }

    #top img,
    #mid img,
    #footer img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    #top h1,
    #mid h2,
    #bottom h3 {
        padding: 0px 24px;
        display: block;
        text-align: center;

        @media (max-width: 430px) {
            padding: 0px 28px;
        }
    }

    .click {
        width: 60px;
        position: absolute;
        right: 0;
        transform: translateY(-30px); /* 上方向に10px移動 */
    }

    .detail {
        padding-left: 8px;
    }

    .collection {
        display: grid;
        grid-template-columns: 1fr; /* 1列に設定 */
        grid-auto-rows: auto; /* 各行の高さを自動調整 */
        gap: 8px; /* 各エリア間のスペース */
    }

    .archive {
        display: grid;
        grid-template-columns: 1fr 1fr; /* 横並びで img と p を配置 (比率 1:2) */
    }

    .archive img {
        width: 100%; /* 横幅にフィット */
        height: auto; /* 高さを自動調整 */
        object-fit: cover; /* 必要に応じてトリミング */
    }

    .archive p {
        margin: 0;
        padding: 10px; /* テキストに余白を追加 */
        display: flex;
        align-items: center;
    }

    #bottom h3 {
        padding: 8px 0px;
    }

    #footer p {
        padding: 16px 0px;
    }

    .icon img {
        align-items: center;
    }

    /* visual */
    .fade-target {
        opacity: 0; /* 初期状態は透明 */
        transition: opacity 0.8s ease-in-out; /* 透明度を0.8秒で切り替える */
    }

    .fade-target.fade-in {
        opacity: 1; /* フェードイン後は完全に非透明 */
    }
}

@media (min-width: 768px) and (max-width: 1023px) {
    #header {
        width: 100%;
        height: 60px;
        max-width: 903px;
        margin: 0 auto;
    }

    .container {
        display: flex;
        justify-content: space-between;
        padding: 0px 12px;
        margin: 0 auto;
    }

    .logo {
        width: 115.71px;
        height: 30px;
        img {
            width: 100%;
            height: 100%;
        }
    }

    .menbers a {
        padding: 11px;
        background-color: #f96ba6;
        color: white;
        border-radius: 4px;
    }

    .headleft {
        display: flex;
    }

    .subname {
        margin-top: 10px;
    }

    .center {
        padding-left: 6%;
    }

    .headleft,
    .headright {
        padding-top: 17px;
    }

    .headright {
        display: flex;
        align-items: center;
    }

    /* btn */

    .btn {
        width: 39px;
        height: 33px;
        border-radius: 4px;
        cursor: pointer;
        z-index: 100;
        background-color: #f96ba6;
        margin-left: 8px;
        position: relative;
    }

    .btn span {
        display: inline-block;
        width: 50%;
        height: 2px;
        background-color: white;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        position: absolute;
    }

    .btn span:nth-of-type(1) {
        top: 33%;
    }
    .btn span:nth-of-type(2) {
        top: 50%;
    }
    .btn span:nth-of-type(3) {
        top: 66%;
    }

    .btn.active span:nth-of-type(1) {
        transform: translate(-10px, 5px) rotate(-45deg);
    }
    .btn.active span:nth-of-type(2) {
        display: none;
    }
    .btn.active span:nth-of-type(3) {
        transform: translate(-10px, -6px) rotate(45deg);
    }

    #menu {
        display: none;
    }

    #menu.show {
        display: block;
    }

    .pc {
        display: none;
    }
    /* top */

    .top-img {
        width: 100%;
        height: 100%;
    }

    #top img,
    #mid img,
    #footer img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    #top h1,
    #mid h2,
    #bottom h3 {
        padding: 0px 24px;
        display: block;
        text-align: center;

        @media (max-width: 430px) {
            padding: 0px 28px;
        }
    }

    #main {
        max-width: 663px;
        margin: 0 auto;
    }

    .click {
        width: 60px;
        position: absolute;
        transform: translate(600px, -30px); /* 上方向に30px、右方向に移動 */
    }

    .detail {
        padding-left: 8px;
    }

    .collection {
        display: grid;
        grid-template-columns: 1fr; /* 1列に設定 */
        grid-auto-rows: auto; /* 各行の高さを自動調整 */
        gap: 8px; /* 各エリア間のスペース */
    }

    .archive {
        display: grid;
        grid-template-columns: 1fr 1fr; /* 横並びで img と p を配置 (比率 1:2) */
    }

    .archive img {
        width: 100%; /* 横幅にフィット */
        height: auto; /* 高さを自動調整 */
        object-fit: cover; /* 必要に応じてトリミング */
    }

    .archive p {
        margin: 0;
        padding: 10px; /* テキストに余白を追加 */
        display: flex;
        align-items: center;
    }

    #bottom h3 {
        padding: 8px 0px;
    }

    #footer p {
        padding: 16px 0px;
    }

    .icon img {
        align-items: center;
    }

    .fade-target {
        opacity: 0; /* 初期状態は透明 */
        transition: opacity 0.8s ease-in-out; /* 透明度を0.8秒で切り替える */
    }

    /* visual */

    .fade-target.fade-in {
        opacity: 1; /* フェードイン後は完全に非透明 */
    }
}
