@charset "UTF-8";

* {
	margin: 0;
	padding: 0;
}
ul, li { list-style: none; }
img {
	vertical-align: bottom;
}
a {
	color: #2d358f;
}
a:hover {
	color: #0015ff;
}

/*---------------------------------------
	utility
-----------------------------------------*/
.img_c {
	display: block;
	margin-left: auto;
	margin-right: auto;
	max-width: 100%;
}
.img_r {
	float: right;
	/*margin-left: 30px;*/
	margin-bottom: 30px;
}

/* text */
.u { text-decoration: underline; }
.b { font-weight: bold; }
.r { color: #e20000; }
.s { font-size: 80%; }
.l { font-size: 130%; }
.xl { font-size: 160%; }
.bg_y { background: #fff000; padding: 5px 0; }

/* margin-top */
.mt10 { margin-top: 10px; }
.mt20 { margin-top: 20px; }
.mt30 { margin-top: 30px; }
.mt40 { margin-top: 40px; }
.mt50 { margin-top: 50px; }
.mt60 { margin-top: 60px; }

/* margin-bottom */
.mb10 { margin-bottom: 10px; }
.mb20 { margin-bottom: 20px; }
.mb30 { margin-bottom: 30px; }
.mb40 { margin-bottom: 40px; }
.mb50 { margin-bottom: 50px; }
.mb60 { margin-bottom: 60px; }

/* clearfix */
.clear:after {
	content: '';
	display: table;
	clear: both;
}

/*---------------------------------------
	body
-----------------------------------------*/
body {
	font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,Osaka,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
	min-width: 1060px;
	max-width: 100%;
	color: #000;
	font-size: 18px;
	background: #fff;
	-webkit-text-size-adjust: none;
}
p {
	font-size: 18px;
	line-height: 30px;
}

/*---------------------------------------
	wrapper
-----------------------------------------*/
.wrapper {
	width: 100%;
	height: auto;
	position: relative;
}

/*---------------------------------------
	header
-----------------------------------------*/
header {
	width: 100%;
	background: url("../images/header_bg.jpg") #fff no-repeat center 80px;
	background-size: cover;
	/*background-attachment: fixed;*/
}
header .global {
	position: relative;
	width: 100%;
	height: 79px;
	background: #fff;
	border-bottom: 1px solid #dadada;
}
header .global .inner {
	position: relative;
	width: 1020px;
	padding: 0 20px;
	margin: 0 auto;
}
header .global .inner h1 {
	position: absolute;
	top: 10px;
	left: 20px;
}
header .global .inner nav {
	position: absolute;
	top: 30px;
	right: 20px;
	height: 20px;
}
header .global .inner nav ul {
	height: 20px;
	line-height: 20px;
}
header .global .inner nav li {
	display: inline;
	font-size: 13px;
	line-height: 20px;
}
header .global .inner nav li:before {
	content: "｜";
	color: #999;
	margin: 0 5px;
}
header .global .inner nav li:first-child:before {
	content: none;
}
.header {
	width: 1020px;
	padding-bottom: 20px;
	margin: 0 auto;
}

/*---------------------------------------
	common
-----------------------------------------*/
section.content {
	width: 100%;
}
section.content .headline {}
section.content .inner {
	position: relative;
	width: 960px;
	background: #fff;
	padding: 0 50px;
	margin: 0 auto;
}
section.content .inner .narrow {
	padding: 0 40px;
}

/* Keyframe Animation */
@keyframes reflection {
    0% { transform: scale(0) rotate(45deg); opacity: 0; }
    80% { transform: scale(0) rotate(45deg); opacity: 0.5; }
    81% { transform: scale(4) rotate(45deg); opacity: 1; }
    100% { transform: scale(50) rotate(45deg); opacity: 0; }
}
/* webkit */
@-webkit-keyframes reflection {
    0% { -webkit-transform: scale(0) rotate(45deg); opacity: 0; }
    80% { -webkit-transform: scale(0) rotate(45deg); opacity: 0.5; }
    81% { -webkit-transform: scale(4) rotate(45deg); opacity: 1; }
    100% { -webkit-transform: scale(50) rotate(45deg); opacity: 0; }
}
/* moz */
@-moz-keyframes reflection {
    0% { -moz-transform: scale(0) rotate(45deg); opacity: 0; }
    80% { -moz-transform: scale(0) rotate(45deg); opacity: 0.5; }
    81% { -moz-transform: scale(4) rotate(45deg); opacity: 1; }
    100% { -moz-transform: scale(50) rotate(45deg); opacity: 0; }
}
/* ms */
@-ms-keyframes reflection {
    0% { -ms-transform: scale(0) rotate(45deg); opacity: 0; }
    80% { -ms-transform: scale(0) rotate(45deg); opacity: 0.5; }
    81% { -ms-transform: scale(4) rotate(45deg); opacity: 1; }
    100% { -ms-transform: scale(50) rotate(45deg); opacity: 0; }
}
/* o */
@-o-keyframes reflection {
    0% { -o-transform: scale(0) rotate(45deg); opacity: 0; }
    80% { -o-transform: scale(0) rotate(45deg); opacity: 0.5; }
    81% { -o-transform: scale(4) rotate(45deg); opacity: 1; }
    100% { -o-transform: scale(50) rotate(45deg); opacity: 0; }
}

/*---------------------------------------
	form
-----------------------------------------*/
section.content.form_wrapper {
	background: url(../images/form_wrapper_bg.gif) repeat-x center top #fff;
}
section.form_wrapper .headline {
	height: 340px;
	margin-bottom: -20px;
}
section.form_wrapper .headline img {
	display: block;
	position: absolute;
	top: -20px;
	left: 0;
}
div.form {
	padding-bottom: 40px;
}
div.form .clear {
	padding-top: 20px;
}
div.form .address {
	width: 680px;
	margin: 20px auto 0;
}
div.form .address input {
	width: 630px;
	height: 50px;
	font-size: 26px;
	line-height: 50px;
	border: 5px solid #303893;
	border-radius: 10px;
	box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.2) inset;
	padding: 20px;
}
div.form .checkbox-text {
	margin: 10px 0;
}
div.form .checkbox-text p {
	color: #000;
	font-size: 14px;
	line-height: 20px;
	font-weight: normal;
	text-align: center;
}
div.form .limit {
	text-align: center;
	margin: 20px auto;
}
div.form .regbtn-area {
	position: relative;
	width: 600px;
	height: 120px;
	overflow: hidden;
	margin: 0 auto;
}
div.form .regbtn-area:after {
    position: absolute;
	content: "";
    height: 100%;
    width: 30px;
    top: -180px;
    left: 0;
    background: #fff;
    opacity: 0;
    -webkit-transform: rotate(45deg);
    -webkit-animation: reflection 3s ease-in-out infinite;
    -moz-transform: rotate(45deg);
    -moz-animation: reflection 3s ease-in-out infinite;
    -ms-transform: rotate(45deg);
    -ms-animation: reflection 3s ease-in-out infinite;
    -o-transform: rotate(45deg);
    -o-animation: reflection 3s ease-in-out infinite;
    transform: rotate(45deg);
    animation: reflection 3s ease-in-out infinite;
}
div.form .regbtn-area input[image]:hover {
	cursor: pointer;
}
div.form ul.caution {
	width: 600px;
	margin: 0 auto;
}
div.form ul.caution li {
	color: #000;
	font-size: 14px;
	line-height: 1.5;
}
div.form ul.caution li:before {
	content: "※";
	padding-right: 5px;
}

/*---------------------------------------
	lesson
-----------------------------------------*/
section.lesson {
	background: url(../images/lesson_bg.gif) repeat center top;
}
section.lesson .headline {
	background: url(../images/lesson_headline_bg.gif) repeat-x center top;
}
section.lesson .headline h2 {
	text-align: center;
}
section.lesson .inner {
	background: none;
	padding-bottom: 50px;
}
section.lesson .inner ul {
	margin-top: 25px;
}
section.lesson .inner ul li {
	margin-bottom: 10px;
}
section.lesson .inner ul li:last-child {
	margin-bottom: 0;
}
section.lesson .inner .registration {
	margin: 25px auto 0;
}

/*---------------------------------------
	listrning
-----------------------------------------*/
section.listening {}
section.listening .inner {
	background: url(../images/listening_bg.png) no-repeat 725px bottom;
	padding-top: 20px;
	padding-bottom: 60px;
	margin-bottom: 20px;
}
section.listening .inner .headline h2 {
	text-align: center;
	margin: 0 -20px;
	z-index: 10;
}
section.listening .inner .message {
	margin: -10px 0 -10px 10px;
}

/*---------------------------------------
	profile
-----------------------------------------*/
section.profile {
	background: url("../images/profile_bg.jpg") #000 no-repeat center bottom;
	background-size: cover;
	background-attachment: fixed;
}
section.profile .wrapper {
	background: url("../images/profile_wrapper_bg.gif") repeat-x center top;
}
section.profile .inner {
	width: 960px;
	padding: 0 30px;
}
section.profile .headline {
	height: 160px;
	margin-bottom: -20px;
}
section.profile .headline img {
	display: block;
	position: absolute;
	top: -20px;
	left: -20px;
}
section.profile ul {
	padding-bottom: 60px;
	margin-top: 20px;
}
section.profile ul li {
	background: url(../images/profile_hr.png) no-repeat center bottom;
	padding-bottom: 70px;
}
section.profile ul li.takahashi{
	padding-bottom: 100px;
}
section.profile ul li.mitsui{
	padding-bottom: 0;
}
section.profile ul li:last-child {
	background: none;
	padding-bottom: 0;
}

/*---------------------------------------
	about
-----------------------------------------*/
section.about {}
section.about .wrapper {
	background: url("../images/about_headline_bg.gif") repeat-x center top;
}
section.about .headline {
	height: 160px;
	margin-bottom: -20px;
}
section.about .headline img {
	display: block;
	position: absolute;
	top: -20px;
	left: 0;
}
section.about ul {
	padding-bottom: 70px;
}
section.about ul li {
	margin-top: 15px;
}

/*---------------------------------------
	disclaimer
-----------------------------------------*/
section.disclaimer {}
section.disclaimer .inner {
	padding-bottom: 20px;
}
section.disclaimer .box {
	height: 78px;
	overflow-y: scroll;
	padding: 10px;
	border: 1px solid #eaeaea;
}
section.disclaimer p {
	color: #444;
	font-size: 12px;
	line-height: 1.5;
	background: #fff;
}
section.disclaimer p.caution {
	margin-bottom: 20px;
}

/*---------------------------------------
	footer
-----------------------------------------*/
.footer {
  font-size: 12px;
  text-align: center;
  padding: 20px 0;
}
.copy {
	color: #fff;
	font-size: 12px;
	line-height: 20px;
	text-align: center;
	background: #002;
	padding: 10px 0;
}
ul.footer-menu a {
	color: #666;
	text-decoration: none;
}
ul.footer-menu a:hover {
	color: #999;
	text-decoration: underline;
}
ul.footer-menu {
	margin: 0;
	padding: 0;
}
.footer-menu li {
	display: inline-block;
	margin: 2px 4px;
	padding: 2px;
}
#go-pagetop {
	right: 20px;
	bottom: 20px;
	position: fixed;
	z-index: 2;
}
