@charset "utf-8";

/* ------------------------------
 English
------------------------------ */

/* ------------------------------
 header (PC)
------------------------------ */
.header .headerBlock .gnav > ul > li.lang a {
	width: 130px;
	font-family: "游ゴシック",YuGothic,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
	font-weight: 500;
}
.header .logoBox a img {
	width: 425px;
}
/* ------------------------------
 header (SP)
------------------------------ */
@media screen and (max-width: 767px) {
	.header .headerBlock .gnav {
		top: 0;
		right: 0;
		width: auto;
		height: auto;
		background-color: transparent;
		visibility: visible;
	}
	.headerBlock .gnav > ul > li.lang {
		margin: 0;
	}
	.header .headerBlock .gnav > ul > li.lang a {
		width: 85px;
		height: 55px;
		font-size: 1.3rem;
		border-radius: 0 0 0 3px;
		background-color: #f4efe6;
		border-color: #f4efe6;
	}
	.header .logoBox a img {
		width: 252px;
		margin-bottom: 0;
	}
}

/* ------------------------------
 見出し・テキスト (PC)
------------------------------ */
h1 {
	font-family: 'Josefin Sans', sans-serif;
	font-size: 8.5rem;
    font-weight: 300;
    line-height: 1.0;
    color: #0f8970;
}
.contentsHome h2 {
	font-family: 'Josefin Sans', sans-serif;
	font-size: 7.5rem;
	font-weight: 300;
	line-height: 1.0;
	color: #0f8970;
}
/* ------------------------------
 見出し・テキスト (SP)
------------------------------ */
@media screen and (max-width: 767px) {
	h1 {
		font-size: 4.6rem;
	}
	.contentsHome h2 {
		font-size: 6.0rem;
	}
}

/* ------------------------------------
 			TOP コンテンツ
------------------------------------ */
/* ------------------------------
 メインイメージ (PC)
------------------------------ */
@media print, screen and (min-width: 768px) {
	.topmainImg {
		height: 1510px;
	}
}
/* ------------------------------
 講座紹介（PC）
------------------------------ */
@media print, screen and (min-width: 768px) {
	.about {
		margin-top: -450px;
	}
	.contentsHome .about .lead {
		font-size: 3.0rem;
		margin-bottom: 25px;
	}
	.about .inBox::before {
		top: -190px;
		left: -35px;
	}
}
/* ------------------------------
 講座紹介 (SP)
------------------------------ */
@media screen and (max-width: 767px) {
	.about {
		margin-top: -110px;
		margin-bottom: 160px;
	}
	.about::before {
		height: calc(100% - 80px);
	}
	.contentsHome .about .lead {
		margin-bottom: 15px;
	}
}
/* ------------------------------
 ABOUT US / STAFF (PC)
------------------------------ */
.np > .inBlock {
	position: relative;
}
.np > .inBlock:not(.staffBlock)::after {
	content: "";
	position: absolute;
	width: 280px;
	height: 91px;
	top: -30px;
    right: -245px;
	background: url(/img/cloud01.png) no-repeat top left / cover;
}
.np > .inBlock:not(.staffBlock)::before {
	content: "";
	position: absolute;
	width: 280px;
	height: 150px;
	top: 100px;
    left: -480px;
	background: url(/img/cloud03.png) no-repeat top left / cover;
}
.staffBlock {
	position: relative;
	margin-bottom: 120px;
}
.staffBlock::before {
	content: "";
	position: absolute;
	width: 217px;
	height: 80px;
	bottom: -70px;
    left: -220px;
	background: url(/img/cloud02.png) no-repeat top left / cover;
}
.staffBlock h2,
.research h2 + h2 {
	font-size: 5.3rem;
	font-weight: 300;
	padding: 0;
}
.staffBlock h2::before,
.research h2 + h2::before {
	content: none;
}
.staffBlock h3 {
	line-height: 1.1;
	margin-bottom: 10px;
}
.staffBlock h3 span {
	display: block;
	font-size: 1.6rem;
	font-weight: 500;
}
.staffBlock h3::before {
	height: 85%;
}
.staffBlock .staff {
	display: flex;
	justify-content: space-between;
	margin-bottom: 60px;
}
.staffBlock .flexBox .staff:last-child {
	margin-bottom: 0;
}
.staffBlock .staff figure {
	text-align: center;
}
.staffBlock .staff figure img {
	width: 175px;
	height: 175px;
	border-radius: 50%;
	margin: 0 auto;
}
.np {
	margin-bottom: 110px;
}
.np > figure img {
	width: 100%;
	border-radius: 0;
}
@media print, screen and (min-width: 768px) {
	.np::before {
		width: 510px;
	}
	.np::after {
		content: "";
		position: absolute;
		width: 285px;
		height: 221px;
		bottom: 525px;
		right: 0;
		background: url(/img/cloud04.png) no-repeat top left / cover;
		z-index: -1;
	}
	.staffBlock .staff .inBox {
		width: 950px;
	}
	.staffBlock .flexBox .staff {
		width: 555px;
	}
	.staffBlock .flexBox .staff .inBox {
		width: 360px;
	}
	.np > figure,
	.np > figure img {
		height: 510px;
	}
	.np > figure img {
		object-fit: cover;
	}
}
/* ------------------------------
 ABOUT US / STAFF (SP)
------------------------------ */
@media screen and (max-width: 767px) {
	.np {
		margin-bottom: 90px;
	}
	.np > .inBlock:not(.staffBlock)::after {
		width: 140px;
		height: 45px;
		top: 100%;
		right: calc(-5% - 40px);
	}
	.np > .inBlock:not(.staffBlock)::before {
		width: 145px;
		height: 77px;
		top: -85px;
		left: -60px;
	}
	.staffBlock h2,
	.research h2 + h2 {
		font-size: 4.3rem;
		font-weight: 300;
	}
	.staffBlock::before {
		width: 183px;
		height: 68px;
		bottom: -100px;
		left: calc(-5% - 30px);
	}
	.staffBlock .staff {
		flex-direction: column;
		margin-bottom: 40px;
	}
	.staffBlock .staff figure {
		margin-bottom: 20px;
	}
}
/* ------------------------------
 RESEARCH (PC)
------------------------------ */
.research .inBlock {
	position: relative;
}
.research .inBlock::after {
	content: "";
    position: absolute;
    width: 70px;
    height: 70px;
    top: 20px;
    right: -60px;
    background: url(/img/illust_blog01.png) no-repeat top left / cover;
}
.research figure {
	margin-bottom: 50px;
}
/* ------------------------------
 RESEARCH (SP)
------------------------------ */
@media screen and (max-width: 767px) {
	.research .inBlock::after {
		width: 54px;
		height: 55px;
		top: -45px;
		right: -5px;
		background: url(/img/illust_blog01.png) no-repeat top left / cover;
	}
	h3 {
		margin-bottom: 10px;
	}
}

/* ------------------------------------
 			下層コンテンツ
------------------------------------ */
/* ------------------------------
 RESEARCH (PC)
------------------------------ */
.headering h1::after {
	width: 356px;
    height: 131px;
    background: url(/shared/img/illust_research.png) no-repeat top center / cover;
}
/* ------------------------------
 RESEARCH (SP)
------------------------------ */
@media screen and (max-width: 767px) {
	.headering h1::after {
		width: 178px;
		height: 65px;
		bottom: -75px;
		right: 10px;
	}
	.headering figure {
		background: url(../img/research_main_sp.jpg) no-repeat top center / cover;
	}
}

/* ------------------------------
 footer (PC)
------------------------------ */
.footer address {
	font-weight: 500;
}
.footer address img.footer-logo {
    width: 485px;
}
.footer address .email img {
	width: 190px;
}
.footer .footerBottom .inBox {
	width: auto;
}
.footer .snsnav .btn a[target="_blank"]::after {
    margin-bottom: 0;
}
@media print, screen and (min-width: 768px) {
	.footer address {
		border-right: solid 1px #54857c;
		margin-bottom: 0;
	}
	.footer .btn.lang a {
		width: 100%;
	}
}
/* ------------------------------
 footer (SP)
------------------------------ */
@media screen and (max-width: 767px) {
	.footer address .email img {
		width: 160px;
		height: 13px;
	}
}