/* ======================================
	kv
====================================== */
#kv {
	padding: 0 0 35px;
}
#kv .content {
	width: 100% !important;
	max-width: 100%;
}
#kv .content .head {
	position: absolute;
	top: 57px;
	left: 46px;
	z-index: 99;
}
#kv .content .head p {
	font-size: 25px;
	line-height: 1;
	display: inline-block;
}
#kv .content .image-area {
	width: 100%;
	overflow: hidden;
}
#kv .content .image-area .image img {
	width: 100%;
}
#kv .content .name {
	position: absolute;
	bottom: 52px;
	left: 46px;
	color: #fff;
	z-index: 99;
}
#kv .content .name .en {
	font-size: 41.5px;
	font-weight: 900;
	line-height: 0.834em;
	font-family: 'DM Sans';
	font-style: italic;
	margin: 0 0 15px;
}
#kv .content .name .jp {
	font-size: 20px;
	font-weight: 700;
	line-height: 1.45em;
	color: #fff;
}
#kv .content .text {
	background: #0099B3;
	width: 560px;
	padding: 50px 49px 47px;
	color: #fff;
	z-index: 9;
}
#kv .content .text > .head {
	margin-bottom: 30px;
	font-weight: 700;
	position: relative;
	top: 0;
	left: 0;
}
#kv .content .text > .head h3 {
	font-size: 37px;
	white-space: nowrap;
	margin-left: -0.486em;
	margin-bottom: 20px;
	line-height: 1;
}
#kv .content .text > .head h3 + p {
	font-size: 25px;
}
#kv .content .text > .content p {
	font-size: 14px;
	line-height: 2.143em;
}
#kv .content .text > .name {
	text-align: right;
	display: block;
	position: relative;
	bottom: 0;
	left: 0;
	top: auto;
}
#kv .content .text > .name .mask-wrap {
	margin: 0 0 0 auto;
}
#kv .content .text > .name .image img {
	width: 202px;
	height: auto;
}
@media screen and (min-width: 1300px) {
	#kv .widepc {
		display: block !important
	}
	#kv .content-inner {
		width: 96%;
	}
	#kv .content .text {
		right: -40px !important;
	}
}
@media screen and (max-width: 1299px) {
	#kv .widepc {
		display: none !important
	}
}
@media all and (min-width: 1080px) and (max-width: 1299px) {
	#kv .content .image-area .image.widepc {
		display: none !important
	}
	#kv .pc {
		display: block !important
	}
}
@media all and (min-width: 1080px) {
	#kv .sp {
		display: none !important
	}
	#kv .content-inner {
		position: absolute;
		top: 0;
		right: 0;
		left: 0;
		margin: 0 auto;
		width: 100%;
		max-width: 1300px;
		height: 706px;
	}
	#kv .content .image-area .image {
		display: flex !important;
		justify-content: center;
	}
	#kv .content .image-area .image img {
		width: auto;
		height: 706px;
		max-width: max-content;
	}
	#kv .content .text {
		position: absolute;
		bottom: -35px;
		right: 0;
	}
	#kv .content .image-area {
    height: min(58.833vw, 706px);
	}
}
@media all and (max-width: 1079px) {
	#kv .pc {
		display: none !important
	}
	#kv .sp {
		display: block !important
	}
	#kv {
		padding: 0 0 4vw;
	}
	#kv .content .image-area {
		width: 100vw;
	}
	#kv .content .head {
		top: 5.067vw;
		left: 5.867vw;
	}
	#kv .content .head h2 {
		font-size: 9.333vw;
	}
	#kv .content .head p {
		font-size: 4vw;
	}
	#kv .content .name {
		top: 53.067vw;
		bottom: auto;
		left: 5.867vw;
		z-index: 11;
	}
	#kv .content .name .en {
		font-size: 6.133vw;
		line-height: 0.9;
		margin: 0 0 1.333vw;
	}
	#kv .content .name .jp {
		line-height: 1.3;
		font-size: 3.467vw;
	}
	#kv .content .text {
		width: 94%;
		padding: 14.667vw 7.733vw 9.333vw;
		margin: -30px auto 0;
		position: relative;
	}
	#kv .content .text::before {
		content: "";
		background: url(../image/KV_image-main_SP.png) no-repeat center center / contain;
		width: 51.933vw;
		height: 62.4vw;
		position: absolute;
		right: 0;
		left: 3.733vw;
		margin: 0 auto;
		top: -59.933vw;
		z-index: 10;
	}
	#kv .content .text > .head {
		margin-bottom: 5.333vw;
	}
	#kv .content .text > .head h3 {
		font-size: 5.867vw;
		margin-bottom: 3.667vw;
	}
	#kv .content .text > .head h3 + p {
		font-size: 4vw;
	}
	#kv .content .text > .name .image {
		margin-top: 4vw;
	}
	#kv .content .text > .name .image img {
		width: 33.867vw;
	}
}
@media all and (max-width: 767px) {
	#kv .content .text::before {
		width: 50.933vw;
		top: -57.933vw;
	}
	#kv .content .text > .head h3 {
		margin-bottom: 0.667vw;
	}
}
/* ======================================
	contact_block
====================================== */
.contact_block {
	position: sticky;
	top: 0;
	margin: 0;
	max-width: 100%;
	background: #efefef;
	padding: 15px 0;
	z-index: 99;
}
.contact_block>.content {
	display: flex;
	justify-content: center;
	padding: 0 20px;
	max-width: 1040px;
}
.contact_block>.content>a.button {
	display: grid;
	place-items: center;
	text-align: center;
	background: #fff;
	margin: 0 5px;
	height: 55px;
	transition: .3s;
}
.contact_block>.content>a.button:hover {
	background: #0099B3;
	color: #fff;
}
.contact_block>.content>a.button>div {
	position: relative;
	display: inline-block;
	vertical-align: middle;
	color: #0099B3;
	font-size: 18px;
	font-weight: 600;
	padding-left: 1.5em;
	transition: .3s;
}
.contact_block>.content>a.button:hover>div {
	color: #fff;
}
.contact_block>.content>a.button>div::before {
	content: "";
	background: url(../image/parts_link-arrow.svg) no-repeat left center / contain;
	width: 20px;
	height: 20px;
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	margin: auto 0;
}
.contact_block>.content>a.button:hover>div::before {
	background: url(../image/parts_link-arrow_hover.svg) no-repeat left center / contain;
}
@media screen and (min-width: 768px) {
	.contact_block>.content>a.button {
	  max-width: 400px;
	}
	.contact_block>.content>a.button {
		width: calc(100% / 3);
	}
}
@media screen and (max-width: 767px) {
  .contact_block {
		padding: 10px 0;
	}
  .contact_block>.content {
		flex-wrap: wrap;
		padding: 0 10px;
	}
	.contact_block>.content>a.button {
		width: calc(50% - 10px);
		height: 38px;
		margin: 4px;
	}
	.contact_block>.content>a.button:last-child {
		width: 100%;
	}
	.contact_block>.content>a.button>div {
		font-size: 13px;
	}
	.contact_block>.content>a.button>div::before {
		width: 10px;
		height: 10px;
	}
}
/* ======================================
	lead
====================================== */
#lead {
	position: relative;
  padding: 70px 0 60px;
	background: url(../image/lead_image_PC.jpg) no-repeat center / cover;
	width: 100vw;
	height: 100vh;
}
#lead .head {
	text-align: right;
}
#lead .lead-bg img {
	width: 100%;
	height: auto;
}
@media all and (min-width: 768px) {
	#lead {
		max-height: 764px;
	}
	#lead .content {
		position: absolute;
		top: 0;
		right: 0;
		left: 0;
		height: 100%;
		z-index: 9;
		max-width: 90%;
	}
	#lead .head {
		display: inline-block;
		position: absolute;
		right: 0;
		bottom: 100px;
	}
}
@media all and (max-width: 767px) {
	#lead {
		background: #000;
		padding: 0 0 40px;
		height: auto;
	}
	#lead .head {
		width: 90%;
		margin: -3.733vw auto 0;
	}
	#lead h2 {
		font-size: 10.667vw;
		margin-right: 2.667vw;
		margin-bottom: 1.867vw;
	}
}
/* ======================================
	interview
====================================== */
#interview {
	padding: 90px 0 140px;
}
#interview .person {
	position: relative;
	font-size: 15px;
	letter-spacing: 0.02em;
}
#interview .person:not(:first-child) {
	margin-top: 30px;
}
#interview .person p {
	position: relative;
	font-size: 15px;
	letter-spacing: 0;
	line-height: 2em;
}
#interview .person p span {
	font-weight: 700;
}
#interview .person p.text1 {
	color: #0099B3;
}
#interview .person p.text2 {
	color: #000;
}
#interview .box_image {
	position: relative;
}
/* box */
#interview .box{
	position: relative;
}
#interview .box_002 {
	margin-top: 40px;
}
#interview .box_003 {
	margin-top: 60px;
}
#interview .box_004 {
	margin-top: 40px;
}
#interview .box_005 {
	margin-top: 60px;
}
#interview .box_005 .box_image {
	margin-top: 30px;
}
/* object */
#interview .object {
	position: absolute;
	z-index: -1;
}
@media all and (min-width: 1080px) {
	#interview .pc {
		display: block !important
	}
	#interview .sp {
		display: none !important
	}
	#interview .box_001 .box_text,
	#interview .box_002 .box_text {
		width: 480px;
	}
	#interview .box_004 .box_text {
		width: 560px;
	}
	#interview .box .box_text.column_1 {
		width: 1000px;
		margin-top: 30px;
	}
	/* object */
	#interview .object1 {
		top: -115px;
		right: -100px;
		width: 494px;
	}
	#interview .object2 {
		top: -27px;
		left: -100px;
		width: 476px;
	}
	#interview .object4 {
		top: -23px;
		right: -113px;
		width: 481px;
	}
	#interview .object5 {
		bottom: -140px;
		right: 115px;
		width: 494px;
	}
}
@media all and (max-width: 1079px) {
	#interview .pc {
		display: none !important
	}
	#interview .sp {
		display: block !important
	}
	/* #interview .noname {
		margin-top: -5px;
	} */
	#interview {
		padding: 4.487vw 0 10.897vw;
	}
	#interview .content {
		width: 82%;
	}
	#interview .box_003 {
		margin-top: 0;
	}
	#interview .box_003 .box_image {
		margin-bottom: 3.846vw;
	}
	#interview .box_004 {
		margin-top: 3.846vw;
	}
	#interview .box_005 {
		margin-top: 3.846vw;
	}
	/* box_image */
	#interview .box_image {
		max-width: 640px;
		margin: 30px auto;
		text-align: center;
	}
	#interview .box_image .image img {
		max-width: 640px;
		width: 100%;
		height: auto;
	}
	#interview .object1 {
		top: max(-2.821vw,-22px);
		right: max(-3.205vw,-25px);
		width: min(64.359vw,502px);
	}
	#interview .object2 {
		top: max(-2.436vw,-19px);
		left: max(-3.333vw,-26px);
		width: min(60.256vw,470px);
	}
	#interview .object4 {
		top: max(-2.821vw,-22px);
		right: max(-8.974vw,-70px);
		width: min(71.795vw,560px);
	}
	#interview .object5 {
		bottom: max(-22.805vw,-187px);
		right: max(-7.692vw,-60px);
		width: min(84.231vw,657px);
	}
}
@media all and (max-width: 767px) {
	#interview .object1 {
		top: -3.733vw;
		right: -6.667vw;
		width: 85.6vw;
	}
	#interview .object2 {
		top: -5.067vw;
		left: -6.933vw;
		width: 76vw;
	}
	#interview .object4 {
		top: -3.733vw;
		right: -8.8vw;
		width: 73.333vw;
	}
	#interview .object5 {
		bottom: -20.8vw;
		right: -8.8vw;
		width: 82.667vw;
	}
}
