/* 공통 */
.btns {
    display: flex;
    gap: 2rem;
}
.btns a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 50%;
    background-color: #f84241;
    color: white;
    padding: 1rem 1.5rem;
}
/* main */
.main .hero {
    width: 100%;
    height: 588px;
    background-color: #f84241;
}
.main .hero .container {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 72px 80px;
}
.main .hero img {
    width: 440px;
    height: 440px;
}
.main .hero h2 {
    font-size: 32px;
    color: white;
    padding-bottom: 24px;
    font-weight: normal;
}
.main .hero h2 strong {
    color: white;
}
.main .hero p {
    font-size: 24px;
    color: white;
}
.main .hero small {
    display: block;
    font-size: 16px;
    color: white;
    opacity: 0.6;
    padding-bottom: 24px;
}
.main .hero a {
    display: inline-block;
    border: 2px solid white;
    border-radius: 2rem;
    padding: 1rem 2rem;
    color: white;
    font-size: 16px;
}
.main section .container{
    padding: 40px 24px;
    text-align: center;
}
.main h2.title {
    font-size: 32px;
    color: #470700;
    padding-bottom: 1rem;
}
.main h3 {
    font-size: 24px;
    color: #470700;
}
.main h3 span {
    color: #f84241;
}
.main p {
    font-size: 18px;
    padding-bottom: 2rem;
}
.main .tips {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 100px;
    padding-bottom: 2rem;
}
.main .tips li {
    display: flex;
    align-items: center;
    flex-direction: column;
}
.main .tips li img {
    width: 100px;
    height: 100px;
}
.main .tips li span {
    color: #ff7a7a;
}
.main .review {
    display: flex;  
}
.main .flex {
    align-items: center;
    justify-content: center;
    gap: 3rem;
}
.main .flex .txt_area {
    text-align: left;
}
.main .flex img {
    width: 440px;
}
.main .txt_area h3{
    line-height: 1.4;
    padding-bottom: 1rem;
}
.main .txt_area span{
    line-height: 1.4;
}
.main .notice {
    padding-top: 40px;
}
.main .notice .container{
    position: relative;
}
.main .notice .btn_more {
    position: absolute;
    top: 40px;
    right: 24px;
    background-color: initial;
    border: none;
    font-size: 20px;
}
.main .notice .btn_more small{
    color: #ed213a;
}
.main .notice h2 {
    font-size: 32px;
    color: #470700;
    padding-bottom: 0.5rem;
}
.main .notice p {
    font-size: 24px;
    color: #222222;
}
.main .news  {
    margin-top: 1rem;
}
.main .news li a {
    width: 100%;
    display: flex;
    align-items: center;
}
.main .news .cont {
    width: calc(100% - 70px);
    display: flex;
    padding-bottom: 0;
}
.main .news .cont .title {
    width: 80%;
    padding-left: 1rem;
}
.main .news .cont .date {
    width: 20%;
    text-align: end;
    font-size: 16px;
    text-overflow: initial;
}
.main .news .cont span {
    display: inline-block;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
    padding-left: 0.5rem;
    font-size: 18px;
}

.main .news li {
    margin-bottom: 1.5rem;
}
.main .news .badge {
    width: 70px;
    padding: 4px 16px ;
    background-color: #ffc0c8;
    color: white;
    font-size: 14px;
    border-radius: 1rem;
    margin:0 ;
}

/* reading */
.sub .hero {
    width: 100%;
    height: 400px;
    background-image: url("../images/hero_reading.jpg");
    background-color: rgba(black, 0.2);
    background-repeat: no-repeat;
    background-size: cover;
}
.sub .hero .container {
    display: flex;
    align-items: flex-end;
    height: 100%;
    padding: 40px 0;
}
.sub .hero h2 {
    color: white;
    font-size: 32px;
    padding-bottom: 1rem;
}
.sub .hero p {
    color: white;
    font-size: 24px;
}
.sub .sec01 {
    height: 336px;
}
.sub .sec01 .container{
    background-image: url("../images/child.svg");
    background-repeat: no-repeat;
    background-position: right bottom;
    background-size: contain;
}
.sub .sec01 p {
    padding-top: 50px;
    font-size: 24px;
}
.sub .sec01 p span {
    color: #ed213a;
    font-weight: bold;
}
.sub .sec01 li {
    padding-top: 56px;
    margin-right: 40px;
}
.sub .sec01 li span {
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 0.5rem;
    height: 116px;
    color: #ff7a7a;
    font-size: 24px;
}            
.sub .sec01 li span i {
    font-size:40px;
}
.sub .sec02 {
    height: 240px;
    background-color: #d9d9d9;
}
.sub .sec02 .container {
    height: 100%;
    background-image: url("../images/sub_book.png");
    background-repeat: no-repeat;
    background-position: right bottom;
    background-size: contain;
}
.sub .sec02 i {
    padding-top: 60px;
    font-size: 24px;
}
.sub .sec02 p {
    font-size: 24px;
    color: #787878;
    padding-bottom: 1rem;
}
.sub .sec02 strong {
    color: #787878;
    border-bottom: 2px solid #787878;
}
.sub .sec02 span {
    color: #787878;
}
.banner {
    background-color: #c3c3c3;
    padding: 24px;
    text-align: center;
}
.banner h2 {
    font-size: 24px;
    color: #595959;
    padding-bottom: 1rem;
}
.banner h2 span {
    background-color: white;
    padding: 0 0.5rem;
    margin-right: 0.5rem;
}
.banner p {
    color: #595959;
}
.banner i {
    color: #595959;
    margin-right: 0.5rem;
}
.sub .sec03 .container{
    padding: 40px 0;
}
.sub .sec03 h2 {
    font-size: 32px;
    padding-bottom: 0.5rem;
    color: #ed213a;
}
.sub .sec03 h3 {
    font-size: 24px;
    font-weight: normal;
}
.sub .sec03 .flex {
    display: flex;
    justify-content: center;
    gap: 48px;
}
.sub .sec03 ul {
    padding-top: 40px;
}
.sub .sec03 ul li {
    padding: 1rem;
    border-bottom: 2px solid #c7c7c7;
}
.sub .sec03 ul li:last-child {
    border-bottom: none;
}
.sub .sec03 img {
    width: 400px;
}
.sub .sec03 .txt_area {
    width: calc(100% - 400px);
}
.sub .sec03 .txt_area strong {
    font-size: 18px;
    padding-bottom: 0.5rem;
}
.sub .sec03 .txt_area p {
    position: relative;
    padding-left: 20px;
    font-size: 16px;
}
.sub .sec03 .txt_area p::before {
    content: '';
    position: absolute;
    left: 3px;
    top: 9px; 
    width: 4px;
    height: 4px;
    border-radius: 100%;
    background-color: #000000;

}
.sub .sec03 .txt_area span {
    color: #a8a8a8;
    font-size: 16px;
}
.sub .sec04  {
    text-align: center;
    padding: 40px 0;
    background-color: #f5f5f5;
}
.sub .sec04 .title {
    color: #ed213a;
    font-size: 32px;
    padding-bottom: 1rem;
}
.sub .sec04 p {
    font-size: 24px;
    padding-bottom: 1rem;
}
.sub .sec04 span {
    display: block;
    text-align: left;
    padding-top: 0.5rem;
}
.compare {
    text-align: left;
}
.compare h2 {
    font-size: 24px;
    padding-bottom: 1rem;
    text-align: left;
}
.compare p {
    padding-bottom: 64px;
    text-align: left;
}
.compare .flex {
    justify-content: space-between;
    align-items: flex-end;
}
.compare .flex img {
    width: 320px;
}
.compare .btns {
    padding-bottom: 64px;
}
.compare table {
    width: 100%;
    padding-bottom: 64px;
}
.compare table th {
    background-color: #ebebeb;
    padding: 1rem 0;
}
.compare table td {
    text-align: center;
    padding: 1rem;
    border-bottom: 1px solid #ebebeb;
}
.compare table td:first-child {
    border-right: 1px solid #ebebeb;
}
.sub .sec06 {
    padding: 40px 0;
    text-align: center;
}
.sub .sec06 h2 {
    font-size: 32px;
    padding-bottom: 0.5rem;
}
.sub .sec06 h3 {
    font-size: 24px;
    padding-bottom: 2rem;
    font-weight: normal;
}
.sub .sec06 .flex {
    gap: 68px;
    padding-bottom: 2rem;
}
.sub .sec06 .flex li {
    position: relative;
    width: 20%;
    display: flex;
    align-items: center;
    flex-direction: column;
    text-align: center;
    gap: 1rem;
}
.sub .sec06 .flex li::after {
    content: url("../images/arrow.svg");
    position: absolute;
    top: 50%; 
    right: -44px;
}
.sub .sec06 .flex li:last-child::after {
    content: none;
}
.sub .sec06 .flex small {
    width: 100px;
    background-color: #ffeeee;
    padding: 8px 16px;
    border-radius: 16px;
    color: #ffadad;
    font-size: 16px;
}
.sub .sec06 .flex i {
    font-size: 40px;
}
.sub .sec06 .flex p {
    font-size: 16px;
    color: #ff7a7a;
}
.sub .sec06 .order p {
    font-size: 16px;
    background-color: #f2f2f2;
    padding: 0.5rem 2rem;
    margin-bottom: 1rem;
    text-align: left;
}

/* kids, epic */
.read .hero {
    width: 100%;
    height: 490px;
    background-image: url("../images/hero_kid.jpg");
    background-repeat: no-repeat;
    background-size: cover;
}

.read .hero h2 {
    color: white;
    font-size: 32px;
    padding-bottom: 5rem;
}

.read.epic .hero {
    width: 100%;
    height: 490px;
    background-image: url("../images/hero_epic.jpg");
    background-repeat: no-repeat;
    background-size: cover;
}
.read .hero_txt {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    gap: 1rem;
}
.read .hero_txt h2 {
    font-size: 32px;
    color: white;
}
.read .hero_txt p {
    font-size: 24px;
    color: white;
}
.read .hero_txt div {
    padding: 1rem;
    background: rgba(0, 0, 0, 0.5);
    border-radius: 8px 8px 0px 0px;
}
.read .hero_txt div small {
    display: block;
    font-size: 16px;
    color: white;
    padding-bottom: 8px;
}
.read .sec .container {
    margin: 0 auto;
    text-align: center;
    padding: 40px 40px;
}
.read .sec .title {
    color: #ed213a;
    font-size: 32px;
    padding-bottom: 1rem;
}
.read .sec p {
    font-size: 24px;
    padding-bottom: 2rem;
}
.read .sec01 li{
    position: relative;
    width: calc(100% / 3);
    display: flex;
    flex-direction: column;
    text-align: center;
    padding: 32px 0;
    gap: 0.5rem;
}
.read .sec01 li::after{
    position: absolute;
    content: '';
    width: 2px;
    height: 220px;
    background-color: #c7c7c7;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
}
.read .sec01 li:last-child::after{
    content: none;
}
.read .sec01 li span {
    height: 66px;
    font-weight: bold;
    font-size: 18px;
}
.read .sec01 li small {
    font-size: 16px;
}
.read .sec01 li i {
    font-size: 40px;
}
.read .sec02 {
    background-color: #f5f5f5;
}
.read .sec02 li{
    position: relative;
    width: calc(100% / 4);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem; 
    padding: 32px;
}
.read .sec02 li::after{
    position: absolute;
    content: '';
    width: 2px;
    height: 170px;
    background-color: #c7c7c7;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
}
.read .sec02 li:last-child::after{
    content: none;
}
.read .sec02 li span {
    width: 47px;
    background-color: white;
    padding: 8px 16px;
    border-radius: 16px;
}
.read .sec02 li small {
    height: 108px;
    font-size: 16px;
}
.read .sec03 li {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem; 
    padding: 32px;
}
.read .sec03 li::after{
    position: absolute;
    content: url(../images/arrow.svg);
    top: 50%;
    right: 0;
    transform: translateY(-50%);
}
.read .sec03 li:last-child::after{
    content: none;
}
.read .sec03 li small {
    width: 100px;
    background-color: #ffeeee;
    padding: 8px 16px;
    border-radius: 16px;
    color: #ffadad;
    font-size: 1rem;
}
.read .sec03 li span {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    color: #ff7a7a;
    font-size: 24px;
}
.read .sec03 li span i {
    font-size: 40px;
}
.read .sec03 li p {
    max-height: 81px;
    font-size: 16px;
    margin: 0;
    padding-bottom: 0;
}
.read .sec04 {
    background-color: #f5f5f5;
}

/* 고객센터 */
.sub_menu {
    width: 100%;
    padding: 40px;
    background-color: #f84241;
}
.sub_menu .container {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 40px;
}
.sub_menu h2 {
    font-size: 32px;
    color: white;
}
.sub_menu h3 {
    font-size: 32px;
}
.sub_menu a {
    font-size: 24px;
    color: white;
    margin-right: 2rem;
}
.sub_menu .active {
    padding: 0 1rem;
    border-radius: 4px;
    background: rgba(255, 255, 255, 0.2);
}
.notice .sibling-post-links {
    padding: 1rem 0;
}
.notice .top{
    display: flex;
    justify-content: space-between;
    font-size: 32px; 
    padding: 40px 0;
    gap: 32px;
}
.notice table {
    width: 100%;
    margin-bottom: 1rem;
}
.notice table thead {
    border-bottom: 2px solid #f1f4f8;
}
.notice table th{
    font-size: 18px;
    padding: 1rem 0;
}
.notice table td {
    text-align: center;
    padding: 1rem 0;
}
.notice table th.badge {
    background-color: transparent;
}
.notice .badge{
    max-width: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 1rem;
    padding: 0 8px;
    border-radius: 4px;
    background-color: #f1f1f1;
    white-space: nowrap;
}
.notice .badge.type1 {background-color: #EEE0FA;}
.notice .badge.type2 {background-color: #FFF2C3;}
.notice .badge.type3 {background-color: #D4E6FB;}
.notice .badge.type4 {background-color: #DEF9E0;}
.notice .badge.type5 {background-color: #FFD8D8;}

.notice table td.post_title {
    max-width: 500px;
    text-align: left;
}
.notice table td.post_title a {
    display: inline-block;
    width: 100%;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
}
.notice .pb-easytable-pagenav {
    display: flex;
    justify-content: center;
    margin-bottom: 2rem;
}
.notice .pb-easytable-pagenav span{
    width: 40px;
    height: 40px;
    padding: 0.5rem 1rem;
}
.notice .pb-easytable-pagenav .pagenav-left:first-child:after {
    content: '\f053';
    font: var(--fa-font-solid);
}
.notice .pb-easytable-pagenav .pagenav-left:last-child:after {
    content: '\f054';
    font: var(--fa-font-solid);
}
.notice .pb-easytable-pagenav a{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0.5rem 1rem;
}
.notice .pb-easytable-pagenav a i{
    color: #f84241;
}
.notice .pb-easytable-pagenav .active {
    background-color: #f84241;
    border-radius: 4px;
    color: white;
}
.notice .notice_title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #c8c8c8;
    padding: 1rem 0;
}
.notice .content {
    width: 100%;
    padding: 1rem 0;
}
.notice .content-box {
    width: 100%;
    padding: 1rem 0;
}
.notice .post-title-group {
    padding-bottom: 1rem;
}
.notice .notice_title .badge {
    margin-right: 0.5rem;
}
.notice .bg_gray {
    display: flex;
    justify-content: center;
    padding: 40px; 
    background-color: #f1f4f8;
}
.notice .btn_back {
    background-color: white;
    padding: 0.5rem 2rem;
    border-radius: 4px;
    border:none;
    font-size: 20px;
}
.notice .button-area {
    display: flex;
    width: 100%;
    justify-content: center;
    margin: 1rem 0 ;
}

.notice .button-area a {
    width: 120px;
    background-color: #ed213a;
    color: white;
    border-radius: 2rem;
    padding: 1rem;
    text-align: center;

}
.notice .tabs {
    display: flex;
    gap: 2rem;
}
.notice .tabs li {
    
}
.notice .tabs li.current a {
    color: #ff7a7a;
    font-weight: bold;
    font-size: 20px;
}
.notice .tabs li a {
    font-size: 18px;
}
.notice .group {
    display: flex; 
    margin-bottom: 2rem;
}
.notice .group aside {
    width: 20%;
}
.notice .faq {
    width: 80%;
}
.notice .faq details {
    border-bottom: 1px solid #c8c8c8;
    padding: 1rem 0.5rem;
}
.notice .faq details.on {
    background-color: #f9f9f9;
}
.notice .faq details pre {
    padding-top: 1rem;
    line-height: 2;
}
.notice .faq summary {
    line-height: 2;
}
.notice .faq summary, .notice .faq pre {
    display: flex;
    align-items: flex-start;
}
.notice .faq summary::marker {
    content: none;
}
.notice .faq summary::before {
    content: url("../images/icon_q.svg");
    margin-right: 0.5rem;
}
.notice .faq pre::before {
    content: url("../images/icon_a.svg");
    margin-right: 0.5rem;
}
/* 수업후기 */
.review .sec {
    padding: 40px 0;
    text-align: center;
}
.review .sub_menu .container{
    display: block;
}
.review .sub_menu h2 {
    margin-bottom: 1rem;
}
.review .sub_menu p {
    color: white;
}
.review .bg_red {
    padding: 40px 0;
}
.reviews li {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    text-align: left;
}
.reviews iframe {
    width: 100%;
    height: 180px;
}
.reviews small {
    font-size: 16px;
    color: #222222; 
}
.reviews span {
    font-size: 16px;
    color: #929292; 
}
.thumbs {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 24px;
    margin-top: 40px;
}
.thumbs li {
    width: calc(100% / 3 - 24px);
    cursor: pointer;
}
.thumbs .img_area {
    width: 100%;
    height: 180px;
    margin-bottom: 0.5rem;
}
.thumbs .img_area img{
    width: 100%;
    height: 100%;
}
.thumbs .txt_area {
    text-align: left;
}
.thumbs .txt_area span{
    font-size: 18px;
    color: #878787;
}
.thumbs .txt_area small {
    background-color: #efefef;
    border-radius: 4px;
    padding: 4px 8px;
    margin-right: 0.5rem;
}
.thumbs .txt_area strong {
    width: 100%;
}
.thumbs .txt_area strong p{
    font-weight: bold;
    font-size: 18px;
}
.thumbs .txt_area p {
    font-size: 14px;
    margin-top: 0.5rem;
    width: 100%;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
} 
.thumbs .txt_area > p {
    display: none;
}
.layer {
    display: none;
    z-index: 99;
    position: fixed;
    width: 100vw;
    height: 100vh;
    top: 0;
    left: 0;
    background-color: rgba(0,0,0, 0.65);
}
.layer.show {
    display: block;
}
.layer .inner {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 80vw;
    height: 80vh;
    max-width: 500px;
    max-height: 869px;
    background-color: white;
    padding: 20px;
    overflow: auto;
}
.layer .inner .txt_area p {
    display: block;
    width: 100%;
    white-space: initial;
    text-overflow: initial;
    overflow: initial;
}
.layer .inner .txt {
    font-size: 16px;
}
.layer .inner .btn_close {
    position: absolute;
    right: 20px;
    top: 20px;
    width: 32px;
    height: 32px;
    border: 0;
    background-color: initial;
}
.layer .inner .btn_close i {
    font-size: 24px;
    color: #C0C0C0;
}
.comment {

}
.comment li {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 2rem;
    padding: 1rem 0;
    border-bottom: 1px solid #bfbfbf;
    text-align: left;
}
.comment li:last-child {
    border: 0;
}
.comment li .proflie {
    width: 80px;
    height: 80px;
    border-radius: 100%;
    background-color: #d9d9d9;
}
.comment li strong {
    padding-bottom: 1rem;
}
.ticket .group:first-child {
    padding-top: 2rem;
}
.ticket .group {
    width: 100%;
    display: flex;
}
.ticket .group aside {
    width: 30%;
}
.ticket .group aside strong {
    border-left: 4px solid #F84241;
    font-size: 18px;
    padding: 0.5rem 1rem;
}
.ticket ul {
    width: 70%;
}
.ticket ul li {
    display: flex;
    padding-bottom: 2rem;
}
.ticket ul li .group {
    width: calc(100% - 150px);
}
.ticket ul li .flex {
    align-items: center;
    gap: 0.5rem;
    color: #d3d3d3
}
.ticket ul li .radio-group-list, 
.ticket ul li .how {
    display: flex;
}
.ticket ul li .radio-group {
    display: flex;
}
.ticket ul li .flex.list {
    flex-wrap: wrap;
}
.ticket ul li input, .ticket ul li select {
    width: 100%;
    padding: 0.5rem;
    border: 1px solid #d3d3d3;
    border-radius: 4px;
}
.ticket ul li select {
    margin-bottom: 0.5rem;
}
.ticket ul li input[type="radio"],
.ticket ul li input[type="checkbox"]
{
    width: auto;
}
.ticket ul li .list label {
    width: calc(100% - 24px);
}
.ticket ul li label span {
    color: white;
    background-color: rgba(34, 34, 34, 0.5);
    border-radius: 4px;
    padding: 0 8px;
    margin-right: 0.5rem;
}
.ticket ul strong{
    width: 150px;
}
.ticket .check {
    width: fit-content;
    padding: 8px 24px;
    font-size: 1.5rem;
    border-radius: 4px;
    border: 1px solid #d3d3d3;
    margin: 0 auto;
}
.ticket span {
    font-size: 16px;
    color: rgba(34, 34, 34, 0.65);
}
.ticket span.txt {
    display: block;
    padding-top: 0.5rem;
}
.ticket .check label {
    font-size: 18px;
}
.ticket button {
    background-color: #f84241;
    color: white;
    padding: 8px 24px;
    font-size: 1.5rem;
    border-radius: 28px;
    border: 0;
    margin: 5rem auto;
}
.button-area {
    display: flex;
}
.notice_title_wrap {
    display: flex;
}
.news .date {
    margin-left: auto;
}
/* 스와이퍼 */

.main .ticket-swiper{
    width: 895px;
    padding: 0 40px 80px;
}
.swiper-wrapper {
    height: auto !important;
}
.swiper .swiper-button-next, 
.swiper .swiper-button-prev {
    top: 40%;
    color: #ed213a !important
}
.swiper .swiper-button-next {
    right: 0;
}
.swiper .swiper-button-prev {
    left: 0;
}
.swiper .swiper-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    bottom: 40px !important;
}
.swiper .swiper-pagination-bullet {
    background-color: #f84241;
}
.swiper .swiper-pagination-bullet-active {
    background-color: #f84241;
    padding: 6px;
}
.main section .mySwiper {
    width: 1160px;
    padding: 40px;
} 
.mySwiper .swiper-button-next, 
.mySwiper .swiper-button-prev {
    top: 55%;
    color: #ed213a !important;
}
.review .mySwiper {
    width: 1160px;
    padding: 40px;
}
/* one page */
.full_page {
    width: 100%;
    height: 100vh;
    padding-top: 80px;
}
.full_page .swiper .swiper-pagination {
    flex-direction: column;
}

.full_page .swiper-slide {
    position: relative;
    width: 100%;
    height: 100%;
    background-color: rgba(#000000, .65);
}
.full_page .swiper-slide .container{
    width: 888px;
    position: absolute;
    height: auto;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.full_page .swiper-slide h2, 
.full_page .swiper-slide h3, 
.full_page .swiper-slide p,
.full_page .swiper-slide span {
    color: white;
} 
.full_page .swiper-slide h2 {
    font-size: 32px;
}
.full_page .swiper-slide h3 {
    font-size: 24px;
}
.full_page .swiper-slide P {
    font-size: 24px;
    border-radius: 8px;
}
.full_page .swiper-slide {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.full_page .slide1 {
    background-image: url("../images/bg1.jpg");
}
.full_page .slide1 img{
    width: 700px;
    border-radius: 20px;
    margin-top: 80px;
}
.full_page .slide1 .box {
    display: inline-block;
    margin-top: 1.5rem;
    background-color: #F84241;
    padding: 0.5rem 1rem;
}
.full_page .slide2 {
    background-image: url("../images/bg1.jpg");
}
.full_page .slide2 .user,
.full_page .slide2 .user2{
    display: flex;
    justify-content: center;
    gap: 2rem;
    margin: 3rem 0;
}
.full_page .slide2 .user p{
    padding: 1rem;
    background-color:rgba(255, 255, 255, 0.2);
}
.full_page .slide2 .user2 p{
    padding: 1rem;
    background-color:#F84241;
}
.full_page .slide2 .user2 span{
    background-color:white;
    color: #F84241;
}
.full_page .slide2 img{
    width: 80px;
    height: 80px;
}
.full_page .slide3 {
    background-image: url("../images/bg2.jpg");
}
.full_page .slide3 ul {
    display: flex;
    gap: 1rem;
    margin-top: 64px;
}
.full_page .slide3 ul li{
    width: calc(100% / 3);
    background: rgba(255, 255, 255, 0.3);
    border-radius: 1rem;
    padding: 2rem;
}
.full_page .slide3 ul li strong{
    height: 81px;
    color: white;
    font-size: 18px;
}
.full_page .slide3 ul li p{
    font-size: 16px;
}
.full_page .slide3 a{
    display: inline-block;
    padding: 1rem 2rem;
    background-color: #F84241;
    font-size: 24px;
    border-radius: 28px;
    border: none;
    color: white;
    margin-top: 64px;
}
.full_page .slide4 {
    background-image: url("../images/bg2.jpg");
}
.full_page .slide4 .flex {
    justify-content: center;
    gap: 72px;
    margin-top: 40px;
}
.full_page .slide4 img {
    width: 352px;
}
.full_page .slide4 .txt {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    text-align: left;
}
.full_page .slide4 .txt .tag div {
    margin-bottom: 0.5rem;
}
.full_page .slide4 .txt .tag span {
    display: inline-block;
    padding: 8px 16px;
    background: rgba(255, 255, 255, 0.3);
    border-radius: 17px
}
.full_page .slide5 {
    background-image: url("../images/bg3.jpg");
}
.full_page .slide5 ul {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-top: 2rem;
}
.full_page .slide5 ul li {
    display: flex;
    gap: 16px;
}
.full_page .slide5 li span{
    width: 70px;
    height: fit-content;
    background-color: #F84241;
    color: white;
    padding: 8px 4px;
    border-radius: 4px;
}
.full_page .slide5 li div{
    width: calc(100% - 70px);
    text-align: left;
}
.full_page .slide5 li p{
    width: 100%;
    background-color: white;
    color: black;
    font-size: 16px;
    padding: 0.5rem;
}
.full_page .slide5 li small {
    color: white;
}
.full_page .slide5 .txt {
    padding-top: 48px;
    font-size: 16px;
}
.full_page .slide6 {
    background-image: url("../images/bg4.jpg");
}
.full_page .slide6 .flex{
    padding-top: 48px;
    gap: 52px;
}
.full_page .slide6 .flex li{
    position: relative;
    width: calc(100% / 4);
    display: flex;
    flex-direction: column;
    background-color: white;
    padding: 16px;
    gap: 0.5rem;
    border-radius: 4px;
}
.full_page .slide6 .flex li::after {
    content: url("../images/arrow_red.svg");
    position: absolute;
    top: 50%; 
    right: -36px;
    transform: translateY(-50%);
}
.full_page .slide6 .flex li:last-child::after {
    content: none;
}
.full_page .slide6 .flex li.active {
    border: 6px solid #f84241;
}
.full_page .slide6 .flex .stars{
    width: 100%;
    height: 20px;
}
.full_page .slide6 .flex .stars img{
    width: 100%;
    height: 100%;
}
.full_page .slide6 .flex strong{
    font-size: 16px;
    color: #F84241;
}
.full_page .slide6 .flex span{
    display: inline-block;
    height: 72px;
    font-size: 16px;
    color: black;
}
.full_page .slide6 .box {
    background-color: #F84241;
    color: white;
    font-size: 18px;
    padding: 16px;
    margin-top: 16px;
    border-radius: 4px;
}
.full_page .slide6 .txt {
    padding-top: 48px;
    font-size: 16px;
}
.full_page .slide7 {
    position: relative;
    background-image: url("../images/bg4.jpg");
}
.full_page .slide7 .table_img {
    width: 593px;
}
.full_page .slide7 .box {
    width: 100%;
    height: 151px;
    position: absolute;
    bottom: 0;
    background-color: #F84241;
}
.full_page .slide7 .box .container {
    display: flex;
    padding: 24px;
    gap: 3rem;
}
.full_page .slide7 .box img{
    width: 80px;
    height: 80px;
}
.full_page .slide7 .box p {
    background-color: white;
    padding: 1rem;
    color: black;
    border-radius: 4px;
    font-size: 16px;
}
.full_page .slide8 {
    background-image: url("../images/bg5.jpg");
}
.full_page .slide8 .container {
    width: 970px;
}
.full_page .slide8 .flex {
    margin-top: 80px;
    gap: 64px;
}
.full_page .slide8 .flex .half{
    width: 50%;
}
.full_page .slide8 .proflie {
    display: flex;
    text-align: left;
    margin-bottom: 1rem;
}
.full_page .slide8 .proflie img {
    width: 64px;
    height: 64px;
    margin-right: 0.5rem;
}
.full_page .slide8 .proflie strong {
    color: white;
    font-size: 16px;
}
.full_page .slide8 .proflie p {
    font-size: 14px;
}
.full_page .slide8 .txt{
    padding: 16px;
    border-radius: 8px;
    background-color: white;
    font-size: 16px;
    color: black;
    text-align: left;
}
.full_page .slide9 {
    background-image: url("../images/bg5.jpg");
    background-repeat: no-repeat;
    background-size: cover;
}
.full_page .slide9 .flex {
    margin-top: 2rem;
    gap: 3rem;
}
.full_page .slide9 .flex li {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    width: calc(100% / 4);
}
.full_page .slide9 .flex li::after {
    content: url("../images/arrow_red.svg");
    position: absolute;
    top: 50%; 
    right: -36px;
    transform: translateY(-50%);
}
.full_page .slide9 .flex li:last-child::after {
    content: none;
}
.full_page .slide9 .flex span{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 46px;
    height: 46px;
    background-color: #f84241;
    border-radius: 100%;
}
.full_page .slide9 .txt {
    font-size: 16px;
    color: white;
}
.full_page .slide9 .flex span i {
    color: white;
}
.full_page .slide9 .flex small {
    color: white;
}
.full_page .slide9 .btn_trial {
    display: inline-block;
    padding: 1rem 2rem;
    background-color: #F84241;
    font-size: 24px;
    border-radius: 28px;
    border: none;
    color: white;
    margin: 30px 0;
}
.full_page .slide9 .box {
    width: 100%;
    position: absolute;
    bottom: 0;
    background-color: #F84241;
    flex-direction: column;
    padding: 24px;
}
.full_page .slide9 p {
    font-size: 18px;
}
.full_page .swiper {
    width: 100%;
    height: 100%;
  }

.full_page .swiper-slide {
    text-align: center;
    font-size: 18px;
    background-repeat: no-repeat;
    background-size: cover;

    /* Center slide text vertically */
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
}


/* 반응형 */
@media ( max-width: 768px ) {
    .main section .container {
        padding: 2rem 1rem;
    }
    .main .hero {
        height: auto;
        padding: 10px;
    }
    .main .hero h2 {
        font-size: 24px;
    }
    .main .hero p {
        font-size: 18px;
    }
    .main .hero .container{
        flex-direction: column;
        padding: 10px;
    }
    .main .tips {
        gap: 0;
    }
    .main .tips li{
        width: calc(100% / 3);
    }
    .main .flex {
        flex-direction: column;
    }
    .main h2.title {
        font-size: 24px;
    }
    .main h3 {
        font-size: 20px;
    }
    .main p {
        font-size: 16px;
    }
    .main section .mySwiper {
        width: 100%;
    }
    .main .ticket-swiper {
        width: 100%; 
    }
    .main, .sub, .notice, .review, .ticket {
        padding-top: 60px;
    }
    .main .news .badge {
        width: 50px;
        font-size: 12px;
        margin-right: 5px;
    }
    .main .news .cont {
        width: calc(100% - 55px);
    }
    .main .news .cont .title {
        width: 70%;
        font-size: 14px;
        padding: 0;
    }
    .main .news .cont .date {
        width: 30%;
        font-size: 14px;
    }
    .main .notice {
        padding: 0;
    }
    .main .notice .container {
        padding: 2rem 1rem;
    }
    .main .notice h2 {
        font-size: 20px
    }
    .main .notice p {
        font-size: 16px;
    }
    .main .notice .btn_more {
        font-size: 14px;
    }
    .sub .hero {
        height: auto;
        background-position: 50%;
    }
    .sub .hero .container{
        padding: 20px;
    }
    .sub .sec01 {
        height: auto;
    }
    .sub .sec01 .container {
        background: none;
    }
    .sub .sec02 {
        height: auto;
    }
    .sub .sec02 i {
        padding: 0;
    }
    .banner {
        padding: 20px;
    }
    .sub .sec03 .container {
        padding: 20px;
    }
    .sub .sec03 .flex {
        display: block;
    }
    .sub .sec03 .txt_area {
        width: 100%;
    }
    .sub .sec03 img {
        width: 100%;
    }
    .sub .compare .flex img {
        display: none;
    }
    .sub .sec06 .flex {
        gap: 0;
    }
    .read .hero {
        height: auto;
        padding: 0;
        background-position: center;
    }

    .read .hero .container{
        padding: 20px;
    }	
    .read .sec .title {
        font-size: 24px;
    }
    .read .sec p {
        font-size: 16px;
    }
    .read .sec01 .flex {
        flex-direction: column;
    }
    .read .sec01 li {
        width: 100%;
        padding: 1rem 0;
    }
    .read .sec01 li::after {
        content: none;
    }
    .read .sec01 li i {
        font-size: 80px;
    }
    .read .sec02 .flex {
        flex-wrap: wrap;
    }
    .read .sec02 li {
        width: 50%;
        padding: 1rem 0;
    }
    .read .sec02 li::after {
        content: none;
    }
    .read .sec03 .flex {
        flex-wrap: wrap;
    }
    .read .sec03 li {
        width: 50%;
        padding: 1rem 0;
    }
    .read .sec03 li::after {
        content: none;
    }
    .read .sec03 li span {
        font-size: 18px;
    }
    .read.epic .sec03 li p {
        height: 100px;
    }
    .sub_menu {
        padding: 0;
    }
    .sub_menu .container {
        flex-direction: column;
        align-items: flex-start;
        gap: 24px;
    }
    
    .sub .hero h2, .sub .sec01 h2, .sub .sec02 h2, .sub .sec03 h2, 
    .sub .sec04 .title, .sub .compare h2, .sub .sec06 h2 {
        font-size: 24px;
    }
    .sub .hero h3, .sub .sec01 h3, .sub .sec02 h3, .sub .sec03 h3, 
    .sub .sec04 h3, .sub .compare h3, .sub .sec06 h3 {
        font-size: 18px;
    }
    .sub .hero p, .sub .sec02 p, .sub .sec03 p, 
    .sub .sec04 p, .sub .compare p, .sub .sec06 p {
        font-size: 16px;
    }
    .sub .sec01 .flex {
        width: 100%;
        gap: 1rem;
    }
    .sub .sec01 li {
        width: calc(100% / 3);
        padding-top: 20px;
        margin-right: 0;   
    }
    .sub .sec01 li span {
        height: auto;
        font-size: 16px;
    }
    .sub .sec01 p {
        padding-top: 0;
    }
    .banner .container {
        padding: 0;
    }
    .banner p {
        padding-bottom: 1rem;
        text-align: left;
    }
    .sub .sec03 ul {
        padding: 0;
    }
    .sub .sec03 ul li {
        padding: 1rem 0;
    }
    .sub .sec04 {
        padding: 20px 0;
    }
    .sub .sec06 .flex {
        justify-content: center;
        flex-wrap: wrap;
        gap: 0;
    }
    .sub .sec06 .flex li {
        width: calc(100% / 3);
    }
    .sub .sec06 .flex li::after {
        content: none;
    }
    .sub_menu h2 {
        font-size: 24px;
    }
    .sub_menu a {
        font-size: 18px;
    }
    .notice .top {
        font-size: 24px;
        padding: 0;
    }
    .notice table .reg_date_ymdhi, .notice table .seq  {
        display: none;
    }
    .notice table th {
        font-size: 16px !important;
    }
    .notice table td {
        padding: 1rem 0.5rem;
    }
    .notice table .badge {
        font-size: 12px;
        padding: 2px;
    }
    .notice table td.post_title  {
        width: 100%;
        max-width: 200px;
    } 
    .notice table td a{
        font-size: 14px;
    }
    .notice table td.tit {
        max-width: 300px;
    }
    .notice table td .badge {
        width: 64px;
        display: inline-block;
    }
    .notice .tabs {
        display: block;
    }
    .notice .group {
        display: block;
    }
    .notice .group aside {
        width: 100%;
        padding: 1rem;
        font-size: 18px;
        font-weight: bold;
    }
    .notice .faq {
        width: 100%;
    }
    .review .mySwiper {
        width: 100%;
    }
    .thumbs li {
        width: calc(100% / 2 - 12px)
    }
    .ticket .group {
        flex-direction: column;
    }
    .ticket .group aside {
        width: 100%;
        padding-bottom: 1rem;
    }
    .ticket ul {
        width: 100%;
    }
    .ticket ul li .flex {
        flex-wrap: wrap;
    }
    .ticket .check label {
        font-size: 16px;
    }
    .full_page {
        margin-top: 0;
        padding-top: 0;
    }
    .full_page .swiper-slide .container {
        width: 100%;
        padding: 0 24px;
    }
    .full_page .swiper-slide p {
        font-size: 16px;
    }
    .full_page .swiper-slide h2 {
        font-size: 24px;
    }
    .full_page .swiper-slide h3 {
        font-size: 18px;
    }
    .full_page .slide1 img {
        width: 100%;
    }
    .full_page .slide2 .user, 
    .full_page .slide2 .user2 {
        gap: 10px;
    }
    .full_page .slide2 img {
        width: 60px;
        height: 60px;
    }
    .full_page .slide3 ul {
        flex-direction: column;
        margin-top: 20px;
    }
    .full_page .slide3 ul li {
        width: 100%;
        padding: 1rem;
    }
    .full_page .slide3 ul li strong {
        height: auto;
    }
    .full_page .slide3 a {
        font-size: 16px;
    }
    .full_page .slide4 p {
        padding-top: 0.5rem;
    }
    .full_page .slide4 .flex {
        align-items: center;
        flex-direction: column;
        gap: 0;
    }
    .full_page .slide4 img {
        width: 200px;
        height: 200px;
    } 
    .full_page .slide4 .txt .tag span {
        font-size: 14px;
        padding: 2px 4px;
    }
    .full_page .slide4 .txt img {
        display: none;
    }
    .full_page .slide4 .txt {
        padding-top: 1rem;
    }
    .full_page .slide5 li span {
        font-size: 16px;
    }
    .full_page .slide5 .txt {
        font-size: 16px;
    }
    .full_page .slide5 li small {
        font-size: 12px;
    }
    .full_page .slide6 .flex {
        flex-wrap: wrap;
        gap: 0;
    }
    .full_page .slide6 .box {
        font-size: 14px;
    }
    .full_page .slide6 .flex li {
        width: 50%;
    }
    .full_page .slide6 .flex li::after {
        content: none;
    }
    .full_page .slide7 .box .container {
        padding: 12px;
        gap: 10px
    }
    .full_page .slide7 .box p {
        font-size: 14px;
    }
    .full_page .slide7 .table_img {
        width: 100%;
    }
    .full_page .slide7 .box img {
        width: 60px;
        height: 60px;
    }
    .full_page .slide8 .flex {
        flex-direction: column;
        margin-top: 16px;
        gap: 0;
    }
    .full_page .slide8 .txt {
        font-size: 12px;
        padding: 8px;
    }
    .full_page .slide8 .proflie {
        margin-bottom: 8px;
    }
    .full_page .slide8 .flex .half {
        width: 100%;
        margin-bottom: 1rem;
    }
    .full_page .slide9 .flex {
        flex-wrap: wrap;
        gap: 1rem;
    }
    .full_page .slide9 .flex li {
        width: calc(100% / 2 - 15px);
    }
    .full_page .slide9 .flex li::after {
        content: none;
    }
    .full_page .slide9 .btn_trial {
        font-size : 18px;
    }
    .full_page .slide9 .txt {
        padding-bottom: 2rem;
    }
    .ticket button {
        margin: 2rem auto;
        font-size: 18px;
    }
    .ticket ul li .how label{
        margin-right: 0.5rem;
    }
    .post-title-group > .subject {
        margin-top: 0px;
        margin-bottom: 8px !important;
    }
}