お金は幸せのチケット|仲田亮平FP – 我慢しない家計で、未来に希望を
:root {
–primary-color: #10B981;
–secondary-color: #F59E0B;
–dark-color: #1F2937;
–light-color: #FFFFFF;
–gray-100: #F3F4F6;
–gray-200: #E5E7EB;
–gray-600: #6B7280;
–gradient-primary: linear-gradient(135deg, #10B981 0%, #059669 100%);
–gradient-secondary: linear-gradient(135deg, #F59E0B 0%, #D97706 100%);
–shadow-soft: 0 10px 30px rgba(0, 0, 0, 0.1);
–shadow-hover: 0 20px 60px rgba(0, 0, 0, 0.15);
}
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: ‘Noto Sans JP’, sans-serif;
line-height: 1.6;
color: var(–dark-color);
overflow-x: hidden;
background: linear-gradient(135deg, #F0FDF4 0%, #ECFDF5 50%, #F0F9FF 100%);
}
/* Header */
.header {
position: fixed;
top: 0;
left: 0;
right: 0;
background: rgba(255, 255, 255, 0.95);
backdrop-filter: blur(10px);
z-index: 1000;
transition: all 0.3s ease;
border-bottom: 1px solid var(–gray-200);
}
.header.scrolled {
background: rgba(255, 255, 255, 0.98);
box-shadow: var(–shadow-soft);
}
.header-content {
display: flex;
justify-content: space-between;
align-items: center;
padding: 1rem 5%;
max-width: 900px;
margin: 0 auto;
}
.logo {
display: flex;
align-items: center;
font-size: 1.2rem;
font-weight: 700;
color: var(–primary-color);
text-decoration: none;
}
.logo i {
font-size: 1.5rem;
margin-right: 0.5rem;
}
.header-cta {
display: flex;
align-items: center;
gap: 1rem;
}
.cta-button {
display: inline-flex;
align-items: center;
gap: 0.5rem;
background: var(–gradient-primary);
color: white;
text-decoration: none;
padding: 0.75rem 1.5rem;
border-radius: 50px;
font-weight: 500;
transition: all 0.3s ease;
box-shadow: var(–shadow-soft);
}
.cta-button:hover {
transform: translateY(-2px);
box-shadow: var(–shadow-hover);
}
/* Hero Section */
.hero {
min-height: 100vh;
background: transparent;
display: flex;
align-items: center;
padding: 6rem 5% 4rem;
position: relative;
overflow: hidden;
}
.hero::before {
content: ”;
position: absolute;
top: 0;
right: -20%;
width: 40%;
height: 100%;
background: radial-gradient(circle, rgba(16, 185, 129, 0.1) 0%, transparent 70%);
animation: float 6s ease-in-out infinite;
}
@keyframes float {
0%, 100% { transform: translateY(0px) rotate(0deg); }
50% { transform: translateY(-20px) rotate(5deg); }
}
.hero-content {
padding: 2rem 0;
}
.hero-image-container {
position: relative;
width: 100%;
max-width: 800px;
margin: 0 auto;
}
/* PC用画像の調整 */
@media (min-width: 1024px) {
.hero-image-container {
max-width: 900px;
}
}
/* タブレット用画像の調整 */
@media (min-width: 769px) and (max-width: 1023px) {
.hero-image-container {
max-width: 700px;
}
}
/* モバイル用画像の調整 */
@media (max-width: 768px) {
.hero-image-container {
max-width: 500px;
}
}
.hero-main-image {
width: 100%;
height: auto;
border-radius: 15px;
box-shadow: var(–shadow-soft);
display: block;
}
.hero-cta-section {
margin-top: 2rem;
text-align: center;
}
.hero-image-cta {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 0.5rem;
background: var(–gradient-primary);
color: white;
text-decoration: none;
padding: 1.2rem 3rem;
border-radius: 50px;
font-size: 1.1rem;
font-weight: 600;
transition: all 0.3s ease;
box-shadow: 0 10px 30px rgba(16, 185, 129, 0.4);
position: relative;
overflow: hidden;
}
.hero-image-cta::before {
content: ”;
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
transition: left 0.5s ease;
}
.hero-image-cta:hover::before {
left: 100%;
}
.hero-image-cta:hover {
transform: translateY(-2px);
box-shadow: 0 12px 35px rgba(16, 185, 129, 0.6);
}
.hero-image-cta i {
font-size: 1.2rem;
}
@keyframes fadeInUp {
from {
opacity: 0.4;
transform: translateY(30px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
.hero-text h1 {
font-size: 3rem;
font-weight: 700;
line-height: 1.2;
margin-bottom: 1rem;
background: linear-gradient(135deg, var(–dark-color) 0%, var(–primary-color) 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
.hero-credentials {
display: flex;
justify-content: center;
gap: 2rem;
margin-bottom: 1.5rem;
flex-wrap: wrap;
}
.credential-badge {
background: var(–gradient-primary);
color: white;
padding: 0.5rem 1rem;
border-radius: 25px;
font-size: 0.9rem;
font-weight: 500;
box-shadow: var(–shadow-soft);
}
.hero-text .subtitle {
font-size: 1.2rem;
color: var(–gray-600);
margin-bottom: 2rem;
line-height: 1.8;
}
.value-proposition {
background: linear-gradient(135deg, #FEF3C7 0%, #FDE68A 100%);
padding: 1.5rem;
border-radius: 15px;
margin-bottom: 2rem;
border-left: 4px solid var(–secondary-color);
}
.value-proposition h3 {
color: var(–dark-color);
font-size: 1.3rem;
margin-bottom: 0.5rem;
font-weight: 600;
}
.value-proposition p {
color: var(–dark-color);
margin: 0;
font-weight: 500;
}
/* Credentials Section */
.credentials {
padding: 6rem 5%;
}
.credentials-grid {
display: grid;
grid-template-columns: 1fr;
gap: 1.5rem;
margin-bottom: 2rem;
}
.credential-card {
background: white;
padding: 2rem;
border-radius: 20px;
text-align: center;
box-shadow: var(–shadow-soft);
position: relative;
overflow: hidden;
transition: all 0.3s ease;
opacity: 0.4;
transform: translateY(20px);
}
.credential-card.visible {
opacity: 1;
transform: translateY(0);
}
.credential-card::before {
content: ”;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 4px;
background: var(–gradient-primary);
}
.credential-card:hover {
transform: translateY(-10px);
box-shadow: var(–shadow-hover);
}
.credential-number {
font-size: 3rem;
font-weight: 700;
color: var(–primary-color);
line-height: 1;
margin-bottom: 0.5rem;
}
.credential-label {
font-size: 1rem;
font-weight: 600;
color: var(–dark-color);
margin-bottom: 1rem;
line-height: 1.2;
text-align: center;
}
.credential-card p {
color: var(–gray-600);
line-height: 1.6;
}
.video-introduction {
background: white;
padding: 3rem;
border-radius: 20px;
box-shadow: var(–shadow-soft);
text-align: center;
margin-bottom: 3rem;
opacity: 0.4;
transform: translateY(30px);
transition: all 0.5s ease;
}
.video-introduction.visible {
opacity: 1;
transform: translateY(0);
}
.video-introduction h3 {
font-size: 1.8rem;
color: var(–dark-color);
margin-bottom: 1rem;
font-weight: 600;
}
.video-introduction p {
font-size: 1.1rem;
color: var(–gray-600);
margin-bottom: 2rem;
}
.video-container {
position: relative;
width: 100%;
max-width: 600px;
margin: 0 auto;
padding-bottom: 56.25%; /* 16:9 aspect ratio */
height: 0;
overflow: hidden;
border-radius: 15px;
box-shadow: var(–shadow-soft);
}
.video-container iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
border-radius: 15px;
}
.philosophy {
background: white;
padding: 3rem;
border-radius: 20px;
box-shadow: var(–shadow-soft);
text-align: center;
border-left: 5px solid var(–secondary-color);
opacity: 0.4;
transform: translateY(30px);
transition: all 0.5s ease;
}
.philosophy.visible {
opacity: 1;
transform: translateY(0);
}
.philosophy h3 {
font-size: 1.8rem;
color: var(–dark-color);
margin-bottom: 1.5rem;
font-weight: 600;
}
.philosophy p {
font-size: 1.1rem;
color: var(–gray-600);
line-height: 1.8;
max-width: 800px;
margin: 0 auto;
}
/* Problem Section */
.problem {
padding: 6rem 5%;
}
.container {
max-width: 900px;
margin: 0 auto;
background: white;
box-shadow: 0 0 50px rgba(0, 0, 0, 0.1);
}
/* セクション別の背景色とコンテナ設定 */
.hero {
background: transparent;
}
.hero .container {
background: transparent;
box-shadow: none;
}
.credentials {
background: transparent;
}
.problem {
background: transparent;
}
.features {
background: transparent;
}
.benefits {
background: transparent;
}
.testimonials {
background: transparent;
}
.cta-section {
background: var(–gradient-primary);
}
.cta-section .container {
background: transparent;
box-shadow: none;
}
.legal-notice {
background: transparent;
}
.section-header {
text-align: center;
margin-bottom: 4rem;
opacity: 0.4;
}
.section-header.visible {
opacity: 1;
animation: fadeInUp 0.8s ease forwards;
}
.section-header h2 {
font-size: 2.5rem;
font-weight: 700;
margin-bottom: 1rem;
color: var(–dark-color);
}
.section-header p {
font-size: 1.1rem;
color: var(–gray-600);
}
.problems-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 2rem;
margin-bottom: 3rem;
}
.problem-card {
background: white;
padding: 2rem;
border-radius: 15px;
box-shadow: var(–shadow-soft);
text-align: center;
transition: all 0.3s ease;
opacity: 0.4;
transform: translateY(20px);
}
.problem-card.visible {
opacity: 1;
transform: translateY(0);
}
.problem-card:hover {
transform: translateY(-10px);
box-shadow: var(–shadow-hover);
}
.problem-card i {
font-size: 3rem;
color: var(–secondary-color);
margin-bottom: 1.5rem;
}
.problem-card h3 {
font-size: 1.3rem;
margin-bottom: 1rem;
color: var(–dark-color);
}
.problem-card p {
color: var(–gray-600);
line-height: 1.7;
}
/* Features Section */
.features {
padding: 6rem 5%;
}
.feature-section {
margin-bottom: 4rem;
opacity: 0.4;
transform: translateY(30px);
transition: all 0.6s ease;
}
.feature-section.visible {
opacity: 1;
transform: translateY(0);
}
.feature-content {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 4rem;
align-items: center;
padding: 3rem 0;
}
.feature-section.reverse .feature-content {
direction: rtl;
}
.feature-section.reverse .feature-text {
direction: ltr;
}
.feature-image {
display: flex;
justify-content: center;
align-items: center;
}
.feature-step-image {
width: 100%;
max-width: 400px;
height: auto;
border-radius: 15px;
box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1);
transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.feature-step-image:hover {
transform: translateY(-5px);
box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
}
/* STEPブロック形式のスタイル */
.steps-container {
display: grid;
grid-template-columns: 1fr;
gap: 1.5rem;
margin-top: 3rem;
}
.step-block {
background: white;
border-radius: 20px;
padding: 1.5rem;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
transition: transform 0.3s ease, box-shadow 0.3s ease;
opacity: 0.4;
transform: translateY(30px);
transition: all 0.6s ease;
max-width: 500px;
margin: 0 auto;
}
.step-block.visible {
opacity: 1;
transform: translateY(0);
}
.step-block:hover {
transform: translateY(-10px);
box-shadow: 0 20px 50px rgba(0, 0, 0, 0.15);
}
.step-image {
text-align: center;
margin-bottom: 1.5rem;
}
.step-photo {
width: 100%;
max-width: 240px;
height: auto;
border-radius: 15px;
box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
}
.step-content {
text-align: center;
}
.step-number {
display: inline-block;
background: var(–gradient-primary);
color: white;
padding: 0.5rem 1.5rem;
border-radius: 25px;
font-weight: 600;
font-size: 0.9rem;
margin-bottom: 1rem;
letter-spacing: 0.5px;
}
.step-title {
font-size: 1.3rem;
font-weight: 600;
color: var(–dark-color);
margin-bottom: 1rem;
line-height: 1.4;
}
.step-description {
font-size: 0.95rem;
color: var(–gray-600);
line-height: 1.6;
margin-bottom: 1.5rem;
}
.step-benefits {
list-style: none;
padding: 0;
text-align: left;
}
.step-benefits li {
padding: 0.3rem 0;
color: var(–dark-color);
font-size: 0.9rem;
opacity: 0.4;
transform: translateX(-20px);
transition: all 0.3s ease;
}
.step-block.visible .step-benefits li {
opacity: 1;
transform: translateX(0);
}
.step-benefits li:nth-child(1) { transition-delay: 0.1s; }
.step-benefits li:nth-child(2) { transition-delay: 0.2s; }
.step-benefits li:nth-child(3) { transition-delay: 0.3s; }
/* GOAL専用スタイル */
.goal-container {
margin-top: 3rem;
display: flex;
justify-content: center;
}
.goal-block {
max-width: 500px;
background: linear-gradient(135deg, #FEF3C7 0%, #FDE68A 100%);
border: 2px solid var(–secondary-color);
}
.goal-number {
background: var(–gradient-secondary);
color: white;
font-weight: 700;
letter-spacing: 1px;
}
.goal-block .step-title {
color: #92400e;
font-weight: 700;
}
.goal-block .step-description {
color: #78350f;
}
.goal-block:hover {
transform: translateY(-15px);
box-shadow: 0 25px 60px rgba(245, 158, 11, 0.3);
}
/* STEP画像 – 統一表示 */
@media (max-width: 480px) {
.step-block {
padding: 1.2rem;
border-radius: 15px;
}
.step-photo {
max-width: 200px;
border-radius: 10px;
}
.step-title {
font-size: 1.1rem;
}
.step-block {
max-width: 350px;
}
.goal-block {
max-width: 350px;
}
.testimonial-card {
max-width: 350px;
}
}
.feature-visual {
width: 300px;
height: 250px;
background: linear-gradient(135deg, rgba(16, 185, 129, 0.1) 0%, rgba(5, 150, 105, 0.05) 100%);
border-radius: 20px;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
position: relative;
box-shadow: var(–shadow-soft);
}
.visual-icon {
font-size: 3rem;
margin-bottom: 1rem;
}
/* Analysis Visual */
.visual-elements {
display: flex;
align-items: end;
gap: 0.5rem;
height: 100px;
}
.chart-bar {
width: 20px;
background: var(–gradient-primary);
border-radius: 10px 10px 0 0;
animation: chart-grow 2s ease-in-out infinite;
}
.chart-bar:nth-child(2) { animation-delay: 0.2s; }
.chart-bar:nth-child(3) { animation-delay: 0.4s; }
.chart-bar:nth-child(4) { animation-delay: 0.6s; }
/* Steps Visual */
.step-path {
display: flex;
align-items: center;
gap: 1rem;
}
.step-point {
width: 20px;
height: 20px;
border-radius: 50%;
background: var(–gray-200);
position: relative;
}
.step-point.active {
background: var(–primary-color);
}
.step-point.current {
background: var(–secondary-color);
animation: pulse-current 2s ease-in-out infinite;
}
.step-line {
width: 30px;
height: 2px;
background: var(–gray-200);
}
/* Investment Visual */
.investment-growth {
position: relative;
width: 200px;
height: 120px;
}
.growth-line {
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 3px;
background: var(–gradient-primary);
transform: rotate(15deg);
transform-origin: left bottom;
}
.growth-points {
position: relative;
width: 100%;
height: 100%;
}
.growth-point {
position: absolute;
width: 12px;
height: 12px;
background: var(–secondary-color);
border-radius: 50%;
animation: growth-pulse 3s ease-in-out infinite;
}
.growth-point:nth-child(2) { animation-delay: 0.5s; }
.growth-point:nth-child(3) { animation-delay: 1s; }
.growth-point:nth-child(4) { animation-delay: 1.5s; }
/* Goal Visual */
.goal-target {
text-align: center;
}
.target-circle {
width: 150px;
height: 150px;
border: 5px solid var(–primary-color);
border-radius: 50%;
margin: 0 auto 1rem;
position: relative;
animation: target-rotate 4s linear infinite;
}
.target-circle::before {
content: ”;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 80px;
height: 80px;
background: var(–gradient-secondary);
border-radius: 50%;
}
.target-amount {
font-size: 1.2rem;
font-weight: 700;
color: var(–primary-color);
margin-bottom: 0.5rem;
}
.achievement-stars span {
font-size: 1.5rem;
margin: 0 0.2rem;
animation: star-twinkle 2s ease-in-out infinite;
}
.achievement-stars span:nth-child(2) { animation-delay: 0.3s; }
.achievement-stars span:nth-child(3) { animation-delay: 0.6s; }
/* Feature Text */
.feature-text {
padding: 2rem 0;
}
.feature-badge {
background: var(–gradient-secondary);
color: white;
padding: 0.5rem 1rem;
border-radius: 20px;
font-size: 0.9rem;
font-weight: 600;
display: inline-block;
margin-bottom: 1rem;
}
.feature-text h3 {
font-size: 1.8rem;
font-weight: 700;
margin-bottom: 1rem;
color: var(–dark-color);
}
.feature-text p {
font-size: 1.1rem;
line-height: 1.7;
color: var(–gray-600);
margin-bottom: 1.5rem;
}
.feature-benefits {
list-style: none;
margin: 0;
padding: 0;
}
.feature-benefits li {
font-size: 1rem;
margin-bottom: 0.8rem;
color: var(–dark-color);
font-weight: 500;
}
/* Animations */
@keyframes chart-grow {
0%, 100% { transform: scaleY(1); }
50% { transform: scaleY(1.2); }
}
@keyframes pulse-current {
0%, 100% { transform: scale(1); }
50% { transform: scale(1.3); }
}
@keyframes growth-pulse {
0%, 100% { transform: scale(1); }
50% { transform: scale(1.5); }
}
@keyframes target-rotate {
from { transform: rotate(0deg); }
to { transform: rotate(360deg); }
}
@keyframes star-twinkle {
0%, 100% { opacity: 1; transform: scale(1); }
50% { opacity: 0.5; transform: scale(1.2); }
}
/* Benefits Section */
.benefits {
padding: 6rem 5%;
}
.benefits-container {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 4rem;
align-items: center;
}
.benefits-visual {
position: relative;
}
.benefit-chart {
background: var(–gradient-primary);
border-radius: 20px;
padding: 2rem;
color: white;
text-align: center;
box-shadow: var(–shadow-soft);
transform: rotate(-3deg);
transition: all 0.3s ease;
}
.benefit-chart:hover {
transform: rotate(0deg) scale(1.05);
}
.chart-value {
font-size: 3rem;
font-weight: 700;
margin-bottom: 1rem;
}
.chart-label {
font-size: 1.2rem;
opacity: 0.9;
}
.benefits-list {
list-style: none;
}
.benefits-list li {
display: flex;
align-items: flex-start;
margin-bottom: 1.5rem;
opacity: 0.4;
transform: translateX(-20px);
transition: all 0.5s ease;
}
.benefits-list li.visible {
opacity: 1;
transform: translateX(0);
}
.benefits-list li i {
color: var(–primary-color);
font-size: 1.2rem;
margin-right: 1rem;
margin-top: 0.2rem;
}
.benefits-list li div h4 {
font-size: 1.1rem;
margin-bottom: 0.5rem;
color: var(–dark-color);
}
.benefits-list li div p {
color: var(–gray-600);
line-height: 1.6;
}
/* Testimonials Section */
.testimonials {
padding: 6rem 5%;
}
.testimonials-grid {
display: grid;
grid-template-columns: 1fr;
gap: 1.5rem;
}
.testimonial-card {
background: white;
padding: 0;
border-radius: 20px;
box-shadow: var(–shadow-soft);
position: relative;
opacity: 0.4;
transform: scale(0.95);
transition: all 0.5s ease;
overflow: hidden;
border: 1px solid var(–gray-200);
max-width: 500px;
margin: 0 auto;
}
.testimonial-card.visible {
opacity: 1;
transform: scale(1);
}
.testimonial-card:hover {
transform: translateY(-5px);
box-shadow: var(–shadow-hover);
}
.testimonial-header {
background: linear-gradient(135deg, var(–gray-100) 0%, #ffffff 100%);
padding: 1.5rem;
display: flex;
align-items: center;
gap: 1rem;
border-bottom: 1px solid var(–gray-200);
}
.testimonial-avatar {
flex-shrink: 0;
}
.avatar-circle {
width: 60px;
height: 60px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
position: relative;
border: 3px solid white;
box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}
.avatar-circle.woman-1 {
background: linear-gradient(135deg, #fbbf24 0%, #f59e0b 100%);
}
.avatar-circle.woman-2 {
background: linear-gradient(135deg, #ec4899 0%, #db2777 100%);
}
.avatar-circle.woman-3 {
background: linear-gradient(135deg, #8b5cf6 0%, #7c3aed 100%);
}
.avatar-emoji {
font-size: 1.8rem;
}
.testimonial-info {
flex: 1;
}
.testimonial-info h4 {
font-size: 1.1rem;
font-weight: 600;
color: var(–dark-color);
margin-bottom: 0.3rem;
}
.testimonial-info p {
font-size: 0.9rem;
color: var(–gray-600);
margin-bottom: 0.3rem;
}
.testimonial-period {
font-size: 0.8rem;
color: var(–primary-color);
font-weight: 500;
background: rgba(16, 185, 129, 0.1);
padding: 0.2rem 0.5rem;
border-radius: 10px;
display: inline-block;
}
.testimonial-stars {
color: var(–secondary-color);
font-size: 1rem;
}
.testimonial-content {
padding: 1.5rem;
position: relative;
}
.quote-mark {
position: absolute;
top: -5px;
left: 1rem;
font-size: 4rem;
color: var(–primary-color);
opacity: 0.2;
font-weight: bold;
line-height: 1;
}
.testimonial-content p {
font-size: 1rem;
line-height: 1.7;
color: var(–dark-color);
margin: 0;
padding-left: 1rem;
}
.testimonial-content strong {
color: var(–primary-color);
font-weight: 600;
}
.testimonial-result {
padding: 1rem 1.5rem;
background: var(–gray-100);
display: flex;
gap: 1.5rem;
justify-content: center;
}
.result-item {
text-align: center;
flex: 1;
}
.result-number {
display: block;
font-size: 1.2rem;
font-weight: 700;
color: var(–primary-color);
margin-bottom: 0.2rem;
}
.result-label {
font-size: 0.8rem;
color: var(–gray-600);
font-weight: 500;
}
/* CTA Section */
.cta-section {
padding: 6rem 5%;
color: white;
text-align: center;
}
.cta-content h2 {
font-size: 2.5rem;
font-weight: 700;
margin-bottom: 1.5rem;
opacity: 0.4;
}
.cta-content h2.visible {
opacity: 1;
animation: fadeInUp 0.8s ease forwards;
}
.cta-content p {
font-size: 1.2rem;
margin-bottom: 3rem;
opacity: 0.9;
}
.cta-button-large {
display: inline-flex;
align-items: center;
gap: 1rem;
background: var(–secondary-color);
color: white;
text-decoration: none;
padding: 1.2rem 3rem;
border-radius: 50px;
font-size: 1.2rem;
font-weight: 600;
transition: all 0.3s ease;
box-shadow: var(–shadow-soft);
}
.cta-button-large:hover {
transform: translateY(-5px) scale(1.05);
box-shadow: var(–shadow-hover);
}
.cta-button-large i {
font-size: 1.5rem;
}
/* Legal Notice */
.legal-notice {
padding: 4rem 5%;
border-top: 1px solid var(–gray-200);
}
.legal-notice h3 {
text-align: center;
font-size: 1.8rem;
font-weight: 600;
color: var(–dark-color);
margin-bottom: 3rem;
}
.legal-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 1.5rem;
max-width: 1000px;
margin: 0 auto;
}
.legal-item {
background: white;
padding: 1.5rem;
border-radius: 10px;
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
display: flex;
flex-direction: column;
}
.legal-item dt {
font-weight: 600;
color: var(–primary-color);
font-size: 1rem;
margin-bottom: 0.5rem;
border-bottom: 1px solid var(–gray-200);
padding-bottom: 0.5rem;
}
.legal-item dd {
color: var(–dark-color);
font-size: 0.95rem;
line-height: 1.5;
margin: 0;
}
/* Footer */
.footer {
background: var(–dark-color);
color: white;
padding: 3rem 5% 1rem;
text-align: center;
}
.footer-content {
max-width: 900px;
margin: 0 auto;
}
.footer h3 {
font-size: 1.5rem;
margin-bottom: 1rem;
color: var(–primary-color);
}
.footer p {
margin-bottom: 2rem;
opacity: 0.8;
}
/* フッター内特商法 – スクロールボックス */
.footer-legal-container {
margin: 2rem 0;
}
.footer-legal-container h4 {
font-size: 1rem;
margin-bottom: 1rem;
color: var(–light-color);
font-weight: 600;
text-align: left;
}
.legal-scroll-box {
max-height: 200px;
overflow-y: auto;
background: rgba(255, 255, 255, 0.1);
border-radius: 10px;
border: 1px solid rgba(255, 255, 255, 0.2);
padding: 1.5rem;
scrollbar-width: thin;
scrollbar-color: rgba(255, 255, 255, 0.3) rgba(255, 255, 255, 0.1);
}
/* WebKit scrollbar styling */
.legal-scroll-box::-webkit-scrollbar {
width: 6px;
}
.legal-scroll-box::-webkit-scrollbar-track {
background: rgba(255, 255, 255, 0.1);
border-radius: 3px;
}
.legal-scroll-box::-webkit-scrollbar-thumb {
background: rgba(255, 255, 255, 0.3);
border-radius: 3px;
}
.legal-scroll-box::-webkit-scrollbar-thumb:hover {
background: rgba(255, 255, 255, 0.5);
}
.legal-content-text {
text-align: left;
}
.legal-content-text p {
margin: 0 0 0.8rem 0;
font-size: 0.8rem;
line-height: 1.5;
opacity: 0.9;
}
.legal-content-text p:last-child {
margin-bottom: 0;
}
.legal-content-text strong {
color: var(–primary-color);
font-weight: 600;
}
.footer-bottom {
border-top: 1px solid #374151;
padding-top: 1rem;
margin-top: 2rem;
opacity: 0.6;
}
/* Sticky CTA */
.sticky-cta {
position: fixed;
bottom: 20px;
left: 50%;
transform: translateX(-50%);
z-index: 1001;
opacity: 0;
transition: all 0.3s ease;
}
.sticky-cta.visible {
opacity: 1;
transform: translateX(-50%) translateY(0);
}
.sticky-cta .cta-button {
position: relative;
padding: 1rem 2rem;
font-size: 1.1rem;
background: var(–gradient-secondary);
box-shadow: 0 5px 25px rgba(245, 158, 11, 0.4);
transition: all 0.3s ease;
animation: gentle-pulse 2s ease-in-out infinite;
}
@keyframes gentle-pulse {
0%, 100% {
transform: scale(1);
box-shadow: 0 5px 25px rgba(245, 158, 11, 0.4);
}
50% {
transform: scale(1.01);
box-shadow: 0 6px 30px rgba(245, 158, 11, 0.5);
}
}
.sticky-cta .cta-button:hover {
animation: none;
transform: scale(1.03) !important;
box-shadow: 0 8px 35px rgba(245, 158, 11, 0.7) !important;
}
/* Responsive Design */
@media (max-width: 768px) {
/* モバイルではフルワイド表示 */
.container {
max-width: none;
margin: 0;
background: transparent;
box-shadow: none;
padding: 0 4%;
}
/* Header improvements */
.header-content {
padding: 0.75rem 4%;
flex-wrap: wrap;
gap: 0.5rem;
}
.logo {
font-size: 1rem;
flex: 1;
min-width: 0;
}
.logo i {
font-size: 1.2rem;
}
.header-cta .cta-button {
padding: 0.6rem 1rem;
font-size: 0.9rem;
}
/* Hero section improvements */
.hero {
min-height: 100vh;
padding: 5rem 4% 3rem;
display: flex;
align-items: center;
justify-content: center;
}
.hero-content {
grid-template-columns: 1fr;
text-align: center;
gap: 2rem;
width: 100%;
max-width: 100%;
}
.hero-text h1 {
font-size: 1.8rem;
line-height: 1.3;
margin-bottom: 1rem;
}
.hero-credentials {
flex-direction: row;
flex-wrap: wrap;
justify-content: center;
gap: 0.5rem;
margin-bottom: 1rem;
}
.credential-badge {
padding: 0.5rem 1rem;
font-size: 0.85rem;
font-weight: 600;
white-space: nowrap;
min-width: fit-content;
background: var(–gradient-primary);
box-shadow: 0 2px 8px rgba(16, 185, 129, 0.3);
}
.value-proposition {
padding: 1rem;
margin-bottom: 1.5rem;
}
.value-proposition h3 {
font-size: 1.1rem;
}
.value-proposition p {
font-size: 0.9rem;
}
.hero-text .subtitle {
font-size: 1rem;
line-height: 1.6;
margin-bottom: 1.5rem;
}
.cta-button-large {
padding: 1rem 2rem;
font-size: 1rem;
width: 100%;
max-width: 300px;
}
/* Hero mobile adjustments */
.hero-image-container {
max-width: 100%;
margin: 0;
}
.hero-main-image {
border-radius: 10px;
}
.hero-cta-section {
margin-top: 1.5rem;
}
.hero-image-cta {
padding: 1rem 2rem;
font-size: 1rem;
width: 90%;
max-width: 350px;
}
/* General section improvements */
.hero, .credentials, .problem, .features, .benefits, .testimonials, .cta-section {
padding: 3rem 4%;
}
.section-header {
margin-bottom: 2.5rem;
}
.section-header h2 {
font-size: 1.6rem;
line-height: 1.3;
}
.section-header p {
font-size: 1rem;
}
/* Credentials section – unified display */
/* Video section mobile */
.video-introduction {
padding: 2rem;
margin-bottom: 2rem;
}
.video-introduction h3 {
font-size: 1.4rem;
}
.video-introduction p {
font-size: 1rem;
}
/* Philosophy section mobile */
.philosophy {
padding: 2rem;
}
.philosophy h3 {
font-size: 1.4rem;
}
.philosophy p {
font-size: 1rem;
}
/* Problem cards mobile */
.problems-grid {
grid-template-columns: 1fr;
gap: 1.5rem;
}
/* Features section mobile */
/* Features mobile layout */
.feature-content {
grid-template-columns: 1fr;
gap: 2rem;
text-align: center;
}
.feature-section.reverse .feature-content {
direction: ltr;
}
.feature-visual {
width: 250px;
height: 200px;
}
.feature-text h3 {
font-size: 1.4rem;
}
.feature-text p {
font-size: 1rem;
}
.feature-card h3 {
font-size: 1.2rem;
}
/* Benefits section mobile */
.benefits-container {
grid-template-columns: 1fr;
gap: 2rem;
}
.benefit-chart {
margin-bottom: 2rem;
}
.chart-value {
font-size: 2.5rem;
}
/* Testimonials – 統一表示 */
/* CTA section mobile */
.cta-content h2 {
font-size: 1.6rem;
line-height: 1.3;
}
.cta-content p {
font-size: 1rem;
margin-bottom: 2rem;
}
/* Footer legal mobile */
.footer-legal-container {
margin: 1.5rem 0;
}
.footer-legal-container h4 {
font-size: 0.9rem;
}
.legal-scroll-box {
max-height: 150px;
padding: 1rem;
}
.legal-content-text p {
font-size: 0.75rem;
margin-bottom: 0.6rem;
}
/* Sticky CTA mobile */
.sticky-cta {
left: 15px;
right: 15px;
bottom: 15px;
transform: translateY(0);
}
.sticky-cta.visible {
transform: translateY(0);
}
.sticky-cta .cta-button {
width: 100%;
justify-content: center;
padding: 1rem;
font-size: 1rem;
}
}
/* Extra small devices */
@media (max-width: 480px) {
.hero {
padding: 4rem 3% 2rem;
}
.hero-text h1 {
font-size: 1.6rem;
}
.hero-credentials {
gap: 0.4rem;
}
.credential-badge {
padding: 0.4rem 0.8rem;
font-size: 0.8rem;
border-radius: 20px;
}
.section-header h2 {
font-size: 1.4rem;
}
.cta-content h2 {
font-size: 1.4rem;
}
.hero, .credentials, .problem, .features, .benefits, .testimonials, .cta-section {
padding: 2.5rem 3%;
}
.credential-card, .feature-card, .testimonial-card, .video-introduction, .philosophy {
padding: 1.5rem;
}
.hero-cta-section {
margin-top: 1rem;
}
.hero-image-cta {
padding: 0.9rem 1.5rem;
font-size: 0.9rem;
width: 95%;
}
}
投資歴
10年
様々な市場環境を経験し、リスクを抑えた長期投資戦略を熟知
FP歴
10年
数百件の家計改善をサポートし、一人ひとりに最適なプランを提案
個別相談会で目指す目標金額
2000万円
現実的で着実な資産形成プロセスで、夢の2,000万円を目指します
「りょうちゃん」からのメッセージ
まずは2分で、私の想いをお聞きください
「お金は幸せのチケット」という信念
お金の不安で自分自身や家族・子供に我慢をさせる人を救いたい。
お金は、本来、私たちの人生を豊かにするための道具のはずです。
家族との大切な思い出を作るための資金であり、子供たちの未来を切り開くための投資であり、
自分自身の夢を叶えるための切符です。
将来資金への漠然とした不安
教育費、住宅ローン、老後資金…必要な金額も準備方法も分からず、ただ不安だけが募る毎日。
家計管理が続かない
家計簿アプリを試しても三日坊主。夫に「また無駄遣いして」と責められるのが怖い。
投資を始めたいけど怖い
NISAやiDeCoは気になるけれど、何から始めればいいか分からない。失敗したらどうしよう…
相談相手がいない
無料相談に行ったら保険ばかり勧められた。本当に親身になってくれる人はいないの?
忙しくて時間がない
仕事と家事育児で毎日がいっぱい。お金のことを考える時間も気力もない。
自分へのご褒美に罪悪感
たまの外食や買い物も「無駄遣い」と感じてしまい、心から楽しめない。
STEP 1
【責めない】現状分析
「無駄遣いを責める」のではなく「仕組みの問題」として捉え、10年の経験で培った優しいアプローチで現状を見える化します。
- ✅ 罪悪感を感じない家計分析
- ✅ あなたの価値観を重視した見直し
- ✅ 実現可能な改善プランの提案
STEP 2
【急がせない】段階的改善
急激な変化は続きません。あなたのペースに合わせて段階的に改善し、無理なく続けられる仕組みを一緒に作ります。
- ✅ 月単位での小さな改善積み重ね
- ✅ 生活スタイルを尊重した提案
- ✅ 挫折しない継続サポート
STEP 3
【売り込まない】投資サポート
投資商品の売り込みは一切しません。10年の投資経験から、あなたに本当に合った方法だけを分かりやすくお伝えします。
- ✅ 商品ありきでない中立的なアドバイス
- ✅ リスク説明を最重視
- ✅ 継続できる投資額の設定
GOAL
【2,000万円達成】継続伴走
「お金は幸せのチケット」の信念のもと、資産2,000万円達成まで寄り添い続けます。一人じゃないという安心感を大切にします。
- ✅ 目標達成まで長期サポート
- ✅ 心の支えとなるLINE相談
- ✅ 人生の変化に応じた軌道修正
-
将来への漠然とした不安が具体的な希望に
必要な金額と達成方法が見える化されることで、不安が安心感に変わります。
-
家計のムダが整い、自分に使えるお金も増加
固定費見直しで月2-3万円の削減も可能。罪悪感な く自分へのご褒美も楽しめます。
-
教育費・住宅・老後資金の具体的計画が完成
ライフプランシミュレーションで各ライフイベントの最短ルートが明確に。
-
投資の始め方・続け方が仕組み化される
あなたに合った投資方法で、迷わず・焦らず資産形成を続けられます。
-
優しい伴走で挫折せず前向きに継続
月1回の面談とLINEサポートで、一人じゃないという安心感を持てます。
“
保険やサブスクの見直しで月額3.2万円の削減に成功し、そのうち2万円を積立NISAで投資開始。りょうちゃんの『責めない』アプローチで、夫も協力的になりました。残り1.2万円は罪悪感なく自分のために使っています
“
投資経験のない私でしたが、りょうちゃんがリスクを丁寧に説明してくれたおかげで、積立NISAで12万円が18万円に増加。教育費のシミュレーションで、子どもたちの将来に安心して投資できています
“
他のFPさんは保険ばかり勧められましたが、りょうちゃんは売り込み零。現在の家計から逆算して、私たちに合った現実的なプランを作ってくれました。
「お金は幸せのチケット」を実感する第一歩を
投資歴10年・FP歴10年の「りょうちゃん」が、あなたの資産2,000万円達成までを責めずに寄り添います。
友だち追加で限定公開【我慢しない家計改善3ステップ動画】をプレゼント!
まずは、あなたの「本当に叶えたい未来」をお聞かせください。
今すぐLINEで相談を予約する
// Intersection Observer for animations
const observerOptions = {
threshold: 0.2,
rootMargin: ‘0px 0px -30px 0px’
};
const observer = new IntersectionObserver((entries) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
entry.target.classList.add(‘visible’);
// 一度アニメーションが実行されたら監視を停止(パフォーマンス向上)
observer.unobserve(entry.target);
}
});
}, observerOptions);
// Observe elements for animation
document.addEventListener(‘DOMContentLoaded’, () => {
const animateElements = document.querySelectorAll(
‘.section-header, .credential-card, .video-introduction, .philosophy, .problem-card, .step-block, .feature-section, .benefits-list li, .testimonial-card, .cta-content h2’
);
animateElements.forEach((el, index) => {
// セクション毎にディレイをリセット
const section = el.closest(‘section’);
const sectionElements = section ? section.querySelectorAll(‘.section-header, .credential-card, .video-introduction, .philosophy, .problem-card, .step-block, .feature-section, .benefits-list li, .testimonial-card, .cta-content h2’) : [el];
const indexInSection = Array.from(sectionElements).indexOf(el);
el.style.transitionDelay = `${indexInSection * 0.1}s`;
observer.observe(el);
});
});
// Header scroll effect
window.addEventListener(‘scroll’, () => {
const header = document.getElementById(‘header’);
const stickyCTA = document.getElementById(‘sticky-cta’);
if (window.scrollY > 100) {
header.classList.add(‘scrolled’);
stickyCTA.classList.add(‘visible’);
} else {
header.classList.remove(‘scrolled’);
stickyCTA.classList.remove(‘visible’);
}
});
// Smooth scrolling for anchor links
document.querySelectorAll(‘a[href^=”#”]’).forEach(anchor => {
anchor.addEventListener(‘click’, function (e) {
e.preventDefault();
const target = document.querySelector(this.getAttribute(‘href’));
if (target) {
target.scrollIntoView({
behavior: ‘smooth’,
block: ‘start’
});
}
});
});
// Add hover effects to cards
document.querySelectorAll(‘.problem-card, .feature-card, .testimonial-card, .video-introduction’).forEach(card => {
card.addEventListener(‘mouseenter’, function() {
this.style.transform = ‘translateY(-10px) scale(1.02)’;
});
card.addEventListener(‘mouseleave’, function() {
this.style.transform = ‘translateY(0) scale(1)’;
});
});
// Enhanced CTA button effects
document.querySelectorAll(‘.cta-button, .cta-button-large’).forEach(button => {
button.addEventListener(‘click’, function() {
// Add click animation
this.style.transform = ‘scale(0.95)’;
setTimeout(() => {
this.style.transform = ”;
}, 150);
});
});
// Lazy loading for better performance
if (‘IntersectionObserver’ in window) {
const imageObserver = new IntersectionObserver((entries) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
const img = entry.target;
img.src = img.dataset.src;
img.classList.remove(‘lazy’);
imageObserver.unobserve(img);
}
});
});
document.querySelectorAll(‘img[data-src]’).forEach(img => {
imageObserver.observe(img);
});
}
// Accessibility improvements
document.addEventListener(‘keydown’, function(e) {
if (e.key === ‘Tab’) {
document.body.classList.add(‘keyboard-navigation’);
}
});
document.addEventListener(‘mousedown’, function() {
document.body.classList.remove(‘keyboard-navigation’);
});
// Performance optimization: Reduce animations on slower devices
const isSlowDevice = navigator.hardwareConcurrency < 4 || navigator.connection?.effectiveType === 'slow-2g';
if (isSlowDevice) {
document.documentElement.style.setProperty('–animation-duration', '0.1s');
}