/* ====================================
	共通スタイル
 ==================================== */
.global-header-navi .english {
	display: none;
}

article {
	overflow: hidden;
}

#studio {
	display: none;
}

article,
.sub-title,
.sub-ttl,
#sub01,
#sub02,
#price,
#sub05,
#profile,
#recomend,
#sub06,
#sub07{
	font-family: garamond-premier-pro, serif;
	font-style: normal;
	font-weight: 400;
}

.title-container {
	margin-bottom: 14rem;
}

.sub-title {
	font-size: 8rem;
	line-height: 1;
	letter-spacing: 3px;
}

/* ------- sub01 ------- */

#sub01 p:nth-child(2) {
	font-size: 3.2rem;
	margin-bottom: 3rem;
}

#sub01 p:nth-child(3) {
	font-size: 2rem;
	line-height: 2.2;
}

/* ------- sub02,sub03 ------- */

#sub02 .innerbox img,
#sub07 .innerbox img {
	margin: 0;
}

#sub02 .innerbox .title,
#sub07 .innerbox .title {
	position: relative;
	font-size: 3.2rem;
	margin: 1rem 0 3rem;
}

#sub02 .innerbox .title::before,
#sub07 .innerbox .title::before {
	content: '';
	display: inline-block;
	width: 20px;
	height: 1px;
	background-color: #BCAC74;
	position: absolute;
	left: 0;
	bottom: -1rem;
}

/* ------- sub02 ------- */

#sub02 .btn-wrap {
	margin-top: 7rem;
}

#sub02 .btn-arrow-right {
	max-width: 490px;
	font-size: 2.4rem;
	line-height: 1;
}

#sub02 .btn-arrow-right a {
	max-width: 490px;
	padding: 0.8em 1em;
}

/* ------- fee ------- */

#fee table.table-price {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
}


#fee table.table-price th {
	padding: 10px;
	background-color: #008EC8;
	color: #fff;
}

#fee table.table-price td {
	width: 30%;
	padding-left: 1em;
	word-break: break-word;
	border-bottom: solid 1px #008EC8;
	padding: 10px;

}

#fee table.table-price td.index {
	font-weight: 500;
}

#fee table.table-price.online td.price {
	width: 66%;
}

#fee .title {
	position: relative;
}

#fee .sub-ttl+.title {
	margin-top: 0;
}


#fee .title::before {
	content: '';
	position: absolute;
	bottom: -20px;
	display: inline-block;
	width: 20px;
	height: 1px;
	left: 0;
	background-color: #B9B6A9;
}

#fee a {
	text-decoration: underline;
	color: #008EC8;
}

#fee a:hover {
	color: #008EC8;
	text-decoration: none;
}

/* ------- sub04 ------- */

#sub04.sub-section {
	overflow: hidden;
}

/* profile */
#sub04 #profile {
	padding-bottom: 20rem;
}

#sub04 #profile .text.name {
	font-size: 4rem;
	line-height: 1.2;
	position: relative;
	display: inline-block;
	margin-bottom: 6rem;
}
#sub04 #profile .text.name .sub-text {
	font-size: 2.2rem;
	color: #7C8890;
}
#sub04 #profile .text.name:before {
	content: '';
	position: absolute;
	bottom: -26px;
	display: inline-block;
	width: 20px;
	height: 1px;
	left: 0;
	background-color: #B9B6A9;
}

#sub04 #profile .text.biography {
	font-size: 1.4rem;
	margin-bottom: 3rem;
	color: #7C8890;
}

/* Experience and Training */
#sub04 #timeline .sub-ttl {
	font-size: 4rem;
	color: #292E2F;
	letter-spacing: 5px;
}

#sub04 #timeline dt {
	width: 4em;
	padding-top: 0.4em;
	position: relative;
	font-family: garamond-premier-pro, serif;
	font-style: normal;
	font-weight: 400;
	font-size: 4rem;
	color: #7C8890;
	line-height: 0;
}

#sub04 #timeline dl dt::after {
	content: '●';
	position: absolute;
	right: -0.5em;
	top: 0.63em;
	font-size: 2.2rem;
	color: #008EC8;
	z-index: 2;
}

#sub04 #timeline dd {
	width: calc(100% - 10em);
	padding: 0 0 5em 5em;
	border-left: 1px solid #7BB9DA;
	font-size: 1.8rem;
}
/* #sub04 #timeline dd:last-of-type {
padding-bottom: 2em;
} */
/* ------- sub05 ------- */

#sub05 .recomend:not(:last-of-type) {
	margin-bottom: 10rem;
}

#sub05 .recomend .img .photo {
	margin-bottom: 2rem;
}

#sub05 .recomend .img p.name {
	font-size: 2.6rem;
}

#sub05 .recomend .img p.title {
	font-size: 1.4rem;
}

#sub05 .recomend .text {
	background-color: #F2F9FC;
}

#sub05 .recomend .text p:not(:last-of-type) {
	margin-bottom: 3rem;
}

/* ------- sub06 ------- */

#sub06 #trial {
	padding-top: 20rem;
	position: relative;
}

#sub06 #trial .flex-container {
	align-items: center;
}

#sub06 #trial .flex-item.img {
	position: relative;
	z-index: 1;
	height: 32vw;
}

#sub06 #trial .flex-item.img::before {
	content: '';
	background: url(../images/sub06.jpg) no-repeat;
	background-size: 100%;
}

#sub06 #trial .flex-item.img::before {
	width: 50vw;
	height: 34vw;
	position: absolute;
	top: 0;
	right: 0;
	max-width: 750px;
}

#sub06 #trial .trial-ttl {
	position: relative;
	text-align: center;
	font-size: 2.8rem;
}

#sub06 #trial .trial-ttl::before {
	content: '';
	position: absolute;
	bottom: -36px;
	display: inline-block;
	width: 100px;
	height: 1px;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	background-color: #66bbde;
}

#sub06 #trial .btn-wrap {
	margin-top: 10rem;
}

#sub06 .btn-arrow-right {
	font-size: 2.4rem;
	line-height: 1;
}

#sub06 .btn-arrow-right a {
	padding: 0.8em 1em;
}


/* ------- フォトギャラリー ------- */

/* 右から左へ */
@keyframes infinity-scroll-left {
	from {
		transform: translateX(0);
	}

	to {
		transform: translateX(-100%);
	}
}

.gallery-list.left {
	animation: infinity-scroll-left 100s infinite linear 0.5s both;
}

/* 左から右へ */
@keyframes infinity-scroll-right {
	from {
		transform: translateX(-100%);
	}

	to {
		transform: translateX(0%);
	}
}

.gallery-list.right {
	animation: infinity-scroll-right 100s infinite linear 0.5s both;
}

.gallery-wrap {
	display: flex;
	overflow: hidden;
}

.gallery-list {
	display: flex;
	list-style: none;
}

.gallery-list .item {
	width: calc(100vw / 4);
	height: auto;
	margin-left: 1px;
}

.gallery-list .item>img {
	width: 100%;
}

/* ====================================
	768px以上専用スタイル
===================================== */
@media print,
screen and (min-width: 768px) {

	#mainVisual .main-img {
		background-image: url(../images/mv-english.jpg);
	}

	.scroll-in.move-tb-pc:not(.passed) {
		transform: translate(0, 30px) !important;
	}

	.page-navi-container ul.list-page-navi {
		font-size: 1.8rem;
	}

	/* ------- sub02,sub03 ------- */

	#sub02 .flex-container.half .innerbox,
	#sub07 .flex-container.half .innerbox {
		width: 48%;
	}

	/* ------- sub02 ------- */
	#sub02 .innerbox .detail {
		font-size: 1.8rem;
		line-height: 1.7;
	}

	/* ------- fee ------- */
	.sp-only-scroll {
		display: none;
	}

	#fee table.table-price {
		font-size: 1.6rem;
		line-height: 1.4;
		margin-top: 8rem;
	}


	#fee table.table-price th {
		padding: 10px;
	}

	#fee table.table-price td {
		width: 30%;
		padding-left: 1em;
		padding: 10px;
		line-height: 2;
	}

	#fee .text {
		font-size: 1.8rem;
		margin-top: 8rem;
	}


	/* ------- sub07 ------- */

	/* 画像下揃え */
	#sub07 .fix-bottom-img .innerbox {
		display: flex;
		flex-direction: column;
	}

	.fix-bottom-img .map-wrap {
		min-height: 0%;
		/* IE対応 */
		width: 100%;
		margin-top: auto;
	}

	#sub07 .fix-bottom-img .innerbox .detail {
		padding-bottom: 2rem;
	}


	/* ------- sub04 ------- */

	/* profile */
	#sub04 #profile .text p {
		font-size: 1.8rem;
	}

	#sub04 #profile .flex-item.img {
		position: relative;
		z-index: 2;
	}

	#sub04 #profile .flex-item.img::before {
		content: '';
		width: 50vw;
		height: 52rem;
		position: absolute;
		top: 0;
		left: 0;
		max-width: 720px;
	}
	#sub04 #profile .flex-item.img01::before {
		background: url(../images/sub04-1.jpg) no-repeat;
		background-size: 100%;
	}
	#sub04 #profile .flex-item.img02::before {
		background: url(../images/sub04-2.jpg) no-repeat;
		background-size: 100%;
	}
	#sub04 #profile .flex-item.img03::before {
		background: url(../images/sub04-3.jpg) no-repeat;
		background-size: 100%;
	}
	#timeline .flex-container.half {
		justify-content: flex-start;
	}

	/* ------- sub05 ------- */

	#sub05 .recomend {
		position: relative;
	}

	#sub05 .recomend .img {
		width: 33%;
		position: absolute;
		top: 7rem;
		left: 0;
		z-index: 2;
	}

	#sub05 .recomend .text {
		width: 70%;
		margin-left: 30%;
		padding: 12rem;
		font-size: 1.8rem;
		line-height: 2;
	}

	#sub05 .recomend .img p.title {
		width: 90%;
	}

	#sub05 .recomend .img p.name {
		line-height: 1.4;
	}
}

/* ====================================
	767px以下専用スタイル
===================================== */
@media only screen and (max-width: 767px) {
	#mainVisual .main-img {
		background-image: url(../images/mv-english_sp.jpg);
	}

	article {
		font-size: 1.5rem;
		line-height: 1.6;
	}

	.page-navi-container ul.list-page-navi {
		font-size: 1.5rem;
	}

	/* englishのみ */
	.page-navi-container ul.list-page-navi {
		line-height: 2 !important;
	}

	.page-navi-container {
		margin-top: 3rem !important;
		padding-bottom: 4rem !important;
	}

	.scroll-in.move-tb-pc:not(.passed) {
		transform: translate(0, 0px) !important;
		opacity: 1 !important;
	}

	.scroll-in.move-tb-pc {
		transition: none;
	}


	#mainVisual .main-img {
		background-image: url(../images/mv-english_sp.jpg);
	}


	.title-container {
		margin-bottom: 4rem;
	}

	.sub-title {
		font-size: 3.7rem;
		line-height: 1;
		letter-spacing: 1px;
	}

	/* ------- sub01 ------- */

	#sub01 p:nth-child(2) {
		font-size: 1.9rem;
		margin-bottom: 2rem;
		line-height: 1.4;
	}

	#sub01 p:nth-child(3) {
		font-size: 1.6rem;
		line-height: 1.6;
	}

	/* ------- sub02,sub03 ------- */

	#sub02 .innerbox:first-of-type {
		margin-bottom: 4rem;
	}


	#sub02 .innerbox .title,
	#sub07 .innerbox .title {
		font-size: 2.5rem;
		margin: 1rem 0 2rem;
	}

	#sub02 .innerbox .title::before,
	#sub07 .innerbox .title::before {
		bottom: -0.5rem;
	}

	/* ------- sub02 ------- */

	#sub02 .btn-wrap {
		margin-top: 4rem;
	}

	#sub02 .btn-arrow-right {
		font-size: 1.9rem;
	}

	#sub02 .btn-arrow-right a {
		padding: 0.8em 1em;
	}

	#sub02 .innerbox .detail {
		font-size: 1.5rem;
		line-height: 1.6;
	}

	/* fee */

	#fee .title {
		font-size: 1.8rem;
		margin-top: 5rem;
	}

	#fee .title::before {
		bottom: -15px;
	}



	#fee table {
		display: block;
		overflow-x: auto;
		overflow-y: hidden;
		white-space: nowrap;
		-webkit-overflow-scrolling: touch;
		padding-bottom: 2px;
		/* -ms-overflow-style: none; */
		/* IE, Edge 対応 */
		/* scrollbar-width: none; */
	}

	#fee table::-webkit-scrollbar {
		/* Chrome, Safari 対応 */
		/* display: none; */
	}

	/*スクロールバー全体の高さ*/
	#fee table::-webkit-scrollbar {
		height: 10px;
	}

	/*スクロールバー全体の背景*/
	#fee table::-webkit-scrollbar-track {
		background: #F2F9FC;
	}

	/*スクロールバーの動く部分*/
	#fee table::-webkit-scrollbar-thumb {
		background: #66BBDE;
		border-radius: 10px;

	}

	#fee table::-webkit-scrollbar-track-piece {
		padding-top: 5px;
	}

	/*スクロールバー 指*/
	#fee .scroll-item {
		color: #008EC8;
		font-size: 1rem;
		display: flex;
		align-items: center;
		justify-content: flex-end;
		margin-top: 10px;
	}

	#fee .scroll-item .scroll-img {
		width: 23px;
		margin-right: 6px;
	}


	/*スクロールバー プラグイン*/
	.scroll-hint-icon-wrap .scroll-hint-icon {
		opacity: .8;
	}

	.scroll-hint-icon-wrap .scroll-hint-icon:after {
		opacity: 1;
	}

	.scroll-hint-icon-wrap .scroll-hint-icon:before {
		animation: scroll-hint-appear 1.2s linear;
		animation-iteration-count: 2;
	}

	.scroll-hint-icon-wrap .scroll-hint-icon {
		top: calc(50% - -5px);
	}

	#fee .js-scrollable.scroll-hint {
		overflow-y: hidden;
	}



	#fee table tbody {
		width: 100%;
		display: table;
	}

	#fee table.table-price {
		font-size: 1.4rem;
		line-height: 1.4;
		margin-top: 4.2rem;
	}


	#fee table.table-price th {
		padding: 8px;
	}


	#fee table.table-price th {
		width: 30%;
		padding-left: 1em;
		padding: 6px 10px;
		line-height: 1.6;
	}

	#fee table.table-price.online td.index,
	#fee table.table-price.online th.index {
		width: 28%;

	}


	#fee .text {
		font-size: 1.6rem;
		margin-top: 3rem;
	}


	/* ------- sub07 ------- */
	#sub07 .innerbox:first-of-type {
		margin-bottom: 6rem;
	}



	#sub07 .innerbox .map-wrap {
		margin-top: 2rem;
	}

	/* ------- sub04 ------- */

	/* profile */
	#sub04 #profile {
		padding-bottom: 5rem;
	}

	#sub04 #profile .flex-item.text {
		order: 2;
	}

	#sub04 #profile .text.name {
		font-size: 2.1rem;
		margin-bottom: 2.6rem;
	}
	#sub04 #profile .text.name:before {
		bottom: -12px;
	}
	#sub04 #profile .text.name .sub-text {
		font-size: 1.7rem;
	}
	#sub04 #profile .text.biography {
		font-size: 1.3rem;
		margin-bottom: 2rem;
	}

	#sub04 #profile .flex-item.img {
		order: 1;
		width: 100%;
		height: 58vw;
		margin-bottom: 4vw;
	}
	#sub04 #profile .flex-item.img01{
		background: url(../images/sub04-1.jpg) no-repeat;
		background-size: 100%;
	}
	#sub04 #profile .flex-item.img02 {
		background: url(../images/sub04-2.jpg) no-repeat;
		background-size: 100%;
	}
	#sub04 #profile .flex-item.img03 {
		background: url(../images/sub04-3.jpg) no-repeat;
		background-size: 100%;
	}
	/* Experience and Training */
	#sub04 #timeline .sub-ttl {
		font-size: 2.3rem;
		letter-spacing: 4px;
	}

	#sub04 #timeline dt {
		width: 3em;
		padding-top: 0.4em;
		position: relative;
		font-size: 2.3rem;
	}

	#sub04 #timeline dl dt::after {
		right: -0.5em;
		top: 0.5em;
		font-size: 1.7rem;
	}

	#sub04 #timeline dd {
		width: calc(100% - 7em);
		padding: 0 0 4em 2em;
		font-size: 1.4rem;
	}

	/* ------- fee ------- */

	#fee .recomend:not(:last-of-type) {
		margin-bottom: 6rem;
	}

	#fee .recomend .img {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}

	#fee .recomend .img .photo {
		width: 30%;
	}

	#fee .recomend .img .name-area {
		width: 66%;
	}

	#fee .recomend .img p.name {
		font-size: 2.4rem;
		line-height: 1;
		margin-bottom: 1rem;
	}

	#fee .recomend .text {
		padding: 2rem;
		font-size: 1.6rem;
		line-height: 1.6;
	}

	/* ------- sub06 ------- */

	#sub06 #trial {
		padding-top: 10rem;
	}

	#sub06 #trial .flex-item.img {
		padding-bottom: 58vw;
	}

	#sub06 #trial .flex-item.img::before {
		width: 90vw;
		height: 58vw;
		top: 0;
	}

	#sub06 #trial .flex-item.text {
		margin-top: 3rem;
	}

	#sub06 #trial .trial-ttl {
		font-size: 1.9rem;
	}

	#sub06 #trial .trial-ttl::before {
		width: 40px;
		bottom: -15px;
	}

	#sub06 #trial .btn-wrap {
		margin-top: 6rem;
	}

	#sub06 .btn-arrow-right {
		font-size: 1.9rem;
	}

	#sub06 .btn-arrow-right a {
		padding: 0.8em 1em;
	}

	.gallery-list .item {
		width: calc(100vw / 3);
	}
}

/* ====================================
	768px以上1023px以下専用スタイル
===================================== */
@media only screen and (min-width: 768px) and (max-width: 1023px) {

	.flex-container.half>.flex-item {
		width: 48%;
	}

	.title-container {
		margin-bottom: 8rem;
	}

	.sub-title {
		font-size: 8rem;
		line-height: .9;
		letter-spacing: 8px;
	}

	#fee .sp-small {
		display: none;
	}

	/* ------- sub04 ------- */

	/* profile */
	#sub04 #profile {
		padding-bottom: 10rem;
	}

	/* Experience and Training */
	#sub04 #timeline .sub-ttl {
		font-size: 3.2rem;
		letter-spacing: 4px;
	}


	/* ------- sub05 ------- */

	sub05 .recomend .text {
		width: 70%;
		padding: 8rem;
	}



	/* ------- sub06 ------- */

	#sub06 #trial .trial-ttl {
		font-size: 2.2rem;
	}

	#sub06 #trial .btn-arrow-right {
		padding: .6em 1.4em .6em 1em;
		font-size: 1.4rem;
	}

}

/* ====================================
	1024px以上1199px以下専用スタイル
===================================== */
@media print,
screen and (min-width: 1024px) and (max-width: 1199px) {

	/* ------- sub04 ------- */

	/* profile */
	#sub04 #profile {
		padding-bottom: 10rem;
	}

	/* Experience and Training */
	#sub04 #timeline .sub-ttl {
		font-size: 3.2rem;
		letter-spacing: 4px;
	}

	/* ------- sub05 ------- */

	#sub05 .recomend .text {
		width: 70%;
		padding: 8rem;
	}

}

/* ====================================
	1200px以上専用スタイル
===================================== */
@media screen and (min-width: 1200px) {

	.title-container {
		margin-bottom: 8rem;
	}

}

/* ====================================
	1500px以上専用スタイル
===================================== */
@media screen and (min-width: 1500px) {

	/* ------- sub06 ------- */

	#sub06 #trial .flex-item.img {
		height: 520px;
	}

}

/* ====================================
	IE
===================================== */
@media all and (-ms-high-contrast: none),
(-ms-high-contrast: active) {

	/* ------- sub02 ------- */

	/* Experience and Training */
	#sub04 #timeline dd {
		width: calc(100% - 10.1em);
		padding: 0 0 5em 5em;
	}

	/* ------- フォトギャラリー ------- */

	.gallery-area {
		display: -ms-grid;
		overflow: hidden;
	}

	.gallery-area .gallery-wrap.mt2em {
		display: none;
	}


}