@charset "UTF-8";
/* ------------------------------
 私たちの想い（PC）
------------------------------ */
.visionBlock02 img,
.visionBlock03 img {
	border-radius: 30px;
}
.w540 {
	position: relative;
}
.w540::after {
	content: "";
	display: block;
	position: absolute;
	top: -428px;
	left: -536px;
	width: 846px;
	height: 845px;
	background: url(../img/vision_bg02.jpg) no-repeat 0 0 / cover;
}
.w540 img {
	position: relative;
	z-index: 1;
	/* border-radius: 30px; */
}
.w504 {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
}
.w504 div {
	position: relative;
}
.w504 div::after {
	content: "";
	display: block;
	position: absolute;
	bottom: 24px;
	left: -128px;
	width: 168px;
	height: 72px;
	background: url(../img/cloud.png) no-repeat 0 0 / cover;
}
.visionBlock03 .inBlock > div {
	position: relative;
}
.visionBlock03 .inBlock > div::after {
	content: "";
	display: block;
	position: absolute;
	top: -93px;
	left: 26px;
	width: 106px;
	height: 107px;
	background: url(../img/bird.png) no-repeat 0 0 / cover;
}
@media print, screen and (min-width: 768px) {
	.visionBlock01 {
		position: relative;
		margin-bottom: 140px;
	}
	.visionBlock01 .pc {
		position: relative;
		width: calc(50% + 176px);
		height: 720px;
		margin-left: calc(50% - 176px);
	}
	.visionBlock01 .pc::after {
		content: "";
		display: block;
		position: absolute;
		bottom: -140px;
		left: 560px;
		width: 431px;
		height: 431px;
		background: url(../img/vision_bg01.jpg) no-repeat 0 0 / cover;
	}
	.visionBlock01 .pc img {
		position: relative;
		z-index: 1;
		width: 100%;
		height: 720px;
		border-radius: 30px 0 0 30px;
		object-fit: cover;
	}
	.visionBlock01 .inBlock {
		position: absolute;
		z-index: 2;
		top: 25px;
		left: 50%;
		margin-left: -570px;
	}
	.visionBlock01 .inBlock img {
		margin-bottom: 70px;
	}
	.visionBlock02 {
		display: flex;
		justify-content: space-between;
		margin-bottom: 130px;
	}
	.visionBlock02.inBlock::after {
		content: none;
	}
	.w504 {
		align-items: flex-end;
	}
	.w504 .leadText {
		width: 100%;
		margin: 25px 0 115px;
	}
	.visionBlock03 {
		position: relative;
	}
	.visionBlock03::after {
		content: "";
		display: block;
		position: absolute;
		top: 350px;
		left: calc(50% + 347px);
		width: 967px;
		height: 1116px;
		background: url(../img/vision_bg03.jpg) no-repeat 0 0 / cover;
	}
	.visionBlock03 .imgBox {
		position: absolute;
		top: 0;
		left: calc(50% + 81px);
		z-index: 1;
		width: calc(50% - 81px);
		height: 652px;
	}
	.visionBlock03 .imgBox img {
		width: 100%;
		height: 652px;
		border-radius: 30px 0 0 30px;
		object-fit: cover;
		object-position: 0 0;
	}
	.visionBlock03 .inBlock .leadText {
		margin-bottom: 225px;
		padding-top: 45px;
	}
	.visionBlock03 .inBlock.tar {
		position: relative;
		z-index: 1;
		margin-top: -60px;
		margin-bottom: 75px;
	}
	.visionBlock04 {
		position: relative;
	}
	.visionBlock04 .pc {
		position: relative;
		width: calc(50% + 180px);
		height: 680px;
		margin-right: calc(50% - 180px);
	}
	.visionBlock04 .pc::after {
		content: "";
		display: block;
		position: absolute;
		bottom: -210px;
		left: 0;
		width: 951px;
		height: 554px;
		background: url(../img/vision_bg04.jpg) no-repeat 0 0 / cover;
	}
	.visionBlock04 .pc img {
		position: relative;
		z-index: 1;
		width: 100%;
		height: 680px;
		border-radius: 0 30px 30px 0;
		object-fit: cover;
		object-position: right center;
	}
	.visionBlock04 .inBlock {
		position: absolute;
		z-index: 2;
		top: 115px;
		left: 50%;
		margin-left: -570px;
		padding-left: 635px;
	}
	.visionBlock04 .inBlock .leadText {
		margin-bottom: 255px;
	}
	.visionBlock04 .inBlock img {
		margin: 0 -80px 0 235px;
	}
}
/* ------------------------------
 私たちの想い（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	.visionBlock01 {
		margin-bottom: 40px;
	}
	.visionBlock01 .sp {
		margin-bottom: 45px;
	}
	.visionBlock01 .inBlock,
	.visionBlock03 .inBlock:has(p),
	.visionBlock03 .inBlock.tar,
	.visionBlock04 .inBlock {
		width: 90%;
		margin-left: 5%;
		margin-right: 5%;
	}
	.visionBlock01 .inBlock img {
		width: 270px;
		margin-bottom: 35px;
	}
	.visionBlock01 .inBlock p {
		position: relative;
		z-index: 1;
	}
	.visionBlock02 img,
	.visionBlock03 img {
		border-radius: 20px;
	}
	.w540 {
		margin-bottom: 50px;
	}
	.w540 img {
		width: 100%;
	}
	.w540::after {
		top: -178px;
		left: -264px;
		width: 453px;
		height: 452px;
	}
	.w504 {
		flex-direction: column-reverse;
	}
	.w504 div {
		margin-bottom: 70px;
	}
	.w504 div::after {
		bottom: 13px;
		left: -71px;
		width: 93px;
		height: 40px;
	}
	.w504 div img {
		width: 160px;
	}
	.w504 .leadText {
		margin-bottom: 65px;
	}
	.visionBlock03 .imgBox {
		position: relative;
		margin-bottom: 90px;
	}
	.visionBlock03 .imgBox::after {
		content: "";
		position: absolute;
		bottom: -243px;
		right: -123px;
		z-index: -1;
		width: 377px;
		height: 460px;
		background: url(../img/vision_bg03.jpg) no-repeat 0 0 / cover;
	}
	.visionBlock03 .imgBox img {
		width: 95%;
		margin-left: 5%;
		border-radius: 20px 0 0 20px;
	}
	.visionBlock03 .inBlock:has(p) {
		display: flex;
		flex-direction: column-reverse;
	}
	.visionBlock03 .inBlock > div {
		margin-bottom: 70px;
	}
	.visionBlock03 .inBlock > div::after {
		top: -69px;
		left: 16px;
		width: 79px;
		height: 80px;
	}
	.visionBlock03 .inBlock > div img {
		width: 90%;
	}
	.visionBlock03 .inBlock.tar {
		margin-bottom: 70px;
	}
	.visionBlock03 .inBlock.tar img {
		width: 160px;
	}
	.visionBlock04 .sp {
		margin-bottom: 50px;
	}
	.visionBlock04 .sp img {
		width: 95%;
		margin-right: 5%;
		border-radius: 0 20px 20px 0;
	}
	.visionBlock04 .inBlock {
		text-align: center;
	}
	.visionBlock04 .inBlock .leadText {
		margin-bottom: 55px;
		text-align: left;
	}
	.visionBlock04 .inBlock img {
		width: 300px;
	}
}
/* ------------------------------
 企業理念（PC）
------------------------------ */
@media print, screen and (min-width: 768px) {
	.w272 {
		float: right;
	}
}
/* ------------------------------
 企業理念（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	.w272 {
		margin-left: auto;
		margin-right: auto;
	}
}