@charset "utf-8";
/* CSS Document */

/* 共通のリセットStyle */
.page_wrap .page_inner{
    margin: 0;
    padding: 0;
    line-height: 1.5;
}
.page_wrap .themed-text.themed-text{
    color: var(--__campaign-color, #555555)
}
.page_wrap .container{
    margin: 0;
    padding: 0;
    border: none;
    box-shadow: none;
}
.page_wrap .container.bg_black{
    background: #000!important;
    color: #FFF;
}
.page_wrap .page_inner .sec_cs{
    background: #fff;
    padding: 2rem 0;
    color: #FFF;
}
.page_wrap .container .visual{}
.page_wrap .container .visual img{
    display: block;
    margin: 0 auto;
    object-fit: contain;
}
.page_wrap .container .campaign_end{
    font-size: 1.4rem;
    padding: 1.4rem;
    background: #fff8f9;
    border: solid 2px #ffd6d6;
    border-radius: 5px;
    margin-bottom: 3rem;
}
.page_wrap .container .trial_area .balloon{
    color: #f1890e;
    font-size: 1.6rem;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.0rem;
}
.page_wrap .container .trial_area .balloon:before {
    content: "";
    display: inline-block;
    width: 3rem;
    height: 3rem;
    vertical-align: middle;
    background: url(/images/index/ver_3/balloon_l.png) no-repeat;
    background-size: contain;
}
.page_wrap .container .trial_area .balloon:after {
    content: "";
    display: inline-block;
    width: 3rem;
    height: 3rem;
    vertical-align: middle;
    background: url(/images/index/ver_3/balloon_r.png) no-repeat;
    background-size: contain;
}
.page_wrap .container .trial_area .action{
    display: flex;
    align-items: center;
    justify-content: center;
}
.page_wrap .container .trial_area .action .button_trial{
    display: block;
    font-size: 1.6rem;
    text-align: center;
    font-weight: bold;
    color: #fff;
    background: #f1890e;
    width: 100%;
    height: 3em;
    line-height: 3em;
    border-radius: 3em;
    box-shadow: 0px 6px 0px 0px #c16e0b;
    box-sizing: border-box;
}

/* 春のカランキャンペーン */
.page_campaign .callan_half_spring .description{
    font-size: 1.6rem;
    font-weight: bold;
    padding: 2.4rem 1.6rem;
}
.page_campaign .callan_half_spring .stamp_rally{
    background: #ff8fb1;
    margin: 0;
    padding: 2.4rem 1.6rem;
}
.page_campaign .callan_half_spring .stamp_rally .head{
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.6rem;
}
.page_campaign .callan_half_spring .stamp_rally .head .brand{
    width: 7rem;
    margin-right: 1rem;
}
.page_campaign .callan_half_spring .stamp_rally .head .brand img{
    width: 100%;
    display: block;
}
.page_campaign .callan_half_spring .stamp_rally .head .ttl{
    color: #fff;
    font-size: 1.6rem;
    font-weight: bold;
}
.page_campaign .callan_half_spring .stamp_rally .progress{
    font-size: 1.6rem;
    background: #fff;
    border-radius: 5px;
    text-align: center;
    margin-bottom: 2rem;
}
.page_campaign .callan_half_spring .stamp_rally .progress span{
    color: #D92A28;
    font-size: 2.5rem;
    font-weight: bold;
    margin: 0 0.8rem;
}
.page_campaign .callan_half_spring .stamp_rally .cource{
    display: flex;
    flex-direction: column;
    align-items: center;
}
.page_campaign .callan_half_spring .stamp_rally .cource .step{
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 -0.5rem;
    position: relative;
}
.page_campaign .callan_half_spring .stamp_rally .cource .step::before{
    content: "";
    width: -webkit-calc(100% - 1rem);
    width: calc(100% - 1rem);
    height: 3.125vw;
    background: #f60087;
    position: absolute;
    top: 50%;
    margin-top: -5px;
}
.page_campaign .callan_half_spring .stamp_rally .cource .step:nth-child(even){
    flex-direction: row-reverse;
}
.page_campaign .callan_half_spring .stamp_rally .cource .step + .step{
    margin-top: 1rem;
}
.page_campaign .callan_half_spring .stamp_rally .cource .step:last-child{
    overflow: hidden;
}
.page_campaign .callan_half_spring .stamp_rally .cource .step .lesson_box:nth-child(3n)::before{
    content: "";
    width: 3.125vw;
    height: 100%;
    background: #f60087;
    position: absolute;
    bottom: -50%;
    left: 50%;
    margin-left: -5px;
    z-index: -1;
    
}
.page_campaign .callan_half_spring .stamp_rally .cource .step .lesson_box{
    width: 25vw;
    background: #fff;
    border: solid 1px #f60087;
    margin: 0 0.5rem 0;
    position: relative;
    z-index: 5;
}
.page_campaign .callan_half_spring .stamp_rally .cource .step .lesson_box .box_ttl{
    font-size: 3.75vw;
    text-align: center;
    height: 2em;
    line-height: 2em;
    color: #fff;
    background: #f60087;
    position: relative;
    z-index: 5;
}
.page_campaign .callan_half_spring .stamp_rally .cource .step .lesson_box .box_body{
    display: flex;
    align-items: center;
    justify-content: center;
    color: #CCCCCC;
    font-size: 3.75vw;
    font-weight: bold;
    height: 12.5vw;
    padding: 1rem 0;
    background: #fff;
    text-align: center;
    position: relative;
    z-index: 5;
}
.page_campaign .callan_half_spring .stamp_rally .cource .step .lesson_box .box_body img{
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
}
.page_campaign .callan_half_spring .sec_1{
    font-size: 1.6rem;
    padding: 2.4rem 1.6rem;
}
.page_campaign .callan_half_spring .sec_1 .text{
    font-weight: bold;
}
.page_campaign .callan_half_spring .sec_1 .action{
    margin-top: 2.4rem;
    margin-bottom: 3.2rem;
}
.page_campaign .callan_half_spring .sec_1 .action .button{
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.4rem;
    width: 26rem;
    height: 5.0rem;
    box-sizing: border-box;
    border-radius: 8px;
    margin: 0 auto;
    color: #fff;
    background: #da2f74;
    box-shadow: 0 -4px 0 0 #a12356 inset;
    text-align: center;
}
.page_campaign .callan_half_spring .sec_1 .action .button .fa{
    font-size: 2.4rem;
    margin-right: 1rem;
}
/*--// user_ranking_campaign-*/

/*--// user_ranking_campaign-*/
.page_wrap--user_ranking_campaign{
	margin: 0;
	padding: 2rem;
	line-height: 1.5;
	background: #fff;
}
.page_wrap--user_ranking_campaign::before{
	content: "";
    display: block;
    background: url(/images/campaign/sixth_anniv/3/stadium_sp.png);
    background-position: center;
    background-size: cover;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    height: 100vh;
}
.page_wrap--user_ranking_campaign .page_inner{
	position: relative;
    z-index: 2;
    background: none;
}
.page_wrap--user_ranking_campaign .page_header{
	margin: 0;
}
.page_wrap--user_ranking_campaign .page_header .page_ttl{
    font-size: 1.6rem;
    font-weight: bold;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    /*background: transparent linear-gradient(94deg, #6EE2F5 0%, #6454F0 100%) 0% 0% no-repeat padding-box;*/
    width: 100%;
    height: 6rem;
    margin-bottom: 2rem;
    padding: 0.6rem;
    box-sizing: border-box;
	background: linear-gradient( 
45deg
 , #0d528c 25%, transparent 25%, transparent 75%, #0d528c 75%), linear-gradient( 
45deg
 , #0d528c 25%, transparent 25%, transparent 75%, #0d528c 75%);
    background-size: 40px 40px;
    background-position: 0 0, 20px 20px;
    background-color: #004986;
}
.page_wrap--user_ranking_campaign .page_header .page_ttl .icon{
	margin-right: 1rem;
	width: 2.4rem;
}
.page_wrap--user_ranking_campaign .page_header .page_ttl span{
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	border: solid 1px #FFFFFF;
}
.page_wrap--user_ranking_campaign .page_header .description{
    font-size: 1.4rem;
    margin-bottom: 2rem;
}
.page_wrap--user_ranking_campaign .page_header .textbook_list{
	margin-top: 2rem;
	padding: 1.5rem 1.5rem;
	background: #FBFBFB;
}
.page_wrap--user_ranking_campaign .page_header .textbook_list .list-item{
	font-size: 1.4rem;
	display: flex;
	align-items: center;
}
.page_wrap--user_ranking_campaign .page_header .textbook_list .list-item + .list-item{
	margin-top: 1.6rem;
}
.page_wrap--user_ranking_campaign .page_header .textbook_list .list-item .icon{
	width: 3rem;
	height: 3rem;
	flex-shrink: 0;
	margin-right: 1rem;
}
.page_wrap--user_ranking_campaign .page_header .textbook_list .list-item .icon img{
	display: block;
	object-fit: cover;
	width: 100%;
	height: 100%;
}
.page_wrap--user_ranking_campaign .ranking{
}
.page_wrap--user_ranking_campaign .ranking.top_ranking{
	display: none;
	margin-top: 4rem;
}
.page_wrap--user_ranking_campaign .ranking .ranking_head{
    display: flex;
	align-items: flex-start;
    flex-direction: column;
}
.page_wrap--user_ranking_campaign .ranking .ranking_head .ttl{
	color: #699CF3;
	font-size: 1.6rem;
	font-weight: bold;
	padding-left: 1rem;
	margin-bottom: 1.6rem;
	border-left: solid 5px #699CF3;
}
.page_wrap--user_ranking_campaign .ranking .ranking_head .update{
	font-size: 1.4rem;
	color: #fff;
	background: #BBBBBB;
    margin-bottom: 2rem;
	padding: 0 0.5rem;
	height: 2em;
	display: flex;
	align-items: center;
	justify-content: center;
}
.page_wrap--user_ranking_campaign .ranking .ranking_body .ranking_table {
	width: 100%;
	margin-bottom: 2rem;
}
.page_wrap--user_ranking_campaign .ranking .ranking_body .ranking_table .table_head{
	font-size: 1.4rem;
	display: flex;
	align-items: center;
	font-weight: bold;
	border-bottom: solid 2px #CCCCCC;
}
.page_wrap--user_ranking_campaign .ranking .ranking_body .ranking_table .table_head .table_ttl {
	font-size: 1.2rem;
	font-weight: bold;
	padding-bottom: 1rem;
	box-sizing: border-box;
}
.page_wrap--user_ranking_campaign .ranking .ranking_body .ranking_table .table_head .th_rank{
    flex-shrink: 0;
    text-align: center;
	padding: 0 1.6rem;
}
.page_wrap--user_ranking_campaign .ranking .ranking_body .ranking_table .table_head .th_name{
	width: 100%;
	padding: 0 1.6rem;
}
.page_wrap--user_ranking_campaign .ranking .ranking_body .ranking_table .table_head .th_time{
	flex-shrink: 0;
	padding-left: 4rem;
}
.page_wrap--user_ranking_campaign .ranking .ranking_body .ranking_table .table_body:nth-child(odd){
	background: #FBFBFB;
}
.page_wrap--user_ranking_campaign .ranking .ranking_body .ranking_table .table_body{
	display: flex;
	align-items: center;
	padding: 2rem 0;
}
.page_wrap--user_ranking_campaign .ranking .ranking_body .ranking_table .table_body.selected{
	color: #fff;
	background: #699CF3;
}
.page_wrap--user_ranking_campaign .ranking .ranking_body .ranking_table .table_body .td_rank{
	font-size: 1.2rem;
	font-weight: bold;
	flex-shrink: 0;
	box-sizing: border-box;
	text-align: center;
	padding: 0 1.6rem;
}
.page_wrap--user_ranking_campaign .ranking .ranking_body .ranking_table .table_body .td_rank span{
	width: 2rem;
    height: 2rem;
	display: block;
}
.page_wrap--user_ranking_campaign .ranking .ranking_body .ranking_table .table_body .td_rank .top_1{
	width: 2rem;
	height: 2rem;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	background: #FCC82A;
	border: solid 3px #FFAC2F;
	box-sizing: border-box;
	margin: 0 auto;
	position: relative;
}
.page_wrap--user_ranking_campaign .ranking .ranking_body .ranking_table .table_body .td_rank .top_1::after{
	content: url('/images/campaign/user_ranking_campaign/crown_gold.svg');
	position: absolute;
    top: -1.8rem;
}
.page_wrap--user_ranking_campaign .ranking .ranking_body .ranking_table .table_body .td_rank .top_2{
	width: 2rem;
	height: 2rem;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	background: #B4C1CD;
	border: solid 3px #A6B1BB;
	box-sizing: border-box;
	margin: 0 auto;
	position: relative;
}
.page_wrap--user_ranking_campaign .ranking .ranking_body .ranking_table .table_body .td_rank .top_2::after{
	content: url('/images/campaign/user_ranking_campaign/crown_silver.svg');
    position: absolute;
    top: -1.8rem;
}
.page_wrap--user_ranking_campaign .ranking .ranking_body .ranking_table .table_body .td_rank .top_3{
	width: 2rem;
	height: 2rem;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	background: #CD8152;
	border: solid 3px #B1602E;
	box-sizing: border-box;
	margin: 0 auto;
	position: relative;
}
.page_wrap--user_ranking_campaign .ranking .ranking_body .ranking_table .table_body .td_rank .top_3::after{
	content: url('/images/campaign/user_ranking_campaign/crown_bronze.svg');
    position: absolute;
    top: -1.8rem;
}
.page_wrap--user_ranking_campaign .ranking .ranking_body .ranking_table .table_body .td_name{
	width: 100%;
	padding: 0 1.6rem;
}
.page_wrap--user_ranking_campaign .ranking .ranking_body .ranking_table .table_body .td_time{
	flex-shrink: 0;
	padding: 0 1.6rem;
	display: flex;
	align-items: center;
	box-sizing: border-box;
}
.page_wrap--user_ranking_campaign .ranking .ranking_body .ranking_table .table_body .td_time .arrow{
	margin-right: 1rem;
}
.page_wrap--user_ranking_campaign .ranking .ranking_body .ranking_table .table_body .td_time .arrow.up::before{
	content: "▲";
	color: #03c9a9;
}
.page_wrap--user_ranking_campaign .ranking .ranking_body .ranking_table .table_body .td_time .arrow.down::before{
	content: "▼";
	color: #f0295d;
}
.page_wrap--user_ranking_campaign .ranking .ranking_body .ranking_table .table_body.selected .td_time .arrow.up::before{
	color: #fff;
}
.page_wrap--user_ranking_campaign .ranking .ranking_body .ranking_table .table_body.selected .td_time .arrow.down::before{
	color: #fff;
}
.page_wrap--user_ranking_campaign .ranking .ranking_body .ranking_list{
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	margin: 0 -1.2rem 0;
}
.page_wrap--user_ranking_campaign .ranking .ranking_body .ranking_list .list-item{
	width: 100%;
	height: 6rem;
	border-radius: 6rem;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 0rem 2rem;
}
.page_wrap--user_ranking_campaign .ranking .ranking_body .ranking_list .list-item a{
	font-size: 1.4rem;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	color: #fff;
	background: transparent linear-gradient(99deg, #6EE2F5 0%, #6454F0 100%) 0% 0% no-repeat padding-box;
	transition: all 0.2s linear;
}
.page_wrap--user_ranking_campaign .ranking .ranking_body .ranking_list .list-item a:hover{
}
.page_wrap--user_ranking_campaign .ranking .ranking_body .ranking_list .list-item a .icon{
	margin-left: 1rem;
	width: 2rem;
}

.page_wrap--user_ranking_campaign .action{
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 5rem;
}
.page_wrap--user_ranking_campaign .action .button{
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.4rem;
	font-weight: bold;
	padding: 0 2rem;
	height: 6rem;
	border-radius: 6rem;
	color: #fff;
	background: transparent linear-gradient(99deg, #6EE2F5 0%, #6454F0 100%) 0% 0% no-repeat padding-box;
	border: none;
	transition: all 0.2s linear;
}
.page_wrap--user_ranking_campaign .action .button:hover{

}
.page_wrap--user_ranking_campaign .action .button .icon{
	margin-left: 1rem;
	transform: rotate(90deg);
	transition: all 0.2s linear;
	width: 2rem;
}
.page_wrap--user_ranking_campaign .action .button.open .icon{
	transform: rotate(-90deg);
}

/* Campaign: new year popup */
.page_wrap--campaign_new_year_popup .page_inner{
    margin-bottom: 2rem;
}
.page_wrap--campaign_new_year_popup .page_inner .main_img_area{
    padding: 0 !important;
}
.page_wrap--campaign_new_year_popup .page_inner .sec_ttl{
    color: #EA5865;
}
/* End Campaign: new year popup */

/* Campaign: new year popup afterlesson */
.page_wrap--campaign_new_year_afterlesson  .page_inner{
    background-image: url('../images/campaign/new_year/background.png') !important;
    background-color: #FFFCEB !important;
    background-size: 60%;
}
.page_wrap--campaign_new_year_afterlesson  .page_inner .sec{
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: nowrap;
}
.page_wrap--campaign_new_year_afterlesson  .page_inner .sec.sec_won{
    /* margin-top: -130px; */
}
.page_wrap--campaign_new_year_afterlesson  .page_inner .sec.sec_won .sec_ttl{
    font-size: 2.4rem;
    font-weight: bold;
    color:#EB3220;
    text-align: center;
}
.page_wrap--campaign_new_year_afterlesson  .page_inner .sec.sec_won .main_img{
    width: 80%;
}

.page_wrap--campaign_new_year_afterlesson  .page_inner .sec.sec_fail{
    /* margin-top: -130px; */
}
.page_wrap--campaign_new_year_afterlesson  .page_inner .sec.sec_fail .sec_ttl{
    font-size: 2.4rem;
    font-weight: bold;
    color:#4B60BB;
    text-align: center;
}
.page_wrap--campaign_new_year_afterlesson  .page_inner .sec.sec_fail .main_img{
    margin-bottom: -15px;
}
.mobapp_campaign_image{
    position: relative;
}
.mobapp_campaign_image__display_text{
    position: absolute;
    height: 50%;
    width: 75%;
    top: 9.75%;
    left: 50%;
    transform: translateX(-50%);
}

.mobapp_campaign_image__display_text > div{
    position: absolute;
    width: 100%;
    height: max-content;
    max-height: 100%;
    overflow: auto;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);

}

.mobapp_campaign_image__display_text > div > p{
    line-height: 1.75;
    padding: 1.5em 2em;
}

.btn__flat_round_corner{
    position: relative;
    box-shadow: unset!important;
    border-radius: 2em!important;
    display: block!important;
    position: relative;
    z-index: 1;
    min-width: unset!important;
    width: 100%!important;
    background: #f1890e;
}

.btn__flat_round_corner.__ddIcon::before{
    content: url(../images/campaign/new_year/arrow.svg);
    position: absolute;
    width: 20px;
    height: 20px;
    line-height: 0;
    right: 1em;
    top: 50%;
    transform: translateY(-50%);
    transition: transform .3s ease;
}

.btn__flat_round_corner.__ddIcon[data-active="true"]::before{
    transform: translateY(-50%) rotateZ(180deg);
}

.box__collapsible{
    position: relative;
    /* background: #FFFFFF; */
    height: 0;
    background: #FFFFFF;
    margin-top: -1.5em;
    z-index: 0;
    border-radius: 0 0 .75em .75em;
    overflow: hidden;
    transition: height .3s ease;
    transform-origin: top;
    box-shadow: #0000000F 0 3px 6px;
}

.box__collapsible > div{
    padding: 3em 2em 1.5em;
}

.box__collapsible.active{
    height: auto;
}


/* override NJ-13670 */
.cc.page_wrap--campaign_new_year_afterlesson{
    position: relative;
}

.cc.page_wrap--campaign_new_year_afterlesson .page_inner{
    position: absolute;
    width: 100%;
    height: 100%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    /* inset: 0 */
}

.cc.cf:after{
    content: ''!important;
}

.cc.campaign_pop_up{
    display: flex;
    flex-flow: row wrap;
    height: 100%;
    align-items: center;
    justify-content: center;
    overflow: auto;
}

.cc.cc_lottie{
    position: relative;
    width: 100%;
    padding-block-start: 30%;
    margin-block: -12% -5%;
}

.cc.cc_lottie .cc_lottie_text{
    font-size: 2rem;
    font-weight: 800;
}

.cc.cc_lottie .cc_lottie_text_a{
    color: #EB3220;
}

.cc.cc_lottie .cc_lottie_text_b{
    color: #4B60BB;
}

/*Campaign: Christmas 2022 */
/* sec_cs */
.sec_cs .bg_black {
	background-color: #000;
}
.sec_cs .t_color_white {
    color: #fff!important;
}

/* START NJ-18365 (forgot.php) */
/* 02/08 fdc.okuda */
.pass{
    max-width: 50rem;
    margin: auto;
}
/* END NJ-18365 */

.page_wrap--amazongift .sec{
    padding: 2rem 1.4rem 2rem;
}
.page_wrap--amazongift .sec.bg-sec{
    padding: 2rem 1.4rem 2rem;
    background: url(/images/campaign/amazongift/bg_gold_plaid_SP_App.png);
}
.page_wrap--amazongift .sec_boxes {
    background: #FFFFFF;
}
.page_wrap--amazongift .sec.sec_main .sec_ttl{
    color: #004986;
    font-size: 1.6rem;
    font-weight: bold;
    text-align: center;
    margin-bottom: 3rem;
}
.page_wrap--amazongift .sec.sec_main .sec_ttl small {
    color: #f1890e;
}
.page_wrap--amazongift .sec .desc{
	font-size: 1.4rem;
}
.page_wrap--amazongift .sec.sec_main .priod{
	position: relative;
    margin-bottom: 2.4rem;
}
.page_wrap--amazongift .sec.sec_main .priod .priod_text{
	font-size: 1.6rem;
	font-weight: bold;
	text-align: center;
}
.page_wrap--amazongift .sec.sec_main .priod_ttl{
	width: 20rem;
	font-size: 1.6rem;
	font-weight: bold;
	text-align: center;
	margin: 0 auto 4rem;
	position: relative;
}
.page_wrap--amazongift .sec.sec_main .priod .priod_ttl::before,
.page_wrap--amazongift .sec.sec_main .priod .priod_ttl::after {
	content: "";
	position: absolute;
	display: block;
	bottom: -1rem;
	border: 1.5rem solid #de7f0f;
}
.page_wrap--amazongift .sec.sec_main .priod .priod_ttl::before {
	left: -3rem;
	border-right-width: 4.5rem;
	border-left-color: transparent;
}
.page_wrap--amazongift .sec.sec_main .priod .priod_ttl::after {
	right: -3rem;
	border-left-width: 4.5rem;
	border-right-color: transparent;
}
.page_wrap--amazongift .sec.sec_main .priod .priod_ttl span{
	display: block;
	color: #fff;
	background: #f1890e;
	padding: 1rem 2rem;
	position: relative;
	z-index: 10;
}
.page_wrap--amazongift .sec.sec_main .priod .priod_ttl span:before,
.page_wrap--amazongift .sec.sec_main .priod .priod_ttl span:after{
	content: "";
	position: absolute;
	display: block;
	border-style: solid;
	border-color: #bb6c0f transparent transparent transparent;
	bottom: -1rem;
}
.page_wrap--amazongift .sec.sec_main .priod .priod_ttl span:before{
	left: 0;
	border-width: 1rem 0 0 3rem;
}
.page_wrap--amazongift .sec.sec_main .priod .priod_ttl span:after{
	right: 0;
	border-width: 1rem 3rem 0 0;
}
.page_wrap--amazongift .m_b_20{
    margin-bottom: 2rem !important;
}
.page_wrap--amazongift .m_b_40{
    margin-bottom: 4rem !important;
}
.page_wrap--amazongift .m_t_40{
    margin-top: 4rem !important;
}
.page_wrap--amazongift .c_red{
	color:#f14444;
}
.page_wrap--amazongift .sec .fw_b{
    font-weight: bold;
}
.page_wrap--amazongift .separation{
    color: #fff;
    font-size: 1.8rem;
    font-weight: bold;
    text-align: center;
    padding: 0.6rem 1.4rem 0.6rem;
    background-color: #092846;
	border-top: 8px solid #092846;
    border-bottom: 8px solid #092846;
}
.page_wrap--amazongift .action{
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 2rem 0 0rem;
    text-align: center;
}
.page_wrap--amazongift .sec .notice {
    width: 100%;
    padding: 2rem;
    background: #f5f5f5;
    box-sizing: border-box;
	font-size: 1.4rem;
}
.page_wrap--amazongift .sec .notice .notice_list .list-item{
	padding-left: 1em;
	text-indent: -1em;
	margin-bottom: 8px;
	font-family: 'Noto Sans Anatolian Hieroglyphs', sans-serif;
}

.page_wrap--amazongift .sec .notice .notice_list {
	margin-bottom: 1rem;
}

.page_wrap--amazongift .button_trial{
	border-radius: 10px!important;
	transition: background .12s ease-in-out;
}
.page_wrap--amazongift .button_trial:hover,
.page_wrap--amazongift .button_trial:focus-within
{
	background: #f99f35!important;
	box-shadow: 0px 6px 0px #c16e0b;
}

.page_wrap--amazongift .disable{
    color: #ccc!important;
    background: #f4f4f4!important;
    box-shadow: none!important;
	pointer-events: none;
	cursor: default;
}

.page_wrap--amazongift .btn_style.btn_gray:hover,
.page_wrap--amazongift .btn_style.btn_gray:focus-within
{
	background: #b6b6b6!important;
	box-shadow: 0px 6px 0px #7c7c7c;
}

.page_wrap--amazongift .fs_12{
    font-size: 1.2rem!important;
}

.page_wrap--amazongift .t_center{
    text-align: center!important;
}

.cc.list > li{
    list-style-type: disc!important;
	padding-inline-start: 1rem;
	margin-inline-start: 2.75rem;
}
/* End Campaign: amazongift */

/* Campaign: lesson_coin_gift */
.page_wrap--lesson_coin_gift .container{
	position: relative;
    color: #555;
    padding: 0;
    margin: 0;
    border: 0;
    box-shadow: none;
}
.page_wrap--lesson_coin_gift .visual img{
	width: 100%;
}
.page_wrap--lesson_coin_gift .sec{
    padding: 3rem 2rem;
}
.page_wrap--lesson_coin_gift .text p{
	font-size: 1.5rem;
    color: #333333;
}
.page_wrap--lesson_coin_gift .sec .sec_callout{
    color: #E12E24;
	font-size: 1.6rem;
	font-weight: bold;
	padding: 0 0.5rem;
    margin-bottom: 1.5rem;
    border-left: 4px solid #E12E24;
}
.page_wrap--lesson_coin_gift .sec.sec_main .sec_ttl{
    color: #570505;
    font-size: 1.6rem;
    font-weight: bold;
    text-align: center;
    margin-bottom: 3rem;
}
.page_wrap--lesson_coin_gift .sec .desc{
	font-size: 1.4rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    color: #333;
}
.page_wrap--lesson_coin_gift .sec.sec_main .priod{
	position: relative;
    margin-bottom: 2rem;
}
.page_wrap--lesson_coin_gift .sec.sec_main .priod .priod_text{
	font-size: 1.6rem;
	font-weight: bold;
	text-align: center;
    color: #333333;
}
.page_wrap--lesson_coin_gift .sec.sec_main .priod_ttl{
	width: 20rem;
	font-size: 1.4rem;
	font-weight: bold;
	text-align: center;
	margin: 0 auto 3rem;
	position: relative;
}
.page_wrap--lesson_coin_gift .sec.sec_main .priod .priod_ttl::before,
.page_wrap--lesson_coin_gift .sec.sec_main .priod .priod_ttl::after {
	content: "";
	position: absolute;
	display: block;
	bottom: -1rem;
	border: 1.5rem solid #de7f0f;
}
.page_wrap--lesson_coin_gift .sec.sec_main .priod .priod_ttl::before {
	left: -3rem;
	border-right-width: 4.5rem;
	border-left-color: transparent;
}
.page_wrap--lesson_coin_gift .sec.sec_main .priod .priod_ttl::after {
	right: -3rem;
	border-left-width: 4.5rem;
	border-right-color: transparent;
}
.page_wrap--lesson_coin_gift .sec.sec_main .priod .priod_ttl span{
	display: block;
	color: #fff;
	background: #f1890e;
	padding: 1.2rem 2rem;
	position: relative;
	z-index: 10;
    font-size: 1.6rem;
}
.page_wrap--lesson_coin_gift .sec.sec_main .priod .priod_ttl span:before,
.page_wrap--lesson_coin_gift .sec.sec_main .priod .priod_ttl span:after{
	content: "";
	position: absolute;
	display: block;
	border-style: solid;
	border-color: #bb6c0f transparent transparent transparent;
	bottom: -1rem;
}
.page_wrap--lesson_coin_gift .sec.sec_main .priod .priod_ttl span:before{
	left: 0;
	border-width: 1rem 0 0 3rem;
}
.page_wrap--lesson_coin_gift .sec.sec_main .priod .priod_ttl span:after{
	right: 0;
	border-width: 1rem 3rem 0 0;
}
.page_wrap--lesson_coin_gift .separation{
    color: #fff;
    font-size: 1.6rem;
    font-weight: bold;
    text-align: center;
    padding: 1rem 2rem;
    background-color: #E12E24;
}
.page_wrap--lesson_coin_gift .notice p.fs_16 {
	font-size: 1.6rem;
}
.page_wrap--lesson_coin_gift .stamp_basket_wrap{
	width: auto;
    margin: 0 auto;
}
.page_wrap--lesson_coin_gift .stamp_basket{
    position: relative; 
	padding: 1rem 4.5vw;
	background: #fff;
    border: 2px solid #F6C268;
    border-top: 0;
    border-radius: 0 0 .8rem .8rem;
}
.page_wrap--lesson_coin_gift .stamp_basket_image img{
	display: block;
	width: 100%;
    border-radius: .8rem .8rem 0 0;
}
.page_wrap--lesson_coin_gift .stamp_basket_title {
	font-size: 1.6rem;
	font-weight: bold;
	color: #80D4F9;
	text-align: center;
    margin-bottom: 1rem;
}
.page_wrap--lesson_coin_gift .stamp_basket_header {
	position: relative;
	width: 22rem;
    height: 4rem;
    font-size: 1.4rem;
	font-weight: bold;
	text-align: center;
	margin: 0 auto 1.5rem;
	border-radius: 2rem;
}
.page_wrap--lesson_coin_gift .stamp_basket_header p{
	font-size: 1.6rem;
}
.page_wrap--lesson_coin_gift .stamp_basket_num {
	color: #E83936;
	font-size: 2.4rem;
	font-weight: bold;
    margin-right: 5px;
}
.page_wrap--lesson_coin_gift .stamp_list_wrap{
    font-size: 1.2rem;
}
.page_wrap--lesson_coin_gift .stamp_list{
	display: flex;
	flex-wrap: wrap;
	position: relative;
    justify-content: flex-start;
    margin-bottom: 1rem;
}
.page_wrap--lesson_coin_gift .stamp_list .list-item{
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	width: 11.3vw;
	box-shadow: -1px -1px #E4E4E4, inset -1px -1px 0 0 #E4E4E4;
	background-color: #fff !important;
	padding: 1.85vw 0;
}
.page_wrap--lesson_coin_gift .stamp_list .list-item.header {
    padding: 1vw 0;
    height: auto;
    margin: 0;
}
.page_wrap--lesson_coin_gift .stamp_list .list-item img{
	width: 82%;
}
.page_wrap--lesson_coin_gift .stamp_list .list-item-num{
	font-weight: bold;
	margin-bottom: 0.4rem;
}
.page_wrap--lesson_coin_gift .sec .notice {
    width: 100%;
    padding: 1.5rem;
    color: #555;
    background: #f5f5f5;
    box-sizing: border-box;
	font-size: 1.2rem;
}
.page_wrap--lesson_coin_gift .sec .notice .notice_list.d_flex{
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-top: 3px;
}
.page_wrap--lesson_coin_gift .sec .notice .notice_list .list-item{
    padding-left: 1em;
    text-indent: -1em;
}
.page_wrap--lesson_coin_gift .sec .event_box ul li{
    border: 2px solid #333333;
	max-height: 10rem;
    margin-bottom: 2rem;
}
.page_wrap--lesson_coin_gift .sec .event_box ul a{
    font-size: 1.6rem;
    font-weight: bold;
	color: #333333;
    padding: 1rem 1rem 1rem 1.5rem;
	display: flex;
	justify-content: space-between;
    align-items: center;
}
.page_wrap--lesson_coin_gift .sec .event_box ul li span.chevron-down{
	display: inline-block;
    vertical-align: middle;
    content: url('https://nativecamp-public-web-production.s3.amazonaws.com/user/webroot/images/campaign/lesson_coin_gift/chevron-down-solid.svg');
    width: 1.4rem;
    height: 0.8rem;
    margin-left: 4rem;
}
.page_wrap--lesson_coin_gift .fw_b {
    font-weight: bold;
}
.page_wrap--lesson_coin_gift .m_b_10{
    margin-bottom: 1.0rem !important;
}
.page_wrap--lesson_coin_gift .m_b_15{
    margin-bottom: 1.5rem !important;
}
.page_wrap--lesson_coin_gift .m_b_20{
    margin-bottom: 2rem !important;
}
.page_wrap--lesson_coin_gift .m_b_30{
    margin-bottom: 3rem !important;
}
.page_wrap--lesson_coin_gift .m_b_40{
    margin-bottom: 4rem !important;
}
.page_wrap--lesson_coin_gift .m_b_60{
    margin-bottom: 6rem !important;
}
.page_wrap--lesson_coin_gift .t_right{
    text-align: right;
}
.page_wrap--lesson_coin_gift .c_red{
    color: #D91C0B;
}
.page_wrap--lesson_coin_gift strong{
    font-weight: bold;
}
.page_wrap--lesson_coin_gift .sec .step {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    flex-direction: column;
}
.page_wrap--lesson_coin_gift .sec .step .mark{
    font-size: 1.6rem;
    font-weight: bold;
    color: #fff;
    background: #E12E24;
    height: initial;
    line-height: 23.17px;
    border-radius: 5rem;
    margin-bottom: 1.6rem;
    padding: 0.85rem 2rem;
    box-sizing: border-box;
    display: inline-block;
}
.page_wrap--lesson_coin_gift .sec .step + .step::before{
    content: '';
    display: block;
    text-align: center;
    width: 0;
    height: 0;
    margin: 4rem auto;
    border: 8rem solid transparent;
    border-bottom: 0;
    border-top: 4rem solid #D9D9D9;
}
.page_wrap--lesson_coin_gift .sec .step .detail{
    width: 100%;
}
.page_wrap--lesson_coin_gift .sec .step .detail .text{
    font-size: 1.5rem;
	color: #2A60BA;
}
.page_wrap--lesson_coin_gift .logged_out_note{
	font-weight: 400;
	color: #FF0000;
	text-align: center;
	width: 100%;
}
.page_wrap--lesson_coin_gift .logged_out_note p {
	font-size: 1.6rem;
}
.page_wrap--lesson_coin_gift .sec .step .apply_btn{
    color: #fff;
    background: #1DC9A9;
    font-size: 1.6rem;
    font-weight: bold;
    width: 33.5rem;
    height: 4.8rem;
    line-height: 4.8rem;
    border-radius: 1rem;
    box-sizing: border-box;
    box-shadow: 0 4px 0 0 #03A98E;
    border: none;
    text-align: center;
    margin-inline: auto;
}
.page_wrap--lesson_coin_gift .sec .step .apply_btn:focus{
    background: #03A98E;
}
.page_wrap--lesson_coin_gift .step .action{
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 2rem 0 0rem;
}
.page_wrap--lesson_coin_gift .stamp_list .list-item-num .sp_mode{
    display: none;
}
.page_wrap--lesson_coin_gift .detail .action .button_trial{
    max-width: 35rem;
}
.page_wrap--lesson_coin_gift .referral_link_wrap {
	width: 33.5rem;
	margin: 2.5rem auto 0;
	padding: 3rem 0;
	border: 1px solid #DDDDDD;
	border-radius: .8rem;
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
}
.page_wrap--lesson_coin_gift .referral_link_wrap .box_ttl {
	font-size: 1.4rem;
	color: #333333;
	position: absolute;
	top: -1.2rem;
	left: 50%;
	transform: translate(-50%);
	background: #FFFFFF;
	padding: 0 2rem;
}
.page_wrap--lesson_coin_gift .referral_link_wrap .referal_link_input {
	border: 1px solid #CCCCCC;
	width: 27.5rem;
}
.page_wrap--lesson_coin_gift .referral_link_wrap .copy_btn {
    display: flex;
	justify-content: center;
	align-items: center;
	margin: 1.6rem auto 0;
	background: #1DC9A9;
	font-size: 1.4rem;
	color: #FFFFFF;
	border-radius: .4rem;
	width: 15rem;
    height: 4rem;
	padding: 0;
    border: none;
    box-shadow: none;
}
.page_wrap--lesson_coin_gift .referral_link_wrap .copy_btn .copy-done {
	display:none; 
	width: 3.2rem;
}
.page_wrap--lesson_coin_gift .referral_link_wrap .logged_out_note {
	font-size: 1.4rem;
	margin-top: 1rem;
}
.page_wrap--lesson_coin_gift .sec .campaign_subject_list {
	list-style: none;
	counter-reset: item;
}
.page_wrap--lesson_coin_gift .sec .campaign_subject_list.second {
	counter-reset: item 1;
}
.page_wrap--lesson_coin_gift .sec .campaign_subject_list li{
	counter-increment: item;
    position: relative;
	display: flex;
	align-items: flex-start;
    font-size: 1.5rem;
    font-weight: bold;
    color: #333333;
    padding-left: 2rem;
	margin-bottom: 1rem;
}
.page_wrap--lesson_coin_gift .sec .campaign_subject_list li::before{
	content: counter(item);
    position: absolute;
    top: 0.2rem;
    left: 0;
	width: 1.5rem;
	display: inline-block;
	color: #fff;
	background-color: #E12E24;
	border-radius: 50%;
	font-size: 1rem;
	font-weight: bold;
	text-align: center;
}
.page_wrap--lesson_coin_gift .sec .notice .campaign_subject_list li{
    color: #555;
    font-weight: normal;
    font-size: 1.4rem;
}
.page_wrap--lesson_coin_gift .sec .btn_style.btn_orange{
    width: 100%;
    max-width: 35rem;
    height: 4.8rem;
    border-radius: 6px;
    box-shadow: 0 5px 0 0 #c16e0b;
}
.page_wrap--lesson_coin_gift .sec_countdown {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	font-size: 2.6rem;
	font-weight: bold;
	color: #2A60BA;
	margin-bottom: 2rem;
}
.page_wrap--lesson_coin_gift .sec_countdown .count_wrap {
	position: relative;
}
.page_wrap--lesson_coin_gift .sec_countdown .count_wrap::before{
	content: '';
	position: absolute;
	left: -5rem;
	bottom: 5.2rem;
	border-bottom: 0.6rem solid #2A60BA;
	border-radius: 1rem;
	width: 5.8rem;
	transform: rotate(55deg);
	transform-origin: left;
}
.page_wrap--lesson_coin_gift .sec_countdown .count_wrap::after{
	content: '';
	position: absolute;
	right: -1.8rem;
	bottom: 0.4rem;
	border-bottom: 0.6rem solid #2A60BA;
	border-radius: 1rem;
	width: 5.8rem;
	transform: rotate(125deg);
	transform-origin: right;
}
.page_wrap--lesson_coin_gift .sec_countdown #count{
	font-family: 'Lora', serif;
	font-family: 'Work Sans', sans-serif;
	font-size: 7rem;
	font-weight: 500;
    color: #EA369C;
	line-height: 1;
	text-align: center;
} 
.page_wrap--lesson_coin_gift .freebies_cards_wrap {
	display: flex;
	gap: 1.1rem;
	margin-top: 1.5rem;
	justify-content: center;
}
.page_wrap--lesson_coin_gift .freebies_cards_wrap section {
	width: 16.2rem;
	height: 34.4rem;
	border: 2px solid #E21E24;
	border-radius: .4rem;
	overflow: hidden;
	text-align: center;
}
.page_wrap--lesson_coin_gift .freebies_cards_wrap section h2 {
	font-size: 1.6rem;
	font-weight: bold;
	color: #FFFFFF;
	background: #E21E24;
	padding: 0.6rem 0;
}
.page_wrap--lesson_coin_gift .freebies_cards_wrap .freebies_desc {
	position: relative;
	top: 45%;
	transform: translateY(-50%);
	width: 14.2rem;
	margin: 0 auto;
}
.page_wrap--lesson_coin_gift .freebies_cards_wrap .freebies_desc p {
	color: #E12E24;
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1.4;
}
.page_wrap--lesson_coin_gift .freebies_cards_wrap .freebies_desc .black_freebies_text {
	color: #333333;
	font-size: 1.4rem;
}
.page_wrap--lesson_coin_gift .freebies_cards_wrap .freebies_sec_1 .freebies_desc .yen_denomination {
	color: #333333;
}
.page_wrap--lesson_coin_gift .freebies_cards_wrap .freebies_desc p span:first-child {
	font-size: 3rem;
}
.page_wrap--lesson_coin_gift .freebies_cards_wrap .freebies_sec_1 .freebies_desc p.yen_denomination span {
	font-size: 2.6rem;
}
.page_wrap--lesson_coin_gift .freebies_cards_wrap .freebies_desc .add_freebies {
	margin-top: 4.2rem;
	position: relative;
}
.page_wrap--lesson_coin_gift .freebies_cards_wrap .freebies_desc .add_freebies::before {
	content:'';
	background: url('https://nativecamp-public-web-production.s3.amazonaws.com/user/webroot/images/campaign/lesson_coin_gift/plus.svg') no-repeat center;
	position: absolute;
	top: -3.2rem;
	left: 50%;
	transform: translateX(-50%);
	width: 2.6rem;
	height: 2.6rem;
}
.page_wrap--lesson_coin_gift .freebies_cards_wrap .freebies_desc img {
	margin-top: 1.6rem;
    max-width: 100%;
    width: unset;
}
.page_wrap--lesson_coin_gift .trial_area {
	background: #FFFFFF;
}
.page_wrap--lesson_coin_gift .trial_area .balloon {
	gap: 0.5rem;
}
.page_wrap--lesson_coin_gift .container .trial_area .action .button_trial {
	margin-top: 0;
	line-height: 2.6rem;
}
/* popup */
.page_wrap--lesson_coin_gift_popup .container{
    padding: 0;
    margin: 0;
    border: 0;
    box-shadow: none;
}
.page_wrap--lesson_coin_gift_popup .sec_ttl{
    color: #FAAD28;
    font-weight: bold;
    text-align: center;
    margin-top: 2rem;
}
.page_wrap--lesson_coin_gift_popup_live .container{
    min-height: 52rem;
    max-height: 100vh;
}
/* popup_live */
.page_wrap--lesson_coin_gift_popup .sec .t_link,
.page_wrap--lesson_coin_gift_popup_live .sec .t_link {
	color: #00ACEE;
	font-size: 1.4rem;
	font-weight: normal;
	text-decoration: underline;
	background: none;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	margin-bottom: 1rem;
}
.page_wrap--lesson_coin_gift_popup_live .stamp_basket {
    padding: 0;
}
.page_wrap--lesson_coin_gift_popup_live .stamp_list_container {
    height: calc(100vh - 30rem);
    overflow: auto;
    padding: 1rem 4.5vw;
}
.page_wrap--lesson_coin_gift_popup_live .stamp_list .list-item {
    width: 12.8vw;
}
.page_wrap--lesson_coin_gift_popup_live .sec_main {
    padding: 2rem;
}
.page_wrap--lesson_coin_gift_popup_live .sec.sec_main .sec_ttl {
    color: #E40000;
}
.page_wrap--lesson_coin_gift_popup_live .sec.sec_main .sec_ttl span {
    display: block;
}
/* End Campaign: lesson_coin_gift */

/* NJ-31231 */
.page_wrap--amazongift .sec .notice .notice_list {
	margin-bottom: 1.6rem !important;
}

.page_wrap--amazongift .sec .notice .notice_list .list-item {
	line-height: 24px;
	margin-bottom: 0;
}

.m_b_16 {
	margin-bottom: 1.6rem;
}

.sec_boxes {
	position: relative;
	background: #FFF5EA;
    border-radius: 10px;
}

.sec_boxes .sec_box1 {
	position: relative;
}

.sec_box-inner {
    display: block;
    height: auto;
    width: auto;
    padding: 50px 20px 20px;
}

.sec_box-inner .sec_box-text {
    width: auto;
    text-align: left;
    font-size: 1.6rem;
}

.sec_box-inner .sec_box-text h2 {
	position: absolute;
	top: -51px;
	font-size: 80px;
	color: #F1890E;
	font-family: 'proxima-nova', sans-serif;
	height: 98px;
    font-weight: bold;
}

.sec_box-inner .sec_box-image {
    position: relative;
    padding: 20px 0;
    text-align: center;
    width: 240px;
    margin: 0 auto;
}

.sec_box-2 .sec_box-inner .sec_box-text {
	width: 100%;
}

.sec_box-2 .sec_box-inner .sec_box-text a {
	background: #F1890E;
	width: auto;
	height: 59px;
	color: #fff;
	display: block;
	text-align: center;
	line-height: 59px;
	font-size: 2rem;
	box-shadow: 0px 6px 0px #c16e0b;
	margin: 20px auto 10px;
}

.list-item a {
	color: #0FACEE;
}

/* NJ-31231 End */

/* NJ-34793 Start */
.page_wrap--around_the_world{
	position: relative;
    font-size: 1.6rem;
}
.page_wrap--around_the_world .sec{
    padding: 3rem 2rem;
}
.page_wrap--around_the_world .visual img{
    width: 100%;
    height: auto;
}
.page_wrap--around_the_world .sec.sec_main .sec_ttl{
    color: #18858D;
    font-size: 1.6rem;
    font-weight: bold;
    text-align: center;
    margin-bottom: 3rem;
}
.page_wrap--around_the_world .sec.sec_main .priod .priod_text{
    font-size: 1.6rem;
    font-weight: bold;
    text-align: center;
}
.page_wrap--around_the_world .sec.sec_main .priod_ttl{
    width: 20rem;
    font-size: 1.4rem;
    font-weight: bold;
    text-align: center;
    margin: 0 auto 4.1rem;
    position: relative;
}
.page_wrap--around_the_world .sec.sec_main .priod .priod_ttl::before,
.page_wrap--around_the_world .sec.sec_main .priod .priod_ttl::after {
    content: "";
    position: absolute;
    display: block;
    bottom: -1rem;
    border: 1.2rem solid #de7f0f;
}
.page_wrap--around_the_world .sec.sec_main .priod .priod_ttl::before {
    left: -2.5rem;
    border-right-width: 4.3rem;
    border-left-color: transparent;
}
.page_wrap--around_the_world .sec.sec_main .priod .priod_ttl::after {
	right: -2.5rem;
	border-left-width: 4.3rem;
	border-right-color: transparent;
}
.page_wrap--around_the_world .sec.sec_main .priod .priod_ttl span{
    display: block;
    color: #fff;
    background: #f1890e;
    padding: 1rem 3.6rem 1.1rem;
    position: relative;
    z-index: 10;
}
.page_wrap--around_the_world .sec.sec_main .priod .priod_ttl span:before,
.page_wrap--around_the_world .sec.sec_main .priod .priod_ttl span:after{
	content: "";
	position: absolute;
	display: block;
	border-style: solid;
	border-color: #bb6c0f transparent transparent transparent;
	bottom: -1rem;
}
.page_wrap--around_the_world .sec.sec_main .priod .priod_ttl span:before{
	left: 0;
	border-width: 1rem 0 0 3rem;
}
.page_wrap--around_the_world .sec.sec_main .priod .priod_ttl span:after{
	right: 0;
	border-width: 1rem 3rem 0 0;
}
.page_wrap--around_the_world .separation {
    color: #fff;
    font-size: 1.6rem;
    font-weight: bold;
    text-align: center;
    background-color: #18858D;
    padding: 1rem 0;
}
.page_wrap--around_the_world .action{
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    margin: 0 auto;
    position: relative;
}
.page_wrap--around_the_world .sec .notice {
    width: 100%;
    padding: 1.5rem;
    background: none;
    box-sizing: border-box;
}
.page_wrap--around_the_world .sec .notice .notice_list .list-item{
    padding-left: 1em;
    text-indent: -1em;
    font-size: 1.2rem;
    line-height: 1.6rem;
}
.page_wrap--around_the_world .sec .notice .notice_list .list-item:not(:last-child) {
    margin-bottom: .4rem;
}
.page_wrap--around_the_world .btn {
    display: block;
    color: #fff;
    font-size: 1.6rem;
    font-weight: bold;
    width: 100%;
    max-width: 35.5rem;
    height: 4.8rem;
    line-height: 4.8rem;
    border-radius: 1rem;
    box-sizing: border-box;
    text-align: center;
    padding: 0 5rem;
    position: relative;
    margin: auto;
}
.page_wrap--around_the_world .btn.btn_green {
    background: #1DC9A9;
    box-shadow: 0 6px 0 0 #03A98E;
}
.page_wrap--around_the_world .sec .btn_orange{
    color: #fff;
    background:#F1890E;
    font-size: 1.6rem;
    font-weight: bold;
    width: 100%;
    max-width: 35.5rem;
    height: 4.8rem;
    line-height: 4.8rem;
    border-radius: 10px;
    box-sizing: border-box;
    box-shadow: 0 6px 0 0 #C16E0B;
    text-align: center;
    padding: 0 5rem;
    position: relative;
}
.page_wrap--around_the_world .stamp .stamp_header img{
    width: 100%;
    display: block;
    height: auto;
}
.page_wrap--around_the_world .stamp .stamp_content {
    position: relative;
    background: #f6fdfe;
    padding: 0 1.8rem 2rem;
}
.page_wrap--around_the_world .stamp .stamp_content::before {
    content: '';
    position: absolute;
    top: .6rem;
    right: -.7rem;
    width: 9.1rem;
    height: 5.9rem;
    background-image: url('https://assets2.nativecamps.com/user/webroot/mobile/images/campaign/around_the_world/common/airplane-icon-top.svg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}
.page_wrap--around_the_world .stamp .stamp_content::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 15rem;
    height: 7.5rem;
    background-image: url('https://assets2.nativecamps.com/user/webroot/mobile/images/campaign/around_the_world/common/airplane-icon-bottom.svg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}
.page_wrap--around_the_world .stamp .stamp_list{
    display: grid;
    justify-content: center;
    gap: 1rem;
    grid-template-columns: repeat(5, max-content);
    place-items: center;
}
.page_wrap--around_the_world .stamp .stamp_list .list-item {
    width: 5rem;
    min-height: 2.9rem;
    border: 1px dashed #18858D;
    background: #fff;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1;
    border-radius: .5rem;
}
.page_wrap--around_the_world .stamp .stamp_list .list-item p {
    color: #18858D;
    font-size: 1.2rem;
    font-weight: bold;
}
.page_wrap--around_the_world .stamp .stamp_list .list-item.coupon p {
    font-size: 1.2rem;
    transform: rotate(350deg);
    margin-left: 0.6rem;
    margin-bottom: 0.1rem;
}
.page_wrap--around_the_world .stamp .stamp_list .list-item.coupon::before {
    content: '';
    position: absolute;
    width: 2rem;
    height: 2rem;
    background-image: url('https://assets2.nativecamps.com/user/webroot/images/campaign/around_the_world/common/coin-icon.svg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    z-index: 2;
}
.page_wrap--around_the_world .stamp .stamp_list .list-item img{
    display: none;
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 2;
    object-fit: fill;
    margin: -1px;
}
.page_wrap--around_the_world .stamp .stamp_list .list-item.stamped{
	border: none;
	padding: 1px;
	cursor: pointer;
}
.page_wrap--around_the_world .stamp .stamp_list .list-item.stamped img{
	display: block;
    border-radius: 0.5rem;
}
.page_wrap--around_the_world .stamp_list .list-item.stamped .flag-tooltip {
	position: absolute;
    top: -120%;
	height: 100%;
    display: flex;
    justify-content: center;
    align-items: end;
	z-index: 3;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s ease-in-out;
}
.page_wrap--around_the_world .stamp_list .list-item.stamped .flag-tooltip span {
	background-color: #000000B3;
	color: #fff;
	font-size: 1.6rem;
	font-weight: bold;
	text-align: center;
	padding: 0.9rem 1.5rem;
	border-radius: 4.7rem;
	display: block;
	z-index: 2;
	line-height: 100%;
    white-space: nowrap;
}
.page_wrap--around_the_world .stamp_list .list-item.stamped::after {
	content: "";
    position: absolute;
    top: -21%;
    width: 0;
    height: 0;
    border-left: 0.6rem solid transparent;
    border-right: 0.6rem solid transparent;
    border-top: 0.6rem solid #000000B3;
    z-index: 3;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s ease-in-out;
}
.page_wrap--around_the_world .stamp_list .list-item.stamped.on .flag-tooltip,
.page_wrap--around_the_world .stamp_list .list-item.stamped.on::after {
    opacity: 1;
    visibility: visible;
}
.page_wrap--around_the_world .stamp_list .list-item.stamped .flag-tooltip.left {
    left: -15%
}
.page_wrap--around_the_world .stamp_list .list-item.stamped .flag-tooltip.left::after {
    left: calc(15vw - 1.3rem);
}
.page_wrap--around_the_world .stamp_list .list-item.stamped .flag-tooltip.right {
    right: -15%
}
.page_wrap--around_the_world .stamp_list .list-item.stamped .flag-tooltip.right::after {
    right: calc(15vw - 2rem);
    left: unset;
}
.page_wrap--around_the_world .step {
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	flex-direction: column;
}
.page_wrap--around_the_world .step .title{
	color: #D72118;
	font-size: 1.6rem;
	font-weight: bold;
	margin-bottom: 1.5rem;
}
.page_wrap--around_the_world .step .desc{
    font-size: 1.5rem;
    font-weight: bold;
    color: #333333;
    line-height: 1.5;
    width: 100%;
}
.page_wrap--around_the_world .step .mark{
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.6rem;
    font-weight: bold;
    color: #fff;
    background-color: #18858D;
    width: 9rem;
    height: 4rem;
    line-height: 4rem;
    border-radius: 10rem;
    margin-bottom: 1.5rem;
    padding: 0;
    box-sizing: border-box;
}
.page_wrap--around_the_world .step + .step::before{
    content: '';
    display: block;
    text-align: center;
    width: 0;
    height: 0;
    margin: 3rem auto;
    border: 6rem solid transparent;
    border-bottom: 0;
    border-top: 3rem solid #D9D9D9;
}
.page_wrap--around_the_world .stamp_wrap{
    border: 2px solid #18858D;
    border-radius: 1rem;
    overflow: hidden;
    margin-top: 3rem;
}
.page_wrap--around_the_world.f_s_noto_sans{
	font-family: 'Noto Sans', sans-serif !important;
}
.page_wrap--around_the_world.f_s_noto_sans_jp{
	font-family: 'Noto Sans JP', sans-serif !important;
}
.page_wrap--around_the_world .t_skyblue{
	color: #6CB4CF !important;
}
.page_wrap--around_the_world .t_red{
	color: #D91C0B;
    font-size: 1.4rem;
    position: relative;
    padding-left: 1.8rem;
}
.page_wrap--around_the_world .t_red span {
    position: absolute;
    left: 0;
    top: 0;
}
.page_wrap--around_the_world .t_orange{
	color: #FFB100 !important ;
}
.page_wrap--around_the_world .m_b_12{
	margin-bottom: 12px;
}
.page_wrap--around_the_world .m_t_28{
	margin-top: 28px;
}
.page_wrap--around_the_world .fs_24{
	font-size: 2.4rem;
}
.page_wrap--around_the_world .p_t_11{
	padding-top: 11px;
}
.page_wrap--around_the_world .p_b_15{
	padding-bottom: 1.5rem;
}
.page_wrap--around_the_world .m_b_6{
	margin-bottom: 6px;
}
.page_wrap--around_the_world .t_underline{
	text-decoration: underline;
}
.page_wrap--around_the_world .list_present{
	border: #F1890E 1px solid;
	width: 100%;
}
.page_wrap--around_the_world .list_present table{
	width: 100%;
}
.page_wrap--around_the_world .list_present table tr{
	display: flex;
	justify-content: center;
	align-items: center;
}
.page_wrap--around_the_world .list_present table tr th{
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #FFF;
	font-size: 1.6rem;
	background-color: #F1890E;
	border: none;
    padding: 1rem 0;
}
.page_wrap--around_the_world .list_present table tr th::before,
.page_wrap--around_the_world .list_present table tr th::after{
	content: '';
	width: 23px;
	height: 19px;
	display: inline-block;
	position: relative;
	background-image: url(../../../mobile/images/campaign/around_the_world/coin.png);
	background-repeat: no-repeat;
	background-size: contain;
}
.page_wrap--around_the_world .list_present table tr th::before{
	left: -2rem;
}
.page_wrap--around_the_world .list_present table tr th::after{
	right: -2rem;
}
.page_wrap--around_the_world .list_present table tr td{
	flex: 1;
	color: #555555;
	font-size: 1.2rem;
	font-weight: bold;
	text-align: center;
	padding: 1.6rem 0;
}
.page_wrap--around_the_world .list_present table tr:nth-child(2) {
    border-bottom: 1px solid #F1890E;
}
.page_wrap--around_the_world .list_present table tr:nth-child(2) td{
	color: #F1890D;
	padding: 0.75rem 0;
}
.page_wrap--around_the_world .list_present table tr:nth-child(2n):not(:nth-child(2)){
	background-color: #FBFBFB;
}
/* afterlesson modal */
.page_wrap--around_the_world.afterlesson .stamp_wrap {
    margin: 0;
}

.page_wrap--around_the_world.afterlesson .stamp_wrap .stamp .stamp_list{
    display: grid;
    justify-content: center;
    gap: 1rem;
    grid-template-columns: repeat(5, max-content);
    place-items: center;
}

/* NJ-34793 End */
/* NJ-62888 start */
.page_wrap--around_the_world .sec .event_box ul {
    font-size: 1.7rem;
    color: #333333;
    font-weight: bold;
}
.page_wrap--around_the_world .sec .event_box ul a {
    color: #333333;
}
.page_wrap--around_the_world .sec .event_box ul a:not(:last-child) li {
    margin-bottom: 2rem;
}
.page_wrap--around_the_world .sec .event_box ul li {
    border: 2px solid #333333;
    padding: 1rem 1.5rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 1.6rem;
    line-height: 2.606rem;
    box-shadow: 0 3px 6px #00000029;
}
.page_wrap--around_the_world .sec .event_box ul li span.chevron-down {
    display: inline-block;
    background-image: url('https://assets2.nativecamps.com/user/webroot/images/campaign/around_the_world/common/chevron-down-solid.svg');
    background-repeat: no-repeat;
    background-size: contain;
    width: 1.4rem;
    height: .8rem;
}
.page_wrap--around_the_world .sec .step .callout {
    font-size: 1.6rem;
    color: #18858D;
    padding: 0 0.5rem;
    margin: 2rem 0 1.5rem;
    border-left: .4rem solid #18858D;
    font-weight: bold;
}
.page_wrap--around_the_world .sec p.campaign-text {
    font-size: 1.4rem;
    font-weight: 400;
    color: #333333;
}
.page_wrap--around_the_world .stamp_count_title {
    text-align: center;
    font-size: 1.4rem;
    font-weight: bold;
    padding: .6rem 0 .8rem;
}
.page_wrap--around_the_world .stamp_count {
    color: #FFA313;
    font-size: 2.4rem;
    font-weight: bold;
    font-family: 'Noto Sans';
}
.page_wrap--around_the_world .campaign-img {
    display: block;
    margin: 3rem auto 0;
    border-radius: 1.2rem;
    height: auto;
    width: auto;
}
.page_wrap--around_the_world .before_login_text {
    font-weight: 400;
    font-size: 1.5rem;
    margin: 2.5rem 0 5rem;
    padding: 0;
}
.page_wrap--around_the_world .ranking_wrap {
    display: block;
    width: 100%;
    margin: 0 auto;
}
.page_wrap--around_the_world .ranking {
    width: 100%;
    border: 2px solid #18858D;
    margin-top: 4rem;
    border-radius: 12px;
}
.page_wrap--around_the_world .ranking .ranking_head {
    color: #FFFFFF;
    font-size: 1.6rem;
    font-weight: bold;
    text-align: center;
    line-height: 28px;
    padding: 0.75rem 1.2rem;
    background-color: #18858D;
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
}
.page_wrap--around_the_world .ranking .ranking_body .ranking_table .table_body:not(:last-child) {
    border-bottom: 1px solid #DDDDDD;
}
.page_wrap--around_the_world .ranking .ranking_body .ranking_table .table_body {
    display: flex;
    align-items: center;
    padding: 1.64rem 2rem;
    justify-content: space-between;
}

.page_wrap--around_the_world .ranking .ranking_body .ranking_table{
    padding: 0 1.5rem;
}

.page_wrap--around_the_world .ranking .ranking_body .ranking_table .table_body .td_rank,
.page_wrap--around_the_world .ranking .ranking_body .ranking_table .table_body .td_coin {
    font-size: 1.6rem;
    color: #333333;
    line-height: 100%;
}
.page_wrap--around_the_world .ranking .ranking_body .ranking_table .table_body .td_rank {
    display: flex;
    align-items: center;
    justify-content: space-around;
}
.page_wrap--around_the_world .m_b_8 {
    margin-bottom: .8rem;
}
/* NJ-62888 end */

/* NJ-52157 [start] */
.page_wrap--lesson_coin_gift .accordion-wrap{
	width: 100%;
	margin-top: 15px;
}
.page_wrap--lesson_coin_gift .accordion-wrap .bar-title{
	position: relative;
	color: #FFF;
	font-size: 2rem;
	font-weight: bold;
	background: #2A60BA;
	box-shadow: 0px 5px 0px #263F94;
	width: 100%;
	height: 50px;
	display: flex;
	justify-content: center;
	align-items: center;
	cursor: pointer;
	border-radius: 50px;
	box-sizing: border-box;
}
.page_wrap--lesson_coin_gift .accordion-wrap .bar-title .title-text{
	position: relative;
    font-size: 1.6rem;
}
.page_wrap--lesson_coin_gift .accordion-wrap.on .bar-title {
    border-radius: 22px 22px 0 0;
    box-shadow: none;
}
.page_wrap--lesson_coin_gift .accordion-wrap.on .bar-title:after{
	transform: translateY(-60%) scale(1, -1);
}
.page_wrap--lesson_coin_gift .accordion-wrap .bar-title:after{
	content: "";
	display: block;
	width: 14px;
	height: 8px;
	background: url('/mobile/images/common/chevron-down-solid-white.svg') no-repeat center;
	background-size: contain;
	position: absolute;
	right: 25px;
	transition: .2s all linear;
}
.page_wrap--lesson_coin_gift .accordion-wrap .accordion-contents{
	display: none;
	border-radius: 0 0 22px 22px;
	padding: 30px 20px;
	background: #F5F5F5;
	color: #555555;
}
.page_wrap--lesson_coin_gift .accordion-wrap img {
	width: 500px;
	margin: 15px auto 0;
	display: block;
    max-width: 100%;
}

.page_wrap--lesson_coin_gift .detail .hashtag{
    margin: 3rem auto;
    padding: 2rem 2rem 2.6rem;
    border: 1px solid #707070;
	color: #333;
}
.page_wrap--lesson_coin_gift .detail .hashtag .tag_list{
    display: flex;
    align-items: flex-start;
    justify-content: center;
    flex-wrap: wrap;
    flex-direction: column;
    margin-bottom: 2rem;
}
.page_wrap--lesson_coin_gift .detail .hashtag .tag_list .list-item{
	color: #333;
    font-size: 1.6rem;
    font-weight: bold;
}
.page_wrap--lesson_coin_gift .detail .hashtag .tag_list .list-item + .list-item{
    margin-top: 0.4rem;
}

.page_wrap--lesson_coin_gift .detail .hashtag .button_copy{
    color: #fff;
    background: #f1890e;
    font-size: 2rem;
    font-weight: bold;
    width: 32rem;
    height: 4.8rem;
    line-height: 3em;
    border-radius: 0.8rem;
    box-sizing: border-box;
    box-shadow: 0 6px 0 0 #c16e0b;
    border: none;
    text-align: center;
}

.page_wrap--lesson_coin_gift .sec .step .detail .hashtag .button_copy span {
	color: #fff !important;
    font-size: 1.6rem;
    line-height: 23.17px;
    display: block;
}

.page_wrap--lesson_coin_gift .sec .step .ig-notice{
    font-weight: 500;
    color: #FF0000;
    width: 100%;
    text-align: center;
    margin-top: 4.5rem;
}

.page_wrap--lesson_coin_gift .sec .ig-detail {
    margin-top: 4.4rem;
}

.page_wrap--lesson_coin_gift .sec .ig-detail .notice-title {
    font-weight: 700;
}

.page_wrap--lesson_coin_gift .sec .ig-detail .notice_list {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-top: 8px;
}

.page_wrap--lesson_coin_gift .sec .ig-btn {
    color: #fff;
    background: #DDDBD6;
    font-size: 2rem;
    font-weight: bold;
    width: 32rem;
    height: 4.8rem;
    line-height: 3em;
    border-radius: 0.8rem;
    box-sizing: border-box;
    box-shadow: 0 6px 0 0 #BAB8AC;
    border: none;
    text-align: center;
    margin-top: 3rem;
    pointer-events: none;
}
.page_wrap--lesson_coin_gift .sec .ig-btn .text {
    color: #fff;
    font-size: 1.6rem;
    line-height: 23.17px;
    display: block;
}
/* NJ-52157 [end] */

/* NJ-84659 */

.page_wrap--around_the_world .d_table {
    display: table;
    width: 100%;
    background: #F5F5F5;
}

.page_wrap--around_the_world .campaign-img.campaign-img-syle{
	border-radius: 0;
}

.page_wrap--around_the_world .step .desc .text_step2{
	background: #F0F0F0;
	padding: 1rem 2rem;
    text-align: center;
}

.page_wrap--around_the_world .sec p.campaign_text_color{
	color: #18858D;
	font-size: 1.5rem;
	font-weight: bold;
}

.page_wrap--around_the_world .accordion-wrap, .page_wrap--around_the_world-zh-tw .accordion-wrap {
	width: 100%;
	margin-top: 1.5rem;
}
.page_wrap--around_the_world .accordion-wrap .bar-title, .page_wrap--around_the_world-zh-tw .accordion-wrap .bar-title {
	position: relative;
	color: #FFF;
	font-size: 2rem;
	font-weight: bold;
	background: #18858D;
	box-shadow: 0rem 0.5rem 0rem #0A6168;
	width: 100%;
	height: 4.4rem;
	display: flex;
	justify-content: center;
	align-items: center;
	cursor: pointer;
	border-radius: 5rem;
	box-sizing: border-box;
    -webkit-tap-highlight-color: transparent;
}
.page_wrap--around_the_world .accordion-wrap .bar-title .title-text, .page_wrap--around_the_world-zh-tw .accordion-wrap .bar-title .title-text {
	position: relative;
	font-size: 1.6rem;
}
.page_wrap--around_the_world .accordion-wrap.on .bar-title, .page_wrap--around_the_world-zh-tw .accordion-wrap.on .bar-title {
	border-radius: 2.2rem 2.2rem 0 0;
	box-shadow: none;
}
.page_wrap--around_the_world .accordion-wrap.on .bar-title:after, .page_wrap--around_the_world-zh-tw .accordion-wrap.on .bar-title:after {
	transform: translateY(0) scale(1, -1);
}
.page_wrap--around_the_world .accordion-wrap .bar-title:after, .page_wrap--around_the_world-zh-tw .accordion-wrap .bar-title:after {
	content: "";
	display: block;
	width: 1.4rem;
	height: 0.8rem;
	background: url('https://nativecamp-public-web-production.s3.amazonaws.com/user/webroot/images/campaign/around_the_world/common/chevron-down-solid-white.svg') no-repeat center;
	background-size: contain;
	position: absolute;
	right: 1.5rem;
	transition: .2s all linear;
}
.page_wrap--around_the_world .accordion-wrap .accordion-contents, .page_wrap--around_the_world-zh-tw .accordion-wrap .accordion-contents {
	display: none;
	border-radius: 0 0 2.2rem 2.2rem;
	padding: 2rem 1.5rem;
	background: #F5F5F5;
	color: #555555;
}
.page_wrap--around_the_world .accordion-wrap .accordion-contents p, .page_wrap--around_the_world-zh-tw .accordion-wrap .accordion-contents p {
	color: #333;
    font-weight: 400;
}
.page_wrap--around_the_world .accordion-wrap img, .page_wrap--around_the_world-zh-tw .accordion-wrap img {
	width: 50rem;
	margin: 1.5rem auto 0;
	display: block;
	max-width: 100%;
}

.page_wrap--around_the_world .desc .hashtag{
	width: 33.5rem;
	margin: 4rem auto 0;
	padding: 3rem 3rem 3.6rem;
	border: 0.1rem solid #DDDDDD;
	color: #707070;
	border-radius: 1.2rem;
}
.page_wrap--around_the_world .desc .hashtag .tag_list{
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	flex-direction: column;
	margin-bottom: 2rem;
}
.page_wrap--around_the_world .desc .hashtag .tag_list .list-item{
	color: #333333;
	font-size: 1.6rem;
	font-weight: bold;
	width: 32rem;
}

.page_wrap--around_the_world .desc .hashtag .button_copy{
	color: #fff;
	background: #f1890e;
	font-size: 1.6rem;
	font-weight: bold;
	width: 27.5rem;
	height: 4.8rem;
	line-height: 4.8rem;
	border-radius: 1rem;
	box-sizing: border-box;
	box-shadow: 0 0.6rem 0 0 #c16e0b;
	border: none;
	text-align: center;
    padding: 0;
    margin: 0 auto;
}

.page_wrap--around_the_world .desc .hashtag .button_copy .copy-done {
    display: none;
    width: 2rem;
}

.page_wrap--around_the_world .desc .text_step5{
   color: #D91C0B;
   margin-bottom: 0;
}

.page_wrap--around_the_world .action.orange_btn{
    margin: 3rem auto 0.6rem;
    width: 100%;
}

.insta_swiper {
    overflow: hidden;
}

.sec_step .insta_item {
    text-align: center;
}

.notice .insta_items{
    text-align: center;
}

.page_wrap--around_the_world .notice.notice_style.swiper_block {
    padding: 1.6rem 0 0;
}

.page_wrap--around_the_world .notice.notice_style.swiper_block .insta_wrap .swiper-wrapper{
    margin-top: 0; 
    margin-left: 0;
}

.page_wrap--around_the_world .notice.notice_style.swiper_block .insta_wrap .swiper-wrapper .swiper-slide{
    width: auto;
    margin: 0;
    text-indent: unset;
    font-size: 0;
    line-height: 0;
}

.sec_text_btn{
    color: #707070;
}

/* END NJ-84659 */

/* NJ-88101 Start */
.page_wrap.page_wrap--ai_speaking_test.campaign-container {
    display: flex;
    flex-direction: column;
    font-family: 'Noto Sans JP', sans-serif;
}
.page_wrap.page_wrap--ai_speaking_test.campaign-container .page_inner .container {
    padding-bottom: 4.4rem;
}
.page_wrap.page_wrap--ai_speaking_test .hero-section {
    display: flex;
    padding-bottom: 4rem;
    flex-direction: column;
    align-items: center;
    gap: 30px;
}
.page_wrap.page_wrap--ai_speaking_test .hero-image {
    width: 37.5rem;
    height: 37.5rem;
}
.page_wrap.page_wrap--ai_speaking_test .campaign-title {
    width: 33.5rem;
    color: #0050AD;
    text-align: center;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 140%;
    height: 4.4rem;
}
.page_wrap.page_wrap--ai_speaking_test .period-container {
    width: 33.5rem;
    height: 12.9rem;
    position: relative;
}
.page_wrap.page_wrap--ai_speaking_test .campaign-period {
    width: 33.5rem;
    color: #333;
    text-align: center;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 140%;
    position: absolute;
    left: 0;
    top: 85px;
    height: 4.4rem;
}
.page_wrap.page_wrap--ai_speaking_test .period-badge {
    width: 26.1rem;
    height: 5.5rem;
    margin: 0 auto;
    position: relative;
}
.page_wrap.page_wrap--ai_speaking_test .period-badge-image {
    width: 26.1rem;
    height: 5.5rem;
    overflow: hidden;
}
.page_wrap.page_wrap--ai_speaking_test .period-badge-content {
    position: absolute;
    left: 31px;
    top: 0;
    width: 20rem;
    height: 4.4rem;
}
.page_wrap.page_wrap--ai_speaking_test .period-badge-line {
    width: 100%;
    height: 100%;
    background-color: #f1890e;
}
.page_wrap.page_wrap--ai_speaking_test .campaign-content {
    display: flex;
    padding-bottom: 4rem;
    flex-direction: column;
    align-items: center;
    gap: 30px;
}
.page_wrap.page_wrap--ai_speaking_test .section-header {
    display: flex;
    width: 37.5rem;
    justify-content: center;
    align-items: center;
    background-color: #0050AD;
}
.page_wrap.page_wrap--ai_speaking_test .section-title {
    width: 100%;
    color: #fff;
    text-align: center;
    font-size: 1.6rem;
    font-weight: 700;
    padding: 1rem;
    background-color: #0050AD;
}
.page_wrap.page_wrap--ai_speaking_test .events-list {
    display: flex;
    width: 33.5rem;
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
}
.page_wrap.page_wrap--ai_speaking_test .event-button {
    display: flex;
    width: 100%;
    height: auto;
    padding: 1rem 1rem 1rem 1.5rem;
    justify-content: space-between;
    align-items: center;
    border: 2px solid #333;
    background-color: #fff;
    box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
    cursor: pointer;
}
.page_wrap.page_wrap--ai_speaking_test .event-header {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}
.page_wrap.page_wrap--ai_speaking_test .event-title {
    color: #333;
    margin: 0;
    font-size: 1.6rem;
    font-weight: 700;
}
.page_wrap.page_wrap--ai_speaking_test .event-subtitle {
    color: #333;
    margin: 0 auto;
    font-size: 1.6rem;
    font-weight: 700;
    text-align: left;
}
.page_wrap.page_wrap--ai_speaking_test .event-icon {
    transform: rotate(0deg);
    transition: transform 0.3s ease;
}
.page_wrap.page_wrap--ai_speaking_test .event-button[aria-expanded="true"] .event-icon {
    transform: rotate(180deg);
}
.page_wrap.page_wrap--ai_speaking_test .event-details {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 30px;
}
.page_wrap.page_wrap--ai_speaking_test .event-details-header {
    display: flex;
    width: 37.5rem;
    justify-content: center;
    align-items: center;
    background-color: #0050AD;
}
.page_wrap.page_wrap--ai_speaking_test .event-details-title {
    width: 100%;
    color: #fff;
    text-align: center;
    font-size: 1.6rem;
    font-weight: 700;
    padding: 1rem;
}
.page_wrap.page_wrap--ai_speaking_test .event-description {
    width: 33.5rem;
    color: #333;
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 140%;
}
.page_wrap.page_wrap--ai_speaking_test .steps-section {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 33.5rem;
    gap: 1.5rem;
}
.page_wrap.page_wrap--ai_speaking_test .steps-header {
    display: flex;
    width: 33.5rem;
    align-items: center;
    gap: 5px;
}
.page_wrap.page_wrap--ai_speaking_test .steps-marker {
    width: .4rem;
    height: 2.3rem;
    background-color: #0050AD;
}
.page_wrap.page_wrap--ai_speaking_test .steps-title {
    color: #0050AD;
    font-size: 1.6rem;
    font-weight: 700;
}
.page_wrap.page_wrap--ai_speaking_test .steps-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 30px;
}
.page_wrap.page_wrap--ai_speaking_test .step {
    display: flex;
    width: 33.5rem;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
}
.page_wrap.page_wrap--ai_speaking_test .step-number {
    color: #fff;
    text-align: center;
    font-size: 1.6rem;
    font-weight: 700;
    padding: .8rem 2rem;
    border-radius: 50px;
    background-color: #0050AD;
}
.page_wrap.page_wrap--ai_speaking_test .step-description {
    color: #333;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 140%;
}
.page_wrap.page_wrap--ai_speaking_test .step-image-container {
    display: flex;
    width: 30.5rem;
    justify-content: center;
    align-items: center;
    border-radius: 12px;
    border: 1px solid #ddd;
    overflow: hidden;
}
.page_wrap.page_wrap--ai_speaking_test .step-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    margin: 0 auto;
}
.page_wrap.page_wrap--ai_speaking_test .step-arrow {
    width: 12rem;
    height: 3rem;
}
.page_wrap.page_wrap--ai_speaking_test .apply_button {
    background: #1DC9A9;
    width: 33.5rem;
    height: 5.2rem;
    text-align: center;
    align-content: center;
    color: #FFF;
    border-radius: 10px;
    margin: 40px auto 0;
    font-size: 1.6rem;
    font-weight: 700;
    cursor: pointer;
    box-shadow: 0 6px 0 0 #03A98E;
    display: flex;
    align-items: center;
    justify-content: space-evenly;
    margin: auto auto 4px;
}
.page_wrap.page_wrap--ai_speaking_test .event-button .event-arrow-down {
    display: inline-block;
    vertical-align: middle;
    width: 1.4rem;
    height: 0.8rem;
    content: url('/images/campaign/ai_english_conversation/chevron-down-solid.webp');
}
.page_wrap.page_wrap--ai_speaking_test .footer-header .footer-content-left {
    content: url('/images/campaign/ai_english_conversation/left-orange-qoute.webp');
    width: 3rem;
}
.page_wrap.page_wrap--ai_speaking_test .footer-header .footer-content-right {
    content: url('/images/campaign/ai_english_conversation/right-orange-qoute.webp');
    width: 3rem;
}
.page_wrap.page_wrap--ai_speaking_test .login-notice {
    color: #f00;
    text-align: center;
    font-size: 1.5rem;
    margin: 1.5rem 0 1.8rem;
    width: 100%;
}
.page_wrap.page_wrap--ai_speaking_test .event-buttons {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2rem;
}
.page_wrap.page_wrap--ai_speaking_test .btn_orange{
    width: 33.5rem;
    height: 5.2rem;
    font-size: 1.6rem;
    font-weight: bold;
    text-align: center;
    border-radius: 1rem;
    box-sizing: border-box;
    border: none;
    color: #fff;
    background: #F1890E;
    box-shadow: 0px 6px 0px 0px #c16e0b;
    line-height: 5.2rem;
    pointer-events: pointer;
}
.page_wrap.page_wrap--ai_speaking_test .present-section-container {
    margin: 3rem 0;
}
.page_wrap.page_wrap--ai_speaking_test .present-section-border {
    position: relative;
    border: 0.1rem solid var(--border-medium);
    border-radius: 1.2rem;
    margin-top: 1.1rem;
}
.page_wrap.page_wrap--ai_speaking_test .present-section-header {
    position: absolute;
    top: -1.1rem;
    left: 50%;
    transform: translateX(-50%);
    background: var(--background-white);
    padding: 0 1.6rem;
    z-index: 1;
}
.page_wrap.page_wrap--ai_speaking_test .present-section-header h3 {
    font-size: 1.6rem;
    font-weight: 700;
    color: var(--text-primary);
    margin: 0;
    line-height: 1.4479999542236328em;
}
.page_wrap.page_wrap--ai_speaking_test .present-section-content {
    padding: 4rem 1.6rem;
    text-align: center;
}
.page_wrap.page_wrap--ai_speaking_test .coin-display {
    display: flex;
    justify-content: center;
    margin-top: 4rem;
}
.page_wrap.page_wrap--ai_speaking_test .present-text {
    font-size: 1.4rem;
    font-weight: 400;
    color: var(--text-primary);
    line-height: 2rem;
    margin: 0;
}
.page_wrap.page_wrap--ai_speaking_test .notice {
    width: 100%;
    padding: 1.5rem;
    background: #f5f5f5;
    box-sizing: border-box;
}
.page_wrap.page_wrap--ai_speaking_test .notice .notice_list .list-item{
    padding-left: 1em;
    text-indent: -1em;
    font-size: 1.2rem;
    color: #333333;
}
.page_wrap.page_wrap--ai_speaking_test .notice .notice_list .list-item:not(:last-child) {
    margin-bottom: .4rem;
}
.page_wrap.page_wrap--ai_speaking_test .stamp .stamp_header img{
    width: 100%;
    display: block;
    height: auto;
}
.page_wrap.page_wrap--ai_speaking_test .stamp_wrap{
    border: 2px solid #44D0D5;
    border-radius: 1rem;
    overflow: hidden;
}
.page_wrap.page_wrap--ai_speaking_test .stamp .stamp_content {
    position: relative;
    background: #F3F9FF;
    padding: 0 1.6rem 2rem;
}
/* Stamp Calendar */
.page_wrap.page_wrap--ai_speaking_test {
    background: #fff;
}

.page_wrap--ai_speaking_test .stamp-calendar {
    background: var(--background-white-alt);
    border-radius: 0;
    padding: 1rem 0 0;
    border-top: 0;
    border-bottom: 0;
    position: relative;
    overflow: hidden;
}

.page_wrap--ai_speaking_test .stamp-banner {
    width: 100%;
    height: auto;
}

.page_wrap--ai_speaking_test .stamp-banner img {
    width: 100%;
    height: auto;
    display: block;
}

.page_wrap--ai_speaking_test .stamp-container {
    position: relative;
    background: var(--background-white-alt);
  	border: 0.2rem solid #C89950;
    border-top: none;
    padding: 1.5rem 1rem 2rem;
    margin-bottom: 3.5rem;
}

.page_wrap--ai_speaking_test .coin-counter {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    margin-bottom: 1.5rem;
}

.page_wrap--ai_speaking_test .coin-text {
    display: flex;
    align-items: flex-end;
    gap: 0.5rem;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 1.4rem;
    font-weight: 700;
    color: #333333;
    line-height: 1.4rem;
    margin: 0;
}

.page_wrap--ai_speaking_test .stamp-number {
    font-family: "Noto Sans JP", sans-serif;
    font-size: 2.4rem;
    font-weight: 700;
    color: #FF0000;
    line-height: 1.9rem;
    text-align: right;
}

.page_wrap--ai_speaking_test .calendar-grid {
    width: 100%;
    margin: 0 auto;
}

.page_wrap--ai_speaking_test .calendar-header {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 0;
}

.page_wrap--ai_speaking_test .calendar-header-cell {
    height: 2.8rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 1.4rem;
    font-weight: 400;
    color: var(--text-secondary);
    background: var(--background-white-alt);
    border: 0.1rem solid #E4E4E4;
    border-bottom: 0.1rem solid #E4E4E4;
    padding: 0.4rem 0;
    line-height: 2rem;
    text-align: center;
}

.page_wrap--ai_speaking_test .calendar-header-cell:not(:last-child) {
    border-right: none;
}

.page_wrap--ai_speaking_test .calendar-body {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.page_wrap--ai_speaking_test .calendar-row {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 0;
}

.page_wrap--ai_speaking_test .calendar-row:last-child {
    margin-bottom: 0;
}

.page_wrap--ai_speaking_test .calendar-cell {
    height: 6rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: var(--background-white-alt);
    border: 0.1rem solid #E4E4E4;
    border-top: none;
    padding: 0.2rem 0 0 0;
    position: relative;
}

.page_wrap--ai_speaking_test .calendar-cell:not(:last-child) {
    border-right: none;
}

.page_wrap--ai_speaking_test .calendar-cell.empty {
    background: var(--background-white-alt);
    border: 0.1rem solid #E4E4E4;
    border-top: none;
}

.page_wrap--ai_speaking_test .calendar-cell.empty:not(:last-child) {
    border-right: none;
}

.page_wrap--ai_speaking_test .calendar-date{
    font-family: "Noto Sans JP", sans-serif;
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--text-secondary);
    line-height: 2rem;
    text-align: center;
    margin: 0;
    margin-top: 1rem;
}

.page_wrap.page_wrap--ai_speaking_test .stamp-placeholder {
    width: 3.6rem;
    height: 3.3rem;
    display: flex;
    align-items: center;
    justify-content: center;
	margin-bottom: 1.1rem;
    border-radius: 0.4rem;
}

.page_wrap.page_wrap--ai_speaking_test .stamp-placeholder img {
    width: 3.6rem;
    height: 2.9rem;
    object-fit: contain;
}
.page_wrap.page_wrap--ai_speaking_test .stamp_count_title {
    text-align: center;
    font-size: 1.4rem;
    font-weight: bold;
    padding: 1.5rem 0;
}
.page_wrap.page_wrap--ai_speaking_test .stamp_count {
    color: #FFA313;
    font-size: 2.4rem;
    font-weight: bold;
    font-family: "Noto Sans JP", sans-serif;
}
.page_wrap.page_wrap--ai_speaking_test .list_present {
    border: #F1890E 1px solid;
    width: 100%;
}
.page_wrap.page_wrap--ai_speaking_test table {
    width: 100%;
}
.page_wrap.page_wrap--ai_speaking_test table tr {
    display: flex;
    justify-content: center;
    align-items: center;
}
.page_wrap.page_wrap--ai_speaking_test table tr th {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #FFF;
    font-size: 1.6rem;
    background-color: #F1890E;
    border: none;
    padding: 1rem 0;
}
.page_wrap.page_wrap--ai_speaking_test table tr th::before,
.page_wrap.page_wrap--ai_speaking_test table tr th::after{
    content: '';
    width: 2.3rem;
    height: 1.9rem;
    display: inline-block;
    position: relative;
    background-image: url(../../../mobile/images/campaign/around_the_world/coin.png);
    background-repeat: no-repeat;
    background-size: contain;
}
.page_wrap.page_wrap--ai_speaking_test table tr th::before{
    left: -2rem;
}
.page_wrap.page_wrap--ai_speaking_test table tr th::after{
    right: -2rem;
}
.page_wrap.page_wrap--ai_speaking_test table tr td{
    flex: 1;
    color: #555555;
    font-size: 1.2rem;
    font-weight: bold;
    text-align: center;
    padding: 1.6rem 0;
}
.page_wrap.page_wrap--ai_speaking_test table tr:nth-child(2) {
    border-bottom: 1px solid #F1890E;
}
.page_wrap.page_wrap--ai_speaking_test table tr:nth-child(2) td{
    color: #F1890D;
    padding: 0.75rem 0;
}
.page_wrap.page_wrap--ai_speaking_test table tr:nth-child(2n):not(:nth-child(2)){
    background-color: #FBFBFB;
}
.page_wrap.page_wrap--ai_speaking_test .apply_btn {
    background: #1DC9A9;
    width: 33.5rem;
    height: 5.2rem;
    text-align: center;
    align-content: center;
    color: #FFF;
    border-radius: 1rem;
    margin: 4rem auto 0;
    font-size: 1.6rem;
    font-weight: 700;
    cursor: pointer;
    box-shadow: 0 0.6rem 0 0 #03A98E;
    display: flex;
    align-items: center;
    justify-content: space-evenly;
    margin: auto auto .4rem;
}
.page_wrap.page_wrap--ai_speaking_test .t_red,
.page_wrap.page_wrap--ai_speaking_test .notice .notice_list .list-item.t_red{
	color: #D91C0B;
}
.page_wrap.page_wrap--ai_speaking_test .t_color{
	color: #0050AD;
}

.page_wrap.page_wrap--ai_speaking_test .f_red {
    color: #D91C0B;
    font-size: 1.4rem;
    padding-left: 1em;
    text-indent: -1em;
}

.page_wrap.page_wrap--ai_speaking_test .container .trial_area .action .button_trial {
    width: 33.5rem;
    max-width: 100%;
}

@media (max-width: 640px) {
    .page_wrap.page_wrap--ai_speaking_test .hero-image {
        width: 100%;
        height: auto;
    }
    .page_wrap.page_wrap--ai_speaking_test .campaign-title {
        width: 100%;
    }
    .page_wrap.page_wrap--ai_speaking_test .period-container {
        width: 100%;
    }
    .page_wrap.page_wrap--ai_speaking_test .campaign-period {
        width: 100%;
    }
    .page_wrap.page_wrap--ai_speaking_test .section-header {
        width: 100%;
    }
    .page_wrap.page_wrap--ai_speaking_test .event-details-header {
        width: 100%;
    }
    .page_wrap.page_wrap--ai_speaking_test .steps-header {
        width: 100%;
    }
    .page_wrap.page_wrap--ai_speaking_test .step {
        width: 100%;
    }
}

.page_wrap.page_wrap--ai_speaking_test.afterlesson .stamp .stamp_content {
    padding: 1.7rem 1.65rem;
}
.page_wrap.page_wrap--ai_speaking_test .sec_main .sec_ttl,
.page_wrap.page_wrap--ai_speaking_test.afterlesson .sec_main .sec_ttl {
    font-size: 1.6rem;
    font-weight: bold;
    color: #18858D;
    text-align: center;
    margin-bottom: 1.1rem;
}
.page_wrap.page_wrap--ai_speaking_test .sec_main .t_underline,
.page_wrap.page_wrap--ai_speaking_test.afterlesson .sec_main .t_underline {
    text-decoration: underline;
    color: #00ACEE;
}

/* NJ-88101 End */

/* NJ-92920 Start */
.page_wrap.page_wrap--callan_method.campaign-container {
    display: flex;
    flex-direction: column;
    font-family: 'Noto Sans JP', sans-serif;
}

.page_wrap.page_wrap--callan_method.campaign-container .page_inner .container {
    padding-bottom: 4.4rem;
}

.page_wrap.page_wrap--callan_method .hero-section {
    display: flex;
    padding-bottom: 4rem;
    flex-direction: column;
    align-items: center;
    gap: 30px;
}

.page_wrap.page_wrap--callan_method .sec-main {
    padding: 0 2rem;
}

.page_wrap.page_wrap--callan_method .hero-image {
    width: 37.5rem;
    height: auto;
}

.page_wrap.page_wrap--callan_method .campaign-title {
    width: 100%;
    color: #0050AD;
    text-align: center;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 140%;
    height: 4.4rem;
    margin-bottom: 3rem;
}

.page_wrap.page_wrap--callan_method .period-container {
    width: 100%;
    height: 12.9rem;
    position: relative;
}

.page_wrap.page_wrap--callan_method .campaign-period {
    width: 100%;
    color: #333;
    text-align: center;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 140%;
    position: absolute;
    left: 0;
    top: 85px;
    height: 4.4rem;
}

.page_wrap.page_wrap--callan_method .period-badge {
    width: 26.1rem;
    height: 5.5rem;
    margin: 0 auto;
    position: relative;
}

.page_wrap.page_wrap--callan_method .period-badge-image {
    width: 26.1rem;
    height: 5.5rem;
    overflow: hidden;
}

.page_wrap.page_wrap--callan_method .period-badge-content {
    position: absolute;
    left: 31px;
    top: 0;
    width: 20rem;
    height: 4.4rem;
}

.page_wrap.page_wrap--callan_method .period-badge-line {
    width: 100%;
    height: 100%;
    background-color: #f1890e;
}

.page_wrap.page_wrap--callan_method .campaign-content {
    display: flex;
    padding-bottom: 4rem;
    flex-direction: column;
    align-items: center;
    gap: 30px;
}

.page_wrap.page_wrap--callan_method .section-header {
    display: flex;
    width: 37.5rem;
    justify-content: center;
    align-items: center;
    background-color: #0050AD;
}

.page_wrap.page_wrap--callan_method .section-title {
    width: 100%;
    color: #fff;
    text-align: center;
    font-size: 1.6rem;
    font-weight: 700;
    padding: 1rem;
    background-color: #0050AD;
}

.page_wrap.page_wrap--callan_method .inner-div {
    padding: 0 2rem;
}

.page_wrap.page_wrap--callan_method .events-list {
    display: flex;
    width: 100%;
    padding: 0 2rem;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}

.page_wrap.page_wrap--callan_method .event-button {
    display: flex;
    width: 100%;
    height: auto;
    padding: 1rem 1rem 1rem 1.5rem;
    justify-content: space-between;
    align-items: center;
    border: 2px solid #333;
    background-color: #fff;
    box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
    cursor: pointer;
}

.page_wrap.page_wrap--callan_method .event-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    text-align: left;
}

.page_wrap.page_wrap--callan_method .event-title {
    color: #333;
    margin: 0;
    font-size: 1.6rem;
    font-weight: 700;
}

.page_wrap.page_wrap--callan_method .event-subtitle {
    color: #333;
    margin: 0 auto;
    font-size: 1.6rem;
    font-weight: 700;
    text-align: left;
}

.page_wrap.page_wrap--callan_method .event-icon {
    transform: rotate(0deg);
    transition: transform 0.3s ease;
}

.page_wrap.page_wrap--callan_method .event-button[aria-expanded="true"] .event-icon {
    transform: rotate(180deg);
}

.page_wrap.page_wrap--callan_method .event-details {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 30px;
}

.page_wrap.page_wrap--callan_method .event-details-header {
    display: flex;
    width: 100%;
    justify-content: center;
    align-items: center;
    background-color: #0050AD;
}

.page_wrap.page_wrap--callan_method .event-details-title {
    width: 100%;
    color: #fff;
    text-align: center;
    font-size: 1.6rem;
    font-weight: 700;
    padding: 1rem;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.page_wrap.page_wrap--callan_method .event-details-title .event-number {
    display: block;
}

.page_wrap.page_wrap--callan_method .event-details-title .event-name {
    display: block;
    margin-top: 0.8rem;
}

.page_wrap.page_wrap--callan_method .event-description {
    width: 100%;
    color: #333;
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 140%;
    margin-bottom: 1.5rem;
}

.page_wrap.page_wrap--callan_method .event-notice {
    display: flex;
    flex-direction: column;
    gap: 0;
    width: 100%;
    margin-bottom: 1.5rem;
}

.page_wrap.page_wrap--callan_method .event-notice p {
    display: flex;
    align-items: center;
    color: #d91c0b;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 0.028rem;
    margin: 0;
    padding-left: 1em;
    text-indent: -1em;
}

.page_wrap.page_wrap--callan_method .steps-section {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    gap: 1.5rem;
}

.page_wrap.page_wrap--callan_method .steps-header {
    display: flex;
    width: 100%;
    align-items: center;
    gap: 5px;
}

.page_wrap.page_wrap--callan_method .steps-marker {
    width: .4rem;
    height: 2.3rem;
    background-color: #0050AD;
}

.page_wrap.page_wrap--callan_method .steps-title {
    color: #0050AD;
    font-size: 1.6rem;
    font-weight: 700;
}

.page_wrap.page_wrap--callan_method .steps-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3.5rem;
}

.page_wrap.page_wrap--callan_method .step {
    display: flex;
    width: 100%;
    flex-direction: column;
    align-items: self-start;
    gap: 1.6rem;
}

.page_wrap.page_wrap--callan_method .step-number {
    color: #fff;
    text-align: center;
    font-size: 1.6rem;
    font-weight: 700;
    padding: .8rem 2rem;
    border-radius: 50px;
    background-color: #0050AD;
}

.page_wrap.page_wrap--callan_method .step-description {
    color: #333;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 140%;
}

.page_wrap.page_wrap--callan_method .step-image-container {
    display: flex;
    width: 33.5rem;
    justify-content: center;
    align-items: center;
    border-radius: 12px;
    border: 1px solid #ddd;
    overflow: hidden;
    margin: 2rem auto 0;
}

.page_wrap.page_wrap--callan_method .step-image {
    width: 100%;
    height: auto;
    object-fit: cover;
    margin: 0 auto;
}

.page_wrap.page_wrap--callan_method .step-arrow {
    width: 12rem;
    height: 3rem;
}

.page_wrap.page_wrap--callan_method .copy-hashtag-box {
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 1.2rem;
    padding: 3rem 2rem;
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 2rem;
    align-items: center;
}

.page_wrap.page_wrap--callan_method .hashtag-text {
    width: 100%;
}

.page_wrap.page_wrap--callan_method .hashtag-text p {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: normal;
    color: #333;
    text-align: left;
    margin: 0;
}

.page_wrap.page_wrap--callan_method .apply_button {
    background: #1DC9A9;
    width: 100%;
    height: 5.2rem;
    text-align: center;
    align-content: center;
    color: #FFF;
    border-radius: 10px;
    margin: 40px auto 0;
    font-size: 1.6rem;
    font-weight: 700;
    cursor: pointer;
    box-shadow: 0 6px 0 0 #03A98E;
    display: flex;
    align-items: center;
    justify-content: space-evenly;
    margin: auto auto 4px;
}

.page_wrap.page_wrap--callan_method .event-button .event-arrow-down {
    display: inline-block;
    vertical-align: middle;
    width: 1.4rem;
    height: 0.8rem;
    content: url('https://assets2.nativecamps.com/user/webroot/images/campaign/common/chevron_down.svg');
}

.page_wrap.page_wrap--callan_method .login-notice {
    color: #f00;
    text-align: center;
    font-size: 1.5rem;
    margin: 1.5rem 0 1.8rem;
    width: 100%;
}

.page_wrap.page_wrap--callan_method .event-buttons {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2rem;
}

.page_wrap.page_wrap--callan_method .event-buttons p {
    padding-left: 1em;
    text-indent: -1em;
}

.page_wrap.page_wrap--callan_method .event-buttons .btn_orange.disabled {
    background: #F4F4F4;
    color: #CCC;
    box-shadow: unset;
    pointer-events: none;
}

.page_wrap.page_wrap--callan_method .btn_orange {
    width: 100%;
    height: 5.2rem;
    font-size: 1.6rem;
    font-weight: bold;
    text-align: center;
    border-radius: 1rem;
    box-sizing: border-box;
    border: none;
    color: #fff;
    background: #F1890E;
    box-shadow: 0px 6px 0px 0px #c16e0b;
    line-height: 5.2rem;
}

.page_wrap.page_wrap--callan_method .hashtag {
    background: #FFFFFF;
    border: 1px solid #DDDDDD;
    border-radius: 1.2rem;
    padding: 3rem 2rem;
    box-sizing: border-box;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2rem;
    margin: 2.5rem auto 0;
}

.page_wrap.page_wrap--callan_method .hashtag .tag_list {
    width: 100%;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1rem;
    list-style: none;
}

.page_wrap.page_wrap--callan_method .hashtag .tag_list .list-item {
    font-weight: 700;
    color: #333333;
}

.page_wrap.page_wrap--callan_method .hashtag .action {
    width: 100%;
    display: flex;
    justify-content: center;
}

.page_wrap.page_wrap--callan_method .hashtag .btn_copy {
    background: #f1890e;
    color: #ffffff;
    font-size: 1.6rem;
    font-weight: 700;
    border: none;
    border-radius: 1rem;
    padding: 1.4rem 2rem;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    height: 5.3rem;
    cursor: pointer;
    box-shadow: 0 6px 0 0 #c16e0b;
    display: flex;
    align-items: center;
    justify-content: center;
}

.page_wrap.page_wrap--callan_method .present-section-container {
    margin: 3rem 0;
}

.page_wrap.page_wrap--callan_method .present-section-border {
    position: relative;
    border: 0.1rem solid var(--border-medium);
    border-radius: 1.2rem;
    margin-top: 1.1rem;
}

.page_wrap.page_wrap--callan_method .present-section-header {
    position: absolute;
    top: -1.1rem;
    left: 50%;
    transform: translateX(-50%);
    background: var(--background-white);
    padding: 0 1.6rem;
    z-index: 1;
}

.page_wrap.page_wrap--callan_method .present-section-header h3 {
    font-size: 1.6rem;
    font-weight: 700;
    color: var(--text-primary);
    margin: 0;
    line-height: 1.4479999542236328em;
}

.page_wrap.page_wrap--callan_method .present-section-content {
    padding: 4rem 1.6rem;
    text-align: center;
}

.page_wrap.page_wrap--callan_method .coin-display {
    display: flex;
    justify-content: center;
    margin-top: 4rem;
}

.page_wrap.page_wrap--callan_method .present-text {
    font-size: 1.4rem;
    font-weight: 400;
    color: var(--text-primary);
    line-height: 2rem;
    margin: 0;
}

.page_wrap.page_wrap--callan_method .notice {
    width: 100%;
    padding: 2rem;
    background: #f5f5f5;
    box-sizing: border-box;
}

.page_wrap.page_wrap--callan_method .notice .notice_list .list-item {
    padding-left: 1em;
    text-indent: -1em;
    font-size: 1.2rem;
    color: #333333;
}

.page_wrap.page_wrap--callan_method .notice .notice_list .list-item:not(:last-child) {
    margin-bottom: .4rem;
}

/* Stamp Card - Mobile */
.page_wrap.page_wrap--callan_method .stamp_wrap {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
}

.page_wrap.page_wrap--callan_method .stamp-card {
    background: #D8ECFF;
    border: 2px solid #3285E5;
    border-radius: 0.8rem;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.page_wrap.page_wrap--callan_method .stamp-header {
    width: 100%;
    height: 9.1rem;
    position: relative;
}

.page_wrap.page_wrap--callan_method .stamp-header-image {
    width: 100%;
    height: auto;
    object-fit: cover;
    display: block;
}

.page_wrap.page_wrap--callan_method .stamp-content {
    padding: 1.6rem 1rem 1rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.6rem;
}

.page_wrap.page_wrap--callan_method .stamp-counter {
    background: #fff;
    width: 20.1rem;
    height: 3.7rem;
    border-radius: 1.9rem;
    padding: 0.1rem 0.8rem;
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 0.4rem;
}

.page_wrap.page_wrap--callan_method .stamp-counter-text {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 1.4rem;
    font-weight: 700;
    color: #333;
    line-height: normal;
    text-align: center;
    white-space: nowrap;
    margin: 0;
    display: flex;
    align-items: baseline;
    gap: 0.4rem;
}

.page_wrap.page_wrap--callan_method .stamp-counter-text .stamp-counter-number {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 2.4rem;
    font-weight: 700;
    color: #E83936;
    line-height: normal;
    white-space: nowrap;
}

.page_wrap.page_wrap--callan_method .stamp-list {
    width: 31.5rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem 0.5rem;
    align-items: center;
    justify-content: flex-start;
}

.page_wrap.page_wrap--callan_method .stamp-item {
    width: 7.5rem;
    background: #fff;
    border-radius: 0.4rem;
    box-shadow: 0px 0px 7px 0px rgba(0, 28, 82, 0.2);
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.page_wrap.page_wrap--callan_method .stamp-item-header {
    background: #0050AD;
    width: 100%;
    padding: 0.2rem 0.8rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

.page_wrap.page_wrap--callan_method .stamp-item-title {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 1.2rem;
    font-weight: 700;
    color: #fff;
    text-align: center;
    white-space: nowrap;
    line-height: 1.4;
    margin: 0;
}

.page_wrap.page_wrap--callan_method .stamp-item-content {
    border-left: 1px solid #E5E5E5;
    border-right: 1px solid #E5E5E5;
    border-bottom: 1px solid #E5E5E5;
    border-radius: 0 0 0.4rem 0.4rem;
    padding: 0.8rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 1;
}

.page_wrap.page_wrap--callan_method .stamp-item-coin {
    width: 4rem;
    height: 4rem;
    object-fit: contain;
    display: block;
}

/* Stamp Calendar - Legacy */
.page_wrap.page_wrap--callan_method {
    background: #fff;
}

.page_wrap--callan_method .stamp-calendar {
    background: var(--background-white-alt);
    border-radius: 0;
    padding: 1rem 0 0;
    border-top: 0;
    border-bottom: 0;
    position: relative;
    overflow: hidden;
}

.page_wrap--callan_method .stamp-banner {
    width: 100%;
    height: auto;
}

.page_wrap--callan_method .stamp-banner img {
    width: 100%;
    height: auto;
    display: block;
}

.page_wrap--callan_method .stamp-container {
    position: relative;
    background: var(--background-white-alt);
    border: 0.2rem solid #C89950;
    border-top: none;
    padding: 1.5rem 1rem 2rem;
    margin-bottom: 3.5rem;
}

.page_wrap--callan_method .coin-counter {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    margin-bottom: 1.5rem;
}

.page_wrap--callan_method .coin-text {
    display: flex;
    align-items: flex-end;
    gap: 0.5rem;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 1.4rem;
    font-weight: 700;
    color: #333333;
    line-height: 1.4rem;
    margin: 0;
}

.page_wrap--callan_method .stamp-number {
    font-family: "Noto Sans JP", sans-serif;
    font-size: 2.4rem;
    font-weight: 700;
    color: #FF0000;
    line-height: 1.9rem;
    text-align: right;
}

.page_wrap--callan_method .calendar-grid {
    width: 100%;
    margin: 0 auto;
}

.page_wrap--callan_method .calendar-header {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 0;
}

.page_wrap--callan_method .calendar-header-cell {
    height: 2.8rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 1.4rem;
    font-weight: 400;
    color: var(--text-secondary);
    background: var(--background-white-alt);
    border: 0.1rem solid #E4E4E4;
    border-bottom: 0.1rem solid #E4E4E4;
    padding: 0.4rem 0;
    line-height: 2rem;
    text-align: center;
}

.page_wrap--callan_method .calendar-header-cell:not(:last-child) {
    border-right: none;
}

.page_wrap--callan_method .calendar-body {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.page_wrap--callan_method .calendar-row {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 0;
}

.page_wrap--callan_method .calendar-row:last-child {
    margin-bottom: 0;
}

.page_wrap--callan_method .calendar-cell {
    height: 6rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: var(--background-white-alt);
    border: 0.1rem solid #E4E4E4;
    border-top: none;
    padding: 0.2rem 0 0 0;
    position: relative;
}

.page_wrap--callan_method .calendar-cell:not(:last-child) {
    border-right: none;
}

.page_wrap--callan_method .calendar-cell.empty {
    background: var(--background-white-alt);
    border: 0.1rem solid #E4E4E4;
    border-top: none;
}

.page_wrap--callan_method .calendar-cell.empty:not(:last-child) {
    border-right: none;
}

.page_wrap--callan_method .calendar-date {
    font-family: "Noto Sans JP", sans-serif;
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--text-secondary);
    line-height: 2rem;
    text-align: center;
    margin: 0;
    margin-top: 1rem;
}

.page_wrap.page_wrap--callan_method .stamp-placeholder {
    width: 3.6rem;
    height: 3.3rem;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.1rem;
    border-radius: 0.4rem;
}

.page_wrap.page_wrap--callan_method .stamp-placeholder img {
    width: 3.6rem;
    height: 2.9rem;
    object-fit: contain;
}

.page_wrap.page_wrap--callan_method .stamp_count_title {
    text-align: center;
    font-size: 1.4rem;
    font-weight: bold;
    padding: 1.5rem 0;
}

.page_wrap.page_wrap--callan_method .stamp_count {
    color: #FFA313;
    font-size: 2.4rem;
    font-weight: bold;
    font-family: "Noto Sans JP", sans-serif;
}

.page_wrap.page_wrap--callan_method .list_present {
    border: #F1890E 1px solid;
    width: 100%;
}

.page_wrap.page_wrap--callan_method .apply_btn {
    background: #1DC9A9;
    width: 100%;
    height: 5.2rem;
    text-align: center;
    align-content: center;
    color: #FFF;
    border-radius: 1rem;
    margin: 4rem auto 0;
    font-size: 1.6rem;
    font-weight: 700;
    cursor: pointer;
    box-shadow: 0 0.6rem 0 0 #03A98E;
    display: flex;
    align-items: center;
    justify-content: space-evenly;
    margin: auto auto .4rem;
}

.page_wrap.page_wrap--callan_method .t_red,
.page_wrap.page_wrap--callan_method .notice .notice_list .list-item.t_red {
    color: #D91C0B;
}

.page_wrap.page_wrap--callan_method .t_color {
    color: #0050AD;
}

.page_wrap.page_wrap--callan_method .f_red {
    color: #D91C0B;
    font-size: 1.4rem;
    padding-left: 1em;
    text-indent: -1em;
}

.page_wrap.page_wrap--callan_method .notice .notice_list .list-item {
    display: flex;
    align-items: center;
    gap: 0.2rem;
    color: #333;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 0.028rem;
    margin: 0;
}

.page_wrap.page_wrap--callan_method .detail.d_table {
    width: 100%;
}

.page_wrap.page_wrap--callan_method .trial_area .action {
    padding: 0 2rem;
}

.page_wrap.page_wrap--callan_method .container .trial_area .action .button_trial {
    width: 100%;
    max-width: 100%;
}

/* Utility Classes */
.page_wrap.page_wrap--callan_method .t_red {
    color: #D91C0B;
}

.page_wrap.page_wrap--callan_method .t_color {
    color: #0050AD;
}

.page_wrap.page_wrap--callan_method .m_t_20 {
    margin-top: 2rem;
}

.page_wrap.page_wrap--callan_method .m_t_30 {
    margin-top: 3rem;
}

.page_wrap.page_wrap--callan_method .m_t_40 {
    margin-top: 4rem;
}

.page_wrap.page_wrap--callan_method .m_b_20 {
    margin-bottom: 2rem;
}

.page_wrap.page_wrap--callan_method .m_b_40 {
    margin-bottom: 4rem;
}

.page_wrap.page_wrap--callan_method .d_table {
    width: 100%;
}

.page_wrap.page_wrap--callan_method.afterlesson .stamp .stamp_content {
    padding: 1.7rem 1.65rem;
}

.page_wrap.page_wrap--callan_method .sec_main .sec_ttl,
.page_wrap.page_wrap--callan_method.afterlesson .sec_main .sec_ttl {
    font-size: 1.6rem;
    font-weight: bold;
    color: #0050AD;
    text-align: center;
    margin-bottom: 1.1rem;
}

.page_wrap.page_wrap--callan_method .sec_main .t_underline,
.page_wrap.page_wrap--callan_method.afterlesson .sec_main .t_underline {
    text-decoration: underline;
    color: #00ACEE;
}

/* afterlesson modal */
.page_wrap.page_wrap--callan_method.afterlesson .stamp-header {
    height: auto;
}

@media (max-width: 640px) {
    .page_wrap.page_wrap--callan_method .hero-image {
        width: 100%;
        height: auto;
    }
}
/* NJ-92920 End */

/* NJ-96427 - Scheduled Lesson Campaign Popup Styles */
html:lang(zh-tw) .page_wrap--scheduled_lesson_campaign {
    font-family: "Noto Sans TC", "Noto Sans", sans-serif;
}
.page_wrap--scheduled_lesson_campaign {
    font-family: 'Noto Sans JP', sans-serif;
    background: #fff;
}
.page_wrap--scheduled_lesson_campaign .sec.sec_main .sec_ttl{
    color: #3f7eed;
    font-size: 1.6rem;
    font-weight: bold;
    text-align: center;
    margin-bottom: 1rem;
}
.fw_bold{
    font-weight: bold !important;
}

/* NJ-96427 - Scheduled Lesson Campaign Afterlesson Popup Styles */
.page_wrap--scheduled_lesson_campaign .stamp .stamp_header img{
    width: 100%;
    display: block;
    height: auto;
}
.page_wrap--scheduled_lesson_campaign .stamp .stamp_content {
    position: relative;
    background: #f6fdfe;
    padding: 0 1.8rem 2rem;
}
.page_wrap--scheduled_lesson_campaign .stamp_wrap{
    border: 2px solid #3f7eed;
    border-radius: 1rem;
    overflow: hidden;
    margin-top: 3rem;
}
.page_wrap--scheduled_lesson_campaign.afterlesson .stamp_wrap {
    margin: 0;
}
.page_wrap--scheduled_lesson_campaign .scheduled_lesson_progress {
    padding: 1rem 0;
}
.page_wrap--scheduled_lesson_campaign .scheduled_lesson_progress .t_blue {
    color: #3f7eed;
}
.page_wrap--scheduled_lesson_campaign .stamp .stamp_list {
    display: grid;
    justify-content: center;
    gap: 1rem;
    grid-template-columns: repeat(5, max-content);
    place-items: center;
    list-style: none;
    margin: 0;
    padding: 0;
}
.page_wrap--scheduled_lesson_campaign .stamp .stamp_list .list-item {
    width: 5rem;
    min-height: 2.9rem;
    border: 1px dashed #3f7eed;
    background: #fff;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1;
    border-radius: .5rem;
}
.page_wrap--scheduled_lesson_campaign .stamp .stamp_list .list-item p {
    color: #3f7eed;
    font-size: 1.2rem;
    font-weight: bold;
    margin: 0;
}
.page_wrap--scheduled_lesson_campaign .stamp .stamp_list .list-item.coupon p {
    font-size: 1.2rem;
    transform: rotate(350deg);
    margin-left: 0.6rem;
    margin-bottom: 0.1rem;
}
.page_wrap--scheduled_lesson_campaign .stamp .stamp_list .list-item.coupon::before {
    content: '';
    position: absolute;
    width: 2rem;
    height: 2rem;
    background-image: url('https://assets2.nativecamps.com/user/webroot/mobile/images/campaign/scheduled_lesson/coin-icon.svg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    z-index: 2;
}
.page_wrap--scheduled_lesson_campaign .stamp .stamp_list .list-item .stamp_icon {
    display: none;
    font-size: 2.4rem;
    font-weight: bold;
    color: #3f7eed;
    position: absolute;
    z-index: 2;
}
.page_wrap--scheduled_lesson_campaign .stamp .stamp_list .list-item.stamped {
    border: 2px solid #3f7eed;
    background: #3f7eed;
    cursor: pointer;
}
.page_wrap--scheduled_lesson_campaign .stamp .stamp_list .list-item.stamped p {
    color: #fff;
}
.page_wrap--scheduled_lesson_campaign .stamp .stamp_list .list-item.stamped .stamp_icon {
    display: block;
    color: #fff;
}

.page_wrap--scheduled_lesson_campaign .container {
    max-width: 37.5rem;
    width: 100%;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* Hero Visual */
.page_wrap--scheduled_lesson_campaign .visual {
    max-width: 37.5rem;
    width: 100%;
    margin: 0 auto;
    overflow: hidden;
}

.page_wrap--scheduled_lesson_campaign .visual img {
    width: 100%;
    height: auto;
    display: block;
}

/* Section Container - Matches Figma spacing: pt-30px, pb-40px, px-20px */
.page_wrap--scheduled_lesson_campaign .sec_main {
    padding: 3rem 2rem 4rem;
    max-width: 37.5rem;
    width: 100%;
    margin: 0 auto;
}

/* Main Title Section - Matches Figma: 16px/700/1.7/color #3f7eed, pb-30px */
.page_wrap--scheduled_lesson_campaign .sec_main .sec_ttl {
    text-align: center;
    padding-bottom: 3rem;
    max-width: 33.5rem;
    width: 100%;
    margin: 0 auto;
}

.page_wrap--scheduled_lesson_campaign .sec_main .sec_ttl span {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.7;
    letter-spacing: 0.032rem;
    color: #3f7eed;
    display: block;
}

/* Campaign Period Box - Matches around_the_world pattern with decorative triangles */
.page_wrap--scheduled_lesson_campaign .priod {
    text-align: center;
    margin: 0 auto;
    max-width: 33.5rem;
    width: 100%;
    position: relative;
}

.page_wrap--scheduled_lesson_campaign .priod_ttl {
    width: 20rem;
    font-size: 1.4rem;
    font-weight: 700;
    text-align: center;
    margin: 0 auto;
    position: relative;
}

/* Decorative triangles on sides - like around_the_world */
.page_wrap--scheduled_lesson_campaign .priod .priod_ttl::before,
.page_wrap--scheduled_lesson_campaign .priod .priod_ttl::after {
    content: "";
    position: absolute;
    display: block;
    bottom: -1rem;
    border: 1.2rem solid #de7f0f;
}

.page_wrap--scheduled_lesson_campaign .priod .priod_ttl::before {
    left: -2.5rem;
    border-right-width: 4.3rem;
    border-left-color: transparent;
}

.page_wrap--scheduled_lesson_campaign .priod .priod_ttl::after {
    right: -2.5rem;
    border-left-width: 4.3rem;
    border-right-color: transparent;
}

.page_wrap--scheduled_lesson_campaign .priod_ttl span {
    display: block;
    color: #fff;
    background: #F1890E;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 2.3rem;
    padding: 1.1rem 3.6rem;
    position: relative;
    z-index: 10;
}

/* Small triangles under the span */
.page_wrap--scheduled_lesson_campaign .priod .priod_ttl span::before,
.page_wrap--scheduled_lesson_campaign .priod .priod_ttl span::after {
    content: "";
    position: absolute;
    display: block;
    border-style: solid;
    border-color: #bb6c0f transparent transparent transparent;
    bottom: -1rem;
}

.page_wrap--scheduled_lesson_campaign .priod .priod_ttl span::before {
    left: 0;
    border-width: 1rem 0 0 3rem;
}

.page_wrap--scheduled_lesson_campaign .priod .priod_ttl span::after {
    right: 0;
    border-width: 1rem 3rem 0 0;
}

/* Date text - Matches Figma: 16px/700/1.7, padding-top 20px, letter-spacing 0.32px */
.page_wrap--scheduled_lesson_campaign .priod dd {
    margin: 0;
    padding-top: 3rem;
}

.page_wrap--scheduled_lesson_campaign .priod_text {
    font-size: 1.6rem;
    font-weight: 700;
    color: #333;
    line-height: 1.7;
    letter-spacing: 0.032rem;
    text-align: center;
}

/* Section Separators - Matches Figma */
.page_wrap--scheduled_lesson_campaign .separation {
    background: #3f7eed;
    color: #fff;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.7;
    letter-spacing: 0.032rem;
    text-align: center;
    padding: 1rem;
    margin: 0;
    max-width: 37.5rem;
    width: 100%;
}

/* Event Name in Separation - gap-8px between lines */
.page_wrap--scheduled_lesson_campaign .event_name {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
}

.page_wrap--scheduled_lesson_campaign .event_name p {
    margin: 0;
    white-space: nowrap;
}

/* Campaign Contents Header */
.page_wrap--scheduled_lesson_campaign .campaign_contents_header {
    background: #4A90E2;
    padding: 1.5rem 0;
    text-align: center;
    margin-bottom: 2rem;
}
.page_wrap--scheduled_lesson_campaign .campaign_contents_header h2 {
    color: #fff;
    font-size: 2rem;
    font-weight: 900;
    margin: 0;
}

/* Event Section Container - Matches Figma: pt-25px, pb-40px, px-20px */
.page_wrap--scheduled_lesson_campaign .sec_event {
    padding: 2.5rem 2rem 4rem;
    max-width: 37.5rem;
    width: 100%;
    margin: 0 auto;
}

/* Event Navigation Boxes - Matches Figma: gap-20px, max-width-335px */
.page_wrap--scheduled_lesson_campaign .event_box {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    align-items: center;
    max-width: 33.5rem;
    width: 100%;
    margin: 0 auto;
}

.page_wrap--scheduled_lesson_campaign .event_link {
    display: block;
    text-decoration: none;
    width: 100%;
}

.page_wrap--scheduled_lesson_campaign .event_item {
    background: #fff;
    border: 0.2rem solid #333;
    box-shadow: 0rem 0.3rem 0.3rem rgba(0, 0, 0, 0.16);
    display: flex;
    align-items: center;
    gap: 0.8rem;
    padding: 1rem 1rem 1rem 1.5rem;
    width: 100%;
}

.page_wrap--scheduled_lesson_campaign .event_text {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.page_wrap--scheduled_lesson_campaign .event_text p {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.7;
    letter-spacing: 0.032rem;
    color: #333;
    margin: 0;
}

/* First line (event number) should not wrap */
.page_wrap--scheduled_lesson_campaign .event_text p:first-child {
    white-space: nowrap;
}

.page_wrap--scheduled_lesson_campaign .event_item .chevron-down {
    width: 1.4rem;
    height: 0.8rem;
    background-image: url('https://assets2.nativecamps.com/user/webroot/images/campaign/around_the_world/common/chevron-down-solid.svg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    flex-shrink: 0;
}

/* Event Content Sections */
.page_wrap--scheduled_lesson_campaign .sec {
    padding: 3rem 1.5rem 4rem;
}

/* Event Description */
.page_wrap--scheduled_lesson_campaign .event_intro {
    margin-bottom: 2rem;
    font-size: 1.4rem;
    line-height: 1.8;
}

/* Participation Method Title */
.page_wrap--scheduled_lesson_campaign .method_title {
    font-size: 1.8rem;
    color: #4A90E2;
    padding-left: 1.5rem;
    margin: 2rem 0 1.5rem;
    border-left: 6px solid #4A90E2;
    font-weight: 900;
}

/* Step Items */
.page_wrap--scheduled_lesson_campaign .step_item {
    margin-bottom: 3rem;
}
.page_wrap--scheduled_lesson_campaign .step_badge {
    display: inline-block;
    background: #4A90E2;
    color: #fff;
    font-size: 1.6rem;
    font-weight: 700;
    padding: 0.6rem 1.8rem;
    border-radius: 20px;
}
.page_wrap--scheduled_lesson_campaign .step_instruction {
    font-size: 1.4rem;
    line-height: 1.8;
    color: #333;
    margin-top: 1rem;
}

/* Step Visual Images */
.page_wrap--scheduled_lesson_campaign .step_visual img {
    width: 100%;
    max-width: 335px;
    height: auto;
    display: block;
    margin: 1.5rem auto;
}

/* Down Arrow Between Steps */
.page_wrap--scheduled_lesson_campaign .step_item + .step_item::before {
    content: '';
    display: block;
    text-align: center;
    width: 0;
    height: 0;
    margin: 2rem auto;
    border: 4rem solid transparent;
    border-bottom: 0;
    border-top: 2.5rem solid #D9D9D9;
}

/* Event Notes */
.page_wrap--scheduled_lesson_campaign .event_notes {
    background: #FAFAFA;
    padding: 2rem 1.5rem;
    margin-top: 3rem;
}
.page_wrap--scheduled_lesson_campaign .notes_title {
    font-weight: 700;
    font-size: 1.6rem;
    margin-bottom: 1rem;
}
.page_wrap--scheduled_lesson_campaign .notes_list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.page_wrap--scheduled_lesson_campaign .notes_list li {
    font-size: 1.2rem;
    line-height: 1.8;
    margin-bottom: 0.8rem;
    padding-left: 1em;
    text-indent: -1em;
}

/* Accordion for Tagging Instructions */
.page_wrap--scheduled_lesson_campaign .accordion-wrap {
    margin: 1.5rem 0;
}
.page_wrap--scheduled_lesson_campaign .bar-title {
    position: relative;
    color: #FFF;
    font-size: 1.6rem;
    font-weight: 700;
    background: #D91C0B;
    box-shadow: 0rem 0.4rem 0rem #A01507;
    width: 100%;
    height: 4rem;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    border-radius: 3rem;
}
.page_wrap--scheduled_lesson_campaign .bar-title:after {
    content: "";
    display: block;
    width: 2rem;
    height: 1.2rem;
    background: url('https://nativecamp-public-web-production.s3.amazonaws.com/user/webroot/images/campaign/around_the_world/common/chevron-down-solid-white.svg') no-repeat center;
    background-size: contain;
    position: absolute;
    right: 1.5rem;
    transition: .2s all linear;
}
.page_wrap--scheduled_lesson_campaign .accordion-wrap.on .bar-title {
    border-radius: 1.8rem 1.8rem 0 0;
    box-shadow: none;
}
.page_wrap--scheduled_lesson_campaign .accordion-wrap.on .bar-title:after {
    transform: scale(1, -1);
}
.page_wrap--scheduled_lesson_campaign .accordion-contents {
    display: none;
    border-radius: 0 0 1.8rem 1.8rem;
    padding: 2rem 1.5rem;
    background: #F5F5F5;
}
.page_wrap--scheduled_lesson_campaign .accordion-contents img {
    width: 100%;
    height: auto;
    display: block;
    margin: 1rem 0;
}

/* Hashtag Display Box */
.page_wrap--scheduled_lesson_campaign .hashtag_display {
    border: 1px solid #DDDDDD;
    border-radius: 10px;
    padding: 2rem;
    margin: 2rem auto;
    max-width: 335px;
    background: #fff;
}
.page_wrap--scheduled_lesson_campaign .hashtag_text {
    text-align: center;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.8;
    color: #333;
    margin: 0 0 1.5rem;
}
.page_wrap--scheduled_lesson_campaign .btn_hashtag {
    background: #F1890E;
    color: #fff;
    font-size: 1.6rem;
    font-weight: 700;
    padding: 1.2rem 2rem;
    border: none;
    border-radius: 8px;
    box-shadow: 0 3px 0 0 #C16E0B;
    width: 100%;
    text-align: center;
    display: block;
}

/* SNS Example Section */
.page_wrap--scheduled_lesson_campaign .sns_example_section {
    max-width: 335px;
    margin: 2rem auto;
    border-radius: 8px;
    overflow: hidden;
}
.page_wrap--scheduled_lesson_campaign .sns_example_title {
    font-size: 1.4rem;
    font-weight: 400;
    color: #333;
    padding: 1.5rem 2rem;
    background: #DDDDDD;
    margin: 0;
}
.page_wrap--scheduled_lesson_campaign .sns_example_grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
    padding: 1.5rem;
    background: #F5F5F5;
}
.page_wrap--scheduled_lesson_campaign .sns_example_grid .grid_item {
    background: #fff;
    border: 1px solid #DDDDDD;
    border-radius: 4px;
    padding: 0.5rem;
}
.page_wrap--scheduled_lesson_campaign .sns_example_grid .grid_item img {
    width: 100%;
    height: auto;
    border-radius: 2px;
}

/* Free Trial CTA - From details_campaign.css */
.page_wrap--scheduled_lesson_campaign .trial_area .balloon {
    color: #f1890e;
    font-size: 1.6rem;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.0rem;
}

.page_wrap--scheduled_lesson_campaign .trial_area .balloon:before {
    content: "";
    display: inline-block;
    width: 3rem;
    height: 3rem;
    vertical-align: middle;
    background: url(/images/index/ver_3/balloon_l.png) no-repeat;
    background-size: contain;
}

.page_wrap--scheduled_lesson_campaign .trial_area .balloon:after {
    content: "";
    display: inline-block;
    width: 3rem;
    height: 3rem;
    vertical-align: middle;
    background: url(/images/index/ver_3/balloon_r.png) no-repeat;
    background-size: contain;
}

.page_wrap--scheduled_lesson_campaign .trial_area .action {
    display: flex;
    align-items: center;
    justify-content: center;
}

.page_wrap--scheduled_lesson_campaign .trial_area .action .button_trial {
    display: block;
    font-size: 1.6rem;
    text-align: center;
    font-weight: 700;
    color: #fff;
    background: #f1890e;
    width: 100%;
    max-width: 35rem;
    height: 3em;
    line-height: 3em;
    border-radius: 3em;
    box-shadow: 0px 6px 0px 0px #c16e0b;
    box-sizing: border-box;
}

/* Orange Button */
.page_wrap--scheduled_lesson_campaign .action.orange_btn {
    text-align: center;
    margin: 2rem 0;
}
.page_wrap--scheduled_lesson_campaign .btn_orange {
    display: inline-block;
    background: #F1890E;
    color: #fff;
    font-size: 1.6rem;
    font-weight: 700;
    padding: 1.2rem 3rem;
    border-radius: 8px;
    box-shadow: 0 4px 0 0 #C16E0B;
    text-decoration: none;
}

/* Event Detail Section - Matches Figma: pt-25px, pb-60px, px-20px */
.page_wrap--scheduled_lesson_campaign .sec_event_detail {
    padding: 2.5rem 2rem 2rem;
    max-width: 37.5rem;
    width: 100%;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 4rem;
}

/* About Section - gap-15px */
.page_wrap--scheduled_lesson_campaign .about {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.page_wrap--scheduled_lesson_campaign .about_text {
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 0.028rem;
    color: #333;
    margin: 0;
}

/* Notice Section */
.page_wrap--scheduled_lesson_campaign .page_inner .notice {
    display: flex;
    flex-direction: column;
    background: none;
    padding: 0;
}

.page_wrap--scheduled_lesson_campaign .notice_item {
    display: flex;
    gap: 0;
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 0.028rem;
    color: #d91c0b;
}

.page_wrap--scheduled_lesson_campaign .notice_mark {
    flex-shrink: 0;
    white-space: nowrap;
}

.page_wrap--scheduled_lesson_campaign .notice_text {
    flex: 1;
}

/* Inner Container - gap-20px */
.page_wrap--scheduled_lesson_campaign .inner {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    width: 100%;
}

/* Add top padding for second inner section (X version) */
.page_wrap--scheduled_lesson_campaign .inner + .inner {
    padding-top: 4rem;
}

/* Sub Title - 4px left border, 4px gap */
.page_wrap--scheduled_lesson_campaign .sub_title {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    width: 100%;
}

.page_wrap--scheduled_lesson_campaign .sub_title_border {
    width: 0.4rem;
    height: 100%;
    min-height: 2rem;
    background: #3f7eed;
    flex-shrink: 0;
}

.page_wrap--scheduled_lesson_campaign .sub_title p {
    flex: 1;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.7;
    letter-spacing: 0.032rem;
    color: #3f7eed;
    margin: 0;
}

/* Step Section - gap-15px */
.page_wrap--scheduled_lesson_campaign .step {
    background: #fff;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    width: 100%;
}

/* Step Badge - bg #3f7eed, px-20px py-6px, rounded-50px */
.page_wrap--scheduled_lesson_campaign .step_badge {
    background: #3f7eed;
    color: #fff;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.7;
    letter-spacing: 0.032rem;
    text-align: center;
    padding: 0.6rem 2rem;
    border-radius: 5rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
    align-self: flex-start;
}

/* Step Text */
.page_wrap--scheduled_lesson_campaign .step_text {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.7;
    letter-spacing: 0.032rem;
    color: #333;
    margin: 0;
}

.page_wrap--scheduled_lesson_campaign .step_text p {
    margin: 0;
    margin-bottom: 0;
}

/* Step List (for bullet points) */
.page_wrap--scheduled_lesson_campaign .step_list {
    display: block;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.7;
    letter-spacing: 0.032rem;
    color: #333;
    margin: 0;
    padding: 0;
    list-style: none;
    width: 100%;
}

/* SNS Examples Box (Event 3) */
.page_wrap--scheduled_lesson_campaign .sns_examples_box {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
}

.page_wrap--scheduled_lesson_campaign .sns_examples_title {
    background-color: #f0f0f0;
    width: 100%;
    padding: 1.1rem 2.1rem;
    display: flex;
    align-items: center;
}

.page_wrap--scheduled_lesson_campaign .sns_examples_title p {
    font-size: 1.4rem;
    font-weight: 700;
    line-height: normal;
    color: #333;
    margin: 0;
    white-space: nowrap;
}

.page_wrap--scheduled_lesson_campaign .sns_examples_grid {
    display: flex;
    gap: 1rem;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
    background-color: #fafafa;
    width: 100%;
}

.page_wrap--scheduled_lesson_campaign .sns_example_item {
    width: 9.5rem;
    height: auto;
    overflow: hidden;
}

.page_wrap--scheduled_lesson_campaign .sns_example_item img {
    width: 100%;
    height: auto;
    display: block;
}

/* Accordion Button (Event 3) */
.page_wrap--scheduled_lesson_campaign .accordion-wrap {
    width: 100%;
    margin-top: 2.5rem;
}

.page_wrap--scheduled_lesson_campaign .accordion-wrap .bar-title {
    position: relative;
    color: #FFF;
    font-size: 1.6rem;
    font-weight: 700;
    background: #EA4D28;
    width: 100%;
    height: 4.9rem;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    border-radius: 2.2rem;
    box-sizing: border-box;
    -webkit-tap-highlight-color: transparent;
    box-shadow: 0rem 0.5rem 0rem #CB3C1A;
}

.page_wrap--scheduled_lesson_campaign .accordion-wrap .bar-title .title-text {
    position: relative;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: normal;
}

.page_wrap--scheduled_lesson_campaign .accordion-wrap.on .bar-title {
    border-radius: 2.2rem 2.2rem 0 0;
}

.page_wrap--scheduled_lesson_campaign .accordion-wrap.on .bar-title:after {
    transform: translateY(0) scale(1, -1);
}

.page_wrap--scheduled_lesson_campaign .accordion-wrap .bar-title:after {
    content: "";
    display: block;
    width: 1.4rem;
    height: 0.8rem;
    background: white;
    clip-path: polygon(50% 100%, 0 0, 100% 0);
    position: absolute;
    right: 1.5rem;
    transition: .2s all linear;
}

.page_wrap--scheduled_lesson_campaign .accordion-wrap .accordion-contents {
    display: none;
    border-radius: 0 0 2.2rem 2.2rem;
    padding: 2rem 1.5rem;
    background: #F5F5F5;
    color: #333;
}

.page_wrap--scheduled_lesson_campaign .accordion-wrap .accordion-contents p {
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 0.028rem;
    color: #333;
    margin: 0;
}

.page_wrap--scheduled_lesson_campaign .accordion-wrap img {
    width: 100%;
    height: auto;
    display: block;
}

.page_wrap--scheduled_lesson_campaign .campaign_img {
    width: 100%;
    margin: 0;
}

.page_wrap--scheduled_lesson_campaign .campaign_img img {
    width: 100%;
    height: auto;
    display: block;
}

/* Hashtag Box (STEP 4) */
.page_wrap--scheduled_lesson_campaign .hashtag_box {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    align-items: center;
    padding: 3rem 2rem;
    margin-top: 2.5rem;
    background: white;
    border: 0.1rem solid #ddd;
    border-radius: 1.2rem;
    width: 100%;
}

.page_wrap--scheduled_lesson_campaign .hashtag_list {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    width: 100%;
    list-style: none;
    margin: 0;
    padding: 0;
}

.page_wrap--scheduled_lesson_campaign .hashtag_item {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: normal;
    color: #333;
    margin: 0;
}

.page_wrap--scheduled_lesson_campaign .hashtag_button {
    display: flex;
    flex-direction: column;
    padding-bottom: 0.6rem;
    width: 100%;
}

.page_wrap--scheduled_lesson_campaign .btn_copy_hashtag {
    background: #f1890e;
    box-shadow: 0 0.6rem 0 #c16e0b;
    border: none;
    border-radius: 1rem;
    padding: 1.4rem 2rem;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 2.5rem;
    color: white;
    text-align: center;
}

.page_wrap--scheduled_lesson_campaign .btn_copy_hashtag:active {
    transform: translateY(0.3rem);
    box-shadow: 0 0.3rem 0 #c16e0b;
}

.page_wrap--scheduled_lesson_campaign .btn_copy_hashtag .copy-done {
    display: none;
    width: 2rem;
}

/* Form Button (STEP 5) */
.page_wrap--scheduled_lesson_campaign .form_button {
    display: flex;
    flex-direction: column;
    padding: 2.5rem 0 0.6rem;
    width: 100%;
    align-items: center;
}

.page_wrap--scheduled_lesson_campaign .btn_form {
    background: #f1890e;
    box-shadow: 0 0.6rem 0 #c16e0b;
    border: none;
    border-radius: 1rem;
    padding: 1.4rem 2rem;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 2.5rem;
    color: white;
    text-align: center;
}

.page_wrap--scheduled_lesson_campaign .btn_form:active {
    transform: translateY(0.3rem);
    box-shadow: 0 0.3rem 0 #c16e0b;
}

/* Green Button (For logged-in users) */
.page_wrap--scheduled_lesson_campaign .btn.btn_green {
    background: #1DC9A9;
    box-shadow: 0 0.6rem 0 0 #03A98E;
    border: none;
    border-radius: 1rem;
    padding: 1.4rem 2rem;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 2.5rem;
    color: white;
    text-align: center;
}

.page_wrap--scheduled_lesson_campaign .btn.btn_green:active {
    transform: translateY(0.3rem);
    box-shadow: 0 0.3rem 0 #03A98E;
}

/* Login Notice (STEP 5) */
.page_wrap--scheduled_lesson_campaign .login_notice {
    padding-top: 2.5rem;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.page_wrap--scheduled_lesson_campaign .login_notice p {
    font-size: 1.6rem;
    font-weight: 400;
    line-height: normal;
    color: red;
    text-align: center;
    margin: 0;
}

/* Step Text Group - gap-15px */
.page_wrap--scheduled_lesson_campaign .step_text_group {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

/* Text Highlight */
.page_wrap--scheduled_lesson_campaign .text_highlight {
    color: #d91c0b;
}

/* Step Visual - pt-25px */
.page_wrap--scheduled_lesson_campaign .step_visual {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: 2.5rem;
    width: 100%;
}

.page_wrap--scheduled_lesson_campaign .step_visual img {
    max-width: 24rem;
    width: 100%;
    height: auto;
}

/* Arrow Section - Uses CSS triangle like around_the_world */
.page_wrap--scheduled_lesson_campaign .step + .step::before {
    content: '';
    display: block;
    text-align: center;
    width: 0;
    height: 0;
    margin: 1rem auto 3rem;
    border: 6rem solid transparent;
    border-bottom: 0;
    border-top: 3rem solid #D9D9D9;
}

/* Caution Section - pt-20px */
.page_wrap--scheduled_lesson_campaign .caution {
    padding-top: 2rem;
    width: 100%;
}

/* Caution List - bg #f5f5f5, p-20px, gap-5px */
.page_wrap--scheduled_lesson_campaign .caution_list {
    background: #f5f5f5;
    padding: 2rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

/* Caution Title - pb-5px, 16px bold */
.page_wrap--scheduled_lesson_campaign .caution_title {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.1875;
    color: #333;
    padding-bottom: 0.5rem;
}

/* Caution Item - gap-2px, 15px normal */
.page_wrap--scheduled_lesson_campaign .caution_item {
    display: flex;
    gap: 0.4rem;
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1.75;
    color: #333;
}

.page_wrap--scheduled_lesson_campaign .caution_mark {
    flex-shrink: 0;
    white-space: nowrap;
}

.page_wrap--scheduled_lesson_campaign .caution_text {
    flex: 1;
}

/* Utility Classes */
.page_wrap--scheduled_lesson_campaign .t_red {
    color: #D91C0B;
}
.page_wrap--scheduled_lesson_campaign .t_center {
    text-align: center;
}
.page_wrap--scheduled_lesson_campaign .m_t_10 { margin-top: 1rem; }
.page_wrap--scheduled_lesson_campaign .m_t_15 { margin-top: 1.5rem; }
.page_wrap--scheduled_lesson_campaign .m_t_20 { margin-top: 2rem; }
.page_wrap--scheduled_lesson_campaign .m_t_40 { margin-top: 4rem; }
.page_wrap--scheduled_lesson_campaign .m_b_10 { margin-bottom: 1rem; }
.page_wrap--scheduled_lesson_campaign .m_b_15 { margin-bottom: 1.5rem; }
.page_wrap--scheduled_lesson_campaign .m_b_20 { margin-bottom: 2rem; }
.page_wrap--scheduled_lesson_campaign .m_b_30 { margin-bottom: 3rem;}
.page_wrap--scheduled_lesson_campaign .m_b_40 { margin-bottom: 4rem; }
.page_wrap--scheduled_lesson_campaign .fs_12 { font-size: 1.2rem; }
.page_wrap--scheduled_lesson_campaign .fs_14 { font-size: 1.4rem; }
.page_wrap--scheduled_lesson_campaign .fs_15 { font-size: 1.5rem; }
.page_wrap--scheduled_lesson_campaign .fs_16 { font-size: 1.6rem; }
.page_wrap--scheduled_lesson_campaign .fs_18 { font-size: 1.8rem; }
.page_wrap--scheduled_lesson_campaign .fs_22 { font-size: 2.2rem; }
.page_wrap--scheduled_lesson_campaign .fw_b { font-weight: 700; }
.page_wrap--scheduled_lesson_campaign .step + .step.no_arrow::before {
    content: none;
}
.page_wrap .container .trial_area .action a.button_trial {width: 33.5rem;}

/* NJ-96427 - End Scheduled Lesson Campaign Popup Styles */