/* ==================================================
   HEADER / ヘッダー
================================================== */
.lp-header{background:#fff;position:relative;z-index:100;border-bottom:1px solid #eee;}
.lp-header-inner{height:72px;display:flex;align-items:center;justify-content:space-between;}
.lp-header-logo{width:180px;height:auto;}
.lp-header-nav{display:flex;align-items:center;gap:25px;}
.lp-header-nav a{font-size:.9rem;font-weight:500;color:#2b2b2b;text-decoration:none;}
.lp-header-nav .lp-header-btn{background:#f51874;color:#fff;padding:10px 20px;border-radius:30px;}
@media(max-width:991px){
	.lp-header-nav{display:none; gap: 15px;}
	.lp-header-inner{height:65px;}
	.lp-header-nav a{font-size: .85rem; letter-spacing: 0;}
	.lp-header-nav .lp-header-btn{padding:10px 10px;}
}
@media(max-width:575px){
  .lp-header-logo{width:150px;}
}

.lp-header-nav{
    display:flex;
}
.lp-header #nav,
.lp-header .menu{
    display:none;
}
.menu{
    display:none !important;
}
@media(max-width:767px){
	.lp-header-nav{
			display:none;
	}
	.lp-header .menu{
			display:block;
	}
	.lp-header #nav{
			display:block;
	}
	.menu{
		display:block !important;
	}
}
/* ==================================================
   UTILITY / 共通ユーティリティ
================================================== */
.txt-new-pink{
    color:#db4e8a;
}
.txt-new-blue{
	color: #064b82 !important;
}
.bdr-50 {
    border-radius: 100vh;
}
.bg-lpink{
	background-color: #fdf4f6 !important;
}
a.line-link, .faq-links a.line-link{
	color: #18a73e !important;
}
/* ==================================================
   KV
================================================== */
.new-kv{
  position:relative;
  height:650px;
  padding:8px;
  background:#f7f7f7;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}
.new-kv-photos{
  position:absolute;
  inset:8px;
  display:grid;
  grid-template-columns:repeat(12,1fr);
  grid-template-rows:repeat(8,1fr);
  gap:8px;
  z-index:1;
}
.new-kv-photos img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
  border-radius:16px;
}
.new-kv-photos img:nth-child(1){grid-column:1/4;grid-row:1/3;}
.new-kv-photos img:nth-child(2){grid-column:4/7;grid-row:1/3;}
.new-kv-photos img:nth-child(3){grid-column:7/10;grid-row:1/3;}
.new-kv-photos img:nth-child(4){grid-column:10/13;grid-row:1/3;}
.new-kv-photos img:nth-child(5){grid-column:1/3;grid-row:3/7;}
.new-kv-photos img:nth-child(6){grid-column:3/5;grid-row:3/5;}
.new-kv-photos img:nth-child(7){grid-column:3/5;grid-row:5/7;}
.new-kv-photos img:nth-child(8){grid-column:5/8;grid-row:3/7;}
.new-kv-photos img:nth-child(9){grid-column:8/10;grid-row:3/5;}
.new-kv-photos img:nth-child(10){grid-column:8/10;grid-row:5/7;}
.new-kv-photos img:nth-child(11){grid-column:10/13;grid-row:3/7;}
.new-kv-photos img:nth-child(12){grid-column:1/4;grid-row:7/9;}
.new-kv-photos img:nth-child(13){grid-column:4/7;grid-row:7/9;}
.new-kv-photos img:nth-child(14){grid-column:7/13;grid-row:7/9;}
.new-kv-content{
  position:relative;
  z-index:3;
  width:620px;
  /* max-width:42%; */
  background:rgba(255,255,255,.9);
  border-radius:28px;
  padding:32px 38px;
  text-align:center;
  box-shadow:0 12px 35px rgba(0,0,0,.1);
}
.new-kv-badges{
  display:flex;
  justify-content:center;
  gap:10px;
  margin-bottom:12px;
}
.new-kv-badges span{
  display:inline-block;
  background:#064b82;
  color:#fff;
  border-radius:30px;
  padding:7px 20px;
  font-weight:700;
}
.new-kv-badges span:last-child{background:#f06292;}
.new-kv-catch{
  font-size:1.25rem;
  font-weight:700;
  margin-bottom:5px;
}
.new-kv h1{
  font-size:4.8rem;
  line-height:.8;
  color:#064b82;
  font-weight:700;
  letter-spacing:2px;
  margin:0 0 8px;
}
.new-kv h1 span{font-size:3.6rem;}
.new-kv-sub{
  font-size:2.5rem;
  font-weight:700;
  color:#e34c8b;
  margin-bottom:12px;
  line-height:1.3;
}
.new-kv-text{
  line-height:1.7;
  margin-bottom:5px;
  text-align:left;
}
.new-kv-buttons{
  display:flex;
  justify-content:center;
  gap:10px;
}
.new-kv-content .new-btn-pink, .new-kv-content .new-btn-line{
  display:inline-block;
  border-radius:50px;
  padding:10px 20px;
  color:#fff!important;
  text-decoration:none!important;
  font-size:1.2rem;
  font-weight:700;
  line-height:1.4;
  white-space:nowrap;
  width: 100%;
}
.new-btn-pink,.new-btn-line{
  display:inline-block;
  border-radius:50px;
  padding:20px 70px;
  color:#fff!important;
  text-decoration:none!important;
  font-size:1.5rem;
  font-weight:700;
  line-height:1.4;
  white-space:nowrap;
	text-align: center;
}
.new-btn-pink{
  background:#cd1c66;
  box-shadow:0 3px 7px rgba(245,24,116,.25);
}
.new-btn-pink:hover{background:#e55e98;}
.new-btn-line{background:#20c84b;}
.new-btn-line:hover{background:#17b440;}
.new-kv-present{
  background:#064b82;
  color:#fff;
  border-radius:6px;
  padding:5px 10px;
  text-align:left;
  margin-bottom:10px;
  font-size:.9rem;
}
@media(max-width:991px){
  .new-kv{
    height:620px;
    min-height:550px;
  }
  .new-kv-content{
    width:560px;
    max-width:70%;
    padding:28px 25px;
  }
  /* .new-kv h1{font-size:3.4rem;} */
  .new-kv-sub{font-size:1.7rem;}
  .new-kv-badges span{
    padding:6px 12px;
    font-size:.85rem;
  }
  .new-kv-catch{font-size:1.1rem;}
  .new-kv-text{font-size:.9rem;}
}
@media(max-width:767px){
  .new-kv{
    height:500px;
    padding:6px;
  }
  .new-kv-photos{
    inset:6px;
    grid-template-columns:repeat(4,1fr);
    grid-template-rows:95px 120px 120px 120px 110px 110px;
    gap:5px;
  }
  .new-kv-photos img{
    border-radius:10px;
  }
  .new-kv-photos img:nth-child(1){grid-column:1/3;grid-row:1;}
  .new-kv-photos img:nth-child(2){grid-column:3/5;grid-row:1;}
  .new-kv-photos img:nth-child(3){grid-column:1;grid-row:2/4;}
  .new-kv-photos img:nth-child(4){grid-column:2;grid-row:2;}
  .new-kv-photos img:nth-child(5){grid-column:3;grid-row:2;}
  .new-kv-photos img:nth-child(6){grid-column:4;grid-row:2/4;}
  .new-kv-photos img:nth-child(7){grid-column:2;grid-row:3;}
  .new-kv-photos img:nth-child(8){grid-column:3;grid-row:3;}
  .new-kv-photos img:nth-child(9){grid-column:1;grid-row:4;}
  .new-kv-photos img:nth-child(10){grid-column:2;grid-row:4;}
  .new-kv-photos img:nth-child(11){grid-column:3/5;grid-row:4;}
  .new-kv-photos img:nth-child(12){grid-column:1/3;grid-row:5;}
  .new-kv-photos img:nth-child(13){grid-column:3/5;grid-row:5;}
  .new-kv-photos img:nth-child(14){grid-column:1/5;grid-row:6;}
  .new-kv-content{
    width:92%;
    max-width:none;
    padding:24px 18px;
  }
  .new-kv-badges{gap:5px;}
  .new-kv-badges span{
    font-size:.8rem;
    padding:6px 12px;
  }
  .new-kv-catch{font-size:1rem;}
  .new-kv-sub{font-size:1.7rem;}
  .new-kv-buttons{
    flex-direction:column;
    align-items:center;
  }
  .new-btn-pink,.new-btn-line{
    width:auto;
    min-width:240px;
  }
}
@media(max-width:575px){
  .new-kv{
    height:580px;
    padding-top:0;
  }
  .new-kv-photos{
    grid-template-rows:85px 120px 120px 120px 100px 100px;
    gap:4px;
  }
  .new-kv-content{
    width:90%;
    padding:20px 15px;
    border-radius:20px;
  }
  .new-kv-badges{gap:5px;}
  .new-kv-badges span{
    font-size:.9rem;
    padding:3px 10px;
		font-weight: normal;
  }
  .new-kv-catch{
    font-size:1rem;
    line-height:1.5;
  }
  .new-kv h1{
    font-size:3.5rem;
    line-height:1;
    letter-spacing:0;
  }
	.new-kv h1 span{font-size:2.8rem; letter-spacing: 0;}
  .new-kv-sub{margin-bottom: 5px;}
  .new-kv-text{
    text-align:left;
    line-height:1.65;
  }
  .new-btn-pink,.new-btn-line{
    width:100%;
    min-width:0;
    font-size:1.2rem;
    padding:12px 15px;
  }
  .new-kv-present{
    font-size:.9rem;
    padding:8px 10px;
  }
}
/* ==================================================
   STATS / 実績数値
================================================== */
.stats-section{background:#ffe928;padding:20px 0;}
.stats-list{display:flex;justify-content:center;margin:0;}
.stats-list li{width:25%;text-align:center;line-height:1.2;}
.stats-list b{display:block;color:#333;font-size:2.7rem;}
.stats-list b span{font-size:2.3rem;}
.stats-list small{font-size:1rem;font-weight:700;}
@media(max-width:767px){
    .stats-list{flex-wrap:wrap;}
    .stats-list li{width:50%;padding:8px;}
    .stats-list b{font-size:2.3rem;}
}
@media(max-width:575px){
    .stats-list b{font-size:2rem;}
    .stats-list small{font-size:.9rem;}
}
/* ==================================================
   MEDIA / メディア掲載
================================================== */
.media-section{background:#07578d;color:#fff;text-align:center;padding:35px 0;}
.media-section>div>p{margin-bottom:0;font-weight:700;}
.media-section h2{color:#fff;font-size:2rem;margin-bottom:20px;}
.media-box{background:#fff;border-radius:20px;padding:15px;display:grid;grid-template-columns:repeat(4,1fr);gap:10px;color:#2b2b2b;}
.media-box img{width:100%;height:105px;object-fit:contain;}
.media-box small{display:block;line-height:1.35;font-size:.72rem;}
.media-box h6{
    margin-bottom: 0;
    font-weight: normal;
    font-size: 0.95rem;
}
@media(max-width:991px){
    .media-box small.xsmall{font-size:.6rem;}
}
@media(max-width:767px){
    .media-box{grid-template-columns:repeat(3,1fr);}
}
@media(max-width:575px){
    .media-section h2{font-size:1.4rem;}
    .media-box{grid-template-columns:repeat(2,1fr);}
}
.books span {
    gap: 8px;
    justify-content: center;
}
/* ==================================================
   COMMON HEADING / 共通見出し
================================================== */
.new-heading{text-align:center;margin-bottom:35px;}
.new-heading>small,.section-sub{display:block;color:#d94f8b;font-weight:700;letter-spacing:1px;margin-bottom:3px;font-size: 1.2rem;}
.new-heading h2{font-size:2.35rem;color:#064b82;font-weight:700;margin-bottom:15px;}
.new-heading-pre{color:#064b82;font-weight:700;margin-bottom:0;}
.new-heading>p:last-child{max-width:1000px;margin-left:auto;margin-right:auto;text-align:left;}
@media(max-width:575px){
    .new-heading h2{font-size:1.8rem;}
    .new-heading>p:last-child{text-align:left;}
}
/* ==================================================
   WHY AUSTRALIA / オーストラリアが選ばれる理由
================================================== */
.why-section{background:#fff;}
.new-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;}
.new-card{background:#fff;border:1px solid #d8d8d8;border-radius:18px;padding:30px 25px;box-shadow:0 5px 18px rgba(0,0,0,.04);}
.new-card{text-align:center;}
.new-card-icon{color:#db4e8a;font-size:2.2rem;margin-bottom:12px;}
.new-card h3{font-size:1.2rem;line-height:1.5;font-weight:700;color:#333;margin-bottom:15px;}
.new-card p{text-align:left;margin-bottom:0;}
.new-card .txt-new-pink, .programme-card .txt-new-pink{font-weight: 700;}
@media(max-width:991px){
    .new-card-grid{gap:15px;}
    .new-card{padding-left:18px;padding-right:18px;}
}
@media(max-width:767px){
    .new-card-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:575px){
    .new-card-grid{grid-template-columns:1fr;}
    .new-card{padding:15px 18px;}
		.new-card-icon{font-size:3rem;margin-bottom:5px; line-height: 1.3;}
}
/* ==================================================
   SIMPLE CTA / 中間CTA
================================================== */
.simple-cta{text-align:center;background:#fff;padding:35px 0 35px;}
.simple-cta p{font-weight:700;margin-bottom:10px;}
.simple-cta>div>small{display:block;margin-top:8px;line-height:1.5;font-size:.9rem; font-weight: 700;}
.simple-cta small a{color:#18a73e;font-weight:700;}
.cta-points{display:flex;justify-content:center;gap:10px;margin:10px 0 0;}
.cta-points li{font-size:.9rem;font-weight:500;margin-bottom:5px;}
@media(max-width:575px){
    .cta-points{display:block;}
    .cta-points li{display:inline-block;margin:0 5px;}
		.simple-cta{padding:15px 0 25px;}
		.simple-cta p{font-size: .88rem; margin-bottom: 5px;}
}
/* ==================================================
   PROGRAMME / プログラムが選ばれる理由
================================================== */
.programme-section{
    background:linear-gradient(135deg,#f5fbff 0%,#fff8fa 100%);
}
.programme-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:25px;
}
.programme-card{
    position:relative;
    background:#fff;
    border:1px solid #d8d8d8;
    border-radius:18px;
    padding:25px 25px 25px;
    text-align:center;
    box-shadow:0 5px 18px rgba(0,0,0,.04);
}
.programme-card-title{
    display:block;
    background:#df4d8b;
    color:#fff;
    border-radius:30px;
    padding:7px 15px;
    font-weight:700;
    line-height:1.3;
}
.programme-card p{
    margin:18px 0 0;
    text-align:left;
    line-height:1.7;
}
.programme-stat{
    min-height:75px;
    display:flex;
    align-items:center;
    justify-content:center;
}
.programme-stat strong{
    color:#df4d8b;
    font-size:4.5rem;
    font-weight:500;
    line-height:1;
}
.programme-stat strong small{
    font-size:1.5rem;
    font-weight:500;
}
.programme-stat-label{
    color:#df4d8b;
    font-size:.95rem;
    font-weight:700;
    line-height:1.3;
    margin-top:3px;
}
.programme-employment{
    min-height:93px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#df4d8b;
}
.programme-employment-label{
    writing-mode:vertical-rl;
    text-orientation:upright;
    font-size:1.25rem;
    font-weight:700;
    line-height:1;
    letter-spacing:2px;
    margin-right:8px;
}
.programme-employment strong{
    color:#df4d8b;
    font-size:4.5rem;
    font-weight:500;
    line-height:1;
}
.programme-employment strong small{
    font-size:1.5rem;
    font-weight:500;
}
.programme-marn{
    min-height:93px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:14px;
    color:#df4d8b;
}
.programme-marn-icon{
    font-size:3rem;
    line-height:1;
}
.programme-marn-info{
    text-align:left;
    line-height:1.25;
}
.programme-marn-info small{
    display:block;
    color:#df4d8b;
    font-size:.72rem;
    font-weight:500;
    margin-bottom:5px;
}
.programme-marn-info strong{
    display:block;
    color:#df4d8b;
    font-size:1.1rem;
    font-weight:700;
    line-height:1.2;
}
.programme-review{
    min-height:93px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
}
.programme-review strong{
    color:#df4d8b;
    font-size:1rem;
    font-weight:700;
    line-height:1.3;
    margin-bottom:8px;
}
.programme-stars{
    color:#f4c928;
    font-size:2.3rem;
    line-height:1;
    letter-spacing:2px;
    width:4.9em;
    overflow:hidden;
    white-space:nowrap;
}
.programme-certifications{
    min-height:93px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
}
.programme-certifications img{
    width:auto;
    height:auto;
    max-width:70px;
    max-height:55px;
    object-fit:contain;
}
.programme-top{
    height:120px;
    display:flex;
    flex-direction:column;
    justify-content:center;
}
.programme-card p{
    margin:0;
}
@media(max-width:991px){
    .programme-grid{
        gap:15px;
    }
    .programme-card{
        padding:22px 18px 25px;
    }
    .programme-stat strong,
    .programme-employment strong{
        font-size:3.5rem;
    }
    .programme-marn{
        gap:8px;
    }
    .programme-marn-icon{
        font-size:2.5rem;
    }
    .programme-certifications{
        gap:6px;
    }
    .programme-certifications img{
        max-width:55px;
        max-height:48px;
    }
}
@media(max-width:767px){
    .programme-grid{
        grid-template-columns:repeat(2,1fr);
    }
		.programme-top{
    	height:auto;
			margin-bottom: 10px;
		}
}
@media(max-width:575px){
    .programme-grid{
        grid-template-columns:1fr;
    }
    .programme-card{
        padding:22px 18px 25px;
    }
    .programme-stat strong,
    .programme-employment strong{
        font-size:3.5rem;
    }
		.programme-marn {
    	min-height: 70px;
		}
}
/* ==================================================
   MEDISTUDIO / 参加者限定特典
================================================== */
.medistudio-section{background:#07578d;color:#fff;padding:40px 0;}
.medistudio-inner{display:flex;align-items:center;gap:40px;}
.medistudio-text{width:60%;}
.medistudio-image{width:40%;text-align:center; border-radius: 18px; background: #fff; padding: 10px;}
.medistudio-text>span{display:inline-block;background:#ffe928;color:#333;border-radius:30px;padding:7px 20px;font-weight:700;margin-bottom:15px;}
.medistudio-text h2{color:#fff;font-size:2rem;}
.medistudio-text p{margin-bottom:0;}
.medistudio-image img{max-height:240px;}
@media(max-width:767px){
    .medistudio-inner{display:block;}
    .medistudio-text,.medistudio-image{width:100%;}
    .medistudio-image{margin-top:20px;}
}
@media(max-width:575px){
    .medistudio-text h2{font-size:1.7rem;}
}
/* ==================================================
   REQUIREMENTS / 参加条件
================================================== */
.requirements-section{background:#fff;}
.section-pill-title, .recruit-heading{display:inline-block;background:#dc4d8b;color:#fff;padding:8px 35px;border-radius:30px;margin-bottom:20px;font-weight: 700;}
.requirements-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;}
.requirements-grid dt{font-weight:700;margin-top:12px;}
.requirements-grid dd{margin-bottom:8px;}
@media(max-width:767px){
    .requirements-grid{grid-template-columns:1fr;gap:0;}
}
@media(max-width:575px){
    .section-pill-title, .recruit-heading{font-size:1.2rem;padding:7px 25px;}
    .requirements-grid{display:block;}
}
/* ==================================================
   RECRUIT / 出発予定月・募集状況
================================================== */
.recruit-status{
    width:100%;
}
.recruit-grid{
    display:grid;
    grid-template-columns:125px repeat(4,1fr);
    gap:14px;
    align-items:stretch;
    margin-bottom:18px;
}
.recruit-year{
    border-radius:22px;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    font-size:1.8rem;
    font-weight:500;
    line-height:1.2;
    min-height:115px;
}
.recruit-year-2026{
    background:#15598d;
    color:#fff;
}
.recruit-year-2027{
    background:#ffe526;
    color:#222;
}
.recruit-card{
    position:relative;
    min-height:115px;
    border:2px solid #333;
    border-radius:22px;
    padding:15px 20px 12px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
}
.recruit-card b{
    font-size:1.45rem;
    font-weight:500;
    line-height:1.2;
}
.recruit-card hr{
    width:72%;
    border:0;
    border-top:2px dotted #333;
    margin:8px 0 6px;
}
.recruit-card span{
    display:block;
    font-size:1.2rem;
    font-weight:500;
    line-height:1.3;
}
.recruit-card strong{
    display:block;
    margin-top:10px;
    font-size:1.15rem;
    font-weight:600;
    line-height:1.2;
}
.recruit-card-popular{
    background:#fff2f7;
}
.recruit-card-popular em{
    display:block;
    margin-top:10px;
    color:#dc4f8e;
    font-size:1.15rem;
    font-weight:600;
		line-height:1.2;
    font-style:normal;
}
.recruit-empty{
    min-height:115px;
}
.recruit-note{
    margin:8px 0 0;
    font-size:1rem;
    line-height:1.6;
}
@media(max-width:991px){
    /* .recruit-heading{
        font-size:1.7rem;
        padding:11px 40px;
    } */
    .recruit-grid{
        grid-template-columns:105px repeat(4,1fr);
        gap:10px;
    }
    .recruit-year{
        font-size:1.5rem;
        min-height:110px;
    }
    .recruit-card{
        min-height:110px;
        padding:14px 12px 10px;
    }
    .recruit-card b{
        font-size:1.3rem;
    }
    .recruit-card span{
        font-size:1.05rem;
    }
    .recruit-card strong{
        font-size:1.05rem;
    }
}
@media(max-width:767px){
    /* .recruit-heading{
        font-size:1.5rem;
        padding:10px 30px;
        margin-bottom:22px;
    } */
    .recruit-grid{
        grid-template-columns:1fr 1fr;
        gap:10px;
        margin-bottom:22px;
    }
    .recruit-year{
        grid-column:1/3;
        min-height:58px;
        border-radius:16px;
        font-size:1.4rem;
    }
    .recruit-card{
        min-height:105px;
        border-radius:16px;
    }
    .recruit-empty{
        display:none;
    }
}
@media(max-width:575px){
    /* .recruit-heading{
        font-size:1.35rem;
        padding:9px 24px;
    } */
    .recruit-grid{
        gap:8px;
    }
    .recruit-card{
        min-height:100px;
        padding:12px 8px 10px;
    }
    .recruit-card b{
        font-size:1.2rem;
    }
    .recruit-card span{
        font-size:.95rem;
    }
    .recruit-card strong{
        font-size:1rem;
        margin-top:8px;
    }
    .recruit-card-popular em{
        font-size:1.05rem;
        margin-top:8px;
    }
    .recruit-note{
        font-size:.9rem;
    }
}
/* ==================================================
   COUNSELING / 留学カウンセリング
================================================== */
.counseling-section{background:linear-gradient(135deg,#f2f8ff 0%,#fff6f8 100%);}
.counseling-top{display:grid;grid-template-columns:1fr 1.2fr;gap:25px;align-items:stretch;}
.counseling-photo img{width:100%;height:100%;object-fit:cover;border-radius:20px;}
.counseling-features h3{background:#dc4d8b;color:#fff;border-radius:30px;text-align:center;padding:8px;font-size:1.25rem;}
.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.feature-grid>div{background:#fff;border:1px solid #bbb;border-radius:12px;padding:15px;text-align:center;}
.feature-grid b{display:block;color:#df4d8b;margin-bottom:5px;}
.feature-grid p{line-height:1.5;margin-bottom:0;}
.no-sales-box{background:#07578d;color:#fff;border-radius:15px;padding:20px 30px;margin-top:25px;text-align:center;}
.no-sales-box h3{font-size:1.4rem;color:#fff;}
.no-sales-box p{margin-bottom:0;text-align:left;}
@media(max-width:767px){
    .counseling-top{grid-template-columns:1fr;}
}
@media(max-width:575px){
    .feature-grid{grid-template-columns:1fr 1fr;gap:7px;}
    .feature-grid>div{padding:12px 8px;}
    .no-sales-box{padding:18px 15px;}
		.counseling-section h2, .flow-section h2{font-size: 1.75rem;}
}
/* ==================================================
   COUNSELING CASES / カウンセリング事例
================================================== */
.case-section,.counselor-section,.flow-section{margin-top:70px;}
.case-section>h2,.counselor-section>h2,.flow-section>h2{text-align:center;color:#064b82;font-weight:700;margin-bottom:30px;}
.case-grid,.counselor-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.case-card,.counselor-card{background:#fff;border:1px solid #ddd;border-radius:17px;padding:25px;box-shadow:0 4px 14px rgba(0,0,0,.03);}
.case-card>span{color:#064b82;font-weight:700;}
.case-card h3{font-size:1.2rem;color:#064b82;font-weight:700;margin:8px 0 15px;}
/* .case-card>div{border-top:1px dashed #ccc;padding-top:15px;margin-top:15px;} */
.case-top{
    min-height:220px;
}
.case-top p{
	margin-bottom: 0;
}
.case-label{
    display:flex;
    align-items:center;
    gap:8px;
    color:#1d4f8d;
    font-weight:700;
    margin-bottom:10px;
}
.case-label i{
    font-size:1.4rem;
}
.case-card h3{
    margin:0 0 12px;
    font-size:1.45rem;
    line-height:1.5;
    color:#1d4f8d;
}
.case-result{
    display:flex;
    align-items:flex-start;
    gap:10px;
    border-top:1px dashed #2b2b2b;
    padding-top:10px;
    margin-top:10px;
}
.case-result i{
    color:#df4d8b;
    font-size:1.3rem;
    margin-top:7px;
    flex-shrink:0;
}
.case-result p{
    margin:0;
}
@media(max-width:767px){
    .case-grid{grid-template-columns:1fr;}
		.case-top {
				min-height: unset;
		}
}
@media(max-width:575px){
    .case-section{margin-top:50px;}
}
/* ==================================================
   COUNSELORS / 専任カウンセラー
================================================== */
.counselor-section{text-align:center;}
.counselor-card img{width:125px;height:125px;object-fit:cover;border-radius:50%;margin-bottom:15px;}
.counselor-card h3{font-size:1.25rem;font-weight:700;}
.counselor-card>b{display:block;color:#df4d8b;line-height:1.5;margin-bottom:15px;}
.counselor-card p{text-align:left;margin-bottom:0;}
@media(max-width:767px){
    .counselor-grid{grid-template-columns:1fr;}
    .counselor-card{max-width:500px;margin:auto;}
}
@media(max-width:575px){
    .counselor-section{margin-top:50px;}
}
/* ==================================================
   COUNSELING FLOW / 予約からカウンセリングまでの流れ
================================================== */
.flow-section{text-align:center;}
.flow-item{background:#fff;border:1px solid #ddd;border-left:7px solid #df4d8b;border-radius:15px;padding:18px 25px;text-align:left;}
.flow-item span{display:inline-block;background:#df4d8b;color:#fff;border-radius:20px;padding:4px 14px;font-weight:700;font-size:.85rem;}
.flow-item h3{font-size:1.1rem;font-weight:700;margin:8px 0 5px;}
.flow-item p{margin-bottom:0;}
.flow-arrow{font-size:1.8rem;color:#bbb;padding:6px;}
@media(max-width:575px){
    .flow-section{margin-top:50px;}
    .flow-item{padding:15px;}
}
/* ==================================================
   PRESENT CTA / カタログ・単語帳プレゼントCTA
================================================== */
.present-cta{background:#07578d;padding:35px 0;}
.present-cta-inner{background:#fff;border-radius:18px;padding:20px 25px;display:flex;align-items:start;justify-content:space-between;gap:25px;}
.present-cta-inner>div:first-child{flex:1;}
.present-cta-inner b{font-size:1.25rem;color:#064b82;}
.present-cta-inner p{font-weight:700;margin:3px 0 12px;}
.present-cta .new-btn-pink{width:100%; padding: 15px 40px;}
.present-cta .new-btn-line{padding: 15px 40px;}
/* .present-books{display:flex;gap:10px;} */
.present-books img{width:250px;}
@media(max-width:1099px){
		.present-cta .new-btn-pink{margin-bottom: 10px; padding: 15px 20px;}
		.present-cta .new-btn-line{padding: 15px 20px;}
}
@media(max-width:991px){
		.present-cta .new-btn-line{padding: 15px 20px; width: 100%;}
		.w100-sm{width:100%;}
}
@media(max-width:767px){
    .present-cta-inner{display:block;text-align:center;}
    .present-books{justify-content:center;margin-top:20px;}
}
@media(max-width:575px){
    .present-cta-inner{padding:20px 15px;}
}
/* ==================================================
   STORY / 体験談
================================================== */
.experience-voice-section{
    padding:70px 0;
    overflow:hidden;
}
.experience-voice-carousel{
    width:100%;
    overflow:hidden;
    margin:35px 0 50px;
}
.experience-voice-track{
    display:flex;
    width:max-content;
    animation:experienceVoiceScroll 60s linear infinite;
}
.experience-voice-carousel-item{
    width:280px;
    height:180px;
    padding:0 8px;
    flex-shrink:0;
}
.experience-voice-photo{
    position:relative;
    width:100%;
    height:100%;
    border-radius:18px;
    overflow:hidden;
    background:#eee;
    box-shadow:0 4px 15px rgba(0,0,0,.05);
}
.experience-voice-photo img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}
.experience-voice-photo::after{
    content:attr(data-name);
    position:absolute;
    left:12px;
    bottom:12px;
    background:rgba(6,75,130,.9);
    color:#fff;
    padding:5px 12px;
    border-radius:6px;
    font-size:.8rem;
    font-weight:700;
}
@keyframes experienceVoiceScroll{
    0%{
        transform:translateX(0);
    }
    100%{
        transform:translateX(-50%);
    }
}
.experience-voice-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:24px;
}
.experience-voice-card{
    background:#fff;
    border:1px solid #ddd;
    border-radius:18px;
    padding:28px;
    display:flex;
    flex-direction:column;
    height:100%;
    box-shadow:0 4px 15px rgba(0,0,0,.03);
}
.experience-voice-card.is-hidden{
    display:none;
}
.experience-voice-card-header{
    display:flex;
    align-items:center;
    gap:15px;
    margin-bottom:18px;
}
.experience-voice-card-photo{
    width:64px;
    height:64px;
    flex-shrink:0;
    border-radius:50%;
    overflow:hidden;
    background:#f5f5f5;
}
.experience-voice-card-photo img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}
.experience-voice-card-name{
    color:#064b82;
    font-size:1.1rem;
    font-weight:700;
}
.experience-voice-card-tag{
    display:block;
    width:max-content;
    margin-top:4px;
    padding:2px 8px;
    border-radius:4px;
    background:#fff0f6;
    color:#db4e8a;
    font-size:.75rem;
    font-weight:700;
}
.experience-voice-card-text{
    flex:1;
    margin:0 0 18px;
    line-height:1.7;
}
.experience-voice-card-footer{
    border-top:1px solid #eee;
    padding-top:15px;
    color:#064b82;
    font-weight:700;
}
.experience-voice-controls{
    text-align:center;
    margin-top:35px;
}
.experience-voice-more{
    background:#fff;
    border:1px solid #ddd;
    border-radius:30px;
    color:#064b82;
    padding:11px 28px;
    font-size:.95rem;
    font-weight:700;
    cursor:pointer;
}
.experience-voice-more i{
    margin-left:6px;
}
.experience-voice-more:hover{
    border-color:#db4e8a;
    color:#db4e8a;
}
@media(max-width:991px){
    .experience-voice-grid{
        grid-template-columns:repeat(2,1fr);
        gap:18px;
    }
}
@media(max-width:767px){
    .experience-voice-section{
        padding:55px 0;
    }
    .experience-voice-carousel{
        margin:25px 0 35px;
    }
    .experience-voice-carousel-item{
        width:230px;
        height:155px;
        padding:0 5px;
    }
    .experience-voice-card{
        padding:22px;
    }
}
@media(max-width:575px){
    .experience-voice-grid{
        grid-template-columns:1fr;
        gap:15px;
    }
    .experience-voice-carousel-item{
        width:200px;
        height:135px;
    }
    .experience-voice-card{
        padding:20px 18px;
    }
    .experience-voice-card-header{
        margin-bottom:14px;
    }
    .experience-voice-card-photo{
        width:58px;
        height:58px;
    }
}
/* ==================================================
   FAQ / よくある質問
================================================== */
.faq-new{background:linear-gradient(135deg,#f3f9ff,#fff5f8);}
.faq-new .accbox2{background:#fff;border:1px solid #ddd;border-radius:10px;padding:15px 20px;}
.faq-new .accbox2 h5{border:none;margin-bottom:0; padding-bottom: 0;}
.faq-new .accbox2 h5::before,.faq-new .accshow p::before{display:none;}
.faq-new .accbox2 h5,.faq-new .accshow p{padding-left:0;}
.faq-new .accbox2 label:before{color:#df4d8b;}
.faq-links{border-top:1px dashed #ddd;padding-top:10px;}
.faq-links a{margin-right:20px;color:#df4d8b;font-weight:700;}
.accbox2 label {margin-bottom: 0;}
.faq-new .accbox2 label{
		position:relative;
		display:block;
		padding-right:30px;
}
.faq-new .accbox2 label:before{
		top:50%;
		bottom:auto;
		transform:translateY(-50%);
}
.accshow{padding-bottom: 0;}
.accshow p{margin-bottom: 0;}
@media(max-width:575px){
    .faq-new .accbox2{padding:10px 15px;}
    .faq-new .accbox2 h4{font-size:1.15rem;}
}

/* ==================================================
   FOOTER CTA / 最終カウンセリングCTA
================================================== */
.footer-cta-new{
    padding:35px 0 0;
    background:#fff;
    border-bottom:4px solid #07578d;
}
.footer-cta-content{
    display:flex;
    align-items:flex-end;
    position:relative;
}
.footer-cta-text{
    width: 45%;
    padding:0 0 25px;
    position:relative;
    z-index:2;
}
.footer-cta-text>p:first-child{
    color:#064b82;
    font-size:2.35rem;
    /* font-weight:700; */
    line-height:1.3;
    letter-spacing:2px;
    margin:0;
		text-align: center;
}
.footer-cta-text h2{
    color:#064b82;
    font-size:3.2rem;
    font-weight:700;
    line-height:1.2;
    letter-spacing:2px;
    margin:0 0 8px;
		text-align: center;
}
.footer-cta-text h3{
    /* display:inline-block; */
    background:#07578d;
    color:#fff;
    font-weight:700;
    line-height:1.3;
    padding:8px 18px;
    border-radius:10px;
    margin:0 0 12px;
		text-align: center;
}
.footer-cta-description{
    max-width:610px;
    line-height:1.6;
    margin:0 0 10px;
}
.footer-cta-points{
    display:flex;
    align-items:center;
    gap:12px;
    color:#df4d8b;
    font-size:.9rem;
    font-weight:700;
    margin:14px 0 5px;
		justify-content: center;
}
.footer-cta-points li{
    display:flex;
    align-items:center;
    gap:4px;
    margin:0;
    white-space:nowrap;
}
.footer-cta-points i{
    color:#df4d8b;
    font-size:1rem;
}
.footer-cta-new .new-btn-pink{
	width: 100%;
	text-align: center;
}
.footer-line-text{
    max-width:610px;
    font-size:.72rem;
    line-height:1.4;
    margin:10px 0 0;
}
.footer-line-text a{
    color:#1cb844;
    font-weight:700;
}
.footer-cta-visual{
    width:55%;
    position:relative;
    align-self:flex-end;
}
.footer-cta-staff-img{
    width:100%;
    display:block;
}
.footer-cta-certifications{
    position:absolute;
    left:25%;
    bottom:25px;
    display:flex;
    align-items:flex-end;
    gap:12px;
}
.footer-cta-certifications img{
    width:130px;
    object-fit:contain;
}
@media(max-width:1099px){
		.footer-cta-text{
        width:52%;
    }
    .footer-cta-visual{
        width:48%;
    }
		/* .footer-cta-text>p:first-child{
			font-size:2.1rem;
		}
		.footer-cta-text h2{
			font-size:2.8rem;
		} */
}
@media(max-width:991px){
    .footer-cta-text{
        width:58%;
    }
    .footer-cta-visual{
        width:42%;
    }
    .footer-cta-text>p:first-child{
        font-size:2.2rem;
    }
    .footer-cta-text h2{
        font-size:3rem;
    }
    .footer-cta-certifications img{
        width: 80px;
    }
}
@media(max-width:767px){
    .footer-cta-content{
        display:block;
    }
    .footer-cta-text{
        width:100%;
        padding-bottom:20px;
    }
    .footer-cta-visual{
        width:100%;
        max-width:520px;
        margin:0 auto;
    }
    .footer-cta-points{
        justify-content:center;
    }
    .footer-cta-certifications{
        left:40%;
    }
		.footer-cta-certifications img{
			width: 100px;
		}
}
@media(max-width:575px){
    .footer-cta-new{
        padding-top:30px;
    }
    .footer-cta-text>p:first-child{
        font-size:2rem;
        letter-spacing:1px;
    }
    .footer-cta-text h2{
        font-size:2.7rem;
        letter-spacing:1px;
    }
    .footer-cta-text h3{
        padding:7px 12px;
        border-radius:8px;
    }
    .footer-cta-points{
        justify-content:center;
        flex-wrap:wrap;
        gap:6px 12px;
        font-size:.9rem;
    }
    .footer-line-text{
        font-size:.85rem;
    }
    .footer-cta-certifications{
        left:23%;
        bottom:8px;
        gap:7px;
    }
    .footer-cta-certifications img{
        width:80px;
    }
}

.footer{background-color: #07578d; color: #fff;}
.footer a{color: #fff;}