@charset "utf-8";

/**
 *
 * コンテンツ共通モジュール
 *
 */
/*----------------------------------------------------------------------
	.cmn_breadcrumb パンくず
----------------------------------------------------------------------*/
.cmn_breadcrumb{
	padding: 11px 45px 10px;
	border-bottom: 1px solid #e7e7e7;
	background: url(/shared/images/bg_dot.png) repeat 0 0;
	box-sizing: border-box;
}
.cmn_breadcrumb ul{
	letter-spacing: -.4em;
}
.cmn_breadcrumb li{
	margin-right: 10px;
	display: inline;
	vertical-align: middle;
	letter-spacing: 0;
}
.cmn_breadcrumb li:before{
	content: '＞';
	display: inline;
	margin-right: 5px;
	font-size: 12px;
	vertical-align: middle;
}
.cmn_breadcrumb li:first-child:before{
	display: none;
}
.cmn_breadcrumb li a,
.cmn_breadcrumb li span{
	font-size: 12px;
	color: #000;
	text-decoration: none;
}
.cmn_breadcrumb li a:hover{
	color: #d91c5c;
	text-decoration: underline;
}
.cmn_breadcrumb li:first-child a{
	display: inline-block;
	width: 19px;
	height: 16px;
	text-indent: -9999px;
	background: url(/shared/images/ico_home.png) no-repeat 0 50%;
	background-size: 19px auto;
}
.cmn_breadcrumb._type01{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	min-height: 48px;
}

/* @SP */
@media all and (max-width: 767px){
	.cmn_breadcrumb{
		padding: 5px 20px 4px;
		background-size: 8px 8px;
	}
	.cmn_breadcrumb li{
		margin-right: 5px;
	}
	.cmn_breadcrumb li:before{
		font-size: 9px;
	}
	.cmn_breadcrumb li a,
	.cmn_breadcrumb li span{
		font-size: 9px;
	}
	.cmn_breadcrumb li:first-child a{
		width: 16px;
		height: 13px;
		background-size: 16px 13px;
	}
	.cmn_breadcrumb._type01{
		position: static;
		min-height: 100%;
	}
}


/*----------------------------------------------------------------------
	.cmn_page_header ページヘッダー
----------------------------------------------------------------------*/
.cmn_page_header{
	padding: 0 50px;
	background: #f4246a no-repeat 100% 100%;
}
.cmn_page_header._type01{
	background-image: url(/shared/images/page_header_bg01.png);
}
.cmn_page_header._type03{
	background-image: url(/shared/images/page_header_bg03.png);
}
.cmn_page_header._type02{
	background-image: url(/shared/images/page_header_bg02.png);
}
.cmn_page_header._type04{
	background-image: url(/shared/images/page_header_bg04.png);
}
.cmn_page_header._type05{
	background-image: url(/shared/images/page_header_bg05.png);
}
.cmn_page_header._type06{
	background-image: url(/shared/images/page_header_bg06.png);
}
.cmn_page_header._type07{
	background-image: url(/shared/images/page_header_bg07.png);
}
.cmn_page_header_ttl{
	line-height: 120px;
}
.cmn_page_header_ttl img{
	vertical-align: middle;
}

/* @SP */
@media all and (max-width: 767px){
	.cmn_page_header{
		padding: 0 20px;
	}
	.cmn_page_header._type01{
		background-image: url(/shared/images/page_header_bg01_sp.png);
		background-size: 77px auto;
	}
	.cmn_page_header._type02{
		/*background-image: url(/shared/images/page_header_bg02.png);*/
		background-size: 77px auto;
	}
	.cmn_page_header._type03{
		background-image: url(/shared/images/page_header_bg03_sp.png);
		background-size: 79px auto;
	}
	.cmn_page_header._type04{
		background-image: url(/shared/images/page_header_bg04_sp.png);
		background-size: 77px auto;
	}
	.cmn_page_header._type05{
		background-image: url(/shared/images/page_header_bg05_sp.png);
		background-size: 72px auto;
	}
	.cmn_page_header._type06{
		background-image: url(/shared/images/page_header_bg06_sp.png);
		background-size: 76px auto;
	}
	.cmn_page_header._type07{
		background-image: url(/shared/images/page_header_bg07_sp.png);
		background-size: 90px auto;
	}
	.cmn_page_header_ttl{
		line-height: 100px;
	}
	.cmn_page_header_ttl img{
		width: auto;
	}
}


/*----------------------------------------------------------------------
	.cmn_kv kv
----------------------------------------------------------------------*/
.cmn_kv{}
.cmn_kv_cont{
	position: relative;
	display: table;
	float: left;
	box-sizing: border-box;
}
.cmn_kv_cont_inner{
	display: table-cell;
	vertical-align: middle;
	text-align: center;
}
.cmn_kv_ico + .cmn_kv_ttl{
	margin-top: 32px;
}
.cmn_kv_description{
	margin-top: 30px;
}
.cmn_kv_img{
	float: right;
	background: no-repeat 100% 0;
	background-size: cover;
}

/* _type01 */
.cmn_kv._type01{
	padding-top: 48px;
}
.cmn_kv._type01 .cmn_kv_cont{
	padding: 6px;
	width: 50%;
	height: 420px;
	background: #f4246a;
}
.cmn_kv._type01 .cmn_kv_cont_frame{
	display: table;
	width: 100%;
	height: 408px;
	box-sizing: border-box;
	border: 1px solid #f76e8d;
	background: url(/shared/images/kv_bg_img.png) no-repeat 100% 100%;
}
.cmn_kv._type01 .cmn_kv_cont:before,
.cmn_kv._type01 .cmn_kv_cont:after,
.cmn_kv._type01 .cmn_kv_cont_frame:before,
.cmn_kv._type01 .cmn_kv_cont_frame:after{
	content: '';
	width: 12px;
	height: 12px;
	position: absolute;
	background: no-repeat 0 0;
}
.cmn_kv._type01 .cmn_kv_cont:before{
	top: 6px;
	left: 6px;
	background-image: url(/shared/images/kv_bg_parts01.png);
}
.cmn_kv._type01 .cmn_kv_cont:after{
	top: 6px;
	right: 6px;
	background-image: url(/shared/images/kv_bg_parts02.png);
}
.cmn_kv._type01 .cmn_kv_cont_frame:before{
	bottom: 6px;
	left: 6px;
	background-image: url(/shared/images/kv_bg_parts03.png);
}
.cmn_kv._type01 .cmn_kv_cont_frame:after{
	bottom: 6px;
	right: 6px;
	background-image: url(/shared/images/kv_bg_parts04.png);
}
.cmn_kv._type01 .cmn_kv_description{
	color: #fff;
}
.cmn_kv._type01 .cmn_kv_img{
	width: 50%;
	height: 420px;
}

/* _type02 */
.cmn_kv._type02{
	background: #fffdf0;
	border-bottom: 1px dashed #fe7cab;
}
.cmn_kv._type02 .cmn_kv_cont{
	width: 50%;
	height: 448px;
	background: #fffdf0;
}
.cmn_kv._type02 .cmn_kv_img{
	width: 50%;
	height: 448px;
}



/* @SP */
@media all and (max-width: 767px){

	.cmn_kv._type01 .cmn_kv_cont,
	.cmn_kv._type02 .cmn_kv_cont,
	.cmn_kv._type01 .cmn_kv_img,
	.cmn_kv._type02 .cmn_kv_img{
		float: none;
		width: 100%;
		height: auto;
	}
	.cmn_kv_cont_inner{
		display: block;
	}
	.cmn_kv_ico img{
		width: 45px;
		height: auto;
	}
	.cmn_kv_ico + .cmn_kv_ttl{
		margin-top: 16px;
	}
	.cmn_kv_description{
		margin-top: 22px;
	}

	/* _type01 */
	.cmn_kv._type01{
		padding-top: 0;
	}
	.cmn_kv._type01 .cmn_kv_cont{
		padding: 5px;
	}
	.cmn_kv._type01 .cmn_kv_cont_frame{
		height: auto;
		display: block;
		width: auto;
		background-image: url(/shared/images/kv_bg_img_sp.png);
		background-size: 96px auto;
	}
	.cmn_kv._type01 .cmn_kv_cont:before,
	.cmn_kv._type01 .cmn_kv_cont:after,
	.cmn_kv._type01 .cmn_kv_cont_frame:before,
	.cmn_kv._type01 .cmn_kv_cont_frame:after{
		width: 11px;
		height: 11px;
		background-size: 11px 11px;
	}
	.cmn_kv._type01 .cmn_kv_cont:before{
		top: 5px;
		left: 5px;
		background-image: url(/shared/images/kv_bg_parts01_sp.png);
	}
	.cmn_kv._type01 .cmn_kv_cont:after{
		top: 5px;
		right: 5px;
		background-image: url(/shared/images/kv_bg_parts02_sp.png);
	}
	.cmn_kv._type01 .cmn_kv_cont_frame:before{
		bottom: 5px;
		left: 5px;
		background-image: url(/shared/images/kv_bg_parts03_sp.png);
	}
	.cmn_kv._type01 .cmn_kv_cont_frame:after{
		bottom: 5px;
		right: 5px;
		background-image: url(/shared/images/kv_bg_parts04_sp.png);
	}
	.cmn_kv._type01 .cmn_kv_cont_inner{
		padding: 55px 0 45px;
	}
	.cmn_kv._type01 .cmn_kv_description{
		font-size: 13px;
	}

	/* _type02 */
	.cmn_kv._type02{
		border-bottom: none;
	}
	.cmn_kv._type02 .cmn_kv_cont_inner{
		padding: 40px 0 35px;
	}

}



/*----------------------------------------------------------------------
	.cmn_card カード
----------------------------------------------------------------------*/
.cmn_cards{
	margin-left: -36px;
}
.cmn_card{
	margin: 60px 0 0 36px;
	width: 296px;
	float: left;
	border-top: 2px solid #d91c5c;
}
.cmn_card a,
.cmn_card span{
	padding: 18px 0 0;
	display: block;
	text-decoration: none;
}
.cmn_card_hdg{
	padding-left: 28px;
	color: #000;
	font-size: 18px;
	font-weight: bold;
	background: url(/shared/images/ico_arw12.png) no-repeat 0 .3em;
	background-size: 18px auto;
}
.cmn_card_img{
	margin-top: 12px;
}
.cmn_card_description{
	margin-top: 16px;
	color: #000;
}
.cmn_card_label{
	margin-top: 17px;
	padding: 2px 10px 1px;
	color: #fff;
	font-size: 12px;
	font-weight: bold;
	text-align: center;
	background: #fe7cab;
	border-radius: 20px;
}
.cmn_card_box{
	margin-top: 16px;
	padding: 15px 20px 14px;
	background: #fff;
	box-shadow: 0 0 1px 1px rgba(0, 0, 0, .06);
}
.cmn_card_label + .cmn_card_box{
	margin-top: 10px;
}
.cmn_card_box dt{
	color: #9d3dae;
	font-weight: bold;
}
.cmn_card_box dd{
	margin-top: 2px;
	color: #515151;
	font-size: 12px;
}
.cmn_cards._type01 .cmn_card{
	border-color: #ff8e49;
}
.cmn_cards._type01 .cmn_card_hdg{
	background-image: url(/shared/images/ico_arw08.png);
}
.cmn_cards._type02 .cmn_card{
	border-color: #fe7cab;
}
.cmn_cards._type02 .cmn_card_hdg{
	background-image: url(/shared/images/ico_arw09.png);
}

/* @SP */
@media all and (max-width: 767px){

	.cmn_cards{
		margin-left: 0;
	}
	.cmn_card{
		margin: 30px 0 0 0;
		width: auto;
		float: none;
	}
	.cmn_card + .cmn_card{
		margin-top: 36px;
	}
	.cmn_card a{
		padding: 15px 0 0;
	}
	.cmn_card_hdg{
		padding-left: 25px;
		font-size: 16px;
		background-size: 17px auto;
	}
	.cmn_card_img{
		margin-top: 12px;
	}
	.cmn_card_img img{
		width: 100%;
		height: auto;
	}
	.cmn_card_description{
	margin-top: 15px;
		font-size: 13px;
	}
	.cmn_card_label{
		margin-top: 14px;
		padding: 3px 10px 2px;
	}
	.cmn_card_box{
		margin-top: 14px;
		padding: 12px 19px;
	}
	.cmn_card_box dt{
		font-size: 13px;
	}
	.cmn_card_box dd{
		font-size: 11px;
	}
}


/*----------------------------------------------------------------------
	.cmn_btn_line 2つ並びのボタン
----------------------------------------------------------------------*/
.cmn_btn_line{
	letter-spacing: -.4em;
	border-radius: 5px;
	overflow: hidden;
	box-shadow: 0 0 3px rgba(0,0,0,.15);
}
.cmn_btn_line li{
	display: inline-block;
	width: 50%;
	letter-spacing: 0;
}
.cmn_btn_line li:first-child .cmn_btn_link{
	border-radius: 4px 0 0 4px;
}
.cmn_btn_line li:last-child .cmn_btn_link{
	border-radius: 0 4px 4px 0;
}

/* @SP */
@media all and (max-width: 767px){
	.cmn_btn_line li{
		display: block;
		width: 100%;
	}
	.cmn_btn_line li:first-child .cmn_btn_link{
		border-radius: 4px 4px 0 0;
	}
	.cmn_btn_line li:last-child .cmn_btn_link{
		border-radius: 0 0 4px 4px;
	}
}


/*--------------------------------------------------------------------------
	.cmn_pickup
--------------------------------------------------------------------------*/
.cmn_pickup{
	padding: 58px 0 78px;
	background: url(/shared/images/bg_dot.png) repeat 0 0;
	border-top: 5px solid #d91c5c;
}
.bg_dot .cmn_pickup{
	background: none;
	border: none;
}
.cmn_pickup_ttl{
	margin-bottom: 30px;
	text-align: center;
}
.cmn_pickup_ttl img{
	width: 330px;
}

/* .slider
-----------------------------------------------------------------*/
.cmn_pickup .slider{
	position: relative;
}
.cmn_pickup .slider .frame{
	overflow: hidden;
	position: relative;
	margin: 0 -12px;
	height: 102px;
}
.cmn_pickup .slider .slide{
	position: absolute;
	top: 0;
	left: 0;
	width: 10000px;
}
.cmn_pickup .slider .slide li{
	float: left;
	margin: 0 12px;
}

.cmn_pickup .slider .navi{
	position: absolute;
	top: -65px;
	right: 0;
	height: 32px;
	padding: 0 40px;
}
.cmn_pickup .slider .navi img{
	width: 32px;
}
.cmn_pickup .slider .prev,
.cmn_pickup .slider .next{
	position: absolute;
	top: 0;
}
.cmn_pickup .slider .prev{
	left: 0;
}
.cmn_pickup .slider .next{
	right: 0;
}
.cmn_pickup .slider .pointer{
	letter-spacing: -0.4em;
}
.cmn_pickup .slider .pointer li{
	display: inline;
	letter-spacing: 0;
	line-height: 32px;
}
.cmn_pickup .slider .pointer a{
	display: inline-block;
	width: 8px;
	height: 8px;
	margin: 0 6px;
	border-radius: 100%;
	background: #c5c5c5;
}
.cmn_pickup .slider .pointer a:hover,
.cmn_pickup .slider .pointer .active a{
	background: #d9195a;
}


/* @SP */
@media all and (max-width: 767px){
	.cmn_pickup{
		padding: 30px 0 40px;
		border-width: 4px;
	}
	.cmn_pickup_ttl{
		margin-bottom: 25px;
	}
	.cmn_pickup_ttl img{
		width: 275px;
	}

	/* .slider
	-----------------------------------------------------------------*/
	.cmn_pickup .slider{
		margin: 0 -20px;
		padding: 0 20px;
		overflow: hidden;
		text-align: center;
	}
	.cmn_pickup .slider .frame{
		height: 74px;
		margin: 0 -6px;
		overflow: visible;
	}
	.cmn_pickup .slider .slide li{
		width: 161px;
		margin: 0 6px;
	}
	.cmn_pickup .slider .slide img{
		height: 74px;
	}
	.cmn_pickup .slider .navi{
		position: relative;
		display: inline-block;
		top: auto;
		right: auto;
		margin-top: 25px;
	}
}


/*----------------------------------------------------------------------
	.cmn_pager ページャー
----------------------------------------------------------------------*/
.cmn_pager{
	position: relative;
	width: 400px;
	margin: 0 auto;
}
.cmn_pager ul{
	width: 300px;
	margin: 0 auto;
	text-align: center;
	letter-spacing: -.4em;
}
.cmn_pager li{
	display: inline-block;
	margin: 0 5px;
	letter-spacing: 0;
}
.cmn_pager li a,
.cmn_pager .current span,
.cmn_pager_perv a,
.cmn_pager_next a{
	display: block;
	width: 38px;
	padding: 11px 0 11px;
	line-height: 1.2;
}
.cmn_pager li a,
.cmn_pager_perv a,
.cmn_pager_next a{
	color: #ff1b69;
	background: #fff;
	border: 1px solid #ff1b69;
	text-decoration: none;
}
.cmn_pager li a:hover,
.cmn_pager_perv a:hover,
.cmn_pager_next a:hover{
	opacity: .7;
}
.cmn_pager .current span{
	color: #fff;
	background: #ff668e;
	border: 1px solid #ff668e;
}

/* prev,next */
.cmn_pager_perv,
.cmn_pager_next{
	position: absolute;
	top: 0;
}
.cmn_pager_perv a,
.cmn_pager_next a{
	text-indent: -9999px;
	background: #fff no-repeat 50% 50%;
	background-size: 8px auto;
}
.cmn_pager_perv{
	left: 0;
}
.cmn_pager_perv a{
	background-image: url(/shared/images/btn_prev02.png);
}
.cmn_pager_next{
	right: 0;
}
.cmn_pager_next a{
	background-image: url(/shared/images/btn_next02.png);
}


/* @SP */
@media all and (max-width: 767px){
	.cmn_pager{
		width: auto;
		max-width: 335px;
	}
	.cmn_pager ul{
		width: 211px;
	}
	.cmn_pager li{
		margin: 0 3px;
	}
	.cmn_pager li a,
	.cmn_pager .current span,
	.cmn_pager_perv a,
	.cmn_pager_next a{
		width: 33px;
		padding: 9px 0 9px;
	}

	/* prev,next */
	.cmn_pager_perv a,
	.cmn_pager_next a{
		background-size: 7px auto;
	}

}


/*----------------------------------------------------------------------
	.cmn_page_control ページコントロール
----------------------------------------------------------------------*/
.cmn_page_control{}
.cmn_page_control ul{
	position: relative;
	text-align: center;
}
.cmn_page_control li a{
	display: block;
	text-decoration: none;
	color: #000;
}
.cmn_page_control .prev,
.cmn_page_control .next{
	position: absolute;
	top: 10px;
}
.cmn_page_control .prev{
	left: 0;
}
.cmn_page_control .prev a{
	padding-left: 52px;
	line-height: 40px;
	background: url(/shared/images/btn_prev03.png) no-repeat 0 50%;
	background-size: 40px 40px;
}
.cmn_page_control .next{
	right: 0;
}
.cmn_page_control .next a{
	padding-right: 52px;
	line-height: 40px;
	background: url(/shared/images/btn_next03.png) no-repeat 100% 50%;
	background-size: 40px 40px;
}
.cmn_page_control .back{
	display: inline-block;
}
.cmn_page_control .back a{
	background: #fff;
	line-height: 54px;
	text-align: center;
	font-weight: bold;
	border: 3px solid #c5c5c5;
}
.cmn_page_control .back a span{
	padding: 2px 0 2px 30px;
	background: url(/shared/images/ico_list.png) no-repeat 0 49%;
	background-size: 18px 18px;
}

.cmn_page_control._type01{
	margin-top: 52px;
	padding-top: 40px;
	border-top: 1px solid #c5c5c5;
}
.cmn_page_control._type01 .back{
	width: 200px;
}
.cmn_page_control._type02 .back{
	width: 320px;
}


/* @SP */
@media all and (max-width: 767px){
	.cmn_page_control ul{
		padding-top: 60px;
	}
	.cmn_page_control .prev,
	.cmn_page_control .next{
		top: 0;
	}
	.cmn_page_control .prev a{
		padding-left: 40px;
		background-size: 32px 32px;
	}
	.cmn_page_control .next a{
		padding-right: 40px;
		background-size: 32px 32px;
}
	.cmn_page_control .back a{
		font-size: 14px;
		line-height: 46px;
		border: 2px solid #c5c5c5;
	}
	.cmn_page_control .back a span{
		padding: 4px 0 4px 30px;
		background-size: 20px 20px;
	}
	.cmn_page_control._type01{
		margin-top: 34px;
		padding-top: 36px;
	}
	.cmn_page_control._type01 .back,
	.cmn_page_control._type02 .back{
		width: 100%;
	}
}



/*----------------------------------------------------------------------
	.cmn_cate_nav カテゴリーナビ
----------------------------------------------------------------------*/
.cmn_cate_nav{}
.cmn_cate_nav ul{
	letter-spacing: -.4em;
}
.cmn_cate_nav li{
	display: inline-block;
	margin-left: 20px;
	text-align: center;
}
.cmn_cate_nav li:first-child{
	margin-left: 0;
}
.cmn_cate_nav li a{
	display: block;
	width: 146px;
	line-height: 58px;
	font-weight: bold;
	text-decoration: none;
	letter-spacing: 0;
	border-radius: 7px;
	border: 2px solid #ff1866;
	background: #fff no-repeat 50% 50%;
	background-size: auto 14px;
}
.cmn_cate_nav .active a{
	background-color: #ff668e;
	border-color: #ff668e;
	color: #fff;
}
/* _type01 */
.cmn_cate_nav._type01 ul{
	margin-left: -20px;
}
.cmn_cate_nav._type01 li{
	margin: 20px 0 0 20px;
}
.cmn_cate_nav._type01 li a{
	width: 221px;
	line-height: 66px;
	text-indent: 0;
	font-size: 18px;
	font-weight: bold;
	border-color: #db2361;
	border-radius: 5px;
}
.cmn_cate_nav._type01 li a span{
	padding-left: 24px;
	background: url(/shared/images/ico_arw11.png) no-repeat 0 .5em;
	background-size: 14px auto;
}
/* _type02,_type03 */
.cmn_cate_nav._type02 li a,
.cmn_cate_nav._type03 li a{
	border-color: #db2361;
	border-radius: 4px;
	background-size: auto auto;
}
.cmn_cate_nav._type02 li a{
	width: 302px;
}
.cmn_cate_nav._type03 li a{
	width: 466px;
	line-height: 66px;
}


/* @SP */
@media all and (max-width: 767px){
	.cmn_cate_nav li,
	.cmn_cate_nav._type01 li,
	.cmn_cate_nav._type02 li{
		margin: 0;
		width: 50%;
		box-sizing: border-box;
	}
	.cmn_cate_nav li:first-child{
		margin: 0;
	}
	.cmn_cate_nav li:nth-child(odd){
		padding: 5px 5px 5px 0;
	}
	.cmn_cate_nav li:nth-child(even){
		padding: 5px 0 5px 5px;
	}
	.cmn_cate_nav li a{
		line-height: 51px;
		width: 100%;
		border-radius: 3px;
		background-size: auto 13px;
		box-sizing: border-box;
	}
	/* type01 */
	.cmn_cate_nav._type01 ul{
		margin-left: 0;
	}
	.cmn_cate_nav._type01 li a{
		width: 100%;
		font-size: 14px;
		line-height: 46px;
	}
	.cmn_cate_nav._type01 li a span{
		padding-left: 18px;
		background-size: 10px 7px;
		background-position: 0 .4em;
	}
	/* type02 */
	.cmn_cate_nav._type02 li a,
	.cmn_cate_nav._type03 li a{
		width: 100%;
		background-size: auto 11px;
	}
	.cmn_cate_nav._type03 li a{
		line-height: 50px;
	}

}


/*----------------------------------------------------------------------
	.cmn_items アイテム
----------------------------------------------------------------------*/
.cmn_items{}
.cmn_items ul{
	border-bottom: 1px dotted #cccac1;
}
.cmn_items li{
	padding: 20px 0;
	border-top: 1px dotted #cccac1;
}
.cmn_items li img{
	float: left;
	width: 80px;
}
.cmn_items li dl{
	overflow: hidden;
	padding-left: 15px;
}
.cmn_items li dt span{
	display: inline-block;
	line-height: 22px;
	margin: 0 15px 5px 0;
	vertical-align: middle;
}
.cmn_items .date{
	font-size: 10px;
	font-weight: bold;
}
.cmn_items .tag{
	border-radius: 11px;
	padding: 0 12px;
	min-width: 72px;
	font-size: 12px;
	text-align: center;
	color: #fff;
}
/* ._type01 */
.cmn_items._type01 .tag._type01{ background: #e6bf29;}
.cmn_items._type01 .tag._type02{ background: #90abec;}
.cmn_items._type01 .tag._type03{ background: #90ce7b;}
.cmn_items._type01 .tag._type04{ background: #f2434c;}
/* ._type02 */
.cmn_items._type02 .tag._type01{ background: #d9195a;}
.cmn_items._type02 .tag._type02{ background: #fd914d;}
.cmn_items._type02 .tag._type03{ background: #fe7aa9;}


/* @SP */
@media all and (max-width: 767px){
	.cmn_items li{
		padding: 15px 0;
	}
	.cmn_items li img{
		width: 70px;
	}
	.cmn_items li dt span{
		line-height: 20px;
		margin: 0 10px 5px 0;
	}
	.cmn_items .tag{
		border-radius: 10px;
		padding: 0 10px;
		min-width: 50px;
		font-size: 10px;
	}
}


/*----------------------------------------------------------------------
	.cmn_archive アーカイブ
----------------------------------------------------------------------*/
.cmn_archive{
	position: relative;
	width: 240px;
	padding: 34px 0;
}
.cmn_archive:before,
.cmn_archive:after{
	position: absolute;
	content: '';
	width: 240px;
	height: 34px;
	left: 0;
	background: no-repeat 0 0;
}
.cmn_archive:before{
	top: 0;
	background-image: url(/shared/images/archive_bg_top.png);
}
.cmn_archive:after{
	bottom: 0;
	background-image: url(/shared/images/archive_bg_bottom.png);
}
.cmn_archive dl{
	padding: 0 33px 14px;
	background: url(/shared/images/archive_bg_repeat.png) repeat-y 0 0;
}
.cmn_archive dt{
	padding-top: 4px;
	text-align: center;
}
.cmn_archive dd{
	margin-top: 25px;
	border-bottom: 1px solid #d2d2d2;
}
.cmn_archive dd li{
	border-top: 1px solid #d2d2d2;
}
.cmn_archive dd li a{
	display: block;
	padding-top: 14px;
	padding-bottom: 14px;
	background-position: 0 49%;
}

/* @SP */
@media all and (max-width: 767px){
	.cmn_archive{
		width: auto;
		max-width: 400px;
		margin: 0 auto;
		padding: 22px 0;
	}
	.cmn_archive:before,
	.cmn_archive:after{
		width: 100%;
		height: 30px;
		background-size: 100% auto;
	}
	.cmn_archive:before{
		background-image: url(/shared/images/archive_bg_top_sp.png);
	}
	.cmn_archive:after{
		background-position: 0 100%;
		background-image: url(/shared/images/archive_bg_bottom_sp.png);
	}
	.cmn_archive dl{
		padding: 0 33px 20px;
		background-image: url(/shared/images/archive_bg_repeat_sp.png);
		background-size: 100% auto;
	}
	.cmn_archive dt{
		padding-top: 12px;
	}
	.cmn_archive dt img{
		width: 91px;
	}
	.cmn_archive dd{
		margin-top: 28px;
	}
	.cmn_archive dd li a{
		padding-top: 16px;
		padding-bottom: 16px;
	}
}


/*----------------------------------------------------------------------
	.cmn_content_wrap 2カラムのレイアウト
----------------------------------------------------------------------*/
.cmn_content_wrap{
	padding: 75px 0 80px;
}
.cmn_content_wrap .content_main{
	float: left;
	width: 660px;
}
.cmn_content_wrap .content_side{
	float: right;
}

/* @SP */
@media all and (max-width: 767px){
	.cmn_content_wrap{
		padding: 40px 0 40px;
	}
	.cmn_content_wrap .content_main{
		float: none;
		width: auto;
	}
	.cmn_content_wrap .content_side{
		float: none;
		margin-top: 40px;
	}
}


/*----------------------------------------------------------------------
	.cmn_exam_contact 入試に関するお問い合わせ
----------------------------------------------------------------------*/
.cmn_exam_contact{
	padding: 6px;
	background: url(/shared/images/bg_stripe04.png);
}
.cmn_exam_contact dl.frame{
	padding: 74px 0 78px;
	background: #f2f2f2;
	text-align: center;
}
.cmn_exam_contact dl.frame > dt{
	display: inline-block;
	padding: 10px 88px 8px;
	border: 2px solid #565656;
	background: #fff;
}
.cmn_exam_contact dl.frame > dd{
	width: 860px;
	margin: 28px auto 0;
}
.cmn_exam_contact dl.item{
	float: left;
	width: 410px;
}
.cmn_exam_contact dl.item + dl.item{
	margin-left: 40px;
}
.cmn_exam_contact dl.item dt{
	position: relative;
	font-size: 129%;
	font-weight: bold;
}
.cmn_exam_contact dl.item dt:before,
.cmn_exam_contact dl.item dt:after{
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	width: 75px;
	height: 2px;
	margin-top: -3px;
	background: #d91c5c;
}
.cmn_exam_contact dl.item dt:before{
	left: 0;
}
.cmn_exam_contact dl.item dt:after{
	right: 0;
}
.cmn_exam_contact dl.item .ttl{
	margin-top: 20px;
	font-size: 129%;
	font-weight: bold;
	line-height: 1;
}
.cmn_exam_contact dl.item .tel{
	display: inline-block;
	padding: 6px 0 6px 58px;
	background: url(/shared/images/ico_tel02.png) no-repeat 0 50%;
	background-size: 48px auto;
	color: #d91c5c;
	font-size: 179%;
	font-weight: bold;
}
.cmn_exam_contact dl.item .time{
	margin-top: 13px;
}
.cmn_exam_contact dl.item .btn{
	margin-top: 20px;
}
.cmn_exam_contact dl.item .btn a{
	display: inline-block;
	border-radius: 5px;
	padding: 13px 52px 12px 68px;
	background: #d91c5c;
	color: #fff;
	text-decoration: none;
}
.cmn_exam_contact dl.item .btn span{
	padding-left: 15px;
	background: url(/shared/images/ico_arw01.png) no-repeat 0 50%;
	background-size: 8px auto;
}
.cmn_exam_contact dl.item .add{
	margin-top: 18px;
	font-weight: bold;
}

/* @SP */
@media all and (max-width: 767px){
	.cmn_exam_contact{
		padding: 5px;
		background-size: 4px 4px;
	}
	.cmn_exam_contact dl.frame{
		padding: 40px 30px 45px;
	}
	.cmn_exam_contact dl.frame > dt{
		display: block;
		padding: 10px 0 7px;
		border: 1px solid #565656;
	}
	.cmn_exam_contact dl.frame > dt img{
		width: 200px;
		height: auto;
	}
	.cmn_exam_contact dl.frame > dd{
		width: auto;
		margin-top: 15px;
	}
	.cmn_exam_contact dl.item{
		float: none;
		width: auto;
	}
	.cmn_exam_contact dl.item + dl.item{
		margin: 21px 0 0 0;
	}
	.cmn_exam_contact dl.item dt{
		font-size: 13px;
	}
	.cmn_exam_contact dl.item dt:before,
	.cmn_exam_contact dl.item dt:after{
		width: 20%;
		height: 1px;
		margin-top: -2px;
	}
	.cmn_exam_contact dl.item .ttl{
		font-size: 15px;
	}
	.cmn_exam_contact dl.item .tel{
		padding: 6px 0 6px 50px;
		background-size: 40px auto;
		font-size: 18px;
	}
	.cmn_exam_contact dl.item .time{
		margin-top: 6px;
	}
	.cmn_exam_contact dl.item .btn{
		margin-top: 15px;
		padding: 0 15px;
	}
	.cmn_exam_contact dl.item .btn a{
		display: block;
		padding: 14px 0;
	}
	.cmn_exam_contact dl.item .btn span{
		padding-left: 16px;
		background-size: 7px auto;
	}
	.cmn_exam_contact dl.item .add{
		margin-top: 12px;
	}
}

/*----------------------------------------------------------------------
	.cmn_localnav
----------------------------------------------------------------------*/
.cmn_localnav{
	padding: 50px 0 52px;
	background: url(/shared/images/bg_stripe03.png);
}
/* ._bg01*/
.cmn_localnav._bg01{
	padding: 50px 0 52px;
	background: url(/shared/images/bg_stripe02.png);
}
.cmn_localnav_head{
	position: relative;
	padding-bottom: 12px;
	border-bottom: 1px solid rgba(0,0,0,0.19);
}
.cmn_localnav_btn{
	position: absolute;
	top: 0;
	right: 0;
}
.cmn_localnav_cont{
	margin-top: 10px;
}
.cmn_localnav_cont._type_col,
.cmn_localnav_col_wrap{
	display: table;
	width: 100%;
}
.cmn_localnav_col_wrap{
	margin-top: 15px;
}
.cmn_localnav_col{
	width: 480px;
	display: table-cell;
	vertical-align: top;
}
.cmn_localnav_subttl{
	font-weight: bold;
}
.cmn_localnav_subttl + .cmn_localnav_list{
	margin-top: -8px;
}
.cmn_localnav_list{
	letter-spacing: -.4em;
}
.cmn_localnav_list li{
	margin: 10px 25px 0 0;
	display: inline-block;
	letter-spacing: 0;
	vertical-align: top;
}
.cmn_localnav_list li .active{
	color: #d91c5c;
	font-weight: bold;
}
.cmn_localnav_list li .txt_small{
	font-size: 12px;
}
.cmn_localnav_col_wrap .cmn_localnav_list li{
	margin-right: 15px;
}
.cmn_localnav_list._type01 li .active{
	color: #ff7b2b;
}
.cmn_localnav_list._type02 li .active{
	color: #fe649b;
}

/* ._col2 */
.cmn_localnav_list._col2 li{
	width: 200px;
	margin-right: 0;
}

/* ._col3 */
.cmn_localnav_list._col3 li{
	width: 155px;
	margin-right: 0;
}
.cmn_localnav_list.course-ttl {
	margin-top: 10px;
}
.cmn_localnav_list.course-ttl li a {
	background: none;
	padding-left: 0;
}

/* .cmn_btn_line */
.cmn_localnav .cmn_btn_line{
	display: table;
	width: 100%;
	margin-top: 16px;
}
.cmn_localnav .cmn_btn_line li{
	float: left;
	display: table;
	width: 50%;
}
.cmn_localnav .cmn_btn_line li a{
	display: table-cell;
	vertical-align: middle;
	line-height: 1.4;
}


/* @SP */
@media all and (max-width: 767px){
	.cmn_localnav{
		padding: 35px 0;
		background-size: 6px 6px;
	}

	/* ._bg01*/
	.cmn_localnav._bg01{
		padding: 34px 0 36px;
	}
	.cmn_localnav_head{
		padding-bottom: 10px;
	}
	.cmn_localnav_ttl{
		line-height: 0;
	}
	.cmn_localnav_ttl img{
		height: 15px;
		width: auto;
	}
	.cmn_localnav_btn{
		top: -1px;
	}
	.cmn_localnav_cont{
		margin-top: 8px;
	}
	.cmn_localnav_list li{
		margin: 0;
		padding: 8px 0 0 0;
		width: 50%;
		box-sizing: border-box;
	}
	.cmn_localnav_col_wrap .cmn_localnav_list li{
		margin-right: 0;
	}
	.cmn_localnav_list li:nth-child(odd){
		padding-right: 2px;
	}
	.cmn_localnav_list li:nth-child(even){
		padding-left: 2px;
	}
	.cmn_localnav_col{
		display: block;
		width: 100%;
	}
	.cmn_localnav_col_wrap .cmn_localnav_col + .cmn_localnav_col{
		margin-top: 15px;
	}
	.cmn_localnav_subttl + .cmn_localnav_list{
		margin-top: -5px;
	}

	/* ._col2, _col3 */
	.cmn_localnav_list._col2 li,
	.cmn_localnav_list._col3 li{
		width: 50%;
	}

	.cmn_localnav_list li.wide{
		width: 100%;
		padding-left: 0;
	}
	.cmn_localnav_list .wide + li{
		padding-left: 0;
	}

	/* .cmn_btn_line */
	.cmn_localnav_col .cmn_btn_line .cmn_btn_link{
		font-size: 11px;
	}
	.cmn_localnav_col .cmn_btn_line li:first-child .cmn_btn_link{
		border-radius: 4px 0 0 4px;
	}
	.cmn_localnav_col .cmn_btn_line li:last-child .cmn_btn_link{
		border-radius: 0 4px 4px 0;
	}
	.cmn_localnav_col .cmn_btn_line .cmn_btn_link span{
		padding: 2px 0 2px 12px;
		background-position: 0 .4em;
	}
}


/*----------------------------------------------------------------------
	.cmn_frame 装飾付き枠のモジュール
----------------------------------------------------------------------*/
.cmn_frame{
	position: relative;
	background: url(/shared/images/frame_bg_middle01.png) repeat-y 0 0;
}
.cmn_frame:before,
.cmn_frame:after{
	content: '';
	position: absolute;
	left: 0;
	width: 100%;
	height: 33px;
	background: no-repeat 0 0;
}
.cmn_frame:before{
	top: -33px;
	background-image: url(/shared/images/frame_bg_top01.png);
}
.cmn_frame:after{
	bottom: -33px;
	background-image: url(/shared/images/frame_bg_bottom01.png);
}

/* _type01 */
.cmn_frame._type01{
	background-image: url(/shared/images/frame_bg_middle02.png);
}
.cmn_frame._type01:before{
	background-image: url(/shared/images/frame_bg_top02.png);
}
.cmn_frame._type01:after{
	background-image: url(/shared/images/frame_bg_bottom02.png);
}

/* _type02 */
.cmn_frame._type02{
	background-image: url(/shared/images/frame_bg_middle03.png);
}
.cmn_frame._type02:before{
	background-image: url(/shared/images/frame_bg_top03.png);
}
.cmn_frame._type02:after{
	background-image: url(/shared/images/frame_bg_bottom03.png);
}

/* _type03 */
.cmn_frame._type03{
	background-image: url(/shared/images/frame_bg_middle04.png);
}
.cmn_frame._type03:before{
	background-image: url(/shared/images/frame_bg_top04.png);
}
.cmn_frame._type03:after{
	background-image: url(/shared/images/frame_bg_bottom04.png);
}

/* _type04 */
.cmn_frame._type04{
	background-image: url(/shared/images/frame_bg_middle05.png);
}
.cmn_frame._type04:before{
	background-image: url(/shared/images/frame_bg_top05.png);
}
.cmn_frame._type04:after{
	background-image: url(/shared/images/frame_bg_bottom05.png);
}

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

	.cmn_frame{
		max-width: 340px;
		margin: 0 auto;
		background-image: url(/shared/images/frame_bg_middle01_sp.png);
		background-size: 100% auto;
	}
	.cmn_frame:before,
	.cmn_frame:after{
		height: 34px;
		background-size: 100% auto;
	}
	.cmn_frame:before{
		top: -20px;
		background-image: url(/shared/images/frame_bg_top01_sp.png);
	}
	.cmn_frame:after{
		bottom: -20px;
		background-image:url(/shared/images/frame_bg_bottom01_sp.png);
		background-position: 100% 100%;
	}
	/* _type01,_type02 */
	.cmn_frame._type01,
	.cmn_frame._type02{
		background-image: url(/shared/images/frame_bg_middle02_sp.png);
	}
	.cmn_frame._type01:before,
	.cmn_frame._type02:before{
		background-image: url(/shared/images/frame_bg_top02_sp.png);
	}
	.cmn_frame._type01:after,
	.cmn_frame._type02:after{
		background-image: url(/shared/images/frame_bg_bottom02_sp.png);
	}
	/* _type04 */
	.cmn_frame._type04{
		background-image: url(/shared/images/frame_bg_middle05_sp.png);
	}
	.cmn_frame._type04:before{
		background-image: url(/shared/images/frame_bg_top05_sp.png);
	}
	.cmn_frame._type04:after{
		background-image: url(/shared/images/frame_bg_bottom05_sp.png);
	}
}


/*----------------------------------------------------------------------
	.cmn_contact_box お問い合わせ先ボックス
----------------------------------------------------------------------*/
.cmn_contact_box{
	position: relative;
	padding: 5px;
	background: url(../../../shared/images/bg_stripe05.png) repeat 0 0;
}
.cmn_contact_box .inner{
	background: #fffdf0;
}
.cmn_contact_box dl{
	display: table;
	padding: 21px 0;
	width: auto;
	margin: 0 auto;
	text-align: center;
}
.cmn_contact_box dt,
.cmn_contact_box dd{
	display: table-cell;
	vertical-align: middle;
	box-sizing: border-box;
}
.cmn_contact_box dt{
	padding-right: 12px;
	text-align: right;
}
.cmn_contact_box dt span{
	display: inline-block;
	box-sizing: border-box;
	min-width: 190px;
	padding: 0 35px;
	line-height: 56px;
	background: #fff;
	text-align: center;
	border: 2px solid #b5b5b5;
}
.cmn_contact_box dt img{
	vertical-align: middle;
}
.cmn_contact_box dd{
	padding-left: 12px;
	text-align: left;
}
.cmn_contact_box dd a{
	color: #2e2b2c;
	text-decoration: none;
}
.cmn_contact_box dd a.tel-link{
	color: inherit;
	text-decoration: underline;
}
.cmn_contact_box .tel{
	padding-right: 12px;
	color: #d91c5c;
	font-size: 26px;
	font-weight: bold;
	vertical-align: middle;
}
.cmn_contact_box .tel div{
	padding: 10px 0 8px 58px;
	line-height: 1.2;
	background: url(/shared/images/ico_tel02.png) no-repeat 0 50%;
	background-size: 48px auto;
}
.cmn_contact_box .tel span{
	font-size: 24px;
}

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

	.cmn_contact_box{
		padding: 5px;
		background-size: 16px auto;
	}
	.cmn_contact_box dl{
		padding: 15px 0;
		display: block;
	}
	.cmn_contact_box dt,
	.cmn_contact_box dd{
		display: block;
		padding: 0;
		text-align: center;
	}
	.cmn_contact_box dt span{
		min-width: 205px;
		line-height: 36px;
		border-width: 1px;
	}
	.cmn_contact_box dt img{
		width: auto;
		height: 16px;
	}
	.cmn_contact_box dd{
		margin-top: 10px;
		font-size: 11px;
	}
	.cmn_contact_box .tel{
		padding-right: 0;
		font-size: 18px;
	}
	.cmn_contact_box .tel div{
		display: inline-block;
		padding: 11px 0 8px 50px;
		text-align: left;
		background-size: 40px auto;
	}
	.cmn_contact_box .tel span{
		font-size: 17px;
		vertical-align: top;
	}

}


/*----------------------------------------------------------------------
	popup
----------------------------------------------------------------------*/
.m-popup {
	position: fixed;
	bottom: 0;
	right: 68px;
	z-index: 9999;
	-webkit-transform-origin: 100% 100%;
	-moz-transform-origin: 100% 100%;
	-ms-transform-origin: 100% 100%;
	-o-transform-origin: 100% 100%;
	transform-origin: 100% 100%;
	-webkit-transform: scale(.8);
	-ms-transform: scale(.8);
	transform: scale(.8);
}
.m-popup__txt {
	color: #000;
	font-size: 16px;
	font-weight: bold;
	-ms-word-break: break-all;
	word-break: break-all;
	max-width: 100%;
	-webkit-backface-visibility: hidden;
	-moz-backface-visibility: hidden;
	-ms-backface-visibility: hidden;
	backface-visibility: hidden;
}
@media all and (max-width: 767px) {
	.m-popup {
		right: 30px;
		-webkit-transform: scale(.5);
		-ms-transform: scale(.5);
		transform: scale(.5);
	}
	.m-popup__txt {
		font-size: 18px;
	}
}
.m-popup__close {
	position: absolute;
	z-index: 1;
	top: -10px;
	right: -10px;
	width: 30px;
	height: 30px;
	opacity: 0;
}
@media all and (max-width: 767px) {
	.m-popup__close {
		width: 40px;
		height: 40px;
	}
}
.m-popup__close span {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	border: 1px solid #f75f8d;
	border-radius: 50%;
	background: #fff;
	cursor: pointer;
}
.m-popup__close span:hover {
	opacity: .9;
}
.m-popup__close span:before,
.m-popup__close span:after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	display: block;
	width: 60%;
	height: 1px;
	background: #f75f8d;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}
.m-popup__close span:after {
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
@media all and (max-width: 767px) {
	.m-popup__close span {
		border-width: 2px;
	}
	.m-popup__close span:before,
	.m-popup__close span:after {
		height: 2px;
	}
}

.m-popup a {
	display: block;
}
.m-popup a:hover {
	opacity: .9;
}
.m-popup img {
	max-width: none;
}

/* plane
======================================================================*/
.m-popup-plane img {
	max-width: 290px;
	height: auto;
}
@media all and (max-width: 767px) {
	.m-popup-plane img {
		max-width: 164px;
	}
}

/* anim
----------------------------------------------------------------------*/
.m-popup-plane a {
	-webkit-transform: translateY(110%);
	-ms-transform: translateY(110%);
	transform: translateY(110%);
	-webkit-transition: .8s cubic-bezier(0.165, 0.84, 0.44, 1);
	-o-transition: .8s cubic-bezier(0.165, 0.84, 0.44, 1);
	transition: .8s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.m-popup-plane .m-popup__close {
	-webkit-transition: .5s ease 1s;
	-o-transition: .5s ease 1s;
	transition: .5s ease 1s;
}

/* active */
.m-popup-plane.active a {
	-webkit-transform: translateY(0);
	-ms-transform: translateY(0);
	transform: translateY(0);
}
.m-popup-plane.active .m-popup__close {
	opacity: 1;
}

/* stage
======================================================================*/
.m-popup-stage__base {
	position: relative;
	width: 328px;
	height: 251px;
	background: url(/shared/images/popup/stage/base.png) no-repeat 50% 50%;
	background-size: cover;
	border-radius: 8px 8px 0 0;
	-webkit-box-shadow: 0 10px 20px rgba(0,0,0,.8);
	box-shadow: 0 10px 20px rgba(0,0,0,.8);
	overflow: hidden;
}

.m-popup-stage__panel {
	position: absolute;
	top: 105px;
	left: 0;
	right: 0;
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
	-webkit-flex-direction: column;
	-ms-flex-direction: column;
	flex-direction: column;
	-ms-align-items: center;
	align-items: center;
	-ms-justify-content: center;
	justify-content: center;
	width: 227px;
	height: 162px;
	margin: auto;
	padding: 20px;
	background: #fff url(/shared/images/popup/stage/bg.png) no-repeat 50% 50%;
	background-size: cover;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	text-align: center;
	-webkit-backface-visibility: hidden;
	-moz-backface-visibility: hidden;
	-ms-backface-visibility: hidden;
	backface-visibility: hidden;
}

.m-popup-stage__curtain__b-l,
.m-popup-stage__curtain__b-r,
.m-popup-stage__curtain__f-l,
.m-popup-stage__curtain__f-r {
	position: absolute;
	top: 0;
}
.m-popup-stage__curtain__b-r img,
.m-popup-stage__curtain__f-r img {
	-webkit-transform: scaleX(-1);
	-ms-transform: scaleX(-1);
	transform: scaleX(-1);
}
.m-popup-stage__curtain__b-l {
	right: 260px;
}
.m-popup-stage__curtain__b-r {
	left: 260px;
}
.m-popup-stage__curtain__f-l {
	right: 275px;
}
.m-popup-stage__curtain__f-r {
	left: 275px;
}

.m-popup-stage__pole {
	position: absolute;
	top: 2px;
	left: 0;
	right: 0;
	margin: auto;
	width: 320px;
	height: 45px;
	background: url(/shared/images/popup/stage/pole.png) no-repeat 50% 0;
	background-size: contain;
	overflow: hidden;
}
.m-popup-stage__pole__curtain-l,
.m-popup-stage__pole__curtain-r,
.m-popup-stage__pole__curtain-c {
	position: absolute;
	top: 0;
}
.m-popup-stage__pole__curtain-l {
	left: 7px;
}
.m-popup-stage__pole__curtain-r {
	right: 7px;
}
.m-popup-stage__pole__curtain-c {
	left: 0;
	right: 0;
	text-align: center;
}
.m-popup-stage__pole__curtain-r img {
	-webkit-transform: scaleX(-1);
	-ms-transform: scaleX(-1);
	transform: scaleX(-1);
}

.m-popup-stage__light-l,
.m-popup-stage__light-r {
	position: absolute;
	top: 0;
}
.m-popup-stage__light-l {
	left: 42px;
}
.m-popup-stage__light-r {
	right: 42px;
}
.m-popup-stage__light-r img {
	-webkit-transform: scaleX(-1);
	-ms-transform: scaleX(-1);
	transform: scaleX(-1);
}

/* anim
----------------------------------------------------------------------*/
/* 全体 */
.m-popup-stage {
	perspective: 1000px;
}
.m-popup-stage__base {
	-webkit-transform-origin: 50% 100%;
	-moz-transform-origin: 50% 100%;
	-ms-transform-origin: 50% 100%;
	-o-transform-origin: 50% 100%;
	transform-origin: 50% 100%;
	-webkit-transform: rotateX(100deg);
	-ms-transform: rotateX(100deg);
	transform: rotateX(100deg);
	opacity: 0;
}

/* ポール */
.m-popup-stage__pole {
	-webkit-transform: scaleX(0);
	-ms-transform: scaleX(0);
	transform: scaleX(0);
}
.m-popup-stage__pole__curtain-l {
	-webkit-transform-origin: 0 0;
	-moz-transform-origin: 0 0;
	-ms-transform-origin: 0 0;
	-o-transform-origin: 0 0;
	transform-origin: 0 0;
	-webkit-transform: rotate(-60deg);
	-ms-transform: rotate(-60deg);
	transform: rotate(-60deg);
	-webkit-transition: 1s cubic-bezier(0.39, 0.575, 0.565, 1) 2.25s;
	-o-transition: 1s cubic-bezier(0.39, 0.575, 0.565, 1) 2.25s;
	transition: 1s cubic-bezier(0.39, 0.575, 0.565, 1) 2.25s;
}
.m-popup-stage__pole__curtain-r {
	-webkit-transform-origin: 100% 0;
	-moz-transform-origin: 100% 0;
	-ms-transform-origin: 100% 0;
	-o-transform-origin: 100% 0;
	transform-origin: 100% 0;
	-webkit-transform: rotate(60deg);
	-ms-transform: rotate(60deg);
	transform: rotate(60deg);
	-webkit-transition: 1s cubic-bezier(0.39, 0.575, 0.565, 1) 2.15s;
	-o-transition: 1s cubic-bezier(0.39, 0.575, 0.565, 1) 2.15s;
	transition: 1s cubic-bezier(0.39, 0.575, 0.565, 1) 2.15s;
}
.m-popup-stage__pole__curtain-c {
	-webkit-transform: translateY(-100%);
	-ms-transform: translateY(-100%);
	transform: translateY(-100%);
	-webkit-transition: 1s linear 2.8s;
	-o-transition: 1s linear 2.8s;
	transition: 1s linear 2.8s;
}

/* 前のカーテン */
.m-popup-stage__curtain__b-l {
	right: 115px;
	transition: 2s linear 2.5s;
}
.m-popup-stage__curtain__b-r {
	left: 115px;
	transition: 2s linear 2.5s;
}
.m-popup-stage__curtain__f-l {
	right: 115px;
	transition: 2s linear 2s;
}
.m-popup-stage__curtain__f-r {
	left: 115px;
	transition: 2s linear 2s;
}

/* パネル */
.m-popup-stage__panel {
	top: -162px;
}

.m-popup-stage__light-l,
.m-popup-stage__light-r {
	-webkit-transform: translateY(-100%);
	-ms-transform: translateY(-100%);
	transform: translateY(-100%);
	-webkit-transition: 1s linear 4.6s;
	-o-transition: 1s linear 4.6s;
	transition: 1s linear 4.6s;
}
.m-popup-stage .m-popup__close {
	transition: .5s 6.5s;
}

/* active */
.m-popup-stage.active .m-popup-stage__base {
	opacity: 1;
	-webkit-animation: stage-getup 1s ease forwards;
	animation: stage-getup 1s ease forwards;
}
@keyframes stage-getup {
	30% {
		-webkit-transform: rotateX(-13deg);
		-ms-transform: rotateX(-13deg);
		transform: rotateX(-13deg);
	}
	40% {
		-webkit-transform: rotateX(3deg);
		-ms-transform: rotateX(3deg);
		transform: rotateX(3deg);
	}
	50% {
		-webkit-transform: rotateX(-10deg);
		-ms-transform: rotateX(-10deg);
		transform: rotateX(-10deg);
	}
	60% {
		-webkit-transform: rotateX(2deg);
		-ms-transform: rotateX(2deg);
		transform: rotateX(2deg);
	}
	70% {
		-webkit-transform: rotateX(-5deg);
		-ms-transform: rotateX(-5deg);
		transform: rotateX(-5deg);
	}
	80% {
		-webkit-transform: rotateX(0deg);
		-ms-transform: rotateX(0deg);
		transform: rotateX(0deg);
	}
	100% {
		-webkit-transform: rotateX(0deg);
		-ms-transform: rotateX(0deg);
		transform: rotateX(0deg);
	}
}

.m-popup-stage.active .m-popup-stage__pole {
	-webkit-animation: stage-pole 1s ease 1s forwards;
	animation: stage-pole 1s ease 1s forwards;
}
@keyframes stage-pole {
	30% {
		-webkit-transform: scaleX(0);
		-ms-transform: scaleX(0);
		transform: scaleX(0);
	}
	30% {
		-webkit-transform: scaleX(1);
		-ms-transform: scaleX(1);
		transform: scaleX(1);
	}
	46% {
		-webkit-transform: scaleX(.94);
		-ms-transform: scaleX(.94);
		transform: scaleX(.94);
	}
	60% {
		-webkit-transform: scaleX(1);
		-ms-transform: scaleX(1);
		transform: scaleX(1);
	}
	73% {
		-webkit-transform: scaleX(.96);
		-ms-transform: scaleX(.96);
		transform: scaleX(.96);
	}
	86% {
		-webkit-transform: scaleX(1);
		-ms-transform: scaleX(1);
		transform: scaleX(1);
	}
	100% {
		-webkit-transform: scaleX(1);
		-ms-transform: scaleX(1);
		transform: scaleX(1);
	}
}

.m-popup-stage.active .m-popup-stage__pole__curtain-l,
.m-popup-stage.active .m-popup-stage__pole__curtain-r {
	-webkit-transform: rotate(0);
	-ms-transform: rotate(0);
	transform: rotate(0);
}
.m-popup-stage.active .m-popup-stage__pole__curtain-c {
	-webkit-transform: translateY(0);
	-ms-transform: translateY(0);
	transform: translateY(0);
}

.m-popup-stage.active .m-popup-stage__curtain__b-l {
	right: 260px;
}
.m-popup-stage.active .m-popup-stage__curtain__b-r {
	left: 260px;
}
.m-popup-stage.active .m-popup-stage__curtain__f-l {
	right: 275px;
}
.m-popup-stage.active .m-popup-stage__curtain__f-r {
	left: 275px;
}

.m-popup-stage.active .m-popup-stage__panel {
	-webkit-transform-origin: 100% 100%;
	-moz-transform-origin: 100% 100%;
	-ms-transform-origin: 100% 100%;
	-o-transform-origin: 100% 100%;
	transform-origin: 100% 100%;
	-webkit-animation: stage-panel 1s linear 3.4s forwards;
	animation: stage-panel 1s linear 3.4s forwards;
}
@keyframes stage-panel {
	50% {
		top: 62px;
		-webkit-transform: rotate(3deg);
		-ms-transform: rotate(3deg);
		transform: rotate(3deg);
	}
	70% {
		top: 17px;
		-webkit-transform: rotate(-4deg);
		-ms-transform: rotate(-4deg);
		transform: rotate(-4deg);
	}
	85% {
		top: 62px;
		-webkit-transform: rotate(2deg);
		-ms-transform: rotate(2deg);
		transform: rotate(2deg);
	}
	93% {
		top: 45px;
		-webkit-transform: rotate(-.5deg);
		-ms-transform: rotate(-.5deg);
		transform: rotate(-.5deg);
	}
	100% {
		top: 52px;
		-webkit-transform: rotate(0);
		-ms-transform: rotate(0);
		transform: rotate(0);
	}
}

.m-popup-stage.active .m-popup-stage__light-l,
.m-popup-stage.active .m-popup-stage__light-r {
	-webkit-transform: translateY(0);
	-ms-transform: translateY(0);
	transform: translateY(0);
}
.m-popup-stage.active .m-popup__close {
	opacity: 1;
}


/* book
======================================================================*/
.m-popup-book__base {
	position: relative;
	width: 328px;
	height: 200px;
	perspective: 500px;
}
.m-popup-book__right {
	position: absolute;
	bottom: 0;
	right: 0;
	width: 163px;
	height: 201px;
	background: url(/shared/images/popup/book/book_r.png) no-repeat 100% 100%;
	-webkit-box-shadow: 0 10px 20px rgba(0,0,0,.8);
	box-shadow: 0 10px 20px rgba(0,0,0,.8);
}
.m-popup-book__left {
	position: absolute;
	bottom: 0;
	right: 163px;
	width: 164px;
	height: 200px;
	perspective: 700px;
}
.m-popup-book__left__front,
.m-popup-book__left__back {
	position: absolute;
	top: 0;
	width: 100%;
	height: 100%;
	-webkit-backface-visibility: hidden;
	-moz-backface-visibility: hidden;
	-ms-backface-visibility: hidden;
	backface-visibility: hidden;
}
.m-popup-book__left__front {
	left: 100%;
	background: url(/shared/images/popup/book/cover.png) no-repeat 0% 100%;
	-webkit-transform-origin: 0% 100%;
	-moz-transform-origin: 0% 100%;
	-ms-transform-origin: 0% 100%;
	-o-transform-origin: 0% 100%;
	transform-origin: 0% 100%;
}
.m-popup-book__left__back {
	left: 0;
	background: url(/shared/images/popup/book/book_l.png) no-repeat 100% 100%;
	-webkit-transform-origin: 100% 100%;
	-moz-transform-origin: 100% 100%;
	-ms-transform-origin: 100% 100%;
	-o-transform-origin: 100% 100%;
	transform-origin: 100% 100%;
	-webkit-transform: rotateY(180deg);
	-ms-transform: rotateY(180deg);
	transform: rotateY(180deg);
	-webkit-box-shadow: 0 10px 20px rgba(0,0,0,.8);
	box-shadow: 0 10px 20px rgba(0,0,0,.8);
}
.m-popup-book__paper {
	position: absolute;
	bottom: 50px;
	left: 0;
	right: 0;
	margin: auto;
	width: 252px;
	height: 184px;
	background: url(/shared/images/popup/book/textarea.png) no-repeat 50% 50%;
}
.m-popup-book__paper .m-popup__txt {
	position: absolute;
	top: 20px;
	left: 0;
	right: 0;
	margin: auto;
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
	-ms-align-items: center;
	align-items: center;
	-ms-justify-content: center;
	justify-content: center;
	text-align: center;
	width: 200px;
	height: 130px;
}
.m-popup-book .m-popup__close span {
	border-color: #2b3c5d;
}
.m-popup-book .m-popup__close span:before,
.m-popup-book .m-popup__close span:after {
	background: #2b3c5d;
}

/* anim
----------------------------------------------------------------------*/
.m-popup-book__base {
	-webkit-transform: translateY(100%);
	-ms-transform: translateY(100%);
	transform: translateY(100%);
	-webkit-transition: 1s;
	-o-transition: 1s;
	transition: 1s;
}
.m-popup-book__left__front,
.m-popup-book__left__back {
	-webkit-transition: 3s cubic-bezier(0.645, 0.045, 0.355, 1) 1.5s;
	-o-transition: 3s cubic-bezier(0.645, 0.045, 0.355, 1) 1.5s;
	transition: 3s cubic-bezier(0.645, 0.045, 0.355, 1) 1.5s;
}
.m-popup-book__paper {
	-webkit-transform-origin: 50% 100%;
	-moz-transform-origin: 50% 100%;
	-ms-transform-origin: 50% 100%;
	-o-transform-origin: 50% 100%;
	transform-origin: 50% 100%;
	-webkit-transform: rotateX(-90deg);
	-ms-transform: rotateX(-90deg);
	transform: rotateX(-90deg);
	opacity: 0;
}
.m-popup-book .m-popup__close {
	-webkit-transition: .5s ease 5s;
	-o-transition: .5s ease 5s;
	transition: .5s ease 5s;
}

.m-popup-book.active .m-popup-book__left__front {
	-webkit-transform: rotateY(-180deg);
	-ms-transform: rotateY(-180deg);
	transform: rotateY(-180deg);
}
.m-popup-book.active .m-popup-book__left__back {
	-webkit-transform: rotateY(0);
	-ms-transform: rotateY(0);
	transform: rotateY(0);
}

/* active */
.m-popup-book.active .m-popup-book__base {
	-webkit-transform: translateY(0);
	-ms-transform: translateY(0);
	transform: translateY(0);
}
.m-popup-book.active .m-popup-book__paper {
	-webkit-animation: book-getup 1.5s ease forwards 3.5s;
	animation: book-getup 1.5s ease forwards 3.5s;
}
@keyframes book-getup {
	0% {
		opacity: 1;
	}
	30% {
		-webkit-transform: rotateX(0);
		-ms-transform: rotateX(0);
		transform: rotateX(0);
	}
	40% {
		-webkit-transform: rotateX(-12deg);
		-ms-transform: rotateX(-12deg);
		transform: rotateX(-12deg);
	}
	50% {
		-webkit-transform: rotateX(0);
		-ms-transform: rotateX(0);
		transform: rotateX(0);
	}
	60% {
		-webkit-transform: rotateX(-6deg);
		-ms-transform: rotateX(-6deg);
		transform: rotateX(-6deg);
	}
	70% {
		-webkit-transform: rotateX(0);
		-ms-transform: rotateX(0);
		transform: rotateX(0);
	}
	80% {
		-webkit-transform: rotateX(0deg);
		-ms-transform: rotateX(0deg);
		transform: rotateX(0deg);
	}
	100% {
		-webkit-transform: rotateX(0deg);
		-ms-transform: rotateX(0deg);
		transform: rotateX(0deg);
		opacity: 1;
	}
}

.m-popup-book.active .m-popup__close {
	opacity: 1;
}



/* oc
======================================================================*/
.m-popup-oc__tree {
	position: relative;
	z-index: -1;
}
.m-popup-oc__stage {
	position: absolute;
	z-index: 1;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	background: url(/shared/images/popup/oc/stage.png) no-repeat 50% 100%;
	width: 315px;
	height: 46px;
}
.m-popup-oc__student {
	position: absolute;
	bottom: 33px;
}
.m-popup-oc__student::before {
	content: '';
	position: absolute;
	z-index: 0;
	bottom: 0;
	display: block;
	width: 31px;
	height: 9px;
	background: url(/shared/images/popup/oc/hole.png) no-repeat 50% 50%;
}
.m-popup-oc__student img {
	position: relative;
	z-index: 1;
}
.m-popup-oc__student01 {
	left: 24px;
	padding-left: 6px;
}
.m-popup-oc__student01::before {
	left: 0;
}
.m-popup-oc__student02 {
	right: 8px;
}
.m-popup-oc__student02::before {
	right: 15px;
}

.m-popup-oc__panel {
	position: absolute;
	z-index: 0;
	bottom: 41px;
	left: 0;
	right: 0;
	margin: auto;
	text-align: center;
	width: 240px;
	height: 154px;
	background: url(/shared/images/popup/oc/panel.png) no-repeat 50% 50%;
}
.m-popup-oc__panel .m-popup__txt {
	position: absolute;
	top: 11px;
	left: 0;
	right: 0;
	margin: auto;
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
	-ms-align-items: center;
	align-items: center;
	-ms-justify-content: center;
	justify-content: center;
	width: 200px;
	height: 120px;
}
.m-popup-oc__panel__deco {
	position: absolute;
	z-index: 1;
	top: -6px;
	left: -6px;
}
.m-popup-oc__panel__deco:nth-child(2) {
	left: auto;
	right: -6px;
}
.m-popup-oc__panel__deco:nth-child(2) img {
	-webkit-transform: scaleX(-1);
	-ms-transform: scaleX(-1);
	transform: scaleX(-1);
}
.m-popup-oc .m-popup__close {
	top: 0;
	right: 30px;
	z-index: 10;
}

/* anim
----------------------------------------------------------------------*/
.m-popup-oc {
	perspective: 500px;
}
.m-popup-oc__tree {
	-webkit-transform-origin: 50% 100%;
	-moz-transform-origin: 50% 100%;
	-ms-transform-origin: 50% 100%;
	-o-transform-origin: 50% 100%;
	transform-origin: 50% 100%;
	-webkit-transform: rotateX(90deg);
	-ms-transform: rotateX(90deg);
	transform: rotateX(90deg);
	opacity: 0;
}
.m-popup-oc__stage {
	-webkit-transform: translateY(100%);
	-ms-transform: translateY(100%);
	transform: translateY(100%);
	-webkit-transition: .5s linear .4s;
	-o-transition: .5s linear .4s;
	transition: .5s linear .4s;
}
.m-popup-oc__student {
	overflow: hidden;
	padding-top: 60px;
}
.m-popup-oc__student::before {
	-webkit-transform: scaleX(0);
	-ms-transform: scaleX(0);
	transform: scaleX(0);
	-webkit-transition: .2s linear .9s;
	-o-transition: .2s linear .9s;
	transition: .2s linear .9s;
}
.m-popup-oc__student img {
	-webkit-transform: translateY(100%);
	-ms-transform: translateY(100%);
	transform: translateY(100%);
}
.m-popup-oc__student02 {
	right: 8px;
}

.m-popup-oc__panel {
	-webkit-transform-origin: 50% 100%;
	-moz-transform-origin: 50% 100%;
	-ms-transform-origin: 50% 100%;
	-o-transform-origin: 50% 100%;
	transform-origin: 50% 100%;
	-webkit-transform: rotateX(90deg);
	-ms-transform: rotateX(90deg);
	transform: rotateX(90deg);
	opacity: 0;
}
.m-popup-oc__panel__deco {
	-webkit-transform: translateY(-20%);
	-ms-transform: translateY(-20%);
	transform: translateY(-20%);
	opacity: 0;
	-webkit-transition: .7s ease 2.83s;
	-o-transition: .7s ease 2.83s;
	transition: .7s ease 2.83s;
}
.m-popup-oc .m-popup__close {
	-webkit-transition: .5s ease 3.8s;
	-o-transition: .5s ease 3.8s;
	transition: .5s ease 3.8s;
}

/* active */
.m-popup-oc.active .m-popup-oc__tree {
	-webkit-animation: tree-getup 1.3s ease forwards;
	animation: tree-getup 1.3s ease forwards;
}
@keyframes tree-getup {
	0% {
		opacity: 1;
	}
	26% {
		-webkit-transform: rotateX(-13deg);
		-ms-transform: rotateX(-13deg);
		transform: rotateX(-13deg);
	}
	36% {
		-webkit-transform: rotateX(5deg);
		-ms-transform: rotateX(5deg);
		transform: rotateX(5deg);
	}
	46% {
		-webkit-transform: rotateX(-4deg);
		-ms-transform: rotateX(-4deg);
		transform: rotateX(-4deg);
	}
	56% {
		-webkit-transform: rotateX(3deg);
		-ms-transform: rotateX(3deg);
		transform: rotateX(3deg);
	}
	68% {
		-webkit-transform: rotateX(-2deg);
		-ms-transform: rotateX(-2deg);
		transform: rotateX(-2deg);
	}
	75% {
		-webkit-transform: rotateX(1deg);
		-ms-transform: rotateX(1deg);
		transform: rotateX(1deg);
	}
	83% {
		-webkit-transform: rotateX(0deg);
		-ms-transform: rotateX(0deg);
		transform: rotateX(0deg);
	}
	100% {
		-webkit-transform: rotateX(0deg);
		-ms-transform: rotateX(0deg);
		transform: rotateX(0deg);
		opacity: 1;
	}
}
.m-popup-oc.active .m-popup-oc__stage {
	-webkit-transform: translateY(0);
	-ms-transform: translateY(0);
	transform: translateY(0);
}

.m-popup-oc.active .m-popup-oc__student::before {
	-webkit-transform: scaleX(1);
	-ms-transform: scaleX(1);
	transform: scaleX(1);
}
.m-popup-oc.active .m-popup-oc__student img {
	-webkit-animation: jump 1s linear 1.4s forwards;
	animation: jump 1s linear 1.4s forwards;
}
@keyframes jump {
	50% {
		-webkit-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
		transform: translateY(-50%);
	}
	60% {
		-webkit-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
		transform: translateY(-50%);
	}
	80% {
		-webkit-transform: translateY(0);
		-ms-transform: translateY(0);
		transform: translateY(0);
	}
	82% {
		-webkit-transform: translateY(2%);
		-ms-transform: translateY(2%);
		transform: translateY(2%);
	}
	91% {
		-webkit-transform: translateY(-6%);
		-ms-transform: translateY(-6%);
		transform: translateY(-6%);
	}
	100% {
		-webkit-transform: translateY(0);
		-ms-transform: translateY(0);
		transform: translateY(0);
	}
}

.m-popup-oc.active .m-popup-oc__panel {
	-webkit-animation: oc-getup 1s ease 1.73s forwards;
	animation: oc-getup 1s ease 1.73s forwards;
}
@keyframes oc-getup {
	0% {
		opacity: 1;
	}
	60% {
		-webkit-transform: rotateX(-13deg);
		-ms-transform: rotateX(-13deg);
		transform: rotateX(-13deg);
	}
	70% {
		-webkit-transform: rotateX(5deg);
		-ms-transform: rotateX(5deg);
		transform: rotateX(5deg);
	}
	80% {
		-webkit-transform: rotateX(-4deg);
		-ms-transform: rotateX(-4deg);
		transform: rotateX(-4deg);
	}
	90% {
		-webkit-transform: rotateX(3deg);
		-ms-transform: rotateX(3deg);
		transform: rotateX(3deg);
	}
	100% {
		-webkit-transform: rotateX(0deg);
		-ms-transform: rotateX(0deg);
		transform: rotateX(0deg);
		opacity: 1;
	}
}

.m-popup-oc.active .m-popup-oc__panel__deco {
	-webkit-transform: translateY(0);
	-ms-transform: translateY(0);
	transform: translateY(0);
	opacity: 1;
}

.m-popup-oc.active .m-popup__close {
	opacity: 1;
}
