@charset "UTF-8"; /* CSS Document */


/*お問い合わせ*/
.contact_box {
	display: flex;
	flex-flow: column;
}

.contact_box p {
	font-size: 18px;
	margin: 0 0 20px;
	text-align: center;
	color: #0376B5;
}

.contact_box p br {
	display: none;
}

.contact_box_title {
	font-size: 16px;
	line-height: 30px;
	margin-bottom: 21px;
	text-align: center;
	color: #4C4C4C;
}

.contact_box_contact {
	display: flex;
	justify-content: center;
	width: 100%;
	max-width: 770px;
	margin: 0 auto;
}

.contact_item {
	font-size: 18px;
	font-weight: 600;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	box-sizing: border-box;
	width: 50%;
	min-width: 390px;
	margin: 0 20px;
	padding: 13px 30px;
	text-align: center;
	letter-spacing: 0;
	word-break: break-all;
	color: #4C4C4C;
	border-radius: 10px;
	background: #FFFFFF;
}

.contact_item b {
	font-weight: bold;
	width: 100%;
}
.contacttel_list {
	display: flex;
	flex-flow: column;
	width: 100%;
}
.contacttel_list b {
	padding: 6px 0;
}

.contact_item:before {
	margin-right: .7em;
	content: "";
}

.contact_tel:before {
	width: 38px;
	height: 35px;
	margin-right: 20px;
	background: url(../img/inquiry_icon_phone.png) top left no-repeat;
	background-size: contain;
}

.contact_mail:before {
	width: 34px;
	height: 31px;
	background: url(../img/inquiry_icon_mail.png) top left no-repeat;
	background-size: contain;
}

.contact_mail a {
	line-height: 22px;
	padding-bottom: 0;
	border-bottom: 1px solid #0985C8;
}

@media screen and (max-width: 890px) {
	.contact_box {
		width: 100%;
	}

	.contact_item:before {
		width: 42px;
		margin-right: 15px;
		content: "";
	}

	.contact_box p br {
		display: inline;
	}

	.contact_box_contact {
		flex-flow: column;
		max-width: 100%;
	}

	.contact_item {
		font-size: 16px;
		width: 100%;
		min-width: auto;
		margin: 0 0 10px;
		padding: 13px 18px;
		text-align: left;
	}

	.contact_item:last-of-type {
		margin-bottom: 0;
	}
}



/* 日程 */
.l-contents--schedule {
	padding: 90px 0;
}

.contents--schedule {
	padding-bottom: 0;
}

.areabox {
	margin-bottom: 30px;
}

.area__inner {
	overflow: hidden;
	border-radius: 18px;
	background: #ECF5FA;
}

.areatitle {
	padding: 20px;
	text-align: center;
	background: url(../img/handson/pattern_blue.jpg) top center no-repeat;
	background-size: cover;
}

.areatitle__name {
	font-size: 24px;
	line-height: 1;
	margin: 0 auto 7px;
	color: #FFFFFF;
}

.areatitle__room {
	font-size: 16px;
	font-weight: 500;
	display: block;
	margin-bottom: 13px;
	color: #FFFFFF;
}

.areatitle .areatitle__map {
	max-width: 190px;
}

.targetbox {
	display: flex;
	flex-flow: row;
	margin: 0;
	padding: 30px;
	list-style: none;
}

.target__name {
	font-size: 16px;
	font-weight: 500;
	display: flex;
	align-items: center;
	margin: 0;
	margin-right: 30px;
}

.target__name img {
	max-width: 24px;
	margin-right: 6px;
}

.target__name--shinki {
	color: #3ABDE4;
}

.target__name--kizon {
	color: #0985C8;
}

.schedulebox {
	padding: 30px 30px;
}

.schedule__title {
	font-weight: 500;
	display: flex;
	justify-content: space-around;
	color: #FFFFFF;
	border: 1px solid #CCCCCC;
	background: #0985C8;
}

.scheduletitle__day {
	line-height: 1;
	box-sizing: border-box;
	width: 30%;
	padding: 10px;
	text-align: center;
	color: #FFFFFF;
	border-right: 1px solid #CCCCCC;
	background: #0985C8;
}

.scheduletitle__target {
	line-height: 1;
	box-sizing: border-box;
	width: 15%;
	padding: 10px;
	color: #FFFFFF;
	border-right: 1px solid #CCCCCC;
	background: #0985C8;
}

.scheduletitle__time {
	line-height: 1;
	box-sizing: border-box;
	width: 55%;
	padding: 10px;
	color: #FFFFFF;
	border-right: 1px solid #CCCCCC;
	background: #0985C8;
    text-align: center;
}

.scheduletitle__info {
	line-height: 1;
	box-sizing: border-box;
	width: 20%;
	padding: 10px;
	color: #FFFFFF;
	background: #0985C8;
    text-align: center;
}

.schedule__table {
	display: flex;
	justify-content: space-around;
	border: 1px solid #CCCCCC;
	border-top: 0;
	background: #FFFFFF;
}

.scheduletable__day {
	font-size: 16px;
	font-weight: 600;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 30%;
	padding: 10px;
	border-right: 1px solid #DDDDDD;
	background: #F5F5F5;
}
.scheduletable__day .count-few {
	font-size: 14px;
	line-height: 1;
	padding: 4px;
	color: #F96C27;
	border: 1px solid #F96C27;
	border-radius: 3px;
}
.scheduletable__target {
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 15%;
	padding: 10px;
	border-right: 1px solid #CCCCCC;
}

.scheduletable__target img {
	width: 100%;
	max-width: 25px;
	margin: 0 2px;
}

.scheduletable__time {
	line-height: 23px;
	display: flex;
	align-items: center;
	flex-flow: column;
	justify-content: center;
	box-sizing: border-box;
	width: 55%;
	padding: 10px;
	border-right: 1px solid #CCCCCC;
}

.scheduletable__timeinfo {
	font-size: 12px;
}

.scheduletable__info {
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 20%;
	padding: 10px;
}
.scheduletable__info .full {
	font-size: 15px;
	font-weight: 500;
	line-height: 1;
	box-sizing: border-box;
	width: 100%;
	max-width: 120px;
	margin: 0 auto;
	padding: 13px 9px 13px;
	text-align: center;
	color: #666666;
	border-radius: 2em;
	background: #CCCCCC;
}

.scheduletable__info a {
	font-weight: 500;
	line-height: 1;
	box-sizing: border-box;
	width: 100%;
	max-width: 130px;
	margin: 0 auto;
	padding: 13px 9px 13px 15px;
	text-align: center;
	border-radius: 2em;
}

.schedule__table .scheduletitle__day,
.schedule__table .scheduletitle__target,
.schedule__table .scheduletitle__time,
.schedule__table .scheduletitle__info {
	display: none;
}

@media screen and (max-width: 1024px), print {
	.targetbox {
		flex-flow: column;
		padding: 20px;
	}

	.target__name {
		margin-bottom: 10px;
	}

	.target__name:last-of-type {
		margin-bottom: 0;
	}

	.schedulebox {
		padding: 20px 20px;
	}

	.schedule__table {
		flex-flow: column;
	}

	.schedule__title {
		display: none;
	}

	.scheduletable__day {
		width: 100%;
		border: none;
		border-bottom: 1px solid #DDDDDD;
	}

	.scheduletable__target {
		width: 100%;
		border: none;
		border-bottom: 1px solid #CCCCCC;
	}

	.scheduletable__time {
		width: 100%;
		border: none;
		border-bottom: 1px solid #CCCCCC;
	}

	.scheduletable__info {
		width: 100%;
	}

	.schedule__table .schedule__header {
		display: block;
		width: 100%;
		padding: 13px;
		border: none;
		border-bottom: 1px solid #CCCCCC;
	}

	.schedule__table .schedule__item {
		padding: 13px;
	}

	.schedule__table .scheduletable__day {
		font-size: 18px;
	}
}
