
/*ワークショップ
---------------------------------------------*/
#workshop {
	background: url(../images/pc_koushijin_back.jpg);
    background-position: top left;
    background-repeat: no-repeat;
	background-color: #000;
	color: #fff;
	padding: 180px 0 180px 0;

	h2 {
		font-size: 50px;
		margin-bottom: 0;

		&:nth-of-type(2) {
			font-size: 40px;
			margin-bottom: 50px;
		}
	}

	.description {
		font-size: 26px;
		text-align: center;
		margin-bottom: 180px;
	}

	.point {
		display: flex;
		justify-content: space-between;
		margin-top: 50px;

		&:not(:last-child) {
			margin-bottom: 180px;
		}

		.inner-point.lesson {
			display: flex;
			flex-direction: column;
			align-items: flex-start;
			justify-content: space-between;
			
			p {
				width: 480px;
			}

			.point-square {
				font-size: 20px;
				font-weight: bold;
				border: solid 1px #fff;
				padding: 15px 20px;

				.small {
					font-size: 16px;	
				}
			}

			.lesson-detail {
				font-size: 15px;
				display: block;
				text-align: center;
				background-color: #CECECE;
				padding: 4px 0 2px 0;
				color: #000;
				margin-top: 0;
			}

			.list-detail {
				width: 100%;
				height: 100%;
				background-color: #F2F2F2;
                color: #000;
                margin: 0;
                padding: 15px 20px;
                display: block;

				.detail {
					font-size: 15px;
					position: relative;
					padding: 0;
					padding-left: calc(1em + 4px);

					&:not(:last-child)::before {
						content: "・";
						display: block;
						position: absolute;
						top: 0;
						left: -3px;
					}
				}
			}
		}

		.inner-point.flow {
			& >	p {
				display: block;
				font-size: 20px;
				margin: 17px 0 15px 0;
			}

			.list-flow {
				display: flex;
				justify-content: space-between;

				.inner-list-flow {
					width: 260px;

					.point-square {
						position: relative;
						font-size: 20px;
						text-align: center;
						padding: 15px 0;
						border: solid 1px #fff;

						.small {
							font-size: 16px;
						}

						&:not(:last-child)::before {
							content: "選抜";
							width: 70px;
							height: 80px;

							font-size: 16px;
							color: #000;

							display: block;
							position: absolute;
							top: 0;
							bottom: 0;
							right: -90px;
							margin: auto;
							padding: 28px 28px 28px 10px;

							z-index: 2;
						}

						&:not(:last-child)::after {
							content: "";
							width: 0;
							height: 0;
							border-style: solid;
							border-top: 40px solid transparent;
							border-bottom: 40px solid transparent;
							border-left: 70px solid #cecece;
							border-right: 0;

							position: absolute;
							top: 0;
							bottom: 0;
							right: -90px;
							margin: auto;
							z-index: 1;
						}

						&:last-child {
							border: solid 1px #FFFF64;
						}
					}

					dt {
						margin-top: 15px;

						.small {
							font-size: 14px;
						}
					}

					&:last-of-type dd {
						color: #FFFF64;
					}
				}
			}
		}

		.flow-note {
			width: 630px;
			font-size: 20px;
			margin-top: 20px;
			padding: 15px 40px;
			background-color: #575757;

			text-align: center;

		}
	}
}

.point-title {
	width: 100%;
	display: block;
	text-align: center;

	font-size: 15px;
	font-weight: bold;
	background-color: #575757;
	color: #fff;

	padding: 4px 0 2px 0;
	margin-top: 20px;
}

#target {
    background: url(../images/pc_koushijin_back_2.jpg);
    background-position: top;
    background-repeat: no-repeat;
    background-size: cover;
    padding-bottom: 180px;
    background-color: #000;

	h2 {
		padding: 180px 0 0 0;
		color: #fff;
		font-size: 40px;
		text-align: center;
	}

	.target_box {
		width: 1000px;
		margin: 0 auto;
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;

		.t_detail {
			text-align: center;
			width: 280px;
			display: flex;
			flex-direction: column;
			justify-content: center;

			img {
				width: 199px;
				margin: 0 auto;
			}

			p {
				color: #fff;
				padding-top: 29px;
				margin: 0 -24px 0 -24px;
			}
		}

		&.w700 {
			width: 650px;
			margin-top: 30px;
		}
	}
}

#instructor, #voices {
	background-color: #000;
	color: #fff;
	padding-bottom: 180px;

	

	h2 {
        padding-top: 180px;
		margin-bottom: 50px;
	}

	.list-instructor, .list-voices {
		display: flex;
		flex-wrap: wrap;
		margin: 15px 0 0 0;
		gap: 50px 20px;

		.inner-list-instructor, .inner-list-voices {
			img {
				width: 184px;
				height: 184px;
			}

			p {
				font-size: 20px;
				margin-top: 10px;
				text-align: center;

				span {
                    display: block;
                    font-size: 15px;
                    color: #CECECE;
					
                    line-height: 1.6em;
				}
			}
			
			&:first-of-type .wrapper-more::before {
					width: 17px;
			}
		}
	}

	.list-voices { margin: 15px 0 0 0; }
}
#instructor { padding-bottom: 0; }

#instractor-modal, #voices-modal {
	display: none;
	position: fixed;
    top: 0;
	bottom: 0;
    right: 0;
    left: 0;
    z-index: 9999;
	
    max-width: min(1000px, calc(100% - 40px));
    height: 100%;
	padding: 270px 0;
	margin: 0 auto;
	overflow-y: auto;

	.inner-sec-modal {
		position: relative;

		.btn-close {
			background-image: url(../images/btn_close.svg);
			position: absolute;
			cursor: pointer;
			top: -90px;
			right: 0;
			width: 40px;
			height: 40px;
			z-index: 9999999;
		}
	}

	.i_detail {
		width: 1000px;
		text-align: center;
		display: flex;
		justify-content: space-around;
		position: relative;
		z-index: 99;

		.i_photo {
			width: 214px;

			img {
				width: 214px;
				height: auto;
			}

			p {
				color: #fff;
				padding-top: 10px;
				font-size: 20px;
			}

		}

		.i_character {
			width: 745px;
			text-align: left;

			p {
				font-size: 15px;
				color: #fff;

				&.profile-title {
					width: 745px;
					display: block;
					text-align: center;
					background-color: #575757;
					padding: 4px 0 2px 0;
					margin-bottom: 15px;
				}

				&.profile-theme {
					width: 745px;
					display: block;
					text-align: center;
					background-color: #CECECE;
					padding: 4px 0 2px 0;
					color: #000;
					margin-top: 20px;
				}
			}
			
			.list-modal-theme {
				background-color: #F2F2F2;
				color: #000;
				margin: 0;
				padding: 15px 20px;

				display: block;

				.modal-theme {
					padding: 0;
					/* position: relative;
					padding-left: calc(1em + 4px);

					&:before {
						content: "・";
						display: block;
						position: absolute;
						top: 0;
						left: -3px;
					} */
				}
			}
		}
	
	}

	&::-webkit-scrollbar {
    	width: 1px;
	}

	&::-webkit-scrollbar-thumb {
		background: rgba(255,255,255,.001);
		border-radius: 999px;
	}

	.shadow {
		position: fixed;
        top: 0;
        right: 0;
        left: 0;
        width: 100%;
        height: 100%;
		background-color: rgba(0, 0, 0, 0.8);
	}
}

.schedule_box {
    margin: 50px auto;
    border: 1px solid #000;
    width: 100%;
    background-color: #fff;
    font-weight: bold;

    .schedule_title {
        background-color: #575757;
        color: #FFFFFF;
        text-align: center;
        padding: 15px 0;
    }

    .wrapper_schedule {
        padding: 20px 0;

        .schedule_detail {
            display: flex;
            text-align: center;
            justify-content: center;

            ul {
                flex-direction: column;
                text-align: right;
                margin: 0;

                li {
                    list-style: none;
                    padding: 12px 35px 20px 0;
                }

                &:last-child li {
                    padding: 12px 0 20px 0;
                }
            }
        }
    }

}


@media screen and (max-width: 767px) {

	ul.menu {
		align-items: flex-start;

		li {
			padding: 4vw 0vw 4vw 10vw;

			&.course_child {
				padding: 2vw 0 2vw 0;
			}
			
			&.burger-btn {
				padding: 0;
			}

			a {
				color: #fff;
			}	
		}
		
		.contact_btn.spout {
			margin: 0 auto;
			width: 85.33vw;
			min-height: 15.4vw;
			margin-top: 18.67vw;

			a {
				background: url(../images/sp/sp_contact_btn.png);
				background-size: contain;
				background-repeat: no-repeat;
			}
		}
	}

	#workshop {
		background-image: url(../images/sp/sp_koushijin_back.jpg);
		background-position: top center;
		background-size: contain;
		padding: 20.5128vw 0;

		h2 {
			font-size: 9.2307vw;
			margin-bottom: 0;

			&:nth-of-type(2) {
				font-size: 6.4102vw;
				margin-bottom: 7.6923vw;
			}
		}

		h3 {
			font-size: 4.6153vw;
			margin-bottom: 7.6923vw;
		}

		.description {
			font-size: 5.1282vw;
			margin-bottom: 20.5128vw;
		}

		.point {
			flex-direction: column;
			margin-top: 7.1794vw;

			&:not(:last-child) {
				margin-bottom: 7.1794vw;
			}

			.inner-point.lesson {
				display: flex;
				align-items: flex-start;
				justify-content: space-between;
				flex-direction: column;
				
				p {
					width: 90.2564vw;
					display: block;
					margin: 0 auto;
				}

				.lesson-detail {
					font-size: 3.8461vw;
					display: block;
					text-align: center;
					background-color: #CECECE;
					padding: 4px 0 2px 0;
					color: #000;
					margin-top: 0;
				}

				.list-detail {
					width: 90.2564vw;
					height: 100%;
					background-color: #F2F2F2;
					color: #000;
					margin: 0 auto;
					padding: 3.8461vw 5.1282vw;
					display: block;

					.detail {
						font-size: 3.8461vw;
						position: relative;
						font-size: 3.8461vw;
						padding: 0;
						padding-left: calc(1em + -2px);
					}
				}

				&:last-child {
					margin-top: 5.1282vw;
				}
			}
		}
	}

	.point-title {
		font-size: 3.8461vw;
		margin-top: 5.1282vw;
	}

	#target {
		background: url(../images/sp/sp_koushijin_back_2.jpg);
		background-position: top center;
		background-repeat: no-repeat;
		background-size: contain;
		padding-bottom: 10.2564vw;
		background-color: #000;

		h2 {
			font-size: 6.4vw;
			margin: 0;
			padding: 20.5128vw 0 7.6923vw;
			text-align: center;
		}

		.target_box {
			width: 90.2564vw;
			margin-top: 0;
			flex-direction: column;

			.t_detail {
				flex-direction: row;
				justify-content: left;
				align-items: center;
				text-align: left;
				width: 90.2564vw;
				min-height: 26.6666vw;
				margin-bottom: 5.8974vw;

				/* &:last-child {
					margin-bottom: 0;
				} */

				img {
					width: 25.6410vw;
					height: 25.6410vw;
					margin: 0;
				}

				p {
					font-size: 4vw;
					margin: 0;
					padding-left: 3.4666vw;
					padding-top: 0;
				}
			}

			&.w700 {
				width: 90.2564vw;
				margin-top: 0;
				flex-direction: column;

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

	#instructor, #voices {
		background-color: #000;
		color: #fff;
		padding-bottom: 28.2051vw;

		h2 {
			font-size: 6.4102vw;
			padding-top: 10.2564vw;
			margin-bottom: 7.6923vw;
		}

		h3 {
			margin-bottom: 7.6923vw;
		}

		.list-instructor, .list-voices {
			display: flex;
			flex-wrap: nowrap;
			align-items: flex-start;
			margin: 0;
			gap: 0;

			.inner-list-instructor, .inner-list-voices {
				img {
					width: 42.5641vw;
					height: 42.5641vw;
				}

				p {
					font-size: 20px;
					margin-top: 10px;
					text-align: center;

					span {
						display: block;
						font-size: 15px;
						color: #CECECE;
						
						line-height: 1.6em;
					}
				}

				&:first-of-type .wrapper-more::before {
					width: 18px;
				}
			}

			li:not(:last-child) {
				padding: 0;
			}
		}

		.list-voices { margin: 15px 0 0 0; }
	}

	#instructor { padding-bottom: 0; }

	#voices {

		.point {
			width: 90.2564vw;
			margin: 0 auto;

			.splide__track {
				height: 57.9487vw
			}
		}
		h2 {
			font-size: 6.4102vw;
			padding-top: 28.2051vw;
			margin-bottom: 7.6923vw;
		}

		/* ページネーション全体 */
		.splide__pagination {
			width: 28.2051vw;
			height: 2.5641vw;
			gap: 2.5641vw;
			bottom: -2em;
			margin: 0 auto;
			flex-wrap: nowrap;

			li {
				padding: 0;
			}
		}

		/* 各ドット */
		.splide__pagination__page {
			width: 2.5641vw;
			height: 2.5641vw;
			background: #575757;
			border-radius: 0;
			opacity: 1;
			margin: 0;
		}

		/* アクティブなドット */
		.splide__pagination__page.is-active {
			background: #326ED5;
			transform: scale(1);
		}
	}

	#instractor-modal, #voices-modal {
		max-width: none;
		/* height: 165.8974vw; */
		padding: 25.6410vw 0;
		width: 100%;
		height: 100%;
		justify-content: center;

		.inner-sec-modal {

			.btn-close {
				top: -75px;
				width: 10.2564vw;
				height: 10.2564vw;
			}
		}

		.i_detail {
			width: 90.2564vw;
			flex-direction: column;
			align-items: center;

			.i_photo {
				display: flex;
				flex-direction: column;
                align-items: center;
				width: auto;

				img {
					width: 42.5641vw;
					height: auto;
				}

				p {
					color: #fff;
					font-size: 4.6153vw;
				}
			}

			.i_character {
				width: 100%;
				padding-bottom: 25.6410vw;

				p {
					font-size: 3.8461vw;

					&.profile-title {
						width: 100%;
						margin-bottom: 3.8461vw;
					}

					&.profile-theme {
						font-size: 3.8461vw;
						width: 100%;
						margin-top: 5.1282vw;
					}
				}
				
				.list-modal-theme {
					padding: 3.8461vw 5.1282vw;

					display: block;

					.modal-theme {
						padding: 0;
					}
				}
			}
		
		}
	}

	#voices-modal {
		.i_detail {
			.i_character {
				p.profile-title {
					margin-top: 5.1282vw;
				}
			}
		}
	}

	#overview {
		h2 {
			font-size: 6.4102vw;
		}
	}

	.schedule_box {
		margin: 7.6923vw auto;
		width: 90.2564vw;

		.schedule_title {
			padding: 15px 0;
		}

		.sp_schedule {
			ul {
				display: flex;
				flex-direction: column;

				li {
					padding: 4vw 0vw 4vw 0;
					text-align: center;
					font-weight: bold;
					font-size: 4.1025vw;

					&:not(:last-child) {
						padding-left: 0;
					}
				}
			}
		}
	}
}