/* ----------------------------------- 접근성 ---------------------------------- */

.a11y-hidden {
	overflow: hidden;
	position: absolute;
	border: 0;
	width: 1px;
	height: 1px;
	clip: rect(1px, 1px, 1px, 1px);
}

/* --------------------------------- 인트로, 아웃트로 페이지 -------------------------------- */
.intro .title-intro {
	display: flex;
	gap: 13px;
}
.intro .title-intro .group span {
	font-family: "Pretendard";
	font-size: 24px;
	font-weight: 600;
	letter-spacing: -2px;
}
.intro .title-intro .group .bluegreen {
	font-size: 32px;
	color: #04646b;
}

.intro .title-intro .group .brown {
	color: #b04425;
}
.intro,
.outro {
	width: 100%;
	height: 100%;
	padding: 40px 55px 40px 70px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	overflow: hidden;
}

.intro::before {
	position: absolute;
	top: 122px;
	left: 198px;
	z-index: 10;
	content: "";
	width: 200px;
	height: 90px;
	background: url("../common/img/bg_intro_cloud1.svg") no-repeat center / 100%;
}

.intro::after {
	position: absolute;
	bottom: 112.18px;
	left: 578px;
	z-index: 10;
	content: "";
	width: 193.24px;
	height: 79.82px;
	background: url("../common/img/bg_intro_cloud2.svg") no-repeat center / 100%;
}

.intro .inwrap,
.outro .inwrap {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 56px;
	width: 100%;
	height: 100%;
	padding-top: 170px;
	padding-left: 130px;
	border-radius: 12px;
	position: relative;
}
.intro .inwrap {
	position: relative;
	background-color: #ffe693;
}
.intro .inwrap .title-intro {
	position: absolute;
	top: 103px;
	left: 160px;
	z-index: 10;
}

/*0517 주석처리 놀더 타이틀화면 레이아웃 영향으로 인해 주석처리*/
/* .intro .inwrap .title-intro::before {
	content: "";
	width: 100px;
	height: 524px;
	background: url("../common/img/bg_intro_string.svg") no-repeat center / 100%;
	position: absolute;
	top: 50%;
	left: -35px;
	transform: translateY(-50%);
}
.intro .inwrap .title-intro::after {
	content: "";
	display: block;
	width: 411.3px;
	height: 531.01px;
	background: url("../common/img/charactor_math_cloud.svg") no-repeat center / 100%;
	position: absolute;
	bottom: -110px;
	right: 50px;
	z-index: 20;
} */
/*0517 주석처리 놀더 타이틀화면 레이아웃 영향으로 인해 주석처리*/

.intro .inwrap .title-intro {
	position: absolute;
	top: 101px;
	left: 151px;
	z-index: 10;
}

.intro .inwrap::before {
	content: "";
	width: 100px;
	height: 524px;
	background: url("../common/img/bg_intro_string.svg") no-repeat center / 100%;
	position: absolute;
	top: 50%;
	left: -35px;
	transform: translateY(-50%);
}
.intro .inwrap::after {
	content: "";
	display: block;
	width: 411.3px;
	height: 531.01px;
	background: url("../common/img/charactor_math_cloud.svg") no-repeat center / 100%;
	position: absolute;
	bottom: -110px;
	right: 50px;
	z-index: 20;
}
.outro .inwrap {
	background-color: #f7dad5;
}
.outro .inwrap .context > label {
	margin-bottom: 16px;
	padding: 8px 20px;
	display: inline-flex;
	min-height: initial;
	border-radius: 12px;
	background: var(--Color-Secondary-Red, #ee4f24);
	color: var(--bg-disabled);
	font-size: 20px;
	line-height: 32px;
	letter-spacing: -0.5px;
	font-weight: 700;
	align-items: center;
}
.outro .inwrap::before {
	content: "";
	width: 100px;
	height: 524px;
	background: url("../common/img/bg_outro_string.svg") no-repeat center / 100%;
	position: absolute;
	top: 50%;
	left: -35px;
	transform: translateY(-50%);
}
.outro .inwrap::after {
	content: "";
	display: block;
	width: 480px;
	height: 480px;
	background: url("../common/img/charactor_math_02.svg") no-repeat center / 100%;
	position: absolute;
	bottom: -136px;
	right: -15px;
	z-index: 20;
}
.intro .page,
.outro .page {
	display: flex;
	align-items: center;
	gap: 24px;
	position: absolute;
	top: 32px;
	right: 32px;
}
.intro .page > div,
.outro .page > div {
	display: inline-flex;
	align-items: center;
	height: 40px;
	padding-left: 52px;
	font-size: 20px;
	position: relative;
}
.intro .page > div::before,
.outro .page > div::before {
	content: "";
	display: block;
	width: 40px;
	height: 40px;
	background: url("../common/img/icon_book_3.svg") no-repeat center left / 40px;
	position: absolute;
	top: 0;
	left: 0;
}
.intro .main,
.outro .main {
	display: flex;
	flex-direction: column;
	gap: 16px;
	letter-spacing: -1px;
}
.intro .main p,
.intro .main ul > li,
.outro .main p,
.outro .main ul > li {
	font-size: 32px;
	line-height: 48px;
}
.intro .main p:first-child,
.outro .main p:first-child {
	font-size: 64px;
	font-weight: 700;
	line-height: 88px;
}
.intro ul {
	margin-top: 10px;
	margin-left: 50px;
	display: grid;
	grid-template-columns: repeat(2, min-content);
	white-space: nowrap;
}
.intro ul li {
	padding-right: 10px;
}
.intro ul li:nth-of-type(1) {
	padding-right: 60px;
}
.intro ul li:nth-of-type(2) {
	padding-right: 150px;
}
.intro ul li:nth-child(odd) {
	position: relative;
	z-index: 10;
}
.intro ul li:nth-child(odd)::before {
	content: "";
	display: block;
	width: 152.02px;
	height: 72px;
	background: url("../common/img/bg_intro_tag.svg") no-repeat center/ contain;
	position: absolute;
	top: -10px;
	left: -50px;
	z-index: -1;
}

/* ------------------------------ 준비하기, 놀이방법 공통 ----------------------------- */

.play-howto-layout h2,
.play-ready-layout h2 {
	position: relative;
	margin-left: 20px;
	font-family: "Pretendard" !important;
	font-size: 32px;
	font-weight: 700 !important;
	letter-spacing: -1px;
	line-height: 48px;
}

.play-howto-layout h2 .title-play,
.play-howto-layout h2 .title-ready,
.play-ready-layout h2 .title-play,
.play-ready-layout h2 .title-ready {
	text-shadow: 2px 2px 0 white, 1px 2px 0 white, 2px 1px 0 white, 1px 1px 0 white, 0 2px 0 white, 0 1px 0 white,
		2px 0 0 white, 1px 0 0 white;
	width: 120px;
}

.play-howto-layout h2::before,
.play-ready-layout h2::before {
	content: "";
	display: block;
	width: 70px;
	height: 70px;
	background: white url("../common/img/title_mid_6.svg") no-repeat center/ contain;
	position: absolute;
	top: -10px;
	left: -20px;
	z-index: -1;
}

.play-howto-layout h2 .point,
.play-ready-layout h2 .point {
	color: #00646b;
}

/* -------------------------------- 준비하기 페이지 -------------------------------- */

.play-ready-layout > section.title {
	margin-bottom: 30px;
}

.play-ready-layout .contents .dp_grid {
	grid-template-columns: 1fr 1fr;
	gap: 55px;
}

.play-ready-layout .contents .dp_grid li {
	position: relative;
	justify-self: start;
	vertical-align: top;
}
.play-ready-layout .contents .dp_grid li .speech_bubble {
	position: absolute;
	top: 24.8%;
	left: 29.5%;
	font-size: 12px;
	letter-spacing: -1px;
}
.play-ready-layout .contents .dp_grid li p {
	position: relative;
	margin-top: 20px;
	padding-left: 60px;
	font-size: 24px;
	line-height: 36px;
	letter-spacing: -0.5px;
}

.play-ready-layout .contents .dp_grid li p::before {
	content: "";
	display: block;
	width: 32px;
	height: 33px;
	position: absolute;
	top: 0;
	left: 20px;
}

.play-ready-layout .contents .dp_grid li:nth-of-type(1) p::before {
	background: url("../common/img/icon_ready_num_1.svg") no-repeat center/ contain;
}

.play-ready-layout .contents .dp_grid li:nth-of-type(2) p::before {
	background: url("../common/img/icon_ready_num_2.svg") no-repeat center/ contain;
}

.play-ready-layout .contents .page_2.on li:nth-of-type(1) p::before {
	background: url("../common/img/icon_ready_num_3.svg") no-repeat center/ contain;
}

.play-ready-layout .contents .page_2.on li:nth-of-type(2) p::before {
	background: url("../common/img/icon_ready_num_4.svg") no-repeat center/ contain;
}

.play-ready-layout.ema516_09_su_0002 img {
	padding: 0 370px;
}

.play-ready-layout.ema516_09_su_0002 p {
	margin-top: 20px;
	font-size: 24px;
	line-height: 36px;
	text-align: center;
	letter-spacing: -0.5px;
}

.play-ready-layout.ema521_10_su_0002 .btn_area {
	display: none;
}

.play-ready-layout.ema515_09_su_0002[data-current-page="page_1"] .paging_layout {
	padding: 0 95px;
}

.play-ready-layout.ema515_09_su_0002[data-current-page="page_1"] .dp_grid {
	gap: 0;
}

.play-ready-layout.ema515_09_su_0002[data-current-page="page_1"] .dp_grid li:last-child p {
	letter-spacing: -1px;
	padding-left: 40px;
}

.play-ready-layout.ema515_09_su_0002[data-current-page="page_1"] .dp_grid li:last-child p::before {
	left: 0;
}

.play-ready-layout.ema515_09_su_0002[data-current-page="page_2"] h2 {
	display: none;
}

.play-ready-layout.ema615_10_su_0002 .tag {
	font-size: 20px;
	font-weight: 700;
	padding: 0 10px 0 25px;
	position: relative;
	height: 8px;
}

.play-ready-layout.ema615_10_su_0002 .tag::before {
	position: absolute;
	z-index: -1;
	left: 0;
	content: "";
	width: 106px;
	height: 38px;
	background: url("../../common_contents/img/EMA615_10_SU/0002_icon.svg") no-repeat center/ contain;
}

.play-ready-layout .example {
	position: relative;
	color: white;
	font-size: 20px;
	padding: 10px 13px 10px 10px;
}

.play-ready-layout .example::before {
	position: absolute;
	top: 5px;
	left: 3px;
	z-index: -1;
	content: "";
	background-color: #888;
	color: white;
	border-radius: 50%;
	width: 33px;
	height: 33px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	align-content: center;
}

.shoot {
	padding: 1px 10px 3px 10px;
	font-size: 24px;
	border: 2px solid #a2562a;
	vertical-align: top;
	border-radius: 12px;
	color: #5fd1fd;
	font-weight: 600;
	background-color: #98cf8e;
	text-shadow: 2px 2px 0 #5b6f8b, 1px 2px 0 #5b6f8b, 2px 1px 0 #5b6f8b, 1px 1px 0 #5b6f8b, 0 2px 0 #5b6f8b,
		0 1px 0 #5b6f8b, 2px 0 0 #5b6f8b, 1px 0 0 #5b6f8b;
}

/* -------------------------------- 놀이방법 페이지 -------------------------------- */

.play-howto-layout .title h2 {
	position: relative;
	width: calc(100% - 132px);
	font-size: 32px !important;
}
.clang .play-howto-layout .title h2 {
	width: calc(100% - 172px);
}

.play-howto-layout .title h2 .howto {
	position: relative;
	width: inherit;
	padding-left: 70px;
	word-break: break-all;
	font-weight: 700;
}

.play-howto-layout .title h2 .howto img {
	display: inline-block;
}

.play-howto-layout .title h2 .howto::before {
	position: absolute;
	left: 20px;
	top: 5px;
	content: "";
	display: block;
	width: 41.14px;
	height: 41.14px;
}

.play-howto-layout .title h2 .howto.num1::before {
	background: url("../common/img/icon_howto_num_1.svg") no-repeat center/ contain;
}

.play-howto-layout .title h2 .howto.num2::before {
	background: url("../common/img/icon_howto_num_2.svg") no-repeat center/ contain;
}

.play-howto-layout .title h2 .howto.num3::before {
	background: url("../common/img/icon_howto_num_3.svg") no-repeat center/ contain;
}

.play-howto-layout .title h2 .howto.num4::before {
	background: url("../common/img/icon_howto_num_4.svg") no-repeat center/ contain;
}

.play-howto-layout .title h2 .howto.num5::before {
	background: url("../common/img/icon_howto_num_5.svg") no-repeat center/ contain;
}

.play-howto-layout .title h2 .howto.num6::before {
	background: url("../common/img/icon_howto_num_6.svg") no-repeat center/ contain;
}

.play-howto-layout .title h2 .howto:has(img) img {
	vertical-align: top;
	padding: 0 2px 0 8px;
}

.play-howto-layout .title h2 .howto .small_num {
	position: relative;
	padding-left: 10px;
}

.play-howto-layout .title h2 .howto .small_num::before {
	position: absolute;
	left: 0;
	top: 2px;
	content: "";
	display: block;
	width: 34px;
	height: 34px;
}

.play-howto-layout .title h2 .howto .small_num.num_s1::before {
	background: url("../common/img/icon_howto_num_s1.svg") no-repeat center/ contain;
}

.play-howto-layout .title h2 .howto .small_num.num_s2::before {
	background: url("../common/img/icon_howto_num_s2.svg") no-repeat center/ contain;
}

.play-howto-layout .title h2 .howto .small_num.num_s3::before {
	background: url("../common/img/icon_howto_num_s3.svg") no-repeat center/ contain;
}

.play-howto-layout .title h2 .howto .small_num.num_s4::before {
	background: url("../common/img/icon_howto_num_s4.svg") no-repeat center/ contain;
}

.play-howto-layout .title h2 .howto .small_num.num_s5::before {
	background: url("../common/img/icon_howto_num_s5.svg") no-repeat center/ contain;
}

.play-howto-layout .title h2 .howto .after_small_num {
	margin-left: -10px;
}

.play-howto-layout .title h2 .howto:has(.small_num) span:nth-of-type(2) {
	padding: 0 50px 0 40px;
}

.play-howto-layout .title h2 .howto .tag {
	margin: 0 0 0 8px;
	padding: 0 5px;
	letter-spacing: -1px;
	border-radius: 18px 18px 6px 6px;
	border: 3px solid #e0a9cd;
	background: #fff;
	text-align: center;
	font-size: 26px;
}

.play-howto-layout .title h2 .howto .tag.view {
	color: #ad5a8f;
	border-color: #e0a9cd;
}

.play-howto-layout .title h2 .howto .tag.rule {
	color: #be5840;
	border-color: #fbb785;
}

.play-howto-layout .title h2 .howto.include_icon {
	display: flex;
}

.play-howto-layout .contents.paging_layout article.page {
	position: absolute;
	bottom: 100px;
}

.play-howto-layout .contents.paging_layout article.page img {
	width: 754px;
	height: 460px;
	margin-left: 350px;
	margin-top: 50px;
	border-radius: 35px;
}

.play-howto-layout.ema511_08_su_0003 .title h2 .howto {
	font-weight: 700;
}

.play-howto-layout.ema516_09_su_0003 .contents.paging_layout article.page.page_5 img {
	width: 1380px;
	height: initial;
	margin-left: 47.5px;
}

.play-howto-layout.ema516_09_su_0003[data-current-page="page_5"] h2::before {
	display: none;
}

.play-howto-layout.ema513_07_su_0002[data-current-page="page_6"] .title h2 {
	letter-spacing: -1.5px;
	width: calc(100% - 130px);
}

.play-howto-layout.ema516_09_su_0003[data-current-page="page_5"] h2 .title-play {
	font-size: 0;
}

.play-howto-layout.ema516_09_su_0003 .num_s3::before {
	left: -42px !important;
}

.play-howto-layout.ema613_10_su_0003 .item1,
.play-howto-layout.ema613_10_su_0003 .item2 {
	position: relative;
	padding: 14px 10px;
	top: -2px;
	display: inline-flex;
	border: 1.5px solid #a2562a;
	border-radius: 12px;
}

.play-howto-layout.ema613_10_su_0003 .item1:before,
.play-howto-layout.ema613_10_su_0003 .item2:before {
	padding: 0 5px;
	display: inline-block;
	padding: 0;
	font-size: 25px;
	line-height: 0;
}

.play-howto-layout.ema613_10_su_0003 .item1 {
	background-color: #c8d96c;
}

.play-howto-layout.ema613_10_su_0003 .item1:before {
	content: "한 번 쉬기";
	color: #336d40;
}

.play-howto-layout.ema613_10_su_0003 .item2 {
	background-color: #f4c3be;
}

.play-howto-layout.ema613_10_su_0003 .item2:before {
	content: "원하는 땅 한 칸 색칠하기";
	color: #a03a33;
}

.btn_area .btn-play-video {
	position: absolute;
	top: -645px;
	right: 0;
}

.btn_area .btn-play-video .red {
	background: var(--Secondary-Red, #ee4f24);
}

.btn_area .gray,
.btn_area button:disabled {
	background-color: var(--bg-disabled);
	color: var(--btn-disabled);
}

button.teacher {
	display: none;
}

body:has(#app_wrap.teacher) button.student {
	display: none;
}

body:has(#app_wrap.teacher) button.teacher {
	display: block;
}

.btnBgDefault {
	box-shadow: 0 8px 24px 0 rgba(0, 0, 0, 0.12);
}

.icon-x {
	position: relative;
	margin: 0 5px 0 4px;
	display: inline-block;
	width: 26px;
	height: 26px;
}

.icon-x::before {
	content: "";
	display: block;
	width: 26px;
	height: 26px;
	background: url("../../common_contents/img/EMA512_09_SU/0002_icon_x.svg") no-repeat center/ contain;
	position: absolute;
	top: 2px;
	left: 0;
}

.icon_calculator {
	/* padding: 0 8px; */
}

/* ---------------------------------- 기타 유틸 --------------------------------- */

.underline {
	text-decoration: underline;
	text-underline-offset: 10px;
	text-decoration-thickness: 2px;
}

.vertical-center {
	align-content: center;
}

html {
	-webkit-text-size-adjust: none !important;
	text-size-adjust: none !important;
}

.speech-bubble {
	position: absolute;
	background: #fff;
	padding: 15px;
	border-radius: 10px;
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
	max-width: 200px;
	z-index: 10;
}

.speech-bubble::after {
	content: "";
	position: absolute;
	width: 0;
	height: 0;
	border: 10px solid transparent;
}

.speech-bubble.left {
	left: 170px;
	top: 300px;
}

.speech-bubble.left::after {
	left: 100%;
	border-left-color: #fff;
	top: 20px;
}

.speech-bubble.right {
	right: -170px;
	top: 300px;
}

.speech-bubble.right::after {
	right: 100%;
	border-right-color: #fff;
	top: 20px;
}

.ema614_09_su_0002 .speech-bubble {
	font-size: 20px;
	max-width: 246px
}

.ema614_09_su_0002 .speech-bubble.left {
	left: 240px;
	top: 230px;
}

.ema614_09_su_0002 .speech-bubble.right {
	right: -110px;
	top: 230px;
}
.page_3 > div {
	position: absolute;
	top: 195px;
	left: 430px;
	background: #fff;
	font-size: 36px;
	padding: 10px;
	border-radius: 10px;
	width: 600px;
	height: 200px;
}

.title.creative_plus .creative {
	line-height: 1.5;
}

.ema624_10_SU_0002 .btn_area .btn-play-video {
    top: -701px;
}
.ema624_10_SU_0002 .btn_area .btn-play-video .btnBgDefault {
    width: 118px;
}