@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Description: SWELLの子テーマ（r-185.jp 開局記念版）
*/

/* ロゴ非表示 */
.l-header__logo, .c-headLogo, .p-spHeadMenu__logo { display: none !important; }

/* 背景色・テクスチャ */
body { background-color: #fcf9f2 !important; }
.home body {
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.08'/%3E%3C/svg%3E");
}

/* タイトル・パンくず非表示 */
.home h1.entry-title, .home .p-entryTitle, .home .p-pageTitle, .home .c-headLogo.-txt {
    display: none !important;
}
.page-id-9 .entry-title, .page-id-9 .c-headLogo.-txt, .page-id-9 .c-breadcrumb {
    display: none !important;
}

/* トップページレイアウト */
#r185-top {
    width: 100vw;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
}
.home .entry-content {
    max-width: 100% !important;
    padding: 0 !important;
}
.home .l-footer {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* ONAIRランプアニメーション */
.onair-lamp {
    display: inline-block !important;
    width: 12px !important;
    height: 12px !important;
    background-color: #ff4500 !important;
    border-radius: 50% !important;
    margin-right: 8px !important;
    vertical-align: middle;
    animation: flare-lamp 3s ease-in-out infinite !important;
}
@keyframes flare-lamp {
    0%, 100% { opacity: 1; transform: scale(1.1); box-shadow: 0 0 15px #ff7f50; }
    50% { opacity: 0.3; transform: scale(0.95); box-shadow: 0 0 5px #ff7f50; }
}

/* 電波ボタンアニメーション */
.radio-wave-btn { position: relative; display: inline-block; }
.radio-wave-btn::before, .radio-wave-btn::after {
    content: '';
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    border: 2px solid #e8453c;
    border-radius: 50px;
    width: 100%; height: 100%;
    animation: radio-wave 2s ease-out infinite;
    opacity: 0;
}
.radio-wave-btn::after { animation-delay: 1s; }
@keyframes radio-wave {
    0% { transform: translate(-50%, -50%) scale(1); opacity: 0.6; }
    100% { transform: translate(-50%, -50%) scale(1.8); opacity: 0; }
}

/* 番組カードホバー */
.is-style-rich_column .wp-block-image:hover {
    transform: rotate(4deg) scale(1.08);
    transition: 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    filter: drop-shadow(0 10px 15px rgba(0,0,0,0.1));
}

/* ラジオフォーム */
.radio-form {
    background: #ffffff !important;
    padding: 15px 20px !important;
    border-radius: 12px !important;
    box-shadow: 0 10px 25px rgba(0,0,0,0.05) !important;
    box-sizing: border-box !important;
    width: 100% !important;
}
.radio-form input, .radio-form textarea, .radio-form select {
    margin-bottom: 8px !important;
    padding: 8px !important;
    font-size: 14px !important;
}
.radio-form input[type="text"], .radio-form textarea {
    width: 100% !important;
    box-sizing: border-box !important;
}
.submit-btn input {
    background-color: #1a4472 !important;
    color: #fff !important;
    font-weight: bold;
    padding: 12px 40px !important;
    border-radius: 50px !important;
    border: none !important;
    cursor: pointer;
    transition: 0.3s;
}
.submit-btn input:hover {
    opacity: 0.8;
    transform: scale(1.02);
}
.wpcf7 input[type="submit"] {
    display: block !important;
    margin: 0 auto !important;
}

/* ラジオセクション区切り */
.radio-section {
    border-top: 1px solid #c8b89a;
    padding-top: 40px;
    margin-top: 40px !important;
}
.radio-section-last { margin-bottom: 60px !important; }

/* スマホメニューボタン非表示 */
.p-spNav__btn,
.p-spHeadMenu__btn,
.c-headMenuBtn,
.js-toggleNavBtn {
    display: none !important;
}

/* スマホ用縦メニュー非表示（PC） */
.p-spHeadMenu {
    display: none !important;
}

/* /radio/ページの上余白を削除 */
.page-id-9 .l-main,
.page-id-9 .l-article,
.page-id-9 .p-article,
.page-id-9 .l-content,
.page-id-9 .entry-content,
.page-id-9 .p-entryBody {
    padding-top: 0 !important;
    margin-top: -40px !important;
}

/* /radio/ページの下余白を調整 */
.page-id-9 #r185-top {
    padding-bottom: 0 !important;
}

/* /radio/ページの番組一覧グリッド上余白 */
.page-id-9 .stage-wrap {
    margin-bottom: 40px !important;
}