@charset "utf-8";
/* =====================================================
   画像からHTML化したセクション用スタイル
   --u = デザイン1pxに相当する長さ（画面幅に応じて拡縮）
   デザイン幅 720px: .sec / 750px: .sec-750 / 882px: .sec-882
   サイズはすべて calc(デザインpx * var(--u)) で指定する
   ===================================================== */
.sec     { --u: min(0.138889vw, 0.833333px); }
.sec-750 { --u: min(0.133333vw, 0.8px); }
.sec-882 { --u: min(0.113379vw, 0.680272px); }

.sec, .sec-750, .sec-882 {
	font-family: "M PLUS Rounded 1c", "Hiragino Maru Gothic ProN", YuGothic, Meiryo, sans-serif;
	line-height: 1;
	-webkit-text-size-adjust: 100%;
	line-break: strict;
}
.sec img, .sec-750 img, .sec-882 img {
	display: block;
}

/* ---------- 英字見出し (Q&A / REVIEW / COURSE / PLACE / FLOW) ---------- */
.sec-head {
	background: #FFFFFF;
	text-align: center;
	padding: calc(58 * var(--u)) 0 calc(50 * var(--u));
}
.sec-head.on-cream { background: #EDE5D3; }
.sec-head .en {
	font-family: Georgia, "Times New Roman", serif;
	font-size: calc(90 * var(--u));
	font-weight: 400;
	color: #4B4B4B;
	letter-spacing: 0.02em;
	line-height: 1;
}
.sec-head .line {
	width: calc(240 * var(--u));
	height: calc(6 * var(--u));
	background: #479DCB;
	margin: calc(26 * var(--u)) auto calc(28 * var(--u));
}
.sec-head .line.pink { background: #E85377; }
.sec-head .jp {
	font-size: calc(30 * var(--u));
	font-weight: 700;
	color: #4B4B4B;
	letter-spacing: 0.12em;
	line-height: 1;
}

/* ---------- CTAボタン ---------- */
.s-cta {
	background: #EDE5D3;
	padding: calc(36 * var(--u)) calc(48 * var(--u));
}
.cta-btn {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	border-radius: calc(24 * var(--u));
	color: #FFFFFF;
	text-align: center;
}
.cta-pink {
	background: #E85377;
	box-shadow: 0 calc(9 * var(--u)) 0 #B25761;
}
.cta-red {
	background: #D71920;
	box-shadow: 0 calc(9 * var(--u)) 0 #A31217;
}
.cta-main {
	font-size: calc(40 * var(--u));
	font-weight: 800;
	line-height: 1.35;
	letter-spacing: 0.02em;
	padding-right: calc(60 * var(--u));
}
.cta-sub {
	display: block;
	font-size: calc(27 * var(--u));
	font-weight: 700;
	letter-spacing: 0.06em;
	margin-bottom: calc(8 * var(--u));
}
.cta-arrow {
	position: absolute;
	right: calc(30 * var(--u));
	top: 50%;
	transform: translateY(-50%);
	width: calc(56 * var(--u));
	height: calc(56 * var(--u));
	background: #FFFFFF;
	border-radius: 50%;
}
.cta-arrow::before {
	content: "";
	position: absolute;
	left: calc(22 * var(--u));
	top: calc(17 * var(--u));
	width: 0;
	height: 0;
	border-style: solid;
	border-width: calc(11 * var(--u)) 0 calc(11 * var(--u)) calc(17 * var(--u));
	border-color: transparent transparent transparent currentColor;
}
.cta-pink .cta-arrow { color: #E85377; }
.cta-red .cta-arrow { color: #D71920; }
.cta-badge {
	position: absolute;
	left: calc(-20 * var(--u));
	top: calc(-56 * var(--u));
	width: calc(118 * var(--u));
	height: calc(118 * var(--u));
	background: #FFFFFF;
	border-radius: 50%;
	color: #E85377;
	font-size: calc(30 * var(--u));
	font-weight: 800;
	line-height: 1.2;
	display: flex;
	align-items: center;
	justify-content: center;
	transform: rotate(-10deg);
	box-shadow: 0 calc(3 * var(--u)) calc(8 * var(--u)) rgba(0,0,0,0.12);
}

/* img11: 簡単30秒バッジ付きピンクCTA */
.s-cta-p1 { padding: calc(96 * var(--u)) calc(48 * var(--u)) calc(38 * var(--u)); }
.s-cta-p1 .cta-btn { height: calc(148 * var(--u)); }

/* img15: 赤CTA */
.s-cta-r1 { padding: calc(30 * var(--u)) calc(48 * var(--u)) calc(62 * var(--u)); }
.s-cta-r1 .cta-btn { height: calc(140 * var(--u)); }

/* img02-2: 黄色ストライプ背景の応募CTA */
.s-cta-camp {
	background: repeating-linear-gradient(90deg, #FFF06A 0, #FFF06A calc(94 * var(--u)), #FFF6AE calc(94 * var(--u)), #FFF6AE calc(188 * var(--u)));
	padding: calc(36 * var(--u)) calc(55 * var(--u));
}
.s-cta-camp .cta-btn {
	height: calc(190 * var(--u));
	flex-direction: column;
}

/* ---------- 成績UP実績・アプローチ比較・お声 (旧img01) ---------- */
.s-jisseki {
	background: #EDE5D3;
	color: #57534B;
}
.s-jisseki .head1 {
	text-align: center;
	padding-top: calc(56 * var(--u));
}
.s-jisseki .head1 .u1 {
	display: inline-block;
	font-size: calc(34 * var(--u));
	font-weight: 800;
	padding-bottom: calc(12 * var(--u));
	border-bottom: calc(4 * var(--u)) solid #E68290;
}
.s-jisseki .head1 .u2 {
	font-size: calc(46 * var(--u));
	font-weight: 800;
	line-height: 1.55;
	margin-top: calc(26 * var(--u));
	letter-spacing: 0.04em;
}
.s-jisseki .upblock {
	background: #FFFFFC;
	margin-top: calc(40 * var(--u));
	padding: calc(36 * var(--u)) calc(30 * var(--u)) calc(40 * var(--u));
}
.s-jisseki .uprow { margin-top: calc(44 * var(--u)); }
.s-jisseki .uprow:first-child { margin-top: 0; }
.s-jisseki .uplabel {
	width: fit-content;
	background: #2DB1AE;
	color: #FFFFFF;
	font-size: calc(24 * var(--u));
	font-weight: 700;
	padding: calc(8 * var(--u)) calc(40 * var(--u)) calc(8 * var(--u)) calc(20 * var(--u));
	clip-path: polygon(0 0, 100% 0, calc(100% - calc(24 * var(--u))) 100%, 0 100%);
}
.s-jisseki .upmain {
	display: flex;
	align-items: center;
	margin-top: calc(20 * var(--u));
	gap: calc(20 * var(--u));
}
.s-jisseki .upmain .av { width: calc(140 * var(--u)); flex: none; }
.s-jisseki .subject {
	display: inline-block;
	border: calc(2 * var(--u)) solid #57534B;
	border-radius: calc(6 * var(--u));
	font-size: calc(24 * var(--u));
	font-weight: 700;
	padding: calc(4 * var(--u)) calc(18 * var(--u));
	background: #FFFFFF;
}
.s-jisseki .scores {
	font-size: calc(56 * var(--u));
	font-weight: 800;
	color: #57534B;
	margin-top: calc(10 * var(--u));
	white-space: nowrap;
}
.s-jisseki .scores .t { font-size: calc(26 * var(--u)); }
.s-jisseki .scores .ar { color: #E8749B; font-size: calc(36 * var(--u)); margin: 0 calc(4 * var(--u)); }
.s-jisseki .updelta {
	position: relative;
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: calc(160 * var(--u));
}
.s-jisseki .updelta svg {
	position: absolute;
	right: 0;
	top: 0;
	width: calc(270 * var(--u));
	height: calc(160 * var(--u));
}
.s-jisseki .updelta .d {
	position: relative;
	color: #EB6D81;
	font-size: calc(120 * var(--u));
	font-weight: 800;
	line-height: 1;
	white-space: nowrap;
}
.s-jisseki .updelta .d small { font-size: calc(42 * var(--u)); font-weight: 800; }
.s-jisseki .upnote {
	margin: calc(20 * var(--u)) calc(30 * var(--u)) 0;
	font-size: calc(24 * var(--u));
	font-weight: 700;
	padding-bottom: calc(50 * var(--u));
}
.s-jisseki .head2 {
	text-align: center;
	padding-top: calc(60 * var(--u));
	font-size: calc(36 * var(--u));
	font-weight: 800;
}
.s-jisseki .head2 .big {
	display: block;
	font-size: calc(60 * var(--u));
	line-height: 1.5;
	margin-top: calc(18 * var(--u));
	letter-spacing: 0.04em;
}
/* アプローチ比較表 */
.s-jisseki .ap {
	margin: calc(56 * var(--u)) calc(20 * var(--u)) 0;
}
.s-jisseki .ap-tabs { display: flex; align-items: flex-end; }
.s-jisseki .ap-tab-l {
	flex: 0 0 calc(265 * var(--u));
	background: #6B6259;
	color: #FFFFFF;
	font-size: calc(28 * var(--u));
	font-weight: 800;
	text-align: center;
	padding: calc(16 * var(--u)) 0;
	border-radius: calc(14 * var(--u)) 0 0 0;
}
.s-jisseki .ap-tab-r {
	flex: 1;
	background: #EC6E82;
	color: #FFFFFF;
	font-size: calc(30 * var(--u));
	font-weight: 800;
	text-align: center;
	padding: calc(38 * var(--u)) 0 calc(24 * var(--u));
	border-radius: calc(16 * var(--u)) calc(16 * var(--u)) 0 0;
}
.s-jisseki .ap-body {
	background: #FFFFFF;
	padding: calc(30 * var(--u)) calc(20 * var(--u)) calc(40 * var(--u));
}
.s-jisseki .ap-group + .ap-group { margin-top: calc(44 * var(--u)); }
.s-jisseki .ap-pill {
	background: #EFEEE8;
	border-radius: calc(999 * var(--u));
	text-align: center;
	font-size: calc(26 * var(--u));
	font-weight: 700;
	color: #57534B;
	padding: calc(10 * var(--u)) 0;
}
.s-jisseki .ap-cols {
	display: flex;
	margin-top: calc(30 * var(--u));
}
.s-jisseki .ap-l {
	flex: 0 0 calc(230 * var(--u));
	padding-right: calc(14 * var(--u));
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	border-right: calc(3 * var(--u)) dotted #C9C2B2;
}
.s-jisseki .ap-bubble {
	position: relative;
	border: calc(2 * var(--u)) solid #57534B;
	border-radius: calc(10 * var(--u));
	background: #FFFFFF;
	font-size: calc(22 * var(--u));
	font-weight: 700;
	padding: calc(14 * var(--u)) calc(10 * var(--u));
	line-height: 1.5;
	text-align: center;
	white-space: nowrap;
}
.s-jisseki .ap-bubble::after {
	content: "";
	position: absolute;
	left: calc(40 * var(--u));
	bottom: calc(-12 * var(--u));
	width: calc(18 * var(--u));
	height: calc(18 * var(--u));
	background: #FFFFFF;
	border-right: calc(2 * var(--u)) solid #57534B;
	border-bottom: calc(2 * var(--u)) solid #57534B;
	transform: rotate(45deg);
}
.s-jisseki .ap-down {
	width: 0;
	margin: calc(26 * var(--u)) auto calc(18 * var(--u));
	border-style: solid;
	border-width: calc(20 * var(--u)) calc(16 * var(--u)) 0;
	border-color: #B7AE9C transparent transparent;
}
.s-jisseki .ap-res {
	font-size: calc(28 * var(--u));
	font-weight: 800;
	text-align: center;
	line-height: 1.6;
}
.s-jisseki .ap-r {
	flex: 1;
	padding-left: calc(16 * var(--u));
	min-width: 0;
}
.s-jisseki .ap-r .ph-row {
	display: flex;
	align-items: flex-start;
	gap: calc(12 * var(--u));
}
.s-jisseki .ap-r .ph-row img { width: calc(140 * var(--u)); flex: none; }
.s-jisseki .ap-quote {
	background: #F8E8E6;
	border-radius: calc(10 * var(--u));
	font-size: calc(22 * var(--u));
	font-weight: 700;
	line-height: 1.6;
	padding: calc(16 * var(--u)) calc(14 * var(--u));
	flex: 1;
}
.s-jisseki .ap-quote.mt { margin-top: calc(14 * var(--u)); }
.s-jisseki .ap-label {
	background: #DB7385;
	border-radius: calc(8 * var(--u));
	color: #FFFFFF;
	font-size: calc(25 * var(--u));
	font-weight: 800;
	text-align: center;
	line-height: 1.5;
	padding: calc(14 * var(--u)) calc(10 * var(--u));
	margin-top: calc(18 * var(--u));
}
/* こんなお声 */
.s-jisseki .wdown {
	margin: calc(60 * var(--u)) auto 0;
	width: calc(72 * var(--u));
}
.s-jisseki .wdown i {
	display: block;
	width: 0;
	margin: 0 auto;
	border-style: solid;
	border-width: calc(26 * var(--u)) calc(36 * var(--u)) 0;
	border-color: #F6B03E transparent transparent;
}
.s-jisseki .wdown i + i { margin-top: calc(6 * var(--u)); }
.s-jisseki .head3 {
	text-align: center;
	margin-top: calc(40 * var(--u));
	font-size: calc(46 * var(--u));
	font-weight: 800;
	line-height: 1.6;
	letter-spacing: 0.02em;
}
.s-jisseki .head3 .pk { color: #E8749B; }
.s-jisseki .vlabel {
	position: relative;
	z-index: 1;
	width: fit-content;
	margin: calc(56 * var(--u)) auto calc(-24 * var(--u));
	border-radius: calc(999 * var(--u));
	color: #FFFFFF;
	font-size: calc(26 * var(--u));
	font-weight: 700;
	padding: calc(9 * var(--u)) calc(34 * var(--u));
	white-space: nowrap;
}
.s-jisseki .vlabel.teal { background: #2DB1AE; }
.s-jisseki .vlabel.pink { background: #E8749B; }
.s-jisseki .vbody {
	background: #FFFFFF;
	display: flex;
	align-items: center;
	gap: calc(20 * var(--u));
	padding: calc(46 * var(--u)) calc(42 * var(--u)) calc(30 * var(--u));
}
.s-jisseki .vbody img { width: calc(130 * var(--u)); flex: none; }
.s-jisseki .vbody p {
	margin: 0;
	font-size: calc(26 * var(--u));
	font-weight: 700;
	line-height: 1.85;
}
.s-jisseki .vbody .r { color: #DE5379; }
.s-jisseki .vspace { height: calc(30 * var(--u)); }

/* ---------- キャンペーン (img02b: AmazonギフトCP画像。CTAは画像内ボタンに透明リンク) ---------- */
.s-camp .camp-img { position: relative; }
.s-camp .camp-img img { display: block; width: 100%; }
.s-camp .camp-img-cta {
	position: absolute;
	left: 6.4%;
	top: 85.9%;
	width: 87.1%;
	height: 9%;
}

/* ---------- こんなお悩みはありませんか (旧img03) ---------- */
.s-nayami { background: #EDE5D3; color: #635A49; }
.s-nayami .top {
	position: relative;
	height: calc(292 * var(--u));
}
.s-nayami .top .swirl {
	position: absolute;
	top: 0;
	right: 0;
	width: calc(430 * var(--u));
}
.s-nayami .top .photo {
	position: absolute;
	top: calc(88 * var(--u));
	right: 0;
	width: calc(308 * var(--u));
	-webkit-mask-image: linear-gradient(180deg, #000 86%, transparent 99%);
	mask-image: linear-gradient(180deg, #000 86%, transparent 99%);
}
.s-nayami .top h2 {
	position: absolute;
	left: calc(45 * var(--u));
	top: calc(96 * var(--u));
	margin: 0;
	font-size: calc(52 * var(--u));
	font-weight: 800;
	line-height: 1.42;
	letter-spacing: 0.06em;
	z-index: 1;
}
.s-nayami .top h2 em {
	font-style: normal;
	-webkit-text-emphasis: filled dot #E9615C;
	text-emphasis: filled dot #E9615C;
}
.s-nayami .card {
	position: relative;
	background: #FFFDF2;
	border-radius: calc(20 * var(--u));
	margin: 0 calc(38 * var(--u));
	padding: calc(42 * var(--u)) calc(22 * var(--u)) calc(20 * var(--u)) calc(20 * var(--u));
}
.s-nayami .item {
	display: flex;
	align-items: flex-start;
	gap: calc(8 * var(--u));
	margin-bottom: calc(26 * var(--u));
}
.s-nayami .item img {
	width: calc(56 * var(--u));
	flex: none;
	margin-top: calc(-8 * var(--u));
}
.s-nayami .item p {
	margin: 0;
	font-size: calc(29 * var(--u));
	font-weight: 700;
	line-height: 1.55;
	color: #57534B;
	letter-spacing: 0.02em;
}
.s-nayami .item p .r { color: #CC4B47; }
.s-nayami .solve {
	margin-top: calc(140 * var(--u));
	background: #D80C23;
	color: #FFFFFF;
	text-align: center;
	padding: calc(64 * var(--u)) 0 calc(74 * var(--u));
}
.s-nayami .solve .l1 {
	margin: 0;
	font-size: calc(32 * var(--u));
	font-weight: 700;
	line-height: 1.7;
}
.s-nayami .solve .l2 {
	margin: 0;
	font-size: calc(36 * var(--u));
	font-weight: 800;
	line-height: 1.7;
}
.s-nayami .solve .l3 {
	margin: calc(16 * var(--u)) 0 0;
	font-size: calc(58 * var(--u));
	font-weight: 800;
	letter-spacing: 0.04em;
}

/* ---------- POINTセクション共通 (旧img04/05/06) ---------- */
.s-point {
	background: #EDE5D3;
	color: #4B4B4B;
	padding: calc(56 * var(--u)) calc(48 * var(--u)) calc(60 * var(--u));
}
.point-head {
	display: flex;
	align-items: flex-start;
	gap: calc(36 * var(--u));
}
.point-badge {
	position: relative;
	flex: none;
	width: calc(156 * var(--u));
	height: calc(156 * var(--u));
	border-radius: 50%;
	color: #FFFFFF;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	line-height: 1;
}
.point-badge::after {
	content: "";
	position: absolute;
	right: calc(-14 * var(--u));
	top: calc(62 * var(--u));
	width: calc(32 * var(--u));
	height: calc(32 * var(--u));
	transform: rotate(45deg);
	border-radius: calc(6 * var(--u));
}
.point-badge.pink, .point-badge.pink::after { background: #E85377; }
.point-badge.teal, .point-badge.teal::after { background: #3CAEAC; }
.point-badge .pt { font-size: calc(26 * var(--u)); font-weight: 700; letter-spacing: 0.1em; position: relative; z-index: 1; }
.point-badge .num { font-size: calc(64 * var(--u)); font-weight: 700; margin-top: calc(8 * var(--u)); position: relative; z-index: 1; }
.point-head .ph-txt { padding-top: calc(6 * var(--u)); }
.point-head .ph-l1 {
	font-size: calc(31 * var(--u));
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.02em;
}
.point-head .ph-box {
	display: inline-block;
	background: #FFFFFF;
	font-size: calc(44 * var(--u));
	font-weight: 800;
	line-height: 1;
	letter-spacing: 0.04em;
	padding: calc(12 * var(--u)) calc(14 * var(--u)) calc(10 * var(--u));
	margin-top: calc(10 * var(--u));
}
.point-head .ph-box.teal { color: #3CAEAC; }
.point-head .ph-box.pink { color: #E85377; }
.s-point .pimg {
	display: block;
	width: 100%;
	margin-top: calc(28 * var(--u));
}
.s-point .para {
	margin: calc(40 * var(--u)) 0 0;
	font-size: calc(34 * var(--u));
	font-weight: 700;
	line-height: 1.72;
	letter-spacing: 0.01em;
}
.s-point .para .r { color: #DE5379; }

/* ---------- POINT01 選ばれる理由 (旧img04) ---------- */
.s-p01 .riyuu {
	margin: 0 0 calc(56 * var(--u));
	text-align: center;
	font-weight: 800;
	color: #3F3B36;
	font-size: calc(52 * var(--u));
	line-height: 1.35;
	letter-spacing: 0.08em;
}
.s-p01 .riyuu span { font-size: calc(72 * var(--u)); }
.s-p01 .vs-pill {
	width: fit-content;
	margin: calc(60 * var(--u)) auto 0;
	background: #FCD074;
	color: #4B4B4B;
	font-size: calc(31 * var(--u));
	font-weight: 800;
	padding: calc(12 * var(--u)) calc(46 * var(--u));
	border-radius: calc(999 * var(--u));
	letter-spacing: 0.04em;
}
.s-p01 .vs-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: calc(23 * var(--u));
	margin-top: calc(28 * var(--u));
}
.s-p01 .vs-card {
	position: relative;
	background: #FFFFFF;
	border-radius: calc(14 * var(--u));
	padding: calc(12 * var(--u));
	display: flex;
	flex-direction: column;
}
.s-p01 .vs-logo {
	width: calc(200 * var(--u));
	margin: calc(-5 * var(--u)) auto calc(0 * var(--u));
}
.s-p01 .vs-title {
	font-size: calc(30 * var(--u));
	font-weight: 800;
	color: #4B4B4B;
	text-align: center;
	margin: calc(32 * var(--u)) 0 calc(30 * var(--u));
}
.s-p01 .vs-box {
	border-radius: calc(12 * var(--u));
	padding: calc(26 * var(--u)) calc(6 * var(--u)) 0;
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
.s-p01 .vs-box.pinkish { background: #FFEDE0; }
.s-p01 .vs-box.tealish { background: #DDF8ED; }
.s-p01 .vs-t {
	margin: 0;
	text-align: center;
	font-size: calc(30 * var(--u));
	font-weight: 800;
	color: #4B4B4B;
	line-height: 1.6;
}
.s-p01 .vs-t em { font-style: normal; font-size: calc(40 * var(--u)); }
.s-p01 .vs-t em.red { color: #E85377; }
.s-p01 .vs-t em.green { color: #4CC66B; }
.s-p01 .vs-box img {
	width: 100%;
	margin-top: calc(6 * var(--u));
	border-radius: 0 0 calc(10 * var(--u)) calc(10 * var(--u));
}
.s-p01 .vs-card.tail::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: calc(-46 * var(--u));
	transform: translateX(-50%);
	border-style: solid;
	border-width: calc(48 * var(--u)) calc(38 * var(--u)) 0;
	border-color: #FFFFFF transparent transparent;
}
.s-p01 .jibun-box {
	margin-top: calc(58 * var(--u));
	background: #FFFFFF;
	border: calc(4 * var(--u)) solid #454545;
	border-radius: calc(24 * var(--u));
	padding: calc(30 * var(--u)) calc(36 * var(--u)) calc(34 * var(--u));
}
.s-p01 .jb-top {
	display: flex;
	align-items: flex-end;
}
.s-p01 .jb-label {
	font-size: calc(25 * var(--u));
	font-weight: 700;
	color: #4B4B4B;
	padding-bottom: calc(12 * var(--u));
}
.s-p01 .jb-label::after {
	content: "";
	display: block;
	width: calc(4 * var(--u));
	height: calc(28 * var(--u));
	background: #4B4B4B;
	border-radius: 999px;
	margin: calc(8 * var(--u)) auto 0;
}
.s-p01 .jb-note {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: calc(14 * var(--u));
	color: #E85377;
	font-size: calc(30 * var(--u));
	font-weight: 800;
	text-align: center;
	line-height: 1.5;
}
.s-p01 .jb-note .sl { font-size: calc(40 * var(--u)); font-weight: 700; }
.s-p01 .jb-bar {
	display: flex;
	align-items: center;
	margin-top: calc(10 * var(--u));
}
.s-p01 .jb-4h {
	font-size: calc(44 * var(--u));
	font-weight: 800;
	color: #4B4B4B;
	margin-right: calc(16 * var(--u));
}
.s-p01 .jb-66h {
	flex: 1;
	background: #E85377;
	color: #FFFFFF;
	font-size: calc(31 * var(--u));
	font-weight: 800;
	text-align: center;
	padding: calc(16 * var(--u)) 0;
}
.s-p01 .jb-cap {
	margin-top: calc(20 * var(--u));
	font-size: calc(25 * var(--u));
	font-weight: 700;
	color: #4B4B4B;
}

/* ---------- 学びを支えるサポート (旧img06-02) ---------- */
.s-support {
	background: #EDE5D3;
	color: #4B4B4B;
	padding: calc(80 * var(--u)) calc(38 * var(--u)) calc(60 * var(--u));
}
.s-support h2 {
	margin: 0;
	text-align: center;
	font-size: calc(50 * var(--u));
	font-weight: 800;
	line-height: 1.5;
	color: #3C3A35;
	letter-spacing: 0.06em;
}
.s-support h2 .pk {
	color: #E25667;
	font-size: calc(40 * var(--u));
}
.s-support .intro {
	margin: calc(40 * var(--u)) calc(10 * var(--u)) 0;
	font-size: calc(28 * var(--u));
	font-weight: 700;
	line-height: 1.75;
	color: #57534B;
}
.s-support .scard {
	position: relative;
	background: #FFFDF0;
	border-radius: calc(14 * var(--u));
	margin-top: calc(60 * var(--u));
	min-height: calc(362 * var(--u));
	box-sizing: border-box;
}
.s-support .scard.teal-b { border: calc(3 * var(--u)) solid #3CAEAC; }
.s-support .scard.pink-b { border: calc(3 * var(--u)) solid #E85377; min-height: calc(352 * var(--u)); }
.s-support .pill {
	position: absolute;
	top: calc(-24 * var(--u));
	left: calc(40 * var(--u));
	border-radius: calc(999 * var(--u));
	color: #FFFFFF;
	font-size: calc(26 * var(--u));
	font-weight: 800;
	padding: calc(8 * var(--u)) calc(28 * var(--u));
	line-height: 1.3;
	z-index: 2;
}
.s-support .pill.teal-bg { background: #3CAEAC; }
.s-support .pill.pink-bg { background: #E85377; }
.s-support .art {
	position: absolute;
	z-index: 1;
}
.s-support .art-cards {
	top: calc(6 * var(--u));
	right: calc(6 * var(--u));
	width: calc(260 * var(--u));
	border-top-right-radius: calc(11 * var(--u));
}
.s-support .art-phone {
	top: auto;
	bottom: 0;
	right: calc(10 * var(--u));
	width: calc(271 * var(--u));
}
.s-support .badge-circle {
	position: absolute;
	right: calc(-4 * var(--u));
	top: calc(212 * var(--u));
	width: calc(178 * var(--u));
	height: calc(178 * var(--u));
	background: #FFFFFF;
	border-radius: 50%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	color: #3CAEAC;
	z-index: 2;
	box-shadow: 0 calc(2 * var(--u)) calc(8 * var(--u)) rgba(0,0,0,0.08);
}
.s-support .badge-circle .s1 {
	font-size: calc(18 * var(--u));
	font-weight: 800;
	line-height: 1.4;
}
.s-support .badge-circle .s2 {
	font-size: calc(22 * var(--u));
	font-weight: 800;
	line-height: 1.4;
	margin-top: calc(4 * var(--u));
}
.s-support .txt {
	position: relative;
	padding: calc(56 * var(--u)) calc(252 * var(--u)) calc(36 * var(--u)) calc(42 * var(--u));
	z-index: 1;
}
.s-support .txt .t1 {
	font-size: calc(27 * var(--u));
	font-weight: 800;
	color: #3C3A35;
	line-height: 1.6;
	white-space: nowrap;
}
.s-support .txt .t2 {
	font-size: calc(37 * var(--u));
	font-weight: 800;
	line-height: 1.55;
	white-space: nowrap;
}
.s-support .txt .t2.teal-t { color: #3CAEAC; }
.s-support .txt .t2.pink-t { color: #E85377; }
.s-support .hl { background: linear-gradient(transparent 62%, #FBF25B 62%); }
.s-support .txt p {
	margin: calc(24 * var(--u)) 0 0;
	font-size: calc(24 * var(--u));
	font-weight: 700;
	line-height: 1.65;
	color: #57534B;
}
.s-support .foot {
	margin: calc(30 * var(--u)) 0 0;
	font-size: calc(22 * var(--u));
	font-weight: 700;
	color: #57534B;
}

/* ---------- 費用について (旧img14) ---------- */
.s-price {
	background: #EDE5D3;
	padding: calc(31 * var(--u)) calc(38 * var(--u)) calc(40 * var(--u));
	color: #4B4B4B;
}
.s-price .flag {
	width: calc(455 * var(--u));
	height: calc(98 * var(--u));
	background: #E85377;
	color: #FFFFFF;
	font-size: calc(44 * var(--u));
	font-weight: 800;
	letter-spacing: 0.06em;
	display: flex;
	align-items: center;
	padding-left: calc(58 * var(--u));
	box-sizing: border-box;
	clip-path: polygon(0 0, 100% 0, calc(100% - calc(40 * var(--u))) 50%, 100% 100%, 0 100%);
}
.s-price .card {
	background: #FFFFFF;
	border-radius: calc(24 * var(--u));
	margin-top: calc(5 * var(--u));
	padding: calc(46 * var(--u)) calc(34 * var(--u)) calc(50 * var(--u));
}
.s-price .lead {
	font-size: calc(36 * var(--u));
	font-weight: 800;
	line-height: 1.5;
	padding-left: calc(6 * var(--u));
}
.s-price .grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: calc(32 * var(--u));
	margin-top: calc(38 * var(--u));
}
.s-price .pcard {
	border: calc(3 * var(--u)) solid #26AAAB;
	border-radius: calc(14 * var(--u));
	background: #FFFFFF;
	overflow: hidden;
	display: flex;
	flex-direction: column;
}
.s-price .pcard .ph {
	background: #26AAAB;
	color: #FFFFFF;
	font-size: calc(30 * var(--u));
	font-weight: 800;
	text-align: center;
	padding: calc(14 * var(--u)) 0;
	letter-spacing: 0.04em;
}
.s-price .pcard .pb {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: calc(16 * var(--u)) calc(10 * var(--u));
}
.s-price .pcard .big {
	font-size: calc(52 * var(--u));
	font-weight: 800;
	letter-spacing: 0.01em;
	white-space: nowrap;
	display: inline-flex;
	align-items: baseline;
}
.s-price .pcard .zero-num {
	font-size: calc(96 * var(--u));
	font-weight: 500;
	line-height: 1;
}
/* 「税込」を「円」の真上に置くスタック */
.ys {
	display: inline-block;
	position: relative;
	line-height: 1;
	margin-left: calc(3 * var(--u));
}
.ys i {
	position: absolute;
	left: 0.05em;
	top: -0.58em;
	font-style: normal;
	font-size: 0.42em;
	font-weight: 500;
	color: #999999;
	white-space: nowrap;
}
.ys b { font-weight: 800; font-size: 0.82em; }
.s-price .big .ys i,
.s-price .fee-price .ys i,
.s-price .zero-wrap .ys i {
	font-size: calc(15 * var(--u));
	top: calc(-16 * var(--u));
}
.s-price .pcard .big .ys b { font-size: calc(42 * var(--u)); }
.s-price .zero-wrap {
	display: inline-flex;
	align-items: baseline;
	white-space: nowrap;
}
.s-price .zero-wrap .ys b { font-size: calc(38 * var(--u)); }
.s-price .fee-row {
	display: flex;
	align-items: center;
	gap: calc(14 * var(--u));
	padding: calc(10 * var(--u)) 0;
	width: 100%;
	justify-content: center;
}
.s-price .fee-row + .fee-row {
	border-top: calc(2 * var(--u)) dashed #8FD3CE;
}
.s-price .seal {
	position: relative;
	width: calc(62 * var(--u));
	height: calc(62 * var(--u));
	flex: none;
	display: flex;
	align-items: center;
	justify-content: center;
}
.s-price .seal svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.s-price .seal .t {
	position: relative;
	font-size: calc(19 * var(--u));
	font-weight: 800;
	color: #7A6A3A;
}
.s-price .fee-price {
	font-size: calc(37 * var(--u));
	font-weight: 800;
	min-width: calc(160 * var(--u));
	text-align: left;
	white-space: nowrap;
	display: inline-flex;
	align-items: baseline;
}
.s-price .fee-price .ys b { font-size: calc(31 * var(--u)); }
.s-price .note1 {
	margin-top: calc(42 * var(--u));
	font-size: calc(30 * var(--u));
	font-weight: 800;
	line-height: 1.6;
	padding-left: calc(6 * var(--u));
}
.s-price .notes {
	margin-top: calc(34 * var(--u));
	font-size: calc(24 * var(--u));
	font-weight: 700;
	line-height: 1.55;
	color: #DE5379;
	padding-left: calc(6 * var(--u));
}

/* ---------- 他社との料金比較 (旧img14-2) ---------- */
.s-hikaku {
	background: #EDE5D3;
	padding: calc(60 * var(--u)) calc(48 * var(--u)) calc(60 * var(--u));
	color: #4B4B4B;
}
.s-hikaku .h1 {
	font-size: calc(46 * var(--u));
	font-weight: 800;
	text-align: center;
	letter-spacing: 0.04em;
}
.s-hikaku .sub {
	margin-top: calc(34 * var(--u));
	font-size: calc(28 * var(--u));
	font-weight: 700;
	text-align: center;
	line-height: 1.65;
}
.s-hikaku .tbl {
	display: flex;
	margin-top: calc(36 * var(--u));
	align-items: flex-start;
}
.s-hikaku .colx { flex: 1; }
.s-hikaku .col-label { flex: 0 0 calc(150 * var(--u)); margin-top: calc(94 * var(--u)); }
.s-hikaku .col-m {
	flex: 0 0 calc(196 * var(--u));
	box-sizing: border-box;
	border: calc(4 * var(--u)) solid #E85377;
	border-radius: calc(14 * var(--u));
	background: #FFFFFF;
	position: relative;
	z-index: 1;
	margin: 0 calc(6 * var(--u));
}
.s-hikaku .col-a, .s-hikaku .col-b { flex: 1 1 0; min-width: 0; margin-top: calc(9 * var(--u)); }
.s-hikaku .col-a { margin-right: calc(4 * var(--u)); }
.s-hikaku .col-a .cell, .s-hikaku .col-b .cell { font-size: calc(23 * var(--u)); }
.s-hikaku .col-a .cell.teal, .s-hikaku .col-b .cell.teal { font-size: calc(21 * var(--u)); }
.s-hikaku .hd {
	height: calc(85 * var(--u));
	display: flex;
	align-items: center;
	justify-content: center;
	color: #FFFFFF;
	font-size: calc(28 * var(--u));
	font-weight: 700;
}
.s-hikaku .col-m .hd { background: #E85377; font-size: calc(26 * var(--u)); font-weight: 800; height: calc(88 * var(--u)); white-space: nowrap; }
.s-hikaku .col-a .hd, .s-hikaku .col-b .hd { background: #A9A9A9; border-radius: calc(10 * var(--u)) calc(10 * var(--u)) 0 0; }
.s-hikaku .cell {
	height: calc(100 * var(--u));
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	background: #FFFFFF;
	border-top: calc(2 * var(--u)) solid #F0E6D5;
	font-size: calc(27 * var(--u));
	font-weight: 700;
	text-align: center;
	line-height: 1.2;
	white-space: nowrap;
}
.s-hikaku .col-m .cell { font-size: calc(32 * var(--u)); }
.s-hikaku .col-label .cell {
	font-size: calc(26 * var(--u));
	font-weight: 500;
	border-radius: 0;
}
.s-hikaku .col-label .cell:first-child { border-top: none; border-radius: calc(10 * var(--u)) 0 0 0; }
.s-hikaku .col-m .cell { border-top-color: #F6E0E5; }
.s-hikaku .col-m .cell:first-child { border-top: none; }
.s-hikaku .cell .s { font-size: calc(18 * var(--u)); font-weight: 500; margin-top: calc(6 * var(--u)); }
.s-hikaku .cell.teal { color: #26AAAB; }
.s-hikaku .col-m .cell.goukei-m { color: #E85377; font-size: calc(42 * var(--u)); font-weight: 800; }
.s-hikaku .cell .v { display: inline-flex; align-items: baseline; white-space: nowrap; }
.s-hikaku .cell .kome { font-size: 0.45em; align-self: flex-start; margin-left: 0.1em; }
.s-hikaku .note {
	margin-top: calc(44 * var(--u));
	font-size: calc(23 * var(--u));
	font-weight: 500;
	line-height: 1.65;
}

/* ---------- REVIEW 保護者の声 (旧img07/08/09) ---------- */
.s-review {
	background: #EDE5D3;
	padding-bottom: calc(10 * var(--u));
}
.s-review .sec-head { background: transparent; }
.rev-card {
	margin: 0 calc(38 * var(--u)) calc(62 * var(--u));
}
.rev-head {
	background: #1C7FC2;
	color: #FFFFFF;
	border-radius: calc(10 * var(--u)) calc(10 * var(--u)) 0 0;
	display: flex;
	align-items: stretch;
}
.rev-no {
	flex: none;
	width: calc(118 * var(--u));
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	border-right: calc(2 * var(--u)) solid #FFFFFF;
	padding: calc(16 * var(--u)) 0;
	line-height: 1.1;
}
.rev-no .a { font-size: calc(26 * var(--u)); font-weight: 700; }
.rev-no .b { font-size: calc(46 * var(--u)); font-weight: 800; }
.rev-title {
	flex: 1;
	display: flex;
	align-items: center;
	font-size: calc(31 * var(--u));
	font-weight: 800;
	line-height: 1.55;
	padding: calc(14 * var(--u)) calc(26 * var(--u));
	letter-spacing: 0.02em;
}
.rev-body {
	background: #FFFFFF;
	border-radius: 0 0 calc(10 * var(--u)) calc(10 * var(--u));
	padding: calc(28 * var(--u)) calc(38 * var(--u)) calc(52 * var(--u));
	color: #4B4B4B;
}
.rev-prof {
	display: flex;
	align-items: center;
	gap: calc(36 * var(--u));
	padding: calc(6 * var(--u)) 0 calc(24 * var(--u));
}
.rev-prof img { width: calc(128 * var(--u)); flex: none; }
.rev-prof .who {
	font-size: calc(28 * var(--u));
	font-weight: 700;
	line-height: 1.75;
	color: #666666;
}
.rev-line { border-top: calc(3 * var(--u)) dashed #1C7FC2; }
.rev-body p.txt {
	margin: calc(28 * var(--u)) 0 0;
	font-size: calc(28 * var(--u));
	font-weight: 700;
	line-height: 1.8;
	letter-spacing: 0.01em;
}
.rev-body .r { color: #C43B44; }
.rev-up-pill {
	display: block;
	width: calc(550 * var(--u));
	box-sizing: border-box;
	margin: calc(44 * var(--u)) auto 0;
	background: #DC3B30;
	border-radius: calc(10 * var(--u));
	color: #FFFFFF;
	font-size: calc(32 * var(--u));
	font-weight: 800;
	text-align: center;
	padding: calc(16 * var(--u)) 0;
}
.rev-period {
	display: block;
	width: fit-content;
	margin: calc(46 * var(--u)) auto 0;
	background: #FACD70;
	border-radius: calc(999 * var(--u));
	font-size: calc(26 * var(--u));
	font-weight: 800;
	color: #6B5620;
	padding: calc(8 * var(--u)) calc(34 * var(--u));
}
.rev-score {
	margin: calc(26 * var(--u)) 0 0;
	text-align: center;
	font-size: calc(34 * var(--u));
	font-weight: 800;
	line-height: 1.4;
}
.rev-score .n { color: #CC1626; font-size: calc(40 * var(--u)); }
.rev-score2 {
	margin: calc(10 * var(--u)) 0 0;
	text-align: center;
	color: #CC1626;
	font-size: calc(38 * var(--u));
	font-weight: 800;
}
.rev-score2 .big { font-size: calc(56 * var(--u)); }
.rev-score2 img {
	display: inline-block;
	width: calc(88 * var(--u));
	vertical-align: calc(-8 * var(--u));
	margin-left: calc(14 * var(--u));
}
.rev-note {
	margin: calc(16 * var(--u)) 0 0;
	text-align: center;
	font-size: calc(22 * var(--u));
	font-weight: 500;
	color: #888888;
	line-height: 1.7;
}

/* ---------- 生徒の変容モデル (旧img10) ---------- */
.s-model {
	background: #EDE5D3;
	color: #4B4B4B;
	padding: calc(70 * var(--u)) 0 calc(50 * var(--u));
}
.s-model h2 {
	margin: 0;
	text-align: center;
	font-size: calc(48 * var(--u));
	font-weight: 800;
	color: #3F3B36;
	letter-spacing: 0.1em;
}
.s-model .intro {
	margin: calc(42 * var(--u)) calc(38 * var(--u)) 0;
	font-size: calc(30 * var(--u));
	font-weight: 700;
	line-height: 1.75;
	color: #57534B;
}
.s-model .mbadge {
	display: flex;
	align-items: center;
	gap: calc(16 * var(--u));
	width: fit-content;
	min-width: calc(240 * var(--u));
	padding-right: calc(44 * var(--u));
	background: #FFD06A;
	padding: calc(10 * var(--u)) 0 calc(10 * var(--u)) calc(28 * var(--u));
	margin-top: calc(56 * var(--u));
	position: relative;
	z-index: 1;
}
.s-model .mbadge.left { clip-path: polygon(0 0, 100% 0, calc(100% - calc(28 * var(--u))) 100%, 0 100%); }
.s-model .mbadge.right {
	margin-left: auto;
	clip-path: polygon(calc(28 * var(--u)) 0, 100% 0, 100% 100%, 0 100%);
	padding-left: calc(44 * var(--u));
}
.s-model .mbadge .no {
	color: #FFFFFF;
	font-size: calc(52 * var(--u));
	font-weight: 800;
	line-height: 1;
}
.s-model .mbadge .lbl { line-height: 1.15; }
.s-model .mbadge .lbl b { font-size: calc(32 * var(--u)); font-weight: 800; display: block; white-space: nowrap; }
.s-model .mbadge .lbl span { font-size: calc(20 * var(--u)); font-weight: 700; }
.s-model .mcard {
	background: #FFFFFF;
	border-radius: calc(16 * var(--u));
	margin: calc(-32 * var(--u)) calc(38 * var(--u)) 0;
	padding: calc(50 * var(--u)) calc(24 * var(--u)) calc(30 * var(--u));
	display: flex;
	gap: calc(22 * var(--u));
	align-items: flex-start;
	position: relative;
}
.s-model .mbadge.right + .mcard { padding-top: calc(56 * var(--u)); }
.s-model .mcard img {
	width: calc(244 * var(--u));
	flex: none;
}
.s-model .mcard .tt {
	font-size: calc(31 * var(--u));
	white-space: nowrap;
	font-weight: 800;
	color: #3F3B36;
	margin: calc(6 * var(--u)) 0 calc(18 * var(--u));
}
.s-model .mcard p {
	margin: 0;
	font-size: calc(26 * var(--u));
	font-weight: 700;
	line-height: 1.72;
	color: #57534B;
}
.s-model .marrow {
	width: 0;
	margin: calc(40 * var(--u)) auto 0;
	border-style: solid;
	border-width: calc(34 * var(--u)) calc(30 * var(--u)) 0;
	border-color: #AE9B85 transparent transparent;
}

/* ---------- 他サービスの違い (旧img12) ---------- */
.s-vs2 {
	background: #EDE5D3;
	color: #4B4B4B;
	padding: calc(90 * var(--u)) calc(38 * var(--u)) calc(80 * var(--u));
}
.s-vs2 .h1 {
	text-align: center;
	font-weight: 800;
	color: #3F3B36;
	font-size: calc(38 * var(--u));
	line-height: 1.5;
	letter-spacing: 0.06em;
}
.s-vs2 .h1 span { font-size: calc(54 * var(--u)); }
.s-vs2 .tbl {
	position: relative;
	display: grid;
	grid-template-columns: calc(145 * var(--u)) calc(255 * var(--u)) 1fr;
	margin-top: calc(60 * var(--u));
}
.s-vs2 .c {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: calc(26 * var(--u)) calc(3 * var(--u));
	border-bottom: calc(2 * var(--u)) solid #FFFFFF;
	font-size: calc(20 * var(--u));
	font-weight: 700;
	line-height: 1.55;
}
.s-vs2 .hd0 { background: transparent; border-bottom: none; }
.s-vs2 .hdm {
	background: #1D7FC0;
	color: #FFFFFF;
	font-size: calc(28 * var(--u));
	font-weight: 800;
	border-radius: calc(14 * var(--u)) calc(14 * var(--u)) 0 0;
	border-bottom: none;
	padding: calc(30 * var(--u)) 0;
}
.s-vs2 .hdg {
	background: #EFEFEF;
	font-size: calc(26 * var(--u));
	font-weight: 800;
	border-bottom: calc(2 * var(--u)) solid #FFFFFF;
	margin-top: calc(10 * var(--u));
	padding: calc(24 * var(--u)) 0;
}
.s-vs2 .lbl { background: #F1F1F1; font-size: calc(22 * var(--u)); font-weight: 700; }
.s-vs2 .m, .s-vs2 .g { background: #FFFFFF; }
.s-vs2 .g { border-left: calc(8 * var(--u)) solid #EDE5D3; font-size: calc(17 * var(--u)); }
.s-vs2 .mk { font-size: calc(46 * var(--u)); font-weight: 500; line-height: 1.2; margin-bottom: calc(10 * var(--u)); }
.s-vs2 .mk.o { color: #CC1626; }
.s-vs2 .pillrow {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: calc(3 * var(--u));
	margin-top: calc(12 * var(--u));
	color: #1D7FC0;
	font-size: calc(15 * var(--u));
	font-weight: 700;
	white-space: nowrap;
	max-width: 100%;
}
.s-vs2 .bpill {
	background: #1D7FC0;
	color: #FFFFFF;
	border-radius: calc(999 * var(--u));
	padding: calc(3 * var(--u)) calc(9 * var(--u));
	font-size: calc(15 * var(--u));
	font-weight: 700;
}
.s-vs2 .sm {
	font-size: calc(16 * var(--u));
	font-weight: 500;
	color: #888888;
	line-height: 1.5;
	margin-top: calc(10 * var(--u));
}
.s-vs2 .m-frame {
	position: absolute;
	left: calc(145 * var(--u));
	width: calc(255 * var(--u));
	top: 0;
	bottom: 0;
	border: calc(5 * var(--u)) solid #1D7FC0;
	border-radius: calc(14 * var(--u));
	box-sizing: border-box;
	pointer-events: none;
}

/* ---------- COURSE コース・料金 (旧img13) ---------- */
.s-course {
	background: #EDE5D3;
	color: #4B4B4B;
	padding-bottom: calc(30 * var(--u));
}
.s-course .sec-head { background: transparent; }
.s-course .intro {
	margin: 0;
	text-align: center;
	font-size: calc(31 * var(--u));
	font-weight: 700;
	line-height: 1.9;
	color: #57534B;
}
.s-course .ccard {
	margin: calc(48 * var(--u)) calc(38 * var(--u)) 0;
	border-radius: calc(14 * var(--u));
	overflow: hidden;
}
.s-course .chead {
	color: #FFFFFF;
	text-align: center;
	padding: calc(20 * var(--u)) 0 calc(22 * var(--u));
}
.s-course .chead .cpill {
	display: inline-block;
	background: #FFFFFF;
	border-radius: calc(999 * var(--u));
	font-size: calc(23 * var(--u));
	font-weight: 800;
	padding: calc(3 * var(--u)) calc(24 * var(--u));
}
.s-course .chead .ct {
	font-size: calc(42 * var(--u));
	font-weight: 800;
	margin-top: calc(8 * var(--u));
	letter-spacing: 0.04em;
}
.s-course .chead .cs {
	font-size: calc(21 * var(--u));
	font-weight: 700;
	margin-top: calc(6 * var(--u));
	padding: 0 calc(12 * var(--u));
}
.s-course .c1 .chead { background: #F47B7F; }
.s-course .c2 .chead { background: #D80C25; }
.s-course .c3 .chead { background: #FFB53F; }
.s-course .c4 .chead { background: #1D91E5; }
.s-course .c1 .cpill { color: #F47B7F; }
.s-course .c2 .cpill { color: #D80C25; }
.s-course .c3 .cpill { color: #FFB53F; }
.s-course .c4 .cpill { color: #1D91E5; }
.s-course .cbody {
	background: #FFFFFF;
	display: flex;
	align-items: center;
	gap: calc(28 * var(--u));
	padding: calc(20 * var(--u)) calc(30 * var(--u)) calc(20 * var(--u)) calc(36 * var(--u));
}
.s-course .cbody img { width: calc(190 * var(--u)); flex: none; }
.s-course .cbody p {
	margin: 0;
	font-size: calc(29 * var(--u));
	font-weight: 700;
	line-height: 1.7;
}

/* ---------- PLACE 場所について (旧img16) ---------- */
.s-place {
	background: #FFFFFF;
	color: #4B4B4B;
	padding-bottom: calc(70 * var(--u));
}
.s-place .intro {
	margin: calc(10 * var(--u)) 0 0;
	text-align: center;
	font-size: calc(32 * var(--u));
	font-weight: 700;
	line-height: 1.8;
	color: #57534B;
}
.s-place .photos {
	display: flex;
	justify-content: center;
	gap: calc(18 * var(--u));
	margin-top: calc(30 * var(--u));
}
.s-place .photos img { width: calc(196 * var(--u)); }
.s-place .para {
	margin: calc(30 * var(--u)) calc(48 * var(--u)) 0;
	font-size: calc(32 * var(--u));
	font-weight: 700;
	line-height: 1.85;
	color: #57534B;
}
.s-place .note {
	margin: calc(36 * var(--u)) calc(48 * var(--u)) 0;
	font-size: calc(24 * var(--u));
	font-weight: 700;
	color: #D0433B;
}

/* ---------- メッセージ (旧img17) ---------- */
.s-message {
	background: #EDE5D3;
	color: #57534B;
}
.s-message .strip { width: 100%; display: block; }
.s-message .inner { padding: calc(90 * var(--u)) 0 calc(100 * var(--u)) calc(135 * var(--u)); }
.s-message p {
	margin: calc(56 * var(--u)) 0 0;
	font-size: calc(30 * var(--u));
	font-weight: 700;
	line-height: 1.95;
	letter-spacing: 0.03em;
}
.s-message p:first-child { margin-top: 0; }
.s-message .bubble {
	position: relative;
	width: fit-content;
	background: #FFFFFF;
	border-radius: calc(10 * var(--u));
	padding: calc(22 * var(--u)) calc(30 * var(--u));
	margin: calc(56 * var(--u)) 0 0 calc(-30 * var(--u));
	font-size: calc(30 * var(--u));
	font-weight: 800;
	line-height: 1.6;
}
.s-message .bubble::before {
	content: "";
	position: absolute;
	top: calc(-18 * var(--u));
	left: calc(24 * var(--u));
	border-style: solid;
	border-width: 0 calc(10 * var(--u)) calc(20 * var(--u)) calc(16 * var(--u));
	border-color: transparent transparent #FFFFFF transparent;
}
.s-message .bubble.rgt { margin-left: calc(150 * var(--u)); }
.s-message .bubble.rgt::before {
	left: auto;
	right: calc(24 * var(--u));
	border-width: 0 calc(16 * var(--u)) calc(20 * var(--u)) calc(10 * var(--u));
}

/* ---------- FLOW 入会までの流れ (旧img20) ---------- */
.s-flow {
	background: #EDE5D3;
	color: #4B4B4B;
	padding-bottom: calc(80 * var(--u));
}
.s-flow .sec-head { background: transparent; }
.s-flow .fcard {
	position: relative;
	background: #FFFFFF;
	border-radius: calc(12 * var(--u));
	margin: calc(44 * var(--u)) calc(38 * var(--u)) 0;
	padding: calc(44 * var(--u)) calc(220 * var(--u)) calc(40 * var(--u)) calc(42 * var(--u));
	min-height: calc(207 * var(--u));
	box-sizing: border-box;
}
.s-flow .fpill {
	position: absolute;
	top: calc(-22 * var(--u));
	left: calc(24 * var(--u));
	background: #3CAEAC;
	color: #FFFFFF;
	border-radius: calc(999 * var(--u));
	font-size: calc(26 * var(--u));
	font-weight: 800;
	padding: calc(6 * var(--u)) calc(30 * var(--u));
	letter-spacing: 0.06em;
}
.s-flow .ft {
	font-size: calc(38 * var(--u));
	font-weight: 800;
	color: #3CAEAC;
	letter-spacing: 0.04em;
}
.s-flow .fcard p {
	margin: calc(16 * var(--u)) 0 0;
	font-size: calc(27 * var(--u));
	font-weight: 700;
	line-height: 1.65;
	color: #57534B;
}
.s-flow .fcard img {
	position: absolute;
	right: calc(24 * var(--u));
	top: calc(28 * var(--u));
	width: calc(170 * var(--u));
}
.s-flow .farrow {
	width: 0;
	margin: calc(32 * var(--u)) auto calc(-10 * var(--u));
	border-style: solid;
	border-width: calc(26 * var(--u)) calc(24 * var(--u)) 0;
	border-color: #F9C74F transparent transparent;
}
.s-flow .note {
	margin: calc(56 * var(--u)) calc(42 * var(--u)) 0;
	font-size: calc(24 * var(--u));
	font-weight: 700;
	color: #57534B;
}

/* ---------- メディア紹介 (旧img21) ---------- */
.s-media {
	background: #EDE5D3;
	color: #4B4B4B;
	padding-bottom: calc(80 * var(--u));
}
.s-media .banner {
	position: relative;
	background: #DC1626;
	color: #FFFFFF;
	text-align: center;
	font-weight: 800;
	padding: calc(36 * var(--u)) 0 calc(40 * var(--u));
	line-height: 1.55;
	font-size: calc(38 * var(--u));
	letter-spacing: 0.06em;
}
.s-media .banner span { font-size: calc(54 * var(--u)); }
.s-media .banner::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: calc(-28 * var(--u));
	transform: translateX(-50%);
	border-style: solid;
	border-width: calc(30 * var(--u)) calc(28 * var(--u)) 0;
	border-color: #DC1626 transparent transparent;
}
.s-media .award {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: calc(18 * var(--u));
	margin: calc(80 * var(--u)) calc(48 * var(--u)) 0;
}
.s-media .award img { width: calc(85 * var(--u)); flex: none; }
.s-media .award .atxt {
	text-align: center;
	border-top: calc(2 * var(--u)) solid #B7AE9C;
	border-bottom: calc(2 * var(--u)) solid #B7AE9C;
	padding: calc(20 * var(--u)) 0;
	font-size: calc(29 * var(--u));
	font-weight: 700;
	line-height: 1.7;
	color: #3F3B36;
	flex: 1;
	white-space: nowrap;
}
.s-media .award .atxt b { font-size: calc(38 * var(--u)); font-weight: 800; }
.s-media .photo {
	display: block;
	width: calc(640 * var(--u));
	margin: calc(36 * var(--u)) auto 0;
}
.s-media .badges {
	display: flex;
	justify-content: center;
	gap: calc(18 * var(--u));
	margin: calc(44 * var(--u)) calc(38 * var(--u)) 0;
}
.s-media .badges .bd {
	background: #1D7FC0;
	color: #FFFFFF;
	border-radius: calc(8 * var(--u));
	font-size: calc(23 * var(--u));
	font-weight: 800;
	text-align: center;
	padding: calc(16 * var(--u)) calc(10 * var(--u));
	display: flex;
	flex-direction: column;
	justify-content: center;
	line-height: 1.4;
	flex: 1;
	white-space: nowrap;
}
.s-media .badges .bd .s { font-size: calc(17 * var(--u)); }

/* ---------- アドバイザー紹介 (旧img22) ---------- */
.s-adv {
	background: #EDE5D3;
	color: #4B4B4B;
	padding: calc(50 * var(--u)) 0 calc(70 * var(--u));
}
.s-adv .lbl {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: calc(24 * var(--u));
	font-size: calc(28 * var(--u));
	font-weight: 700;
	color: #3F3B36;
	letter-spacing: 0.1em;
}
.s-adv .lbl::before, .s-adv .lbl::after {
	content: "";
	width: calc(150 * var(--u));
	height: calc(2 * var(--u));
	background: #6B675F;
}
.s-adv h2 {
	margin: calc(36 * var(--u)) 0 0;
	text-align: center;
	font-size: calc(40 * var(--u));
	font-weight: 800;
	color: #3F3B36;
	line-height: 1.7;
	letter-spacing: 0.04em;
}
.s-adv h2 .nhk {
	background: #DC1626;
	color: #FFFFFF;
	padding: calc(2 * var(--u)) calc(18 * var(--u));
	border-radius: calc(6 * var(--u));
}
.s-adv .acard {
	margin: calc(44 * var(--u)) calc(38 * var(--u)) 0;
	background: #FFFFFF;
	border: calc(3 * var(--u)) solid #1D7FC0;
	border-radius: calc(16 * var(--u));
	padding: calc(30 * var(--u)) calc(34 * var(--u)) calc(44 * var(--u));
}
.s-adv .ahead {
	display: flex;
	align-items: center;
	gap: calc(20 * var(--u));
}
.s-adv .ahead img { width: calc(275 * var(--u)); flex: none; }
.s-adv .ahead .an .role {
	color: #1D7FC0;
	font-size: calc(27 * var(--u));
	font-weight: 800;
	line-height: 1.55;
}
.s-adv .ahead .an .name {
	font-size: calc(52 * var(--u));
	font-weight: 800;
	color: #3F3B36;
	margin-top: calc(22 * var(--u));
}
.s-adv .bio {
	margin: calc(20 * var(--u)) 0 0;
	font-size: calc(21 * var(--u));
	font-weight: 500;
	color: #9A968D;
	line-height: 1.75;
}
.s-adv .apara {
	margin: calc(28 * var(--u)) 0 0;
	font-size: calc(24 * var(--u));
	font-weight: 700;
	line-height: 1.8;
	color: #4B4B4B;
}

/* ---------- 固定メニューボタン (fbt01-03) ---------- */
#cont #footer #fixed_menu {
	width: 100%;
	max-width: 600px;
	left: 50%;
	transform: translateX(-50%);
	box-sizing: border-box;
	z-index: 1000;
}
.fbt {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	text-decoration: none;
	color: #FFFFFF;
	font-family: "M PLUS Rounded 1c", "Hiragino Maru Gothic ProN", YuGothic, Meiryo, sans-serif;
	font-weight: 800;
	text-align: center;
	border-radius: 10px;
	font-size: clamp(9px, 2.7vw, 16px);
	line-height: 1.3;
	height: clamp(40px, 10.5vw, 64px);
	letter-spacing: 0.01em;
	padding-right: 13%;
	padding-left: 2%;
	white-space: nowrap;
}
.fbt-pink { background: #E85377; box-shadow: 0 4px 0 #B13352; }
.fbt-orange { background: #FFA40A; box-shadow: 0 4px 0 #C48212; }
.fbt-blue { background: #187EC4; box-shadow: 0 4px 0 #2C7AAD; }
.fbt::after {
	content: "";
	position: absolute;
	right: 4%;
	top: 50%;
	width: clamp(12px, 3.4vw, 21px);
	height: clamp(12px, 3.4vw, 21px);
	background: #FFFFFF;
	border-radius: 50%;
	transform: translateY(-50%);
}
.fbt::before {
	content: "";
	position: absolute;
	right: calc(4% + clamp(3px, 0.9vw, 6px));
	top: 50%;
	transform: translateY(-50%);
	width: 0;
	height: 0;
	z-index: 1;
	border-style: solid;
	border-width: clamp(3px, 0.85vw, 5px) 0 clamp(3px, 0.85vw, 5px) clamp(5px, 1.3vw, 8px);
	border-color: transparent;
}
.fbt-pink::before { border-left-color: #E85377; }
.fbt-orange::before { border-left-color: #FFA40A; }
.fbt-blue::before { border-left-color: #187EC4; }


/* ---------- 既存セクションの折返し調整 ---------- */
.seasonal-month-badge { white-space: nowrap; }
.tab-btn { white-space: nowrap; }
#formarea #form1 label { display: inline-block; }
@media screen and (max-width: 600px) {
  .seasonal-month-badge { font-size: 12px; }
}

/* ---------- 時期訴求「N月のポイント」（LPトーンに合わせて再デザイン、2026-10-01） ---------- */
.seasonal-block.s-season {
	background: #FFFDF2;
	border-radius: calc(20 * var(--u));
	padding: calc(40 * var(--u)) calc(34 * var(--u)) calc(38 * var(--u));
	color: #57534B;
}
.s-season .seasonal-meta {
	flex-direction: column;
	align-items: center;
	gap: calc(16 * var(--u));
	margin-bottom: calc(26 * var(--u));
}
.s-season .seasonal-month-badge {
	background: #E85377;
	color: #FFFFFF;
	font-size: calc(30 * var(--u));
	font-weight: 800;
	line-height: 1;
	letter-spacing: 0.1em;
	padding: calc(13 * var(--u)) calc(34 * var(--u)) calc(15 * var(--u));
	border-radius: calc(40 * var(--u));
}
.s-season .seasonal-title-small {
	font-size: calc(25 * var(--u));
	font-weight: 700;
	color: #57534B;
	line-height: 1;
	letter-spacing: 0.06em;
}
.s-season .tab-nav {
	border: none;
	border-radius: 0;
	overflow: visible;
	gap: calc(14 * var(--u));
	margin-bottom: calc(34 * var(--u));
}
.s-season .tab-btn {
	font-family: inherit;
	font-size: calc(25 * var(--u));
	font-weight: 800;
	line-height: 1;
	letter-spacing: 0.02em;
	padding: calc(22 * var(--u)) 0;
	background: #FFFFFF;
	color: #E85377;
	border: calc(3 * var(--u)) solid #E85377;
	border-radius: calc(50 * var(--u));
}
.s-season .tab-btn.active {
	background: #E85377;
	color: #FFFFFF;
}
.s-season .content-heading {
	font-family: inherit;
	font-size: calc(34 * var(--u));
	font-weight: 800;
	color: #4B4B4B;
	line-height: 1.5;
	letter-spacing: 0.04em;
	text-align: center;
	margin-bottom: calc(22 * var(--u));
	padding-bottom: calc(22 * var(--u));
	border-bottom: calc(4 * var(--u)) dotted #E8749B;
}
.s-season .content-body {
	font-size: calc(28 * var(--u));
	font-weight: 500;
	color: #57534B;
	line-height: 1.8;
	margin-bottom: 0;
}

/* ---------- REVIEW03 保護者レポート（折りたたみ、2026-09-03） ---------- */
.rev-sub {
	background: #E95377;
	color: #FFFFFF;
	display: flex;
	align-items: center;
	gap: calc(20 * var(--u));
	padding: calc(18 * var(--u)) calc(26 * var(--u));
}
.rev-sub-label {
	flex: none;
	border: calc(2 * var(--u)) solid #FFFFFF;
	border-radius: calc(6 * var(--u));
	font-size: calc(22 * var(--u));
	font-weight: 700;
	padding: calc(6 * var(--u)) calc(14 * var(--u));
	white-space: nowrap;
}
.rev-sub-txt {
	font-size: calc(26 * var(--u));
	font-weight: 700;
	line-height: 1.55;
	letter-spacing: 0.02em;
}
.rev-report p.txt { font-weight: 500; }
.rev-report .rev-h {
	margin: calc(44 * var(--u)) 0 0;
	color: #E95377;
	font-size: calc(29 * var(--u));
	font-weight: 800;
	line-height: 1.6;
}
.rev-fold { display: none; }
.rev-card.is-open .rev-fold { display: block; }
.rev-more {
	display: flex;
	align-items: center;
	justify-content: center;
	width: calc(340 * var(--u));
	margin: calc(44 * var(--u)) auto 0;
	background: #FFFFFF;
	border: calc(3 * var(--u)) solid #1C7FC2;
	border-radius: calc(999 * var(--u));
	color: #1C7FC2;
	font-size: calc(26 * var(--u));
	font-weight: 800;
	padding: calc(14 * var(--u)) 0;
	cursor: pointer;
	font-family: inherit;
	letter-spacing: 0.05em;
}
.rev-more .close { display: none; }
.rev-card.is-open .rev-more .more { display: none; }
.rev-card.is-open .rev-more .close { display: inline; }

/* ---------- WISC検査の結果を活かす (2026-09 追加) ---------- */
.s-wisc { background: #FFFFFF; color: #57534B; padding: calc(64 * var(--u)) calc(38 * var(--u)) calc(60 * var(--u)); }
.s-wisc .w-head { text-align: center; }
.s-wisc .w-pill { display: inline-block; background: #FFFFFF; color: #E85377; border: calc(3 * var(--u)) solid #E85377; border-radius: calc(999 * var(--u)); font-size: calc(23 * var(--u)); font-weight: 800; letter-spacing: 0.08em; padding: calc(8 * var(--u)) calc(28 * var(--u)); }
.s-wisc h2 { margin: calc(22 * var(--u)) 0 0; font-size: calc(44 * var(--u)); font-weight: 800; line-height: 1.4; letter-spacing: 0.04em; color: #3F3B36; }
.s-wisc h2 em { font-style: normal; color: #E85377; }
.s-wisc .w-lead { margin: calc(24 * var(--u)) 0 0; font-size: calc(26 * var(--u)); font-weight: 700; line-height: 1.85; text-align: left; }
.s-wisc .r { color: #E85377; }
.s-wisc .w-team { margin-top: calc(40 * var(--u)); background: #FFFFFF; border: calc(4 * var(--u)) solid #E85377; border-radius: calc(20 * var(--u)); padding: calc(26 * var(--u)) calc(28 * var(--u)); }
.s-wisc .w-team-title { text-align: center; color: #E85377; font-size: calc(28 * var(--u)); font-weight: 800; margin-bottom: calc(18 * var(--u)); }
.s-wisc .w-team-row { display: flex; align-items: flex-start; gap: calc(16 * var(--u)); margin-top: calc(14 * var(--u)); }
.s-wisc .w-team-row p { margin: 0; font-size: calc(25 * var(--u)); font-weight: 700; line-height: 1.65; }
.s-wisc .w-team-row b { font-weight: 800; color: #3F3B36; }
.s-wisc .w-tag { flex: none; background: #E85377; color: #FFFFFF; font-size: calc(20 * var(--u)); font-weight: 800; padding: calc(6 * var(--u)) calc(14 * var(--u)); border-radius: calc(999 * var(--u)); white-space: nowrap; margin-top: calc(4 * var(--u)); }
.s-wisc .w-cards { margin-top: calc(32 * var(--u)); display: flex; flex-direction: column; gap: calc(20 * var(--u)); }
.s-wisc .w-card { background: #FFFDF2; border-radius: calc(20 * var(--u)); padding: calc(28 * var(--u)) calc(28 * var(--u)) calc(26 * var(--u)); box-shadow: 0 calc(4 * var(--u)) 0 #EADFC8; }
.s-wisc .w-card-head { display: flex; align-items: center; gap: calc(16 * var(--u)); }
.s-wisc .w-badge { flex: none; background: #E85377; color: #FFFFFF; font-size: calc(21 * var(--u)); font-weight: 800; letter-spacing: 0.04em; padding: calc(7 * var(--u)) calc(18 * var(--u)); border-radius: calc(999 * var(--u)); white-space: nowrap; }
.s-wisc .w-trait { font-size: calc(26 * var(--u)); font-weight: 800; line-height: 1.45; color: #3F3B36; }
.s-wisc .w-how { margin: calc(14 * var(--u)) 0 0; font-size: calc(25 * var(--u)); font-weight: 700; line-height: 1.75; }
.s-wisc .w-how .r { font-weight: 800; }
.s-wisc .w-flow { margin-top: calc(32 * var(--u)); background: #EDE5D3; border-radius: calc(24 * var(--u)); padding: calc(34 * var(--u)) calc(30 * var(--u)) calc(30 * var(--u)); }
.s-wisc .w-flow-title { text-align: center; color: #E85377; font-size: calc(30 * var(--u)); font-weight: 800; margin-bottom: calc(22 * var(--u)); }
.s-wisc .w-step { display: flex; align-items: flex-start; gap: calc(20 * var(--u)); margin-top: calc(22 * var(--u)); }
.s-wisc .w-no { flex: none; width: calc(60 * var(--u)); height: calc(60 * var(--u)); border-radius: 50%; background: #E85377; color: #FFFFFF; font-size: calc(23 * var(--u)); font-weight: 800; display: flex; align-items: center; justify-content: center; }
.s-wisc .w-step b { display: block; font-size: calc(27 * var(--u)); font-weight: 800; line-height: 1.4; color: #3F3B36; margin-top: calc(8 * var(--u)); }
.s-wisc .w-step p { margin: calc(6 * var(--u)) 0 0; font-size: calc(23 * var(--u)); font-weight: 700; line-height: 1.65; }
.s-wisc .w-note { margin: calc(34 * var(--u)) 0 0; text-align: center; font-size: calc(21 * var(--u)); font-weight: 700; line-height: 1.75; }
/* フォーム前文の注記 */
#formarea .txt .wisc-form-note { display: block; margin-top: 14px; background: #FFF0F4; border-left: 4px solid #E85377; border-radius: 6px; padding: 10px 14px; line-height: 1.6; }
