@charset "utf-8";

html,body{
	padding:0;
	margin:0;
	font-family: 'M PLUS 1p', "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', sans-serif;
	font-weight: 400;
	line-height: 1.8em;
	color: #333;
}
_:lang(x)::-ms-backdrop, body {
    font-family: "メイリオ", Meiryo, sans-serif;
}


/* -------------------------------------
	Common
------------------------------------- */
.clear	{ clear: both;}
/* For modern browsers */
.clearfix:before, .clearfix:after {
	content:"";
	display:table;
}
.clearfix:after {
	clear:both;
}
/* For IE 6/7 (trigger hasLayout) */
.clearfix {
	zoom:1;
}
a {
	text-decoration: none;
	color: #633d21;
}
a:hover {
	text-decoration: underline;
	color: #ff6c00;
}

a img:hover{
	opacity: .8;
}

.wrap .container a {
	text-decoration: underline;
	color: #d25f15;
}
.wrap .container a:hover {
	text-decoration: underline;
	color: #ff6c00;
}

@media (min-width: 751px) {
	a[href*="tel:"] {
	pointer-events: none;
	cursor: default;
	text-decoration: none;
	}
}


.pcnone {display: block!important;}
.spnone {display: none!important;}

@media print, screen and (min-width: 751px) {
	.pcnone {display: none!important;}
	.spnone {display: block!important;}
}

img.img-fluid {
	max-width: 100%;
}
.aligncenter {
	text-align: center;
}
.alignleft {
	text-align: left;
}
.alignright {
	text-align: right;
}
strong.red {
	color: #da3c3c;
}
.mt10 {margin-top: 10px!important;}
.mt20 {margin-top: 20px!important;}
.mt30 {margin-top: 30px!important;}
.mt40 {margin-top: 40px!important;}
.mt50 {margin-top: 50px!important;}
.mt60 {margin-top: 60px!important;}
.mt70 {margin-top: 70px!important;}
.mt80 {margin-top: 80px!important;}
.mb10 {margin-bottom: 10px!important;}
.mb20 {margin-bottom: 20px!important;}
.mb30 {margin-bottom: 30px!important;}
.mb40 {margin-bottom: 40px!important;}
.mb50 {margin-bottom: 50px!important;}
.mb60 {margin-bottom: 60px!important;}
.mb70 {margin-bottom: 70px!important;}
.mb80 {margin-bottom: 80px!important;}
.pt10 {padding-top: 10px!important;}
.pt20 {padding-top: 20px!important;}
.pt30 {padding-top: 30px!important;}
.pt40 {padding-top: 40px!important;}
.pt50 {padding-top: 50px!important;}
.pt60 {padding-top: 60px!important;}
.pt70 {padding-top: 70px!important;}
.pt80 {padding-top: 80px!important;}
.pb0 {padding-bottom: 0px!important;}
.pb10 {padding-bottom: 10px!important;}
.pb20 {padding-bottom: 20px!important;}
.pb30 {padding-bottom: 30px!important;}
.pb40 {padding-bottom: 40px!important;}
.pb50 {padding-bottom: 50px!important;}
.pb60 {padding-bottom: 60px!important;}
.pb70 {padding-bottom: 70px!important;}
.pb80 {padding-bottom: 80px!important;}
.pl10 {padding-left: 10px!important;}
.pl20 {padding-left: 20px!important;}
.pl30 {padding-left: 30px!important;}
.pl40 {padding-left: 40px!important;}
.pl50 {padding-left: 50px!important;}
.pl60 {padding-left: 60px!important;}
.pl70 {padding-left: 70px!important;}
.pl80 {padding-left: 80px!important;}
.pr10 {padding-right: 10px!important;}
.pr20 {padding-right: 20px!important;}
.pr30 {padding-right: 30px!important;}
.pr40 {padding-right: 40px!important;}
.pr50 {padding-right: 50px!important;}
.pr60 {padding-right: 60px!important;}
.pr70 {padding-right: 70px!important;}
.pr80 {padding-right: 80px!important;}
.h-100 {
	height: 100% !important;
}

strong { font-weight: 700; }


@media (min-width: 751px) {
	a[href*="tel:"] {
		pointer-events: none;
		cursor: default;
		text-decoration: none;
	}
}

.marker-y {
     background: linear-gradient(transparent 60%, #ffff66 40%);
}
.marker-r {
     background: linear-gradient(transparent 70%, rgba(255,25,51,.2) 30%);
}
.notice {
     border-bottom: 2px solid #ff3333;
     font-size: 120%;
}
.notice-date {
	color: #ff3333;
}
strong.notice-date {
 border-bottom: 1px solid #ff3333;
}
.note {
     border-bottom: 1px solid #ff3333;
}
.font-s {
	font-size: .8rem;
}
.font-m {
	font-size: 1rem;
}
.font-g {
	font-size: 1.5rem;
	line-height: 2rem;
}
.wrapper {
	width: 100%;
	margin: 0 auto;
	padding: 0 20px;
}
.wrapper p{
	padding-bottom:1rem;
}

@media print, screen and (min-width: 1040px) {
	.wrap {
	padding: 0;
	}
}

.wrap.wrap-wide {
	padding: 0;
}
@media print, screen and (max-width: 1040px) and (min-width: 769px) {
	.wrap.wrap-wide {
		padding: 0 20px;
	}
}
.row {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
.align-items-center {
	-webkit-align-items: center;
	align-items: center;
}
.justify-between {
		-webkit-justify-content: space-between;
		justify-content: space-between;
}
.justify-center {
		-webkit-justify-content: center;
		justify-content: center;
}
.justify-around {
	-webkit-justify-content: space-around;
	justify-content: space-around;
}
.align-center {
	-webkit-box-align: center;
	align-items: center;
}

.col-1,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-10,.col-11,.col-12 {
	position: relative;
	min-height: 1px;
	width: 100%;
}

@media print, screen and (min-width: 751px) {
	.row{margin-right:0px;margin-left:0px;}
	.wrap {
		max-width: 1040px;
	}
	.container {
		padding: 0;
	}

	.col-12 {
	  width: 100%;
	}
	.col-11 {
	  width: 91.66666667%;
	}
	.col-10 {
	  width: 83.33333333%;
	}
	.col-9 {
	  width: 75%;
	}
	.col-8 {
	  width: 66.66666667%;
	}
	.col-7 {
	  width: 58.33333333%;
	}
	.col-6 {
	  width: 50%;
	}
	.col-5 {
	  width: 41.66666667%;
	}
	.col-4 {
	  width: 33.33333333%;
	}
	.col-3 {
	  width: 25%;
	}
	.col-2 {
	  width: 16.66666667%;
	}
	.col-1 {
	  width: 8.33333333%;
	}

	.order-1 {order: 1;}
	.order-2 {order: 2;}
}



.nav-ham {
	top: 40px;
}
.nav-ham span {
	background-color: #fff;
}
header.header-sec {
	background: url(../img/bg-header.png) repeat-x top center, #0047bb;
	height:100px;
	width: 100%;
}
header.header-sec .h-logo img {
	max-width: 80%;
}
header.header-sec .nav-layout ul li a {
	color: #fff;
}

header.header-sec .nav-layout ul li a:hover {
	color: #fff;
}
header .head {
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
	height:100px;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-align: center;
	align-items: center;
		-webkit-justify-content: space-between;
		justify-content: space-between;
}

@media screen and (min-width: 768px), print {
	header.header-sec .h-logo img {
		max-width: 100%;
	}
	.nav-layout {
		justify-content: end;
	}
	.nav-layout ul {
		justify-content: end;
	}
	.nav-layout, .open .nav-layout {
		width: auto;
	}
	.offset-1 {
	  margin-left: 8.33333333%;
	}
	.order-1 {order: 2;}
	.order-2 {order: 1;}
}
#index .wrapper {
	margin: 0;
	padding: 60px 0 0;
}
.wrapper {
	margin: 0;
	padding: 0px 0 0;
}
.container {
	max-width: 1140px;
	margin: 0 auto;
	padding: 0 20px;
}


.btn {
	display: inline-block;
	background-color: #0047bb;
	color: #fff;
	font-size: 1.1rem;
	padding: 7px 50px;
	border-radius: 7px;
	transition:.5s;
	min-width: 20rem;
}
.btn:hover {
	background-color: #002c72;
	color: #fff;
	text-decoration: none;
	transition:.5s;
}
.btn::after {
	font-family: "Font Awesome 5 Free";
	content: '\f138';
	font-weight: 900;
	color: #fff;
	font-size: 1rem;
	padding-left: .5rem;
}
.btn-group-center {
	text-align: center;
	margin: 50px auto;
}

footer {
	background: url(../img/bg-header.png) repeat-x top center, #001a71;
	width: 100%;
	color: #fff;
	padding: 30px 0px;
}
footer a {
	color: #fff;
}
footer ul {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-align: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
}
footer ul li{
	padding: 0 .5rem;
}
footer small{
	display: block;
	width: 100%;
	margin: 1rem auto 0;
	text-align: center;
}


table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
}
.table {
    border-left: 1px solid #ccc;
    border-top: 1px solid #ccc;
    margin-bottom: 30px;
}
.table th {
 background: #eee;
 padding: 10px;
}
.table td {
 background: #fff;
 padding: 10px;
 text-align: center;
}

.table th,
.table td {
	border-bottom: none;
	border-bottom: 1px solid #c9c9c9;
	border-right: 1px solid #c9c9c9;
}



/* --------------------------------------
	INDEX PAGE
-------------------------------------- */

#index-main {
	width: 100%;
	height: 400px;
	background: url('../img/index/main.jpg') no-repeat center top;
	background-size: cover;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-align-items: center;
	align-items: center;
}
#index-main h1 {
	font-size: 1.7rem;
	line-height: 2rem;
	font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
	text-shadow: 
       2px  2px 2px #fff,
      -2px  2px 2px #fff,
       2px -2px 2px #fff,
      -2px -2px 2px #fff,
       2px  0px 2px #fff,
       0px  2px 2px #fff,
      -2px  0px 2px #fff,
       0px -2px 2px #fff;
}

@media screen and (min-width: 768px), print {
	#index-main {
		background: url('../img/index/main.jpg') no-repeat center -100px;
		background-size: cover;
	}
}

h1.headlineIndex {
	text-align: center;
	font-size: 1.7rem;
	line-height: 3rem;
	font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
	margin: 0 auto 60px;
}

p.catch-copy {
	text-align: center;
	line-height: 2rem;
	margin-bottom: 50px;
}

.circle {
	-webkit-display: flex;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 175px;
	height: 175px;
	border-radius: 50%;
	background: #0047bb;
	text-align: center;
	margin: 0 auto;
}
.index-feature {
	width: 80%;
	margin: 0 0 50px;
}
.circle01 {
	width: 100px;
	height: 94px;
}
.circle02 {
	width: 100px;
	height: 94px;
}
.circle03 {
	width: 100px;
	height: 94px;
}
.index-feature h3 {
	text-align: center;
	margin: 1.5rem auto;
	font-size: 1.2rem;
	line-height: 1.5rem;
	font-weight: 600;
}
@media screen and (min-width: 768px), print {
	.index-feature {
		width: 28%;
	}
	.index-feature h3 {
		height:3rem;
	}
}


#index-course-column {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-align: stretch;
	align-items: stretch;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}
#index-course-column .index-course {
	width: 100%;
	border-radius: 10px;
	overflow: hidden;
	border: 1px solid #ccc;
	margin-bottom: 20px;
	padding:0;
	position: relative;
	padding-bottom: 2.5rem;
}
#index-course-column .index-course .index-course-title {
	height: 90px;
	color: #fff;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-align: center;
	align-items: center;
}
#index-course-column .index-course .index-course-title span,
#index-course-column .index-course .index-course-title h3 {
	width:100%;
	padding: .5rem 10px;
}
#index-course-column .index-course .index-course-title h3 {
	text-align:right;
	font-size: 1.2rem;
	font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
}
#index-course-column .index-course .index-course-item {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-align: stretch;
	align-items: stretch;
}
#index-course-column .index-course .index-course-title.index-course-title01 {
	background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)),url('../img/index/index-course01.png') center center;
	background-size: cover;
}
#index-course-column .index-course .index-course-title.index-course-title02 {
	background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)),url('../img/index/index-course02.png') center center;
	background-size: cover;
}
#index-course-column .index-course .index-course-title.index-course-title03 {
	background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)),url('../img/index/index-course03.png') center center;
	background-size: cover;
}
#index-course-column .index-course .index-course-title.index-course-title04 {
	background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)),url('../img/index/index-course04.png') center center;
	background-size: cover;
}
#index-course-column .index-course .index-course-item {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-align: stretch;
	align-items: stretch;
}
#index-course-column .index-course .index-course-item .index-course-item-child {
	width: 100%;
	padding: 10px;
	height: auto;
}
#index-course-column .index-course .index-course-item .index-course-item-child h4 {
	text-align: center;
	font-weight: 600;
	font-size: 1.2rem;
	line-height: 1.5rem;
	margin: .5rem 0;
	padding: 0;
	height: 3rem;
}
#index-course-column .index-course .index-course-item .index-course-item-child p {
	font-size: .9rem;
	line-height: 1.5rem;
}
#index-course-column .index-course .index-course-item .index-course-foot {
	width:100%;
	height:2.5rem;
	position:absolute;
	bottom: 0;
}
a.btn-detail {
	width:100%;
	display:block;
	background: #979797;
	line-height:2.5rem;
	text-align: center;
	color: #fff;
}
a.btn-detail::after {
	font-family: "Font Awesome 5 Free";
	content: '\f138';
	font-weight: 900;
	color: #fff;
}

#index-course-column .index-course .index-course-item .index-course-foot a::after {
		font-family: "Font Awesome 5 Free";
	  font-weight: 900;
		content: "\f138";
		padding-left: 5px;
		font-size: .8rem;
}
#index-course-column .index-course .index-course-item .index-course-foot a:hover {
	text-decoration: none;
	background: #333;
}
@media screen and (min-width: 768px), print {
	#index-course-column .index-course {
		width: 23%;
	}
	#index-course-column .index-course .index-course-item .index-course-item-child {
		min-height: 190px;
	}
}

#index-outline-column {
	background: #e9eef5;
	margin: 50px 0;
	padding: 50px 0 10px;
}
#index-outline-column h2 {
	font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
	text-align: center;
	font-weight: 600;
	font-size: 1.7rem;
	letter-spacing: .1rem;
	margin: 1rem auto 2rem;
}

#index-outline-column .index-outline {
	width: 100%;
	margin-bottom: 20px;
	padding:0;
}
#index-outline-column dl {
		display: -webkit-flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		width: 100%;
		margin: 1rem 0;
	}
	#index-outline-column dl dt {
		width: 5rem;
	}
	#index-outline-column dl dd {
		width: calc(100% - 5rem);
	}

@media screen and (min-width: 768px), print {
	#index-outline-column .index-outline {
		width: 46%;
	}
	
}
#index-faq-column {
	margin: 0;
	padding: 10px 0 50px;
}
#index-faq-column h2 {
	font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
	text-align: center;
	font-weight: 600;
	font-size: 1.7rem;
	letter-spacing: .1rem;
	margin: 1rem auto 2rem;
}
#index-faq-column dl dt {
	padding: 1rem 0 .5rem 2rem;
}
#index-faq-column dl dd {
	padding: 0 0 1rem 2rem;
	border-bottom: 1px dashed #ccc;
}
#index-faq-column dl dt.q1::before {
	content: "Q1.";
	margin-left: -2rem;
	padding-right: .5rem;
}
#index-faq-column dl dt.q2::before {
	content: "Q2.";
	margin-left: -2rem;
	padding-right: .5rem;
}
#index-faq-column dl dt.q3::before {
	content: "Q3.";
	margin-left: -2rem;
	padding-right: .5rem;
}
#index-faq-column dl dt.q4::before {
	content: "Q4.";
	margin-left: -2rem;
	padding-right: .5rem;
}
#index-faq-column dl dt.q5::before {
	content: "Q5.";
	margin-left: -2rem;
	padding-right: .5rem;
}
#index-faq-column dl dd.a1::before {
	content: "A1.";
	margin-left: -2rem;
	padding-right: .5rem;
}
#index-faq-column dl dd.a2::before {
	content: "A2.";
	margin-left: -2rem;
	padding-right: .5rem;
}
#index-faq-column dl dd.a3::before {
	content: "A3.";
	margin-left: -2rem;
	padding-right: .5rem;
}
#index-faq-column dl dd.a4::before {
	content: "A4.";
	margin-left: -2rem;
	padding-right: .5rem;
}
#index-faq-column dl dd.a5::before {
	content: "A5";
	margin-left: -2rem;
	padding-right: .5rem;
}

#inq-column {
	margin: 0;
	background: #fafaf1;
	padding: 50px 0 10px;
}
#inq-column h2 {
	font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
	text-align: center;
	font-weight: 600;
	font-size: 1.7rem;
	letter-spacing: .1rem;
	margin: 0 auto 2rem;
}
#inq-column p.inq-items {
	text-align:center;
	font-weight: 700;
	line-height: 2rem;
	font-size: 1.7rem;
	margin: 2rem auto;
}
#inq-column p.inq-items a {
	color: #000;
}
/* ---------------------------
	2ND Pages
--------------------------- */
.breadcrumb ul {
    display: flex;
	font-size: .9rem;
}
.breadcrumb li::before {
    content: ">";
	padding: 0 10px;
}
.breadcrumb li:first-child::before {
    content: "";
	padding: 0;
}


#second-main {
	height: 140px;
	background: #001a71;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-align-items: center;
	align-items: center;
}

#second-main.bg_shanghai {
background: linear-gradient( 135deg, rgba(0, 26, 113, 1), rgba(0, 26, 113, .8), rgba(0, 26, 113, 0)),
  url(../img/bg_shanghai.jpg);
  background-size: cover;
  background-position: center 80%;
}
#second-main.bg_panda {
background: linear-gradient( 135deg, rgba(0, 26, 113, 1), rgba(0, 26, 113, .8), rgba(0, 26, 113, 0)),
  url(../img/bg_panda.jpg);
  background-size: cover;
  background-position: center center;
}
#second-main.bg_lucky {
background: linear-gradient( 135deg, rgba(0, 26, 113, 1), rgba(0, 26, 113, .8), rgba(0, 26, 113, 0)),
  url(../img/bg_lucky.jpg);
  background-size: cover;
  background-position: center 35%;
}

#second-main .container {
	width:100%;
}
#second-main .container h1 {
	text-align: left;
	color: #fff;
	font-size: 1.8rem;
	font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
}

#beginner,
#business,
#online {
	padding: 50px 0;
}
#business {
	background: #e9eef5;
}

h2.headlineH2Course {
	font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
	text-align: center;
	font-weight: 600;
	font-size: 1.5rem;
	line-height: 1.5rem;
	margin: 0 auto 2rem;
	
  position: relative;
  padding: 0 45px;
  text-align: center;
}
h3.headlineH3Course {
	font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
	font-weight: 600;
	font-size: 1.3rem;
	letter-spacing: .1rem;
	margin: 0 auto 1rem;
	border-bottom: 1px dotted #ccc;
}
h3.headlineH3Price {
	font-weight: 600;
	font-size: 1.1rem;
	margin: 0 auto .5rem;
}

h2.headlineH2Course:before {
  position: absolute;
  top: calc(50% - 1px);
  left: 0;
  width: 100%;
  height: 1px;
  content: '';
  background: #000;
}

h2.headlineH2Course span {
  position: relative;
  padding: 0 1em;
  background: #fff;
}
#business h2.headlineH2Course span {
  background: #e9eef5;
}

.table.table-price th {
 text-align: center;
 padding: 10px 0;
}
.table.table-price td {
 text-align: right;
 width: 30%;
}

#aboutus {
	padding: 50px 0;
}


dl.address-item {
		display: -webkit-flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		width: 100%;
		margin: 1rem 0;
	}
dl.address-item dt {
		width: 5rem;
	}
dl.address-item dd {
		width: calc(100% - 5rem);
	}
.frem2 { font-size: 1.2rem;}