@charset "UTF-8";

@media screen and (min-width: 768px){
    /* 共通レイアウト */
    .container { max-width: 1000px; padding: 0 40px; }
    .wave-svg { height: 80px; }

    /* Header */
    .header { height: 80px; }
    .header-logo { font-size: 32px; }
    .header-logo img { width: auto; height: 40px; max-width: 260px; object-fit: contain; }
    .header-logo-text { 
        display: block; 
        font-size: 28px; 
        font-weight: 700; color: var(--text-light); 
        border-left: 2px solid #ccc; padding-left: 15px; margin-left: 15px; line-height: 1.3; 
    }
    .btn-reserve { font-size: 16px; padding: 12px 24px; }

    /* Hero Section */
    .hero { min-height: calc(100vh - 80px); margin-top: 80px; align-items: flex-start; text-align: left; }
    .hero-overlay { background: linear-gradient(to right, rgba(255,255,255,0.9) 0%, rgba(255,255,255,0.4) 50%, transparent 100%); }
    .hero-content { padding: 0; text-align: left; max-width: 700px; }
    .hero-h1 { font-size: 16px; margin-bottom: 15px; } 
    
    /* バッジのPCサイズ調整 */
    .hero-badge {
        font-size: 18px;
        padding: 12px 30px;
        margin-bottom: 25px;
    }

    .hero-title { font-size: 56px; text-shadow: none; margin-bottom: 30px; }
    .hero-title span.catch { font-size: 40px; }
    
    /* Intro Section */
    .section-title { font-size: 40px; }
    .section-title i { font-size: 48px; top: -30px; left: -30px; }
    .intro-box { padding: 50px; font-size: 18px; }
    .intro-highlight { font-size: 22px; padding: 30px; }

    /* Products Section */
    .products-grid { display: flex; gap: 40px 30px; flex-wrap: wrap; justify-content: flex-start; }
    .product-card { width: calc(50% - 15px); display: flex; flex-direction: column; padding: 25px; margin-bottom: 0; }
    .card-nakama .card-tag { top: -15px; left: 20px; font-size: 14px; padding: 8px 16px; }
    .product-card .card-img-wrap { width: 100%; height: 260px; flex-shrink: 0; margin-bottom: 24px; }
    .product-card .card-body { width: 100%; flex-grow: 1; display: flex; flex-direction: column; }
    .product-card .card-title { font-size: 26px; }
    .product-card .card-text { flex-grow: 1; margin-bottom: 20px; }

    /* Flow Section */
    .flow-support-text { font-size: 26px; }
    .flow-path { padding: 40px 0 40px 60px; }
    .flow-path::before { left: 58px; }
    .flow-step { padding: 40px; margin-left: 80px; margin-bottom: 40px; display: flex; align-items: center; gap: 40px; }
    .flow-step::before { left: -80px; width: 80px; }
    .step-marker { left: -110px; width: 60px; height: 60px; font-size: 30px; }
    .step-content { flex-grow: 1; }
    .step-title { font-size: 28px; }
    .step-desc { font-size: 18px; }

    /* FAQ Section */
    .faq-q h3 { font-size: 20px; }
    .faq-a p { font-size: 16px; }

    /* ご準備案内セクション */
    .prep-box { padding: 40px; margin-top: 60px; }
    .prep-title { font-size: 22px; margin-bottom: 30px; }
    .btn-prep { font-size: 18px; padding: 18px 25px; flex-wrap: nowrap; }
    .btn-prep-logos img { height: 34px; }
    .prep-desc { font-size: 16px; }
    .prep-desc strong { font-size: 17px; }
    .prep-note { font-size: 16px; }
    
    .flow-gallery { flex-direction: row; justify-content: space-between; gap: 20px; }
    .gallery-item { width: calc(33.333% - 13.33px); }
    
    /* 特徴枠 (旧グッズ枠) */
    .goods-box { padding: 40px; margin-top: 50px; }
    .goods-tag { font-size: 16px; padding: 8px 24px; }
    .goods-title { font-size: 16px; }

    /* 特徴3カラム PC版 */
    .feature-grid { flex-direction: row; justify-content: space-between; margin-top: 40px; }
    .feature-card { width: calc(33.333% - 13.33px); }

    /* Contact Section */
    .message-box { padding: 60px 80px; margin-top: 80px; }
    .staff-avatars-wrap { top: -80px; gap: 30px; }
    .staff-avatar { width: 160px; height: 160px; border-width: 8px; }
    .contact-title { font-size: 36px; margin: 40px 0 30px; }
    .contact-desc { font-size: 20px; }
    .check-list li { font-size: 18px; }
    .contact-methods { flex-direction: row; justify-content: center; gap: 40px; }
    .method-item { width: 45%; padding: 30px; }
    .method-number { font-size: 28px; }

    /* Channels Section */
    .channels-grid { display: flex; flex-direction: row; flex-wrap: wrap; gap: 20px; align-items: stretch; }
    .channel-card { 
        width: calc(25% - 15px); padding: 25px 15px; 
        display: flex; flex-direction: column; align-items: center; justify-content: flex-start; 
        text-align: center; height: auto;
    }
    .ch-icon { margin-bottom: 15px; }
    .ch-title { margin-bottom: 10px; min-height: 27px; display: flex; align-items: center; justify-content: center; }
    .ch-desc { flex-grow: 1; margin: 0; }
    
    /* YouTube Section PC版 */
    .yt-official-btn { font-size: 22px; padding: 20px 30px; }
    .yt-section-title { font-size: 32px; }
    .yt-section-sub { font-size: 18px; margin-bottom: 50px; }
    .yt-category-title { font-size: 24px; margin: 50px 0 25px; }
    .yt-category-title.live { font-size: 28px; margin-top: 70px; }
    
    .yt-grid { flex-direction: row; flex-wrap: wrap; gap: 25px; }
    .yt-card-new, .yt-card-dummy { width: calc(33.333% - 16.66px); }
    .yt-title-new, .yt-title-dummy { font-size: 15px; padding: 15px; }

    .btn-main { font-size: 24px; padding: 20px 50px; width: auto; }
    
    .footer-links li { padding: 5px 15px; }
    .footer-middle-row { flex-wrap: nowrap; align-items: flex-start; }
    .page-top-btn { right: 40px; bottom: 30px; width: 70px; height: 70px; font-size: 12px; }
    .page-top-btn i { font-size: 24px; }
	
	/* =========================================
   Breadcrumb (PC Overrides)
========================================= */
.breadcrumb {
    font-size: 14px;
    padding-top: 10px;
    padding-bottom: 10px;
}
}