/**
 * cure.css
 * createdAt: 2021.04.10
 * updatedAt: 2021.04.21
 * updatedAt: 2021.05.27
 * updatedAt: 2022.01.30
 * updatedAt: 2023.01.10
 * updatedAt: 2023.03.24
 * updatedAt: 2023.11.24
 * updatedAt: 2024.07.01
 * updatedAt: 2024.07.31
 * updatedAt: 2024.12.05
 * updatedAt: 2025.04.16
 * updatedAt: 2026.02.27
 */

/*========================================

  common

========================================*/
/* container */
.container{
	background:#D1EBFB;
}
.container:nth-of-type(1n){
	padding:50px 0 50px;
}
.container:last-of-type(5){
	padding:40px 0 40px;
}
/* wrap */
.wrap{
	width:1060px;
	margin:0 auto;
	padding:75px;
	box-shadow:0px 3px 6px rgba(0,0,0,0.16);
	border-radius:5px;
	background:#fff;
	box-sizing:border-box;
}
@media screen and (max-width: 639px) {
.container:nth-of-type(1n) .wrap{
	width:auto;
	margin:0px 20px;
	padding:30px 10px 10px;
}
.container:nth-of-type(5) .wrap{
	padding:40px 20px 30px;
}
}
ul{
    list-style:none;
}
/*
.center{
	text-align: center;
}
*/
/* font */
.yu_gothic{
	font-family: yu-gothic, sans-serif;
	font-style: normal;
	font-weight: 400;
}
.roboto{
	font-family: roboto, sans-serif;
	font-style: normal;
	font-weight: 500;
}
/* title */
.head_ttl{
	margin-bottom: 80px;
	text-align: center;
	font-size: 26px;
	color: #204CA6;
}
@media screen and (max-width: 639px) {
	.head_ttl{
		margin-bottom: 60px;
		font-size: 20px;
	}
}

.head_ttl2{
	margin-bottom: 20px;
	text-align: center;
	font-size: 26px;
	color: #204CA6;
}
@media screen and (max-width: 639px) {
	.head_ttl2{
	margin-bottom: 10px;
		font-size: 20px;
	}
}

/*========================================

  main_visual

========================================*/
.main_visual{
	padding-top: 31%;
	position:relative;
	background:#F0F0F0;
}
@media screen and (max-width: 1550px) {
	.main_visual{
		padding-top: 34%;
	}
}
@media screen and (max-width: 1200px) {
	.main_visual{
		padding-top: 36%;
	}
}
@media screen and (max-width: 639px) {
	.main_visual{
		padding-top: 0%;
	}
}

/* main_catch */
.main_catch{
	width: 100%;
	position: absolute;
	top:0;
	bottom: 0;
	z-index: 1;
}
@media screen and (max-width: 639px) {
	.main_catch{
		position: static;
	}
}
.catch_wrap{
	width:1160px;
	margin:5% auto 0;
	display: flex;
	align-items: center;
}
@media screen and (max-width: 1550px) {
	.catch_wrap{
		margin:4% auto 0;
	}
}
@media screen and (max-width: 1300px) {
	.catch_wrap{
		width:auto;
		margin:4% 15px 0;
	}
}
@media screen and (max-width: 639px) {
	.catch_wrap{
		width:auto;
		margin:0 15px 0;
		padding-top: 25px;
	}
}
.catch_inner{
	width: 540px;
	padding-right: 40px;
	box-sizing: border-box;
}
@media screen and (max-width: 1300px) {
	.catch_inner{
		width: 45%;
	}
}
@media screen and (max-width: 639px) {
	.catch_inner{
		width: auto;
	}
}
.catch_inner > h2 span{
	margin-bottom: 5px;
	font-weight: normal;
	font-size: 23px;
	display: block;
}
@media screen and (max-width: 1300px) {
	.catch_inner > h2 span{
		margin-bottom: 0px;
		font-size: 16px;
	}
}
@media screen and (max-width: 639px) {
	.catch_inner > h2 span{
		margin-bottom: 5px;
	}
}
.catch_inner > h2{
	line-height: 1.6;
	margin-bottom: 25px;
	font-size: 40px;
	font-weight: 600;
	position: relative;
	z-index: 1;
}
@media screen and (max-width: 1300px) {
	.catch_inner > h2{
		line-height: 1.3;
		margin-bottom: 15px;
		font-size: 34px;
	}
}
.catch_inner b{
	position:relative;
}
.catch_inner b:before{
	width: 100%;
	height: 12px;
	content: "";
	background: #E7FA00;
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: -1;
}
.catch_txt{
	line-height:2;
	margin-bottom: 35px;
}
@media screen and (max-width: 1300px) {
	.catch_txt{
		margin-bottom: 20px;
	}
}
@media screen and (max-width: 639px) {
	.catch_txt{
		line-height:1.6;
		margin-bottom: 10px;
		font-size: 15px;
	}
}
.catch_cash img{
	width: auto;
	max-width: 100%;
	margin: -25% 0 5% 75%;
}
.catch_cash_sp{
	display: none;
}
@media screen and (max-width: 639px) {
	.catch_cash_sp{
		padding: 10px 15px;
		text-align: center;
		display: block;
	}
	.catch_cash_sp img{
		width: auto;
		max-width: 100%;
		vertical-align: bottom;
	}
}

/* catch_img */
.catch_img{
	width: 100%;
	padding-top: 20px;
	flex-direction: row-reverse;
	display: flex;
	position: absolute;
	top:0;
	right: 0;
	z-index: -1;
}
@media screen and (max-width: 639px) {
	.catch_img{
		position: static;
		display: block;
	}
}
.catch_img_inner{
	width: 52%;
}
@media screen and (max-width: 1300px) {
	.catch_img_inner{
		width: 56%;
	}
}
@media screen and (max-width: 639px) {
	.catch_img_inner{
		width: auto;
	}
}
.catch_img_inner img{
	width: 100%;
	vertical-align: bottom;
}

/* catch_movie */
.catch_movie{
	text-align:center;
	margin:60px auto;
	background-color:#FFF;
}
@media screen and (max-width: 639px) {
	.catch_movie iframe{
		width: auto;
	}
}

/*========================================

  program

========================================*/
.program{
	padding-bottom: 60px;
	background: #D1EBFB;
}
.program > h2{
	margin-bottom: 55px;
	padding: 47px 0;
	text-align: center;
	color: #fff;
	background: url(../img/bg_program.jpg) no-repeat top center;
	background-size:cover;
}
@media screen and (max-width: 639px) {
	@media screen and (max-width: 639px) {
		.program > h2{
			padding: 26px 0;
			background: url(../img/bg_program_sp.jpg) no-repeat center center;
			background-size:100% auto;
		}
	}
}
.program > h2 span{
	display: block;
}
.program > h2 span:first-child{
	font-size: 40px;
}
@media screen and (max-width: 639px) {
	.program > h2 span:first-child{
		font-size: 30px;
	}
}
.program > h2 span:last-child{
	font-weight: normal;
	font-size: 16px;
}

/* program_wrap */
.program_wrap{
	width: 1160px;
	margin: 0 auto;
	padding: 60px 20px 1px;
	background: #fff;
	box-shadow:0px 3px 6px rgba(0,0,0,0.16);
	box-sizing: border-box;
}
@media screen and (max-width: 1220px) {
	.program_wrap{
		width: auto;
		margin: 0 20px;
		padding: 60px 20px 1px;
	}
}
@media screen and (max-width: 639px) {
	.program_wrap{
		padding: 40px 20px 1px;
	}
}
.program_overview{
	width: 695px;
	margin: 0 auto;
}
@media screen and (max-width: 755px) {
	.program_overview{
		width: auto;
	}
}
/* program_point */
.program_point{
	margin-bottom: 45px;
	display: flex;
}
.program_point:last-of-type{
	margin-bottom: 150px;
}
@media screen and (max-width: 639px) {
	.program_point:last-of-type{
		margin-bottom: 80px;
	}
}
.program_point li:first-child span{
	font-size: 20px;
	color: #204CA6;
	position: relative;
	display: block;
}
.program_point li:first-child span:after{
	width: 100%;
	height: 1px;
	content: "";
	background: #204CA6;
	position: absolute;
	left: 0;
	bottom: -10px;
}
.program_point li:last-child{
	margin-left: 20px;
	flex: 1;
}
.program_point li:last-child .point_ttl{
	margin-bottom: 25px;
	font-size: 20px;
	font-weight: normal;
	position: relative;
	display: block;
}
.program_point li:last-child .point_ttl:after{
	width: 100%;
	height: 1px;
	content: "";
	background: #D8D8D8;
	position: absolute;
	left: 0;
	bottom: -10px;
}
.program_point li:last-child .point_txt{
	font-size:14px;
}
/* program_detail */
.program_detail_ttl{
	margin-bottom: 12px;
	font-weight: normal;
}
/* program_detail_tbl */
.program_detail_tbl{ 
	width: 100%;
	font-size: 14px;
	border-top: 1px #D8D8D8 solid;
	border-collapse:collapse;
}
.program_detail_tbl.tmb130{
	margin-bottom: 130px;
}
.program_detail_tbl.bmb130{
	margin-bottom: 130px;
}
@media screen and (max-width: 639px) {
	.program_detail_tbl.tmb130{ 
		margin-bottom: 100px;
	}
	.program_detail_tbl.bmb130{
		margin-bottom: 50px;
	}
}
.program_detail_tbl th{
	width: 100px;
	padding: 20px 10px 20px 20px;
	text-align: left;
	font-weight: normal;
	vertical-align: top;
	background: #F0F0F0;
}
@media screen and (max-width: 639px) {
	.program_detail_tbl th{
		width: 80px;
	}
}
.program_detail_tbl td{
	padding: 20px 10px 20px 20px;
	text-align: left;
}
.program_detail_tbl tr{
	border-bottom: 1px #D8D8D8 solid;
}

/* class_block */
.class_block{
	width: 900px;
	margin: 0 auto 95px;
	padding:0 100px 50px;
	border-radius:5px;
	background:#F0F0F0;
	box-sizing: border-box;
}
@media screen and (max-width: 1000px) {
	.class_block{
		width:auto;
	}
}
@media screen and (max-width: 639px) {
	.class_block{
		margin: 0 auto 60px;
		padding:0 15px 30px;
	}
}
.class_block > h3{
	width:180px;
	margin:60px auto -30px;
	padding:10px 0;
	font-size:24px;
	color:#fff;
	text-align:center;
	border-radius:5px;
	background:#204CA6;
	position:relative;
	top:-30px;
	z-index:1;
}
@media screen and (max-width: 639px) {
.class_block > h3{
	width:140px;
	margin:40px auto 0;
	font-size:18px;
	top:-25px;
}
}
.class_block > h4{
	margin-top: 70px;
	margin-bottom: 20px;
	padding: 0 10px;
	position: relative;
	z-index: 1;
	display: inline-block;
}
@media screen and (max-width: 639px) {
	.class_block > h4{
		margin-top: 30px;
		padding: 0 0px;
	}
}
.class_block > h4::before{
	width: 100%;
	height: 17px;
	content: "";
	background: #E7FA00;
	position: absolute;
	left: 0;
	bottom: 5px;
	z-index: -1;
}
@media screen and (max-width: 639px) {
	.class_block > h4::before{
		background: none;
	}
}
.class_block > h4 span:first-child{
	font-size: 30px;
}
@media screen and (max-width: 639px) {
	.class_block > h4 span:first-child{
		font-size: 25px;
		display: block;
	}
}
.class_block > h4 span:last-child{
	font-size: 18px;
	font-weight: bold;
}
@media screen and (max-width: 639px) {
	.class_block > h4 span:last-child{
		font-size: 15px;
		background: url(../img/underline.png) repeat-x bottom left;
	}
}
/* class_img */
.class_img{
	margin-top: 65px;
	justify-content: center;
	display: flex;
	gap: 40px;
}
@media screen and (max-width: 639px) {
	.class_img{
		margin-top: 50px;
		flex-wrap: wrap;
		gap: 0px;
	}
}
.class_img img{
	width: auto;
	max-width: 100%;
}
@media screen and (max-width: 639px) {
	.class_img li{
		width: 47%;
		box-sizing: border-box;
	}
	.class_img li:first-child{
		margin-right: 15px;
	}
	.class_img li:last-child{
		width: 100%;
		text-align: center;
	}
	.class_img li:last-child img{
		width: 47%;
	}
}
/*========================================

  voice

========================================*/
.voice > h2{
	margin-bottom: 55px;
	padding: 47px 0;
	text-align: center;
	color: #fff;
	background: url(../img/bg_voice.jpg) no-repeat center center;
	background-size:cover;
}
@media screen and (max-width: 639px) {
	.voice > h2{
		margin-bottom: 20px;
		padding: 26px 0;
		background: url(../img/bg_voice_sp.jpg) no-repeat center center;
		background-size:100% auto;
	}
}
.voice > h2 span{
	display: block;
}
.voice > h2 span:first-child{
	font-size: 40px;
}
@media screen and (max-width: 639px) {
	.voice > h2 span:first-child{
		font-size: 30px;
	}
}
.voice > h2 span:last-child{
	font-weight: normal;
	font-size: 16px;
}
/* voice_wrap */
.voice_wrap{
	width: 1160px;
	margin: 0 auto;
	padding: 35px 20px 1px;
	box-sizing: border-box;
}
@media screen and (max-width: 1220px) {
	.voice_wrap{
		width: auto;
		margin: 0 20px;
		padding: 35px 0px 1px;
	}
}
.junior_txt{
	width: 820px;
	margin: 0 auto 100px;
	font-weight: bold;
}
@media screen and (max-width: 639px) {
	.junior_txt{
		width: auto;
		margin: 0 auto 60px;
	}
}
.comment{
	margin: 0 40px 40px;
	align-items: center;
	display: flex;
}
@media screen and (max-width: 639px) {
	.comment{
		margin: 0 0px 80px;
	}
	.comment li:first-child{
		width: 110px;
	}
	.comment li:first-child img{
		width: 100%;
	}
	.comment li:last-child{
		flex: 1;
	}
}
.comment.rev{
	flex-direction: row-reverse;
}
.comment li.mr40{
	margin-right: 40px;
}
.comment li.ml40{
	margin-left: 40px;
}
@media screen and (max-width: 639px) {
	.comment li.mr40{
		margin-right: 15px;
	}
	.comment li.ml40{
		margin-left: 15px;
	}
}
.comment li .com_lt{
	width: 510px;
	padding: 25px 35px;
	border-radius: 10px;
	border: 3px #000 solid;
	position: relative;
	box-sizing: border-box;
	display: block;
}
.comment li .com_lt.center{
	text-align: center;
}
@media screen and (max-width: 639px) {
	.comment li .com_lt{
		width: auto;
		padding: 15px 20px;
	}
	.comment li .com_lt.center{
		text-align: left !important;
	}
}
.comment li .com_lt::before{
	width: 12px;
	height: 3px;
	content: "";
	background: #fff;
	position: absolute;
	top: -3px;
	right: 30px;	
}
.comment li .com_lt::after{
	width: 21px;
	height: 24px;
	content: "";
	background: url(../img/jet_left.svg) no-repeat left center;
	position: absolute;
	bottom: -24px;
	left: 35px;	
}

.comment li .com_rt{
	width: 510px;
	padding: 25px 35px;
	border-radius: 10px;
	border: 3px #000 solid;
	position: relative;
	box-sizing: border-box;
	display: block;
}
@media screen and (max-width: 639px) {
	.comment li .com_rt{
		width: auto;
		padding: 15px 20px;
	}
	.comment li .com_rt br{
		display: none;
	}
}
.comment li .com_rt::before{
	width: 12px;
	height: 3px;
	content: "";
	background: #fff;
	position: absolute;
	top: -3px;
	left: 30px;	
}
.comment li .com_rt::after{
	width: 21px;
	height: 25px;
	content: "";
	background: url(../img/jet_right.svg) no-repeat left center;
	position: absolute;
	bottom: -25px;
	right: 35px;	
}

/* data */
.data_wrap{
	width: 1160px;
	margin: 80px auto 90px;
	padding:55px 100px 35px;
	background: #F0F0F0;
	box-sizing: border-box;
}
@media screen and (max-width: 1220px) {
	.data_wrap{
		width: auto;
		margin: 0 20px 35px;
		padding:40px 30px 35px;
		border-radius: 5px;
	}
}
.data_block{
	margin-bottom: 40px;
	justify-content: center;
	display: flex;
	gap: 60px;
}
@media screen and (max-width: 639px) {
	.data_block{
		display: block;
		gap: 0px;
	}
	.data_block li{
		margin-bottom: 60px;
	}
	.data_block li:last-child{
		margin-bottom: 0px;		
	}

}
.data_ttl{
	line-height: 1.2;
	margin-bottom: 35px;
	text-align: center;
	font-weight: normal;
	font-size: 22px;
}
.data_ttl span{
	font-weight: bold;
	font-size: 56px;
	position: relative;
	z-index: 1;
}
.data_ttl span:before{
	width: 100%;
	height: 15px;
	content: "";
	background: #E7FA00;
	position: absolute;
	left: 0;
	bottom: 10px;
	z-index: -1;
}
.data_ttl span b{
	font-size: 40px;
}
.data_img{
	margin-bottom: 50px;
	text-align: center;
}
@media screen and (max-width: 639px) {
	.data_img{
		margin-bottom: 20px;
	}
	.data_img img{
		width: auto;
		min-width: 100%;
	}
}
.data_result{	
	padding: 4px 12px;
	justify-content: space-between;
	display: flex;
	border-bottom: 1px #BEBEBE solid;
	background: #fff;
}
.data_result:last-of-type{
	border-bottom: none;
}
.source_txt{
	text-align: right;
	font-size: 14px;
}
@media screen and (max-width: 639px) {
	.source_txt{
		text-align: left;
		font-size: 12px;
	}
}

/* teacher */
.teacher{
	padding-bottom: 50px;
	background: #D7F0FC;
}
/* teacher_wrap */
.teacher_wrap{
	width: 1160px;
	margin: 0 auto;
	padding: 65px 20px 1px;
	box-sizing: border-box;
}
@media screen and (max-width: 1220px) {
	.teacher_wrap{
		width: auto;
		margin: 0 20px;
		padding: 65px 0px 1px;		
	}
}

/* comment_t */
.comment_t{
	margin: 0 40px 40px;
	align-items: center;
	display: flex;
}
@media screen and (max-width: 639px) {
	.comment_t{
		margin: 0 0px 80px;
	}
	.comment_t:last-of-type{
		margin: 0 0px 40px;		
	}
}
.comment_t.rev{
	flex-direction: row-reverse;
}
@media screen and (max-width: 639px) {
	.comment_t li:first-child{
		width: 110px;
	}
	.comment_t li:first-child img{
		width: 100%;
	}
	.comment_t li:last-child{
		flex: 1;
	}
}
.comment_t li.mr40{
	margin-right: 40px;
}
.comment_t li.ml40{
	margin-left: 40px;
}
@media screen and (max-width: 639px) {
	.comment_t li.mr40{
		margin-right: 15px;
	}
	.comment_t li.ml40{
		margin-left: 15px;
	}
}
.comment_t li .com_t_lt{
	width: 510px;
	padding: 25px 35px;
	border-radius: 10px;
	position: relative;
	background: #fff;
	box-shadow:0px 3px 6px rgba(0,0,0,0.16);
	box-sizing: border-box;
	display: block;
	z-index: 1;
}
@media screen and (max-width: 639px) {
	.comment_t li .com_t_lt{
		width: auto;
		padding: 15px 20px;
	}
}
.comment_t li .com_t_lt b{
	position: absolute;
	bottom: -27px;
	left: 85px;
	z-index: -1;
}
@media screen and (max-width: 639px) {
	.comment_t li .com_t_lt b{
		left: 35px;
	}
}
.comment_t li .com_t_lt b img.shadow{
	filter: drop-shadow(0px 3px 6px rgba(0,0,0,0.16));
}

.comment_t li .com_t_rt{
	width: 510px;
	padding: 25px 35px;
	border-radius: 10px;
	position: relative;
	background: #fff;
	box-shadow:0px 3px 6px rgba(0,0,0,0.16);
	box-sizing: border-box;
	display: block;
	z-index: 1;
}
@media screen and (max-width: 639px) {
	.comment_t li .com_t_rt{
		width: auto;
		padding: 15px 20px;
	}
	.comment_t li .com_t_rt br{
		display: none;
	}
}
.comment_t li .com_t_rt b{
	position: absolute;
	bottom: -28px;
	right: 85px;
	z-index: -1;
}
@media screen and (max-width: 639px) {
	.comment_t li .com_t_rt b{
		right: 35px;
	}
}
.comment_t li .com_t_rt b img.shadow{
	filter: drop-shadow(0px 3px 6px rgba(0,0,0,0.16));
}
/*========================================

  news

========================================*/
.news{
	padding: 65px 0 30px;
}
@media screen and (max-width: 639px) {
	.news{
		padding: 40px 0 30px;
	}
}
.news_wrap{
	width:1060px;
	margin:0px auto 80px;
}
@media screen and (max-width: 639px) {
.news_wrap{
	width:auto;
	margin:0px 20px 30px;
}
}
.news_wrap .news_ttl{
	margin-bottom:40px;
	padding-bottom: 10px;
	color:#004DA0;
	font-size:20px;
	border-bottom: 1px #D8D8D8 solid;
}
@media screen and (max-width: 639px) {
	.news_wrap .news_ttl{
		margin-bottom:30px;
	}
}
.news_wrap .news_list{
	margin-bottom: 30px;
	display:flex;
}
@media screen and (max-width: 639px) {
.news_wrap .news_list{
	display:block;
}
}
.news_wrap .news_list dt{
	margin-right:3em;
	color: #5e5e5e;
}
@media screen and (max-width: 639px) {
.news_wrap .news_list dt{
	margin-right:0px;
}
}
.news_wrap .news_list .dt2{
	margin-right:2.5em;
	color: #5e5e5e;
}
.news_wrap .news_list .dt3{
	margin-right:3.7em;
	color: #5e5e5e;
}
.news_wrap .news_list dd{
	flex:1;
}
.news_wrap .news_list dd a{
	color:#000;
	text-decoration:none;
	transition: .3s ease-in-out;
}
.news_wrap .news_list dd a:hover{
	text-decoration:none;
}
/*========================================

  company

========================================*/
.company{
	width:1060px;
	margin:0 auto;
	padding:80px 50px;
	box-sizing:border-box;
}
@media screen and (max-width: 639px) {
.company{
	width:auto;
	padding:60px 20px;

}
}
.company .news_ttl{
	margin-bottom:30px;
	font-size:20px;
	color:#004DA0;
}
.company .ic_ttl{
	margin-bottom:15px;
	font-size:14px;
}
@media screen and (max-width: 375px) {
.company .news_ttl{
	font-size:20px;
	color:#004DA0;
	margin: 0px 20px 30px 0;
}

.company .ic_ttl{
	margin-bottom:15px;
	font-size:13px;
	margin: 0px 20px 30px;
}
}
.company .company_list{
	display:flex;
}
@media screen and (max-width: 639px) {
.company .news_ttl{
	font-size:20px;
	color:#004DA0;
	margin: 0px 20px 30px 0;
}

.company .ic_ttl{
	font-size:13px;
	margin: 0px 20px 15px 0;
}

.company .company_list{
	flex-wrap: wrap;
}
}
.company .company_list.mb48{
	margin-bottom:48px;
}
@media screen and (max-width: 639px) {
.company .company_list.mb48{
	margin-bottom:15px;
	margin: 0px 20px 30px;
}
}
.company .company_list li{
	margin-right:35px;
	text-align:center;
}
@media screen and (max-width: 639px) {
.company .company_list li{
	width:50%;
	margin-right:0px;
	margin-bottom:20px;
	white-space:nowrap;
}
}
.company .company_list li span{
	margin-top:5px;
	font-size:12px;
	display:block;
}
.company .company_list li:last-child{
	margin-right:0px;
}
/*========================================

  felica

========================================*/
.felica_ttl{
	margin-bottom:40px;
	padding-top:90px;
	text-align:center;
	font-size:36px;
	color:#004DA0;
	letter-spacing:0.05em;
	background:url(../img/icon_felica.png) no-repeat top center;
}
@media screen and (max-width: 639px) {
.felica_ttl{
	margin-bottom:25px;
	padding-top:70px;
	font-size:26px;
	background-size:84px auto;
}
}
.felica_ttl span{
	margin-top:5px;
	font-size:18px;
	font-family:"�q���M�m�p�S Pro W3","Hiragino Kaku Gothic Pro",���C���I,Meiryo,Osaka,"�l�r �o�S�V�b�N","MS PGothic",sans-serif;
	color:#89C9F1;
	letter-spacing:0.1em;
	display:block;
}
@media screen and (max-width: 639px) {
.felica_ttl span{
	margin-top:0px;
	font-size:16px;
}
}
.felica_ttl2{
	margin-bottom:20px;
	font-size:20px;
}
@media screen and (max-width: 639px) {
.felica_ttl2{
	margin-bottom:10px;
}
}
.felica_ttl2 span{
	padding:0 8px 0 3px;
	background:url(../img/underline.png) repeat-x bottom left;
}
.felica_txt{
	margin-bottom:70px;
	font-size:16px;
}
@media screen and (max-width: 639px) {
.felica_txt{
	margin-bottom:40px;
}
}
/* point_block */
.point_block{
	width:820px;
	margin:0 auto;
	flex-wrap:wrap;
	justify-content: center;
	display:flex;
}
@media screen and (max-width: 639px) {
.point_block{
	width:auto;
	display:block;
}
}
.point_block li{
	width:370px;
	margin-bottom:65px;
	position:relative;
}
@media screen and (max-width: 639px) {
.point_block li{
	width:auto;
	margin-bottom:40px;
}
}
.point_block li:first-child{
	margin-right:80px;
}
@media screen and (max-width: 639px) {
.point_block li:first-child{
	margin-right:0px;
}
}
.point_block li:last-child{
	margin-bottom:0px;
}
.point_img img{
	width:100%;
	vertical-align:bottom;
}
.point_head{
	margin-top:8px;
	margin-bottom:5px;
	text-align:center;
	font-size:20px;
	font-weight:bold;
}
.point_head span{
	padding:0 8px 0 3px;
	background:url(../img/underline.png) repeat-x bottom left;
}
.point_link_wrap{
	margin-top: 70px;
	padding: 45px 0 0;
	border-top: 1px #D8D8D8 solid;
}
@media screen and (max-width: 639px) {
	.point_link_wrap{
		padding: 30px 0 20px;
	}
}
.point_link_about{
	margin-bottom: 10px;
	text-align: center;
}
.point_link_about br{
	display: none;
}
@media screen and (max-width: 639px) {
	.point_link_about br{
		display: block;
	}
}
.point_link{
	width: 200px;
	margin: 0 auto;
	position: relative;
}
.point_link a{
	padding: 10px 10px;
	color: #fff;
	background: #0066B1;
	display: block;
	transition: .3s ease-in-out;
}
.point_link .icon-ic_right_arrow2 {
	font-size: 10px;
	position: absolute;
	top: 30%;
	right: 10px;
}

/*========================================

  closing

========================================*/
.closing{
	padding:130px 0;
	text-align:center;
	background:url(../img/bg_img_end.jpg) no-repeat center center;
	background-size:cover;
}
@media screen and (max-width: 639px) {
.closing{
	padding:50px 0;
}
}
.closing > h2{
	line-height:2.7;
	font-size:20px;
	color:#fff;
}
.closing > h2 br.pc-none{
	display:none;
}
@media screen and (max-width: 639px) {
.closing > h2{
	line-height:2.3;
	font-size:14px;
}
.closing > h2 br.pc-none{
	display:block;
}
}

/*========================================

  sticky

========================================*/
.sticky_wrap{
	width: 100%;
	position: sticky;
	bottom: 0;
	z-index:2;
}
@media screen and (max-width: 639px) {
.sticky_wrap{
	z-index:9999;
}
}
.sticky{
	width:100%;
	padding:20px 0;
	background:#204CA6;
	z-index:9999;
	/*pointer-events: none;*/
}
@media screen and (max-width: 639px) {
	.sticky{
		padding:10px 0;
	}
}
.sticky_inner{
	width: 1160px;
	margin: 0 auto;
	align-items: center;
	justify-content: space-between;
	display: flex;
}
@media screen and (max-width: 1180px) {
	.sticky_inner{
		width: auto;
		margin: 0 15px;
	}
}
@media screen and (max-width: 639px) {
	.sticky_inner{
		display: block;
	}
}
/* sticky_nav */
.sticky_nav{
	margin-left: 50px;
	flex-wrap: wrap;
	display: flex;
}
@media screen and (max-width: 1100px) {
	.sticky_nav{
		margin-left: 0px;
	}
}
@media screen and (max-width: 639px) {
	.sticky_nav{
		margin-bottom: 10px;
	}
}
.sticky_nav li a{
	margin-right: 65px;
	padding-left: 20px;
	color: #fff;
	background: url(../img/arw_down.png) no-repeat left center;
	display: block;
}
@media screen and (max-width: 1100px) {
	.sticky_nav li a{
		margin-right: 35px;
	}
}
@media screen and (max-width: 639px) {
	.sticky_nav li a{
		font-size: 13px;
		margin-right: 12px;
	}
}
.sticky_nav li:first-child,
.sticky_nav li:nth-child(2),
.sticky_nav li:nth-child(3){
	margin-bottom: 16px;
}
@media screen and (max-width: 639px) {
	.sticky_nav li:first-child,
	.sticky_nav li:nth-child(2),
	.sticky_nav li:nth-child(3){
		margin-bottom: 7px;
	}
}
/* sticky_link */
.sticky_link a{
	width:460px;
	line-height:1.2;
	margin:0 auto;
	padding:15px 0;
	color:#000;
	font-size:20px;
	font-weight: bold;
	text-align:center;
	display:block;
	border-radius:30px;
	background-color:#E7FA00;
	background-image:url(../img/ico_arw.png),url(../../common/img/ico_jump.png);
	background-repeat:no-repeat;
	background-position:left 20px center,right 20px center;
	transition: .3s ease-in-out;
}
@media screen and (max-width: 639px) {
.sticky_link a{
	width:auto;
	margin:0 0px;
	padding:15px 0;
	font-size:14px;
	border-radius:40px;
	background-position:left 10px center,right 12px center;
	background-size:19px auto,19px auto;
}
}
.sticky_link a b{
	font-size:13px;
	font-weight: bold;
}
@media screen and (max-width: 639px) {
.sticky_link a b{
	font-size:11px;
}
}

/*ie10�ȍ~hack*/
@media all and (-ms-high-contrast: none) {
.sticky_wrap{
	height:55px;
	position:relative;
	z-index:1;
}
.sticky{
	width:100%;
	padding:30px 0 35px;
	background:rgba(0,0,0,0.9);
	z-index:9999;
}
.sticky br{
	display:none;
}
.sticky a{
	width:500px;
	line-height:1.2;
	margin:0 auto;
	padding:10px 0;
	color:#fff;
	font-size:20px;
	text-align:center;
	display:block;
	border-radius:30px;
	background-color:#FF8800;
}
.sticky a b{
	font-size:16px;
	font-weight:normal;
}
}
@media screen and (max-width: 639px) {
_:-ms-lang(x),.sticky_wrap{
	z-index:9999;
}
_:-ms-lang(x),.sticky{
	padding:20px 0 25px;
	background:rgba(0,0,0,0.8);
}
_:-ms-lang(x),.sticky br{
	display:block;
}
_:-ms-lang(x),.sticky a{
	width:auto;
	margin:0 20px;
	padding:5px 0;
	font-size:18px;
	border-radius:40px;
	background-position:left 15px center,right 15px center;
	background-size:19px auto,19px auto;
}
_:-ms-lang(x),.sticky a b{
	font-size:13px;
}
}


/* pagetop ���� */
@media screen and (max-width: 639px) {/* mobile/pagetop�{�^����\������ꍇ�͍폜 */
.mod-pagetop {
	margin-top: 0px !important;
}
}
.mod-pagetop-btn {
	margin-top: -70px !important;
}
@media all and (-ms-high-contrast: none) {
.mod-pagetop-btn {
	margin-top: -80px !important;
}
}
.mod-related-info {
  margin: 70px 0 30px !important;
}
@media screen and (max-width: 639px) {
.mod-related-info {
  margin: 30px 0 30px !important;
}
}
@media all and (-ms-high-contrast: none) {
.mod-related-info {
  margin: 30px 0 90px !important;
}
}

.kakomi {
	width: 1160px;
	margin: 0 auto;
}
@media screen and (max-width: 1220px) {
	.kakomi{
		width: auto;
		margin: 0 20px;
	}
}
.kakomi p {
    margin: 0; 
    padding: 0;
}
.kakomi p.note {
	font-size: 0.8em;
}

/* cashless_bnr_block */
.cashless_bnr_block{
	padding:0;
	width:1160px;
	margin:0 auto;
}
@media (max-width: 640px) {
.cashless_bnr_block{
	width:auto;
	margin:0 20px;
}
}
.cashless_bnr_block .grn{
	border: 5px #008800 solid;
}
.cashless_bnr_block li{
	margin-bottom:30px;
	box-sizing:border-box;
	list-style:none;
}
.cashless_bnr_block li .lnk{
	padding:25px 150px 18px 140px;
	color:#000;
	box-sizing:border-box;
	align-items:center;
	display:flex;
}
@media (max-width: 640px) {
.cashless_bnr_block li{
	width:100%;
	margin-bottom:20px;
}
.cashless_bnr_block li .lnk{
	padding:15px 15px 15px 20px;
	display: block;
}
}
.cashless_bnr_block li .note{
	font-size: 0.8em;
}
.cashless_bnr_block li a > h3{
	margin-right:35px;
}
.cashless_bnr_block li img{
	max-width:250px;
}
.cashless_bnr_block li .str{
	font-size:20px;
	font-weight:600;
	line-height:2em;
}
