@charset "UTF-8";


/*
page-nav
---------------------------*/
#page-nav {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	.nav-btn {
		position: relative;
		width: calc(100% / 2);
		height: 50px;
		margin-bottom: 1px;
		&:nth-of-type(even) {
			border-left: 1px solid #fff;
		}
		&:last-of-type {
		    width: 100%;
		}
		a {
		 	display: flex;
		 	align-items: center;
		 	justify-content: center;
			text-align: center;
		 	height: 100%;
		 	text-decoration: none;
		 	color: #fff;
		 	background-color: var(--color-dark);
			transition: opacity 0.2s ease-out;
			padding: 0 20px;
		 	&:hover {
		 		opacity: .9;
		 	}
			span {
				line-height: 1.2;
			}
			&:after {
				position: absolute;
				content: "";
				top: 0;
				bottom: 0;
				right: 10px;
				margin: auto;
				background-image: url(../img/common/arrow-w.svg);
				background-position: center;
				background-repeat: no-repeat;
				background-size: cover;
				width: 12px;
				height: 10px;
				transform: rotate(90deg);
				transition: all 0.3s ease-out;
			}
		}
	}
	@media (min-width: 1000px) {
		flex-wrap: nowrap;
		justify-content: center;
		.nav-btn {
			height: 62px;
			width: calc(100% / 5);
			border-right: 1px solid #fff;
			&:nth-of-type(even) {
				border-left: none;
			}
			&:last-of-type {
				width: calc(100% / 5);
				border-right: none;
			}
		}
	}
}
.detail-box-wrap {
	margin-top: 20px;
	@media (min-width: 1200px) {
		margin-top: 50px;
	}
}
.detail-box {
	border-radius: 2px;
	a {
		display: block;
		padding: 15px;
	}
	.detail {
		padding-top: 20px;
	}
	.more-link {
		padding-top: 20px;
	}
	&:hover {
		.more-link {
			&.bottom {
				span {
					&:after {
						right: 0;
						bottom: -6px;
					}
				}
			}
		}
	}
	.detail-title {
		font-size: var(--font-2xl);
		color: var(--color-dark);
		display: flex;
		align-items: center;
		padding-bottom: 10px;
		>* {
			font-weight: 600;
		}
		span {
			line-height: 1.4;
		}
	}
	@media (min-width: 1200px) {
		a {
			padding: 30px;
		}
		.detail {
			padding-top: 30px;
		}
		.more-link {
			padding-top: 30px;
		}
		.detail-title {
			.serviceNum {
				width: 40px;
				height: 40px;
				margin-right: 20px;
			}
		}
	}
}
.check-list {
	li {
		position: relative;
		display: block;
		font-size: var(--font-l);
		font-weight: 500;
		line-height: 1.5;
		padding-left: 32px;
		&+li {
			margin-top: 10px;
		}
		&:after {
			position: absolute;
			content: "";
			top: -4px;
			left: 0;
			margin: auto;
			background-image: url(../img/common/icon-checks.svg);
			background-position: center;
			background-repeat: no-repeat;
			background-size: cover;
			width: 32px;
			height: 32px;
		}
	}
	@media (min-width: 1000px) {
		padding-bottom: 50px;
		li {
			padding-left: 36px;
			&+li {
				margin-top: 20px;
			}
			&:after {
				top: 0;
			}
		}
	}
}
.check-content-box {
	background-color: #fff;
	margin-top: 30px;
	&.mt-minit {
		margin-top: 10px;
	}
	&.bgType {
		background-color: var(--color-primary-bg);
	}
	dt {
		display: inline-block;;
		background-color: var(--color-secondary);
		font-size: var(--font-l);
		color: #fff;
		padding: 10px 20px 10px 10px;
		span {
			position: relative;
			font-weight: 600;
			padding-left: 32px;
			&:after {
				position: absolute;
				content: "";
				top: -4px;
				left: 0;
				margin: auto;
				background-image: url(../img/common/icon-checks-w.svg);
				background-position: center;
				background-repeat: no-repeat;
				background-size: cover;
				width: 32px;
				height: 32px;
			}
		}
	}
	dd {
		padding: 10px 4vw 20px;
		ul {
			li {
				position: relative;
				line-height: 1.5;
				padding-left: 14px;
				&+li {
					margin-top: 10px;
				}
				&:before {
					content: "";
					display: block;
					width: 8px;
					height: 8px;
					background-color:  var(--color-secondary);
					position: absolute;
					top: 8px;
					left: 0;
					margin: auto;
					border-radius: 50px;
				}
			}
		}
	}
	@media (min-width: 1000px) {
		margin-top: 50px;
		&.mt-minit {
			margin-top: 20px;
		}
		&.column2 {
			dd {
				ul {
					li {
						width: calc((100% - 40px) / 2);
						margin-right: 0;
						&:nth-of-type(3n) {
							margin-right: 0;
						}
						&:nth-of-type(odd) {
							margin-right: 40px;
						}
						&:nth-of-type(n+3) {
							margin-top: 15px;
						}
					}
				}
			}
		}
		dt {
			padding: 10px 30px 10px 10px;
			span {
				padding-left: 36px;
			}
		}
		dd {
			padding: 20px 30px 30px;
			ul {
				display: flex;
				flex-wrap: wrap;
				li {
					width: calc((100% - 80px) / 3);
					margin-right: 40px;
					&+li {
						margin-top: 0;
					}
					&:nth-of-type(3n) {
						margin-right: 0;
					}
					&:nth-of-type(n+4) {
						margin-top: 15px;
					}
				}
			}
		}
	}
}
.dot-title {
	position: relative;
	font-size: var(--font-xxl);
	font-weight: 600;
	padding-left: 14px;
	margin-bottom: .75em;
	&.red {
		&::before {
			background-color: var(--color-primary);
		}
	}
	&:before {
		content: "";
		display: block;
		width: 8px;
		height: 8px;
		background-color:  var(--color-secondary);
		position: absolute;
		top: 6px;
		left: 0;
		margin: auto;
		border-radius: 50px;
	}
	@media (min-width: 1200px) {
		&:before {
			top: 8px;
		}
	}
}
.bd-title {
	display: inline-block;
	position: relative;
	font-size: var(--font-xxl);
	font-weight: 600;
	line-height: 1.5;
	padding-bottom: .5em;
	padding-right: 1em;
	margin-bottom: .75em;
	border-bottom: 1px solid var(--color-secondary);
}
.definition-box-wrap {
	.definition-box {
		background-color: var(--color-primary-bg);
		border-left: 2px solid var(--color-primary);
		padding: 15px 4vw;
		&.em {
		border: 2px solid var(--color-primary);
		}
		&.mb0 {
			margin-bottom: 0;
		}
		&+.definition-box {
			margin-top: 20px;
		}
		dt {
			font-size: var(--font-l);
			color: var(--color-dark);
			font-weight: 600;
			line-height: 1.4;
			margin-bottom: .25em;
			span {
				font-weight: 600;
				vertical-align: middle;
			}
			.no {
				font-family: var(--accent-font);
				color: var(--color-primary);
				font-size: var(--font-3xl);
				padding-right: .5em;
			}
			.em {
				font-size: var(--font-m);
				font-weight: 400;
				line-height: 1;
				color: #fff;
				text-align: center;
				background-color: var(--color-primary);
				padding: 6px 10px;
				border-radius: 50px;
				display: block;
				margin-top: 8px;
			}
		}
		dd {
			line-height: 1.6;
		}
	}
	&.white {
		.definition-box {
			background-color: #fff;
		}
	}
	@media (min-width: 768px) {
		display: flex;
		flex-wrap: wrap;
		&.single {
			display: block;
			.definition-box {
				width: 100%;
			}
		}
		.definition-box {
			width: calc((100% - 30px) / 2);
			padding: 20px;
			margin-right: 30px;
			margin-bottom: 30px;
			&:nth-of-type(even) {
				margin-right: 0;
			}
			&+.definition-box {
				margin-top: 0;
			}
		}
	}
	@media (min-width: 1200px) {
		.definition-box {
			padding: 30px;
			dt {
				font-size: var(--font-xl);
				.no {
					font-size: var(--font-2xl);
				}
				.em {
					display: inline-block;
					margin: 0 0 0 8px;
				}
			}
			dd {
				line-height: 1.75;
			}
		}
	}
}
.target-box {
	padding-top: 20px;
	@media (min-width: 1200px) {
		padding-top: 40px;
	}
}
.bd-box {
	background-color: var(--color-primary-bg);
	border-left: 2px solid var(--color-primary);
	padding: 20px 4vw;
	&.white {
		background-color: #fff;
	}
	@media (min-width: 1200px) {
		padding: 30px;
	}
}
/*
/training-workshop/
training
---------------------------*/
#training {
	.package {
		padding: 20px 4vw;
		margin-top: 30px;
	}
	.package-box-wrap {
		padding-top: 30px;
	}
	.package-box {
		background-color: #fff;
		padding: 10px 2vw;
		.check-content-box {
			width: 100%;
			margin-top: 20px;
			border: 1px solid var(--color-secondary);
			dt {
				font-size: var(--font-m);
			}
			ul {
				display: block;
				li {
					width: 100%;
					&+li {
						margin-top: 10px;
					}
				}
			}
		}
	}
	.package-detail {
		padding-top: 20px;
		dt {
			display: inline-block;
			background-color: var(--color-secondary);
			color: #fff;
			line-height: 1;
			min-width: 100px;
			text-align: center;
			padding: 5px 10px 6px;
			border-radius: 50px;
			margin-bottom: 10px;
		}
		dd {
			line-height: 1.6;
			ul {
				padding-top: 5px;
			}
			li {
				display: inline-block;
				line-height: 1;
				margin-right: .75em;
				margin-bottom: 1em;
				padding-right: .75em;
				border-right: 1px solid var(--color-secondary);
				&:last-of-type {
					margin-right: 0;
					padding-right: 0;
					border-right: 0;
				}
			}
		}
		dl + dl {
			margin-top: 20px;
		}
	}
	.package-title {
		text-align: left;
		font-size: var(--font-xl);
		font-weight: 600;
		line-height: 1.5;
		padding-bottom: 20px;
		.en {
			display: block;
			font-size: var(--font-m);
			font-family: var(--accent-font);
			font-weight: 300;
			color: var(--color-primary);
			letter-spacing: .05em;
			padding-bottom: .25em;
		}
	}
	@media (min-width: 1000px) {
		.package-box-wrap {
			padding-top: 40px;
		}
		.package {
			padding: 50px;
			margin-top: 50px;
		}
		.package-detail {
			padding-top: 30px;
			dl + dl {
				margin-top: 30px;
			}
		}
		.package-box {
			display: flex;
			flex-wrap: wrap;
			align-content: stretch;
			padding: 30px;
			.check-content-box {
				align-self: flex-end;
				margin-top: 30px;
			}
		}
	}
}
/*
/training-workshop/
flow
---------------------------*/
#flow {
	.inner {
		position: relative;
		&:after {
			content: "";
			display: block;
			background-color: var(--color-border02);
			height: 1px;
			position: absolute;
			left: 4vw;
			right: 4vw;
			top: -40px;
			margin: auto;
		}
	}
	.flow-content-wrap {
		width: calc(100% + (100vw - 100%) / 2);
	}
	.flow-content {
		display: flex;
		gap: 20px;
		flex-wrap: nowrap;
		scroll-snap-type: x mandatory;
		overflow-y: scroll;
		width: 100%;
		padding-bottom: 20px;
		.flow-box {
			width: 260px;
			flex-shrink: 0;
			scroll-snap-align: start;
			position: relative;
			padding: 15px 4vw;
			background-color: #fff;
			border: 1px solid var(--color-secondary);
			border-radius: 2px;
			filter: drop-shadow(0px 0px 3px rgba(0, 0, 0, 0.1));
			&:after {
				position: absolute;
				content: "";
				top: 0;
				bottom: 0;
				right: -20px;
				margin: auto;
				background-image: url(../img/common/arrow-g.svg);
				background-position: center;
				background-repeat: no-repeat;
				background-size: cover;
				width: 30px;
				height: 26px;
			}
			&:last-of-type {
				&:after {
					content: none;
				}
			}
			.step {
				display: inline-block;
				background-color: var(--color-dark);
				min-width: 100px;
				text-align: center;
				font-family: var(--accent-font);
				font-weight: 300;
				line-height: 1;
				color: #fff;
				letter-spacing: .05em;
				padding: 6px 10px 4px;
				margin-bottom: 10px;
				border-radius: 50px;
			}
			dt {
				font-size: var(--font-2xl);
				font-weight: 600;
				line-height: 1.4;
				padding-bottom: .5em;
				margin-bottom: .5em;
				border-bottom: 1px dashed var(--color-border02);
			}
			dd {
				line-height: 1.6;
			}
		}
	}
	.flow-step-wrap {
		border: 1px solid var(--color-secondary);
		border-radius: 2px;
		margin-top: 20px;
		.flow-step-title {
			font-size: var(--font-xxl);
			background-color: var(--color-secondary);
			color: #fff;
			text-align: left;
			padding: 10px;
			span {
				display: inline-block;
				position: relative;
				font-weight: 600;
				line-height: 1.5;
				padding-left: 40px;
				&:after {
					position: absolute;
					content: "";
					top: 0;
					bottom: 0;
					left: 0;
					margin: auto;
					background-image: url(../img/consulting/icon-sparkle.svg);
					background-repeat: no-repeat;
					background-size: cover;
					width: 32px;
					height: 34px;
				}
			}
		}
		.flow-step-detail {
			background-color: #fff;
			padding: 20px;
			.note {
				color: var(--color-text);
				padding-top: 1em;
			}
		}
		.flow-step {
			position: relative;
			&:before {
				content: "";
				position: absolute;
				top: 0;
				bottom: 0;
				left: 20px;
				background: var(--color-secondary);
				width: 1px;
				height: 100%;
			}
			&:nth-of-type(4) {
				&:after {
					content: "";
					position: absolute;
					bottom: -2px;
					left: 13px;
					width: 15px;
					height: 15px;
					background-image: url(../img/consulting/step-arrow-bottom.svg);
					background-repeat: no-repeat;
					background-size: contain;
				}
			}
			&:last-of-type {
				&::before {
					top: 20px;
					bottom: auto;
					left: 5px;
					background-color: transparent;
					background-image: url(../img/consulting/flow-step-arrow.svg);
					background-position: center;
					background-repeat: no-repeat;
					background-size: cover;
					width: 40px;
					height: 40px;
					margin: auto;
				}
			}
			&+.flow-step {
				padding-top: 20px;
			}
			>div {
				display: flex;
				align-items: center;
				justify-content: center;
			}
			&:first-of-type,
			&:last-of-type {
				.icon {
					background-color: var(--color-secondary);
					
				}
			}
			.icon {
				display: flex;
				align-items: center;
				justify-content: center;
				width: 40px;
				height: 40px;
				background-color: #fff;
				border-radius: 200px;
				border: 1px solid var(--color-secondary);
				img {
					width: 30px;
				}
			}
			.text {
				/*width: calc(100% - 40px);*/
				font-size: var(--font-xl);
				p {
					font-weight: 600;
					min-width: 8em;
					padding-left: .5em;
				}
			}
		}
	}
	@media (min-width: 767px) {
		.flow-content {
			.flow-box {
				padding: 20px;
				.step {
					margin-bottom: 15px;
				}
				dt {
					font-size: min(2vw, 20px);
					padding-bottom: .75em;
					margin-bottom: .75em;
				}
			}
		}
	}
	@media (min-width: 1000px) {
		.inner {
			position: relative;
			&:after {
				left: 0;
				right: 0;
				top: -80px;
			}
		}
		.flow-content {
			gap: 30px;
			.flow-box {
				width: 392px;
				padding: 30px;
				.step {
					margin-bottom: 15px;
				}
				dt {
					font-size: min(2vw, 20px);
					padding-bottom: .75em;
					margin-bottom: .75em;
				}
			}
		}
		.flow-step-wrap {
			.flow-step-title {
				text-align: center;
				padding: 15px;
			}
			.flow-step-detail {
				padding: 30px 20px;
				.note {
					text-align: center;
					padding-top: 1.5em;
				}
			}
			.flow-step-detail-inner {
				display: flex;
				justify-content: center;
				gap: 60px;
			}
			.flow-step {
				position: relative;
				display: flex;
				align-items: center;
				justify-content: center;
				flex-wrap: wrap;
				width: 130px;
				height: 130px;
				background-color: #fff;
				border-radius: 200px;
				border: 1px solid var(--color-secondary);
				&:before {
					content: none;
				}
				&:after {
					position: absolute;
					content: "";
					bottom: 0;
					top: 0;
					left: auto;
					right: -45px;
					margin: auto;
					background-image: url(../img/common/arrow-g.svg);
					background-position: center;
					background-repeat: no-repeat;
					background-size: cover;
					width: 30px;
					height: 26px;
				}
				&:last-of-type {
					&:after {
						content: none;
					}
				}
				&:nth-of-type(4) {
					&:after {
						left: auto;
						right: -52px;
						margin: auto;
						background-image: url(../img/consulting/flow-step-arrow.svg);
						width: 40px;
						height: 40px;
					}
				}
				&:first-of-type,
				&:last-of-type {
					background-color: var(--color-secondary);
					color: #fff;
					.icon {
						background-color: transparent;
					}
				}
				&+.flow-step {
					padding-top: 0;
				}
				>div {
					display: block;
					text-align: center;
				}
				.icon {
					display: inline-block;
					width: auto;
					height: auto;
					background-color: transparent;
					border-radius: 0;
					border: none;
					img {
						width: auto;
					}
				}
				.text {
					text-align: center;
					p {
						padding-left: 0;
					}
				}
			}
		}
	}
	@media (min-width: 1000px) {
		
	}
}

/*
/consulting/
issues
---------------------------*/
#issues {
	.issues-list {
		li {
			display: flex;
			align-items: stretch;
			margin-bottom: 15px;
			.icon {
				background-color: var(--color-secondary);
				display: flex;
				justify-content: center;
				align-items: center;
				width: 42px;
				min-height: 42px;
				img {
					width: 22px;
				}
			}
			.text {
				width: calc(100% - 42px);
				display: flex;
				justify-content: flex-start;
				align-items: center;
				background-color: #fff;
				font-size: var(--font-l);
				padding: 5px 10px;
				p {
					line-height: 1.5;
				}
			}
		}
	}
	.bd-box {
		margin-top: 20px;
	}
	@media (min-width: 1000px) {
		.issues-list {
			display: flex;
			flex-wrap: wrap;
			li {
				width: calc((100% - 32px) / 2);
				margin-bottom: 20px;
				&:nth-of-type(even) {
					margin-left: 32px;
				}
				.icon {
					width: 62px;
					height: 62px;
					img {
						width: 32px;
					}
				}
				.text {
					width: calc(100% - 62px);
					padding: 0 20px;
				}
			}
		}
	}
}
/*
/training-workshop/
our-approach
---------------------------*/
#our-approach {
	.info {
		line-height: 1.5;
		font-size: var(--font-l);
		padding-top: 1em;
	}
	@media (min-width: 1000px) {
		.info {
			text-align: center;
		}
	}
}
/*
/training-workshop/
support
---------------------------*/
#support {
	.support-bottom {
		margin-top: 20px;
	}
	@media (min-width: 1000px) {
		.support-bottom {
			margin-top: 0;
		}
	}
}
.before-after-wrap {
	margin-top: 30px;
	.before-after-box {
		text-align: left;
		background-color: #fff;
		border: 2px solid var(--color-secondary);
		border-radius: 2px;
		&.before {
			position: relative;
			background-color: var(--color-primary-bg);
			margin-bottom: 30px;
			border: none;
			&:after {
				position: absolute;
				content: "";
				bottom: -24px;
				right: 0;
				left: 0;
				margin: auto;
				background-image: url(../img/common/arrow-g.svg);
				background-position: center;
				background-repeat: no-repeat;
				background-size: cover;
				width: 22px;
				height: 18px;
				transform: rotate(90deg);
			}
			dt {
				background-color: var(--color-dark);
				span {
					&:after {
						background-image: url(../img/common/icon-x-light.svg);
					}
				}
			}
			dd {
				li {
					font-weight: 400;
					&:before {
						background-image: url(../img/common/icon-x-light-dark.svg);
					}
				}
			}
		}
		dt {
			display: inline-block;;
			background-color: var(--color-secondary);
			font-size: var(--font-l);
			color: #fff;
			padding: 10px 20px 10px 10px;
			span {
				position: relative;
				font-weight: 600;
				padding-left: 32px;
				&:after {
					position: absolute;
					content: "";
					top: 0;
					bottom: 0;
					left: 0;
					margin: auto;
					background-image: url(../img/common/icon-circle.svg);
					background-position: center;
					background-repeat: no-repeat;
					background-size: cover;
					width: 26px;
					height: 26px;
					transition: all 0.3s ease-out;
				}
			}
		}
		dd {
			padding: 20px 4vw 20px;
			ul {
				li {
					position: relative;
					line-height: 1.5;
					font-size: var(--font-l);
					font-weight: 500;
					padding-left: 36px;
					&+li {
						margin-top: 15px;
					}
					&:before {
						position: absolute;
						content: "";
						top: 0;
						bottom: 0;
						left: 0;
						margin: auto;
						background-image: url(../img/common/icon-circle-green.svg);
						background-position: center;
						background-repeat: no-repeat;
						background-size: cover;
						width: 26px;
						height: 26px;
						transition: all 0.3s ease-out;
					}
				}
			}
		}
	}
	@media (min-width: 1000px) {
		display: flex;
		justify-content: space-between;
		margin-top: 60px;
		.before-after-box {
			width: calc((100% - 60px) / 2);
			&.before {
				margin-bottom: 0;
				&:after {
					top: 0;
					bottom: 0;
					left: auto;
					right: -45px;
					width: 30px;
					height: 26px;
					transform: none;
				}
			}
			dt {
				padding: 10px 30px 10px 10px;
				span {
					padding-left: 36px;
				}
			}
			dd {
				padding: 20px 30px;
				ul {
					li {
						&+li {
							margin-top: 15px;
						}
					}
				}
			}
		}
	}
}
/*
/business/
our-method
---------------------------*/
.business-list {
	padding-top: 10px;
	h3 {
		font-size: var(--font-2xl);
		font-weight: 600;
		color: var(--color-dark);
		line-height: 1.5;
		padding-bottom: 20px;
	}
	.business-detail {
		padding: 30px 0;
		.btn-wrap {
			padding-top: 20px;
			.btn-base {
				margin: initial;
			}
		}
		&+.business-detail {
			border-top: 1px solid var(--color-border02);
		}
	}
	@media (min-width: 768px) {
	}
	@media (min-width: 1000px) {
		padding-top: 20px;
		h3 {
			padding-bottom: 20px;
		}
		.business-detail {
			padding: 50px 0;
			.target-box {
				padding-top: 30px;
			}
			&.slim-type {
				.flex-content {
					.text-box {
						width: 65%;
					}
					.image-wrap {
						width: 30%;
					}
				}
				.btn-wrap {
					padding-top: 20px;
				}
				.target-box {
					padding-top: 20px;
				}
			}
			.btn-wrap {
				padding-top: 20px;
			}
		}
	}
}
.member-wrap {
	padding-top: 30px;
	.member-card {
		background-color: #fff;
		border-radius: 2px;
		filter: drop-shadow(0px 0px 3px rgba(0, 0, 0, 0.1));
		a {
			display: block;
			padding: 15px;
		}
		&+.member-card {
			margin-top: 20px;
		}
		.member-image {
			text-align: center;
		}
		.member-detail {
			padding-top: 15px;
			.member-name {
				font-size: var(--font-xl);
				font-weight: 600;
				margin-bottom: 5px;
				span {
					display: inline-block;
					font-weight: 600;
					vertical-align: middle;
				}
				.batch {
					background-color: var(--color-primary);
					color: #fff;
					font-family: var(--accent-font);
					font-size: var(--font-s);
					font-weight: 400;
					line-height: 1;
					padding: 4px 6px;
					border-radius: 2px;
					margin-left: 5px;
				}
			}
			.position {
				line-height: 1;
				padding-bottom: 20px;
			}
			.theme {
				font-weight: 500;
				padding: 20px 0;
				dt {
					display: inline-block;
					background-color: var(--color-secondary);
					color: #fff;
					font-weight: 500;
					padding: 5px 15px 6px;
					border-radius: 50px;
					margin-bottom: 8px;
				}
				dd {
					line-height: 1.5;
				}
			}
			.message {
				position: relative;
				background-color: var(--color-green-bg);
				padding: 15px;
				&:before,
				&:after,
				>div:before,
				>div:after {
					position: absolute;
					top: 0;
					left: 0;
					width: 40px;
					height: 1px;
					content: '';
					background-color: var(--color-secondary);
				}
				&:after,
				>div:after {
					width: 1px;
					height: 40px;
				}
				>div:before,
				>div:after {
					left: auto;
					top: auto;
					right: 0;
					bottom: 0;
				}
			}
		}
		&:hover {
			.more-link {
				span {
					&:after {
						right: -6px;
					}
				}
			}
		}
	}
	@media (min-width: 768px) {
		display: flex;
		padding-top: 50px;
		.member-card {
			width: calc((100% - 30px) / 3);
			margin-right: 15px;
			&:nth-of-type(3n) {
				margin-right: 0;
			}
			a {
				padding: 10px;
			}
			&+.member-card {
				margin-top: 0px;
			}
			.member-detail {
				padding-top: 20px;
				.theme {
					dd {
						min-height: 3em;
					}
				}
			}
		}
	}
	@media (min-width: 1000px) {
		.member-card {
			width: calc((100% - 60px) / 3);
			margin-right: 30px;
			a {
				padding: 20px;
			}
		}
	}
}
/*
/training-workshop/
our-method
---------------------------*/
#our-method {
	.step-wrap {
		margin-top: 30px;
		.step-box {
			display: flex;
			justify-content: center;
			align-items: center;
			position: relative;
			text-align: center;
			background-color: #fff;
			border: 2px solid var(--color-secondary);
			border-radius: 2px;
			padding: 15px;
			&:after {
				position: absolute;
				content: "";
				bottom: -25px;
				right: 0;
				left: 0;
				margin: auto;
				background-image: url(../img/common/arrow-g.svg);
				background-position: center;
				background-repeat: no-repeat;
				background-size: cover;
				width: 22px;
				height: 18px;
				transform: rotate(90deg);
			}
			&+.step-box {
				margin-top: 30px;
			}
			&:last-of-type {
				&::after {
					content: none;
				}
			}
		}
		.step-image {
			width: 40px;
		}
		.step-text {
			width: calc(100% - 40px);
			text-align: left;
			p {
				font-size: var(--font-l);
				font-weight: 600;
				color: var(--color-dark);
				line-height: 1.5;
				padding-left: 1em;
				>* {
					font-weight: 600;
				}
			}
		}
	}
	@media (min-width: 1000px) {
		.step-wrap {
			display: flex;
			margin-top: 50px;
			.step-box {
				flex-wrap: wrap;
				width: calc((100% - 90px) / 4);
				aspect-ratio: 1/1;
				padding: 20px;
				&:after {
					top: 0;
					bottom: 0;
					left: auto;
					right: -22px;
					width: 30px;
					height: 26px;
					transform: none;
				}
				&+.step-box {
					margin-top: 0;
					margin-left: 30px;
				}
			}
			.step-image {
				width: 100%;
				img {
					margin-top: 15px;
				}
			}
			.step-text {
				width: 100%;
				text-align: center;
				min-height: 2.5em;
				margin-top: 0;
				p {
					padding-left: 0;
				}
			}
		}
	}
}
.icon-box-wrap {
	&+.icon-box-wrap {
		margin-top: 20px;
	}
	.icon-box {
		border-radius: 2px;
		background-color: #fff;
		padding: 20px 4vw;
		filter: drop-shadow(0px 0px 2px rgba(0, 0, 0, 0.1));
		&+.icon-box {
			margin-top: 20px;
		}
		.icon-title {
			display: flex;
			align-items: center;
			justify-content: flex-start;
			text-align: left;
			font-size: var(--font-l);
			color: var(--color-dark);
			font-weight: 600;
			line-height: 1.5;
			width: 100%;
			margin-bottom: 10px;
		}
		.icon {
			background-color: var(--color-secondary);
			width: 40px;
			height: 40px;
			border-radius: 50%;
			display: flex;
			align-items: center;
			justify-content: center;
			flex-shrink: 0;
			margin-right: 10px;
			img {
				width: 38px;
			}
		}
	}
	@media (min-width: 1000px) {
		display: flex;
		&+.icon-box-wrap {
			margin-top: 30px;
		}
		&.column3 {
			.icon-box {
				width: calc((100% - 60px) / 3);
				&:nth-of-type(even) {
					margin-right: 30px;
				}
				&:nth-of-type(3n) {
					margin-right: 0;
				}
			}
		}
		.icon-box {
			width: calc((100% - 30px) / 2);
			padding: 30px;
			margin-right: 30px;
			&:nth-of-type(even) {
				margin-right: 0;
			}
			&+.icon-box {
				margin-top: 0;
			}
			.icon {
				width: 60px;
				height: 60px;
				margin-right: 15px;
				img {
					width: 58px;
				}
			}
		}
	}
}