/* =========================
共通
========================= */
body{
margin:0;
font-family:"Noto Sans JP", sans-serif;
color:#333;
line-height:1.6;
}

*,
*::before,
*::after{
box-sizing:border-box;
}

.inner{
width:100%;
max-width:1200px;
margin:0 auto;
padding:0 20px;
}

.section{
padding:100px 0;
}

.section-title{
margin:0 auto 60px;
font-size:44px;
text-align:center;
font-weight:700;
line-height:1.45;
max-width:1000px;
}

.section-title span{
display:inline-block;
}

.btn{
display:inline-block;
background:linear-gradient(135deg, #ff7f9f, #f06292);
color:#fff;
padding:16px 32px;
border-radius:999px;
text-decoration:none;
font-size:18px;
font-weight:700;
box-shadow:0 8px 18px rgba(240,98,146,0.25);
transition:0.3s;
}

.btn:hover{
transform:translateY(-2px);
box-shadow:0 10px 22px rgba(240,98,146,0.3);
}

/* =========================
ヘッダー
========================= */
.header{
background:#fff;
border-bottom:1px solid #eee;
}

.header-inner{
display:flex;
justify-content:space-between;
align-items:center;
padding:15px 0;
}

.logo{
font-size:20px;
font-weight:bold;
letter-spacing:0.03em;
}

.btn-header{
padding:12px 24px;
font-size:16px;
}

/* =========================
ファーストビュー
========================= */
.fv{
background:#fff8fb;
padding:100px 0;
}

.fv-inner{
display:flex;
flex-direction:column;
align-items:center;
gap:40px;
}

.fv-text{
max-width:760px;
text-align:center;
}

.fv-label{
display:inline-block;
margin-bottom:20px;
padding:8px 16px;
background:#ffe3ec;
color:#d85b7b;
border-radius:20px;
font-size:16px;
font-weight:700;
letter-spacing:0.05em;
}

.fv-title{
margin:0 0 20px;
font-size:58px;
line-height:1.4;
}

.fv-copy{
margin:0 0 30px;
font-size:20px;
line-height:1.8;
}

.fv .btn{
font-size:20px;
padding:18px 40px;
margin-top:10px;
}

.fv-image{
width:100%;
}

.fv-image img{
width:100%;
display:block;
border-radius:20px;
box-shadow:0 12px 30px rgba(0,0,0,0.1);
}

/* =========================
悩みセクション
========================= */
.problems{
background:#fff;
}

.problem-grid{
display:grid;
grid-template-columns:repeat(2, 1fr);
gap:24px;
}

.problem-card{
padding:32px 24px;
background:#fff8fb;
border:1px solid #f3d9e2;
border-radius:20px;
box-shadow:0 4px 10px rgba(0,0,0,0.05);
text-align:center;
}

.problem-card p{
margin:0;
font-size:22px;
font-weight:bold;
line-height:1.8;
}

/* =========================
fammの特徴セクション
========================= */
.features{
background:#fff8fb;
border-top:1px solid #f3e3ea;
border-bottom:1px solid #f3e3ea;
}

.feature-grid{
display:grid;
grid-template-columns:repeat(2, 1fr);
gap:24px;
}

.feature-card{
padding:32px 24px;
background:#fff;
border-radius:20px;
box-shadow:0 4px 10px rgba(0,0,0,0.05);
text-align:center;
transition:0.3s;
}

.feature-card:hover{
transform:translateY(-4px);
}

.feature-card img{
width:70px;
height:70px;
margin-bottom:20px;
}

.feature-card h3{
margin:0 0 12px;
font-size:26px;
}

.feature-card p{
margin:0;
font-size:18px;
line-height:1.8;
text-align: left;
}

/* =========================
理想の働き方セクション
========================= */
.lifestyle{
background:#fff;
}

.lifestyle-lead{
max-width:760px;
margin:0 auto 50px;
text-align:center;
font-size:22px;
line-height:1.8;
}

.lifestyle-grid{
display:grid;
grid-template-columns:repeat(3, 1fr);
gap:30px;
max-width:1100px;
margin:0 auto;
align-items: stretch;
}

.lifestyle-card{
background:#fff;
border:1px solid #f3d9e2;
border-radius:20px;
box-shadow:0 6px 14px rgba(0,0,0,0.06);
overflow:hidden;
display: flex;
flex-direction: column;
height: 100%;
}

.lifestyle-card img{
width:100%;
height: 190px;
object-fit: cover;
display:block;
}

.lifestyle-card h3{
margin:20px 20px 8px;
font-size:24px;
font-weight:700;
line-height:1.4;
min-height: 88px;
}

.lifestyle-card p{
margin:0 20px 20px;
font-size:18px;
line-height:1.8;
color:#555;
text-align: left;
}


/* =========================
カリキュラムセクション
========================= */
.curriculum{
background:#fff7fa;
}

.curriculum-lead{
max-width:900px;
margin:0 auto 50px;
font-size:20px;
line-height:1.9;
text-align:center;
}

.curriculum-list{
max-width:900px;
margin:0 auto;
}

.curriculum-item{
position:relative;
display:flex;
align-items:flex-start;
gap:24px;
padding:28px 0;
}

.curriculum-item:not(:last-child)::after{
content:"";
position:absolute;
left:60px;
top:100%;
width:2px;
height:28px;
background:#f3d9e2;
}

.curriculum-step{
flex-shrink:0;
width:120px;
padding:12px 0;
background:#ffe3ec;
color:#d85b7b;
border-radius:999px;
font-size:18px;
font-weight:700;
text-align:center;
}

.curriculum-content{
flex:1;
padding:18px 24px;
background:#fff;
border:1px solid #f3d9e2;
border-radius:18px;
box-shadow:0 4px 10px rgba(0,0,0,0.04);
}

.curriculum-content h3{
margin:0;
font-size:26px;
font-weight:700;
line-height:1.6;
}

.curriculum-note{
max-width:900px;
margin:50px auto 0;
}

.curriculum-note p{
margin:0 0 10px;
font-size:18px;
line-height:1.8;
color:#666;
}

/* =========================
カリキュラム補足
========================= */
.curriculum-info{
max-width:700px;
margin:40px auto 0;
padding:20px 24px;
background:#fff;
border:1px solid #f3d9e2;
border-radius:16px;
text-align:center;
}

.curriculum-info p{
margin:0;
font-size:18px;
line-height:1.8;
}

/* =========================
卒業後サポートセクション
========================= */
.support{
background:#fff;
}

.support-grid{
display:grid;
grid-template-columns:repeat(2, 1fr);
gap:30px;
max-width:900px;
margin:0 auto;
}

.support-card{
padding:30px;
background:#fff7fa;
border:1px solid #f3d9e2;
border-radius:20px;
box-shadow:0 10px 24px rgba(0,0,0,0.05);
text-align:center;
transition:0.3s;
}

.support-card:hover{
transform:translateY(-4px);
}

.support-card img{
width:70px;
height:70px;
margin-bottom:16px;
padding:12px;
background:#fff;
border:1px solid #f3d9e2;
border-radius:50%;
}

.support-card h3{
margin:0 0 12px;
font-size:24px;
font-weight:700;
}

.support-card p{
margin:0;
font-size:18px;
line-height:1.8;
text-align: left;
}

/* =========================
卒業後応用講座セクション
========================= */
.skills{
background:#fff7fa;
}

.skills-lead{
max-width:760px;
margin:0 auto 50px;
text-align:center;
font-size:20px;
line-height:1.9;
color:#555;
}

.skill-grid{
display:grid;
grid-template-columns:repeat(2, 1fr);
gap:70px 40px;
background:#fff;
padding:40px 60px;
border-radius:24px;
max-width:1000px;
margin:0 auto;
}

.skill-card{
text-align:left;
padding:20px;
}

.skill-card h3{
margin:0 0 10px;
font-size:28px;
font-weight:700;
text-align:center;
margin-bottom: 16px;
}

.skill-card p{
margin:0 0 20px;
font-size:18px;
color: #666;
line-height:1.8;
max-width:420px;
margin-left:auto;
margin-right:auto;
text-align: left;
margin-bottom: 16px;
}

.skill-card img{
width:120%;
max-width:420px;
height:auto;
box-shadow:0 8px 20px rgba(0,0,0,0.08);
border-radius:10px;
display:block;
margin:0 auto;
}

/* =========================
実績セクション
========================= */
.results{
background:#fff;
}

.results-lead{
max-width:760px;
margin:0 auto 40px;
text-align:center;
font-size:20px;
line-height:1.8;
}

.results-inner{
max-width:940px;
margin:0 auto;
}

/* 数字 */
.results-grid{
display:grid;
grid-template-columns:repeat(3, 1fr);
gap:24px;
margin-bottom:50px;
}

.result-card{
background:#fff7fa;
padding:30px;
border-radius:20px;
text-align:center;
box-shadow:0 4px 10px rgba(0,0,0,0.05);
}

.result-number{
font-size:38px;
font-weight:700;
color:#e26a8d;
margin:0 0 8px;
white-space: nowrap;
}

.result-label{
font-size:18px;
color:#555;
margin:0;
}

/* グラフ・比較 */
.results-images{
display:grid;
grid-template-columns:1fr 1fr;
gap:24px;
align-items:start;
}

.results-image-box{
background:#fff;
padding:24px;
border-radius:20px;
box-shadow:0 8px 20px rgba(0,0,0,0.08);
}

.results-image-title{
margin:0 0 12px;
font-size:26px;
font-weight:700;
line-height:1.6;
}

.results-image-text{
margin:0 0 20px;
font-size:18px;
line-height:1.8;
text-align: left;
}

.results-image-box img{
width:100%;
height:auto;
display:block;
border-radius:12px;
}


/* =========================
Web講座以外のご紹介
========================= */
.other-courses{
background:#fff7fa;
}

.other-courses-title{
max-width:1000px;
font-size:44px;
}

.other-courses-title span{
display:inline-block;
}

.other-courses-lead{
max-width:800px;
margin:0 auto 50px;
text-align:center;
font-size:20px;
line-height:1.8;
}

.other-courses-grid{
display:grid;
grid-template-columns:repeat(3, 1fr);
gap:30px;
max-width:1100px;
margin:0 auto;
align-items:stretch;
}

.other-course-card{
background:#fff;
padding:30px 24px;
border:1px solid #f3d9e2;
border-radius:20px;
box-shadow:0 6px 14px rgba(0,0,0,0.06);
text-align:center;

display:flex;
flex-direction:column;
height:100%;
}

.other-course-card img{
width:180px;
height:auto;
display:block;
margin:0 auto 24px;
}

.other-course-card h3{
margin:0 0 16px;
font-size:26px;
font-weight:700;
line-height:1.5;
min-height:78px;
}

.other-course-card p{
margin:0 0 20px;
font-size:18px;
line-height:1.8;
text-align:left;
flex-grow:1;
}

.other-course-link{
color:#f06292;
font-size:16px;
font-weight:700;
text-decoration:none;
border-bottom:1px solid #f06292;
padding-bottom:2px;
align-self:center;
}

.other-course-link:hover{
opacity:0.7;
}

/* =========================
受講生の声セクション
========================= */
.voices{
background:#fff;
}

.voices-lead{
max-width:760px;
margin:0 auto 40px;
text-align: center;
font-size:20px;
line-height:1.8;
}

.voices-image-grid{
display:grid;
grid-template-columns:repeat(2, 1fr);
gap:32px;
max-width:1000px;
margin:0 auto;
align-items:start;
}

.voices-image-card{
background:#fff;
border:1px solid #f3d9e2;
border-radius:20px;
box-shadow:0 6px 14px rgba(0,0,0,0.06);
padding:20px;
}

.voices-image-card img{
width:100%;
height:auto;
display:block;
border-radius:12px; 
}


/* 満足度 */

.voices-satisfaction{
text-align:center;
margin-bottom:80px;
}

.voices-satisfaction img{
width:320px;
display:block;
margin:0 auto 20px;
filter:drop-shadow(0 10px 20px rgba(0,0,0,0.1));
}

.voices-satisfaction p{
margin:0;
font-size:20px;
font-weight:600;
color:#555;
}

/* 受講生カード */

.voice-grid{
display:grid;
grid-template-columns:repeat(3, 1fr);
gap:30px;
}

.voice-card{
background:#fff8fb;
padding:30px;
border-radius:20px;
border:1px solid #f3d9e2;
text-align:center;
box-shadow:0 4px 10px rgba(0,0,0,0.05);
}

.voice-card img{
width:160px;
margin-bottom:20px;
filter:drop-shadow(0 6px 12px rgba(0,0,0,0.1));

}

.voice-text{
font-size:18px;
line-height:1.8;
margin-bottom:16px;
}

.voice-name{
font-size:14px;
color:#d85b7b;
font-weight:700;
}

.voices-sub{
font-size:15px;
color:#aaa;
margin-bottom:24px;
letter-spacing:0.05em;
}

/* =========================
TVCM動画
========================= */
.tvcm{
background:#fff7fa;
}

.tvcm-lead{
max-width:760px;
margin:0 auto 20px;
text-align:center;
font-size:20px;
line-height:1.8;
}

.tvcm-note{
max-width:900px;
margin:0 auto 24px;
font-size:14px;
color:#666;
line-height:1.8;
}

.tvcm-thumb{
position:relative;
display:block;
max-width:900px;
margin:0 auto;
border-radius:20px;
overflow:hidden;
box-shadow:0 6px 14px rgba(0,0,0,0.08);
}

.tvcm-thumb img{
width:100%;
height:auto;
display:block;
}

.tvcm-play{
position:absolute;
top:50%;
left:50%;
transform:translate(-50%, -50%);
width:84px;
height:84px;
border-radius:50%;
background:rgba(255,255,255,0.9);
color:#d85b7b;
font-size:34px;
line-height:84px;
text-align:center;
box-shadow:0 4px 12px rgba(0,0,0,0.15);
}

.tvcm-grid{
display:grid;
grid-template-columns:1fr;
gap:24px;
max-width:900px;
margin:0 auto;
}

/* =========================
受講料・キャンペーンセクション
========================= */
.price{
background:#fff;
}

.price-lead{
max-width:760px;
margin:0 auto 40px;
text-align:center;
font-size:20px;
line-height:1.8;
}

.campaign-main{
max-width:900px;
margin:0 auto 40px;
padding:32px;
background:#fff8fb;
border:1px solid #f3d9e2;
border-radius:20px;
box-shadow:0 6px 14px rgba(0,0,0,0.06);
}

.price-sub{
max-width:760px;
margin: 40px auto 0;
padding:24px;
background:#fff8fb;
border:1px solid #f3d9e2;
border-radius:20px;
box-shadow:0 4px 10px rgba(0,0,0,0.05);
}

.price-card-title{
margin:0 0 16px;
font-size:26px;
font-weight:700;
line-height:1.5;
text-align:center;
}


.campaign-main img,
.price-sub img{
width:100%;
height:auto;
display:block;
border-radius:12px;
background:#fff;
}

.campaign-amazon{
max-width:900px;
margin:40px auto;
text-align:center;
}

/* 上の訴求 */
.campaign-amazon-head{
font-size:22px;
font-weight:700;
margin-bottom:16px;
line-height:1.5;
}

.campaign-amazon-head span{
color:#f06292;
font-size:26px;
}

/* 画像 */
.campaign-amazon img{
width:100%;
height:auto;
border-radius:20px;
box-shadow:0 6px 14px rgba(0,0,0,0.08);
margin-bottom:12px;
}

/* 注意書き */
.campaign-amazon-note{
font-size:13px;
color:#777;
line-height:1.6;
text-align: left;
}
/* =========================
キャンペーン注意書き
========================= */
.campaign-note-box{
margin-top:20px;
padding:16px;
background:#ffffff;
border:1px solid #f3d9e2;
border-radius:12px;
text-align:left;
}

.note-title{
font-size:14px;
font-weight:700;
margin-bottom:8px;
color:#555;
}

.note-text{
font-size:13px;
line-height:1.6;
color:#777;
}


/* =========================
無料説明会開催日程
========================= */
.trial-schedule{
background:#fff7fa;
}

.trial-schedule-lead{
max-width:900px;
margin:0 auto 40px;
text-align:left;
font-size:18px;
line-height:1.9;
}

.trial-schedule-image{
max-width:760px;
margin:0 auto 40px;
}

.trial-schedule-image img{
width:100%;
height:auto;
display:block;
border-radius:16px;
box-shadow:0 6px 14px rgba(0,0,0,0.08);
}

.trial-schedule-grid{
display:grid;
grid-template-columns:repeat(3, 1fr);
gap:24px;
max-width:1000px;
margin:0 auto 32px;
}

.trial-schedule-card{
background:#fff;
padding:24px 20px;
border:1px solid #f3d9e2;
border-radius:16px;
box-shadow:0 4px 10px rgba(0,0,0,0.05);
}

.trial-schedule-date{
margin:0 0 14px;
font-size:22px;
font-weight:700;
color:#d85b7b;
text-align:center;
}

.trial-schedule-list{
list-style:none;
padding:0;
margin:0;
}

.trial-schedule-list li{
margin-bottom:8px;
font-size:16px;
line-height:1.7;
color:#333;
display:flex;
justify-content:space-between;
}

.trial-schedule-list li:last-child{
margin-bottom:0;
}

.trial-schedule-list .is-full{
color:#aaa;
text-decoration:line-through;
}

.trial-schedule-note{
margin:0 auto 30px;
max-width:900px;
text-align:center;
font-size:16px;
line-height:1.8;
color:#666;
}

.trial-schedule-btn-wrap{
text-align:center;
}

.trial-schedule-list li:not(.is-full){
color:#333;
font-weight:500;
}


/* =========================
日程案内セクション
========================= */
.schedule{
background:#fff;
}

.schedule-box{
max-width:900px;
margin:0 auto;
padding:32px;
background:#fff8fb;
border:1px solid #f3d9e2;
border-radius:20px;
box-shadow:0 4px 10px rgba(0,0,0,0.05);
}

.schedule-lead{
margin:0 0 20px;
font-size:24px;
font-weight:700;
line-height:1.6;
text-align:left;
}

.schedule-list{
margin:0;
padding-left:24px;
}

.schedule-list li{
margin-bottom:16px;
font-size:20px;
line-height:1.8;
}

.schedule-list li:last-child{
margin-bottom:0;
}

/* =========================
講師セクション
========================= */
.teacher{
background:#fff7fa;
}

.teacher .inner{
max-width:1000px;
margin:0 auto;
}

.teacher-grid{
display:grid;
grid-template-columns:1fr;
gap:32px;
max-width:900px;
margin:0 auto;
}

.teacher-card{
display:flex;
gap:24px;
align-items:flex-start;
padding:28px;
background:#fff;
border:1px solid #f3d9e2;
border-radius:20px;
box-shadow:0 4px 10px rgba(0,0,0,0.05);
}

.teacher-photo{
flex-shrink:0;
width:120px;
}

.teacher-photo img{
width:100%;
height:auto;
display:block;
border-radius:50%;
}

.teacher-body{
flex:1;
}

.teacher-name{
margin:0 0 12px;
font-size:30px;
font-weight:700;
line-height:1.4;
}

.teacher-name span{
font-size:22px;
font-weight:700;
}

.teacher-field{
margin:0 0 8px;
font-size:22px;
font-weight:700;
line-height:1.7;
}

.teacher-skill{
margin:0 0 20px;
font-size:20px;
line-height:1.9;
}

.teacher-career-title{
margin:0 0 8px;
font-size:22px;
font-weight:700;
line-height:1.7;
}

.teacher-career{
margin:0;
font-size:20px;
line-height:1.9;
text-align: left;
}

/* =========================
FAQ
========================= */

.faq-list{
max-width:900px;
margin:0 auto;
display:grid;
grid-template-columns:repeat(2, 1fr);
gap:30px;
align-items:stretch;
}

.faq-item{
padding:24px;
border-radius:16px;
background:#fff8fb;
border:1px solid #f3d9e2;

display:flex;
flex-direction:column;
height:100%;
}

.faq-q{
font-weight:700;
color:#d85b7b;
margin:0 0 12px;
font-size:20px;
line-height:1.6;
min-height:64px;
}

.faq-a{
font-size:18px;
line-height:1.8;
color:#555;
text-align:left;
margin:0;
flex-grow:1;
}

/* =========================
CTAセクション
========================= */
.cta{
background:#fff7fa;
}

.cta-box{
max-width:950px;
margin:0 auto;
padding:70px 40px;
background:#fff;
border:1px solid #f3d9e2;
border-radius:24px;
box-shadow:0 8px 20px rgba(0,0,0,0.08);
text-align:center;
}

.cta-label{
display:inline-block;
margin:0 0 20px;
padding:8px 16px;
background:#ffe3ec;
color:#d85b7b;
border-radius:20px;
font-size:18px;
font-weight:700;
letter-spacing:0.05em;
}

.cta-title{
margin:0 0 20px;
font-size:44px;
font-weight:700;
line-height:1.5;
}

.cta-text{
max-width:700px;
margin:0 auto 20px;
font-size:20px;
line-height:1.9;
}

.cta-note{
margin:0 0 30px;
font-size:17px;
line-height:1.8;
color:#777;
}

.cta-btn{
font-size:22px;
padding:20px 48px;
}
/* =========================
Fammについて
========================= */
.about-famm{
background:#fff;
border-top:1px solid #eee;
}

.about-famm-wrap{
display:flex;
align-items:center;
gap:50px;
max-width:1000px;
margin:0 auto 60px;
}

.about-famm-image{
width:50%;
}

.about-famm-image img{
width:100%;
height:auto;
display:block;
}

.about-famm-text{
width:50%;
}

.about-famm-title{
margin:0 0 20px;
font-size:42px;
font-weight:700;
line-height:1.4;
}

.about-famm-text p{
margin:0;
font-size:20px;
line-height:1.9;
}

.about-famm-cta{
text-align:center;
}
