	@charset "utf-8";

/* @group BASE STYLE*/
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-style: normal;
	font-size: 100%;
	vertical-align: baseline;
	box-sizing: border-box;
/*	color: #404040*/
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
}
article {
	overflow: hidden;
	margin-bottom: 50px
}
body {
	font-family: 'mplus';
	font-weight: 300;/*nomal*/
	font-size: 15px;
	line-height: 1.6;
	letter-spacing: 0.2em;
	-webkit-font-smoothing: antialiased;
	-webkit-text-size-adjust: 100%;
	height: 100%;
	text-shadow: 0px 0px 1px rgba(0, 0, 0, .1);
}
blockquote { display: inline }
a { text-decoration: none }
a:hover {
	-webkit-filter: brightness(1.1);
	   -moz-filter: brightness(1.1);
	     -o-filter: brightness(1.1);
	    -ms-filter: brightness(1.1);
	filter: brightness(1.1);
}
img {
	max-width: 100%;
	height: auto;
	border: 0;
	vertical-align: top;
	vertical-align: -webkit-baseline-middle;
}
/*@end*/


/* @group SHARE STYLES*/
.c_break-ss{margin-bottom: 20px}
.c_break-s{margin-bottom: 30px}
.c_break-m{margin-bottom: 40px}
.c_break-l{margin-bottom: 50px}

small.notes{
	font-size:85%;
	color: #888888;
}
@media screen and (max-width: 639px) {
	small.notes{
		letter-spacing: 1px;
	}
}

@media screen and (max-width: 639px) {
	.visible-xs { display: block; }
	.hidden-xs { display: none; }
}
@media screen and (min-width: 640px) {
	.visible-xs { display: none; }
	.hidden-xs { display: block; }
}
/*@end*/


/* @group LAYOUT*/
body { background-image: url(../img/bg_page-body.png); }
@media screen and (max-width: 639px) {
	body { background-size: 80% auto; }
}

.s-block {
	overflow: hidden;
	margin-bottom: 50px
}
.wrap-wide {
	position: fixed;
	width: 100%;
	height: 50px;
	background-color: #1e3a4c;
	line-height: 1;
	overflow: hidden;
}
.wrap-wide .btn-entry-header a {
	float: right;
	margin: 7px 5px 0 0;
	font-size: 12px;
	padding: 12px 0;
	box-shadow: none;
}

.wrap-cont-header {
	background-image: url(../img/bg_page-header.png);
	text-align: center;
	overflow: hidden;
	margin-bottom: 50px;
	position: relative;
}

@media screen and (max-width: 639px) {
	.wrap-cont-header {
		background-size: 80% auto;
		margin-bottom: 20px;
	}
	.wrap-cont-header .sp-layout {
		background-color: #000;
		margin-bottom: 25px;
		padding: 10px 15px;
	}
	.wrap-cont-header .sp-layout:after {
		content: "";
		display: table;
		width: 100%;
		clear: both;
	}
	.wrap-cont-header .sp-layout .btn-entry-basic a {
		width: 90px;
		height: 26px;
		margin: 0;
		padding: 5px 0;
		font-size: 16px;
		letter-spacing: 0;
		float: right;
	}
	.wrap-cont-header .sp-layout .logo-just {
		width: 60px;
		float: left;
	}
}
@media screen and (min-width: 640px) {
	.wrap-cont-header {
		padding-top: 73px;
		text-align: center;
	}
	.wrap-cont-header .sp-layout {
		position: absolute;
		width: 100%;
		top: 0;
	}
	.wrap-cont-header .sp-layout .logo-just {
		width: 67px;
		margin: 17px 0 0 17px;
	}
}
.wrap-cont-header .sp-layout .logo-just .logo-just img {
	width:100%;
	height: auto;
}


.btn-entry-basic a {
	display: block;
	font-size: 22px;
	line-height: 1 !important;
	color: #fff;
	width: 50%;
	max-width: 188px;
	margin: 0 auto 50px;
	padding: 10px 0;
	text-align: center;
	font-family: 'mplus';
	font-weight: 500;
	-webkit-transition: 0.4s ;
	        transition: 0.4s ;
}
.btn-entry-basic a {
	width: 174px;
	background: #0098C2;
	background:
	 -webkit-linear-gradient(45deg, transparent 3px, #0098C2 3px),
	 -webkit-linear-gradient(135deg, transparent 3px, #0098C2 3px),
	 -webkit-linear-gradient(225deg, transparent 3px, #0098C2 3px),
	 -webkit-linear-gradient(315deg, transparent 3px, #0098C2 3px);
	background:
	 -moz-linear-gradient(45deg, transparent 3px, #0098C2 3px),
	 -moz-linear-gradient(135deg, transparent 3px, #0098C2 3px),
	 -moz-linear-gradient(225deg, transparent 3px, #0098C2 3px),
	 -moz-linear-gradient(315deg, transparent 3px, #0098C2 3px);
	background:
	 -o-linear-gradient(45deg, transparent 3px, #0098C2 3px),
	 -o-linear-gradient(135deg, transparent 3px, #0098C2 3px),
	 -o-linear-gradient(225deg, transparent 3px, #0098C2 3px),
	 -o-linear-gradient(315deg, transparent 3px, #0098C2 3px);
	background:
	 -ms-linear-gradient(45deg, transparent 3px, #0098C2 3px),
	 -ms-linear-gradient(135deg, transparent 3px, #0098C2 3px),
	 -ms-linear-gradient(225deg, transparent 3px, #0098C2 3px),
	 -ms-linear-gradient(315deg, transparent 3px, #0098C2 3px);
	background-position: bottom left, bottom right, top right, top left;
	background-size: 50% 50%;
	background-repeat: no-repeat;
}
@media screen and (max-width: 639px) {
	.btn-entry-basic a {
		background:
		-webkit-linear-gradient(45deg, transparent 2px, #0098C2 2px),
		-webkit-linear-gradient(135deg, transparent 2px, #0098C2 2px),
		-webkit-linear-gradient(225deg, transparent 2px, #0098C2 2px),
		-webkit-linear-gradient(315deg, transparent 2px, #0098C2 2px);
		background:
		-moz-linear-gradient(45deg, transparent 2px, #0098C2 2px),
		-moz-linear-gradient(135deg, transparent 2px, #0098C2 2px),
		-moz-linear-gradient(225deg, transparent 2px, #0098C2 2px),
		-moz-linear-gradient(315deg, transparent 2px, #0098C2 2px);
		background:
		-o-linear-gradient(45deg, transparent 2px, #0098C2 2px),
		-o-linear-gradient(135deg, transparent 2px, #0098C2 2px),
		-o-linear-gradient(225deg, transparent 2px, #0098C2 2px),
		-o-linear-gradient(315deg, transparent 2px, #0098C2 2px);
		background:
		-ms-linear-gradient(45deg, transparent 2px, #0098C2 2px),
		-ms-linear-gradient(135deg, transparent 2px, #0098C2 2px),
		-ms-linear-gradient(225deg, transparent 2px, #0098C2 2px),
		-ms-linear-gradient(315deg, transparent 2px, #0098C2 2px);
		background-position: bottom left, bottom right, top right, top left;
		background-size: 50% 50%;
		background-repeat: no-repeat;
	}
}

.header-cont { overflow: hidden; }
@media screen and (max-width: 639px) {
	.header-cont > .title-main {
		margin-bottom: 25px;
		padding: 0 20px;
	}
}
.header-cont p {
	color: #fff;
}
.cont-body_intro {
	text-align: center;
}
.intro_header {
	font-size: 21px;
	line-height: 1.25;
	margin-bottom: 20px;
}
.intro_cont {
	font-size: 13px
}
.course {
	overflow: hidden
}
.course .course_header {
	font-size: 24px;
	border-bottom:1px #fff solid;
	margin-bottom: 20px
}
.course .course_header:first-letter{
	font-size: 72px;
	font-weight: 100
}
.course .course_header span {
	display: block;
	letter-spacing: 10px;
	padding: 1em 0
}
.course_read {
	font-size: 24px;
	letter-spacing: 10px
}
.course-list-ol li {
	margin-left: 1.5em;
	list-style-type: decimal;
	margin-bottom: 1em
}
.course-list-dl dt {
	width: 3em;
	clear: left;
	float: left
}
.course-list-dl dt:after{
	content:":"
}
.course-list-dl dd {
	margin-left: 3em;
}
.cont-entry {
	text-align: center;
}
.entry-header {
	font-size: 32px;
	font-weight: 100;
	margin-bottom: .5em
}
.cont-entry ol li {
	list-style: none;
}
.cont-entry ol li:nth-of-type(2):before,
.cont-entry ol li:nth-of-type(3):before,
.cont-entry ol li:nth-of-type(4):before {
	content: url(../img/spot-gray-arrow.png);
	display: block
}
/*
section.course-a,
section.course-b {
	color: #ffffff;
	}
.course-a { background-image:url(../img/bg-blue_sp.gif); }
.course-b { background-image:url(../img/bg-purple_sp.gif); }
*/
.copyright {
	display:block;
	background-color: #373737;
	padding: 13px 0;
	text-align: center;
	font-size: 12px;
	letter-spacing:0;
	color: #fff;
}
.course-cont {
	padding-top:1em !important;
	padding-bottom:1em !important;
	background-image: url(../img/bg-fff-20.png)
}

.entry-bottom {
	margin-bottom: 50px;
	text-align: center;
}

@media only screen and (max-width: 639px) {
	.inner_sp{	padding:0 20px}
	.line-break_sp{display: block}
	.cont-entry{
		/*border-bottom:#e5e5e5 1px solid;*/
		width: 100%
	}
	.wrap-wide .btn-entry-header a{
		width: 105px;
	}
	.c_break-ss_sp{margin-bottom: 20px}
	.c_break-s_sp{margin-bottom: 30px}
	.c_break-m_sp{margin-bottom: 40px}
	.c_break-l_sp{margin-bottom: 50px}
}
@media only screen and (min-width: 640px) {
	.line-break_pc{display: block}
	body{
		/*background-image: url(../img/bg_page-body.png);*/
		background-repeat: repeat;
	}
	.wrap-wide{
		position: relative;
		width: 100%;
		max-width: 1330px;
		min-height: 115px;
		margin: 0 auto;
		background-color: transparent;
		overflow: hidden;
	}

	.btn-entry-header a{
		position: absolute;
		max-width: 160px;
		width: 100%;
		background: none;
		text-align: center;
		line-height: 1;
		top: 10px;
		right: 15px;
		width: 160px;
		color: #fff;
		border:1px #fff solid;
		border-radius: 3px;
		font-size: 18px;
		padding:11px 0;
		font-family: 'mplus';
		font-weight: 500;
		letter-spacing: 0.4em;
	}

	.header-cont{
		width: 100%;
		max-width: 960px;
		margin: 0 auto;
		overflow: hidden;
	}
	.header-cont p{color: #fff}
	.title-main{
		margin-bottom: 50px;
	}
	.header-cont p{
		line-height: 2
	}

	section.course-a,
	section.course-b,
	.cont-entry,
	.cont-entry{
	margin:0 10px;
	}

	.course-inner_pc{
		margin-right: 70px;
		margin-left: 70px
	}


	.entry-info {
		width: 698px;
		margin: 0 auto;
	}
	.cont-entry {
		width: 46%;
		float: left;
	}
	.cont-entry .entry-header {
		display: table-cell;
		width: 134px;
		height: 170px;
		padding-right: 20px;
		vertical-align: middle;
		text-align: right;
		/*font-size:18px;
		float: left;
		border-right: 1px #d9d9d9 solid;
		min-height: 200px*/
	}
	/*.entry-header span{
		display: block;
		margin-top: 50%;
		padding-top: -1em
	}*/
	.cont-entry .entry-cont {
		display: table-cell;
		height: 152px;
		vertical-align: middle;
		text-align: left;
		letter-spacing: 0;
		/*margin-left: 188px;
		padding-left:20px;*/
	}
	/*#subscription .entry-cont{
		padding-top: 4em
	}*/
	.entry-bottom{
		padding-bottom: 100px;
		/*border-bottom:1px #e5e5e5 solid;*/
		max-width: 472px;
		width: 100%;
		margin:0 auto;
	}
}
/*@end*/
	.wrap-cont-body{
		max-width: 960px;
		width: 100%;
		margin: 0 auto
	}
	.cont-body_intro{

}





	/*---------------------------------------------------------------------- @group Grid Model*/
.grid-wrap{overflow: hidden}
.grid_item{
	position: relative;
	min-height: 1px
	}
.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12,
.col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12{
float: left
}
@media only screen and (min-width: 640px) {
	.col-lg-12 {	width: 100%}
	.col-lg-11 {	width: 91.66666667%}
	.col-lg-10 {	width: 83.33333333%}
	.col-lg-9 {		width: 75%}
	.col-lg-8 {		width: 66.66666667%}
	.col-lg-7 {		width: 58.33333333%}
	.col-lg-6 {		width: 50%}
	.col-lg-5 {		width: 41.66666667%}
	.col-lg-4 {		width: 33.33333333%}
	.col-lg-3 {		width: 25%}
	.col-lg-2 {		width: 16.66666667%}
	.col-lg-1 {		width: 8.33333333%}
}
@media only screen and (max-width: 639px) {
	.col-xs-12 {	width: 100%}
	.col-xs-11 {	width: 91.66666667%}
	.col-xs-10 {	width: 83.33333333%}
	.col-xs-9 {		width: 75%}
	.col-xs-8 {		width: 66.66666667%}
	.col-xs-7 {		width: 58.33333333%}
	.col-xs-6 {		width: 50%}
	.col-xs-5 {		width: 41.66666667%}
	.col-xs-4 {		width: 33.33333333%}
	.col-xs-3 {		width: 25%}
	.col-xs-2 {		width: 16.66666667%}
	.col-xs-1 {		width: 8.33333333%}

/*	.is-sp_wide .l-grid_item{
		width: 100%;
		padding:0;
	}*/
/*.inner-half .icon-arrow-right:after{
	right:20px;
}*/
}
.glid-adj-right{padding-right: 20px}
.glid-adj-left{padding-left: 20px}
.glid-adj-right-in{padding-right: 10px}
.glid-adj-left-in{padding-left: 10px}

@media only screen and (min-width: 640px) {
	.glid-adj-right-pc{padding-right: 20px}
	.glid-adj-left-pc{padding-left: 20px}
	.glid-adj-right-in-pc{padding-right: 10px}
	.glid-adj-left-in-pc{padding-left: 10px}
	}
/*@end*/

/* @group SNS STYLES*/
.sns {
	text-align: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	text-indent: -9999px;
	webkit-box-pack: center;
	text-indent: -9999px;ms-flex-pack: center;
	text-indent: -9999px;webkit-justify-content: center;
	justify-content: center;
	margin-bottom: 50px
}
.sns div {
	display: block;
	height: 40px;
	width: 40px;
	margin: 0 6px;
}
.sns div div {
	display: block;
	width: 40px;
	height: 40px;
	border-radius: 2.5px;
	margin: 0;
	position: relative;
}
.sns div {
	display: block;
	height: 40px;
	width: 40px;
	margin: 0 6px;
}

.sns .sns_ln div a {
	background-image: url("../img/sns_ln.png");
	background-size: 100%;
}
.sns div div a {
	background-color: #40a1fb;
	background-position: center center;
	background-repeat: no-repeat;
	border-radius: 2.5px;
	display: block;
	height: 100%;
	opacity: 1;
	position: absolute;
	-webkit-transition: all 0.3s ease-in-out;
	-moz-transition: all 0.3s ease-in-out;
	-o-transition: all 0.3s ease-in-out;
	-ms-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
	width: 100%;
}


.sns .sns_tw div a {
	background-color: #40a1fb;
	background-image: url("../img/sns_tw.png");
	background-size: 90% auto;
}
.sns .sns_fb div a {
	background-color: #0065c3;
	background-image: url("../img/sns_fb.png");
	background-size: 40px auto;
}
.sns .sns_ln div a {
	background-image: url("../img/sns_ln.png");
	background-size: 100%;
}
/*@end*/


.battle-info {
	background: #fff;
	text-align: center;
	position: relative;
}
.battle-info table {
	margin: -.5em auto 1em;
}
.battle-info table td {
	text-align: left;
	line-height: 2;
}
.battle-info > p.info-text {
	line-height: 2;
}
.battle-info > p.info-text:before {
	content: url(../img/spot-blue-arrow.png);
	display: block;
	margin: 0 auto 1em;
}

@media screen and (max-width: 639px) {
	.battle-info {
		background-color: #fff;
		border: solid 5px #373737;
		border-radius: 14px;
		margin: 0 20px 30px;
		padding: 25px 15px 15px;
	}
	.battle-info:before {
	}
	.battle-info > h2 {
		margin-bottom: 20px;
	}
	.battle-info p {
		margin-bottom: 1em;
		letter-spacing: 0;
	}
	.battle-info table td {
		padding: 5px 0;
		line-height: 1.5;
		letter-spacing: 0;
	}
	.battle-info table td:first-child {
		padding-right: 1em;
	}
	.battle-info .launch-time {
		display: block;
		position: relative;
		min-height: 30px;
	}
	.battle-info .launch-time > td {
		display: block;
		position: absolute;
	}
	.battle-info .launch-time > td:first-child {
		display: none;
	}
	.battle-info .launch-time > td:last-child {
		white-space: nowrap;
		left: 2em;
	}
	.cont-entry ol li {
		letter-spacing: 0;
	}
}
@media screen and (min-width: 640px) {
	.battle-info {
		width: 698px;
		border-right: solid 6px #373737;
		border-left: solid 6px #373737;
		margin: 0 auto 70px;
	}
	.battle-info:before {
		content: "";
		display: block;
		background: url(../img/bg-battle.png) no-repeat 0 0;
		width: 698px;
		height: 25px;
		position: absolute;
		top: -25px;
		left: -6px;
	}
	.battle-info:after {
		content: "";
		display: block;
		background: url(../img/bg-battle.png) no-repeat 0 100%;
		width: 698px;
		height: 25px;
		position: absolute;
		bottom: -25px;
		left: -6px;
	}
	.battle-info > h2 {
		margin-bottom: 40px;
	}
	.battle-info > p {
		margin-bottom: 1.8em;
	}
}



