// modal用のmoduleを記述（例）
.fancybox-slide--iframe .fancybox-content {
	background: $black !important;
}
.modal__about {
	position: fixed;
	top: 0;
	right: 0;
	left: 0;
	width: 100%;
	height: 100%;
	text-align: center;
	margin: 0 auto;
	padding: 60px 0;
	z-index: 9000;
	overflow-y: scroll;
	box-sizing: border-box;
	align-items: center;
	justify-content: center;
	align-items: center;
	display: none;
	.modal__about__bg {
		top: 0;
		left: 0;
		position: fixed;
		background: rgba(0, 0, 0, 0.9);
		width: 100%;
		height: 100%;
		@include z-index(mainbg);
	}
	.modal__about__inner {
		width: 80%;
		max-width: 800px;
		margin: 0 auto;
		padding: 40px 24px;
		overflow-y: auto;
		color: $txt;
		background: $white;
		border-radius: 14px;
		@media screen and (max-width: 767px) {
			width: 92%;
			max-width: 92%;
			padding: 40px 4%;
		}
		&--ex {
			width: 90%;
			max-width: 920px;
		}
	}
	.modal__about__col {
		position: relative;
		width: 100%;
		margin: 0 auto 50px;
		line-height: 150%;
		@media screen and (max-width: 767px) {
			margin: 0 auto 34px;
		}
		&:last-child {
			margin: 0 auto !important;
		}
	}
	.modal__about__col__h3 {
		position: relative;
		margin: 0 auto 50px;
		padding: 0;
		font-size: 3em;
		line-height: 120%;
		@include z-index(articlelink);
		@media screen and (max-width: 767px) {
			margin: 0 auto 40px;
			font-size: 2em;
		}
		&::after {
			content: "";
			position: absolute;
			left: 0;
			right: 0;
			bottom: -18px;
			width: 140px;
			height: 4px;
			margin: 0 auto;
			background: $secondary;
			display: block;
		}
	}
	.modal__about__col__h4 {
		position: relative;
		margin: 0 auto 16px;
		padding: 8px;
		font-size: 2em;
		font-weight: 700;
		line-height: 130%;
		color: $white;
		background: $blue;
		border-radius: 100px;
		@include z-index(articlelink);
		@media screen and (max-width: 767px) {
			margin: 0 auto 14px;
			padding: 4px 10px;
			font-size: 1.7em;
		}
	}
	.modal__about__col__txt {
		width: 90%;
		margin: 0 auto;
		text-align: center;
		font-size: 1.8em;
		font-weight: 500;
		line-height: 200%;
		@media screen and (max-width: 767px) {
			width: 98%;
			font-size: 1.6em;
		}
		img {
			margin: 0 auto;
			width: 70%;
			max-width: 400px;
			height: auto;
			border: 1px solid $white;
			display: block;
		}
		&--img {
			width: 100% !important;
			max-width: 100% !important;
			height: auto;
		}
	}
	.modal__about__col__listbox {
		margin: 0 auto 50px;
		padding: 0;
		display: flex;
		flex-wrap: wrap;
	}
	.modal__about__col__box {
		width: 49%;
		margin: 0 2% 18px 0;
		padding: 0;
		border-radius: 10px;
		box-shadow: 0 0 8px rgba(0, 0, 0, 0.2);
		@media screen and (max-width: 767px) {
			width: 100%;
			margin: 0 0 18px;
		}
		&:nth-child(2n) {
			margin: 0 0 18px;
		}
		&__img {
			width: 100%;
			margin: 0 0 12px;
			img {
				width: 100%;
				height: auto;
				border-radius: 10px 10px 0 0;
			}
		}
		&__txt {
			width: 100%;
			margin: 0;
			padding: 0 14px 20px;
			font-size: 1.6rem;
			&--tt {
				margin: 0;
				padding: 0 0 4px 0;
				font-size: 4rem;
				font-weight: 700;
				line-height: 120%;
				font-style: italic;
				@media screen and (max-width: 767px) {
					font-size: 3rem;
				}
				&--blue {
					color: $blue;
				}
				&--red {
					color: $red;
				}
				&--yellow {
					color: $primary;
				}
				&--teal {
					color: $teal;
				}
			}
		}
	}
	.modal__about__col__listbox2 {
		margin: 0 auto 50px;
		padding: 24px 0 0 0;
		display: flex;
		flex-wrap: wrap;
		@media screen and (max-width: 767px) {
			margin: 0 auto 34px;
			padding: 14px 0 0 0;
		}
		.modal__about__col__box {
			position: relative;
			width: 31.66%;
			margin: 0 2% 18px 0;
			padding: 0;
			border-radius: 10px;
			box-shadow: 0 0 8px rgba(0, 0, 0, 0.2);
			@media screen and (max-width: 767px) {
				width: 100%;
				margin: 0 0 18px 0;
			}
			&:nth-child(3n) {
				margin: 0 0 18px;
				@media screen and (max-width: 767px) {
					margin: 0;
				}
			}
			&__num {
				position: absolute;
				top: -17px;
				left: 0;
				right: 0;
				margin: 0 auto;
				width: 34px;
				height: 34px;
				display: flex;
				justify-content: center;
				align-items: center;
				color: $white;
				font-size: 2rem;
				font-weight: 700;
				background: $primary;
				border-radius: 100%;
			}
			&__img {
				width: 50%;
				margin: 14px auto 0;
				@media screen and (max-width: 767px) {
					width: 40%;
				}
				img {
					width: 100%;
					height: auto;
					border-radius: 10px 10px 0 0;
				}
			}
			&__txt {
				width: 100%;
				margin: 0;
				padding: 0 14px 14px;
				font-size: 1.6rem;
				@media screen and (max-width: 767px) {
					font-size: 1.3rem;
				}
				&--tt {
					margin: 0;
					padding: 0 0 4px 0;
					font-size: 1.8rem;
					font-weight: 700;
					line-height: 120%;
					font-style: normal;
				}
			}
		}
	}
	.modal__about__col__listcol {
		margin: 0 0 10px;
		padding: 0;
		list-style-type: none;
		display: flex;
		flex-wrap: wrap;
	}
	.modal__about__col__li {
		width: 33%;
		margin: 0 0.16% 0.01%;
		padding: 0;
		@media screen and (max-width: 767px) {
			width: 49%;
			margin: 0 0.5% 10px;
		}
		img {
			width: 100%;
			height: auto;
		}
	}
	.modal__about__col__movie {
		position: relative;
		width: 80%;
		margin: 0 auto 30px;
		padding: 45.25% 0 0 0;
		@media screen and (max-width: 767px) {
			width: 100%;
			margin: 0 auto 20px;
		}
		iframe {
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
		}
	}
	.modal__about__close {
		position: fixed;
		top: 0;
		right: 0;
		width: 50px;
		height: 50px;
		cursor: pointer;
		background: $primary;
		border: none;
		@include fadeinout;
		&:hover {
			background: $gray;
		}
		span {
			position: absolute;
			left: 0;
			right: 0;
			margin: 0 auto;
			width: 60%;
			height: 2px;
			background: $white;
			border-radius: 4px;
			display: inline-block;
			transition: all 0.4s;
			box-sizing: border-box;
			&:nth-of-type(1) {
				top: 20px;
				transform: translateY(4px) rotate(-315deg);
			}
			&:nth-of-type(2) {
				opacity: 0;
			}
			&:nth-of-type(3) {
				bottom: 20px;
				transform: translateY(-4px) rotate(315deg);
			}
		}
	}
}

.modal__about__com__h3 {
	text-indent: 0 !important;
	font-size: 2.4em;
	font-weight: 700;
	line-height: 140%;
}
.modal__about__com__h4 {
	font-size: 1.4em;
	color: $secondary;
}

.modal__about2 {
	display: flex;
	align-items: center !important;
	justify-content: center !important;
	overflow: hidden;
	display: none;
	.modal__about__col {
		position: relative;
		width: 900px !important;
		margin: 0 auto;
		line-height: 150%;
		@media screen and (max-width: 767px) {
			width: 92% !important;
		}
	}
	.modal__about__close {
		position: absolute !important;
		top: -25px !important;
		right: -25px !important;
		border-radius: 100%;
		background: $primary !important;
	}
	.modal__about__col__movie {
		position: relative;
		width: 100% !important;
		padding: 56.25% 0 0 0 !important;
		@media screen and (max-width: 767px) {
			width: 100%;
			margin: 0 auto 20px;
		}
	}
}
