/* settings */
body{
	font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Arial", "Yu Gothic", "Meiryo", sans-serif!important;
}
.wrapper{
	overflow: hidden;
}
svg{
	transform: translateZ(0); /* または transform: translate3d(0, 0, 0); */
  	-webkit-backface-visibility: hidden; /* Safari向けの最適化 */
  	will-change: transform; /* レンダリング最適化をブラウザに伝える */
}
.fadeIn_up {
  opacity: 0;
  transform: translate(0, 10%);
  transition: .6s;
}
.fadeIn_up.is-show {
  transform: translate(0, 0);
  opacity: 1;
}
.flex{ display: flex!important; }
.f-start{ justify-content: flex-start;}
.f-end{ justify-content: flex-end;}
.f-center{ justify-content: center;}
.f-space{ justify-content: space-between;}
.a-start{ align-items: start;}
.a-center{ align-items: center;}
.a-end{ align-items: end;}
.a-stretch{ align-self: stretch;}
.f-reverse{ flex-direction: row-reverse;}
.f-wrap{ flex-wrap: wrap;}
.f-l-wrap{ flex-wrap: wrap-reverse;}
.fd-column{ flex-direction: column;}
.flex-item{
	flex: 1;
	word-wrap: break-word;
	list-style-type:none;
  min-width: 0
}
.flex-item02{
	flex: 2;
	word-wrap: break-word;
  min-width: 0
}
.flex-item03{
	flex: 3;
	word-wrap: break-word;
  min-width: 0
}
.flex-item04{
	flex: 4;
	word-wrap: break-word;
  min-width: 0
}
.flex-item05{
	flex: 5;
	word-wrap: break-word;
  min-width: 0
}
.relative{
	position: relative;
}
img{
	width: 100%;
	max-width: auto;
}
ul,li{
	margin: 0;
}
.radius-basic{
	border-radius: .8vw;
}


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

.f-wrap-sp{ flex-wrap: wrap;}
.f-center-sp{ justify-content: center;}
.f-l-wrap-sp{ flex-wrap: wrap-reverse;}
.flex-item{
	flex: none;
	width: 100%;
	word-wrap: break-word;
    min-width: 0
}
.flex-item02{
	flex: none;
	width: 100%;
	word-wrap: break-word;
    min-width: 0
}
.flex-item03{
	flex: none;
	width: 100%;
	word-wrap: break-word;
    min-width: 0
}
.flex-item04{
	flex: none;
	width: 100%;
	word-wrap: break-word;
    min-width: 0
}
.flex-item05{
	flex: none;
	width: 100%;
	word-wrap: break-word;
    min-width: 0
}

}

.front-page{
	h2,h3,h4{
		font-size: 0px;
		line-height: 1.4;
		margin: 0;
		font-weight: bold;
	}
}

.front-page{
	.inner-xl{
		width: 94vw;
		margin: 0 auto;
		position: relative;
	}
	.inner-l{
		width: 88vw;
		margin: 0 auto;
		position: relative;
	}
	.inner-m{
		width: 82vw;
		margin: 0 auto;
		position: relative;
	}
	.inner-s{
		width: 76vw;
		margin: 0 auto;
		position: relative;
	}
	.section-ptb-basic{
		padding: 7.2vw 0;
	}
	.section-ptb-large{
		padding: 9.6vw 0;
	}
	.btn{
		background-color: #BB0118;
		gap: 1.2vw;
		border-radius: 1000px;
		padding: .6vw .6vw .6vw 1.6vw;
		width: fit-content;
		span{
			color: #ffffff;
			font-size: 1vw;
			font-weight: bold;
			line-height: 1.4;
		}
		.arrow{
			width: 2vw;
			height: 2vw;
			border-radius: 1000px;
			background-color: #ffffff;
			figure{
				width: 1vw;
				position: relative;
				top: -0.2vw;
			}
		}
	}
	.btn-large{
		padding: 1vw 1vw 1vw 1.6vw;
	}
	.btn:hover{
		background-color: #ffffff;
		border: 1px solid #BB0118;
		span{
			color: #BB0118;
		}
		.arrow{
			border: 1px solid #BB0118;
		}
	}
	.text-link{
		font-size: 1vw;
		color: #BB0118;
		text-decoration: underline;
	}
	.section-title{
		span{
			color: #BB0118;
			font-size: 2.4vw;
			font-weight: bold;
			line-height: 1.4;
		}
		h2{
			color: #BB0118;
			font-size: 1.2vw;
		}
	}
	.section-title02{
		text-align: center;
		margin-bottom: 6.4vw;
		span{
			color: #BB0118;
			font-size: 1.2vw;
			font-weight: bold;
			line-height: 1.4;
		}
		h2{
			color: #1e1e1e;
			font-size: 2.2vw;
			margin-bottom: .4vw;
		}
		h3{
			color: #1e1e1e;
			font-size: 1.3vw;
			margin-top: 2.4vw;
			line-height: 1.7;
		}
	}
	.st-mb-small{
		margin-bottom: 5.6vw;
	}
	.ele-title{
		background-color: #f5f5f5;
		border-radius: .6vw;
		position: relative;
		padding: 1.6vw 1.6vw 1.6vw;
		h3{
			text-align: center;
			margin: 0;
			span{
				color: #BB0118;
			}
		}
	}
	.ele-title:after{
		content: "";
		display: block;
		width: 0;
		height: 0;
		border-style: solid;
		border-right: 50px solid transparent;
		border-left: 50px solid transparent;
		border-top: 50px solid #f5f5f5;
		border-bottom: 0;
		position: absolute;
		bottom: -25px;
		left: 0;
		right: 0;
		margin: auto;
	}
	.heading-m{
		font-size: 1.8vw;
		margin-bottom: 2.4vw;
		color: #1e1e1e;
		line-height: 1.7;
		span{
			display: block;
			color: #BB0118;
			font-size: 1.2vw;
			padding-bottom: .8vw;
		}
	}
	.heading-s{
		font-size: 1.5vw;
		color: #1e1e1e;
		line-height: 1.5;
	}
	p{
		font-size: 1vw;
		color: #1e1e1e;
		margin: 0;
	}
	.tag{
		width: fit-content;
		background-color: #BB0118;
		border-radius: 1000px;
		padding: 0vw .8vw;
		gap: .4vw;
		figure{
			width: 1vw;
			img{
				position: relative;
				top: -0.2vw;
			}
		}
		span{
			font-weight: bold;
			line-height: 1;
			color: #fff;
			font-size: 1vw;
		}
	}
	.point-list{
		margin: 0;
		li{
			margin-bottom: 1.2vw;
			gap: .8vw;
			figure{
				width: 1.6vw;
				flex-shrink: 0;
				img{
					position: relative;
					top: -0.2vw;
				}
			}
			p{
				font-size: 1vw;
			}
		}
		li:last-child{
			margin-bottom: 0;
		}
	}
	.col2{
		gap: 5.6vw;
	}
	.elevation{
		background-color: #ffffff;
		border-radius: .8vw;
		box-shadow: 0 8px 48px 0 rgba(0, 0, 0, 0.10);
		padding: 4.8vw 0;
		overflow: hidden;
		margin-top: 5.6vw;
	}
}

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

.front-page{
	.inner-xl{
		width: 94vw;
	}
	.inner-l{
		width: 88vw;
	}
	.inner-m{
		width: 82vw;
	}
	.inner-s{
		width: 76vw;
	}
	.inner-xl-sp{
		width: 94vw;
	}
	.inner-l-sp{
		width: 88vw;
	}
	.inner-m-sp{
		width: 82vw;
	}
	.section-ptb-basic{
		padding: 14.4vw 0;
	}
	.section-ptb-large{
		padding: 19.2vw 0;
	}
	.btn{
		gap: 2.4vw;
		padding: 1.2vw 1.2vw 1.2vw 3.2vw;
		width: fit-content;
		span{
			font-size: 3vw;
		}
		.arrow{
			width: 4.8vw;
			height: 4.8vw;
			figure{
				width: 2.4vw;
				position: relative;
				top: -0.4vw;
			}
		}
	}
	.btn-large{
		padding: 2.8vw 2.4vw 2.8vw 4.4vw;
	}
	.text-link{
		font-size: 3vw;
	}
	.section-title{
		span{
			font-size: 6.4vw;
		}
		h2{
			font-size: 3.3vw;
		}
	}
	.section-title02{
		margin-bottom: 12.8vw;
		span{
			font-size: 3.3vw;
		}
		h2{
			font-size: 5.6vw;
			margin-bottom: 1.2vw;
		}
		h3{
			color: #1e1e1e;
			font-size: 3.5vw;
			margin-top: 4.8vw;
		}
	}
	.st-mb-small{
		margin-bottom: 11.2vw;
	}
	.ele-title{
		border-radius: 1,2vw;
		padding: 3.2vw 3.2vw;
	}
	.ele-title:after{
		border-right: 30px solid transparent;
        border-left: 30px solid transparent;
        border-top: 30px solid #f5f5f5;
        bottom: -18px;
	}
	.heading-m{
		font-size: 4.5vw;
		margin-bottom: 4.8vw;
		span{
			font-size: 3.5vw;
			padding-bottom: 1.6vw;
		}
	}
	.heading-s{
		font-size: 4vw;
	}
	p{
		font-size: 3vw;
	}
	.tag{
		width: fit-content;
		background-color: #BB0118;
		border-radius: 1000px;
		padding: 0vw 2.4vw;
		gap: 1.2vw;
		figure{
			width: 3vw;
			img{
				top: -0.2vw;
			}
		}
		span{
			font-size: 3vw;
		}
	}
	.point-list{
		margin: 0;
		li{
			margin-bottom: 2.4vw;
			gap: 1.6vw;
			figure{
				width: 4.5vw;
				img{
					position: relative;
					top: -0.2vw;
				}
			}
			p{
				font-size: 3vw;
			}
		}
	}
	.col2{
		gap: 11.2vw;
	}
	.elevation{
		border-radius: 1.6vw;
		box-shadow: 0 8px 48px 0 rgba(0, 0, 0, 0.10);
		padding: 6vw 0 7.2vw;
		margin-top: 11.2vw;
	}
}

}


.auto-slide{
	width: 150%;
	overflow: hidden;
	position: relative;
	left: -25%;
	z-index: 2;
	ul{
		margin: 0;
		animation: loop-slide 30s infinite linear 1s both;
		gap: 1.6vw;
		list-style-type: none;
		li{
			flex-shrink: 0;
			img{
				width: auto;
				height: 10vw;
			}
		}
	}
}
.logo-slider{
	h4{
		flex-shrink: 0;
	}
	.slider-area{
		overflow: hidden;
		margin: 0 0 0 2.4vw;
		padding-right: 2.4vw;
	}
	ul{
		gap: 2vw;
		margin: 0;
		list-style-type: none;
		animation: loop-slide 30s infinite linear 1s both;
		li{
			flex-shrink: 0;
		}
	}
}
.size-s{
	width: auto;
	height: 1.4vw;
}
.size-r{
	width: auto;
	height: 2.2vw;
}
.size-m{
	width: auto;
	height: 3vw;
}
.size-l{
	width: auto;
	height: 3.6vw;
}

@keyframes loop-slide{
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}

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

.auto-slide{
	width: 150%;
	left: -25%;
	ul{
		animation: loop-slide 20s infinite linear 1s both;
		gap: 2.4vw;
		li{
			img{
				height: 20vw;
			}
		}
	}
}
.logo-slider{
	.slider-area{
		margin: 0 0 0 0vw;
		padding-right: 0vw;
	}
	ul{
		gap: 3.6vw;
		animation: loop-slide 20s infinite linear 1s both;
		li{
			flex-shrink: 0;
		}
	}
}
.size-s{
	width: auto;
	height: 3.6vw;
}
.size-r{
	width: auto;
	height: 4.8vw;
}
.size-m{
	width: auto;
	height: 6.8vw;
}
.size-l{
	width: auto;
	height: 8vw;
}

@keyframes loop-slide{
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}

}


.front-page{
	header{
		background-color: #ffffff;
		height: 5.6vw;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		z-index: 10000;
		.logo{
			figure{
				width: 12vw;
			}
		}
		.nav{
			>li{
				a{
					font-size: 1vw;
					font-weight: 600;
					color: #1E1E1E;
				}
				a:hover{
					color: #BB0118;;
				}
				.nav-cl{
					display: none;
				}
			}
			>li:last-child{
				margin-left: 1.2vw;
			}
		}
	}
}

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

.front-page{
	header{
		height: 11.2vw;
		.logo{
			figure{
				width: 28vw;
			}
		}
		.nav{
			position: fixed;
			width: 100%;
			height: 100vh;
			background-color: #1e1e1e;
			left: -120%;
			margin: auto;
			padding: 10.2vw 4.8vw 0vw;
			top: 11vw;
			>li{
				width: 100%;
				margin: 0 0 4vw 0;
				padding: 0;
				a{
					font-size: 4vw;
					color: #fff;
				}
				a:hover{
					color: #BB0118;;
				}
				.nav-cl{
					display: none;
				}
			}
			>li:last-child{
				margin-left: 0vw;
			}
		}
		.sp-menu{
			gap: 2.4vw;
		}
		.nav.opend{
			left: 0!important;
		}
		.menu-trigger {
		    width: 8vw;
		    height: 8vw;
		    background-color: #1e1e1e;
		    position: relative;
		    border-radius: 1000px;
		}
		.menu-trigger span {
		    width: 50%;
		    height: 1px;
		    background-color: #fff;
		    position: absolute;
		    top: 0;
		    left: 0;
		    right: 0;
		    bottom: 0;
		    margin: auto;
		    transition: all .3s ease-out;
		    -webkit-transition: all .3s ease-out;
		}
		.menu-trigger span:nth-of-type(1) {
		    top: -2vw;
		}
		.menu-trigger span:nth-of-type(2) {
		    top: 2vw;
		}
		.menu-trigger.active span:nth-of-type(1){
			transform: rotate(-45deg);
			top:0;
		}
		.menu-trigger.active span:nth-of-type(2){
			transform: rotate(45deg);
			top:0;
		}
	}
}

}

.front-page{
	.fv{
		margin-top: 5.4vw;
		position: relative;
		height: 52.75vw;
		.contents{
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			z-index: 2;
			background-color: rgba(0, 0, 0, 0.3);
			.area{
				position: absolute;
				left: 0;
				bottom: 4vw;
				width: 100%;
			}
			.copy{
				margin-bottom: 2.4vw;
				h2{
					font-size: 2.4vw;
					line-height: 1.4;
					font-weight: bold;
					color: #ffffff;
					margin: 0 0 1.6vw 0;
				}
				h3{
					font-size: 1.1vw;
					color: #ffffff;
					line-height: 1.7;
					font-weight: bold;
					margin: 0 0 3.2vw 0;
				}
				> figure{
					width: 28vw;
				}
			}
			.logo-slider{
				background-color: #ffffff;
				border-radius: .6vw;
				padding: 1.2vw 0;
				h4{
					font-size: 1.1vw;
					width: 10%;
					text-align: center;
					padding: 1.2vw 0;
					border-right: 1px solid #EEEEEE;
				}
			}
		}
	}
	.top-about{
		.about-logo-icon{
			position: absolute;
			width: 3.2vw;
			height: auto;
			left: .6vw;
			bottom: .6vw;
		}
	}
	.top-nayami-kaiketsu{
		.contents{
			border-radius: 1.2vw;
			padding: 4.8vw 0;
			background: linear-gradient(180deg, #E5E5E5 0%, #FFF 100%);
			h2{
				color: #BB0118;
				margin-bottom: 3.6vw;
			}
			.head{
				width: 6vw;
				flex-shrink: 0;
				padding: 0;
				border-radius: .6vw;
				padding: 1.2vw 1.2vw 1.2vw 1.2vw;
				h3{
					font-size: 1.2vw;
					line-height: 1.2;
					color: #ffffff;
				}
				figure{
					width: 2vw;
					margin-bottom: 1.2vw;
				}
			}
			ul{
				gap: 1.6vw;
				margin: 0;
				li{
					border-radius: .6vw;
					padding: 1.2vw 1.6vw 1.6vw 1.6vw;
					figure{
						width: 1.6vw;
						margin-bottom: .8vw;
					}
				}
			}
			.nayami{
				gap: 1.6vw;
				margin-bottom: 1.6vw;
				li{
					background-color: #383838;
					p{
						color: #ffffff;
					}
				}
				.head{
					background-color: #1e1e1e;
				}
			}
			.kaiketsu{
				gap: 1.6vw;
				li{
					background-color: #fff;
					border: 1px solid #BB0118;
					p{
						color: #1e1e1e;
						font-weight: bold;
						span{
							color: #BB0118;
							font-size: 1.4vw;
							font-weight: bold;
							line-height: 1.3;
						}
					}
				}
				.head{
					background-color: #BB0118;
				}
			}
			.triangle{
				margin-bottom: 1.6vw;
				figure{
					width: 2vw;
				}
			}
		}
	}
	.top-reason{
		.section-title02{
			margin-bottom: 8vw;
		}
		.col2 h3{
			margin-top: 1.6vw;
			margin-bottom: 2.4vw;
		}
		.elevation{
			.auto-slide{
				margin-top: 4.8vw;
			}
			h4{
				text-align: center;
				margin: 4.8vw 0 4vw;
			}
			.ecj-point-list{
				gap: 1.6vw;
				margin: 0;
				> li{
					background-color: #fff;
					border: 1px solid #eee;
					border-radius: .6vw;
					padding: 1.6vw 1.6vw 1.6vw 1.6vw;
					figure{
						width: 3.2vw;
						margin-bottom: 1.2vw;
					}
					h5{
						font-size: 1.2vw;
						font-weight: bold;
						color: #1e1e1e;
						margin: 0;
						line-height: 1.4;
						margin-bottom: 1.2vw;
					}
					p{
						color: #1e1e1e;
					}
				}
				> li:first-child{
					width: 6.4vw;
					padding: 0;
					background-color: #BB0118;
					h3{
						text-align: center;
						font-size: 1.2vw;
						line-height: 1.4;
						color: #ffffff;
					}
				}
			}
			.ecj-point-list02{
				margin: 0;
				list-style-type: none;
				> li{
					background-color: #fff;
					border: 1px solid #eee;
					border-radius: .6vw;
					margin-top: 2vw;
					padding: 1.6vw 1.6vw 1.6vw 1.6vw;
					figure{
						width: 3.2vw;
						margin-bottom: 1.2vw;
					}
					h5{
						font-size: 1.2vw;
						font-weight: bold;
						color: #1e1e1e;
						margin: 0;
						line-height: 1.4;
						margin-bottom: 1.2vw;
					}
					p{
						color: #1e1e1e;
					}
				}
				.title{
					gap: 1.2vw;
				}
			}
		}
		.reason02{
			background-color: #f5f5f5;
			.elevation{
				padding: 4.8vw 0 0;
			}
		}
		.reason03{
			.elevation{
				padding: 5.6vw 0vw 5.6vw;
			}
			.point-list{
				margin-top: 8vw;
				p{
					font-weight: bold;
					font-size: 1.1vw;
				}
			}
		}
		.reason04{
			background-color: #f5f5f5;
			.media-list{
				margin-top: 4.8vw;
			}
			.card-media{
				display: block;
				padding: 1.6vw;
				background-color: #fff;
				border-radius: .8vw;
				color: #1e1e1e;
				box-shadow: 0 16px 64px 0 rgba(0, 0, 0, 0.05);
				h3{
					font-size: 1.5vw;
					text-align: center;
					margin: 2vw 0 1.2vw;
				}
				h4{
					font-size: 1.1vw;
					margin-bottom: 1.6vw;
					text-align: center;
				}
			}
			.card-media:hover{
				h3{
					color: #BB0118;
				}
				h4{
					color: #BB0118;
				}
			}
		}
	}
	.top-clients{
		.section-title02{
			text-align: left;
			margin-bottom: 0;
		}
		.logo-area{
			margin-top: 4.8vw;
			padding-top: 4.8vw;
			border-top: 1px solid #ddd;
			ul{
				list-style-type: none;
				margin: 0;
				gap: 2.8vw;
				.size-s{
					width: auto;
					height: 1.4vw;
				}
				.size-r{
					width: auto;
					height: 2.2vw;
				}
				.size-m{
					width: auto;
					height: 3vw;
				}
				.size-l{
					width: auto;
					height: 3.6vw;
				}
			}
		}
		.number{
			border-radius: .8vw;
			background-color: #BB0118;
			padding: 1.6vw;
			width: 18vw;
			h3{
				color: #fff;
				font-size: 1.2vw;
				margin-bottom: 2.4vw;
			}
			p{
				font-size: 1.3vw;
				color: #fff;
				text-align: right;
				line-height: 1;
				span{
					font-weight: bold;
					font-size: 3.6vw;
				}
			}
		}
	}
	.top-step{
		background-color: #59000C;
		.section-title02{
			h2{
				color: #fff;
			}
			span{
				color: #fff;
			}
		}
		.step-list{
			.list-cl{
				border-radius: .6vw;
				background-color: #fff;
				padding: 1.2vw 2.4vw 1.2vw 1.2vw;
				margin-bottom: 1.6vw;
				.num{
					color: #fff;
					padding: .8vw .2vw;
					background-color: #BB0118;
					border-radius: .4vw;
					font-size: 1vw;
					line-height: 1.2;
					width: 5vw;
					text-align: center;
					flex-shrink: 0;
					span{
						display: block;
						font-size: 1.8vw;
						font-weight: bold;
					}
				}
				h3{
					flex-shrink: 0;
					color: #BB0118;
					font-size: 1.5vw;
					width: 18vw;
					margin-left: 1.2vw;
				}
				p{
					padding-top: .7vw;
					color: #1e1e1e;
				}
				ul{
					margin: 1.6vw 0 .8vw 0;
					list-style-type: none;
					gap: 1.6vw;
					li{
						img{
							margin-bottom: .8vw;
							border-radius: .4vw;
						}
						span{
							color: #BB0118;
							font-size: .9vw;
							font-weight: bold;
							margin-bottom: .2vw;
						}
						h4{
							color: #1e1e1e;
							font-size: 1.1vw;
							margin-bottom: .2vw;
						}
						p{
							font-size: .9vw;
							color: #1e1e1e;
						}
					}
				}
			}
		}
	}
	.top-faq{
		.faq-list{
			margin: 0;
			list-style-type: none;
			li{
				background-color: #f5f5f5;
				border: 1px solid #ddd;
				padding: 2vw 2.4vw;
				border-radius: .8vw;
				margin-bottom: 1.6vw;
				span{
					font-weight: bold;
					line-height: 1;
					font-size: 2vw;
					color: #1e1e1e;
					margin-right: .8vw;
				}
				.faq-a{
					margin-top: 1.2vw;
					span{
						color: #BB0118;
					}
				}
				h4{
					font-size: 1.2vw;
					color: #1e1e1e;
				}
				p{
					padding-top: .2vw;
					color: #1e1e1e;
				}
			}
			li:last-child{
				margin-bottom: 0;
			}
		}
	}
	.top-cta{
		background-color: #BB0118;
		.section-title02{
			text-align: left;
			margin-bottom: 0;
			h2,span{
				color: #fff;
			}
			span{
				font-weight: normal;
				margin-top: 1vw;
				font-size: 1vw;
				display: block;
			}
		}
		.btn{
			background-color: #8B0005;
		}
	}
	.top-seminar{
		.seminar-list{
			margin: 0;
			list-style-type: none;
			gap: 5%;
			> li{
				width: 47.5%;
				margin-bottom: 4.8vw;
				>a{
					.image-area{
						height: 20vw;
						overflow: hidden;
						margin-bottom: 1.6vw;
						position: relative;
						border-radius: .8vw;
						figure{
							width: 3.2vw;
							position: absolute;
							right: 1.6vw;
							bottom: 1.6vw;
							transition: .6s;
							z-index: 2;
						}
						img{
							width: 100%;
							height: auto;
							transition: .6s;
						}
					}
					h4{
						font-size: 1.3vw;
						color: #1e1e1e;
						margin-bottom: .8vw;
						transition: .3s;
					}
				}
				>a:hover{
					.image-area{
						border: 2px solid #BB0118;
						img{
							transform: scale(1.08);
						}
					}
					h4{
						color: #BB0118;
					}
				}
			}
			.meta{
				p{
					font-size: .85vw;
					color: #555;
					span{
						opacity: .5;
						margin: 0 .4vw;
					}
				}
				.cat-list{
					margin: 0;
					list-style-type: none;
					li{
						a{
							font-size: .85vw;
							color: #555;
						}
					}
				}
			}
		}
	}
	.top-news{
		border-top: 1px solid #ddd;
		.news-list{
			margin: 0;
			list-style-type: none;
			margin-bottom: 5.6vw;
			> li{
				width: 47.5%;
				margin-bottom: 2.4vw;
				>a{
					gap: 1.6vw;
					.image-area{
						flex-shrink: 0;
						width: 6vw;
						height: 4vw;
						overflow: hidden;
						position: relative;
						border-radius: .4vw;
						img{
							width: 100%;
							height: auto;
							transition: .3s;
						}
					}
					.text-area{
						flex-shrink: 0;
					}
					h4{
						font-size: 1.1vw;
						color: #1e1e1e;
						margin-bottom: .4vw;
						transition: .3s;
					}
				}
				>a:hover{
					.image-area{
						img{
							transform: scale(1.08);
						}
					}
					h4{
						color: #BB0118;
					}
				}
			}
			.meta{
				p{
					font-size: .85vw;
					color: #555;
					span{
						opacity: .5;
						margin: 0 .4vw;
					}
				}
				.cat-list{
					margin: 0;
					list-style-type: none;
					li{
						a{
							font-size: .85vw;
							color: #555;
						}
					}
				}
			}
		}
	}
	.top-message{
		background-image: url(../images/bg-message.jpg);
		background-size: cover;
		background-position: center;
		.section-title{
			span{
				color: #fff;
			}
			h2{
				color: #fff;
			}
		}
		h4,p{
			color: #fff;
		}
		p{
			margin-bottom: 3.6vw;
		}
	}
	footer{
		padding: 4.8vw 0 3.6vw;
		.logo{
			figure{
				width: 12vw;
			}
		}
		.nav{
			>li{
				a{
					font-size: 1vw;
					font-weight: 600;
					color: #1E1E1E;
				}
				a:hover{
					color: #BB0118;;
				}
			}
			>li:last-child{
				margin-left: 1.2vw;
			}
			.nav-cl{
				margin: 0 0 0;
				list-style-type: none;
				padding-left: 1.1vw;
				li{
					margin-top: .4vw;
					a{
						font-size: 1vw;
						font-weight: 600;
						color: #555;
					}
				}
			}
		}
		.copyright{
			text-align: center;
			font-size: .85vw;
			color: #1E1E1E;
			margin-top: 4.8vw;
		}
	}
}

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

.front-page{
	.fv{
		margin-top: 11.2vw;
		position: relative;
		height: auto;
		.contents{
			padding: 8vw 0 4vw;
			position: relative;
			top: -2vw;
			background-color: #1e1e1e;
			.area{
				position: relative;
				left: 0;
				bottom: 0vw;
				width: 100%;
			}
			.sp-badge{
				width: 90%;
    			margin-left: 5%;
    			margin-top: 9.6vw;
    			margin-bottom: 4.8vw;
			}
			.copy{
				margin-bottom: 2.4vw;
				h2{
					font-size: 4.8vw;
					margin: 0 0 4.8vw 0;
				}
				h3{
					font-size: 3.2vw;
					font-weight: normal;
					margin: 0 0 7.2vw 0;
				}
				> figure{
					width: 28vw;
				}
			}
			.logo-slider{
				margin-top: 9.6vw;
				margin-bottom: 7.2vw;
				border-radius: .8vw;
				padding: 2.4vw 0;
			}
		}
		.video{
			max-width: 300%;
		    width: 120%;
		    position: relative;
		    left: -10%;
		}
	}
	.top-about{
		.flex-item{
			margin-bottom: 9.6vw;
		}
		.about-logo-icon{
			position: absolute;
			width: 8.8vw;
			height: auto;
			left: auto;
			right: 0;
			bottom: 0;
			top: 0;
			margin: auto;
		}
	}
	.top-nayami-kaiketsu{
		.contents{
			border-radius: 1.6vw;
			padding: 8vw 0;
			h2{
				margin-bottom: 7.2vw;
			}
			.head{
				width: 12vw;
				border-radius: 1.2vw;
				h3{
					font-size: 3.4vw;
				}
				figure{
					width: 6vw;
				}
			}
			ul{
				gap: 1.6vw;
				margin: 0;
				li{
					border-radius: 1.2vw;
					padding: 2.4vw 4vw 4vw 4vw;
					figure{
						width: 4.4vw;
						margin-bottom: 1.6vw;
					}
				}
			}
			.nayami{
				gap: 1.6vw;
				margin-bottom: 1.6vw;
				li{
					background-color: #383838;
					p{
						color: #ffffff;
					}
				}
				.head{
					background-color: #1e1e1e;
				}
			}
			.kaiketsu{
				gap: 1.6vw;
				li{
					p{
						span{
							font-size: 3.5vw;
						}
					}
				}
				.head{
					background-color: #BB0118;
				}
			}
			.triangle{
				margin-bottom: 1.6vw;
				figure{
					width: 4vw;
				}
			}
		}
	}
	.top-reason{
		.section-title02{
			margin-bottom: 16vw;
		}
		.col2 h3{
			margin-top: 4.8vw;
			margin-bottom: 7.2vw;
		}
		.elevation{
			margin-top: 11.2vw;
			.auto-slide{
				margin-top: 9.6vw;
			}
			h4{
				margin: 9.6vw 0 8vw;
			}
			.ecj-point-list{
				gap: 3.2vw;
				margin: 0;
				> li{
					border-radius: 1.2vw;
					padding: 4vw;
					figure{
						width: 8vw;
						margin-bottom: 3.2vw;
					}
					h5{
						font-size: 3.7vw;
						margin-bottom: 3.2vw;
					}
				}
				> li:first-child{
					width: 100%;
					padding: 2.4vw 0;
					h3{
						font-size: 3.7vw;
					}
				}
			}
			.ecj-point-list02{
				margin: 0;
				list-style-type: none;
				gap: 3.2vw;
				> li{
					border-radius: 1.2vw;
					margin-top: 0vw;
					padding: 4vw;
					figure{
						width: 8vw;
						margin-bottom: 3.2vw;
					}
					h5{
						font-size: 3.7vw;
						margin-bottom: 3.2vw;
					}
				}
				li:first-child{
					margin-bottom: 3.2vw;
				}
				.title{
					gap: 2.4vw;
				}
			}
		}
		.reason02{
			.elevation{
				padding: 6vw 0 7.2vw;
			}
		}
		.reason03{
			.elevation{
				padding: 11.2vw 0vw 11.2vw;
			}
			.point-list{
				margin-top: 14vw;
				li{
					margin-bottom: 3.6vw;
				}
				p{
					font-weight: bold;
					font-size: 3.3vw;
				}
			}
		}
		.reason04{
			background-color: #f5f5f5;
			.media-list{
				margin-top: 4.8vw;
			}
			.card-media{
				display: block;
				padding: 1.6vw;
				background-color: #fff;
				border-radius: .8vw;
				color: #1e1e1e;
				box-shadow: 0 16px 64px 0 rgba(0, 0, 0, 0.05);
				h3{
					font-size: 1.5vw;
					text-align: center;
					margin: 2vw 0 1.2vw;
				}
				h4{
					font-size: 1.1vw;
					margin-bottom: 1.6vw;
					text-align: center;
				}
			}
			.card-media:hover{
				h3{
					color: #BB0118;
				}
				h4{
					color: #BB0118;
				}
			}
		}
	}
	.top-clients{
		.logo-area{
			margin-top: 9.6vw;
			padding-top: 9.6vw;
			border-top: 1px solid #ddd;
			ul{
				list-style-type: none;
				margin: 0;
				gap: 8.4vw;
				justify-content: center;
				.size-s{
					width: auto;
					height: 4.2vw;
				}
				.size-r{
					width: auto;
					height: 6.6vw;
				}
				.size-m{
					width: auto;
					height: 9vw;
				}
				.size-l{
					width: auto;
					height: 10.8vw;
				}
			}
		}
		.number{
			border-radius: 1.2vw;
			padding: 4.8vw;
			width: 100%;
			margin-top: 8vw;
			h3{
				font-size: 3.4vw;
				margin-bottom: 0vw;
			}
			p{
				font-size: 3.4vw;
				span{
					font-size: 10.8vw;
				}
			}
		}
	}
	.top-step{
		.step-list{
			.list-cl{
				border-radius: 1.2vw;
				padding: 4vw 4vw 4vw 4vw;
				margin-bottom: 4.8vw;
				.num{
					color: #fff;
					padding: 2vw .6vw 1.4vw;
					list-style-type: 1.1;
					border-radius: 1.2vw;
					font-size: 3vw;
					width: 12vw;
					span{
						font-size: 5.4vw;
					}
				}
				h3{
					font-size: 4.5vw;
					width: auto;
					margin-left: 2.4vw;
				}
				p{
					padding-top: 4.4vw;
				}
				ul{
					margin: 4.4vw 0 .8vw 0;
					list-style-type: none;
					gap: 1.6vw;
					li{
						margin-bottom: 8vw;
						img{
							margin-bottom: 3.6vw;
							border-radius: 1.2vw;
						}
						span{
							font-size: 3vw;
							margin-bottom: .6vw;
						}
						h4{
							font-size: 3.5vw;
							margin-bottom: .6vw;
						}
						p{
							font-size: 3vw;
						}
					}
				}
			}
		}
	}
	.top-faq{
		.faq-list{
			margin: 0;
			list-style-type: none;
			li{
				padding: 4.8vw 5.6vw;
				border-radius: 1.2vw;
				margin-bottom: 4.8vw;
				span{
					font-size: 6vw;
					margin-right: 2.4vw;
				}
				.faq-a{
					margin-top: 3.6vw;
				}
				h4{
					font-size: 3.6vw;
				}
				p{
					padding-top: .6vw;
				}
			}
			li:last-child{
				margin-bottom: 0;
			}
		}
	}
	.top-cta{
		.section-title02{
			span{
				margin-top: 3vw;
				font-size: 3vw;
			}
		}
		.btn{
			margin-top: 6.4vw;
		}
	}
	.top-seminar{
		.seminar-list{
			margin: 0;
			list-style-type: none;
			gap: 5%;
			> li{
				width: 100%;
				margin-bottom: 9.6vw;
				>a{
					.image-area{
						height: 48vw;
						margin-bottom: 4.8vw;
						border-radius: 1.6vw;
						figure{
							width: 9.6vw;
							right: 3.2vw;
							bottom: 3.2vw;
						}
					}
					h4{
						font-size: 3.8vw;
						margin-bottom: 2.4vw;
					}
				}
			}
			.meta{
				p{
					font-size: 2.8vw;
					span{
						opacity: .5;
						margin: 0 1.2vw;
					}
				}
				.cat-list{
					margin: 0;
					list-style-type: none;
					li{
						a{
							font-size: 2.8vw;
						}
					}
				}
			}
		}
	}
	.top-news{
		border-top: 1px solid #ddd;
		.news-list{
			margin: 0;
			list-style-type: none;
			margin-bottom: 9.6vw;
			> li{
				width: 100%;
				margin-bottom: 7.2vw;
				>a{
					gap: 4.8vw;
					.image-area{
						flex-shrink: 0;
						width: 18vw;
						height: 12vw;
						border-radius: .8vw;
					}
					.text-area{
						flex-shrink: 1;
					}
					h4{
						font-size: 3.3vw;
						margin-bottom: 1.2vw;
					}
				}
			}
			.meta{
				p{
					font-size: 2.8vw;
					span{
						margin: 0 1.2vw;
					}
				}
				.cat-list{
					margin: 0;
					list-style-type: none;
					li{
						a{
							font-size: 2.8vw;
						}
					}
				}
			}
		}
	}
	.top-message{
		background-image: url(../images/bg-message.jpg);
		background-size: cover;
		background-position: center;
		.section-title{
			margin-bottom: 11.2vw;
			span{
				color: #fff;
			}
			h2{
				color: #fff;
			}
		}
		h4{
			margin-bottom: 7.2vw;
		}
		h4,p{
			color: #fff;
		}
		p{
			margin-bottom: 10.8vw;
		}
	}
	footer{
		padding: 9.6vw 0 7.2vw;
		.logo{
			figure{
				width: 36vw;
			}
		}
		.nav{
			margin: 7.2vw auto 7.2vw;
			padding: 0;
			>li{
				a{
					font-size: 3vw;
				}
			}
			li{
				margin-bottom: 4.8vw;
			}
			>li:last-child{
				margin-left: 1.2vw;
			}
			.nav-cl{
				padding-left: 3.3vw;
				li{
					margin-top: 1.2vw;
					a{
						font-size: 3vw;
						font-weight: 600;
						color: #555;
					}
				}
			}
		}
		.copyright{
			text-align: center;
			font-size: 2.8vw;
			margin-top: 0vw;
		}
	}
}

}





















