@charset "utf-8";

/*=====================================

layout.css

=====================================*/

/*-------------------------------------
 reset
-------------------------------------*/
html, body, div, span, applet, 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-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, main {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
img {
	max-width: 100%;
	line-height: 0;
	vertical-align: bottom;
}
iframe {
	vertical-align: bottom;
	border: 0;
}
table th,
table td {
	vertical-align: top;
}
input,
select,
textarea,
button {
	font-family: "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo;
}
*, :after, :before {
	box-sizing: border-box;
}


/*-------------------------------------
 setting
-------------------------------------*/
body {
	position: relative;
	color: #333;
	font-family: "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo;
	font-size: 14px;
	font-weight: normal;
	line-height: 1.5;
	word-break: break-all;
	background: #fff;
	-webkit-text-size-adjust: 100%;
}
a {
	color: #333;
	text-decoration: none;
}
a:hover{
	text-decoration: underline;
}
strong {
	font-weight: bold;
}
em {
	font-style: normal;
}
.forPC { display: block; }
.forSP { display: none; }
img.forPC, br.forPC { display: inline-block }


/*-------------------------------------
 layout
-------------------------------------*/
#wrapper {
	position: relative;
	padding: 50px 0 0 0;
	overflow: hidden;
}
.inner {
	position: relative;
	max-width: 1000px;
	margin: 0 auto;
}
.inner:after {
	clear: both;
	display: block;
	content: "";
}


/*-------------------------------------
 header
-------------------------------------*/
header {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100;
	width: 100%;
	height: 50px;
	background: #fff;
	box-shadow: 0 0 3px rgba(0,0,0,0.2);
}
.headerLogo {
	float: left;
	width: 160px;
	padding: 5px 0;
}
.headerTxt {
	float: left;
	padding: 16px 20px 0 20px;
	font-size: 16px;
}
.headerBtn {
	float: right;
	padding: 5px 0;
}
.headerBtn a {
	display: block;
	width: 182px;
	height: 40px;
	color: #fff;
	font-size: 16px;
	font-weight: bold;
	line-height: 40px;
	text-align: center;
	text-decoration: none;
	border-radius: 30px;
	background: #12b9dd;
}


/*-------------------------------------
 visual
-------------------------------------*/
.visual {
	position: relative;
	width: 100%;
	height: 0;
/*	padding-top: 30.25%;*/
	padding-top: 39.25%;
/*	background: #f8f8f8;*/
	background: #0081bc;
	overflow: hidden;

}
.visualTxt {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	width: 100%;
	color: #fff;
	font-size: 18px;
	text-align: center;
}
.visualTxt p {
	width: auto;
	text-align: center;
}
.visualTxt h1 {
	line-height: 1.7;
}


/*-------------------------------------
 section
-------------------------------------*/
section {
	
}
section .inner {
	padding: 100px 0;
}

section h2 {
	margin: 0 0 85px 0;
	text-align: center;
}
section h2 em {
	display: block;
	color: #000;
	font-size: 52px;
}
section h2 span {
	color: #888;
	font-size: 30px;
}
section h2 em span {
	color: #000;
}


/* features
-------------------------------------*/
.features {
	background: #f8f8f8;
}
.featuresList ul {
	letter-spacing: -0.4em;
	text-align: center;
}
.featuresList ul li {
	display: inline-block;
	width: 33.333%;
	padding: 0 10px;
	letter-spacing: normal;
	vertical-align: top;
}
.featuresList ul li h3 {
	display: table;
	width: 100%;
	height: 60px;
	margin: 0 0 30px 0;
	color: #555;
	font-size: 22px;
	font-weight: bold;
	vertical-align: middle;
}
.featuresList ul li h3 em {
	display: table-cell;
	vertical-align: middle;
}
.featuresList ul li .pic {
	max-width: 186px;
	margin: 0 auto 35px auto;
}
.featuresList ul li p {
	margin: 0 0 15px 0;
	font-size: 16px;
}

/* field
-------------------------------------*/
.field {
	background: url(../images/field_bg.jpg) no-repeat center center;
}
.fieldList ul {
	margin: 0 0 -30px 0;
	letter-spacing: -0.4em;
	text-align: center;
}
.fieldList ul li {
	position: relative;
	display: inline-block;
	width: 180px;
	height: 180px;
	margin: 0 30px 50px 30px;
	color: #1ebcde;
	font-size: 24px;
	font-weight: bold;
	letter-spacing: normal;
	vertical-align: top;
	border-radius: 100%;
	border: 4px solid #12b9dd;
	background: #fff;
}
.fieldList ul li p {
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	line-height: 1.2;
	transform: translateY(-50%);
}
.fieldList ul li p span {
	font-size: 16px;
}

/* lecturer
-------------------------------------*/
.lecturerList ul {
	margin: 0 -40px -50px -40px;
	letter-spacing: -0.4em;
}
.lecturerList ul li {
	display: inline-block;
	width: 50%;
	padding: 0 40px 70px 40px;
	letter-spacing: normal;
	vertical-align: top;
}
.lecturerList ul li .pic {
	float: left;
	width: 100px;
	margin: 0 20px 0 0;
}
.lecturerList ul li .item {
	overflow: hidden;
}
.lecturerList ul li .item h3 {
	margin: 0 0 10px 0;
	color: #555;
	font-size: 16px;
	font-weight: bold;
}
.lecturerList ul li .item h3 em {
	display: block;
	color: #010101;
	font-size: 20px;
}
.lecturerList ul li .item p {
	line-height: 1.7;
}

/* movie
-------------------------------------*/
.movie {
	background: url(../images/movie_bg.jpg) no-repeat center center;
}
.movieBlock {
	width: 100%;
	max-width: 900px;
	margin: 0 auto 20px auto;
}
.movieBlock .movie {
	position: relative;
	height: 0;
	padding-top: 56.25%;
	box-shadow: 0 0 10px rgba(0,0,0,0.20);
}
.movieBlock iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
}

/* course
-------------------------------------*/
.course {
	background: #f8f8f8;
}
.courseList ul {
	margin: 0 -20px -10px -20px;
	font-size: 0;
}
.courseList ul li {
	display: inline-block;
	width: 25%;
	padding: 0 20px 25px 20px;
	font-size: 14px;
	vertical-align: top;
}
.courseList ul li .pic {
	margin: 0 0 7px 0;
}
.courseList ul li .item h3 {
	font-weight: bold;
}
.courseList ul li .item p {
	font-size: 12px;
}
.courseList ul li .item p + p {
	padding: 5px 0 0 0;
}
.courseNote {
	padding: 20px 0 15px 0;
	font-weight: bold;
	text-align: right;
}

/* fee
-------------------------------------*/
.feeLead {
	margin: 0 0 35px 0;
	color: #ff7b11;
	font-size: 36px;
	text-align: center;
}
.feeList ul {
	margin: 0 -32px;
	letter-spacing: -0.4em;
	text-align: center;
}
.feeList ul li {
	display: inline-block;
	width: 33.333%;
	padding: 0 32px 45px 32px;
	letter-spacing: normal;
	vertical-align: top;
}
.feeList ul li dl {
	padding: 25px 10px 10px 10px;
	background: #e8f6f9;
}
.feeList ul li dl dt {
	font-size: 22px;
	font-weight: bold;
}
.feeList ul li dl dd {
	display: table;
	width: 100%;
	height: 150px;
	text-align: center;
	vertical-align: middle;
}
.feeList ul li dl dd p {
	display: table-cell;
	font-size: 22px;
	line-height: 1.2;
	vertical-align: middle;
}
.feeList ul li.list01 dl dd p em {
	font-size: 24px;
	line-height: 1.4;
}
.feeList ul li.list01 dl dd p em .num {
	font-size: 34px;
}
.feeList ul li.list02 dl dd p em {
	font-size: 30px;
}
.feeList ul li.list02 dl dd p .num {
	font-size: 28px;
}
.feeList ul li.list02 dl dd p em .num {
	font-size: 34px;
}
.feeList ul li.list03 dl {
	background: #ffefe5;
}
.feeList ul li.list03 dl dd p {
	font-size: 16px;
}
.feeList ul li.list03 dl dd .red {
	color: #c60000;
	font-size: 18px;
}
.feeList ul li.list03 dl dd p .line {
	color: #000;
	font-size: 18px;
	text-decoration: line-through;
}
.feeList ul li.list03 dl dd p .line .num {
	font-size: 20px;
}
.feeList ul li.list03 dl dd p em {
	font-weight: bold;
	font-size: 22px;
}
.feeList ul li.list03 dl dd p em .num {
	font-size: 38px;
}
.feeNote {
	margin: 0 0 20px 0;
	font-size: 16px;
	line-height: 1.7;
	text-align: center;
}
.feeBtn {
	text-align: center;
}
.feeBtn a {
	display: inline-block;
	min-width: 480px;
	padding: 10px 30px;
	color: #fff;
	font-size: 26px;
	font-weight: bold;
	text-decoration: none;
	border-radius: 30px;
	background: #12b9dd;
}


/* guide
-------------------------------------*/
.guide {
	color: #fff;
	background: url(../images/guide_bg.jpg) no-repeat center center;
}
.guide .inner {
	min-height: 338px;
	padding: 70px 0;
}
.guide h2 {
	margin: 0 0 40px 0;
}
.guide h2 em {
	color: #fff;
	font-size: 24px;
	font-weight: bold;
}
.guide p {
	line-height: 1.8;
}


/*-------------------------------------
 pagetop
-------------------------------------*/
.pagetop a {
	position: fixed;
	right: 30px;
	bottom: 30px;
	z-index: 100;
	display: block;
	width: 50px;
	height: 50px;
	text-indent: 100%;
	white-space: nowrap;
	border-radius: 100%;
	background: url(../images/pagetop_sp.png) no-repeat center center #27136f;
	overflow: hidden;
}


/*-------------------------------------
 footer
-------------------------------------*/
footer {
	background: #2870B0;
}
footer p {
	padding: 30px 0;
	color: #fff;
	text-align: center;
}


/*-------------------------------------
 common
-------------------------------------*/
.sup {
	font-size: 0.7em;
	vertical-align: top;
	position: relative;
	top: 0;
}
.sub {
	font-size: 0.7em;
	vertical-align: bottom;
	position: relative;
	top: 0.1em;
}
.bold {
	font-weight: bold;
}
.now_on_sale {
	color: #FF3636;
	font-weight: bold;
}
.coming_soon {
	color: #12B9DD;
	font-weight: bold;
}


/* application
-------------------------------------*/
.application {
	margin: 0 0 20px 0;
	font-size: 16px;
	line-height: 1.7;
}
.application a:link{
color: #06c;
}
.application a:visited {
color: #639;
}
.application a:hover,a:active {
color: #EC6C00;
}
.attention {
color:#CC0000;
}
.application_choice {
font-size:80%;
}
.application_title table {
border-color:#CCC;
border-style:solid;
border-width:1px 1px 0px 0px;
}
.application_title th {
border-color:#999999;
border-style:solid;
border-width:0px 0px 1px 1px;
background-color:#999999;
color:#FFFFFF;
padding:10px;
}
.application table {
border-color:#CCC;
border-style:solid;
border-width:1px 1px 0px 0px;
}
.application th {
border-color:#CCC;
border-style:solid;
border-width:0px 0px 1px 1px;
background-color:#EEEEEE;
font-weight:bold;
text-align:left;
padding:10px;
}
.application td {
border-color:#CCC;
border-style:solid;
border-width:0px 0px 1px 1px;
padding:10px;
}
.application td.noborder {
border-bottom:none;
}
.application tr:nth-child(even) {
background-color:#FFFFFF;
}
.application tr:nth-child(odd) {
background-color:#FFFFFF;
}
/* チェックボックスサイズ拡大 */
.application input[type=checkbox] {
    width: 16px;
    height: 16px;
    vertical-align: middle;
}
/* チェックボックスサイズ拡大 */
.personal_info table {
border-color:#CCC;
border-style:solid;
border-width:1px 1px 0px 0px;
}
.personal_info td {
border-color:#CCC;
border-style:solid;
border-width:0px 0px 1px 1px;
padding:10px;
background-color:#FFFFCC;
font-size: 80%;
}


/* input submit button
-------------------------------------*/
input[type="submit"],input[type="reset"] {
padding:5px 20px;
font-size: 15px;
font-weight:bold;
}


/* contact
-------------------------------------*/
.personal_info2 table {
border-color:#CCC;
border-style:solid;
border-width:1px 1px 0px 0px;
}
.personal_info2 td {
border-color:#CCC;
border-style:solid;
border-width:0px 0px 1px 1px;
padding:10px;
background-color:#DEEBF7;
font-size: 80%;
}


/* message
-------------------------------------*/
.message {
	background: #f8f8f8;
	font-size: 18px;
}


/* event outline
-------------------------------------*/
.eventoutline {
	margin: 0 0 20px 0;
	font-size: 18px;
	line-height: 1.7;
}
.eventoutline a:link{
color: #06c;
}
.eventoutline a:visited {
color: #639;
}
.eventoutline a:hover,a:active {
color: #EC6C00;
}
.eventoutline_choice {
font-size:90%;
}
.eventoutline_title table {
border-color:#CCC;
border-style:solid;
border-width:1px 1px 0px 0px;
}
.eventoutline_title th {
border-color:#999999;
border-style:solid;
border-width:0px 0px 1px 1px;
background-color:#999999;
color:#FFFFFF;
padding:10px;
}
.eventoutline table {
border-color:#CCC;
border-style:solid;
border-width:1px 1px 0px 0px;
}
.eventoutline th {
border-color:#CCC;
border-style:solid;
border-width:0px 0px 1px 1px;
background-color:#EEEEEE;
font-weight:bold;
text-align:left;
padding:10px;
}
.eventoutline td {
border-color:#CCC;
border-style:solid;
border-width:0px 0px 1px 1px;
padding:10px;
}
.eventoutline td.noborder {
border-bottom:none;
}
.eventoutline tr:nth-child(even) {
background-color:#FFFFFF;
}
.eventoutline tr:nth-child(odd) {
background-color:#FFFFFF;
}


/* contact button
-------------------------------------*/
.feeBtn2 {
	text-align: center;
}
.feeBtn2 a {
	display: inline-block;
	min-width: 480px;
	padding: 10px 30px;
	color: #fff;
	font-size: 26px;
	font-weight: bold;
	text-decoration: none;
	border-radius: 30px;
	background: #00a58f;
}

/* speech icon
-------------------------------------*/
.icon_speech {
padding: 10px 0px 10px 0px;
}
.label_speech1 {
background-color: #ff8c00;
color: #fff;
padding: 2px 1.3em 1px 1.3em;
border-radius: 0.4em;
}
.label_speech2 {
background-color: #075699;
color: #fff;
padding: 2px 1.3em 1px 1.3em;
border-radius: 0.4em;
}





/*-------------------------------------------------------------------
 Media Queries
-------------------------------------------------------------------*/

/* SP layout
-------------------------------------------------------------------*/
@media screen and (max-width: 767px) {

.forPC { display: none !important; }
.forSP { display: block; }
img.forSP, br.forSP { display: inline-block }

body {
	font-size: 13px;
}

/*-------------------------------------
 header
-------------------------------------*/
header .inner {
	padding: 0 15px;
}
.headerLogo {
	width: 100px;
	padding: 13px 0 12px;
}
.headerTxt {
	display: none;
}
.headerBtn {
	padding: 10px 0;
}
.headerBtn a {
	width: 145px;
	height: 30px;
	font-size: 12px;
	line-height: 30px;
}


/*-------------------------------------
 visual
-------------------------------------*/
.visual {
	width: 100%;
/*	height: 210px;*/
	height: 300px;
	padding: 0;
	background-size: cover;
	background: #f8f8f8;
}
.visualTxt p {
	max-width: inherit;
	font-size: 20px;
}
.visualTxt h1 {
	padding: 0 15px;
	font-size: 15px;
}
.player {
	display: none;
}

/*-------------------------------------
 section
-------------------------------------*/
section {
	
}
section .inner {
	padding: 50px 15px;
}
section h2 {
	margin: 0 0 30px 0;
}
section h2 em {
	font-size: 26px;
}
section h2 span {
	font-size: 15px;
}


/* features
-------------------------------------*/
.featuresList ul {
	margin: 0 0 -30px 0;
}
.featuresList ul li {
	display: block;
	width: auto;
	padding: 0 0 30px 0;
	letter-spacing: normal;
	vertical-align: top;
}
.featuresList ul li h3 {
	display: block;
	height: auto;
	margin: 0 0 10px 0;
	font-size: 18px;
	text-align: center;
}
.featuresList ul li h3 em {
	display: block;
}
.featuresList ul li .pic {
	max-width: 180px;
	margin: 0 auto 10px auto;
}
.featuresList ul li p {
	margin: 0 0 5px 0;
	font-size: 13px;
}

/* field
-------------------------------------*/
.field {
	background-size: cover;
}
.fieldList ul {
	margin: 0 0 -10px 0;
}
.fieldList ul li {
	width: 114px;
	height: 114px;
	margin: 0 15px 15px 15px;
	font-size: 14px;
	border: 2px solid #12b9dd;
}
.fieldList ul li p span {
	font-size: 11px;
}

/* lecturer
-------------------------------------*/
.lecturerList ul {
	margin: 0 0 -20px 0;
}
.lecturerList ul li {
	display: block;
	width: auto;
	padding: 0 0 30px 0;
}
.lecturerList ul li .pic {
	width: 70px;
	margin: 0 15px 0 0;
}
.lecturerList ul li .item h3 {
	font-size: 15px;
	}
.lecturerList ul li .item h3 em {
	font-size: 17px;
	}
.lecturerList ul li .item p {
	line-height: 1.4;
}

/* movie
-------------------------------------*/
.movie {
	background-size: cover;
}

/* course
-------------------------------------*/
.courseList ul {
	margin: 0 -10px -10px -10px;
}
.courseList ul li {
	width: 50%;
	padding: 0 10px 25px 10px;
	line-height: 1.4;
}
.courseList ul li .item h3 {
	margin: 0 0 5px 0;
	font-size: 12px;
}
.courseList ul li .item p {
	font-size: 11px;
}

/* fee
-------------------------------------*/
.feeLead {
	margin: 0 0 15px 0;
	font-size: 18px;
}
.feeList ul {
	margin: 0;
}
.feeList ul li {
	display: block;
	width: auto;
	padding: 0 0 15px 0;
}
.feeList ul li dl {
	padding: 15px 10px 10px 10px;
}
.feeList ul li dl dt {
	font-size: 14px;
}
.feeList ul li dl dd {
	height: 60px;
}
.feeList ul li dl dd p {
	font-size: 16px;
}
.feeList ul li.list01 dl dd p em {
	font-size: 18px;
}
.feeList ul li.list01 dl dd p em .num {
	font-size: 22px;
}
.feeList ul li.list02 dl dd p em {
	font-size: 18px;
}
.feeList ul li.list02 dl dd p .num {
	font-size: 22px;
}
.feeList ul li.list02 dl dd p em .num {
	font-size: 22px;
}
.feeList ul li.list03 dl dd p {
	font-size: 15px;
}
.feeList ul li.list03 dl dd .red {
	font-size: 15px;
}
.feeList ul li.list03 dl dd p .line {
	font-size: 14px;
}
.feeList ul li.list03 dl dd p .line .num {
	font-size: 15px;
}
.feeList ul li.list03 dl dd p em {
	font-size: 18px;
}
.feeList ul li.list03 dl dd p em .num {
	font-size: 22px;
}
.feeNote {
	margin: 0 0 15px 0;
	font-size: 13px;
	line-height: 1.5;
	text-align: left;
}
.feeBtn a {
	min-width: inherit;
	padding: 8px 40px;
	font-size: 16px;
}

/* guide
-------------------------------------*/
.guide {
	background-size: cover;
}
.guide .inner {
	min-height: inherit;
	padding: 20px 15px 40px 15px;
}
.guide h2 {
	margin: 0 0 10px 0;
}
.guide h2 em {
	font-size: 16px;
}
.guide p {
	font-size: 11px;
	line-height: 1.6;
}


/*-------------------------------------
 pagetop
-------------------------------------*/
.pagetop a {
	right: 15px;
	bottom: 15px;
	width: 40px;
	height: 40px;
	background: url(../images/pagetop_sp.png) no-repeat center center #27136f;
	background-size: 17px 10px;
}


/*-------------------------------------
 footer
-------------------------------------*/
footer p {
	padding: 10px 0;
	font-size: 11px;
}


/* application
-------------------------------------*/
.application th {
color:#666666;
display: block;
}
.application td {
color:#666666;
display: block;
}
.width60 {
width:60%;
}
.width80 {
width:80%;
}

.width100 {
width:100%;
}

/* message
-------------------------------------*/
.message {
	font-size: 15px;
}


/* event outline
-------------------------------------*/
.eventoutline {
	font-size: 15px;
}


/* contact button
-------------------------------------*/
.feeBtn2 a {
	min-width: inherit;
	padding: 8px 40px;
	font-size: 16px;
}
}





/* SP layout
-------------------------------------------------------------------*/
@media screen and (max-width:568px){

/*-------------------------------------
 visual
-------------------------------------*/
.visual {
/*	height: 160px;*/
	height: 214px;
	background: #f8f8f8;
}
}




/* PC layout
-------------------------------------------------------------------*/
@media screen and (min-width: 768px) {



a img,
.hover,
.pagetop a {
	transition: all 0.2s linear;
	-webkit-transition: all 0.2s linear;
	-moz-transition: all 0.2s linear;
	backface-visibility: hidden;
}
a:hover img,
.hover:hover,
.pagetop a:hover {
	opacity: 0.6;
}


}



