@charset "UTF-8";

/* 共通 */
.mt0 {margin:0 auto}
.mt10 {margin:3% auto 0}
.mt20 {margin:3% auto 0}
.mt25 {margin:3% auto 0}
.mt30 {margin:5% auto 0}
.mt35 {margin:5% auto 0}
.mt40 {margin:5% auto 0}
.mt45 {margin:5% auto 0}
.mt50 {margin:5% auto 0}
.mt60 {margin:5% auto 0}
.mt70 {margin:10% auto 0}
.mt75 {margin:10% auto 0}
.mt80 {margin:13% auto 0}
.mt90 {margin:15% auto 0}
.mt100 {margin:15% auto 0}
.mt110 {margin:20% auto 0}
.mt120 {margin:20% auto 0}
.mt140 {margin:20% auto 0}
.mt150 {margin:20% auto 0}

/* KV */
#kv {
	margin: 0 auto;
	padding: 0;
	position: relative;
}
	#kv div.ttl {
		width: 100%;
		height: 15em;
		margin: 0;
		padding: 0 4%;
		background: url(../images/top/kv_ttl_bg.png) center / cover no-repeat;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
		#kv div.ttl h2 {
			width: 90%;
			margin: 0;
			padding: 0;
		}
			#kv div.ttl h2 img {
				width: 100%;
				height: auto;
			}
		#kv div.ttl div.kv_logo {
			width: 90%;
			margin: 2em 0 0;
			padding: 0;
			display: flex;
			flex-diretion: row;
			justify-content: flex-start;
			align-items: center;
		}
			#kv div.ttl div.kv_logo img {
				width: 45%;
				height: auto;
			}
			#kv div.ttl div.kv_logo span {
				margin: 0 0 0 1em;
				padding: 0.1em 0 0;
				font-size: 3.0vw;
				line-height: 140%;
				color: #fff;
				text-align: left;
				font-weight: var(--main-font-bold2);
			}
	#kv div.img {
		width: 100%;
		height: 15em;
		margin: 0;
		padding: 0 3% 3% 0;
		text-align: left;
		background: url(../images/top/kv_01.jpg) center / cover no-repeat;
		display: flex;
		flex-direction: column;
		justify-content: flex-end;
		align-items: flex-end;
		position: relative;
	}
		#kv div.img p {
			margin: 0.2em 0 0;
			padding: 1% 3%;
			font-size: 5.2vw;
			line-height: 160%;
			font-weight: var(--main-font-bold2);
			background: #fff;
			/*box-decoration-break: clone;	
			-webkit-box-decoration-break: clone;*/
			transition: 0.2s linear;
		}
	#kv div.arrow {
		position: absolute;
		margin: auto;
		padding: 0;
		display: flex;
		flex-direction: column;
		bottom: 45%;
		left: 50%;
		transform: translateX(-50%);
		-webkit- transform: translateX(-50%);
	}
		#kv div.arrow img {
			width: 70%;
			height: auto;
			margin: 3px 0 0;
			padding: 0;
		}
			#kv div.arrow img:nth-of-type(1) {
				-webkit-animation: FadeIn 1.5s linear 0s infinite;
				animation: FadeIn 1.5s linear 0s infinite;
			}
			#kv div.arrow img:nth-of-type(2) {
				-webkit-animation: FadeIn 1.5s linear 0.2s infinite;
				animation: FadeIn 1.5s linear 0.2s infinite;
			}
			#kv div.arrow img:nth-of-type(3) {
				-webkit-animation: FadeIn 1.5s linear 0.4s infinite;
				animation: FadeIn 1.5s linear 0.4s infinite;
			}

#robot_program {
	width: 100%;
	margin: 0 auto;
	padding: 10% 4.5%;
	position: relative;
	z-index: 1;
}
	#robot_program:before,
	#robot_program:after {
		position: absolute;
		content: '';
		display: block;
		margin: 0;
		padding: 0;
	}
	#robot_program:before {
		width: 62%;
		height: 10em;
		background: url(../images/top/rp_bg2_sp.png) center / contain no-repeat;
		bottom: 0;
		left: 0;
		z-index: -1;
	}
	#robot_program:after {
		width: 40%;
		height: 3.8em;
		background: url(../images/top/rp_bg1_sp.png) center / contain no-repeat;
		top: 0;
		right: 0;
		z-index: -1;
	}
	#robot_program h3 {
		margin: 0 auto;
		padding: 0;
		font-size: 6.0vw;
		line-height: 180%;
		/*font-family: "M PLUS 1p", sans-serif;*/
   		font-weight: 700;
}
		#robot_program h3 strong {
			display: inline-block;
			margin: 0 0 0.2em;
			padding: 0 0.2em;
			font-weight: var(--main-font-bold2);
			background: linear-gradient(transparent 60%, #dff714 60%, #dff714 90%, transparent 90%);
		}
		#robot_program h3 span {
			margin: 0 0.2em;
			font-size: 6.8vw;
			line-height: 120%;
			vertical-align: -0.1em;
		}
		#robot_program h3 small {
			margin: 0 0.2em 0 0;
			font-size: 4.8vw;
			line-height: 180%;
			vertical-align: 0;
		}
	#robot_program p.read {
		margin: 2em auto 0;
		padding: 0;
		font-size: 3.8vw;
		line-height: 220%;
		text-align: left;
	}
		#robot_program p.read strong {
			color: #c12330;
			font-weight: var(--main-font-bold1);
		}
	#robot_program ul {
		margin: 8% auto 0;
		padding: 0;
		list-style: none;
	}
		#robot_program ul li {
			display: inline-block;
			width: 17em;
			height: 17em;
			margin: 0;
			padding: 2.5em 0;
			font-size: 2.9vw;
			line-height: 180%;
			font-weight: var(--main-font-bold2);
			color: #fff;
			background: #d2275f;
			border-radius: 50%;
			display: flex;
			flex-direction: column;
			position: relative;
		}
			#robot_program ul li:nth-of-type(2):before,
			#robot_program ul li:nth-of-type(2):after {
				position: absolute;
				content: '';
				display: block;
				width: 4em;
				height: 0.8em;
				margin: auto;
				padding: 0;
			}
			#robot_program ul li:before {
				background: url(../images/top/rp_power.png) center / contain no-repeat;
				top: 0.8em;
				left: 0.2em;
				transform: rotate(45deg);
				z-index: 1;
			}
			#robot_program ul li:after {
				background: url(../images/top/rp_power.png) center / contain no-repeat;
				bottom: 0.8em;
				left: 0.2em;
				transform: rotate(-45deg);
				z-index: 1;
			}
				#robot_program ul li:first-of-type:before,
				#robot_program ul li:last-of-type:after {
					display: none;
				}
			#robot_program ul li:nth-of-type(2) {
				margin: -3em 0 0 43%;
			}
			#robot_program ul li:nth-of-type(3) {
				margin: -3em 0 0;
			}
			#robot_program ul li h4 {
				margin: 0.8em auto 0;
				padding: 0;
				font-size: 5.8vw;
				line-height: 120%;
				white-space: nowrap;
   				/*font-family: "M PLUS 1p", sans-serif;*/
   				font-weight: 700;
			}
				#robot_program ul li h4 small {
					font-size: 4.2vw;
					line-height: 120%;
					font-weight: var(--main-font-bold2);
				}
				#robot_program ul li h4 strong {
					display: block;
					font-size: 8.2vw;
					line-height: 140%;
					font-weight: var(--main-font-bold2);
				}
			#robot_program ul li:last-of-type h4 {
				font-size: 4.8vw;
				line-height: 120%;
				white-space: nowrap;
				font-weight: var(--main-font-bold2);
			}
				#robot_program ul li:last-of-type h4 small {
					font-size: 3.6vw;
					line-height: 120%;
					font-weight: var(--main-font-bold2);
				}

#features {
	width: 100%;
	margin: 0 auto;
	padding: 15% 4.5% 12%;
	background: url(../images/common/square_bg.png) center repeat;
}
div.square_bg1 {
	width: 100%;
	margin: 0 auto;
	padding: 0;
	background: url(../images/common/square_bg.png) center repeat;
}
	#features ul {
		margin: 0 auto;
		padding: 0;
		list-style: none;
	}
		#features ul li {
			width: 98%;
			margin: 10% 0 0 2%;
			padding: 8% 2% 3% 3%;
			background: #fff;
			border-radius: 0 10px;
			box-shadow: 0.5em 0.5em #6e8190;
			position: relative;
			display: flex;
			justify-content: space-between;
			align-items: center;
		}
			#features ul li:first-of-type {
				margin-top: 15%;
			}
			#features ul li span {
				position: absolute;
				display: block;
				margin: 0;
				padding: 0;
				font-size: 12.0vw;
				line-height: 110%;
				color: #000;
				font-family: "Reddit Sans Condensed", system-ui;
				font-optical-sizing: auto;
				font-weight: var(--main-font-bold1);
				top: -0.4em;
				left: -0.2em;
			}
			#features ul li img {
				width: 25%;
				height: auto;
			}
			#features ul li div {
				width: 70%;
				margin: 0;
				padding: 0;
				text-align: left;
			}
				#features ul li div h5 {
					margin: 0;
					padding: 0;
					font-size: 4.3vw;
					line-height: 150%;
					font-weight: var(--main-font-bold2);
				}
				#features ul li div p {
					margin: 0.5em auto 0;
					padding: 0;
					font-size: 3.6vw;
					line-height: 180%;
					text-align: left;
				}
	#features div.btn {
		margin: 10% auto 0;
	}

#cource {
	width: 100%;
	margin: 0 auto;
	padding: 15% 4.5% 0;
}
	#cource p.read {
		margin: 2em auto 0;
		padding: 0;
		font-size: 3.8vw;
		line-height: 220%;
		text-align: left;
	}
		#cource p.read strong {
			color: #c12330;
			font-weight: var(--main-font-bold1);
		}
	#cource ul {
		margin: 0 auto;
		padding: 2% 0 0;
		list-style: none;
	}
		#cource ul li,
		div.course_intro  ul li {
			width: 97%;
			margin: 15% 0 0 3%;
			padding: 5% 0 5%;
			list-style: none;
			position: relative;
			border-radius: 0 10px;
		}
			#cource ul li:nth-of-type(1),
			div.course_intro ul li:nth-of-type(1) {
				background: #f3b32b;
			}
			#cource ul li:nth-of-type(2),
			div.course_intro  ul li:nth-of-type(2) {
				background: #2b89f3;
			}
			#cource ul li:nth-of-type(3),
			div.course_intro  ul li:nth-of-type(3) {
				background: #2bf3cb;
			}
			#cource ul li span.badge,
			div.course_intro  ul li span.badge {
				position: absolute;
				width: 6em;
				height: 6em;
				margin: 0;
				padding: 0;
				font-size: 3.4vw;
				line-height: 150%;
				color: #fff;
				font-weight: var(--main-font-bold1);
				background: url(../images/icon/badge.png) center / contain no-repeat;
				display: flex;
				justify-content: center;
				align-items: center;
				z-index: 1;
				top: -3em;
				left: -2em;
			}
			#cource ul li h5,
			div.course_intro  ul li h5 {
				margin: 0;
				padding: 0 4%;
				text-align: left;
				position: relative;
				z-index: 1;
				flex-grow: 1;
			}
				#cource ul li h5 p,
				div.course_intro  ul li h5 p {
					margin: 0;
					padding: 0;
					font-size: 8.8vw;
					line-height: 120%;
					color: #000;
					font-family: "Reddit Sans Condensed", system-ui;
					font-optical-sizing: auto;
					font-weight: var(--main-font-extrabold);
				}
				#cource ul li:nth-of-type(3) h5 p,
				div.course_intro  ul li:nth-of-type(3) h5 p {
					font-size: 7.2vw;
				}
				#cource ul li h5 span,
				div.course_intro  ul li h5 span {
					display: block;
					margin: 0.2em 0 0;
					padding: 0;
					font-size: 3.8vw;
					line-height: 120%;
					color: #000;
					font-weight: var(--main-font-bold2);
				}
			#cource ul li h6,
			div.course_intro  ul li h6 {
				margin: 1em 0 0;
				padding: 0 4%;
				font-size: 4.2vw;
				line-height: 180%;
				text-align: left;
				font-weight: var(--main-font-bold2);
				flex-grow: 2;
			}
			#cource ul li h6 + p,
			div.course_intro  ul li h6 + p {
				margin: 0.8em 0 0;
				padding: 0 4%;
				font-size: 3.8vw;
				line-height: 180%;
				text-align: left;
				font-weight: var(--main-font-bold2);
				flex-grow: 3;
			}
			#cource ul li div.cource_btn,
			div.course_intro  ul li div.cource_btn {
				width: 100%;
				margin: 3% auto 0;
				padding: 0 4%;
				display: flex;
				justify-content: flex-end;
			}
				#cource ul li div.cource_btn a,
				div.course_intro  ul li div.cource_btn a {
					width: 60%;
					height: 2.4em;
					margin: 0;
					padding: 0;
					font-size: 3.8vw;
					line-height: 160%;
					text-decoration: none;
					text-align: center;
					color: #fff;
					background: #d2273a;
					border-radius: 1.2em;
					display: flex;
					justify-content: center;
					align-items: center;
					position: relative;
				}
					#cource ul li div.cource_btn a:after,
					div.course_intro  ul li div.cource_btn a:after {
						position: absolute;
						display: block;
						content: '';
						width: 0.6em;
						height: 1.0em;
						margin: auto;
						padding: 0;
						background: url(../images/icon/arrow_01.png) center / contain no-repeat;
						top: 50%;
						right: 10%;
						transform: translateY(-50%);
						-webkit- transform: translateY(-50%);
					}
			#cource ul li img.cource_img,
			div.course_intro  ul li img.cource_img {
				width: 100%;
				height: auto;
				margin: 1em auto 0;
			}


/* 下層ページ */

/* 共通 */
#sub_kv {
	width: 100%;
	height: 7.6em;
	margin: 0 auto;
	padding: 0;
	color: #fff;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	background: url(../images/common/sub_kv_sp.png) center / cover no-repeat;
}
	#sub_kv h2 {
		margin: 0;
		padding: 0;
		font-size: 11.0vw;
		line-height: 120%;
		font-family: "Reddit Sans Condensed", system-ui;
		font-optical-sizing: auto;
		font-weight: var(--main-font-extrabold);
	}
		#sub_kv h2.ems {
			font-size: 8.6vw;
			line-height: 160%;
		}
	#sub_kv h3 {
		margin: 0;
		padding: 0;
		font-size: 4.0vw;
		line-height: 120%;
		font-weight: var(--main-font-bold2);
	}
div.scroll_img {
	width: 100%;
	margin: 10% auto 0;
	padding: 0;
	display: flex;
	overflow: hidden;
}
	div.scroll_img ul {
		display: flex;
		margin: 0;
		padding: 0;
		list-style: none;
		animation: infinity-scroll-left 30s infinite linear 0.5s both;
	}
		div.scroll_img ul li {
			width: calc((200vw / 5) - 4px);
			margin: 0 0.5px;
			padding: 0;
		}
			div.scroll_img ul li img {
				width: 100%;
				height: auto;
				border-radius: 0.2em;
			}
@keyframes infinity-scroll-left {
from {
  transform: translateX(0);
}
  to {
  transform: translateX(-100%);
}
}
div.square_bg {
	width: 100%;
	margin: 10% auto 0;
	padding: 1% 0 15%;
	background: url(../images/common/square_bg.png) center repeat;
}
ul.flow_cont {
	width: 100%;
	margin: 8% auto 0;
	padding: 0;
	list-style: none;
}
	ul.flow_cont li {
		width: 100%;
		margin: 0;
		padding: 0;
		background: #fff;
		border-radius: 0.2em;
	}
		ul.flow_cont li img {
			width: 100%;
			height: auto;
			margin: 0;
			padding: 0;
			object-fit: cover;
			border-radius: 0 0 0.2em 0.2em;
		}
		ul.flow_cont li div.list_box {
			margin: 0;
			padding: 3% 4%;
			text-align: left;
		}
			ul.flow_cont li div.list_box.long {
				padding: 5% 4% !important;
			}
			ul.flow_cont li div.list_box h5 {
				color: #d2273a;
				margin: 0;
				padding: 0;
				display: flex;
				align-items: center;
			}
				ul.flow_cont li div.list_box h5 > p {
					margin: 0;
					padding: 0;
					font-size: 8.2vw;
					line-height: 120%;
					font-family: "Reddit Sans Condensed", system-ui;
					font-optical-sizing: auto;
					font-weight: var(--main-font-extrabold);
				}
				ul.flow_cont li div.list_box h5 > strong {
					margin: 0 0 0 0.5em;
					padding: 0;
					font-size: 4.4vw;
					line-height: 120%;
					font-weight: var(--main-font-bold2);
				}
			ul.flow_cont li div.list_box p {
				margin: 0.5em 0 0;
				padding: 0;
				font-size: 3.8vw;
				line-height: 180%;
			}
				ul.flow_cont li div.list_box p:nth-of-type(n+2) {
					margin: 1em 0 0;
				}
			ul.flow_cont li div.list_box div.btn {
				margin: 5% auto 0;
			}
				ul.flow_cont li div.list_box div.btn a {
					width: 80%;
					height: 3.6em;
					margin: 0 auto;
					border-radius: 1.8em;
				}
	ul.flow_cont .arrow {
		width: 100%;
		margin: 5% 0;
		padding: 0;
	}
		ul.flow_cont .arrow img {
			width: 15%;
			height: auto;
		}

/* パンくず */
#breadcrumb {
	width: 100%;
	margin: 0 auto;
	padding: 0.5em 5%;
	font-size: 2.8vw;
	line-height: 220%;
	text-align: right;
}
	#breadcrumb span a {
		color: #d2273a;
		text-decoration: underline;
	}
		#breadcrumb span:last-of-type a {
			color: #000;
			text-decoration: none;
		}

/* リード */
div.top_read {
	margin: 10% auto 0;
	padding: 0 4.5%;
}
	div.top_read p {
		margin: 1em auto 0;
		padding: 0;
		text-align: center;
		/*font-family: "M PLUS 1p", sans-serif;*/
		font-weight: 700;
		font-size: 4.4vw;
		}
		div.top_read p:first-child {
			margin: 0 auto;
		}
		div.top_read p strong {
			color: #c12330;
			font-weight: var(--main-font-bold2);
		}
	div.top_read h3 {
		margin: 10% auto 0;
		padding: 0;
		font-size: 6.4vw;
		line-height: 150%;
		/*font-family: "M PLUS 1p", sans-serif;*/
		font-weight: 700;
	}
		div.top_read h3.left {
			text-align: left;
		}
		div.top_read h3 small {
			display: inline-block;
			margin: 0 auto 0.5em;
			font-size: 4.6vw;
			line-height: 160%;
		}
		div.top_read h3:first-child {
			margin: 0 auto;
		}
		div.top_read h3 strong {
			display: inline-block;
			margin: 0;
			padding: 0 0.2em;
			font-size: 8.6vw;
			line-height: 150%;
			font-weight: var(--main-font-bold2);
			background: linear-gradient(transparent 50%, #dff714 50%, #dff714 90%, transparent 90%);
		}
		div.top_read span{
			display: inline-block;
		}

/* 特長 */
ul.merit3 {
	margin: 0 auto;
	padding: 5% 4.5% 0;
	list-style: none;
}
	ul.merit3.force {
		padding: 3% 0 0;
	}
	ul.merit3 li {
		width: 100%;
		margin: 5% 0 0;
		padding: 5% 0 8%;
		color: #fff;
		background: #c72537;
		border-radius: 0 10px;
		display: flex;
		align-items: center;
		flex-direction: column;
	}
		ul.merit3 li span {
			display: inline-block;
			margin: 0;
			padding: 0;
			font-size: 18vw;
			line-height: 120%;
			font-family: "Reddit Sans Condensed", system-ui;
			font-optical-sizing: auto;
			font-weight: var(--main-font-bold1);
			position: relative;
		}
			ul.merit3 li span:after {
				position: absolute;
				content: '';
				display: block;
				width: 100%;
				height: 4px;
				background: #fff;
				border-radius: 2px;
				bottom: 0;
				left: 0;
			}
		ul.merit3 li h4 {
			margin: 0.8em auto 0;
			padding: 0;
			font-size: 6.2vw;
			line-height: 150%;
			font-weight: var(--main-font-bold2);
		}
			ul.merit3 li h4 small {
				display: block;
				margin: 0 auto;
				padding: 0;
				font-size: 4.2vw;
				line-height: 150%;
			}
		ul.merit3 li p {
			margin: 1em auto 0;
			padding: 0 3%;
			font-size: 3.8vw;
			line-height: 200%;
			text-align: left;
		}
		ul.merit3 li img {
			display: block;
			width: 100%;
			height: auto;
			margin: 3% auto 0;
			padding: 0;
		}
div.feature_main {
	width: 100%;
	margin: 20% auto 0;
	padding: 0 4.5%;
}
	div.feature_main div.feature_box {
		margin: 15% auto 0;
		padding: 0;
	}
		div.feature_main div.feature_box div.txt {
			width: 100%;
			margin: 0;
			padding: 0;
			font-size: 3.8vw;
			line-height: 190%;
			text-align: left;
		}
			div.feature_main div.feature_box div.txt h5 {
				margin: 0;
				padding: 0;
				font-size: 8.2vw;
				color:#d1283b;
				line-height: 120%;
				font-family: "Reddit Sans Condensed", system-ui;
				font-optical-sizing: auto;
				font-weight: var(--main-font-extrabold);
			}
			div.feature_main div.feature_box div.txt h6 {
				padding: 0;
				font-size: 5.0vw;
				line-height: 150%;
   				/*font-family: "M PLUS 1p", sans-serif;*/
   				font-weight: 700;
			}
			div.feature_main div.feature_box div.txt div.other_btn {
				width: 80%;
				margin: 5% 0 0;
				padding: 0;
			}
				div.feature_main div.feature_box div.txt div.other_btn a {
				}
					div.feature_main div.feature_box div.txt div.other_btn a img {
						width: 100%;
						height: auto;
					}
		div.feature_main div.feature_box div.img {
			margin: 5% 0 0;
			padding: 0;
		}
			div.feature_main div.feature_box div.img img {
				width: 100%;
				height: auto;
			}


/* 体験授業に参加 */
dl.experience_price {
	width: 91%;
	margin: 10% auto 0;
	padding: 5% 10%;
	font-size: 3.6vw;
	line-height: 160%;
	text-align: left;
	color: #fff;
	background: #c72537;
	border-radius: 0.4em;
	display: flex;
	flex-wrap: wrap;
}
	dl.experience_price dt {
		width: 5em;
		margin: 1em 0 0;
		padding: 0;
		font-weight: var(--main-font-nomal);
	}
	dl.experience_price dd {
		width: calc(100% - 5em);
		margin: 1em 0 0;
		padding: 0 0 0 2em;
		text-indent: -2em;
	}
	dl.experience_price dt:first-of-type,
	dl.experience_price dd:first-of-type {
		margin-top: 0;
	}
div.experience_lesson {
	width: 100%;
	margin: 10% auto 0;
	padding: 15% 4.5% 12%;
	background: url(../images/common/square_bg.png) center repeat;
}

div.experience_calendar {
	width: 100%;
	margin: 0 auto;
	padding: 15% 4.5% 0;
}
	div.experience_calendar div.g_calendar {
		width: 100%;
		height: 25em;
		margin: 8% auto 0;
		padding: 0;
		position: relative;
	}
		div.experience_calendar div.g_calendar iframe {
			position: absolute;
			display: block;
			width: 100%;
			height: 100%;
			top: 0;
			left: 0;
			border-radius: 3px;
		}
	div.experience_calendar div.btn {
		margin: 10% auto 0;
		padding: 0;
	}

/* コース紹介 */
div.course_intro {
	width: 100%;
	margin: 10% auto 0;
	padding: 15% 4.5% 12%;
	background: url(../images/common/square_bg.png) center repeat;
}
	div.course_intro ul {
		margin: 0 auto;
		padding: 5% 0 0;
		list-style: none;
	}
div.course_intro_top {
	margin: 10% auto 0;
	padding: 0 4.5%;
}
	div.course_intro_top div.txt {
		width: 100%;
		margin: 0;
		padding: 0;
		text-align: left;
	}
		div.course_intro_top div.txt h3 {
			margin: 0 auto .3em;
			padding: 0;
			font-size: 6.0vw;
			line-height: 165%;
			color: #000;
	    	/*font-family: "M PLUS 1p", sans-serif;*/
	    	font-weight: 700;
	    	font-style: normal;
			font-optical-sizing: auto;
			text-align: center;
		}
		div.course_intro_top div.txt h4 {
			margin: 0.3em auto 0;
			padding: 0;
			font-size: 3.6vw;
			line-height: 120%;
			color: #000;
			font-weight: var(--main-font-bold2);
		}
		div.course_intro_top div.txt dl {
			margin: 3% auto 0;
			padding: 1em 1.5em;
			font-size: 3.6vw;
			text-align: left;
			font-weight: var(--main-font-bold1);
			display: flex;
			flex-wrap: wrap;
		}
			div.course_intro_top div.txt dl.lsr {
				border-radius: 30px;
				background:  #f3b32b;
			}
			div.course_intro_top div.txt dl.wr {
				background: #2b89f3;
				border-radius: 30px;
			}
			div.course_intro_top div.txt dl.ems {
				background: #2bf3cb;
				border-radius: 30px;
			}
			div.course_intro_top div.txt dl dt {
				width: 3em;
			}
			div.course_intro_top div.txt dl dd {
				width: calc(100% - 3em);
			}


div.course_intro_read {
	width: 100%;
	margin: 15% auto 0;
	padding: 15% 4.5%;
	background: url(../images/common/square_bg.png) center repeat;
}
	div.course_intro_read h4 {
		width: 100%;
		margin: 0 auto 50px;
		padding: 0;
		font-size: 4.8vw;
		line-height: 165%;
		color: #000;
	    /*font-family: "M PLUS 1p", sans-serif;*/
	    font-weight: 700;
	    font-style: normal;
		font-optical-sizing: auto;
	}
	div.course_intro_read p {
		padding: 0.5em 0 0;
		text-align: left;
	}
		div.course_intro_read p strong {
			color: #c12330;
			font-weight: var(--main-font-bold2);
		}
	div.course_intro_top ul.top_img {
		width: 100%;
		margin: 0 auto;
		padding: 3% 0 0;
		list-style: none;
	}

			div.course_intro_top ul.top_img li img {
				max-width: 100%;
				height: auto;
			}

	div.course_intro_read ul.read_img {
		width: 100%;
		margin: 0 auto;
		padding: 1% 0 0;
		list-style: none;
	}
		div.course_intro_top ul.top_img li,
		div.course_intro_read ul.read_img li {
			width: 90%;
			margin: 5% auto 0;
			padding: 0;
			list-style: none;
		}
			div.course_intro_read ul.read_img.img2 li img,
			div.course_intro_top ul.top_img.img3 li img {
				max-width: 100%;
				height: auto;
			}
			div.course_intro_read ul.read_img.img2 li span,
			div.course_intro_top ul.top_img.img3 li span {
				display: block;
				margin: 0.2em 0 0;
				padding: 0;
				font-size: 3.4vw;
				line-height: 160%;
				text-align: left;
			}

div.course_intro_read ul.flow{
	width: 100%;
	margin:0 auto;
	list-style: none;
}
	div.course_intro_read ul.flow li div{
		background: #d1283b;
		color:#fff;
		border-radius: 10px;
		padding: 4% 2%;
		text-align: left;
	}
		div.course_intro_read ul.flow li div h5{
			font-size: 4.4vw;
		}
			div.course_intro_read ul.flow li div h5 span{
				background: #fff;
				border-radius: 50%;
				color: #d1283b;
				font-size: 5.2vw;
				padding: .2em .6em;
			}
div.course_intro_read ul.flow li:after{
		  content:"";
		  display: block;
		  width: 0;
		  height: 0;
		  margin: 20px auto;
		  border-left: 30px solid transparent;
		  border-right: 30px solid transparent;
		  border-top: 30px solid #d1283b;
		}
	div.course_intro_read ul.flow li:last-of-type:after{
			  display: none;
			}
div.course_intro_read dl.materials {
		background: #fff;
		border-radius: 0 10px;
		margin: 5% auto;
		padding: 20px 2%;
		border: 4px solid #f3b32b;
		}
	div.course_intro_read dl.materials dt{
		text-align: center;
	    /*font-family: "M PLUS 1p", sans-serif;*/
	    font-weight: 700;
	    font-style: normal;
		font-optical-sizing: auto;
		font-size: 4.0vw;
		border-radius: 30px;
		background:  #f3b32b;
		padding:4% 2%;
		width: 80%;
		margin: 0 auto -2%;
		}
	div.course_intro_read dl.materials.wr {
		border: 4px solid #2b89f3;
		}
		div.course_intro_read dl.materials.wr dt {
			background:  #2b89f3;
			}
			div.course_intro_read dl.materials dd ul{
				margin: 0 auto;
				}
div.course_intro_list {
	width: 100%;
	margin: 15% auto 0;
	padding: 5% 4.5%;
	/*background: url(../images/common/square_bg.png) center repeat;*/
}
	div.course_intro_list h3 {
		margin: 0 auto;
		padding: 0;
		font-size: 4.8vw;
		line-height: 160%;
		text-align: left;
	    /*font-family: "M PLUS 1p", sans-serif;*/
	    font-weight: 700;
	    font-style: normal;
		font-optical-sizing: auto;
		text-align: center;
	}
	div.course_intro_list h3:last-of-type {
		margin: 3% auto 0;
		font-size: 4.8vw;
		color: #c12330;
	}

	div.course_intro_list h3:last-of-type span{
		display: inline-block;
		padding-right: .5em;
	}

	div.course_intro_list ul {
		margin: 0 auto;
		padding: 0;
		text-align: left;
		list-style: none;
	}
		div.course_intro_list ul li {
			width: 100%;
			margin: 8% 0 0;
			padding: 0;
		}
			div.course_intro_list ul li h4 {
				margin: 0;
				padding: 2%;
				font-size: 4.2vw;
				line-height: 160%;
				font-weight: var(--main-font-bold2);
				background-color:#d2273a;
				border-radius: 0 10px 0 0;
				width: 80%;
				color: #fff;
			}
				div.course_intro_list ul li h4:before {
					content: "";
					display: inline-block;
					background: url(../images/icon/course_ico.png) no-repeat 0 bottom/contain;
					width: 30px;
					height:30px;
					padding-right: 40px;
					vertical-align: -6px;
				}
				div.course_intro_list.ems ul li h4:before {
					background: url(../images/icon/course_ico_02.png) no-repeat 0 bottom/contain;
				}
			div.course_intro_list ul li h5 {
				margin: 0 0 2%;
				padding: 0;
				font-size: 3.6vw;
				line-height: 160%;
				font-weight: var(--main-font-nomal);
			}
				div.course_intro_list ul li h5:nth-of-type(n+2) {
					margin:5% 0 2%;
				}
				div.course_intro_list ul li h5 em{
				display: inline-block;
				background: #d1283b;
				border-radius: 50%;
				color: #fff;
				font-size: 4.0vw;
				padding: 2px 12px;
				margin-right: 1%;
				}

			div.course_intro_list ul li div.intro_box {
				margin: 0;
				padding: 4% 3%;
				text-align: left;
				background: #fff;
				border-radius: 0 10px 0 0;
				border: 2px solid #d2273a;
			}
	div.course_intro_list h6 {
		margin: 10% auto 0;
		padding: 0;
		font-size: 4.6vw;
		line-height: 160%;
		color: #c12330;
		font-weight: var(--main-font-bold2);
	}
div.class_intro {
	width: 100%;
	margin: 0 auto;
	padding: 5% 4.5% 0;
}
	div.class_intro div {
		width: 100%;
		margin: 8% auto 0;
		padding: 3% 4%;
		border: 2px solid #d2273a;
	}
		div.class_intro div:first-of-type {
			background: #d0cbcc;
		}
		div.class_intro h5 {
			margin: 0 auto;
			padding: 0;
			font-size: 3.8vw;
			line-height: 160%;
			font-weight: var(--main-font-bold2);
		}
		div.class_intro p {
			margin: 1em auto 0;
			padding: 0;
			font-size: 3.6vw;
			line-height: 200%;
			text-align: left;
		}

div.course_intro_list .intro_box p:last-child{
	margin-top: 3%;
		}

div.course_intro_list .intro_box p:first-child{
	margin-top: 0em;
		}


div.course_intro_force {
	width: 100%;
	margin: 10% auto 0;
	padding: 0 4.5%;
}
	div.course_intro_force h5 {
		padding: 0;
		font-size: 4.4vw;
		line-height: 160%;
		font-weight: var(--main-font-bold2);
		text-align: left;
	}
		div.course_intro_force h5.center {
			text-align: center;
		}
	div.course_intro_force dl {
		margin: 5% auto 0;
		padding: 0;
	}
		div.course_intro_force dl dt {
			width: 100%;
			margin: 5% auto 0;
			padding: 0;
		}
			div.course_intro_force dl dt img {
				width: 60%;
				margin: 0 auto;
				padding: 0;
			}
		div.course_intro_force dl dd {
			width: 100%;
			margin: 0;
			padding: 0;
			font-size: 3.6vw;
			line-height: 180%;
			text-align: left;
		}
			div.course_intro_force dl dd strong {
				color: #c12330;
				font-weight: var(--main-font-bold2);
			}
	div.course_intro_force div.more_box {
		margin: 3% auto 0;
		padding: 0;
		background: #fff;
		border-radius: 0.2em;
	}
		div.course_intro_force div.more_box img {
			width: 100%;
			height: auto;
			margin: 0;
			padding: 0;
			object-fit: cover;
			border-radius: 0 0 0.2em 0.2em;
		}
		div.course_intro_force div.more_box div.list_box {
			margin: 0;
			padding: 3% 4%;
			text-align: left;
		}
			div.course_intro_force div.more_box div.list_box h5 {
				margin: 0;
				padding: 0;
				font-size: 4.2vw;
				line-height: 160%;
				font-weight: var(--main-font-bold2);
			}
			div.course_intro_force div.more_box div.list_box p {
				margin: 0.5em 0 0;
				padding: 0;
				font-size: 3.8vw;
				line-height: 180%;
			}

/* 流れ・質問 */
div.join_flow {
	width: 100%;
	margin: 10% auto 0;
	padding: 15% 4.5%;
	background: url(../images/common/square_bg.png) center repeat;
}
div.join_faq {
	width: 100%;
	margin: 20% auto 0;
	padding: 0 4.5%;
}
	div.join_faq dl {
		width: 100%;
		margin: 0 auto;
		padding: 8% 0 0;
		text-align: left;
		display: flex;
		flex-wrap: wrap;
	}
		div.join_faq dl dt {
			width: 100%;
			margin: 3% 0 0;
			padding: 3% 10% 3% 4%;
			color: #fff;
			background: #d2273a;
			position: relative;
		}
			div.join_faq dl dt p {
				position: absolute;
				width: 1.2em;
				height: 1.2em;
				margin: auto;
				padding: 0;
				top: calc(50% - 12px);
				right: 10px;
				cursor: pointer;
				z-index: 1;
			}
				div.join_faq dl dt p span {
					display: inline-block;
					width: 1.2em;
					height: 2px;
					margin: 0;
					padding: 0;
					background: #fff;
					vertical-align: 10px;
					position: relative;
				}
					div.join_faq dl dt p span:before {
						position: absolute;
						content: '';
						display: block;
						width: 100%;
						height: 100%;
						margin: 0;
						padding: 0;
						background: #fff;
						top: 0;
						left: 0;
						transform: rotate(90deg);
						transition: 0.2s linear;
						z-index: -1;
					}
					div.join_faq dl dt p.active span:before {
						background: #d2273a;
					}
			div.join_faq dl dt h5 {
				margin: 0;
				padding: 0;
				font-size: 3.8vw;
				line-height: 160%;
				font-weight: var(--main-font-bold2);
				display: flex;
				align-items: flex-start;
			}
				div.join_faq dl dt h5 span {
					display: inline-block;
					margin: 0 0.5em 0 0;
					padding: 0;
					font-size: 6.4vw;
					line-height: 120%;
					font-family: "Reddit Sans Condensed", system-ui;
					font-optical-sizing: auto;
					font-weight: var(--main-font-extrabold);
				}
		div.join_faq dl dd {
			display: none;
			width: 100%;
			margin: 0.8em 0 0;
			padding: 0;
			font-size: 3.6vw;
			line-height: 180%;
		}
			div.join_faq dl dd p {
				margin: 1.0em 0 0;
				padding: 0;
			}
			div.join_faq dl dd p:first-of-type {
				margin: 0;
			}

/* 教室へのアクセス */
div.access_tel_form {
	width: 96%;
	margin: 5% auto 0;
	padding: 4% 5%;
	color: #fff;
	background: #d2273a;
	position: relative;
}
	div.access_tel_form:before,
	div.access_tel_form:after {
		position: absolute;
		content: '';
		display: block;
		width: 15px;
		height: 15px;
		background: url(../images/common/foot_contact_bg_ico.png) center / contain no-repeat;
	}
		div.access_tel_form:before {
			top: 4px;
			left: 4px;
		}
		div.access_tel_form:after {
			bottom: 4px;
			right: 4px;
			transform: rotate(180deg);
		}
	div.access_tel_form h4 {
		margin: 0 auto;
		padding: 0;
		color: #fff;
		font-size: 4.0vw;
		line-height: 160%;
		font-weight: var(--main-font-bold2);
	}
	div.access_tel_form div.tel_form_cont {
		width: 90%;
		margin: 5% auto 0;
		padding: 0;
	}
		div.access_tel_form.contact div.tel_form_cont {
			margin-top: 0;
		}
		div.access_tel_form div.tel_form_cont a {
			display: block;
			margin: 3% auto 0;
			color: #000;
			text-decoration: none;
			background: #fff;
			border-radius: 0.2em;
		}
			div.access_tel_form div.tel_form_cont a:last-of-type {
				padding: 4% 0;
				font-size: 5.4vw;
				line-height: 160%;
				font-weight: var(--main-font-bold2);
			}
				div.access_tel_form div.tel_form_cont a:last-of-type img {
					margin: 0 5px 0 0;
					vertical-align: -0.2em;
				}
			div.access_tel_form div.tel_form_cont a:first-of-type {
				padding: 2% 0;
				font-size: 7.8vw;
				line-height: 160%;
				letter-spacing: 0.01em;
				font-family: "Reddit Sans Condensed", system-ui;
				font-optical-sizing: auto;
				font-weight: var(--main-font-extrabold);
			}
				div.access_tel_form div.tel_form_cont a:first-of-type img {
					width: 12%;
					height: auto;
					margin: 0 5px 0 0;
					vertical-align: -0.05em;
				}
			div.access_tel_form div.tel_form_cont p {
				margin: 0;
				padding: 0;
				font-size: 3.2vw;
				line-height: 100%;
				font-weight: var(--main-font-bold2);
				font-family: "Noto Sans JP", system-ui;
			}
div.school_cont {
	width: 100%;
	margin: 0 auto;
	padding: 10% 4.5%;
}
	div.school_cont div.address {
		width: 100%;
		margin: 0;
		padding: 0;
		text-align: left;
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
	}
		div.school_cont div.address div {
			width: 49%;
			margin: 0;
			padding: 0;
		}
			div.school_cont div.address h5 {
				margin: 0;
				padding: 0;
				font-size: 4.0vw;
				line-height: 160%;
				font-weight: var(--main-font-bold2);
			}
			div.school_cont div.address p {
				margin: 1em 0 0;
				padding: 0;
				font-size: 3.4vw;
				line-height: 160%;
			}
			div.school_cont div.address small {
				margin: 0.5em 0 0;
				padding: 0;
				font-size: 3.0vw;
				line-height: 160%;
			}
		div.school_cont div.address img {
			width: 49%;
			height: auto;
			margin: 0;
			padding: 0;
		}
	div.school_cont div.map {
		width: 100%;
		height: 25em;
		margin: 5% 0 0;
		padding: 0;
		position: relative;
	}
		div.school_cont div.map iframe {
			position: absolute;
			width: 100%;
			height: 100%;
			margin: 0;
			padding: 0;
			top: 0;
			left: 0;
		}

/* トピックス・お知らせ */
#topics_cont {
	width: 100%;
	margin: 10% auto 0;
	padding: 0 4.5% 5%;
}
	#topics_cont div.topics_l {
		width: 100%;
		margin: 0;
		padding: 0;
	}
		#topics_cont div.topics_l h3.topics_ttl {
			display: block;
			width: 100%;
			margin: 0;
			padding: 2% 0.5em;
			font-size: 4.0vw;
			line-height: 160%;
			font-weight: var(--main-font-bold2);
			text-align: left;
			color: #fff;
			background: #d2273a;
		}
		#topics_cont div.topics_l ul.topics_list {
			width: 100%;
			margin: 0;
			padding: 0;
			list-style: none;
		}
			#topics_cont div.topics_l ul.topics_list li {
				width: 100%;
				margin: 5% 0 0;
				padding: 0;
			}
				#topics_cont div.topics_l ul.topics_list li a {
					margin: 0;
					padding: 0;
					display: flex;
					color: #000;
					background: #eee;
					text-decoration: none;
				}
					#topics_cont div.topics_l ul.topics_list li a .img {
						width: 50%;
						height: 8em;
						margin: 0;
						padding: 0;
						background: #d0cbcc;
					}
						#topics_cont div.topics_l ul.topics_list li a .img img {
							display: block;
							width: 100%;
							height: 100%;
							object-fit: cover;
						}
					#topics_cont div.topics_l ul.topics_list li a .txt {
						width: 70%;
						margin: 0 0 0 -20%;
						padding: 0;
					}
						#topics_cont div.topics_l ul.topics_list li a .txt h4 {
							width: 100%;
							margin: 1em 0 0;
							padding: 0.5em;
							font-size: 3.4vw;
							line-height: 150%;
							color: #fff;
							font-weight: var(--main-font-bold2);
							text-align: left;
							background: #142f38;
							overflow: hidden;
							text-overflow: ellipsis;
							white-space: nowrap;
						}
						#topics_cont div.topics_l ul.topics_list li a .txt div.cat {
							margin: 0.5em 3% 0 0;
							padding: 0;
							font-size: 3.2vw;
							line-height: 150%;
							font-weight: var(--main-font-bold2);
							text-align: right;
						}
						#topics_cont div.topics_l ul.topics_list li a .txt div.date {
							margin: 1em 3% 0 0;
							padding: 0;
							font-size: 3.2vw;
							line-height: 150%;
							text-align: right;
						}
		#topics_cont div.topics_l div.topics_main {
			width: 100%;
			margin: 5% 0 0;
			padding: 0;
		}
			#topics_cont div.topics_l div.topics_main div.cat_day {
				margin: 0;
				padding: 0;
				display: flex;
				justify-content: space-between;
			}
				#topics_cont div.topics_l div.topics_main div.cat_day span.cat {
					display: inline-block;
					margin: 0;
					padding: 0.2em 1em;
					font-size: 3.2vw;
					line-height: 160%;
					color: #000;
					font-weight: var(--main-font-bold2);
					background: #fdd7db;
				}
				#topics_cont div.topics_l div.topics_main div.cat_day span.date {
					margin: 0;
					padding: 0;
					font-size: 3.2vw;
					line-height: 160%;
					color: #c12330;
					font-weight: var(--main-font-bold2);
				}
		#topics_cont div.topics_l div.blog_main {
			margin: 10% 0 0;
			padding: 0;
			text-align: left;
		}
			#topics_cont div.topics_l div.blog_main div,
			#topics_cont div.topics_l div.blog_main p {
				margin: 1.5em 0 0;
				padding: 0;
				font-size: 3.6vw;
				line-height: 180%;
			}
				#topics_cont div.topics_l div.blog_main div img,
				#topics_cont div.topics_l div.blog_main p img {
					max-width: 100%;
					height: auto;
					border-radius: 0.2em;
				}
					#topics_cont div.topics_l div.blog_main div .caption,
					#topics_cont div.topics_l div.blog_main p .caption {
						margin: 0.2em 0 0 !important;
						padding: 0 3% !important;
						text-align: right;
					}
				#topics_cont div.topics_l div.blog_main div strong,
				#topics_cont div.topics_l div.blog_main p strong,
				#topics_cont div.topics_l div.blog_main div b,
				#topics_cont div.topics_l div.blog_main p b {
					font-weight: var(--main-font-bold2);
					color: #c12330;
				}
				#topics_cont div.topics_l div.blog_main h1,
				#topics_cont div.topics_l div.blog_main h2 {
					margin: 2em 0 0;
					padding: 0.5em;
					font-size: 3.8vw;
					line-height: 180%;
					font-weight: var(--weight-bold1);
					color: #fff;
					text-align: center;
					background: #d2273a;
				}
				#topics_cont div.topics_l div.blog_main h3,
				#topics_cont div.topics_l div.blog_main h4 {
					margin: 1.5em 0 0;
					padding: 0 0 0.2em 1.0em;
					font-size: 3.6vw;
					line-height: 180%;
					border-bottom: 1px solid #d2273a;
					border-left: 5px solid #d2273a;
				}
				#topics_cont div.topics_l div.blog_main h3 {
					font-weight: var(--weight-bold2);
				}
				#topics_cont div.topics_l div.blog_main h4 {
					font-weight: var(--weight-bold1);
				}
				#topics_cont div.topics_l div.blog_main h5,
				#topics_cont div.topics_l div.blog_main h6 {
					margin: 1.2em 0 0;
					padding: 0 0 0.2em;
					font-size: 3.6vw;
					line-height: 180%;
					font-weight: var(--weight-bold1);
					border-bottom: 1px solid #d2273a;
				}
				#topics_cont div.topics_l div.blog_main div.wp-block-column {
					display: block;
				}
		#topics_cont div.topics_l div.pager {
			margin: 8% auto 0;
			padding: 0;
			position: relative;
		}
			#topics_cont div.topics_l div.pager .prev,
			#topics_cont div.topics_l div.pager .next {
				position: absolute;
				display: block;
				width: 25%;
				margin: 0;
				padding: 0;
				top: 0;
			}
			#topics_cont div.topics_l div.pager .prev {
				left: 0;
			}
			#topics_cont div.topics_l div.pager .next {
				right: 0;
			}
				#topics_cont div.topics_l div.pager .prev a,
				#topics_cont div.topics_l div.pager .next a {
					width: 100%;
					height: 3.5em;
					margin: 0;
					padding: 0;
					top: 0;
					font-size: 3.6vw;
					line-height: 140%;
					text-decoration: none;
					color: #fff;
					background: #d2273a;
					display: flex;
					justify-content: center;
					align-items: center;
				}
			#topics_cont div.topics_l div.pager .top {
				width: 40%;
				margin: 0 auto;
				padding: 0;
			}
				#topics_cont div.topics_l div.pager .top a {
					width: 100%;
					height: 3.5em;
					margin: 0;
					padding: 0 0 0 5px;
					top: 0;
					font-size: 3.6vw;
					line-height: 140%;
					text-decoration: none;
					color: #fff;
					background: #d2273a;
					display: flex;
					justify-content: center;
					align-items: center;
				}

		#topics_cont div.topics_l div.wp-pagenavi {
			margin: 10% auto 0;
			padding: 0;
			display: flex;
			justify-content: center;
		}
			#topics_cont div.topics_l div.wp-pagenavi span,
			#topics_cont div.topics_l div.wp-pagenavi a {
				width: 2.5em;
				height: 2.5em;
				margin: 0 0.5em;
				font-size: 3.4vw;
				line-height: 200%;
				display: flex;
				justify-content: center;
				align-items: center;
				border-radius: 50%;
			}
				#topics_cont div.topics_l div.wp-pagenavi span {
					background: #ffdbdf;
				}
				#topics_cont div.topics_l div.wp-pagenavi a {
					text-decoration: none;
					color: #fff;
					background: #d2273a;
				}

	#topics_cont div.topics_r {
		width: 100%;
		margin: 15% 0 0;
		padding: 0 2%;
	}
		#topics_cont div.topics_r div.archive_cont {
			width: 100%;
			margin: 0;
			padding: 0;
		}
			#topics_cont div.topics_r div.archive_cont h3.archive_ttl {
				width: 100%;
				margin: 0;
				padding: 0.2em;
				color: #fff;
				background: #d2273a;
			}
			#topics_cont div.topics_r ul.cat_list {
				width: 100%;
				margin: 0;
				padding: 0;
				text-align: left;
				list-style: none;
			}
				#topics_cont div.topics_r ul.cat_list li {
					margin: 0.5em 0 0;
					padding: 0 0 0 1.0em;
				}
					#topics_cont div.topics_r ul.cat_list li:before {
						content: '・';
						display: inline-block;
						margin: 0 0.2em 0 0;
						padding: 0;
					}
					#topics_cont div.topics_r ul.cat_list li a {
						font-size: 3.6vw;
						line-height: 160%;
						font-weight: var(--main-font-bold1);
						text-decoration: none;
					}


/* お問い合わせフォーム */
div.contact_read {
	width: 96%;
	margin: 10% auto 0;
	padding: 3% 5%;
	text-align: left;
	color: #fff;
	background: #d2273a;
	border-radius: 0.2em;
}
	div.contact_read strong {
		display: block;
		margin: 1em 0 0;
		padding: 0 0 0 1.8em;
		text-indent: -0.9em;
		font-size: 4.2vw;
		line-height: 160%;
		font-weight: var(--main-font-bold2);
	}
		div.contact_read strong:first-of-type {
			margin: 0;
		}
		div.contact_read strong span {
			display: inline-block;
			margin: 0 0.5em 0 0;
			padding: 0;
			font-size: 5vw;
			line-height: 160%;
			font-family: "Reddit Sans Condensed", system-ui;
			font-optical-sizing: auto;
			font-weight: var(--main-font-extrabold);
		}
	div.contact_read p {
		display: block;
		margin: 0;
		padding: 0;
		font-size: 3.6vw;
		line-height: 160%;
	}
div.form_top {
	margin: 8% auto 0;
	padding: 0 4.5%;
	text-align: left;
}
	div.form_top p {
		margin: 1em auto 0;
		padding: 0;
		font-size: 3.6vw;
		line-height: 220%;
	}
		div.form_top p:first-child {
			margin: 0 auto;
		}
		div.form_top p strong {
			color: #c12330;
			font-weight: var(--main-font-bold2);
		}
div.form1 {
	margin: 0 auto;
	padding: 0 4.5% 10%;
}
	div.form1 div.form_in {
		width: 100%;
		margin: 0 auto;
		padding: 0;
	}
		div.cont_tbl {
			width: 100%;
			margin: 0 auto;
			padding: 0;
		}
			div.cont_tbl dl {
				width: 100%;
				margin: 0 auto;
				padding: 0;
				text-align: left;
			}
				div.cont_tbl dl ::placeholder {
					color: #aaa;
				}
				div.cont_tbl dl dt {
					width: 100%;
					margin: 5% 0 0;
					padding: 0.5em 3%;
					font-size: 3.6vw;
					line-height: 160%;
					color: #fff;
					font-weight: var(--main-font-nomal);
					background: #d2273a;
				}
					div.cont_tbl dl dt span {
						display: inline-block;
						margin: 0 0 0 0.5em;
						margin: 0 0 0 5px;
						padding: 0 0.5em;
						color: #fff;
					}
				div.cont_tbl dl dd {
					width: 100%;
					margin: 0;
					padding: 0.2em 0 0;
					font-size: 3.6vw;
					line-height: 160%;
				}
					div.cont_tbl dl dd p {
						margin: 0;
						padding: 0;
					}
					div.cont_tbl dl dd .wpcf7-list-item {
						display: block;
						margin: 0 !important;
					}
			#name ,#kana ,#telno ,#email ,#email2 ,#telno {
				width: 100%;
				padding: 2% 3%;
				font-size: 3.8vw;
				line-height: 170%;
				font-family: "Noto Sans JP", system-ui;
				border: none;
				background: #F9F9F9;
			}
			#school {
				width: 50%;
				padding: 2% 3%;
				font-size: 3.8vw;
				line-height: 170%;
				font-family: "Noto Sans JP", system-ui;
				border: none;
				background: #F9F9F9;
			}
			#birthday1 ,#birthday2 ,#birthday3 {
				width: 27%;
				padding: 2% 3%;
				font-size: 3.8vw;
				line-height: 170%;
				font-family: "Noto Sans JP", system-ui;
				border: none;
				background: #F9F9F9;
			}
			#message {
				width: 100%;
				height: 10em;
				padding: 2% 3%;
				font-size: 3.8vw;
				line-height: 170%;
				font-family: "Noto Sans JP", system-ui;
				border: none;
				background: #F9F9F9;
			}
		div.cont_tbl input[type=checkbox]
		,div.cont_tbl input[type=radio] {
			margin: 0 0.5em 0 0;
			width: 1.2em;
			height: 1.2em;
			vertical-align: -0.1em;
		}
		div.cont_tbl div.privacy_box {
			width: 100%;
			height: 15em;
			margin: 0;
			padding: 5% 5%;
			font-size: 3.2vw;
			line-height: 180%;
			font-family: 'Noto Serif JP', "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
			background: #F9F9F9;
			overflow-y: auto;
		}
			div.cont_tbl div.privacy_box storng {
				font-weight: var(--main-font-bold1);
			}
		div.cont_tbl div.privacy_link {
			margin: 0.5em 0 0;
			padding: 0;
			display: flex;
			justify-content: center;
		}
			div.cont_tbl div.privacy_link label {
				display: inline-block;
				margin: 0 1em;
				padding: 0;
			}

	#contact_btn {
		width: 100%;
		margin: 0 auto;
		padding: 15% 0 0;
		text-align: center;
	}

	div.form_btn1 {
		display: inline-block;
		width: 90%;
		margin: 5px auto;
	}
		#contact_btn div.form_btn1 p {
			display: inline-block;
			width: 100%;
			height: 3.6em;
			margin: 0 auto;
			position: relative;
		}
		div.cont_tbl div.form_btn1 input[type="submit"] {
			width: 100%;
			height: 3.8em;
			margin: 0 auto;
			padding: 0 5% 0 0;
			font-size: 3.6vw;
			line-height: 160%;
			text-decoration: none;
			text-align: center;
			color: #fff;
			background: #d2273a;
			border: 2px solid #d2273a;
			border-radius: 1.9em;
			cursor: pointer;
			display: flex;
			justify-content: center;
			align-items: center;
			position: relative;
		}
			#contact_btn div.form_btn1 p:after {
				position: absolute;
				display: block;
				content: '';
				width: 0.6em;
				height: 0.9em;
				margin: auto;
				padding: 0;
				background: url(../images/icon/arrow_01.png) center / contain no-repeat;
				top: 50%;
				right: 5%;
				transform: translateY(-50%);
				-webkit- transform: translateY(-50%);
			}

	div.form_btn2 {
		display: inline-block;
		width: 90%;
		margin: 5px auto;
	}
		#contact_btn div.form_btn2 p {
			display: inline-block;
			width: 100%;
			height: 3.6em;
			margin: 0 auto;
			position: relative;
		}
		div.cont_tbl div.form_btn2 input[type="button"] {
			width: 100%;
			height: 3.8em;
			margin: 0 auto;
			padding: 0 5% 0 0;
			font-size: 3.6vw;
			line-height: 160%;
			text-decoration: none;
			text-align: center;
			color: #fff;
			background: #000;
			border: 2px solid #000;
			border-radius: 1.9em;
			cursor: pointer;
			display: flex;
			justify-content: center;
			align-items: center;
			position: relative;
		}
			#contact_btn div.form_btn2 p:after {
				position: absolute;
				display: block;
				content: '';
				width: 0.6em;
				height: 0.9em;
				margin: auto;
				padding: 0;
				background: url(../images/icon/arrow_01.png) center / contain no-repeat;
				top: 50%;
				right: 5%;
				transform: translateY(-50%);
				-webkit- transform: translateY(-50%);
			}

div.top_btn {
	margin: 10% auto 0;
	padding: 0;
}
	div.top_btn a {
		display: block;
		width: 80%;
		margin: 0 auto;
		padding: 0.8em;
		font-size: 4vw;
		line-height: 200%;
		text-decoration: none;
		text-align: center;
		font-weight: var(--main-font-nomal);
		letter-spacing: 0.05em;
		color: #fff;
		background: #395737;
		border-radius: 2.0em;
	}


/* 住所自動入力 */
#postno_btn {
	margin: 0 0 0 1em;
	padding: 0.5em 1em;
	font-size: 3.0vw;
	line-height: 160%;
	background: #395737;
	color: #fff;
	font-weight: var(--main-font-light);
	border: 1px solid #395737;
	border-radius: 1.5em;
	cursor: pointer;
}


/* LOGUARD */
#simplesenveloparea canvas {
	width:30%;
	margin: 5px 0 0;
	padding: 0;
	border: 1px solid #c2c2c2;
}
div.lc-notion {
	margin-top: 5px;
	font-size: 3.4vw;
	color: #FF3333;
	line-height: 120%;
}
#simplesenveloparea div p {
	margin: 0 auto;
	padding: 0;
}

input.lc-danger {
	background: #faeeee;
}


