/* css/top-responsive.css */

@media (max-width: 900px) { /* トップページの最大幅900pxに合わせて調整 */
    .top-main-content {
        max-width: 100%;
        padding: 0; /* カラム内部でパディングを管理するため外のパディングを削除 */
    }
    .content-block {
        margin-left: 20px; /* 画面端からのマージン */
        margin-right: 20px;
    }
    .services-fullwidth-section .section-title {
        margin-left: 20px;
        margin-right: 20px;
    }

    /* サービス行のカラムを縦並びにする */
    .service-row {
        flex-direction: column !important; /* !important で強制的に上書き */
        min-height: auto;
    }

    .service-left-col, .service-right-col {
        padding: 25px; /* パディングを調整 */
    }

    .service-right-col {
        padding-left: 25px; /* 右カラムの左パディングも統一 */
    }

    .service-title {
        font-size: 2em; /* スマホでのタイトルサイズ調整 */
        margin-bottom: 10px;
    }
}

@media (max-width: 768px) {
    /* Header */
    .top-header {
        
    }
    .header-logo-top img {
        height: 90px; /* ロゴサイズ調整 */
        margin: 6px 0px 0px 6px;
    }

    .top-nav { /* PCメニューを非表示 */
        display: none;
    }
    .hamburger-menu-top { /* ハンバーガーアイコンを表示 */
        display: flex;
    }
    .sidebar-menu-top {
        width: 280px; /* サイドバーの幅 */
        padding-top: 60px;
    }
    .sidebar-menu-top ul li a {
        font-size: 1.1em;
    }

    /* Main Visual */
    .hero-section {
        height: 70vh;
        margin: 20px 10px 20px 10px;
    }
    .hero-content {
        padding: 40px;
    }
    .main-catchphrase {
        font-size: 2.5em;
    }
    .cta-button {
        font-size: 1em;
        padding: 12px 30px;
    }

    /* Content Blocks */
    .content-block {
        padding: 40px 20px;
        margin-bottom: 40px;
    }

    /* About Me */
    .about-me-section {
        flex-direction: column;
        gap: 30px;
    }
    .about-me-image {
        flex: none;
        width: 200px;
        height: 200px;
    }
    .about-me-section h2 {
        font-size: 1.8em;
    }
    .about-me-section p {
        font-size: 1em;
    }

    /* Services */
    .services-fullwidth-section .section-title {
        font-size: 1.8em;
    }
    .service-description {
        font-size: 0.95em;
    }

    /* Contact */
    .contact-section h2 {
        font-size: 1.8em;
    }
    .contact-section p {
        font-size: 1em;
    }
    .contact-form {
        max-width: 100%;
        padding: 0 10px;
    }
    .submit-button {
        font-size: 1em;
        padding: 12px 25px;
    }
    .social-links-contact a {
        font-size: 2em;
        margin: 0 10px;
    }
}

@media (max-width: 480px) {
    /* Header */
    .top-header {
        
    }
    .header-logo-top img {
        height: 60px;
        margin: 5px 0px 0px 5px;
    }
    .sidebar-menu-top {
        width: 240px;
        padding-top: 50px;
    }
    .sidebar-menu-top ul li a {
        font-size: 1em;
    }

    /* Main Visual */
    .hero-section {
        height: 60vh;
        margin: 15px 5px 15px 5px;
    }
    .hero-content {
        padding: 30px;
    }
    .main-catchphrase {
        font-size: 1.8em;
    }
    .cta-button {
        font-size: 0.9em;
        padding: 10px 25px;
    }

    /* Content Blocks */
    .content-block {
        padding: 30px 15px;
        margin-bottom: 30px;
    }

    /* About Me */
    .about-me-image {
        width: 120px;
        height: 120px;
    }
    .about-me-section h2 {
        font-size: 1.5em;
    }
    .about-me-section p {
        font-size: 0.9em;
    }

    /* Services */
    .services-fullwidth-section .section-title {
        font-size: 1.5em;
    }
    .service-left-col, .service-right-col {
        padding: 20px;
    }
    .service-title {
        font-size: 1.5em;
    }
    .service-description {
        font-size: 0.85em;
    }
    .coming-soon-badge {
        font-size: 0.8em;
        padding: 6px 12px;
        top: 15px;
        right: 15px;
    }

    /* Contact */
    .contact-section h2 {
        font-size: 1.5em;
    }
    .contact-section p {
        font-size: 0.9em;
    }
    .contact-form input,
    .contact-form textarea {
        font-size: 0.85em;
        padding: 8px;
    }
    .submit-button {
        font-size: 0.9em;
        padding: 10px 20px;
    }
    .social-links-contact a {
        font-size: 1.5em;
        margin: 0 8px;
    }
}