@charset "utf-8";

:root {
	--premium-course-color: 0, 164, 108;
	--highLevel-course-color: 59, 114, 227;
	--blue: #0a54ea;
	--pink: #d71d63;
}

/* 仮--------------------------------------------------- */
section {
	padding-block: clamp(4.4rem, var(--sp-44px), 6.4rem) clamp(6rem, var(--sp-60px), 8rem);
	position: relative;
}
section.beige_wrap {
	background: #eef4ff;
}
section.decoration::before {
	position: absolute;
    content: "";
    background-image: url(/assets/images/ai/ai_decoration.png);
    background-size: cover;
    background-repeat: no-repeat;
    aspect-ratio: 401 / 394;
    width: 430px;
    height: 422px;
    top: -70px;
    left: -70px;
    z-index: 0;
}
section.decoration.revert::before {
	transform: scale(-1,1);
    left: auto;
    right: -70px;
}
main {
	overflow: hidden;
}
.lead_container {
	background-color: #fff;
}
.blue_wrap {
	background-color: #f4f4ed;
}
.inner {
	width: 100%;
	max-width: 93rem;
	margin: 0 auto;
	position: relative;
	z-index: 3;
}
h1 {
	padding-inline: 40px 30px;
	padding-block: clamp(15px, var(--sp-15px), 23px) 63px;
}
h2 {
	font-family: 'Shippori Mincho', var(--fontFamily-serif-noto);
	color: #da2222;
	font-size: clamp(2.8rem, 7.466vw, 4.8rem);
	line-height: 1.4;
	text-align: center;
	margin-bottom: 0.5em;
}
.imgWrap {
	width: 100%;
	max-width: 90rem;
	margin: clamp(20px, var(--sp-20px), 30px) auto;
}
.imgWrap.white {
	padding: 40px 60px 20px;
    background-color: #fff;
}
.imgWrap img {
	width: 100%;
	height: auto;
	object-fit: contain;
}
small {
	color: #777777;
	font-size: clamp(1.1rem, 2.933vw, 1.2rem);
    line-height: 1.3;
    text-indent: -1.8em;
    padding-left: 1.8em;
    display: inline-block;
}
h3 {
    font-size: clamp(2.8rem, var(--sp-28px), 4.8rem);
    font-family: 'Shippori Mincho', var(--fontFamily-serif-noto);
    line-height: 1.3;
    margin: 0 auto 0.5em;
    text-align: center;
    position: relative;
    width: fit-content;
    margin: 0 auto 0.5em;
}
.decoration h3 {
	text-shadow: 0 0 10px #eef4ff, 0 0 10px #eef4ff, 0 0 10px #eef4ff, 0 0 10px #eef4ff, 0 0 10px #eef4ff, 0 0 10px #eef4ff, 0 0 10px #eef4ff, 0 0 10px #eef4ff, 0 0 10px #eef4ff, 0 0 10px #eef4ff;
}
.decoration.revert h3 {
	text-shadow: 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff;
}
/*.hatena h3::before,
.hatena h3::after {
	position: absolute;
	content: "";
	background-color: #a7a7a1;
	height: 2px;
	width: 80px;
	top: 50%;
	transform: translateY(-50%);
}
.hatena h3::before {
	left: -100px;
}
.hatena h3::after {
	right: -100px;
}*/
.guideWrap {
	margin-top: 0;
}
p:last-of-type {
	margin-bottom: 0;
}
@media screen and (max-width: 834px) {
	.inner {
		padding-inline: 19px;
	}
	.beige_wrap {
		padding-inline: 0;
	}
	h2 {
		margin-bottom: 1em;
	}
	.lead_container {
		padding-inline: 0;
	}
	section.decoration::before {
		width: 170px;
		height: 167px;
		top: -30px;
    	left: 0px;
	}
	section.decoration.revert::before {
		right: 0;
	}
}
@media screen and (max-width: 600px) {
	h1 {
		padding-inline: 25px 0;
	}
	.imgWrap.white {
		padding: 20px 20px 10px;
	    background-color: #fff;
	}
	section.decoration::before {
		width: var(--sp-150px);
		height: var(--sp-147px);
		top: -22px;
	}
}


/* FV-------------------------------------------------- */
.firstView {
	/*--FV-img: url(/assets/images/ai/fv02.jpg);
	padding: 0;
	background: var(--FV-img) calc(50% + 272px) 0 / contain no-repeat #eef4ff;*/
	/*--FV-img: url(/assets/images/ai/fv03.jpg);
	padding: 0;
	background: var(--FV-img) calc(50% + 290px) 0 / contain no-repeat #eef4ff;*/
	/*--FV-img: url(/assets/images/ai/fv04.jpg);
	padding: 0;
	background: var(--FV-img) calc(50% + 222px) 0 / contain no-repeat #eef4ff;*/
	--FV-img: url(/assets/images/ai/fv05.jpg);
	padding: 0;
	background: var(--FV-img) calc(50% + 283px) 0 / contain no-repeat #eef4ff;*/
}
.firstView::before {
    content: 'AI';
}
.firstView .kome_out {
	position: absolute;
	bottom: 5px;
	right: 10px;
}
.subCatch {
	margin-block: 0 5px;
}
#mainCatch {
	font-size: clamp(3rem, var(--sp-33px), 5.5rem);
	line-height: 1.3;
	margin-block: 0 clamp(8px, var(--sp-8px), 10px);
}
span.survice {
	font-size: clamp(2rem, var(--sp-20px), 3rem);
    font-weight: 600;
    background-color: #2234da;
    color: #fff;
    line-height: 1.2;
    padding: 0.2em 0.5em;
    width: fit-content;
}
@media screen and (max-width: 834px) {
	.firstView {
		--spFV-img: url(/assets/images/ai/fv_sp.jpg);
		background: var(--FV-img) calc(50% + 130px) -5px / contain no-repeat #eef4ff;
	}
	#mainCatch {
		font-size: clamp(3rem, var(--sp-33px), 5.3rem);
	}
}
@media screen and (max-width: 600px) {
	.firstView {
		background: #eef4ff;
	}
	.firstView::after {
		height: 184px;
	}
	.firstView .kome_out {
		bottom: 35px;
	}
	span.survice {
		padding: 0.2em 0.5em 0.1em;
	}
	small.under600 {
		text-align: right;
		text-indent: 0;
		padding: 3px 0;
	}
}


/* リード文-------------------------------------------------- */
.lead {
	max-width: 900px;
	position: relative;
	z-index: 3;
}
.lead h3 {
    font-size: clamp(2.4rem, var(--sp-24px), 3rem);
    font-family: var(--fontFamily-sans-noto);
}
.lead p {
	text-align: center;
	position: relative;
	z-index: 3;
}
@media screen and (max-width: 834px) {
	.lead p {
		text-shadow: 0 0 4px #fff, 0 0 8px #fff, 0 0 8px #fff, 0 0 12px rgba(255,255,255,.8);
		text-align: left;
	}
}


/* 図表-------------------------------------------------- */
p.fuan {
    font-size: clamp(1.8rem, var(--sp-18px), 2rem);
    font-family: var(--fontFamily-sans-noto);
    font-weight: 700;
}
.hyouka_list {
	margin-block: clamp(30px, var(--sp-30px), 40px);
}
.hyouka_list li {
	display: flex;
	align-items: center;
	gap: 20px;
    font-size: clamp(1.8rem, var(--sp-18px), 2.4rem);
    font-family: var(--fontFamily-sans-noto);
    font-weight: 700;
	position: relative;
	margin: 0 auto 10px;
	max-width: 80rem;
}
.hyouka_list li:last-of-type {
	margin-bottom: 0;
}
.hyouka_list li::after {
	position: absolute;
    content: "";
	border: 1px dashed #c6c8d9;
    width: 100%;
    bottom: -7px;
    left: 50%;
    transform: translateX(-50%);
}
.hyouka_list li:last-of-type::after {
	display: none;
}
.hyouka_list li span {
	display: inline-block;
	padding-left: 80px;
	width: calc(70% - 10px);
    line-height: 1.3;
    position: relative;
}
.hyouka_list li span::before {
	position: absolute;
    content: "";
    background-image: url(/assets/images/ai/ai_check.svg);
    background-size: cover;
    background-repeat: no-repeat;
    aspect-ratio: 167 / 150;
    width: 48px;
    height: 44px;
    top: 50%;
    transform: translateY(-58%);
    left: 13px;
}
.hyouka_list li img {
	width: calc(30% - 10px);
}
.hyouka_list span {
	display: flex;
    flex-direction: column;
    align-items: center;
    font-weight: 900;
    line-height: 1;
}
.ai_features {
	padding: clamp(10px, var(--sp-10px), 30px) clamp(20px, var(--sp-20px), 60px);
	margin: 30px auto 0;
	border: solid 2px #0a54ea;
}
.ai_features h4 {
	margin-bottom: 10px;
	font-size: clamp(2.4rem, var(--sp-24px), 3rem);
    font-family: var(--fontFamily-sans-noto);
    color: #2234da;
    text-align: center;
    line-height: 1.3;
}
.ai_features li {
	font-size: clamp(1.8rem, var(--sp-18px), 2rem);
	font-weight: 800;
	margin-bottom: 20px;
}
.ai_features li span {
	font-size: clamp(1.5rem, var(--sp-15px), 1.6rem);
	font-weight: 500;
}
.voice {
	display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px 60px;
    margin-block: clamp(30px, var(--sp-30px), 40px) 0;
    width: 110rem;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
}
.voice .v {
	display: flex;
	flex-direction: column;
	background-color: #fff;
	border: 2px solid #d9e2f4;
	position: relative;
}
.voice .v::after {
	position: absolute;
    content: "";
    background-image: url(/assets/images/ai/ai_sakura.svg);
    background-size: cover;
    background-repeat: no-repeat;
    aspect-ratio: 158 / 150;
    width: 110px;
    height: 104px;
    top: -20px;
    right: -35px;
    transform: rotate(13deg);
    z-index: 0;
}
.voice .v_prof {
	display: flex;
	gap: 20px;
	height: 140px;
	margin: 23px 23px 20px;
}
.voice .v_prof .img {
	width: calc(30% - 10px);
	background-size: cover;
	background-position: center;
}
.voice .v_prof .text {
	width: calc(70% - 10px);
}
.voice .v_prof .img.sato {
	background-image: url(https://www.online-mega.com/koukousei/site_wp/wp-content/themes/site/images/pass/2025/pass_img_sato.png);
}
.voice .v_prof .img.shimizumio {
	background-image:url(https://www.online-mega.com/koukousei/site_wp/wp-content/themes/site/images/pass/2025/pass_img_shimizumio.png);
}
.voice .v_prof .img.aso {
	background-image: url(https://www.online-mega.com/koukousei/site_wp/wp-content/themes/site/images/pass/2025/pass_img_aso.jpg);
}
.voice .v_prof .img.nakagawa {
	background-image: url(https://www.online-mega.com/koukousei/site_wp/wp-content/themes/site/images/pass/2025/pass_img_nakagawa.png);
}
.voice_main {
	display: inline-block;
	font-size: clamp(1.8rem, var(--sp-18px), 2.4rem);
	font-family: var(--fontFamily-sans-noto);
    font-weight: 700;
    line-height: 1.3;
    margin-bottom: 10px;
    color: #da2222;
}
.voice_univ,
.voice_prof {
	font-size: clamp(1.4rem, var(--sp-14px), 1.6rem);
	font-weight: 800;
}
.voice_kome {
	color: #777777;
    font-size: clamp(1.1rem, 2.933vw, 1.2rem);
    line-height: 1.3;
}
.voice .v p {
	height: calc(100% - 140px);
    font-size: clamp(1.5rem, var(--sp-15px), 1.6rem);
	background-color: #fff3f7;
	padding: 18px 23px 23px;
}
.conclusion {
	margin-top: clamp(80px, var(--sp-80px), 130px);
}
@media screen and (max-width: 834px) {
	.voice {
		width: 100%;
		gap: 30px;
		grid-template-columns: 1fr;
	}
	.voice .v::after {
	    right: -7px;
	}
}
@media screen and (max-width: 600px) {
	.hyouka_list li {
		padding-block: 13px;
	}
	.hyouka_list li::after {
		border: -5px;
	}
	.hyouka_list li span {
		padding-left: 48px;
		width: 100%;
	}
	.hyouka_list li span::before {
		width: 28px;
		height: 25px;
		left: 3px;
	}
	.ai_features ul {
		padding-left: 20px;
	}
	.voice .v::after {
		width: 70px;
	    height: 66px;
	    top: -20px;
	    right: -17px;
	}
	.voice .v_prof {
		margin: 0;
		gap: 13px;
		height: fit-content;
	}
	.voice .v_prof .img {
		width: calc(30% - 6px);
		height: 80%;
	}
	.voice .v_prof .text {
		padding: 13px 10px 6px 0;
		width: calc(70% - 7px);
	}
	.voice_main {
		margin-bottom: 2px;
	}
	.voice .v p {
		padding: 13px;
		height: fit-content;
	}
}



