
.mb10{ margin-bottom: 10px;}
.mb20{ margin-bottom: 20px;}
.mb30{ margin-bottom: 30px;}
.mb40{ margin-bottom: 40px;}
.mb50{ margin-bottom: 50px;}
.f-large{ font-size: 16px;}
.t-center{text-align: center;}

/*point title*/
.point_title_container{
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
}

.point_title_wrapper{
	max-width: 1008px;
	margin: 0 auto;
	padding: 48px 24px;
	padding-bottom: 50px;
	text-align: center;
}

.point_title_txt > h1{
	font-size: 40px;
}
/*point title*/
.main_content img {
	height: auto;
}
/*point*/
#point{
	width: 960px; 
	margin: 0 auto; 
	line-height: 1.6;
	font-size: 14px;
}
#point h2{
	font-size: 32px;
	font-weight: bold;
	text-align: center;
	border-bottom: 2px dotted #D4D4D4;
	padding-bottom: 15px;
	margin-bottom: 25px;
}
#point .box1{
	clear: both;
	overflow: hidden;
	margin-bottom: 35px;
}
#point .box1 > div{
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	border-left: 1px solid #ccc;
	border-radius: 10px;
}
#point .box1 > div div{
	width: 470px;
	box-sizing: border-box;
	padding: 20px 20px 40px;
	border-top: 1px solid #ccc;
	border-radius: 10px;
}
#point .box1 .leftcol{
	float: left;
}
#point .box1 .rightcol{
	float: right;
}
#point .box1 div h3{
	color: #fff;
	font-size: 32px;
	font-weight: bold;
	padding: 5px;
	text-align: center;
	border-radius: 10px;
	margin-bottom: 25px;
}
#point .box1 .leftcol h3{
	background: #891A1F;
}
#point .box1 .rightcol h3{
	background: #164687;
}
#point .box1 div dl dt{
	font-size: 24px;
	font-weight: bold;
	margin-bottom: 20px;
}
#point .box1 .leftcol dl dt{
	color: #891A1F;
}
#point .box1 .rightcol dl dt{
	color: #164687;
}
#point .box1 div dl dd{
	font-size: 20px;
	margin-bottom: 10px;
}
#point .box1 div ul{
	border-top: 3px dotted #D2D2D2;
}
#point .box1 div ul li{
	font-size: 20px;
	font-weight: bold;
	padding: 20px 0;
	border-bottom: 3px dotted #D2D2D2;
	padding-left: 1em;
	text-indent: -1em;
}
#point .box1 .leftcol ul li span{
	color: #891A1F;
}
#point .box1 .rightcol ul li span{
	color: #164687;
}
#point .box1 div ul li .f-small{
	font-size: 14px;
	font-weight: normal;
	text-indent: 0;
}
#point .box2{
	border: 1px solid #ccc;
	padding: 30px 30px 50px;
	border-radius: 10px;
	margin-bottom: 50px;
}
#point .box2 h3{
	font-size: 34px;
	font-weight: bold;
	text-align: center;
	margin-bottom: 40px;
}
#point .box2 p{
	text-align: center;
	margin-bottom: 10px;
}
#point .box2 ul{
	padding-left: 7%;
	font-size: 18px;
}
#point .dnrollment{
	width: 710px;
	margin: 0 auto 45px;
	clear: both;
	overflow: hidden;
}
#point .dnrollment img{
	float: left;
	margin: 0 45px 0 90px;
}
#point .dnrollment p{
	overflow: hidden;
	font-size: 26px;
	font-weight: bold;
}
.btn{
	font-size: 16px;
	text-align: center;
	margin-bottom: 60px;
}
.btn a{
	display: inline-block;
	width: 655px;
	box-sizing: border-box;
	padding: 12px;
	border: 1px solid #ccc;
	background: #e95504;
	color: #fff;
	border-radius: 5px;
}
.btn a:hover{
	opacity: 0.6;
}
.btn a:before{
	content: "";
	background: url(../../images/common/button_arrow_renewal_2022.png) no-repeat left center;
	background-size: 11px 18px;
	display: inline-block;
	margin-right: 12px;
	width: 11px;
	height: 18px;
	position: relative;
	top: 3px;
}
#kiyaku{
	padding: 60px 20px;
	background: #fff;
}
#kiyaku h5{
	font-size: 32px;
	font-weight: bold;
	text-align: center;
	margin-bottom: 40px;
}
#kiyaku .btn{
	margin-bottom: 0;
}
#kiyaku .btn a{
	width: 500px;
}
/*point*/

/*=====PC SEARCH BOTTOM=====*/
.input_search_container{
	border: none;
}

.scnd_loc_title{
	padding-top: 90px;
	letter-spacing: 0px;
}

.scnd_loc_title > span{
	font-size: 18px;
}

.bg_for_second_loc > .select_search_container > .sml_str_txt,
.scnd_npt_container > .sml_str_txt {
    background-position: 10%;
}

.bg_for_second_loc > .select_search_container > .sml_str_txt > span,
.scnd_npt_container > .sml_str_txt > span{
	padding-left: 18%
}

.scnd_input > input[type="text"]{
	margin-top: 5px;
	-webkit-border-radius:0px;
}
_:-ms-lang(x),
   .scnd_btn_container{
   	padding-top: 9%!important;
   }

.scnd_btn_container > a{
	width: 82%;
}
.scnd_btn_container{
	position: absolute;
	bottom:0;
	left:0;
	width: 100%;
}
.scnd_npt_container{
	position: relative;
	height: 200px;
 }
.second_str_loc{
	padding-bottom: 23px;
}
/*PC SEARCH BOTTOM*/

/*PC BOTTOM TEXT*/
.pc_menu_top_txt > p{
	font-size: 12px;
	line-height: 18px;
}
/*PC BOTTOM TEXT*/

/*PC OVERIDES FOR BOTTOM MENU*/
.pc_icon_container{
	padding-bottom: 20px;
}

.misc_wrapper{
	padding-bottom: 25px;
}
/*PC OVERIDES FOR BOTTOM MENU*/

/*display nones*/
.sp_recommended,
.sp_store_locator{
	display: none;
}
/*display nones*/

.point_banner_wrapper, .point_navigate_wrapper, .caculator_point_block, .save_point_content{
	width: 960px;
	margin: 0 auto;
	text-align: center;
}
.point_navigate_wrapper .container{
	width: 80%;
	margin: 0 auto;
	padding: 0px;
}
.point_navigate_wrapper .nav_left{
	width: 50%;
	float: left;
}
.point_navigate_wrapper .nav_right{
	width: 50%;
	float: right;
}
.point_navigate_wrapper a {
	text-decoration: none;
	color: #ffffff;
	display: block;
	margin: 30px;
}
.point_navigate_wrapper a img{
	width: 100%;
	cursor: pointer;
}
.gift_top_images{
	width:50%; 
	height: auto;
}
.gift_top_p{
	overflow: hidden;
    font-size: 30px;
    font-weight: bold;
}
.gift_top_box{
    padding-top: 0!important;
}
/* .point_navigate_wrapper .nav_left a{
	float: right;
	
}
.point_navigate_wrapper .nav_right a{
	float: left;
} */
.box_info{
	padding: 0!important;
	border: none!important;
}
.box_info img{
	width: 90%;
}
#caculator_point_wrapper {
	background-color: #F5F5F7;
}
.full_width {
	width: 100vw;
	position: relative;
	left: 50%;
	right: 50%;
	margin-left: -50vw;
	margin-right: -50vw;
}
.caculator_point_block{
	text-align: unset;
	overflow: hidden;
    position: relative;
	margin-bottom: 20px;
	padding: 30px 100px 20px 100px;
}
.charge_input, .cal_point_result {
	margin-left: 50px;
}
.charge_input select {
	width: 40%;
	color: unset!important;
	background-color: #fff;
    float: left;
	height: 40px;
	margin-right: 20px;
	margin-left: 40px;
    font-size: 22px;
    font-weight: bold;
	padding: 0px 0px 0px 20px !important;
}
.charge_input p{
	font-size: 25px;
    font-weight: bold;
    vertical-align: middle;
}
.cal_point_result {
	/* clear: both; */
	margin-top: 10px;
	padding: 10px 40px;
}
.cal_point_result .charge_info,
.cal_point_result .bonus_info {
	position: relative;
	width: 40%;
	float: left;
}
.charge_info .point_header, .bonus_info .point_header {
	position: absolute;
    top: 5px;
    text-align: center;
	width: 100%;
	left: 0;
    color: #ffff;
    font-weight: bold;
    font-size: 16px;
}
.charge_info input, .bonus_info input {
	background-color: #fff!important;
	-webkit-appearance: none;
    -moz-appearance: none;
	appearance: none;
	box-shadow: none !important;
	width: 100%;
	float: left;
	font-size: 20pt;
	height: 90px;
	border-style: solid;
	border-color: #c8142f;
	border-radius: 10px;
	font-weight: bold;
	text-align: right;
}
.cal_point_result .charge_info input {
	border-width: 30px 5px 5px 5px;
	padding: 15px 40px 15px 15px;
}
.cal_point_result .pt{
	height: 55%;
    font-size: 24px;
    position: absolute;
    bottom: 0;
    right: 5%;
    font-weight: bold;
}
.cal_point_result .add_icon {
	width: 40px;
	height: 40px;
	float: left;
	margin: 20px 10px;	
}
.cal_point_result .add_icon i {
	font-size: 40px;
    padding: 5px 3px;
    color: #c8142f;
}
.cal_point_result .bonus_info input {
	border-width: 30px 5px 5px 5px;
	padding: 15px 40px 15px 15px;
}
#charge_point_block, #bonus_point_block,
#limited_point_block{
	position: relative;
	width: 960px;
	margin: 0 auto;
	padding-top: 20px;
}
.charge_point_content .banner, .bonus_point_content .banner,
.limited_point_content .banner,
.save_point_img, .guide_app{
	width: 100%;
	background-position: center!important;
	text-align: center;
}
.charge_point_content .banner{
	background: url(../../images/point/img06.png) no-repeat;
	height: 194px;
	padding: 30px 0px;
}
.bonus_point_content .banner{
	background: url(../../images/point/img09.png) no-repeat;
	height: 190px;
	padding: 30px 0px;
}
.limited_point_content .banner{
	background: url(../../images/point/limited_point/img02_pc.png) no-repeat;
	height: 220px;
	margin-bottom: 10px;
	padding: 30px 0px;
}
.charge_point_content .info, .bonus_point_content .info,
.limited_point_content .info {
	padding: 10px 0px 40px 0px;
	text-align: center;
}
#save_point_wrapper {
	background-color: #fbc423;
	margin-bottom: 40px;
	padding-bottom: 40px;
}
#save_point_wrapper .save_point_title{
	height: 43px;
}
.point_sticker {
	position: absolute;
    right: 10px;
    top: -32px;
}
.point_sticker img {
	width: 180px;
	height: auto;
}
.btn-normal--large {
    max-width: 400px !important;
}

@media screen and (max-width: 767px) {
	.point_sticker {
		top: -20px;
		right: 0px;
	}
	.point_sticker img {
		width: 120px;
		height: auto;
	}
}
@media screen and (max-width: 480px) {
	.point_sticker {
		top: -10px;
	}
	.point_sticker img {
		width: 100px;
		height: auto;
	}
}
.save_point_img{
	background: url(../../images/point/img12.png) no-repeat;
	margin-top: 30px;
	height: 346px;
}
.triangle {
	border-color: white transparent transparent transparent;
    border-style: solid;
    border-width: 20px;
    height: 0px;
    width: 0px;
    margin: auto;
    text-align: center;
}
.guide_app{
	width: 95%;
	margin: 0 auto 25px;
	clear: both;
	overflow: hidden;
	border-bottom: #eee 1px dotted;
	background: url(../../images/point/img02_pc.png) no-repeat;
	height: 238px;
}
@media screen and (min-width: 767px) and (max-width: 980px) {
	#point{
		width: 100%; 
		margin: 0 auto;
		padding: 20px 20px 0;
		box-sizing: border-box;
		line-height: 1.6;
		font-size: 14px;
	}
	.point_banner_wrapper, .point_navigate_wrapper, .caculator_point_block{
		width: 100%;
		margin: 0 auto;
		text-align: center;
	}
	.charge_input p {
    	float: left;
	}
	.cal_point_result{
		clear: both;
	}
	.caculator_point_block{
		padding: 30px 40px 20px 40px;
	}
	#charge_point_block .charge_point_titles img, #charge_point_block .info img,
	#bonus_point_block .bonus_point_titles img, #bonus_point_block .info img,
	#limited_point_block .limited_point_titles img, #limited_point_block .info img {
		width: 100%;
		background-size: contain;
	}
	#charge_point_block, #bonus_point_block,
	#limited_point_block {
		width: 100%;
		margin: 0 auto;
		padding-top: 10px;
		padding: 20px;
	}
	.charge_point_content .info, .bonus_point_content .info {
		padding: 10px 0px 20px 0px;
	}
	.save_point_content{
		width: 90%;
		margin: 0 auto;
		text-align: center;
	}
	.charge_point_content .banner, .bonus_point_content .banner,
	.limited_point_content .banner {
		width: 80%;
	}
	.charge_point_content .banner, .bonus_point_content .banner,
	.limited_point_content .banner, .save_point_img, .guide_app {
		background-size: contain;
	}
}

@media screen and (max-width: 767px) {

	.mb10{ margin-bottom: 5px;}
	.mb20{ margin-bottom: 10px;}
	.mb30{ margin-bottom: 15px;}
	.mb40{ margin-bottom: 20px;}
	.mb50{ margin-bottom: 25px;}
	
	.point_title_wrapper{
		max-width: 1008px;
		margin: 0 auto;
		padding: 34px 24px;
		text-align: center;
	}
	.point_banner_pc{
		display: none;
	}
	.point_banner_sp {
		display: block!important;
	}
	.point_title_txt > h1{
		font-size: 28px;
	}
	#point{
		width: 100%; 
		margin: 0 auto;
		padding: 20px 20px 0;
		box-sizing: border-box;
		line-height: 1.6;
		font-size: 14px;
	}
	#point h2{
		font-size: 18px;
		font-weight: bold;
		border-bottom: 2px dotted #D4D4D4;
		padding-bottom: 10px;
		margin-bottom: 10px;
	}
	#point .box1{
		clear: both;
		overflow: hidden;
		margin-bottom: 15px;
	}
	#point .box1 > div{
		border: none;
		border-radius: 5px;
	}
	#point .box1 > div > div{
		width: 100%;
		box-sizing: border-box;
		padding: 15px;
		border: 1px solid #ccc;
		border-radius: 5px;
	}
	#point .box1 .leftcol{
		float: none;
		margin-bottom: 15px;
	}
	#point .box1 .rightcol{
		float: none;
	}
	#point .box1 #charge,
	#point .box1 #bonus{
		padding-top: 116px;
		margin-top: -116px;
	}
	#point .box1 div h3{
		color: #fff;
		font-size: 18px;
		font-weight: bold;
		padding: 5px;
		text-align: center;
		border-radius: 5px;
		margin-bottom: 25px;
	}
	#point .box1 div img{
		width: 75%;
		max-width: 410px;
		height: auto;
	}
	#point .box1 div dl dt{
		font-size: 16px;
		font-weight: bold;
		margin-bottom: 20px;
	}
	#point .box1 div dl dd{
		font-size: 14px;
		margin-bottom: 10px;
	}
	#point .box1 div ul{
		border-top: 2px dotted #D2D2D2;
	}
	#point .box1 div ul li{
		font-size: 14px;
		font-weight: bold;
		padding: 15px 0;
		border-bottom: 2px dotted #D2D2D2;
		padding-left: 1em;
		text-indent: -1em;
	}
	#point .box1 div ul li .f-small{
		font-size: 12px;
		font-weight: normal;
		text-indent: 0;
	}
	#point .box2{
		border: 1px solid #ccc;
		padding: 15px 15px 25px;
		border-radius: 5px;
		margin-bottom: 25px;
	}
	#point .box2 h3{
		font-size: 16px;
		font-weight: bold;
		text-align: center;
		margin-bottom: 20px;
	}
	#point .box2 p{
		text-align: center;
		margin-bottom: 5px;
	}
	#point .box2 p img{
		width: 100%;
		height: auto;
	}
	#point .box2 ul{
		padding-left: 14px;
	}
	#point .box2 ul li{
		padding-left: 1em;
		text-indent: -1em;
	}
	#point .dnrollment{
		width: 95%;
		margin: 0 auto 25px;
		clear: both;
		overflow: hidden;
	}
	#point .dnrollment img{
		float: left;
		margin: 0 15px 0 0;
		width: 24%;
		max-width: 136px;
		height: auto;
	}
	#point .dnrollment p{
		overflow: hidden;
		font-size: 16px;
		font-weight: bold;
	}
	.btn{
		text-align: center;
		margin-bottom: 50px;
	}
	.btn a{
		display: inline-block;
		width: 81%;
		box-sizing: border-box;
		padding: 12px;
		border: 1px solid #ccc;
		background: #e95504;
		color: #fff;
		border-radius: 5px;
		vertical-align: middle;
		font-size: 14px;
	}
	#kiyaku .btn a{
		width: 75%;
		line-height: 1.4;
	}
	.btn a:hover{
		opacity: 1;
	}
	.btn a:before{
		content: "";
		background: url(../../images/common/button_arrow_renewal_2022.png) no-repeat left center;
		background-size: 8px 12px;
		display: inline-block;
		margin-right: 12px;
		width: 8px;
		height: 12px;
		position: static;
		top: 0;
		vertical-align: middle;
	}
	#kiyaku{
		padding: 60px 20px;
		background: #fff;
	}
	#kiyaku h5{
		font-size: 16px;
		font-weight: bold;
		text-align: center;
		margin-bottom: 10px;
	}
	
	.nav_list > ul > li:nth-child(2) > a, .nav_list > ul > li:nth-child(2):hover > a {
	    color: black !important;
	}
	/*active page*/
/*	.nav_list > ul > li:nth-child(2){
		background: #fff;
	}*/
	/*active page*/

	/*remove hover for sp*/
	.sub_menu_table > li:hover > a >.sub_menu_name > span{
		color: #000;
		border: none;
	}
	/*remove hover for sp*/

	/*submenus*/
	.sub_menu_list_wrapper{
		padding: 0px;
	}

	ul.sub_menu_table{
		font-size: 0px;
	}

	ul.sub_menu_table > li{
		padding: 23px 20px;
		display: inline-block;
		vertical-align: middle;
		width: 50%;
		border-right: 1px solid #ccc;
		border-bottom: 1px solid #ccc;
	}

	ul.sub_menu_table > li:first-child{
		border-left: none;
		margin-left: 2px;
	}

	ul.sub_menu_table > li:nth-child(even){
		border-right: none;
		margin-right: -2px;
		width: 49.1%;
	}
	ul.sub_menu_table > li:nth-child(3),
	ul.sub_menu_table > li:nth-child(5){
		margin-left: 2px;
	}
	ul.sub_menu_table > li:nth-child(5){
		border-bottom: none;
	}

	.sub_menu_name{
		text-align: center;

	}

	.sub_menu_name > span{
		font-size: 23px;
	}

	.sub_img{
		text-align: center;
		padding-bottom: 29px;
	}
	/*submenus*/

	/*menu title*/
	.menu_title_wrapper{
		padding: 75px 20px;
		padding-bottom: 70px;
		text-align: center;
		border-bottom: 1px solid #ccc;
	}

	.menu_title_txt{
		padding-bottom: 25px;
	}

	.menu_title_txt > h1{
		font-size: 56px;
	}

	.menu_note > span{
		font-size: 24px;
	}
	/*menu title*/

	/*course description*/
	.course_desc_container{
		width: 100%;
	}

	.course_desc_img,
	.checklist_content_wrapper{
		display: block;
		width: 100%;
	}

	.checklist_content_wrapper{
		padding: 0;
	}

	.course_desc_wrapper{
		padding: 70px 20px;
		padding-bottom: 62px;

	}

	.course_desc_img > ul{
		font-size: 0px;
	}

	.course_desc_img > ul > li{
		display: inline-block;
		vertical-align: middle;
		width: 50%;
	}

	.course_desc_img > ul > li:first-child{
		padding-right: 5px;
		padding-bottom: 0;
	}

	.course_desc_img > ul > li:last-child{
		padding-left: 5px;
		padding-top: 0;
	}

	.course_desc_img > ul > li > img{
		width: 100%;
	}

	.course_desc_img{
		padding-top: 67px;
		padding-bottom: 40px;
	}

	.course_desc_text > p{
		font-size: 24px;
		line-height: 44px;
	}

	.course_desc_text{
		padding-bottom: 84px;
	}
	/*course description*/

	/*course checklist*/
	.course_checklist_wrapper{
		padding: 0 20px;
		padding-bottom: 65px;
	}

	.course_checklist_border{
		border-top: 1px solid #000;
		position: relative;
	}

	.checklist_box{
		padding-top: 63px;
		padding-bottom: 30px;
	}

	.checklist_box > ul{
		font-size: 0;
	}

	.checklist_box > ul > li{
		display: inline-block;
	    vertical-align: middle;
	    width: 50%;
	    padding: 25px 0;
	}

	.checklist_box > ul > li:nth-child(1),
	.checklist_box > ul > li:nth-child(2){
		padding-top: 0;
	}

	.checklist_box > ul > li:nth-child(odd){
		width: 55%;
	}

	.checklist_box > ul > li:nth-child(even){
		width: 45%;
	}

	.checklist_box > ul > li.last_check_item{
		width: 100%;
	}

	.checklist_box > ul > li > span{
		font-size: 16px;
	}

	.top_left_title > h3,
	.bottom_left_title > span{
		font-size: 36px;
		background: #fff;
		padding-right: 25px;
	}

	span.checklist_icon,
	span.checklist_txt,
	span.checklist_icon_unchecked{
		display: inline-block;
		vertical-align: middle;
	}

	span.checklist_icon{
		background: url("../../images/ge/checklist_icon.png") no-repeat;
	    background-size: 100%;
	    width: 35px;
	    height: 35px;
	}

	span.checklist_icon_unchecked{
		background: url("../../images/ge/checklist_icon_unchecked.png") no-repeat;
	    background-size: 100%;
	    width: 35px;
	    height: 35px;
	}

	span.checklist_txt{
		margin-left: 10px;
	}

	.top_left_title {
	    position: absolute;
	    top: -15px;
	}
	/*course checklist*/

	/*course price*/
	.course_price_table{
		padding-top: 63px;
		padding-bottom: 46px;
	}

	.course_price_table > ul,
	.course_price_table > ul > li > ul{
		font-size: 0;
	}

	.course_price_table > ul > li,
	.course_price_table > ul > li > ul > li{
		display: inline-block;
	    vertical-align: middle;
	}

	.course_price_table > ul > li.course_price_item:nth-child(odd){
		width: 48.33%;
	}

	.course_price_table > ul > li.course_price_item:nth-child(even){
		width: 51.6%;
	}

	.course_price_table > ul > li:nth-child(1),
	.course_price_table > ul > li:nth-child(2){
		padding-top: 0;
	}

	.course_price_table > ul > li.course_price_item > ul > li.points{
		width: 26.66%;
		font-size: 24px;
		padding: 28px 0;
		text-align: center;
		background: #e4e4e4;
		border-top: 1px solid #ccc;
		border-left: 1px solid #ccc;
		border-right: 1px solid #ccc;
	}

	.course_price_table > ul > li.course_price_item > ul > li.price{
		width: 73%;
		padding: 27px 0;
		padding-left: 7px;
		font-size: 26px;
		border-top: 1px solid #ccc;
	}

	.course_price_table > ul > li.course_price_item:nth-child(even) > ul > li.price{
		border-right: 1px solid #ccc
	}

	.course_price_table > ul > li.course_price_item:last-child > ul > li.points,
	.course_price_table > ul > li.course_price_item:last-child > ul > li.price,
	.course_price_table > ul > li.course_price_item:nth-last-child(2) > ul > li.points,
	.course_price_table > ul > li.course_price_item:nth-last-child(2) > ul > li.price{
		border-bottom: 1px solid #ccc;
	}

	span.sml_price{
		font-size: 13px;
	}

	.course_price_table > ul > li.course_price_item > ul > li.pnts_recommended{
		background: #94311d;
		color: #fff;
	}

	.course_price_table > ul > li.course_price_item > ul > li.price_recommended{
		padding: 8px 0;
		padding-left: 7px;
	}

	.icon_recommended > span{
		font-size: 12px;
		background: #94311d;
		color: #fff;
		padding: 3px 7px;
	}

	.recommended_price{
		color: #94311d;
		font-size: 26px;
	}

	.icon_recommended{
		padding-bottom: 10px;
	}
	/*course price*/

	/*course notes*/
	.course_notes > p {
	    font-size: 24px;
	    line-height: 44px;
	    letter-spacing: -1px;
	}

	span.note{
		font-size: 20px;
	}
	/*course notes*/

	/*favorite store paddings*/
	.taisho_lnk_container, .tenjinbashi_lnk_container, .kawachinagano_lnk_container{
		padding-bottom: 25px;
	}
	/*favorite store paddings*/

	/*sp overrides*/
	.str_loc_wrapper{
		background: #fff;
		padding-top: 66px;
	}

	.sp_menu_bot_txt > p{
		font-size: 20px;
		line-height: 24px;
	}

	.menu_wrapper, .menu_list{
		padding-bottom: 30px;
	}
	/*sp overrides*/

	/*display nones*/
	span.icon_recommended{
		display: none;
	}
	/*display nones*/

	/*display blocks*/
	.sp_recommended,
	.sp_store_locator{
		display: block;
	}
	/*display blocks*/
	.point_banner_wrapper, .point_navigate_wrapper, .caculator_point_block, .save_point_content{
		width: 100%;
		margin: 0 auto;
		text-align: center;
	}
	.point_navigate_wrapper .container{
		width: 100%!important;
	}
	.point_navigate_wrapper a{
		margin: 10px;
	}
	#charge_point_block, #bonus_point_block,
	#limited_point_block {
		width: 100%;
		margin: 0 auto;
		padding-top: 20px;
	}
	.caculator_point_block{
		padding: 10px!important;
		width: 80%;
	}
	.cal_point_result .add_icon i {
		padding: 15px 3px;
	}
	.cal_point_result{
		padding: unset;
	}
	#charge_point_block .charge_point_titles img, #charge_point_block .info img,
	#bonus_point_block .bonus_point_titles img, #bonus_point_block .info img,
	#limited_point_block .limited_point_titles img, #limited_point_block .info img {
		width: 98%;
	}
	/* .charge_point_content .banner {
		padding: 0px 0px;
	} */
	#charge_point_block .banner{
		background: url(../../images/point/img06.png) no-repeat;
		height: 150px;
		background-size: contain;
		width: 80%;
		margin-top: 0px;
    	margin-bottom: 0px;
	}
	#bonus_point_block .banner{
		background: url(../../images/point/img09.png) no-repeat;
		height: 160px;
		padding: 0px;
		background-size: contain;
		width: 80%;
		margin-top: 0px;
    	margin-bottom: 0px;
	}
	#limited_point_block .banner{
		background: url(../../images/point/limited_point/img_02.png) no-repeat;
		height: 192px;
		padding: 0px;
		background-size: contain;
		width: 80%;
		margin-top: 0px;
    	margin-bottom: 0px;
	}
	.charge_input, .cal_point_result{
		margin-left: unset;
	}
	.charge_input select{
		background-color: #fff!important;
		height: unset;
		margin: unset;
		font-size: 16px;
	}
	.charge_input p{
		font-size: 16px!important;
	}
	.save_point_title img{
		width: 70%;
	}
	.cal_point_result .add_icon{
		margin: 10px 10px;
	}
	.save_point_img{
		background-size: 90%;
		margin-top: 0px;
	}
	.guide_app{
		background-size: contain;
		width: 100%;
	}
	.gift_top_images{
		width: 80%; 
		height: auto;
	}
	.gift_top_p{
		overflow: hidden;
		font-size: 18px;
		font-weight: bold;
	}
}


@media screen and (min-width: 481px) and (max-width: 639px) {
	ul.sub_menu_table > li{
		padding: 17.25px 15px;
	}

	.sub_menu_name > span{
		font-size: 17.25px;
	}

	.sub_img{
		padding-bottom: 21.75px;
	}
	/*submenus*/

	/*menu title*/
	.menu_title_wrapper{
		padding: 56.25px 15px;
		padding-bottom: 52.5px;
	}

	.menu_title_txt{
		padding-bottom: 18.75px;
	}

	.menu_title_txt > h1{
		font-size: 50px !important;
	}

	.menu_note > span{
		font-size: 18px;
	}
	/*menu title*/

	/*course description*/
	.course_desc_wrapper{
		padding: 52.5px 15px;
		padding-bottom: 46.5px;
	}

	.course_desc_img > ul > li:first-child{
		padding-right: 3.75px;
	}

	.course_desc_img > ul > li:last-child{
		padding-left: 3.75px;
	}

	.course_desc_img{
		padding-top: 50.25px;
		padding-bottom: 30px;
	}

	.course_desc_text > p{
		font-size: 18px;
		line-height: 33px;
	}

	.course_desc_text{
		padding-bottom: 63px;
	}
	/*course description*/

	/*course checklist*/
	.course_checklist_wrapper{
		padding: 0 15px;
		padding-bottom: 48.75px;
	}

	.checklist_box{
		padding-top: 47.25px;
		padding-bottom: 22.5px;
	}

	.checklist_box > ul > li{
	    padding: 18.75px 0;
	}

	.checklist_box > ul > li > span{
		font-size: 13px;
	}

	.top_left_title > h3,
	.bottom_left_title > span{
		font-size: 27px;
		background: #fff;
		padding-right: 18.75px;
	}

	span.checklist_icon,
	span.checklist_icon_unchecked{
	    width: 26.25px;
	    height: 26.25px;
	}

	span.checklist_txt{
		margin-left: 7.5px;
	}
	/*course checklist*/

	/*course price*/
	.course_price_table{
		padding-top: 47.25px;
		padding-bottom: 34.5px;
	}

	.course_price_table > ul > li.course_price_item > ul > li.points{
		font-size: 18px;
		padding: 21px 0;
	}

	.course_price_table > ul > li.course_price_item > ul > li.price{
		padding: 20.25px 0;
		padding-left: 5.25px;
		font-size: 19.5px;
	}

	span.sml_price{
		font-size: 9.75px;
	}

	.course_price_table > ul > li.course_price_item > ul > li.price_recommended{
		padding: 6px 0;
		padding-left: 5.25px;
	}

	.icon_recommended > span{
		font-size: 9px;
		padding: 2.25px 5.25px;
	}

	.recommended_price{
		font-size: 19.5px;
	}

	.icon_recommended{
		padding-bottom: 7.5px;
	}
	/*course price*/

	/*course notes*/
	.course_notes > p {
	    font-size: 18px;
	    line-height: 33px;
	}

	span.note{
		font-size: 15px;
	}
	/*course notes*/

	/*favorite store paddings*/
	.taisho_lnk_container, .tenjinbashi_lnk_container, .kawachinagano_lnk_container, .fav_lnk_container{
		padding-bottom: 18.75px;
	}
	/*favorite store paddings*/

	/*sp overrides*/
	.str_loc_wrapper{
		padding-top: 49.5px;
	}

	.sp_menu_bot_txt > p{
		font-size: 15px;
		line-height: 18px;
	}

	#point .box2 ul {
		padding-left: 10px;
		font-size: 10px;
	}

	.menu_wrapper, .menu_list{
		padding-bottom: 22.5px;
	}

	.point_banner_wrapper, .point_navigate_wrapper, .caculator_point_block, .save_point_content{
		width: 100%;
		margin: 0 auto;
		text-align: center;
	}
	.point_navigate_wrapper a{
		margin: 10px;
	}
	#charge_point_block, #bonus_point_block{
		width: 100%;
		margin: 0 auto;
		padding-top: 10px;
	}
	.caculator_point_block{
		padding: 10px!important;
		width: 80%;
	}
	.cal_point_result{
		padding: unset;
	}
	#charge_point_block .charge_point_titles img, #charge_point_block .info img,
	#bonus_point_block .bonus_point_titles img, #bonus_point_block .info img,
	#limited_point_block .limited_point_titles img, #limited_point_block .info img {
		width: 98%;
		/* padding-right: 20px; */
	}
	#charge_point_block .banner, 
	#bonus_point_block .banner {
		background-size: contain!important;
		width: 80%;
		margin-top: 10px;
    	margin-bottom: 10px;
	}
	#charge_point_block .banner{
		background: url(../../images/point/img06_sp.png) no-repeat;
		height: 230px;
	}
	#bonus_point_block .banner{
		background: url(../../images/point/img09_sp.png) no-repeat;
		height: 210px;
	}
	#limited_point_block .banner{
		background: url(../../images/point/limited_point/img02_sp.png) no-repeat;
		height: 340px;
		background-size: contain;
	}
	.charge_input select{
		background-color: #fff!important;
		height: unset;
		margin: unset;
		font-size: 16px;
	}
	.charge_input p{
		font-size: 20px!important;
	}
	.save_point_title img{
		width: 70%;
	}
	.cal_point_result .charge_info input,
	.cal_point_result .bonus_info input {
		font-size: 20px;
		height: unset;
		padding-bottom: 4px;
		padding-right: 35px;
	}
	.cal_point_result .pt {
		height: 50%;
		font-size: 22px;
		right: 6%;
	}
	.cal_point_result .add_icon{
		margin: 10px 10px;
	}
	.save_point_img{
		background: url(../../images/point/img12_sp.png) no-repeat;
		height: 660px;
		background-size: contain;
		width: 90%;
    	margin: auto;
	}
	.guide_app{
		background: url(../../images/point/img02_sp.png) no-repeat;
		background-size: contain;
		height: 420px;
	}
}



@media screen and (max-width: 639px) {
	#point .box1 #charge,
	#point .box1 #bonus{
		padding-top: 102px;
		margin-top: -102px;
	}
}

@media screen and (max-width: 480px) {
	#point .box1 #charge,
	#point .box1 #bonus{
		padding-top: 65px;
		margin-top: -65px;
	}
	#point .box2 ul {
		padding-left: 5px;
		font-size: 10px;
	}
	#save_point_wrapper {
		margin-bottom: 20px;
		padding-bottom: 20px;
	}
	#charge_point_block .banner, 
	#bonus_point_block .banner,
	#limited_point_block .banner {
		background-size: contain!important;
		width: 80%;
	}
	#charge_point_block .banner{
		background: url(../../images/point/img06_sp.png) no-repeat;
		height: 230px;
	}
	#bonus_point_block .banner{
		background: url(../../images/point/img09_sp.png) no-repeat;
		height: 210px;
	}
	#limited_point_block .banner{
		background: url(../../images/point/limited_point/img02_sp.png) no-repeat;
		height: 230px;
	}
}



@media screen and (min-width: 320px) and (max-width: 480px) {
	ul.sub_menu_table > li{
		padding: 11.5px 10px;
	}

	.sub_menu_name > span{
		font-size: 11.5px;
	}

	.sub_img{
		padding-bottom: 14.5px;
	}
	/*submenus*/

	/*menu title*/
	.menu_title_wrapper{
		padding: 37.5px 10px;
		padding-bottom: 35px;
	}

	.menu_title_txt{
		padding-bottom: 12.5px;
	}

	.menu_title_txt > h1{
		font-size: 19.46px;
	}

	.menu_note > span{
		font-size: 12px;
	}
	/*menu title*/

	/*course description*/
	.course_desc_wrapper{
		padding: 35px 10px;
		padding-bottom: 31px;
	}

	.course_desc_img > ul > li:first-child{
		padding-right: 2.5px;
	}

	.course_desc_img > ul > li:last-child{
		padding-left: 2.5px;
	}

	.course_desc_img{
		padding-top: 33.5px;
		padding-bottom: 20px;
	}

	.course_desc_text > p{
		font-size: 12px;
		line-height: 22px;
	}

	.course_desc_text{
		padding-bottom: 42px;
	}
	/*course description*/

	/*course checklist*/
	.course_checklist_wrapper{
		padding: 0 10px;
		padding-bottom: 32.5px;
	}

	.checklist_box{
		padding-top: 31.5px;
		padding-bottom: 30px;
	}

	.checklist_box > ul > li{

	    padding: 12.5px 0;
	}

	.checklist_box > ul > li > span{
		font-size: 9px;
	}

	.top_left_title > h3,
	.bottom_left_title > span{
		font-size: 18px;
		padding-right: 12.5px;
	}

	span.checklist_icon,
	span.checklist_icon_unchecked{
	    width: 17.5px;
	    height: 17.5px;
	}

	span.checklist_txt{
		margin-left: 5px;
	}
	/*course checklist*/

	/*course price*/
	.course_price_table{
		padding-top: 31.5px;
		padding-bottom: 20px;
	}

	.course_price_table > ul > li.course_price_item > ul > li.points{
		font-size: 12px;
		padding: 14px 0;
	}

	.course_price_table > ul > li.course_price_item > ul > li.price{
		padding: 13.5px 0;
		padding-left: 3.5px;
		font-size: 13px;
	}

	span.sml_price{
		font-size: 6.5px;
	}

	.course_price_table > ul > li.course_price_item > ul > li.price_recommended{
		padding: 4px 0;
		padding-left: 3.5px;
	}

	.icon_recommended > span{
		font-size: 6px;
		background: #94311d;
		padding: 1.5px 3.5px;
	}

	.recommended_price{
		font-size: 13px;
	}

	.icon_recommended{
		padding-bottom: 5px;
	}
	/*course price*/

	/*course notes*/
	.course_notes > p {
	    font-size: 12px;
	    line-height: 22px;
	    word-spacing: 6px;
	}

	span.note{
		font-size: 10px;
	}
	/*course notes*/

	/*favorite store paddings*/
	.taisho_lnk_container, .tenjinbashi_lnk_container, .kawachinagano_lnk_container{
		padding-bottom: 12.5px;
	}
	/*favorite store paddings*/

	/*sp overrides*/
	.str_loc_wrapper{
		padding-top: 33px;
	}

	.sp_menu_bot_txt > p{
		font-size: 10px;
		line-height: 12px;
	}

	.menu_wrapper, .menu_list{
		padding-bottom: 15px;
	}
	/*sp overrides*/
	.caculator_point_block{
		width: 100%;
	}
	.charge_point_content .info, .bonus_point_content .info,
	.limited_point_content .info{
		padding-bottom: 20px;
	}
	.cal_point_result .charge_info input, .cal_point_result .bonus_info input{
		font-size: 16px;
		height: 50px;
	}
	.charge_info .point_header, .bonus_info .point_header {
		top: 5px;
		font-size: 14px;
	}
	.cal_point_result .charge_info input,
	.cal_point_result .bonus_info input {
		border-width: 30px 5px 5px 5px;
    	padding: 15px 32px 15px 15px;
	}
	.cal_point_result .add_icon i {
		padding: 5px 0px;
	}
	.cal_point_result .pt {
		height: 52%;
		font-size: 17px;
		right: 7%;
	}
	.save_point_img {
		background: url(../../images/point/img12_sp.png) no-repeat;
		height: 480px;
		background-size: contain;
		width: 90%;
		margin: auto;
	}
	.guide_app {
		background: url(../../images/point/img02_sp.png) no-repeat;
		background-size: contain;
		height: 250px;
	}
}
@media screen and (max-width: 320px) {
	.caculator_point_block{
		width: 100%;
	}
	.charge_point_content .info, .bonus_point_content .info,
	.limited_point_content .info{
		padding-bottom: 20px;
	}
	.charge_input select{
		font-size: 14px;
	}
	.cal_point_result .charge_info input, .cal_point_result .bonus_info input{
		font-size: 14px;
		height: 50px;
	}
	.cal_point_result .add_icon {
		width: 30px;
		height: 30px;
		background-size: contain;
	}
	.cal_point_result .pt{
		height: 52%;
		right: 8%;
		font-size: 15px;
	}
	.charge_input p {
		font-size: 15px!important;
	}
	.charge_info .point_header, .bonus_info .point_header {
		top: 6px;
		font-size: 11px;
	}
	.cal_point_result .add_icon i {
		padding: 5px 0px;
	}
	.cal_point_result .charge_info input,
	.cal_point_result .bonus_info input {
		border-width: 25px 5px 5px 5px;
		padding: 15px 28px 15px 0px;
	}
	#bonus_point_block .banner,
	#charge_point_block .banner,
	#limited_point_block .banner{
		margin-top: 0px;
    	margin-bottom: 0px;
	}
	#charge_point_block .banner {
		height: 164px;
	}
	#bonus_point_block .banner {
		height: 150px;
		padding: 0px 0px;
	}
	#limited_point_block .banner {
		height: 192px;
	}
	.save_point_img {
		background: url(../../images/point/img12_sp.png) no-repeat;
		height: 355px;
		background-size: contain;
		width: 90%;
		margin: auto;
	}
	.guide_app {
		background: url(../../images/point/img02_sp.png) no-repeat;
		background-size: contain;
		height: 180px;
	}
}