@charset "UTF-8";


/*------イメージ-----*/

.mv {
	padding: 0 100px;
}
.mv .inner {
	max-width: 1166px;
	margin: 0 auto;
	width: 100%;
	height: 50vw;
	max-height: 600px;
	min-height: 480px;
	position: relative;
}
.mv .swiper-container {
	width: 100%;
	height: 100%;
	border-radius: 50px;
}
.mv .swiper-slide {
	width: 100%;
}
.mv .slide01 {
	background: url("../img/mv_01.jpg") no-repeat 50% 50%;
	background-size: cover;
}
.mv .slide02 {
	background: url("../img/mv_02.jpg") no-repeat 50% 50%;
	background-size: cover;
}
.mv .slide03 {
	background: url("../img/mv_03.jpg") no-repeat 0% 50%;
	background-size: cover;
}
.mv .slide04 {
	background: url("../img/mv_04.jpg") no-repeat 50% 50%;
	background-size: cover;
}
.mv .slide05 {
	background: url("../img/mv_05.jpg") no-repeat 50% 50%;
	background-size: cover;
}
.mv .copy {
	position: absolute;
	left: 60px;
	bottom: 80px;
	z-index: 9999;
	font-size: 22px;
	font-weight: bold;
	color: #151262;
}
.mv .copy p {
	margin-top: 1.8em;
}
.mv .copy p span {
	background-color: #fff;
	padding: 5px 15px;
}

.scroll {
	font-size: 14px;
	position: absolute;
	left: -60px;
	bottom: 150px;
	z-index: 9;
	color: #151262;
	writing-mode: vertical-rl;
	padding-bottom: 100px;
}

.scroll span {
	position: absolute;
	content: '';
	display: inline-block;
	bottom: 0;
	left: 50%;
	width: 1px;
	height: 80px;
	background-color: #151262;
	animation: sdl 2s cubic-bezier(1, 0, 0, 1) infinite;
}

@keyframes sdl {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  50.1% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}

.mv .inner::before {
	content: '';
	display: inline-block;
	width: 259px;
	height: 209px;
	background: url("../img/img_about_left.png") no-repeat left top;
	background-size: cover;
	position: absolute;
	left: -100px;
	bottom: -250px;
	z-index: 991;
}
.mv .inner::after {
	content: '';
	display: inline-block;
	width: 180px;
	height: 304px;
	background: url("../img/img_about_right.png") no-repeat left top;
	background-size: cover;
	position: absolute;
	right: -60px;
	bottom: -180px;
	z-index: 991;
}

@media screen and (max-width: 1259px){
	
	.mv {
		padding: 0 50px;
	}
	.scroll {
		font-size: 12px;
		left: -32px;
		bottom: 120px;
		padding-bottom: 90px;
	}

	.scroll span {
		height: 70px;
	}
}

@media screen and (max-width: 999px){
	
	.mv .inner {
		height: 55vw;
		min-height: 400px;
	}
	.mv .copy {
		left: 45px;
		bottom: 60px;
		font-size: 20px;
	}
	.mv .copy p span {
		padding: 3px 10px;
	}
	
	.mv .inner::before {
		width: 194px;
		height: 157px;
		left: -50px;
		bottom: -180px;
	}
	.mv .inner::after {
		width: 135px;
		height: 228px;
		right: -30px;
		bottom: -150px;
	}

}

@media screen and (max-width: 767px){
	
	.mv {
		padding: 0 25px;
	}
	.mv .inner {
		min-height: auto;
	}
	.mv .swiper-container {
		border-radius: 15px;
	}
	.mv .swiper-slide {

	}
	.mv .copy {
		left: 20px;
		bottom: 40px;
		font-size: 16px;
	}
	.scroll {
		display: none;
	}
	.mv .inner::before {
		width: 130px;
		height: 105px;
		left: -35px;
		bottom: -120px;
	}
	.mv .inner::after {
		width: 90px;
		height: 152px;
		right: -15px;
		bottom: -100px;
	}
	
}

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

	.mv .inner {
		height: calc( 100vh - 205px );
		max-height: 600px;
		max-width: 480px;
	}
	.mv .slide01 {
		background: url("../img/mv_01_sp.jpg") no-repeat 50% 30%;
		background-size: cover;
	}
	.mv .slide02 {
		background: url("../img/mv_02_sp.jpg") no-repeat 50% 30%;
		background-size: cover;
	}
	.mv .slide03 {
		background: url("../img/mv_03_sp.jpg") no-repeat 50% 100%;
		background-size: cover;
	}
	.mv .slide04 {
		background: url("../img/mv_04_sp.jpg") no-repeat 50% 50%;
		background-size: cover;
	}
	.mv .slide05 {
		background: url("../img/mv_05_sp.jpg") no-repeat 100% 0%;
		background-size: cover;
	}
	.mv .copy {
		top: 5%;
		left: 15px;
		bottom: auto;
		font-size: 15px;
	}
	.mv .copy p span {
		padding: 3px 8px;
	}
	.mv .inner::before {
		width: 110px;
		height: 89px;
		left: -40px;
		bottom: -100px;
	}
	.mv .inner::after {
		width: 87px;
		height: 145px;
		right: -20px;
		bottom: -90px;
	}
}

/*------ABOUT-----*/

.sec_about {
	margin-top: -300px;
	padding: 360px 100px 70px;
	background-color: #F5F0EC;
}
.sec_about .inner {
	max-width: 900px;
	margin: 0 auto;
}
.wrap_h2 {
	margin-bottom: 40px;
}
.wrap_h2 .en {
	text-align: center;
	font-size: 48px;
	color: #151262;
	line-height: 1.5;
	margin-bottom: 30px;
}
.wrap_h2 .en span {
	background: linear-gradient(transparent 70%, #ffff6b 0%);
}
.wrap_h2 h2 {
	font-size: 24px;
	line-height: 1.8;
	text-align: center;
}
.sec_about .honbun {
	line-height: 2;
	margin-bottom: 80px;
}
.sec_about ul {
	display: flex;
	justify-content: space-between;
}
.sec_about li {
	background-color: #fff;
	border-radius: 30px;
	width: 30%;
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 50px 15px 30px;
}
.sec_about ul .en {
	font-size: 54px;
	position: absolute;
	left: 50%;
	top: -27px;
	mix-blend-mode: multiply;
	transform: translateX(-50%);
    text-shadow: 2px 2px 0 #151262, -2px -2px 0 #151262,
                 -2px 2px 0 #151262, 2px -2px 0 #151262,
                 2px 0 0 #151262, -2px 0 0 #151262,
                 0 2px 0 #151262, 0 -2px 0 #151262;
	color: #fff;
}
.sec_about ul img {
	width: 80px;
	margin-bottom: 20px;
}
.sec_about ul .jp {
	font-size: 22px;
	color: #151262;
	font-weight: bold;
}

@media screen and (max-width: 1259px){
	
	.sec_about {
		padding: 360px 50px 70px;
	}
	
}

@media screen and (max-width: 999px){
	
	.sec_about {
		margin-top: -300px;
		padding: 340px 50px 70px;
	}
	.wrap_h2 {
		margin-bottom: 25px;
	}
	.wrap_h2 .en {
		font-size: 36px;
		margin-bottom: 25px;
	}
	.wrap_h2 h2 {
		font-size: 20px;
	}
	.sec_about .honbun {
		line-height: 1.8;
		margin-bottom: 60px;
		text-align: left;
	}
	.sec_about .honbun br {
		/*display: none;*/
	}
	.sec_about li {
		padding: 40px 15px 25px;
	}
	.sec_about ul .en {
		font-size: 44px;
		top: -22px;
		text-shadow: 2px 2px 0 #151262, -2px -2px 0 #151262,
					 -2px 2px 0 #151262, 2px -2px 0 #151262,
					 2px 0 0 #151262, -2px 0 0 #151262,
					 0 2px 0 #151262, 0 -2px 0 #151262;
	}
	.sec_about ul img {
		width: 70px;
		margin-bottom: 15px;
	}
	.sec_about ul .jp {
		font-size: 20px;
	}

}

@media screen and (max-width: 767px){
	
	.sec_about {
		margin-top: -300px;
		padding: 350px 25px 40px;
	}
	.sec_about .inner {
		max-width: 480px;
	}
	.wrap_h2 {
		margin-bottom: 20px;
	}
	.wrap_h2 .en {
		font-size: 24px;
		margin-bottom: 20px;
	}
	.wrap_h2 h2 {
		font-size: 18px;
	}
	.sec_about .honbun {
		margin-bottom: 40px;
	}
	.sec_about li {
		border-radius: 20px;
		margin: 0 auto 40px;
		padding: 30px 10px 20px;
	}
	.sec_about ul .en {
		font-size: 36px;
		top: -18px;
		mix-blend-mode: multiply;
		transform: translateX(-50%);
		text-shadow: 2px 2px 0 #151262, -2px -2px 0 #151262,
					 -2px 2px 0 #151262, 2px -2px 0 #151262,
					 2px 0 0 #151262, -2px 0 0 #151262,
					 0 2px 0 #151262, 0 -2px 0 #151262;
	}
	.sec_about ul img {
		width: 54px;
	}
	.sec_about ul .jp {
		font-size: 18px;
	}
	
}

@media screen and (max-width: 479px){
	
	.sec_about ul {
		display: block;
	}
	.sec_about li {
		width: 220px;
		margin: 0 auto 40px;
		flex-direction: row;
		align-items: center;
		padding: 30px 15px 20px;
	}
	.sec_about li:last-child {
		margin-bottom: 0;
	}
	.sec_about ul img {
		margin: 0 20px 0 0;
	}
	
}

/*------VISION-----*/

.sec_vision {
	padding: 70px 100px 120px;
}
.sec_vision .inner {
	max-width: 1000px;
	margin: 0 auto;
}
.sec_vision .wrap_flex {
	display: flex;
	justify-content: space-between;
}
.sec_vision .left {
	width: 55%;
}
.sec_vision h2 {
	font-size: 24px;
	line-height: 1.8;
	margin-bottom: 25px;
}
.sec_vision .honbun {
	font-size: 15px;
	line-height: 2;
}
.sec_vision .right {
	width: 40%;
}
.sec_vision .right img {
	width: 100%;
	border-radius: 30px;
}

@media screen and (max-width: 1259px){
	
	.sec_vision {
		padding: 70px 50px;
	}
	
}

@media screen and (max-width: 999px){
	
	.sec_vision {
		padding: 70px 50px;
	}
	.sec_vision h2 {
		font-size: 20px;
		margin-bottom: 25px;
	}
	.sec_vision .honbun {
		line-height: 1.8;
	}
}

@media screen and (max-width: 767px){
	
	.sec_vision {
		padding: 40px 25px 100px;
	}
	.sec_vision .inner {
		max-width: 480px;
	}
	.sec_vision .wrap_flex {
		display: block;
	}
	.sec_vision .left {
		width: 100%;
		margin-bottom: 30px;
	}
	.sec_vision h2 {
		font-size: 18px;
		text-align: center;
		margin-bottom: 20px;
	}
	.sec_vision .right {
		width: 100%;
		max-width: 360px;
		height: 200px;
		margin: 0 auto;
	}
	.sec_vision .right img {
		height: 100%;
		border-radius: 15px;
		object-fit: cover;
		object-position: 50% 100%;
	}
	
}

/*------BENEFIT-----*/

.sec_benefit {
	padding: 70px 100px 110px;
	background-color: #F5F0EC;
}
.sec_benefit .inner {
	max-width: 1000px;
	margin: 0 auto;
	position: relative;
}
.sec_benefit .inner::before {
	content: '';
	display: inline-block;
	width: 403px;
	height: 146px;
	background: url("../img/img_benefit_right.png") no-repeat left top;
	background-size: cover;
	position: absolute;
	right: -200px;
	top: -130px;
	z-index: 991;
}
.sec_benefit .honbun {
	line-height: 2;
	margin-bottom: 50px;
}
.sec_benefit ul {
	display: flex;
	justify-content: space-between;
}
.sec_benefit li {
	width: 30%;
}
.sec_benefit ul img {
	width: 100%;
	border-radius: 30px;
	margin-bottom: 30px;
}
.sec_benefit ul p {
	font-size: 20px;
	color: #151262;
	font-weight: bold;
	line-height: 1.5;
	text-align: center;
}

@media screen and (max-width: 1259px){
	
	.sec_benefit {
		padding: 70px 50px 110px;
	}
	
}

@media screen and (max-width: 999px){
	.sec_benefit {
		padding: 70px 50px 90px;
	}
	.sec_benefit .inner::before {
		width: 302px;
		height: 110px;
		right: -100px;
		top: -120px;
	}
	.sec_benefit .honbun {
		line-height: 1.8;
		margin-bottom: 40px;
		text-align: left;
	}
	.sec_benefit .honbun br {
		/*display: none;*/
	}
	.sec_benefit ul img {
		margin-bottom: 20px;
	}
	.sec_benefit ul p {
		font-size: 16px;
	}
	
}

@media screen and (max-width: 767px){
	
	.sec_benefit {
		padding: 50px 25px 100px;
	}
	.sec_benefit .inner::before {
		width: 232px;
		height: 84px;
		right: 50%;
		top: -105px;
		transform: translateX(50%);
	}
	.sec_benefit .inner {
		max-width: 480px;
	}
	.sec_benefit .honbun {
		margin-bottom: 30px;
	}
	.sec_benefit ul {
		display: block;
	}
	.sec_benefit li {
		width: 240px;
		margin: 0 auto 30px;
	}
	.sec_benefit li:last-child {
		margin-bottom: 0;
	}
	.sec_benefit ul img {
		border-radius: 15px;
		margin-bottom: 15px;
	}
	
}	
	
/*------SERVICE-----*/

.sec_service {
	padding: 100px 100px;
}
.sec_service .inner {
	position: relative;
	display: flex;
	justify-content: space-between;
	max-width: 1166px;
	margin: 0 auto;
}
.sec_service .left {
	width: 270px;
	margin-top: 50px;
	position: relative;
}
.sec_service .left::before {
	content: '';
	display: inline-block;
	width: 197px;
	height: 171px;
	background: url("../img/img_service_left.png") no-repeat left top;
	background-size: cover;
	position: absolute;
	left: 50%;
	top: -210px;
	z-index: 991;
	transform: translateX(-50%);
}
.sec_service .left .honbun {
	line-height: 2;
}
.sec_service .right {
	width: calc( 100% - 340px );
}

.sec_service .ul_service li {
	margin-bottom: 60px;
	border-radius: 30px;
	background-color: #F3F5EC;
	padding: 50px;
	display: flex;
	justify-content: space-between;
	position: relative;
}
.sec_service .ul_service li:nth-child(2) {
	background-color: #ECF4F5;
}
.sec_service .ul_service li:nth-child(3) {
	background-color: #EFECF5;
}
.sec_service .ul_service li:last-child {
	margin-bottom: 0;
}
.sec_service .ul_service .en {
	position: absolute;
	left: 50px;
	top: -55px;
	font-size: 16px;
	color: #151262;
}
.sec_service .ul_service .en span {
	font-size: 64px;
	margin-right: 15px;
	vertical-align: middle;
}
.sec_service .ul_service li .txt {
	width: 60%;
}
.sec_service .ul_service li h3 {
	font-size: 26px;
	margin-bottom: 30px;
	padding-top: 20px;
}
.sec_service .ul_service li p {
	font-size: 15px;
	line-height: 1.8;
}
.sec_service .ul_service li .img {
	width: 35%;
}
.sec_service .ul_service li .img img {
	width: 100%;
	border-radius: 30px;
}

@media screen and (max-width: 1259px){
	
	.sec_service {
		padding: 100px 50px;
	}
	.sec_service .left {
		width: 240px;
	}
	.sec_service .right {
		width: calc( 100% - 300px );
	}
	.sec_service .ul_service li .txt {
		width: 52%;
	}
	.sec_service .ul_service li .img {
		width: 40%;
	}

}

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

	.sec_service {
		padding: 70px 50px 70px;
	}
	.sec_service .inner {
		display: block;
	}
	.sec_service .left {
		width: auto;
		margin-top: 0px;
		margin-bottom: 70px;
	}
	.sec_service .left::before {
		width: 148px;
		height: 128px;
		top: -130px;
		left: 0;
		transform: translateX(0);
	}
	.sec_service .left .honbun {
		line-height: 1.8;
	}
	.sec_service .right {
		width: auto;
	}

	.sec_service .ul_service li {
		margin-bottom: 50px;
		padding: 40px;
	}
	.sec_service .ul_service .en {
		left: 40px;
		top: -48px;
	}
	.sec_service .ul_service .en span {
		font-size: 54px;
		margin-right: 20px;
	}
	.sec_service .ul_service li h3 {
		font-size: 22px;
		padding-top: 15px;
	}
	.sec_service .ul_service li p {
		line-height: 1.8;
	}
	.sec_service .ul_service li .txt {
		width: 60%;
	}
	.sec_service .ul_service li .img {
		width: 35%;
	}
	
}

@media screen and (max-width: 767px){
	
	.sec_service {
		padding: 50px 25px 70px;
	}
	.sec_service .inner {
		margin: 0 auto;
		max-width: 480px;
	}
	.sec_service .left {
		margin-bottom: 60px;
	}
	.sec_service .left::before {
		width: 130px;
		height: 113px;
		top: -120px;
	}
	.sec_service .ul_service li {
		margin-bottom: 45px;
		border-radius: 15px;
		padding: 50px 25px 30px;
		display: block;
	}
	.sec_service .ul_service .en {
		left: 25px;
		top: -42px;
		font-size: 14px;
	}
	.sec_service .ul_service .en span {
		font-size: 48px;
		margin-right: 15px;
	}
	.sec_service .ul_service li .txt {
		width: auto;
	}
	.sec_service .ul_service li h3 {
		font-size: 20px;
		margin-bottom: 25px;
		padding-top: 0px;
	}
	.sec_service .ul_service li p {
		margin-bottom: 30px;
	}
	.sec_service .ul_service li .img {
		width: auto;
		max-width: 275px;
		height: 190px;
		margin: 0 auto;
	}
	.sec_service .ul_service li .img img {
		height: 100%;
		object-fit: cover;
		border-radius: 15px;
	}

}

/*------TEAM-----*/

.sec_team {
	padding: 70px 100px 70px;
	background-color: #F5F0EC;
}
.sec_team .inner {
	max-width: 1100px;
	margin: 0 auto;
	position: relative;
}
.sec_team .inner::before {
	content: '';
	display: inline-block;
	width: 205px;
	height: 196px;
	background: url("../img/img_team_left.png") no-repeat left top;
	background-size: cover;
	position: absolute;
	left: 0;
	top: -140px;
	z-index: 991;
}
.sec_team .honbun {
	line-height: 2;
	text-align: center;
	margin-bottom: 50px;
}
.swiper-container2 {
	margin-bottom: 100px;
	position: relative;
}
.swiper-container2 .swiper-slide img {
	width: 100%;
	height: auto;
	border-radius: 30px;
}
.swiper-container2 .btn {
	position: absolute;
	top: 50%;
	width: 60px;
	height: 60px;
	background-color: #151262;
	z-index: 99;
	border-radius: 30px;
	margin-top: -30px;
	cursor: pointer;
	transition: opacity 0.3s ease;
	display: flex;
	justify-content: center;
	align-items: center;
}
.swiper-container2 .btn img {
	width: 17px;
}
.swiper-container2 .btn:hover {
	opacity: 0.6;
}
.swiper-container2 .btn_next {
	right: 0;
}
.swiper-container2 .btn_prev {
	left: 0;
}

.swiper-container2::after {
	content: '';
	display: inline-block;
	width: 147px;
	height: 181px;
	background: url("../img/img_team_right.png") no-repeat left top;
	background-size: cover;
	position: absolute;
	right: 0;
	bottom: -80px;
	z-index: 991;
}

.recruit {
	max-width: 720px;
	margin: 0 auto;
}
.recruit a {
	text-decoration: none;
	color: #fff;
	display: flex;
	justify-content: space-between;
}
.recruit .left {
	width: calc( 100% - 300px );
	background-color: #151262;
	border-radius: 30px 0 0 30px;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	padding: 0 15px;
}
.recruit h3 {
	font-size: 26px;
	font-weight: bold;
	margin-bottom: 25px;
	padding-top: 25px;
	position: relative;
}
.recruit h3::after {
	content: 'RECRUIT';
	font-size: 72px;
	font-family: "Lato", sans-serif;
	font-weight: 900;
	opacity: 0.2;
	position: absolute;
	left: 50%;
	bottom: 0px;
	transform: translateX(-50%);
}
.recruit .jp {
	font-size: 15px;
	line-height: 1.5;
	margin-bottom: 25px;
}
.recruit .en {
	width: 160px;
	height: 46px;
	border: 1px solid #fff;
	border-radius: 23px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 14px;
	margin: 0 auto;
	transition: all 0.3s ease;
	background-color: #151262;
}
.recruit a:hover .en {
	color: #151262;
	background-color: #fff;
}
.recruit .right {
	width: 300px;
	order: 1;
}
.recruit .right img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 0 30px 30px 0;
}

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

	.sec_team {
		padding: 70px 50px 70px;
	}
	
}

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

	.sec_team .inner::before {
		width: 154px;
		height: 147px;
		top: -120px;
		right: 0;
		left: auto;
	}
	.sec_team .honbun {
		line-height: 1.8;
		text-align: left;
		margin-bottom: 40px;
	}
	.sec_team .honbun br {
		/*display: none;*/
	}
	.swiper-container2 {
		margin-bottom: 70px;
	}
	.swiper-container2 .btn {
		width: 46px;
		height: 46px;
		border-radius: 23px;
		margin-top: -23px;
	}
	.swiper-container2 .btn img {
		width: 12px;
	}

	.swiper-container2::after {
		width: 110px;
		height: 136px;
		bottom: -40px;
	}

}

@media screen and (max-width: 767px){
	
	.sec_team {
		padding: 70px 25px 40px;
	}
	.sec_team .inner {
		max-width: 480px;
	}
	.sec_team .inner::before {
		width: 123px;
		height: 118px;
		top: -120px;
	}
	.sec_team .honbun {
		margin-bottom: 30px;
	}
	.swiper-container2 {
		margin-bottom: 70px;
	}
	.swiper-container2 .swiper-slide img {
		border-radius: 15px;
	}
	.swiper-container2 .btn_next {
		right: -10px;
	}
	.swiper-container2 .btn_prev {
		left: -10px;
	}
	.swiper-container2::after {
		width: 81px;
		height: 100px;
		bottom: -60px;
	}

	.recruit {
		max-width: 300px;
	}
	.recruit a {
		display: block;
	}
	.recruit .left {
		width: auto;
		border-radius: 0 0 15px 15px;
		display: block;
		padding: 25px 15px;
	}
	.recruit h3 {
		font-size: 20px;
		margin-bottom: 20px;
		padding-top: 0px;
	}
	.recruit h3::after {
		display: none;
	}
	.recruit .jp {
		font-size: 14px;
		margin-bottom: 20px;
	}
	.recruit .en {
		width: 110px;
		height: 32px;
		border-radius: 16px;
		font-size: 12px;
	}
	.recruit .right {
		width: auto;
		height: 140px;
	}
	.recruit .right img {
		border-radius: 15px 15px 0 0;
	}
	
}


.frontman {
	background-color: #fff;
	max-width: 1000px;
	border-radius: 30px;
	padding: 40px 50px;
	margin: 0 auto 60px;
}
.frontman .ttl {
	text-align: center;
}
.frontman .ttl .en {
	font-size: 40px;
	color: #151262;
	margin-bottom: 30px;
}
.frontman .ttl h3 {
	font-size: 18px;
	margin-bottom: 40px;
}
.frontman .wrap_flex {
	display: flex;
	justify-content: space-between;
}
.frontman .left {
	width: calc( 100% - 320px );
}
.frontman .right {
	width: 260px;
}
.frontman .right img {
	width: 100%;
	border-radius: 30px;
}
.frontman .left p {
	font-size: 15px;
	line-height: 1.8;
	margin-bottom: 1em;
}
.frontman .left p.alignright {
	margin-bottom: 0;
}

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

	.frontman {
		padding: 40px;
	}
	.frontman .ttl .en {
		font-size: 32px;
		margin-bottom: 20px;
	}
	.frontman .ttl h3 {
		font-size: 18px;
		margin-bottom: 30px;
	}
	.frontman .left {
		width: 60%;
	}
	.frontman .right {
		width: 35%;
	}
	.frontman .right img {
		border-radius: 15px;
	}
}

@media screen and (max-width: 767px){
	
	.frontman {
		max-width: 480px;
		border-radius: 15px;
		padding: 35px 25px;
		margin: 0 auto 40px;
	}
	.frontman .ttl .en {
		font-size: 24px;
		margin-bottom: 20px;
	}
	.frontman .ttl h3 {
		font-size: 16px;
		margin-bottom: 30px;
	}
	.frontman .wrap_flex {
		display: block;
	}
	.frontman .left {
		width: 100%;
		margin-bottom: 30px;
	}
	.frontman .right {
		width: 100%;
		max-width: 240px;
		margin: 0 auto;
	}

}

/*------CONTACT-----*/

.sec_contact {
	padding: 70px 100px;
}
.sec_contact .inner {
	max-width: 900px;
	margin: 0 auto;
}
.sec_contact .tel_wrap {
	background-color: #F3F5EC;
	border-radius: 30px;
	padding: 30px;
	margin: 0 auto 60px;
	max-width: 640px;
	text-align: center;
}
.sec_contact .tel_wrap h3 {
	font-size: 18px;
	margin-bottom: 35px;
	font-weight: bold;
}
.sec_contact .tel_wrap .tel a {
	display: block;
	margin-bottom: 30px;
	text-decoration: none;
	font-size: 32px;
	transition: opacity 0.3s ease;
	color: #151262;
	font-weight: bold;
}
.sec_contact .tel_wrap .tel a:hover {
	opacity: 0.6;
}
.sec_contact .tel_wrap .tel a::before {
	content: '';
	display: inline-block;
	width: 36px;
	height: 36px;
	background: url("../img/icon_sp_bl.svg") no-repeat 50% 50%;
	background-size: cover;
	margin-right: 12px;
	vertical-align: -5px;
}
.sec_contact .tel_wrap .cp_name {
	font-weight: bold;
	margin-bottom: 20px;
}
.sec_contact .tel_wrap .att {
	text-align: center;
	line-height: 1.5;
}

@media screen and (max-width: 1259px){
	
	.sec_contact {
		padding: 70px 50px;
	}
	
}

@media screen and (max-width: 767px){
	
	.sec_contact {
		padding: 40px 25px;
	}
	.sec_contact .inner {
		max-width: 480px;
		margin: 0 auto;
	}
	.sec_contact .tel_wrap {
		border-radius: 15px;
		padding: 25px;
		margin: 0 auto 40px;
	}
	.sec_contact .tel_wrap h3 {
		font-size: 14px;
		margin-bottom: 25px;
	}
	.sec_contact .tel_wrap .tel a {
		margin: 0 auto 25px;
		font-size: 24px;
		background-color: #151262;
		color: #fff;
		width: 260px;
		height: 50px;
		border-radius: 25px;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.sec_contact .tel_wrap .tel a::before {
		width: 26px;
		height: 26px;
		background: url("../img/icon_sp.svg") no-repeat 50% 50%;
		background-size: cover;
		margin-right: 8px;
		vertical-align: -4px;
	}
	.sec_contact .tel_wrap .cp_name {
		margin-bottom: 20px;
		font-size: 14px;
	}
	.sec_contact .tel_wrap .att {
		font-size: 14px;
	}
	
}

.form_wrap h3 {
	font-size: 24px;
	text-align: center;
	color: #151262;
	margin-bottom: 40px;
}
.form_wrap .att {
	line-height: 1.8;
	text-align: center;
	margin-bottom: 50px;
}
.form {
	margin-bottom: 50px;
}
.f_table {
	line-height: 1.5;
}
.f_table .tr {
	display: flex;
	padding-bottom: 40px;
}
.f_table .th {
	width: 230px;
	display: flex;
	align-items: center;
	font-weight: 500;
}
.f_table .th span, .privacy_check .need {
	background-color: #4284BA;
	color: #fff;
	font-size: 11px;
	display: inline-block;
	width: 40px;
	height: 20px;
	text-align: center;
	line-height: 20px;
	margin-right: 15px;
}
.f_table .th span.opt {
	background-color: #999;
	color: #fff;
}
.f_table .td {
	width: calc( 100% - 230px );
}
.f_table .td p {
	display: inline-block;
	margin-right: 1em;
}
.f_table input[type='text'], .f_table input[type='email'] {
	height: 46px;
	background-color: #f8f8f8;
	border: 1px solid #d5d5d5;
	width: 100%;
	padding: 7px;
	font-size: 16px;
	line-height: 1.5;
	font-family: inherit;
	transition: all 0.3s ease;
}
.f_table textarea {
	height: 240px;
	background-color: #f8f8f8;
	border: 1px solid #d5d5d5;
	width: 100%;
	padding: 7px;
	font-size: 16px;
	line-height: 1.5;
	font-family: inherit;
	transition: all 0.3s ease;
}
::placeholder {
  color: #666;
}
.f_table input[type='text']:focus, .f_table input[type='email']:focus, .f_table textarea:focus {
	background-color: #fff;
	border: 1px solid #999;
}
.privacy_check {
	background: #F2F2F2;
	padding: 30px;
	line-height: 1.5;
	text-align: center;
	margin: 0 auto 50px;
	max-width: 640px;
}
.privacy_check div {
	font-weight: bold;
	margin-bottom: 25px;
}
.privacy_check span {
	display: inline;
}
.privacy_check .need {
	margin-left: 1em;
}
.privacy_check p {
	font-size: 13px;
	line-height: 1.5;
}
.privacy_check p a {
	color: #4284BA;
	text-decoration: underline !important;
}
.privacy_check p a:hover {
	text-decoration: none !important;
}
.form input[type='submit'] {
	letter-spacing: 0.1em;
	width: 100%;
	max-width: 300px;
	height: 70px;
	color: #fff;
	border-radius: 35px;
	background-color: #151262;
	font-size: 20px;
	font-family: inherit;
	border: none;
	margin: 0 auto;
	font-weight: bold;
	cursor: pointer;
	transition: opacity 0.3s ease;
	-webkit-appearance : none;
	display: block;
}

.form input[type='submit']:hover {
	opacity: 0.6;
}

.policy {
	border: 1px solid #B9B9B9;
	padding: 25px;
	font-size: 14px;
	line-height: 1.8;
	text-align: left;
	height: 240px;
	overflow: auto;
	max-width: 640px;
	margin: 0 auto;
}
.policy p {
	margin-bottom: 2em;
}
.policy h4 {
	text-align: center;
}
.policy h4, .policy h5 {
	margin-bottom: 1em;
}
.policy ul {
    list-style-type: lower-alpha;
    padding-left: 2em;
    margin-bottom: 2em;
}


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

	.f_table .td p:first-of-type, .f_table .td p:nth-of-type(2) {
		margin-bottom: 1em;
	}
	
}

@media screen and (max-width: 767px){
	
	.form_wrap h3 {
		font-size: 16px;
		margin-bottom: 20px;
	}
	.form_wrap .att {
		text-align: left;
		margin-bottom: 30px;
	}
	.form {
		margin-bottom: 35px;
	}
	.f_table .tr {
		display: block;
		padding-bottom: 0;
	}
	.f_table .th {
		padding: 10px 15px;
		background-color: #F2F2F2;
		width: auto;
		display: block;
	}
	.f_table .td {
		padding:  25px 15px 35px;
		width: auto;
	}
	.f_table .td p {
		display: block;
		margin: 0 0 1.5em 0;
	}
	.f_table .td p:last-of-type {
		margin-bottom: 0;
	}
	.f_table .th span, .privacy_check .need {
		font-size: 11px;
		width: 36px;
		height: 23px;
		line-height: 23px;
		margin-right: 15px;
	}
	.f_table input[type='text'], .f_table input[type='email'] {
		height: 46px;
		padding: 5px;
		border: 1px solid #aaa;
		background-color: #fff;
	}
	.f_table textarea {
		height: 180px;
		padding: 5px;
		border: 1px solid #aaa;
		background-color: #fff;
	}
	.f_table input[type='text']:focus, .f_table input[type='email']:focus, .f_table textarea:focus {
		border: 1px solid #444;
	}
	.privacy_check {
		padding: 20px;
		font-size: 13px;
		margin: 0 auto 35px;
	}
	.privacy_check div {
		margin-bottom: 20px;
	}
	.privacy_check .need {
		margin-left: 0.5em;
	}
	.privacy_check p {
		font-size: 13px;
		text-align: left;
	}
	.form input[type='submit'] {
		max-width: 220px;
		height: 60px;
		border-radius: 30px;
		font-size: 16px;
	}
	.policy {
		padding: 15px 10px;
		font-size: 14px;
		height: 250px;
		max-width: 440px;
		margin: 0 auto;
	}
	.policy p {
		margin-bottom: 1.5em;
	}
}

/*------COMPANY-----*/

.sec_company {
	padding: 70px 100px;
	background-color: #F5F0EC;
}
.sec_company .inner {
	max-width: 900px;
	margin: 0 auto;
}
.table {
	border-bottom: 1px solid #cfcfcf;
	margin-bottom: 70px;
}
.table .tr {
	border-top: 1px solid #cfcfcf;
	display: flex;
	justify-content: space-between;
	line-height: 1.8;
}
.table .th {
	padding: 30px 30px;
	border-top: 1px solid #151262;
	width: 180px;
	font-weight: 500;
}
.table .td {
	padding: 30px 30px;
	width: calc( 100% - 180px );
}
.table ul {
	list-style: none;
}
.table li {
	text-indent: -1em;
	padding-left: 1em;
}
.table li::before {
	content: '・';
}
.gmap iframe {
	height: 440px;
	width: 100%;
	margin-bottom: 50px;
}
.bnr_area {
	display: flex;
	justify-content: center;
}
.bnr_area div {
	margin-right: 15px;
	max-width: 190px;
	width: calc( ( 100% - 30px ) / 2 );
}
.bnr_area div:last-of-type {
	margin-right: 0;
	margin-left: 15px;
}
.bnr_area a {
	transition: opacity 0.3s ease;
}
.bnr_area a:hover {
	opacity: 0.6;
}
.bnr_area img {
	width: 100%;
}
@media screen and (max-width: 1259px){
	
	.sec_company {
		padding: 70px 50px;
	}
	
}
@media screen and (max-width: 767px){
	
	.sec_company {
		padding: 40px 25px;
	}
	.sec_company .inner {
		max-width: 480px;
	}
	.table {
		border-bottom: none;
		margin-bottom: 20px;
	}
	.table .tr {
		border-top: none;
		display: block;
	}
	.table .th {
		padding: 0 0 15px;
		border-top: none;
		border-bottom: 1px solid #151262;
		width: auto;
	}
	.table .td {
		padding: 15px 0 30px;
		width: auto;
	}
	.gmap iframe {
		height: 300px;
		margin-bottom: 40px;
	}
	.bnr_area div {
		margin-right: 10px;
		max-width: 150px;
		width: calc( ( 100% - 20px ) / 2 );
	}
	.bnr_area div:last-of-type {
		margin-left: 10px;
	}
}


/*	LOADING	*/

#loading {
	width: 100%;
	height: 100%;
	background: #fff;
	position: fixed;
	left: 0;
	top: 0;
	z-index: 9999;
}

#loading .ldgimg {
	position: absolute;
	left: 50%;
	top: 50%;
	width: 100%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	display: none;
	text-align: center;
}
#loading .ldgimg img {
	width: 284px;
	height: auto;
	margin-bottom: 40px;
}
#loading .ldgimg .jp {
	font-size: 14px;
	margin-bottom: 2em;
	color: #151262;
}
#loading .ldgimg .en {
	font-size: 14px;
	-moz-animation: ldgtxt 1.5s infinite;
	-webkit-animation: ldgtxt 1.5s infinite;
	-o-animation: ldgtxt 1.5s infinite;
	-ms-animation: ldgtxt 1.5s infinite;
	color: #151262;
}
#loading span {
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	width: 0;
	height: 3px;
	background: #151262;
}

#loading span.loaded {
	width: 0;
	height: 0;
	-moz-animation: ldg 1.5s;
	-webkit-animation: ldg 1.5s;
	-o-animation: ldg 1.5s;
	-ms-animation: ldg 1.5s;
}

@media screen and (max-width: 767px){
	
	#loading .ldgimg img {
		max-width: 220px;
		width: 75vw;
		margin-bottom: 30px;
	}
	#loading .ldgimg .jp {
		font-size: 13px;
		margin-bottom: 1.5em;
	}
	#loading .ldgimg .en {
		font-size: 13px;
	}
}

@keyframes ldg {
	0% {
		width: 0;
		height: 5px;
	}
	50% {
		width: 100%;
		height: 5px;
	}
	80% {
		width: 100%;
		height: 5px;
	}
	100% {
		width: 100%;
		height: 0;
	}
}

@keyframes ldgtxt {
	0% {
		opacity: 0;
	}
	40% {
		opacity: 100;
	}
	60% {
		opacity: 100;
	}
	100% {
		opacity: 0;
	}
}

/*------アニメーション-----*/

.fadeIn {
	opacity: 0;
	visibility: hidden;
	transition: all 1s ease;
}
.fadeIn.show {
	opacity: 1;
	visibility: visible;
	transform: translate(0,0);
}

.fi_top {
	transform: translate(0,60px);
}

.fi_bottom {
	transform: translate(0,-60px);
}

.fi_right {
	transform: translate(60px,0);
	transition-delay: 0s;
}
.fi_left {
	transform: translate(-60px,0);
	transition-delay: 0s;
}

.delay {
	transition-delay: 0.5s !important;
}