/* 基本スタイル */ body { font-family: 'Hiragino Kaku Gothic ProN', 'Meiryo', sans-serif; line-height: 1.8; color: #333; background-color: #1a1a1a; /* 怪しい黒背景 */ margin: 0; padding: 0; /* JavaScriptでpadding-topを動的に設定 */ overflow-x: hidden; /* 横スクロール防止 */ } .container { width: 90%; max-width: 960px; margin: 0 auto; padding: 40px 20px; } /* フォント */ h1, h2, h3, .product-name-main span, .price-value, .section-title-gold { font-family: 'Noto Serif JP', serif; /* インパクトのある明朝体 */ font-weight: 700; } h1 { font-size: 2.8em; color: #ffd700; /* ゴールド */ text-shadow: 2px 2px 3px #000; } .section-title-default { /* 通常のセクションタイトル用クラス */ font-size: 2.2em; color: #ff4500; /* オレンジレッド */ margin-bottom: 30px; text-align: center; border-bottom: 3px dashed #ffd700; padding-bottom: 10px; transition: text-shadow 0.3s ease; /* ホバーエフェクト用 */ } .section-title-default:hover { text-shadow: 0 0 8px #ff4500, 0 0 15px #ff4500; } h3 { font-size: 1.8em; color: #f0f0f0; margin-bottom: 15px; } strong { color: #ff6347; /* トマト色で強調 */ font-weight: bold; } /* ファーストビュー */ .hero { background-image: url('panty.jpg'); background-color: #333; background-size: cover; background-position: center; color: #fff; text-align: center; padding: 80px 20px; /* min-height: 100vh; */ /* タイマー分があるので調整、またはそのまま */ display: flex; align-items: center; justify-content: center; position: relative; } .hero::before { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0,0,0,0.6); /* 背景画像の視認性調整 */ z-index: 1; } .hero-inner { position: relative; z-index: 2; } .hero .sub-catch { font-size: 1.5em; color: #ffd700; margin-bottom: 0.5em; } .hero .emotext { background: linear-gradient(45deg, #ff4500, #ffd700, #ff69b4, #ff4500); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; text-fill-color: transparent; background-size: 300% 300%; font-size: 1.2em; display: inline-block; animation: pulse 1.5s infinite, emotextGradient 6s ease infinite; } .hero .intro-text { font-size: 1.2em; margin: 20px 0; color: #fff; } .hero .product-name-main { font-size: 2.5em; margin-top: 30px; } .hero .product-name-main span { color: #ffd700; display: block; margin-top: 10px; } /* CTAボタン */ .cta-button { display: inline-block; background-color: #ff4500; color: #fff; padding: 15px 35px; font-size: 1.5em; font-weight: bold; text-decoration: none; border-radius: 50px; margin-top: 30px; transition: transform 0.2s ease-out, background-color 0.2s, box-shadow 0.2s ease-out; box-shadow: 0 5px 15px rgba(0,0,0,0.3); font-family: 'Roboto', sans-serif; } .cta-button:hover { background-color: #e03e00; transform: translateY(-3px) scale(1.05); box-shadow: 0 8px 20px rgba(255,69,0,0.5); } .main-cta { animation: glow 2s infinite alternate; } @keyframes pulse { 0% { transform: scale(1); } 50% { transform: scale(1.1); } 100% { transform: scale(1); } } @keyframes glow { from { box-shadow: 0 0 10px #ff4500, 0 0 20px #ff4500, 0 0 30px #ff4500; } to { box-shadow: 0 0 20px #ff4500, 0 0 30px #e03e00, 0 0 40px #e03e00; } } @keyframes emotextGradient { 0% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } 100% { background-position: 0% 50%; } } /* --- ここから各セクションのスタイル --- */ /* 問題提起セクション */ .problem-section { background-color: #2c2c2c; } .problem-section p { font-size: 1.1em; color: #e0e0e0; margin-bottom: 1em; } .problem-section ul { list-style: none; padding-left: 0; } .problem-section li { background-color: #3a3a3a; margin-bottom: 10px; padding: 15px; border-left: 5px solid #ff4500; border-radius: 5px; color: #ccc; transition: transform 0.2s ease-out, box-shadow 0.2s ease-out; } .problem-section li:hover { transform: translateX(5px); box-shadow: 0 4px 10px rgba(255,69,0,0.3); } .problem-section .solution-text { margin-top: 30px; font-size: 1.2em; text-align: center; background: linear-gradient(45deg, #444, #222); padding: 20px; border-radius: 10px; box-shadow: inset 0 0 10px rgba(0,0,0,0.5); } /* 伝説のカイロプラクター、エイジ先生とは? */ .eiji-sensei-section { background-color: #2c2c2c; } .eiji-sensei-section p { font-size: 1.1em; color: #e0e0e0; margin-bottom: 1em; } .eiji-profile { display: flex; flex-wrap: wrap; align-items: center; gap: 30px; background-color: #3a3a3a; padding: 30px; border-radius: 10px; } .eiji-sensei-profile-image { width: 200px; /* プレースホルダーと同じサイズに設定 */ height: 200px; /* プレースホルダーと同じサイズに設定 */ border-radius: 50%; /* 丸くする */ object-fit: cover; /* 画像がコンテナに合わせてトリミング・リサイズされる */ border: 4px solid #ffd700; /* 枠線 */ box-shadow: 0 5px 15px rgba(0,0,0,0.3); /* 影 */ flex-shrink: 0; /* flexアイテムとして縮まないように */ transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease; } .eiji-sensei-profile-image:hover { transform: rotate(3deg) scale(1.05); /* ホバーエフェクト */ box-shadow: 0 8px 20px rgba(255,215,0,0.4); /* ホバー時の影 */ border-color: #ff4500; /* ホバー時の枠線色 */ } .eiji-profile p { flex: 1; min-width: 300px; } /* 出会いのストーリーセクション */ .eiji-encounter-story-section { background-color: #181818; padding: 50px 0; border-top: 2px solid #333; border-bottom: 2px solid #333; } .section-title-gold { font-size: 2.0em; color: #ffd700; text-align: center; margin-bottom: 30px; text-shadow: 2px 2px 5px rgba(0,0,0,0.7); padding-bottom: 10px; border-bottom: 2px solid #ff4500; display: inline-block; position: relative; left: 50%; transform: translateX(-50%); transition: text-shadow 0.3s ease, color 0.3s ease; } .section-title-gold:hover { text-shadow: 2px 2px 8px rgba(0,0,0,0.7), 0 0 10px #ffd700, 0 0 15px #ffd700; color: #fff8dc; } .eiji-encounter-story-section .story-text-area { background-color: rgba(0,0,0,0.4); padding: 30px; border-radius: 10px; box-shadow: 0 8px 25px rgba(0,0,0,0.5), inset 0 0 10px rgba(0,0,0,0.2); } .eiji-encounter-story-section .story-text-area p { font-size: 1.1em; line-height: 2.0; margin-bottom: 1.5em; color: #e8e8e8; text-shadow: 1px 1px 2px #000; } .eiji-encounter-story-section .story-text-area p:last-child { margin-bottom: 0; } .eiji-encounter-story-section .next-section-lead { font-weight: bold; font-size: 1.3em; color: #ffd700; text-align: center; margin-top: 35px; padding: 20px; background: linear-gradient(to bottom, rgba(255,215,0,0.15), rgba(255,69,0,0.15)); border-top: 3px groove #ff4500; border-bottom: 3px groove #ff4500; border-radius: 5px; animation: leadPulse 2.5s infinite ease-in-out; text-shadow: 0 0 5px #ff4500, 0 0 10px #ffd700; } @keyframes leadPulse { 0% { opacity: 0.7; transform: scale(0.98) rotate(-0.5deg); } 50% { opacity: 1; transform: scale(1.02) rotate(0.5deg); } 100% { opacity: 0.7; transform: scale(0.98) rotate(-0.5deg); } } /* エイジ先生からの挨拶セクション */ .eiji-greeting-section { background-color: #111; padding: 60px 0; border-top: 3px solid #ffd700; border-bottom: 3px solid #ff4500; } .eiji-greeting-section .greeting-content { display: flex; flex-wrap: wrap; align-items: center; gap: 30px; background-color: rgba(0,0,0,0.3); padding: 30px; border-radius: 10px; box-shadow: 0 10px 30px rgba(0,0,0,0.5), inset 0 0 15px rgba(0,0,0,0.3); } .eiji-greeting-section .eiji-photo-container { flex: 1 1 280px; max-width: 320px; margin: 0 auto 20px auto; } .eiji-greeting-section .eiji-photo { width: 100%; height: auto; display: block; border-radius: 10px; border: 5px solid #ffd700; box-shadow: 0 8px 25px rgba(255, 215, 0, 0.5), 0 0 15px rgba(0,0,0,0.6); object-fit: cover; transition: transform 0.3s ease, box-shadow 0.3s ease; animation: eijiBreathe 4s infinite ease-in-out; } @keyframes eijiBreathe { 0%, 100% { transform: scale(1); box-shadow: 0 8px 25px rgba(255, 215, 0, 0.5), 0 0 15px rgba(0,0,0,0.6); } 50% { transform: scale(1.03); box-shadow: 0 12px 35px rgba(255, 215, 0, 0.7), 0 0 20px rgba(0,0,0,0.7); } } .eiji-greeting-section .eiji-photo:hover { transform: scale(1.08); box-shadow: 0 15px 40px rgba(255, 215, 0, 0.8), 0 0 25px rgba(0,0,0,0.8); } .eiji-greeting-section .greeting-text { flex: 2 1 300px; color: #f0f0f0; } .eiji-greeting-section .greeting-text p { font-size: 1.15em; line-height: 1.9; margin-bottom: 1.5em; text-shadow: 1px 1px 2px rgba(0,0,0,0.5); } .eiji-greeting-section .greeting-text strong { color: #ff6347; font-weight: bold; } .eiji-greeting-section .greeting-text .strong-message strong { font-size: 1.2em; color: #ff4500; display: inline-block; animation: strongPulse 1.5s infinite alternate; } @keyframes strongPulse { 0% { transform: scale(1); text-shadow: 1px 1px 2px rgba(0,0,0,0.5), 0 0 5px #ff4500; } 100% { transform: scale(1.02); text-shadow: 1px 1px 3px rgba(0,0,0,0.7), 0 0 10px #ff4500, 0 0 15px #ff4500; } } /* 特徴セクション */ .features-section { background-color: #1a1a1a; } .features-section p { font-size: 1.1em; color: #e0e0e0; margin-bottom: 1em; } .feature-item { margin-bottom: 30px; padding: 20px; background-color: #2f2f2f; border-radius: 8px; box-shadow: 0 4px 8px rgba(0,0,0,0.4); text-align: center; transition: transform 0.3s ease-out, box-shadow 0.3s ease-out; } .feature-item:hover { transform: translateY(-5px) scale(1.03); box-shadow: 0 8px 15px rgba(0,0,0,0.5), 0 0 10px #ffd700; } .feature-icon { font-size: 3em; margin-bottom: 10px; display: inline-block; transition: transform 0.3s ease-in-out; } .feature-icon:hover { transform: scale(1.2) rotate(15deg); } /* 理由セクション */ .reason-section { background-color: #2c2c2c; text-align: center; } .reason-section p { font-size: 1.1em; color: #e0e0e0; margin-bottom: 1em; } .reason-section blockquote { background-color: #383838; border-left: 5px solid #ffd700; margin: 30px auto; padding: 20px; font-style: italic; max-width: 80%; border-radius: 0 8px 8px 0; transition: box-shadow 0.3s ease; } .reason-section blockquote:hover { box-shadow: 0 0 15px rgba(255,215,0,0.5); } .reason-section blockquote footer { text-align: right; margin-top: 10px; font-style: normal; color: #aaa; } /* 効果セクション */ .effects-section { background-color: #1a1a1a; } .effects-section p { font-size: 1.1em; color: #e0e0e0; margin-bottom: 1em; } .effects-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 25px; } .effect-item { background-color: #2f2f2f; padding: 25px; border-radius: 8px; border-top: 5px solid #ff4500; box-shadow: 0 4px 8px rgba(0,0,0,0.4); transition: transform 0.3s ease-out, box-shadow 0.3s ease-out; } .effect-item:hover { transform: translateY(-5px) scale(1.03); box-shadow: 0 8px 15px rgba(0,0,0,0.5), 0 0 10px #ff4500; } .effect-item h3 { color: #ffd700; } /* お客様の声セクション */ .testimonials-section { background-color: #1a1a1a; } .testimonial-item { display: flex; align-items: flex-start; gap: 25px; background-color: #2f2f2f; padding: 25px; margin-bottom: 25px; border-radius: 10px; border-left: 5px solid #ffd700; transition: background-color 0.3s ease, transform 0.2s ease; } .testimonial-item:hover { background-color: #3a3a3a; transform: scale(1.02); } .testimonial-photo-container { flex-shrink: 0; } .testimonial-photo-placeholder { width: 100px; height: 100px; background-color: #555; color: #ccc; display: flex; align-items: center; justify-content: center; text-align: center; border-radius: 50%; font-size: 0.9em; border: 3px solid #ffd700; box-shadow: 0 4px 8px rgba(0,0,0,0.35); transition: transform 0.3s ease, box-shadow 0.3s ease; } .testimonial-photo-placeholder:hover { transform: scale(1.08) rotate(3deg); box-shadow: 0 6px 12px rgba(255,215,0,0.45); } .testimonial-photo { width: 100px; height: 100px; border-radius: 50%; object-fit: cover; border: 4px solid #ffd700; box-shadow: 0 4px 10px rgba(0,0,0,0.4); transition: transform 0.3s ease, box-shadow 0.3s ease; } .testimonial-photo:hover { transform: scale(1.08) rotate(-2deg); box-shadow: 0 6px 15px rgba(255,215,0,0.55); } .testimonial-content { flex-grow: 1; } .testimonial-item .voice { font-style: italic; font-size: 1.1em; line-height: 1.7; margin-bottom: 10px; color: #e0e0e0; } .testimonial-item .customer-info { text-align: right; color: #aaa; font-size: 0.9em; } /* FAQセクション */ .faq-section { background-color: #2c2c2c; } .faq-section dl dt { font-weight: bold; color: #ffd700; margin-top: 20px; padding: 10px; background-color: #3a3a3a; border-radius: 5px 5px 0 0; font-size: 1.2em; cursor: pointer; transition: background-color 0.3s ease; } .faq-section dl dt:hover { background-color: #4a4a4a; } .faq-section dl dd { margin-left: 0; padding: 15px; background-color: #2f2f2f; border-radius: 0 0 5px 5px; margin-bottom: 10px; color: #ccc; font-size: 1.1em; } /* 限定オファーセクション */ .limited-offer-section { background-color: #1a1a1a; text-align: center; } .limited-offer-section p { font-size: 1.1em; color: #e0e0e0; margin-bottom: 1em; } .limited-offer-section .highlight { font-size: 1.5em; color: #ff4500; margin: 20px 0; padding: 15px; border: 2px dashed #ffd700; display: inline-block; background-color: rgba(255, 215, 0, 0.1); transition: transform 0.3s ease, box-shadow 0.3s ease; } .limited-offer-section .highlight:hover { transform: scale(1.05); box-shadow: 0 0 15px #ff4500, 0 0 25px #ffd700; } .limited-offer-section .final-call { font-size: 1.3em; font-weight: bold; margin-top: 30px; } /* 価格・購入セクション */ .purchase-section { background-color: #222; text-align: center; padding-bottom: 60px;} .purchase-section .price-intro { font-size: 1.1em; color: #bbb; } .price-box { background-color: #000; padding: 30px; margin: 30px auto; border: 5px solid #ffd700; border-radius: 15px; max-width: 500px; box-shadow: 0 0 20px #ffd700, inset 0 0 15px rgba(255,215,0,0.3); transition: transform 0.3s ease, box-shadow 0.3s ease; } .price-box:hover { transform: scale(1.02); box-shadow: 0 0 30px #ffd700, 0 0 15px #ff4500, inset 0 0 20px rgba(255,215,0,0.4); } .original-price { font-size: 1.2em; color: #aaa; text-decoration: line-through; } .special-price { font-size: 1.8em; color: #fff; margin: 10px 0; } .special-price .price-value { font-size: 2.5em; color: #ff4500; display: block; margin-top: 5px; } .price-note { font-size: 0.9em; color: #999; } .cta-final-area { margin-top: 40px; } .cta-final-area p strong { color: #ffd700; font-size: 1.3em; text-shadow: 0 0 5px #ff4500; } .final-cta { font-size: 1.8em; padding: 20px 50px; } .final-cta:hover { animation: finalCtaHoverShake 0.6s cubic-bezier(.36,.07,.19,.97) both; background-color: #ff6347; box-shadow: 0 10px 25px rgba(255,99,71,0.6); } @keyframes finalCtaHoverShake { 10%, 90% { transform: translateY(-3px) scale(1.05) translateX(-2px) rotate(-1deg); } 20%, 80% { transform: translateY(-3px) scale(1.05) translateX(2px) rotate(1deg); } 30%, 50%, 70% { transform: translateY(-3px) scale(1.05) translateX(-3px) rotate(-2deg); } 40%, 60% { transform: translateY(-3px) scale(1.05) translateX(3px) rotate(2deg); } 100% { transform: translateY(-3px) scale(1.05); } } .cta-microcopy { font-size: 0.9em; color: #aaa; margin-top: 10px; } /* フッター */ .site-footer { background-color: #000; color: #777; padding: 30px 0; text-align: center; } .site-footer h3 { color: #aaa; font-size: 1.3em; border-bottom: 1px solid #555; padding-bottom: 5px; margin-bottom: 15px; } .site-footer ul { list-style: none; padding-left: 0; font-size: 0.9em; } .site-footer li { margin-bottom: 5px; color: #777;} .copyright { font-size: 0.8em; margin-top: 20px; color: #777;} /* --- ▼▼▼ スクロール追従型カウントダウンタイマースタイル ▼▼▼ --- */ #sticky-countdown-timer-wrapper { /* position:fixedを適用するラッパー */ position: fixed; top: 0; left: 0; width: 100%; z-index: 1000; /* 他の要素より手前に表示 */ background-color: rgba(20, 20, 20, 0.95); /* 背景色 */ box-shadow: 0 2px 15px rgba(0,0,0,0.5); /* 下に影 */ border-bottom: 3px solid #ff4500; /* 下部のアクセントライン */ } #sticky-countdown-timer-container { /* 内側のコンテナ、パディング用 */ padding: 10px 15px; /* 上下のパディング、左右のパディング */ text-align: center; color: #fff; /* デフォルトの文字色 */ } .sticky-countdown-label { font-size: 1.0em; color: #ffd700; /* ゴールド */ margin: 0 0 5px 0; font-weight: bold; text-shadow: 1px 1px 2px #000; font-family: 'Noto Serif JP', serif; } #sticky-countdown-display { font-family: 'Roboto', sans-serif; font-size: 1.8em; color: #ff6347; /* トマト色 */ font-weight: 700; letter-spacing: 1px; text-shadow: 1px 1px 0px #000, 0 0 8px #ff4500; line-height: 1.1; transition: color 0.3s ease; /* 色の変化をスムーズに */ } /* タイマーの数字が脈打つアニメーション */ #sticky-countdown-display.pulsate { animation: stickyDigitPulse 1s infinite alternate; } @keyframes stickyDigitPulse { 0% { opacity: 0.8; transform: scale(0.99); color: #ff4500; /* オレンジレッド */ } 100% { opacity: 1; transform: scale(1.01); color: #ff6347; /* トマト色 */ } } #sticky-countdown-expired { font-family: 'Noto Serif JP', serif; font-size: 1.3em; color: #ff0000; /* 目立つ赤色 */ font-weight: bold; padding: 8px 0; /* ラベルと合わせたパディング */ margin: 5px auto 0 auto; /* 上マージンを少し確保 */ line-height: 1.2; text-shadow: 1px 1px 2px #000; } /* --- ▲▲▲ スクロール追従型カウントダウンタイマースタイル ▲▲▲ --- */ /* レスポンシブ対応(簡易) */ @media (max-width: 768px) { h1 { font-size: 2.2em; } .section-title-default { font-size: 1.8em; } .section-title-gold { font-size: 1.6em; } h3 { font-size: 1.5em; } .container { width: 95%; padding: 20px 10px; } .hero { padding: 50px 10px; /* min-height: auto; */} .hero .product-name-main { font-size: 2em; } .cta-button { font-size: 1.2em; padding: 12px 25px; } .final-cta { font-size: 1.5em; padding: 15px 40px; } .effects-grid { grid-template-columns: 1fr; } /* 出会いのストーリーセクションのレスポンシブ */ .eiji-encounter-story-section .story-text-area { padding: 20px; } .eiji-encounter-story-section .story-text-area p { font-size: 1em; line-height: 1.8; } .eiji-encounter-story-section .next-section-lead { font-size: 1.15em; padding: 15px; } /* 挨拶セクションのレスポンシブ */ .eiji-greeting-section .greeting-content { flex-direction: column; align-items: center; padding: 20px; } .eiji-greeting-section .eiji-photo-container { flex: 0 0 auto; width: 80%; max-width: 300px; margin-bottom: 30px; } .eiji-greeting-section .greeting-text { flex: 0 0 auto; width: 100%; text-align: center; } .eiji-greeting-section .greeting-text p { font-size: 1.05em; text-align: left; } .eiji-greeting-section .greeting-text p:last-child { margin-bottom: 0; } /* エイジ先生紹介セクションのレスポンシブ */ .eiji-profile { flex-direction: column; } .eiji-sensei-profile-image { margin-bottom: 20px; } /* お客様の声セクションのレスポンシブ対応 */ @media (max-width: 600px) { .testimonial-item { flex-direction: column; align-items: center; text-align: center; } .testimonial-photo-container { margin-bottom: 20px; } .testimonial-photo-placeholder, .testimonial-photo { width: 120px; height: 120px; } .testimonial-photo-placeholder { font-size: 1em; border-width: 3px; } .testimonial-photo { border-width: 4px; } .testimonial-item .customer-info { text-align: center; } } /* レスポンシブ対応 for Sticky Countdown */ #sticky-countdown-timer-container { padding: 8px 10px; } .sticky-countdown-label { font-size: 0.9em; } #sticky-countdown-display { font-size: 1.5em; } #sticky-countdown-expired { font-size: 1.1em; } }