@charset "UTF-8";

/* 共通 */
#page_ttl {
	width: 100%;
	height: 13em;
	margin: 0 auto;
	display: flex;
	justify-content: center;
	align-items: center;
}
	main.class #page_ttl {
		background: url(../images/class/sp_page_ttl_bg.png) top 0 right 0 / cover no-repeat ,#FFF9F4;
		border-top: 1px solid #E7596A;
	}
	main.instructor #page_ttl {
		background: url(../images/instructor/sp_page_ttl_bg.png) top 0 right 0 / cover no-repeat ,#FEFDF1;
		border-top: 1px solid #E48332;
	}
	main.gallery #page_ttl {
		background: url(../images/gallery/sp_page_ttl_bg.png) top 0 right 0 / cover no-repeat ,#F7FEF1;
		border-top: 1px solid #0CBC60;
	}
	main.about #page_ttl {
		background: url(../images/about/sp_page_ttl_bg.png) top 0 right 0 / cover no-repeat ,#F1F8FE;
		border-top: 1px solid #4A93DB;
	}
	main.qa #page_ttl {
		background: url(../images/qa/sp_page_ttl_bg.png) top 0 right 0 / cover no-repeat ,#F1F8FE;
		border-top: 1px solid #A565B6;
	}
	#page_ttl h2 {
		margin: 0;
		padding: 0;
		font-size: 7.6vw;
		line-height: 120%;
		font-weight: 900;
		position: relative;
		z-index: 1;
	}
		main.class #page_ttl h2:before {
			position: absolute;
			content: '';
			display: block;
			width: 2.6em;
			height: 2.6em;
			background: url(../images/mark/mark1.png) center / contain no-repeat;
			top: -0.6em;
			left: -3em;
		}
		main.instructor #page_ttl h2:before {
			position: absolute;
			content: '';
			display: block;
			width: 2.6em;
			height: 2.6em;
			background: url(../images/mark/mark2.png) center / contain no-repeat;
			top: -0.6em;
			left: -2.7em;
		}
		main.gallery #page_ttl h2:before {
			position: absolute;
			content: '';
			display: block;
			width: 2.6em;
			height: 2.6em;
			background: url(../images/mark/mark14.png) center / contain no-repeat;
			top: -0.6em;
			left: -2.7em;
		}
		main.about #page_ttl h2:before {
			position: absolute;
			content: '';
			display: block;
			width: 2.6em;
			height: 2.6em;
			background: url(../images/mark/mark15.png) center / contain no-repeat;
			top: -0.8em;
			left: -1.7em;
			z-index: -1;
		}
		main.qa #page_ttl h2:before {
			position: absolute;
			content: '';
			display: block;
			width: 2.6em;
			height: 2.6em;
			background: url(../images/mark/mark8.png) center / contain no-repeat;
			top: -0.6em;
			left: -2.7em;
		}
		#page_ttl h2 span {
			display: block;
			margin: 0 auto;
			font-size: 3.2vw;
			line-height: 120%;
		}
			main.class #page_ttl h2 span {
				color: #E7596A;
			}
			main.instructor #page_ttl h2 span {
				color: #E48332;
			}
			main.gallery #page_ttl h2 span {
				color: #0CBC60;
			}
			main.about #page_ttl h2 span {
				color: #4A92DA;
			}
			main.qa #page_ttl h2 span {
				color: #A565B6;
			}

/* コンテンツ */
div.contents_in {
	width: 100%;
	margin: 0 auto;
	padding: 0 3%;
}

/* 余白 */
.mt_0 {margin:0}
.mt_80 {margin:15% 0 0}

.mt0 {margin:0 auto}
.mt30 {margin:5% auto 0}
.mt40 {margin:10% auto 0}
.mt50 {margin:10% auto 0}
.mt60 {margin:12% auto 0}
.mt70 {margin:15% auto 0}
.mt80 {margin:15% auto 0}
.mt90 {margin:15% auto 0}
.mt100 {margin:15% auto 0}
.mt110 {margin:20% auto 0}
.mt150 {margin:20% auto 0}


/*====================================
クラス紹介
=====================================*/
main.class a {
	display: inline-block;
	padding-left: 1em;
	position: relative;
}
	main.class a:before {
		position: absolute;
		content: '';
		display: block;
		width: 0.6em;
		height: 1.2em;
		margin: 0;
		padding: 0;
		background: url("../images/icon/arrow_1.png") top left / contain no-repeat;
		top: 0.4em;
		left: 0;
	}
div.lesson_top {
	width: 100%;
	margin: 0 auto;
	padding: 0 3%;
}
	div.lesson_top h3 {
		margin: 0 auto;
		padding: 0;
		font-size: 5.4vw;
		line-height: 160%;
		font-weight: 900;
		color: #E7596A;
	}
	div.lesson_top p {
		margin: 5% auto 0;
		padding: 0;
		text-align: left;
	}
	div.lesson_top small {
		display: block;
		margin: 5% auto 0;
		padding: 0 0 0 1em;
		text-indent: -1em;
		font-size: 3.2vw;
		text-align: left;
	}
div.lesson_cont {
	padding: 20% 0;
}
	div.lesson_cont.lesson1 {
		background: url(../images/background/bg2.png) top 0 right -12em / auto 15em no-repeat ,#FFF9F4;
	}
	div.lesson_cont.lesson2 {
		background: url(../images/background/bg3.png) top 0 left -10em / auto 15em no-repeat ,#FEFDF1;
	}
	div.lesson_cont h3 {
		margin: 0 auto;
		padding: 0;
		font-size: 7.6vw;
		line-height: 120%;
		font-weight: 900;
		position: relative;
		z-index: 1;
	}
		div.lesson_cont h3 span {
			position: absolute;
			content: '';
			display: block;
			margin: auto;
			padding: 0;
			font-size: 12.0vw;
			line-height: 120%;
			font-weight: 700;
			white-space: nowrap;
			bottom: -0.6em;
			left: 50%;
			transform: translateX(-50%);
			-webkit- transform: translateX(-50%);
			z-index: -1;
		}
			div.lesson_cont.lesson1 h3 span {
				color: #FCE9E6;
			}
			div.lesson_cont.lesson2 h3 span {
				color: #fbf1de;
			}
	div.lesson_cont p.instructor_link {
		padding: 0;
	}

	/* クラス紹介ボックス */
	div.lesson_cont div.lesson_box {
		width: 100%;
		padding: 0;
		position: relative;
		overflow: hidden;
	}
		div.lesson_cont div.lesson_box div.box_in {
			width: 100%;
			margin: 0;
			padding: 10% 10% 8%;
			background: #fff;
			position: relative;
		}
			div.lesson_cont div.lesson_box:before, div.lesson_cont div.lesson_box:after,
			div.lesson_cont div.lesson_box div.box_in:before, div.lesson_cont div.lesson_box div.box_in:after {
				content:'';
				position: absolute;
				width: 4em;
				height: 4em;
				border-radius: 50%;
				background: #FFF9F4;
			}
			div.lesson_cont div.lesson_box:before {
				top: -1.9em;
				left: -1.85em;
				z-index: 1;
			}
			div.lesson_cont div.lesson_box:after {
				top: -1.9em;
				right: -1.80em;
				z-index: 1;
			}

			div.lesson_cont div.lesson_box div.box_in:before {
				bottom: -2.15em;
				left: -2.2em;
				z-index: 1;
			}

			div.lesson_cont div.lesson_box div.box_in:after {
				bottom: -2.15em;
				right: -2.25em;
				z-index: 1;
			}
		div.lesson_cont div.lesson_box.box1 div.box_in {
			border: 5px solid #f6aca6;
			border-image: linear-gradient(to bottom, #f6aca6 0%, #f6aca6 2em, #f9d6ce calc(100% - 2em), #f9d6ce 100%);
			border-image-slice: 1;
		}
			div.lesson_cont div.lesson_box.box1:before {
				border: 5px solid #f6aca6;
			}
			div.lesson_cont div.lesson_box.box1:after {
				border: 5px solid #f6aca6;
			}

			div.lesson_cont div.lesson_box.box1 div:before {
				border: 5px solid #f9d6ce;
			}

			div.lesson_cont div.lesson_box.box1 div:after {
				border: 5px solid #f9d6ce;
			}
		div.lesson_cont div.lesson_box.box2 div.box_in {
			border: 5px solid #fbdba6;
			border-image: linear-gradient(to bottom, #fbdba6 0%, #fbdba6 2em, #f9eeb8 calc(100% - 2em), #f9eeb8 100%);
			border-image-slice: 1;
		}
			div.lesson_cont div.lesson_box.box2:before {
				border: 5px solid #fbdba6;
			}
			div.lesson_cont div.lesson_box.box2:after {
				border: 5px solid #fbdba6;
			}

			div.lesson_cont div.lesson_box.box2 div:before {
				border: 5px solid #f9eeb8;
			}

			div.lesson_cont div.lesson_box.box2 div:after {
				border: 5px solid #f9eeb8;
			}
		div.lesson_cont div.lesson_box.box3 div.box_in {
			border: 5px solid #c5e8ac;
			border-image: linear-gradient(to bottom, #c5e8ac 0%, #c5e8ac 2em, #ecf5ce calc(100% - 2em), #ecf5ce 100%);
			border-image-slice: 1;
		}
			div.lesson_cont div.lesson_box.box3:before {
				border: 5px solid #c5e8ac;
			}
			div.lesson_cont div.lesson_box.box3:after {
				border: 5px solid #c5e8ac;
			}

			div.lesson_cont div.lesson_box.box3 div:before {
				border: 5px solid #ecf5ce;
			}

			div.lesson_cont div.lesson_box.box3 div:after {
				border: 5px solid #ecf5ce;
			}
		div.lesson_cont div.lesson_box.box4 div.box_in {
			border: 5px solid #a2d5f4;
			border-image: linear-gradient(to bottom, #a2d5f4 0%, #a2d5f4 2em, #cbeef8 calc(100% - 2em), #cbeef8 100%);
			border-image-slice: 1;
		}
			div.lesson_cont div.lesson_box.box4:before {
				border: 5px solid #a2d5f4;
			}
			div.lesson_cont div.lesson_box.box4:after {
				border: 5px solid #a2d5f4;
			}

			div.lesson_cont div.lesson_box.box4 div:before {
				border: 5px solid #cbeef8;
			}

			div.lesson_cont div.lesson_box.box4 div:after {
				border: 5px solid #cbeef8;
			}
		div.lesson_cont div.lesson_box.box5 div.box_in {
			border: 5px solid #AD8ECE;
			border-image: linear-gradient(to bottom, #AD8ECE 0%, #AD8ECE 2em, #DDCBF1 calc(100% - 2em), #DDCBF1 100%);
			border-image-slice: 1;
		}
			div.lesson_cont div.lesson_box.box5:before {
				border: 5px solid #AD8ECE;
			}
			div.lesson_cont div.lesson_box.box5:after {
				border: 5px solid #AD8ECE;
			}

			div.lesson_cont div.lesson_box.box5 div:before {
				border: 5px solid #DDCBF1;
			}

			div.lesson_cont div.lesson_box.box5 div:after {
				border: 5px solid #DDCBF1;
			}

		/* ボックスの中 */
		div.lesson_cont div.lesson_box div.box_in .txt {
			text-align: left;
		}
			div.lesson_cont div.lesson_box div.box_in .txt.width50 {
				width: 100%;
			}
			div.lesson_cont div.lesson_box div.box_in .txt.width100 {
				width: 100%;
			}
			div.lesson_cont div.lesson_box div.box_in .txt h4 {
				margin: 0;
				padding-left: 1.5em;
				font-size: 5.4vw;
				line-height: 140%;
				font-weight: 900;
				white-space: nowrap;
				position: relative;
				z-index: 1;
			}
				div.lesson_cont div.lesson_box.box1 div.box_in .txt h4 {
					color: #E7596A;
				}
				div.lesson_cont div.lesson_box.box2 div.box_in .txt h4 {
					color: #E48332;
				}
				div.lesson_cont div.lesson_box.box3 div.box_in .txt h4 {
					color: #44B23B;
				}
				div.lesson_cont div.lesson_box.box4 div.box_in .txt h4 {
					color: #4A93DB;
				}
				div.lesson_cont div.lesson_box.box5 div.box_in .txt h4 {
					color: #A565B6;
				}
				div.lesson_cont div.lesson_box div.box_in .txt h4:before {
					position: absolute;
					content: '';
					display: block;
					margin: 0;
					z-index: -1;
				}
					div.lesson_cont div.lesson_box.box1 div.box_in .txt h4:before {
						width: 2.3em;
						height: 2.3em;
						background: url(../images/mark/mark9.png) center / contain no-repeat;
						top: -0.4em;
						left: 0;
					}
					div.lesson_cont div.lesson_box.box2 div.box_in .txt h4:before {
						width: 2.3em;
						height: 2.3em;
						background: url(../images/mark/mark10.png) center / contain no-repeat;
						top: -0.4em;
						left: 0;
					}
					div.lesson_cont div.lesson_box.box3 div.box_in .txt h4:before {
						width: 2.3em;
						height: 2.3em;
						background: url(../images/mark/mark11.png) center / contain no-repeat;
						top: -0.4em;
						left: 0;
					}
					div.lesson_cont div.lesson_box.box4 div.box_in .txt h4:before {
						width: 2.3em;
						height: 2.3em;
						background: url(../images/mark/mark12.png) center / contain no-repeat;
						top: -0.4em;
						left: 0;
					}
					div.lesson_cont div.lesson_box.box5 div.box_in .txt h4:before {
						width: 2.3em;
						height: 2.3em;
						background: url(../images/mark/mark13.png) center / contain no-repeat;
						top: -0.4em;
						left: 0;
					}
			div.lesson_cont div.lesson_box div.box_in .txt h5 {
				margin: 0;
				padding-left: 1.2em;
				font-size: 4.6vw;
				line-height: 160%;
				font-weight: 900;
				color: #4A92DA;
				position: relative;
				z-index: 1;
			}
				div.lesson_cont div.lesson_box div.box_in .txt h5:before {
					position: absolute;
					content: '';
					display: block;
					width: 1.6em;
					height: 1.6em;
					margin: 0;
					background: url(../images/mark/mark_s5.png) center / contain no-repeat;
					top: 0;
					left: 0;
					z-index: -1;
					}
			div.lesson_cont div.lesson_box div.box_in .txt p {
				margin: 5% 0 0;
			}
				div.lesson_cont div.lesson_box div.box_in .txt h5 + p {
					margin: 3% 0 0;
				}
			div.lesson_cont div.lesson_box div.box_in .txt dl {
				margin: 5% 0 0;
				display: flex;
				flex-wrap: wrap;
			}
				div.lesson_cont div.lesson_box div.box_in .txt dl dt {
					width: 30%;
					margin: 3% 0 0;
					padding: 2% 3%;
					background: #F3F1ED;
					display: flex;
					justify-content: center;
					align-items: center;
				}
				div.lesson_cont div.lesson_box div.box_in .txt dl dd {
					width: 70%;
					margin: 4.5% 0 0;
					padding: 0 0 0 3%
				}
		div.lesson_cont div.lesson_box div.box_in .img {
			width: 100%;
			margin: 8% auto 0;
		}
			div.lesson_cont div.lesson_box div.box_in .img img {
				width: 100%;
				height: auto;
			}

div.lesson_other {
	padding: 15% 5%;
}
	div.lesson_other h3 {
		margin: 0 auto;
		font-size: 5.4vw;
		line-height: 140%;
		font-weight: 900;
	}
	div.lesson_other dl {
		margin: 5% 0 0;
		display: flex;
		flex-wrap: wrap;
	}
		div.lesson_other dl dt {
			width: 26%;
			margin: 3% 0 0;
			padding: 2% 3%;
			background: #F3F1ED;
		}
		div.lesson_other dl dd {
			width: 74%;
			margin: 4.5% 0 0;
			padding: 0 0 0 3%;
			text-align: left;
		}


/*====================================
指導者紹介
=====================================*/
div.instructor_top {
	width: 100%;
	margin: 0 auto;
	padding: 0 3%;
}
	div.instructor_top p {
		margin: 3% auto 0;
		padding: 0;
		text-align: left;
	}
		div.instructor_top p:first-of-type {
			margin: 0 auto;
		}
div.instructor_cont {
	padding: 20% 0;
}
	div.instructor_cont.bg {
		background: #FEFDF1;
	}
	div.instructor_cont h3 {
		margin: 0 auto;
		font-size: 7.2vw;
		line-height: 120%;
		font-weight: 700;
	}
	div.instructor_cont div.inst {

	}
		div.instructor_cont div.inst h5 {
			margin: 0 auto;
			font-size: 6.0vw;
			line-height: 160%;
			color: #E48332;
			font-weight: 700;
		}
			div.instructor_cont div.inst h5 span {
				display: block;
				margin: 0 auto;
				font-size: 2.6vw;
				line-height: 120%;
			}
		div.instructor_cont div.inst .instructor_img {
			display: inline-block;
			margin: 5% auto 0;
			position: relative;
			z-index: 1;
		}
			div.instructor_cont div.inst .instructor_img img {
				width: 75%;
				height: auto;
			}
			div.instructor_cont div.inst .instructor_img:before {
				position: absolute;
				content: '';
				margin: auto;
			}
			div.instructor_cont #instructor1 .instructor_img:before {
				width: 90%;
				height: 90%;
				margin: 0;
				background: url(../images/instructor/instructor_bg1.png) center / contain no-repeat;
				top: -0.2em;
				right: -3em;
				z-index: -1;
			}
			div.instructor_cont #instructor2 .instructor_img:before {
				width: 90%;
				height: 90%;
				margin: 0;
				background: url(../images/instructor/instructor_bg2.png) center / contain no-repeat;
				bottom: -0.2em;
				left: -2em;
				z-index: -1;
			}
			div.instructor_cont #instructor3 .instructor_img:before {
				width: 100%;
				height: 90%;
				margin: 0;
				background: url(../images/instructor/instructor_bg3.png) center / contain no-repeat;
				bottom: -0.2em;
				right: -2em;
				z-index: -1;
			}
			div.instructor_cont #instructor4 .instructor_img:before {
				width: 90%;
				height: 90%;
				margin: 0;
				background: url(../images/instructor/instructor_bg4.png) center / contain no-repeat;
				top: -0.2em;
				right: -3em;
				z-index: -1;
			}
			div.instructor_cont #instructor5 .instructor_img:before {
				width: 90%;
				height: 90%;
				margin: 0;
				background: url(../images/instructor/instructor_bg2.png) center / contain no-repeat;
				top: 0;
				left: -2em;
				z-index: -1;
			}
		div.instructor_cont div.inst div.instructor_main {
			width: 100%;
			margin: 10% auto 0;
			padding: 5% 0 0;
			text-align: left;
			position: relative;
			z-index: 1;
		}
			div.instructor_cont div.inst div.instructor_main .bg_img {
				position: absolute;
				display: block;
				margin: 0;
				top: 0;
				left: -5%;
				z-index: -1;
			}
				div.instructor_cont div.inst div.instructor_main .bg_img img {
					width: 50%;
					height: auto;
				}
		div.instructor_cont div.inst div.instructor_main p {
			margin: 5% auto 0;
		}
			div.instructor_cont div.inst div.instructor_main p.top {
				margin: 3% auto 0;
			}
			div.instructor_cont div.inst div.instructor_main p.left_p {
				padding-left: 30% !important;
			}
			div.instructor_cont div.inst div.instructor_main p.height_l {
				line-height: 200%;
			}
		div.instructor_cont div.inst div.instructor_main dl {
			margin: 0 auto;
			padding: 8% 0 0;
			display: flex;
			flex-wrap: wrap;
		}
			div.instructor_cont div.inst div.instructor_main dl dt {
				width: 4.5em;
				margin: 3% 0 0;
			}
			div.instructor_cont div.inst div.instructor_main dl dd {
				width: calc(100% - 4.5em);
				margin: 3% 0 0;
			}
		div.instructor_cont div.inst h6 {
			margin: 15% 0 0;
			padding-left: 1.5em;
			font-size: 4.4vw;
			line-height: 160%;
			font-weight: 500;
			text-align: left;
			position: relative;
			z-index: 1;
		}
			div.instructor_cont div.inst h6:before {
				position: absolute;
				content: '';
				display: block;
				width: 41.3%;
				height: 0;
				margin: 0;
				padding-bottom: 11.94%;
				background: url(../images/instructor/thought_bg1.png) left top / contain no-repeat;
				top: -0.35em;
				left: 0;
				z-index: -1;
			}
			div.instructor_cont.bg div.inst h6:before {
				position: absolute;
				content: '';
				display: block;
				width: 41.3%;
				height: 0;
				margin: 0;
				padding-bottom: 11.94%;
				background: url(../images/instructor/thought_bg2.png) left top / contain no-repeat;
				top: -0.35em;
				left: 0;
				z-index: -1;
			}
		div.instructor_cont div.inst .thought {
			margin: 5% 0 0;
		}
			div.instructor_cont div.inst .thought .img {
				width: 50%;
				margin: 0;
				padding: 0 0 1% 3%;
				float: right;
			}
				div.instructor_cont div.inst .thought .img img {
					width: 100%;
					height: auto;
				}
			div.instructor_cont div.inst .thought .txt {
				margin: 0;
				text-align: left;
			}
				div.instructor_cont div.inst .thought .txt p {
					margin: 5% 0 0;
				}
					div.instructor_cont div.inst .thought .txt p:first-of-type {
						margin: 0;
					}
		div.instructor_cont div.inst div.instructor_sub {
			margin: 10% auto 0;
			text-align: left;
		}
	div.instructor_cont .bar {
		width: 70%;
		height: 1px;
		margin: 25% auto;
		background: #DAD2BE;
	}


/*====================================
ギャラリー
=====================================*/
div.gallery_cont {
	margin: 0 auto;
}
	div.gallery_cont div.gallery_year {
		margin: 0 auto;
		padding: 20% 3%;
	}
		div.gallery_cont div.gallery_year:first-of-type {
			margin: 0 auto;
			padding: 0 3% 20%;
		}
		div.gallery_cont div.gallery_year:nth-of-type(even) {
			background: url(../images/gallery/sp_cont_bg.png) center top / cover no-repeat ,#F7FEF1;
		}
	div.gallery_cont div.gallery_year h3 {
		margin: 0 auto;
		font-size: 7.6vw;
		line-height: 1.6em;
		color: #44B23A;
		font-weight: 700;
		background: url(../images/gallery/year_bg.png) center / auto 1.6em no-repeat;
	}
	div.gallery_cont div.gallery_year .stage_ttl {
	}
		div.gallery_cont div.gallery_year .stage_ttl h4 {
			display: inline-block;
			margin: 0 auto;
			font-size: 5.4vw;
			line-height: 160%;
			font-weight: 700;
			position: relative;
			z-index: 1;
		}
			div.gallery_cont div.gallery_year .stage_ttl h4:before {
				position: absolute;
				content: '';
				display: block;
				width: 2.2em;
				height: 2.2em;
				margin: 0;
				background: url(../images/mark/mark_s6.png) center / contain no-repeat;
				top: -0.2em;
				left: -1.7em;
				z-index: -1;
			}
	div.gallery_cont div.gallery_year .stage_sub_ttl {
	}
		div.gallery_cont div.gallery_year .stage_sub_ttl h5 {
			display: inline-block;
			margin: 0 auto;
			font-size: 5.4vw;
			line-height: 160%;
			font-weight: 700;
			position: relative;
			z-index: 1;
		}
			div.gallery_cont div.gallery_year .stage_sub_ttl h5:before {
				position: absolute;
				content: '';
				display: block;
				width: 2.0em;
				height: 2.0em;
				margin: 0;
				background: url(../images/mark/mark_s7.png) center / contain no-repeat;
				top: -0.2em;
				left: -1.4em;
				z-index: -1;
			}
		div.gallery_cont div.gallery_year ul.stage_list {
			width: 100%;
			list-style: none;
			text-align: left;
		}
			div.gallery_cont div.gallery_year ul.stage_list li {
				margin: 0.2em 3% 0 3%;
				padding-left: 0.5em;
				text-indent: -0.5em;
			}
				div.gallery_cont div.gallery_year ul.stage_list li:before {
					display: inline-block;
					content: '・';
					margin: 0;
				}
		div.gallery_cont div.gallery_year .youtube {
			width: 100%;
			height: 0;
			margin: 10% auto 0;
			padding: 0 0 56.22%;
			position: relative;
		}
			div.gallery_cont div.gallery_year .youtube iframe {
				position: absolute;
				width: 100%;
				height: 100%;
				margin: 0;
				top: 0;
				left: 0;
			}


/*====================================
教室のあゆみ・実績
=====================================*/
div.about_top {
	width: 100%;
	margin: 0 auto;
	padding: 0 3% 20%;
}
	div.about_top h3 {
		margin: 0 auto;
		font-size: 7.2vw;
		line-height: 120%;
		font-weight: 700;
	}
	div.about_top div.top_cont {
		margin: 15% auto 0;
		display: flex;
		flex-wrap: wrap;
	}
		div.about_top div.top_cont .txt {
			width: 100%;
			margin: 0;
			text-align: left;
			order: 1;
		}
			div.about_top div.top_cont .txt p {
				margin: 5% 0 0;
			}
				div.about_top div.top_cont .txt p:first-of-type {
					margin: 0;
				}
			div.about_top div.top_cont .txt h4 {
				display: inline-block;
				margin: 15% 0 0;
				padding: 2% 5%;
				background: #F3F1ED;
				font-weight: 700;
			}
				div.about_top div.top_cont .txt h4 + p {
					margin: 3% 0 0;
				}
		div.about_top div.top_cont .img {
			width: 80%;
			margin: 5% auto 0;
			text-align: center;
			order: 3;
		}
			div.about_top div.top_cont .img img {
				width: 100%;
				height: auto;
			}
		div.about_top div.top_cont .example {
			width: 100%;
			margin: 5% 0 0;
			text-align: left;
			order: 2;
		}
div.about_history {
	width: 100%;
	margin: 0 auto;
	padding: 0 3% 20%;
	text-align: left;
}
	div.about_history h3 {
		margin: 0 auto;
		font-size: 12vw;
		line-height: 120%;
		color: #edf4fb;
		font-weight: 700;
		font-style: italic;
	}
	div.about_history .history_in {
		padding: 5% 0 0;
	}
	div.about_history div.history_box {
		background: #fff;
	}
		div.about_history div.history_box:nth-of-type(odd) {
			margin: 5% 0 0 10%;
		}
		div.about_history div.history_box:nth-of-type(even) {
			margin: 5% 0 0 18%;
		}
		div.about_history div.history_box .txt {
			width: 100%;
			margin: 0;
			padding: 0;
		}
			div.about_history div.history_box .txt h4 {
				margin: 0;
				font-size: 7vw;
				line-height: 180%;
				font-weight: 700;
				font-style: italic;
				position: relative;
				z-index: 1;
			}
				div.about_history div.history_box .txt h4:before {
					position: absolute;
					content: '';
					display: block;
					width: 8em;
					height: 1px;
					margin: 0;
					background: #DAD2BE;
					top: 1.0em;
					left: -9em;
					z-index: -1;
				}
				div.about_history div.history_box .txt h4:after {
					position: absolute;
					content: '';
					display: block;
					width: 1.2em;
					height: 1.2em;
					margin: 0;
					top: 0.4em;
					left: -0.8em;
					z-index: -1;
				}
					div.about_history div.history_box:nth-of-type(6n-5) .txt h4:after {
						background: url(../images/mark/mark_s8.png) center / contain no-repeat;
					}
					div.about_history div.history_box:nth-of-type(6n-4) .txt h4:after {
						background: url(../images/mark/mark_s9.png) center / contain no-repeat;
					}
					div.about_history div.history_box:nth-of-type(6n-3) .txt h4:after {
						background: url(../images/mark/mark_s10.png) center / contain no-repeat;
					}
					div.about_history div.history_box:nth-of-type(6n-2) .txt h4:after {
						background: url(../images/mark/mark_s11.png) center / contain no-repeat;
					}
					div.about_history div.history_box:nth-of-type(6n-1) .txt h4:after {
						background: url(../images/mark/mark_s12.png) center / contain no-repeat;
					}
					div.about_history div.history_box:nth-of-type(6n) .txt h4:after {
						background: url(../images/mark/mark_s13.png) center / contain no-repeat;
					}
			div.about_history div.history_box .txt p {
				margin: 3% 0 0;
			}
				div.about_history div.history_box .txt p:first-of-type {
					margin: 0;
				}
		div.about_history div.history_box .img {
			width: 100%;
			margin: 3% 5% 0 0;
			text-align: right;
		}
			div.about_history div.history_box .img img {
				width: 60%;
				height: auto;
			}
div.about_competition {
	width: 100%;
	margin: 0 auto;
	padding: 20% 3%;
	background: url(../images/background/bg7.png) top 0 left -8em / auto 15em no-repeat ,#F1F8FE;
}
	div.about_competition h3 {
		margin: 0 auto;
		font-size: 7.2vw;
		line-height: 120%;
		font-weight: 700;
	}
	div.about_competition div.competition_top {
		margin: 10% auto 0;
	}
		div.about_competition div.competition_top .txt {
			width: 100%;
			margin: 0;
			text-align: left;
		}
			div.about_competition div.competition_top .txt p {
				margin: 5% 0 0;
			}
		div.about_competition div.competition_top .img {
			width: 80%;
			margin: 5% auto 0;
		}
			div.about_competition div.competition_top .img img {
				width: 100%;
				height: auto;
			}
	div.about_competition div.competition_cont {
		width: 100%;
		margin: 0 auto;
		padding: 5% 0 0;
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
	}
		div.about_competition div.competition_cont .cont_l,
		div.about_competition div.competition_cont .cont_r {
			width: 48%;
			margin: 0;
		}
		div.about_competition div.competition_cont .box {
			width: 100%;
			margin: 10% auto 0;
			background: #fff;
		}
			div.about_competition div.competition_cont .box div {
				width: 100%;
				margin: 0;
				padding: 5% 5%;
				text-align: left;
			}
				div.about_competition div.competition_cont .box div h4 {
					width: 100%;
					margin: 0;
					font-size: 5.0vw;
					line-height: 180%;
					font-weight: 700;
					font-style: italic;
				}
				div.about_competition div.competition_cont .box div ul {
					margin: 0;
					list-style: none;
				}
					div.about_competition div.competition_cont .box div ul li {
						padding-left: 1em;
						text-indent: -0.5em;
					}
						div.about_competition div.competition_cont .box div ul li:before {
							display: inline-block;
							content: '・';
							margin: 0;
						}
			div.about_competition div.competition_cont .box a {
				display: block;
				width: 100%;
			}
			div.about_competition div.competition_cont .cont_full .box a {
				display: inline-block;
				width: 49%;
			}
			div.about_competition div.competition_cont .cont_full .box a:nth-of-type(odd) {
				margin-right: 2%;
			}
				div.about_competition div.competition_cont .box a img {
					width: 100%;
					height: auto;
				}
div.about_biography {
	width: 100%;
	margin: 0 auto;
	padding: 20% 3%;
}
	div.about_biography h3 {
		margin: 0 auto;
		font-size: 7.2vw;
		line-height: 120%;
		font-weight: 700;
	}
	div.about_biography p.biography_top {
		margin: 10% auto 0;
		text-align: left;
	}
	div.about_biography .biography_ttl_img {
		margin: 5% auto 0;
	}
		div.about_biography .biography_ttl_img img {
			width: 100%;
			height: auto;
		}
	div.about_biography div.biography_cont {
		margin: 15% auto 0;
		text-align: left;
		overflow: hidden;
	}
		div.about_biography div.biography_cont h4 {
			margin: 0;
			padding-left: 1.5em;
			font-size: 5.4vw;
			line-height: 160%;
			font-weight: 700;
			position: relative;
		}
			div.about_biography div.biography_cont h4:before {
				position: absolute;
				content: '';
				display: block;
				width: 3em;
				height: 1px;
				margin: 0;
				background: #DAD2BE;
				top: 0.8em;
				left: -2em;
			}
			div.about_biography div.biography_cont h4 + p {
				margin: 5% 0 0;
				font-size: 3.4vw;
				line-height: 160%;
			}
		div.about_biography div.biography_cont div.biography_main {
			margin: 10% auto 0;
		}
			div.about_biography div.biography_cont div.biography_main dl {
				width: 100%;
				margin: 0;
				font-size: 3.4vw;
				line-height: 160%;
				display: flex;
				flex-wrap: wrap;
				justify-content: flex-start;
				align-items: flex-start;
			}
				div.about_biography div.biography_cont div.biography_main dl dt {
					width: 4.5em;
					margin: 5% 0 0;
				}
				div.about_biography div.biography_cont div.biography_main dl dd {
					width: calc(100% - 4.5em);
					margin: 5% 0 0;
				}
			div.about_biography div.biography_cont div.biography_main .img {
				width: 100%;
				margin: 8% auto;
				font-size: 2.8vw;
				line-height: 140%;
				display: flex;
				justify-content: center;
				align-items: flex-start;
			}
				div.about_biography div.biography_cont div.biography_main .img div {
					width: 40%;
					margin: 0 5%;
					text-align: center;
				}
					div.about_biography div.biography_cont div.biography_main .img div img {
						width: 100%;
						height: auto;
					}
				div.about_biography div.biography_cont div.biography_main .img div p {
					margin: 0 auto;
				}
	div.about_biography div.biography_network {
		margin: 20% auto 0;
		text-align: left;
	}
		div.about_biography div.biography_network h4 {
			display: inline-block;
			margin: 0;
			padding: 2% 5%;
			background: #F3F1ED;
			font-weight: 700;
		}
		div.about_biography div.biography_network dl {
			width: 640px;
			margin: 0;
			font-size: 3.4vw;
			line-height: 160%;
			display: flex;
			flex-wrap: wrap;
			justify-content: flex-start;
			align-items: flex-start;
		}
			div.about_biography div.biography_network dl dt {
				width: 5em;
				margin: 1% 0 0;
			}
			div.about_biography div.biography_network dl dd {
				width: calc(100% - 5em);
				margin: 1% 0 0;
			}


/*====================================
よくある質問
=====================================*/
ul.qa_link {
	width: 100%;
	margin: 0 auto 10%;
	padding: 0 3%;
	list-style: none;
}
	ul.qa_link li {
		width: 100%;
		margin: 2% auto 0;
	}
		ul.qa_link li:first-of-type {
			margin: 0 auto;
		}
		ul.qa_link li a {
			display: block;
			width: 100%;
			padding: 0;
			font-size: 4.4vw;
			line-height: 2.6em;
			color: #fff;
			background: linear-gradient(to right, #A665B6 0%, #D4379A 100%);
			text-decoration: none;
			text-align: center;
			border-radius: 1.3em;
		}
div.qa_cont {
	width: 100%;
	margin: 0 auto;
}
	div.qa_cont div.qa_cat {
		margin: 0 auto;
		padding: 20% 0;
	}
		div.qa_cont div.qa_cat:nth-of-type(even) {
			background: #FDF8FE;
		}
		div.qa_cont div.qa_cat h3 {
			margin: 0 auto;
			padding-bottom: 5%;
			font-size: 7.2vw;
			line-height: 120%;
			font-weight: 700;
			color: #A565B6;
		}
		div.qa_cont div.qa_cat div.qa_main {
			margin: 10% auto 0;
			padding-left: 12%;
		}
			div.qa_cont div.qa_cat div.qa_main .txt {
				width: 100%;
				margin: 0;
				text-align: left;
				position: relative;
			}
				div.qa_cont div.qa_cat div.qa_main .txt:before {
					position: absolute;
					content: '';
					display: block;
					width: 13%;
					height: 4.5em;
					margin: 0;
					background: url(../images/qa/qa_ico.png) center / contain no-repeat;
					top: -1em;
					left: -16%;
				}
				div.qa_cont div.qa_cat div.qa_main .txt h4 {
					margin: 0;
					padding-bottom: 3%;
					font-size: 4.4vw;
					line-height: 180%;
					font-weight: 700;
				}
				div.qa_cont div.qa_cat div.qa_main .txt p {
					margin: 3% 0 0;
				}
			div.qa_cont div.qa_cat div.qa_main .img {
				width: 100%;
				margin: 3% 5% 0 0;
				text-align: right;
			}
				div.qa_cont div.qa_cat div.qa_main .img img {
					width: 60%;
					height: auto;
				}



/* 共通-再設定 */
#breadcrumb {
	width: 100%;
	margin: 0 auto;
	padding: 3% 3% 10% !important;
	font-size: 3.0vw;
	line-height: 120%;
	text-align: right;
}
	#breadcrumb a {
		margin: 0 !important;
		padding-left: 0 !important;
		color: #796A52;
		text-decoration: none;
	}
	#breadcrumb a:before {
		display: none;
	}


