@charset "UTF-8";

* {
	margin: 0 auto;
	padding: 0;
	color: #584f57;
	/*	  box-sizing: border-box;*/
}

a {
	text-decoration: none;
}

body {
	font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "YuGothic", "游ゴシック", sans-serif;
}

.fadein {
	opacity: 0;
	transform: translateY(20px);
	transition: all 1s;
}

.margin-65 {
	margin: 0 65px;
}

.margin-100 {
	margin: 0 100px;
}

.margin-150 {
	margin: 0 150px;
}

.center {
	text-align: center;
}

/* headerここから */
#header {
	/*    width: 1000px;*/
	/*	  margin:0 auto;*/
	width: 100%;
	background-color: white;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100;
}
.header {
	width: 1320px;
	margin: 0 auto;
}
.header-logo {
	/*    position: absolute;*/
	width: 150px;
	margin-top: -15px;
}

.header-left {
	margin: 0 auto 0 0;
}

.header-top-flex {
	display: table;
	border-collapse: separate;
	border-spacing: 20px 0;
	/*    margin: 0 45px 0 auto;*/
	margin: 5px 45px 0 auto;
}

.header-top-flex * {
	/*    display: table-cell;*/
	vertical-align: middle;
}

/*
.studio-res{
    color: #ffffff;
    background-color: #d85e66;
    padding: 15px 10px;
}
*/
.studio-res {
	color: #ffffff;
	background-color: #d85e66;
	padding: 15px 10px 8px;
	margin: 0 20px;
}
.contact {
	color: #ffffff;
	background-color: #584f57;
	/*    padding: 15px 10px;*/
	padding: 15px 10px 8px;
}

.header-bottom-flex {
	display: flex;
	justify-content: space-between;
}

.header-right {
	margin: 10px 0 10px auto;
}

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

.header-list li > a {
	text-decoration: none;
	font-size: 13px;
	margin-right: 20px;
}

.header-list li:last-child > a {
	margin-right: 0;
}
/* headerここまで */

/* スライド画像の設定ここから */
.top-img {
	background-image: url("../img/header1.png");
	background-size: cover;
}

.bg-slider {
	width: 100%;
	background-position: center center;
	background-size: cover;
	display: flex;
	align-items: center;
	justify-content: center;
	padding-top: 60px;
	padding-bottom: 60px;
}

.main-image {
	margin-left: 8%;
}

.bg-slider__title {
	margin-left: 0;
	font-size: 34px;
	text-align: center;
	font-family: "游明朝体", "Yu Mincho", "YuMincho", "Hiragino Mincho Pro", sans-serif;
	writing-mode: vertical-rl;
	text-orientation: upright;
	justify-self: center;
	margin-right: 44%;
	line-height: 2.4;
	color: #fff;
	text-shadow: 0 0 7px rgba(128, 57, 0, 0.7);
}
/* スライド画像の設定ここまで */

/* mainここから */
/* main共通ここから */
.sub-title {
	font-family: "游明朝体", "Yu Mincho", "YuMincho", "Hiragino Mincho Pro", sans-serif;
	font-size: 38px;
	margin-top: 100px;
	margin-bottom: 20px;
}

.desc-title {
	font-size: 14px;
	margin-bottom: 40px;
	font-family: "游明朝体", "Yu Mincho", "YuMincho", "Hiragino Mincho Pro", sans-serif;
}

/* main共通ここまで */

/* News ここから*/
a {
	text-decoration: none;
}

nav {
	max-width: 1000px;
	margin: 0 auto;
	margin-top: 150px;
}
nav a {
	width: 50%;
	float: left;
	background-color: #ffffff;
	color: #635b62;
	font-size: 30px;
	/* font-family: "Times New Roman"; */
	text-align: center;
	padding: 20px 0;
}
.tabContainer {
	max-width: 1000px;
	height: 380px;
	margin: 0 auto;
	overflow: hidden;
	text-align: left;
	position: relative;
}
.Tabcondent {
	position: absolute;
	background-color: #ffffff;
	color: #fff;
	opacity: 0;
	border-radius: 32px;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	border-top: 1px solid #000000;
	/* display:none; */
}
a.active {
	background-color: #584f57;
	color: #ffffff;
}
a.active span {
	color: #ffffff;
}
.Tabcondent.active {
	width: 100%;
	height: 100%;
	opacity: 1;
	border-radius: 0px;
	margin: 0 auto;

	/* display:block */
}

.last {
	border-bottom: 1px solid #000000;
}
/* News ここまで*/

/* studioここから */
.studio-flex {
	display: flex;
	justify-content: center;
}

.studio-item-1 {
	width: calc(100% / 3);
	background-image: url("../img/studio1.png");
	background-size: cover;
	padding: 100px 0;
	outline: 1px solid #ffffff;
	outline-offset: -5px;
}

.studio-item-2 {
	width: calc(100% / 3);
	background-image: url("../img/studio2.png");
	background-size: cover;
	padding: 100px 0;
	outline: 1px solid #ffffff;
	outline-offset: -5px;
}

.studio-item-3 {
	width: calc(100% / 3);
	background-image: url("../img/studio3.png");
	background-size: cover;
	padding: 100px 0;
	outline: 1px solid #ffffff;
	outline-offset: -5px;
}

/*.studio-link{
    display: inline-block;
    margin: 5px;
    text-decoration: none;
    border: #ffffff solid 1px;
	padding: 130px 90px;
}*/

p.container-w {
	background-color: rgba(255, 255, 252, 0.8);
	padding: 50px 0;
	width: 80%;
}

.online-studio {
	background-image: url("../img/studio4.png");
	background-size: cover;
	padding-top: 40px;
	padding-bottom: 40px;
	margin-top: 30px;
	max-width: 1100px;
}

.studio-container {
	/*    background-color: #ffffff;*/
	width: 500px;
	background-color: rgba(255, 255, 252, 0.8);
	padding: 50px 27px 40px 30px;
}

.thinright2 {
	position: relative;
	margin-right: 230px;
}
.thinright2::before {
	content: "";
	display: block;
	position: absolute;
	right: 0;
	bottom: 0;
	width: 50px;
	height: 1px;
	background: #000000;
}
.thinright2::after {
	content: "";
	display: block;
	position: absolute;
	right: 0;
	bottom: 0;
	width: 14px;
	height: 1px;
	background: #000000;
	-webkit-transform-origin: right bottom;
	-ms-transform-origin: right bottom;
	transform-origin: right bottom;
	-webkit-transform: rotate(40deg);
	-ms-transform: rotate(40deg);
	transform: rotate(40deg);
}
#cont-studio .studio-flex a {
	font-size: 24px;
	font-weight: 900;
}
/* studioここまで */

.footer {
	background-color: #e6dfe3;
	padding-top: 50px;
	margin-top: 40px;
	padding-bottom: 30px;
}

.footer-img {
	margin-bottom: 40px;
}

.footer-list {
	font-size: 13px;
	/* font-family: "Noto Sans CJK JP", sans-serif; */
	list-style: none;
	display: flex;
	border-bottom: 2px solid #ffffff;
	padding-bottom: 20px;
}

.footer-list li a {
	text-decoration: none;
	font-size: 13px;
	margin-right: 20px;
}

.footer-list li:last-child a {
	margin-right: 0;
}

.footer-studio-flex {
	display: flex;
	flex-direction: column;
	padding-top: 20px;
}

.button {
	display: inline-block;
	cursor: pointer;
	position: relative;
	text-decoration: none;
	width: 100px;
}
.button::after {
	content: "";
	display: block;
	position: absolute;
	top: calc(50% - 5px);
	right: 0;
	width: 4px;
	height: 4px;
	border: 2px solid;
	border-color: transparent transparent #8a8188 #8a8188;
	transform: rotate(-135deg);
	transition: 0.3s;
}

.list-margin {
	margin-left: 0;
}

.footer-studio-flex a {
	margin-left: 0;
	margin-bottom: 20px;
}
small {
	background-color: #584f57;
	text-align: right;
	display: block;
	color: #ffffff;
	padding-top: 13px;
	padding-bottom: 13px;
	padding-right: 64px;
}

.pagetop {
	width: 100%;
	margin: 0 auto;
	margin-bottom: 0px;
	text-align: center;
	padding: 50px 0;
}
.pagetop a {
	width: 80px;
	mardin: 30px auto;
}

/*SP用css*/
@media screen and (max-width: 599px) {
	#header .header-right,
	#header .header-top-flex {
		display: none;
	}
	#wrapper {
		overflow: hidden;
	}
	#header {
		height: 60px;
		width: 100%;
		margin: 0;
		padding: 0;
		position: fixed;
		z-index: 100;
		/*		background: #fff;*/
	}
	.header-logo {
		height: 40px;
		padding: 10px 5px 0px 0px;
		/*		margin-left:-45px;*/
		text-align: left;
		position: sticky;
	}
	.margin-65 {
		margin: 0;
	}
	.main-cont {
		margin-top: 40px;
	}
	.top-img {
		background-position: 40% center;
		background-size: cover;
		height: 510px;
		width: 100%;
		margin: 0 auto;
		margin-top: 0;
	}
	.main-image {
		margin-left: 0;
	}
	.bg-slider {
		width: 100%;
		display: inline;
		align-items: flex-end;
		justify-content: center;
		padding-top: 20px;
		padding-bottom: 10px;
	}
	.bg-slider img {
		width: 60%;
		margin-top: 270px;
		margin-left: 40%;
		padding-bottom: 60px;
	}
	.bg-slider__title {
		margin-left: 10%;
		margin-top: -540px;
		font-size: 34px;
		color: #fff;
		text-align: center;
		justify-self: center;
		line-height: 1.3;
		text-shadow: 0 0 5px rgba(128, 57, 0, 0.7);
	}
	nav {
		max-width: 1000px;
		margin: 0 auto;
		margin-top: 20px;
	}
	.tabContainer {
		padding-bottom: 20px;
	}
	nav a {
		padding: 8px 0;
		font-size: 20px;
	}
	nav a span {
		margin-left: 20px;
	}
	.tab-lists li {
		padding: 15px 0px 15px 20px;
	}
	.tab-lists li span {
		margin-left: 0px;
		display: block;
		font-size: 13px;
	}
	.box-link {
		position: relative;
		width: 75%;
		margin: 0 auto;
	}
	.box-center {
		margin-top: 50px;
	}
	.box-link::after {
		content: "";
		display: block;
		position: absolute;
		top: 50%;
		right: -20px;
		z-index: 10;
		background: #584f57;
		width: 50px;
		height: 1px;
	}
	/*
	.box-center .box-link{
		margin:50px 0 0 0;
	}
*/
	.sub-title {
		margin-top: 50px;
		margin-bottom: 0px;
	}
	#cont-instructor .sub-title {
		margin-top: 10px;
	}
	#cont-faq .sub-title {
		margin-top: 30px;
	}
	#cont-faq .desc-title {
		margin-bottom: 0px;
		padding-bottom: 30px;
		border-bottom: 1px solid #584f57;
	}
	#cont-about {
		margin: 0;
	}
	.about-flex {
		display: block;
	}
	.about-flex div {
		width: 100%;
	}

	.about-img-cont {
		width: 100%;
		text-align: left;
	}

	.about-img {
		width: 90%;
		margin: 0 5%;
	}

	.about-ab {
		position: sticky;
		background: radial-gradient(rgb(255, 255, 255), rgba(255, 255, 255, 0.01));
		border-radius: 50%;
		width: 100%;
	}
	.about-ab .pc,
	.pc {
		display: none;
	}
	.about-text {
		text-align: center;
		line-height: 1.8;
		padding: 20px;
		font-size: 14px;
	}

	#cont-class {
		margin: 0;
	}
	#cont-class .sp {
		width: 90%;
		margin: 0 5%;
	}
	.about-con {
		position: sticky;
		padding-bottom: 50%;
	}
	.class-val {
		color: #c2aabd；;
	}
	.half-line {
		margin-top: 30px;
	}
	.about-left {
		width: 90%;
		text-align: center;
		margin: 0 auto 0;
	}
	.class-text {
		font-size: 14px;
		line-height: 1.8;
		padding: 15px 0 20px 0;
		text-align: center;
	}
	.class-text .pc {
		display: none;
		text-align: center;
	}
	.class-img {
		position: sticky;
		padding: 40px 0;
	}
	picture img {
		width: 90%;
		margin: 0px 5%;
	}

	#cont-class picture img {
		margin-top: 0px;
	}

	.taisou {
		margin-bottom: 0px;
	}
	.taisou-image {
		margin-bottom: -10px;
	}
	.taisou-main {
		padding: 25px 20px 25px 20px;
		height: auto;
		text-align: left;
	}
	.taisou-title {
		font-size: 40px;
		font-style: italic;
		text-align: center;
		margin-bottom: 50px;
	}

	.thinright::before {
		right: 100px;
		bottom: 35px;
	}
	.thinright::after {
		right: 100px;
		bottom: 35px;
	}
	.taisou-text {
		margin-top: 0;
	}
	.taisou-text {
		font-size: 12px;
		margin-top: 10px;
		text-align: center;
	}
	.arrow-text2 {
		display: block;
		padding-bottom: 5px;
		padding-top: 15px;
	}
	.cont-instructor {
		padding-top: 50px;
		padding-bottom: 50px;
	}
	.ins-box {
		margin-top: 10px;
	}
	.ins-text {
		font-size: 14px;
		width: 100%;
	}
	#cont-instructor .margin-100 {
		margin: 0;
	}
	#cont-instructor .desc-title {
		margin-bottom: 10px;
	}
	.ins-flex {
		display: block;
	}
	.ins-flex div {
		position: relative;
		width: 100%;
		height: 130px;
	}
	.ins-flex div img {
		width: 30%;
		position: absolute;
		top: 0;
		left: 5%;
	}
	.ins-flex div .name {
		width: 60%;
		position: absolute;
		top: -25px;
		left: 38%;
		text-align: left;
	}
	.ins-flex div .ins-st {
		width: 60%;
		position: absolute;
		top: 20px;
		left: 38%;
		font-size: 12px;
		text-align: left;
		margin: 5px 0 0 0;
	}
	.ins-flex div .ins-st br {
		display: none;
	}
	.studio-flex {
		display: block;
		width: 90%;
		margin: 0 5%;
	}
	.studio-flex div {
		width: 100%;
		margin: 0px;
		/*height: 218px;*/
		border: 1px solid #fff;
	}

	.studio-item-1,
	.studio-item-2,
	.studio-item-3 {
		padding: 50px 0;
	}
	/*.studio-link{
		display: block;
		width:96%;
		padding:80px 0px;
		color:#fff;
		margin:10px 2%;
		background: rgba(0,0,0,.4);
	}
	#cont-studio .studio-flex a{
	/*	color: #fff;
		font-weight: 300;
		background: rgba(0,0,0,.4);
		text-shadow: 0;
	}*/

	p.container-w {
		background-color: rgba(255, 255, 252, 0.8);
		padding: 50px 0;
		width: 80%;
	}

	.online-studio {
		width: 90%;
		margin: 50px 5%;
		padding: 10px 0;
	}
	.studio-container {
		width: 90%;
		margin: 50px 5%;
		padding: 0;
	}
	.studio-container h3 {
		font-size: 24px;
		padding: 20px 5px 0 5px;
	}
	.studio-container p {
		padding: 0px 5px 20px 5px;
		font-size: 12px;
	}
	.studio-text {
		padding-bottom: 25px;
		font-size: 13px;
	}
	.studio-title {
		margin-bottom: 15px;
	}

	.thinright2::before {
		left: 150px;
	}
	.thinright2::before {
		left: 145px;
	}
	.thinright2::after {
		left: 180px;
	}
	.studio-container {
		padding-bottom: 20px;
	}
	#cont-faq {
		margin: 0 5%;
	}
	#accordion {
		padding-bottom: 30px;
		font-size: 13px;
	}
	.box-link {
		margin: 30px;
		padding: 15px;
	}

	.footer-img img {
		height: 70px;
	}
	.footer {
		padding-top: 20px;
		padding-bottom: 0px;
	}
	.footer-img {
		margin-bottom: 15px;
	}
	.footer-list {
		font-size: 14px;
		font-weight: 600;
		list-style: none;
		display: block;
		border-bottom: 0;
		padding-bottom: 20px;
		width: 100%;
		margin: 0 auto;
		border-top: 1px solid #ffffff;
	}
	.footer-list li {
		padding: 20px 30px;
		border-bottom: 1px solid #ffffff;
	}
	.footer-studio-flex {
		width: 80%;
		margin: 20px 14% 0 6%;
		padding: 10px 20px;
		background: rgba(255, 255, 255, 0.3);
	}
	.footer-studio-flex a {
		border-bottom: 1px solid #e6dfe3;
		display: block;
		width: 100%;
		margin: 0 auto 5px;
		padding: 5px 0 10px 0;
	}
	.footer-top-flex {
		padding: 0;
		width: 100%;
		margin: 0 auto;
	}
	.footer-top-flex .icon {
		margin: 0 10%;
	}
	.contact {
		/*		background: #d85e66;*/
	}
	small {
		font-size: 10px;
		text-align: center;
		padding: 10px 0;
	}
	.pagetop {
		padding: 20px 0;
	}

	.pagetop a img {
		width: 50px;
	}

	/*	hamburger設定ここから*/

	.hamburger {
		position: fixed;
		display: block;
		width: 30px;
		height: 25px;
		top: 17px;
		right: 15px;
		z-index: 151;
	}
	.hamburger span {
		position: absolute;
		top: 50%;
		left: 0;
		display: block;
		width: 100%;
		height: 3px;
		background-color: #584f57;
		transform: translateY(-50%);
	}
	.hamburger::before {
		content: "";
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 3px;
		background-color: #584f57;
	}
	.hamburger::after {
		content: "";
		display: block;
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 3px;
		background-color: #584f57;
	}

	/*クリック後*/
	.hamburger.is-active span {
		opacity: 0;
		transition: all 0.3s;
	}
	.hamburger.is-active::before {
		transform: rotate(45deg);
		top: 10px;
		transition: all 0.3s;
		background: #584f57;
	}
	.hamburger.is-active::after {
		transform: rotate(135deg);
		top: 10px;
		transition: all 0.3s;
		background: #584f57;
	}
	.mb-nav {
		z-index: 151;
		position: fixed;
		top: 66px;
		right: 0px;
		width: 60%;
		margin: 0 0 0 40%;
		height: 100vh;
		display: block;
		background: rgba(151, 134, 148, 0.9);
		transition: all 0.3s ease-in-out;
		opacity: 0;
		transform: translateX(200%);
	}

	.mb-nav ul {
		padding-top: 10px;
		display: flex;
		flex-direction: column;
		justify-content: right;
		align-items: right;
		width: 100%;
		margin: 0;
		list-style: none;
	}
	#mb-nav li {
		text-align: center;
		border-bottom: 1px solid #584f57;
		/*	  border-bottom: 1px solid #fff;*/
		width: 90%;
		margin: 0 5%;
	}
	#mb-nav {
		border-bottom: 0;
	}
	.mb-nav li a {
		display: block;
		padding: 13px 0;
		color: #ffffff;
		font-size: 12px;
		text-decoration-line: none;
		text-align: center;
		text-decoration: none;
		/* font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif"; */
	}
	.mb-nav.is-active {
		opacity: 1;
		/*	position　がかかている場合は、margin　が効きません。　特殊な設定で、いくつかの方法があり、添付URLを参照*/
		top: 50%;
		left: 50%; /*boxの左上の点が親要素の真ん中にくる*/
	}

	#mb-nav .header__btn {
		border-bottom: none;	
		margin: 0;
		width: 100%;
	}
	#mb-nav .header__btn a {	
		margin: 0;
	}

	#mb-nav .border-delete {
		border: none;
	}

	.toggle {
		transform: translateY(0);
		opacity: 1;
	}

	.mb-nav.is-active {
		opacity: 0;
		/*	position　がかかている場合は、margin　が効きません。　特殊な設定で、いくつかの方法があり、添付URLを参照*/
		top: -50%;
		left: -50%; /*boxの左上の点が親要素の真ん中にくる*/
		transform: translateX(-50%);
		transform: translateY(-50%);
		/*boxの縦横半分ずつ戻した、これで、box自身が親要素の真ん中にくる*/
	}
	/*ここまでハンバーガーメニュー*/
}

/*PC用css*/
@media screen and (min-width: 600px) {
	.sp,
	.hamburger,
	.mb-nav {
		display: none;
	}
}

/*下層ページ、ニュース・代講、休講情報はここから*/

#news {
	/* font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif"; */
	font-weight: 300;
}
#news h2 {
	width: 100%;
	margin: 50px auto;
	text-align: center;
	font-weight: 600;
}
#newsnav {
	display: flex;
	max-width: 1000px;
	margin: 120px auto 0;
}

#newsnav a {
	font-size: 30px;
	width: 500px;
	/*	padding:10px 0 7px 0;*/
	border: 1px solid #635b62;
}
#news .tabContainer {
	margin-top: 30px;
	height: 700px;
}
#news h3 {
	margin: 0;
	border-bottom: 1px solid #635b62;
	padding-bottom: 5px;
	font-weight: 600;
}
.Tabcondent {
	border-top: none;
}
.tab-lists {
	background: #f7f5f7;
	padding: 20px;
}
#one dl,
#two dl {
	border-bottom: 1px solid #635b62;
}
.tab-lists dt {
	padding-top: 15px;
}
.tab-lists dd {
	margin-top: -1.8em;
	margin-left: 8em;
	font-size: 13px;
	padding-bottom: 15px;
	border-bottom: 1px solid #fff;
}
.tab-lists dd span {
	font-size: 1.2em;
	font-weight: 600;
	display: block;
	/*	margin-left: -10px;*/
}

/*下層ページ、ニュース・代講、休講情報のSP版cssはここから*/

@media only screen and (max-width: 767px) {
	#news h2 {
		margin: 30px auto;
	}
	#newsnav {
		display: flex;
		flex-wrap: wrap;
	}
	#newsnav a {
		width: 90%;
		margin: 0 5% 20px 5%;
		display: block;
	}
	.tabContainer {
		width: 90%;
		margin: 0 5%;
	}

	.tab-lists dt {
		padding-top: 12px;
	}
	.tab-lists dd {
		margin-top: 0em;
		margin-left: 0em;
		font-size: 12px;
		padding-bottom: 15px;
		border-bottom: 1px solid #fff;
	}
	.tab-lists dd span {
		font-size: 1em;
		font-weight: 600;
		display: block;
		margin-left: -10px;
		padding-left: 10px;
	}

	.tab-lists {
		background: #f7f5f7;
		padding: 10px;
	}
	#news .tabContainer {
		margin-top: 20px;
		height: 3200px;
	}
}

/*ページャー設定*/

#news ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.container {
	width: 1000px;
	height: auto;
	margin: 0 auto;
}
input {
	display: none;
}

.next img {
	width: 50px;
	padding-top: 3px;
	/* background: #fff; */
}

@media screen and (min-width: 768px) {
	#sp {
		display: none !important;
	}
}

@media only screen and (max-width: 767px) {
	.container {
		width: 100%;
		margin: 30px auto 0;
	}

	.pagetop {
		position: fixed;
		right: 0px;
		bottom: 0;
		shadow: 1px 1px 1px 3px #000;
	}

	.pc {
		display: none;
	}
}

/*ニュース、休講情報はここまで*/

/*料金表はここから*/

.bkred {
	backface: #d85e66;
}
.bkblack {
	background: #584f57;
	color: #fff;
}
.bkgrey {
	background: #f7f5f7;
}
.red {
	color: #d85e66;
}
.gold {
	color: #dcb70d;
}
.silver {
	color: #898f9c;
}
.big {
	font-size: 1.5em;
}
.small {
	font-size: 0.8em;
}

.white {
	color: #fff;
}
.left {
	text-align: left;
}
.margin-top {
	margin-top: 30px;
}

#price {
	width: 1200px;
	margin: 0 auto;
	margin-top: 50px;
	font-size: 15px;
	/* font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif"; */
}

#price p {
	margin: 10px 0;
}
#price h2,
#campaign p {
	width: 100%;
	text-align: center;
	/* font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif"; */
}
#price #campaign #trial {
	background: #d85e66;
	color: #fff;
	font-size: 26px;
	padding: 10px 0;
	width: 100%;
	margin: 0 auto;
}
#price section {
	width: 100%;
	margin: 0 auto;
}
#price #campaign {
	width: 70%;
	margin: 0 15%;
	border: 1px solid #b1b1b1;
}
#price h2 {
	font-size: 40px;
	margin-bottom: 40px;
}
#price h2 span {
	font-size: 16px;
	display: block;
}
#price h2 .small2 {
	font-size: 12px;
	margin-top: 30px;
}
#campaign h3 {
	background: #d85e66;
	color: #fff;
	text-align: center;
	font-size: 20px;
	padding: 10px;
}
#campaign section h3 {
	background: #584f57;
}
#campaign p {
	margin: 15px auto;
}
#price h4 {
	text-align: center;
	margin: 20px auto;
	font-size: 18px;
	font-weight: 600;
}
#price img {
	width: 60px;
	display: block;
	margin: 20px auto;
}

#pricedown {
	display: flex;
	flex-wrap: wrap;
	width: 70%;
	margin: 0 15%;
}
#pricedown dl {
	width: 49.763%;
	border: 1px solid #b1b1b1;
	margin-bottom: 20px;
}
#pricedown dt {
	text-align: center;
	height: 40px;
	padding: 10px 0;
	vertical-align: bottom;
}
#pricedown dd {
	text-align: center;
	height: 50px;
	padding: 10px 0;
}
#pricedown dl:nth-child(2) dt {
	line-height: 40px;
}
#price h3 {
	font-weight: 600;
	border-bottom: 1px solid #b1b1b1;
}
#ticket dl {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 40px;
}
#ticket dl dt,
#ticket dl dd {
	width: 31.5%;
	border: 1px solid #b1b1b1;
	margin: 0;
	line-height: 40px;
	padding-left: 20px;
	font-size: 12px;
	border-bottom: 0;
}
#ticket dl dd:last-child {
	border-bottom: 1px solid #b1b1b1;
}
#ticket dl dd:nth-last-of-type(2) {
	border-bottom: 1px solid #b1b1b1;
}
#ticket dl dt:nth-last-of-type(1) {
	border-bottom: 1px solid #b1b1b1;
}

#ticket dl dd {
	border-left: 0;
}

#goldsilver {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 40px;
}
#goldsilver dd {
	border: 1px solid #b1b1b1;
	margin: 0;
	line-height: 40px;
	padding-left: 20px;
	font-size: 12px;
	border-bottom: 0;
}
#goldsilver dd:first-child {
	border-top: 1px solid #b1b1b1;
}

#goldsilver dd:last-child {
	border-bottom: 1px solid #b1b1b1;
}
#goldsilver dd:nth-last-of-type(2) {
	border-bottom: 1px solid #b1b1b1;
}
#goldsilver dt:nth-last-of-type(1) {
	border-bottom: 1px solid #b1b1b1;
}

#goldsilver dt {
	width: 20%;
	line-height: 40px;
	font-size: 14px;
	text-align: center;
	padding: 15px 0 0 0;
}
#goldsilver dd {
	width: 36.5%;
	line-height: 1.3;
	padding: 10px 20px;
}
#goldsilver dd {
	border-left: 0;
}
/*
#goldsilver dd:nth-child(6) {
	padding-top:26px;
}
*/
#price section:nth-of-type(4),
#price section:nth-of-type(5),
#price section:nth-of-type(6),
#price section:nth-of-type(7) {
	margin-top: 30px;
}
#price section:nth-of-type(4) dl,
#price section:nth-of-type(5) dl,
#price section:nth-of-type(6) dl,
#price section:nth-of-type(7) dl {
	display: flex;
	flex-wrap: wrap;
}
#price section:nth-of-type(4) dt,
#price section:nth-of-type(5) dt,
#price section:nth-of-type(6) dt,
#price section:nth-of-type(7) dt {
	width: 40%;
	line-height: 35px;
	padding-left: 20px;
	border: 1px solid #b1b1b1;
	border-right: 0;
	border-bottom: 0;
}
#price section:nth-of-type(4) dt:nth-last-of-type(1) {
	border-bottom: 1px solid #b1b1b1;
}
#price section:nth-of-type(5) dt:nth-last-of-type(1) {
	border-bottom: 1px solid #b1b1b1;
}
#price section:nth-of-type(6) dt:nth-last-of-type(1) {
	border-bottom: 1px solid #b1b1b1;
}
#price section:nth-of-type(7) dt:nth-last-of-type(1) {
	border-bottom: 1px solid #b1b1b1;
}
#price section:nth-of-type(4) dd,
#price section:nth-of-type(5) dd,
#price section:nth-of-type(6) dd,
#price section:nth-of-type(7) dd {
	width: 56.5%;
	line-height: 35px;
	padding-left: 20px;
	border: 1px solid #b1b1b1;
	border-left: 0;
	border-bottom: 0;
}

#price section:nth-of-type(4) dd:nth-last-of-type(1) {
	border-bottom: 1px solid #b1b1b1;
}
#price section:nth-of-type(5) dd:nth-last-of-type(1) {
	border-bottom: 1px solid #b1b1b1;
}
#price section:nth-of-type(6) dd:nth-last-of-type(1) {
	border-bottom: 1px solid #b1b1b1;
}
#price section:nth-of-type(7) dd:nth-last-of-type(1) {
	border-bottom: 1px solid #b1b1b1;
}

@media screen and (max-width: 767px) {
	#price {
		width: 100%;
		margin: 0;
		margin-top: 40px;
	}
	#price #campaign {
		width: 90%;
		margin: 0 5%;
		border: 1px solid #b1b1b1;
	}
	#price #campaign #trial {
		background: #d85e66;
		color: #fff;
		text-align: center;
		font-size: 18px;
		padding: 10px 0;
		width: 100%;
		margin: 0 auto;
	}

	#price #campaign p {
		padding-left: 0;
	}
	.big {
		font-size: 1.2em;
	}
	#price h4 {
		font-size: 13px;
	}
	#price img {
		width: 40px;
	}
	#pricedown {
		width: 90%;
		margin: 0 5%;
	}
	#pricedown dl {
		width: 90%;
		margin: 0 5%;
		border: 1px solid #b1b1b1;
		margin-bottom: 10px;
	}
	#price p {
		padding-left: 20px;
		padding-right: 15px;
	}
	#price h3 {
		margin-left: 20px;
		margin-right: 20px;
	}
	#ticket dl {
		margin-bottom: 25px;
	}

	#ticket dl dt,
	#ticket dl dd {
		width: 90%;
		margin: 0 5%;
		border: 1px solid #b1b1b1;
		border-top: 0;
	}
	#ticket dl dt {
		border-top: 1px solid #b1b1b1;
	}

	#ticket dl dt {
		margin-top: 20px;
	}
	#ticket dl dt:first-child {
		margin-top: 0;
	}

	#ticket dl dd:nth-last-of-type(2) {
		display: none;
	}
	#ticket dl dd:nth-last-of-type(4) {
		display: none;
	}

	#goldsilver {
		margin-bottom: 30px;
	}
	#goldsilver dt {
		width: 90%;
		margin: 0 5%;
		padding: 4px 0 0 0;
	}
	#goldsilver dd {
		width: 90%;
		margin: 0 5%;
		line-height: 1.3;
		padding: 10px 20px;
		border-top: 0;
	}
	#goldsilver dd:nth-last-of-type(3) {
		border-top: 1px solid #b1b1b1;
	}
	#goldsilver dd {
		border-left: 1px solid #b1b1b1;
	}
	#goldsilver dd:last-child {
		padding-top: 12px;
	}
	#price section:nth-of-type(4),
	#price section:nth-of-type(5),
	#price section:nth-of-type(6),
	#price section:nth-of-type(7) {
		font-size: 12px;
	}
	#price section:nth-of-type(4) dt,
	#price section:nth-of-type(5) dt,
	#price section:nth-of-type(6) dt,
	#price section:nth-of-type(7) dt {
		width: 90%;
		margin: 0 5%;
		border-right: 1px solid #b1b1b1;
	}
	#price section:nth-of-type(4) dd,
	#price section:nth-of-type(5) dd,
	#price section:nth-of-type(6) dd,
	#price section:nth-of-type(7) dd {
		width: 90%;
		margin: 0 5%;
		border-left: 1px solid #b1b1b1;
	}

	#price section:nth-of-type(4) dd:last-child,
	#price section:nth-of-type(5) dd:last-child,
	#price section:nth-of-type(6) dd:last-child,
	#price section:nth-of-type(7) dd:last-child {
		border-top: 0;
	}
}

/*ここからインストラクター設定*/
#instructor .bold {
	font-weight: bold;
	position: relative;
	padding-left: 30px;
}

#instructor .bold:after {
	content: "";
	width: 20px;
	height: 4px;
	background: #c2aabd;
	position: absolute;
	left: 5px;
	top: 6px;
}
#instructor {
	display: flex;
	flex-wrap: wrap;
	width: 1200px;
	margin: 0 auto;
}

#instructor section {
	width: 250px;
	padding: 10px;
	margin: 0;
}
#instructor section h3 {
	font-size: 18px;
	background: #c2aabd;
	text-align: center;
	padding: 5px;
	color: #fff;
}
#instructor section p {
	margin: 10px 0;
	font-size: 14px;
}
#instructor section dl {
	margin: 10px 0 20px 0;
}
#instructor section dd {
	font-size: 13px;
}
#instructor section dt {
	padding: 5px 0;
}

@media screen and (max-width: 767px) {
	#instructor {
		display: flex;
		flex-wrap: wrap;
		width: 90%;
		margin: 0 5%;
		margin: 0 auto;
	}

	#instructor section {
		width: 100%;
		margin: 0 auto;
		padding: 10px 5px 30px 5px;
	}

	#instructor section p {
		font-size: 13px;
	}

	#instructor section dd {
		font-size: 12px;
	}
	#instructor section img {
		width: 100%;
		margin: 0 auto;
	}

	#instructor section dt {
		width: 100%;
		margin: 0 auto;
		text-align: center;
	}
	#instructor .bold {
		padding-left: 0;
		font-size: 15px;
	}
	#instructor .bold:after {
		width: 135px;
		left: -150px;
		top: 6px;
	}

	#instructor .bold:before {
		content: "";
		width: 135px;
		height: 4px;
		background: #c2aabd;
		position: absolute;
		right: -150px;
		top: 6px;
	}
}

/*ここからスタジオ設定*/
.lavender {
	color: #c2aabd;
}
#studio {
	width: 1200px;
	margin: 0 auto;
}
#address {
	display: flex;
	flex-wrap: wrap;
	padding-top: 30px;
}
#address div {
	width: 50%;
}
#address div img {
	width: 90%;
}
#studio #address .lavender {
	text-align: left;
	padding-bottom: 10px;
	border-bottom: 2px solid #c2aabd;
	padding-top: 50px;
	padding-left: 15px;
}
#studio #address div #tel {
	width: 13px;
	display: inline;
	text-align: left;
	margin: 0;
	padding: 0;
}
#address div p {
	padding-top: 15px;
	padding-left: 15px;
}
#studio h4 {
	width: 100%;
	margin: 30px auto;
	text-align: center;
	font-size: 18px;
}
#studio #class1 {
	background: #f7f5f7;
	border: 1px solid #f7f5f7;
	margin-top: 30px;
	/* font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif"; */
	font-size: 14px;
	line-height: 1.8;
}
#studio #class2 {
	display: flex;
	flex-wrap: wrap;
	padding: 0 15px 30px 30px;
}
#studio #class2 div {
	width: 25%;
}
#studio .ggmap {
	width: 100%;
	margin: 40px auto;
}
#studio iframe {
	width: 100%;
}
@media screen and (max-width: 767px) {
	#studio {
		width: 90%;
		margin: 0 5%;
	}
	#address {
		display: flex;
		flex-wrap: wrap;
		padding-top: 5px;
	}
	#address div {
		width: 100%;
	}
	#address div img {
		width: 100%;
		margin: 0 auto;
	}
	#studio #address .lavender {
		text-align: center;
		padding-top: 10px;
		padding-left: 0px;
	}
	#studio #address div #tel {
		width: 13px;
		text-align: center;
		font-size: 18px;
	}

	#address div p {
		text-align: center;
		padding: 10px 0;
	}
	#address div p:last-child {
		text-align: left;
	}
	#studio h4 {
		margin: 20px auto;
	}
	#studio #class1 {
		margin-top: 30px;
		font-size: 14px;
		line-height: 1.8;
	}
	#studio #class2 {
		display: flex;
		flex-wrap: wrap;
		padding: 0 15px 30px 30px;
	}
	#studio #class2 div {
		width: 90%;
		margin: 0 5%;
	}
	#studio .ggmap {
		margin: 20px auto;
	}
}

/*ここからはclass設定*/

#aboutclass {
	width: 1200px;
	margin: 0 auto;
	/* font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif"; */
}
#level {
	text-align: center;
	position: relative;
	margin-bottom: 30px;
}
#level:before {
	content: "";
	background: #584f57;
	position: absolute;
	top: 12px;
	left: 130px;
	width: 30%;
	height: 1px;
}
#level:after {
	content: "";
	background: #584f57;
	position: absolute;
	top: 12px;
	right: 130px;
	width: 30%;
	height: 1px;
}
#level1234 {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 80px;
}
#level1234 img {
	display: flex;
	flex-wrap: wrap;
	width: 288px;
	height: intrinsic;
	padding: 0 0px;
}
#level4 img {
	height: 22px;
}
#aboutclass .level {
	text-align: center;
	position: relative;
	margin-bottom: 10px;
	font-weight: 400;
}

#aboutclass .level:before {
	content: "";
	background: #584f57;
	position: absolute;
	top: 12px;
	left: 220px;
	width: 20%;
	height: 1px;
}
#aboutclass .level:after {
	content: "";
	background: #584f57;
	position: absolute;
	top: 12px;
	right: 250px;
	width: 20%;
	height: 1px;
}

#aboutclass #level4:before {
	content: "";
	background: #584f57;
	position: absolute;
	top: 12px;
	left: 220px;
	width: 20%;
	height: 1px;
}
#aboutclass #level4:after {
	content: "";
	background: #584f57;
	position: absolute;
	top: 12px;
	right: 250px;
	width: 20%;
	height: 1px;
}

@media screen and (max-width: 767px) {
	#aboutclass {
		width: 90%;
		margin: 0 5%;
	}
	#level {
		margin-bottom: 20px;
	}
	#level:before {
		left: 5px;
		width: 17%;
	}
	#level:after {
		right: 5px;
		width: 17%;
	}
	#level1234 {
		display: flex;
		flex-wrap: wrap;
		margin-bottom: 30px;
	}
	#level1234 img {
		width: 100%;
		margin: 0 auto;
		padding-bottom: 20px;
	}
	#aboutclass .level {
		margin-bottom: 15px;
	}
	#aboutclass .level:before {
		left: 5px;
		width: 20%;
	}
	#aboutclass .level:after {
		right: 5px;
		width: 20%;
	}

	#aboutclass #level4:before {
		left: 5px;
		width: 20%;
		height: 1px;
	}
	#aboutclass #level4:after {
		top: 12px;
		right: 5px;
		width: 20%;
		height: 1px;
	}
}

/* 質問 */
.question {
	color: green;
}
.answer {
	color: red;
}

/* ヘッダ-のプルダウン */
.header-list .add {
	position: relative;
}
.header-list .add ul.child {
	position: absolute;
	top: 34px;
	left: -2px;
	width: 114px;
	height: 125px;
	z-index: 10;
	background-color: #e6dfe3;
}
.header-list .add ul.child::before {
	content: "▲";
	position: absolute;
	top: -14px;
	padding-right: 19px;
	padding-left: 20px;
	color: #e6dfe3;
}
.header-list .add ul.child li {
	line-height: 2.5;
	padding-left: 10px;
}
.header-list .add ul.child li a {
	margin-right: 0;
}
.child li a {
	color: #584f57;
}
.studio-button {
	position: relative;
}
.studio-button::after {
	content: "";
	display: block;
	position: absolute;
	top: calc(50% - 5px);
	right: 0;
	width: 4px;
	height: 4px;
	border: 2px solid;
	border-color: transparent transparent #8a8188 #8a8188;
	transform: rotate(-135deg);
	transition: 0.3s;
}
.footer-top-flex {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	padding-top: 20px;
}

.footer__btn {
	margin: 0;
	margin-left: 20px;
}
.footer__btn:first-of-type {
	margin-left: 40px;
}
.footer-icon__wrapper {
	margin: 0;
}
.footer__icon:last-of-type {
	margin-left: 13px;
}
.mr-65 {
	margin-right: 65px;
}
/* 修正sp */
@media screen and (max-width: 599px) {
	.header-left {
		position: fixed;
		top: 20px;
		left: -8px;
		z-index: 100;
	}
	/* ヘッダープルダウン */
	#mb-nav .add {
		margin: 0;
		width: 100%;
		border-bottom: none;
	}
	#mb-nav .child {
		padding: 0;
		background-color: #e6dfe3;
	}
	#mb-nav .child li:last-of-type {
		border-bottom: none;
	}
	.studio-button::after {
		display: none;
	}
	.mr-65 {
		margin: 0;
	}
	.footer-top-flex {
		flex-direction: column;
		justify-content: center;
		padding-bottom: 40px;
	}
	.footer__btn {
		margin: 0;
		width: 75%;
		padding: 10px 8px;
		font-size: 14px;
		margin-bottom: 20px;
		text-align: center;
	}
	.footer__btn:first-of-type {
		margin-left: 0;
	}
	.footer-icon__wrapper {
		width: 75%;
		display: flex;
		justify-content: flex-start;
		margin-bottom: 20px;
	}
	.footer__icon {
		margin: 0;
	}
}
