@charset "utf-8";
/*------------------------------------------------------------
	index
------------------------------------------------------------*/
.loading {
	position: fixed;
	bottom: 0;
	left: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #fff;
	width: 100%;
	height: 100%;
	z-index: 1001;
	transition: 1.5s;
}
.loading span {
	margin-top: -0.8rem;
	width: 55.6rem;
	opacity: 0;
	-webkit-filter: blur(1rem);
	filter: blur(1rem);
}
.loading.active span {
	opacity: 1;
	-webkit-filter: blur(0);
	filter: blur(0);
	transition: 1.5s;
}
.loading.hidden {
	opacity: 0;
	pointer-events: none;
	visibility: hidden;
	user-select: none;
}
#main .mainVisual {
	margin-bottom: 4.6rem;
	display: flex;
	justify-content: center;
	align-items: center;
	height: calc(100dvh - 100px);
}
#main .mainVisual .titleImg {
	height: 100%;
	max-height: 86rem;
	position: relative;
	clip-path: inset(0 100% 0 0);
	transition: clip-path 1.2s cubic-bezier(.48, -.02, 0, .85);
}
#main .mainVisual .titleImg.show {
	clip-path: inset(0);
}
#main .mainVisual .titleImg > img {
	width: 107.2rem;
	max-width: 100%;
	height: 100%;
	object-fit: contain;
}
#main .mainVisual .titleImg .scroll {
	width: 8.4%;
	position: absolute;
	right: 0.5%;
	bottom: 19%;
	display: none;
}
#main .news {
	margin: 0 auto 5.6rem;
	width: 108rem;
}
#main .news h2 {
	margin-bottom: 0.2rem;
	color: #c30000;
	font-size: 3.6rem;
	line-height: 1.2;
	font-weight: normal;
	font-family: "Arial Bold Italic", sans-serif;
}
#main .news ul {
	width: 80rem;
}
#main .news li {
	padding-bottom: 0.4rem;
	position: relative;
}
#main .news li:not(:last-child) {
	margin-bottom: 0.7rem;
}
#main .news li::before {
	width: 999rem;
	height: 0.1rem;
	position: absolute;
	right: 0;
	bottom: 0;
	background: #989898;
	content: "";
}
#main .news li dl {
	display: flex;
	justify-content: space-between;
	font-size: 2rem;
	letter-spacing: 0.08em;
}
#main .news li dt {
	width: 11rem;
}
#main .news li dd {
	padding-left: 1.6rem;
	width: calc(100% - 12.6rem);
	position: relative;
}
#main .news li dd::before {
	width: 0.1rem;
	position: absolute;
	left: 0;
	top: 1rem;
	bottom: 1rem;
	background: #c30000;
	content: "";
}
#main .content {
	margin: 0 auto;
	width: 128rem;
	max-width: 100%;
}
#main .photo {
	margin-left: -10rem;
	width: 82.1rem;
	position: relative;
}
#main .photo::before {
	width: 82.2rem;
	aspect-ratio: 822 / 667;
	position: absolute;
	right: -7.5rem;
	top: 2.1rem;
	background: url(../image/index_border_img_01.png) no-repeat center center / cover;
	content: "";
	pointer-events: none;
	z-index: 1;
}
#main .subBox {
	margin-bottom: 6.9rem;
	position: absolute;
	right: 16.5rem;
	bottom: 50%;
	transform: translateY(50%);
	text-align: right;
	z-index: 2;
}
#main .subBox a {
	display: inline-block;
	opacity: 1 !important;
}
#main .topMessage {
	margin-bottom: 2.3rem;
	position: relative;
}
#main .topMessage .subBox h2 {
	margin-bottom: 2.5rem;
	width: 50.7rem;
}
#main .plan {
	margin: 0 0 -18.9rem;
	position: relative;
}
#main .plan .photo {
	margin: 0 2.9rem 0 auto;
	width: 69rem;
}
#main .plan .photo::before {
	width: 63rem;
	aspect-ratio: 1260 / 906;
	right: auto;
	left: -1.3rem;
	top: 2.9rem;
	background-image: url(../image/index_border_img_02.png);
}
#main .plan .subBox {
	margin: 0 -1.4rem 0 0;
	width: 57.5rem;
	right: 50%;
	bottom: auto;
	top: -4.9rem;
	transform: translateX(50%);
}
#main .plan .subBox .comBtn {
	margin: 3.7rem 0 0 0.3rem;
}
#main .digital {
	margin-bottom: 4.1rem;
	position: relative;
}
#main .digital .photo {
	margin-left: -4.5rem;
	width: 68.3rem;
}
#main .digital .photo img {
	width: 100%;
}
#main .digital .subBox {
	margin: 0;
	right: 20.2rem;
	bottom: -7.9rem;
	transform: none;
}
#main .digital .subBox a {
	display: inline-flex;
	flex-direction: column-reverse;
}
#main .digital .subBox .comBtn {
	margin: 2.9rem 0 0 0.4rem;
}
#main .digital .subBox h2 {
	width: 51rem;
}
#main .digital .photo::before {
	width: 68.4rem;
	aspect-ratio: 1368 / 856;
	right: -2.5rem;
	top: 2.9rem;
	background-image: url(../image/index_border_img_03.png);
}
#main .interview {
	padding: 19.8rem 0 21.1rem;
	background: url(../image/index_bg.png) no-repeat center top / 100% 100%;
}
#main .interview h2 {
	margin: 0 0 4.8rem 5.6rem;
	padding-right: 1rem;
	width: fit-content;
	position: relative;
}
#main .interview h2::before {
	width: 999rem;
	height: 0.2rem;
	position: absolute;
	right: 0;
	bottom: -0.1rem;
	background: #1746FF;
	content: "";
}
#main .interview h2 img {
	width: 37.85rem;
}
#main .interview .content {
	align-items: flex-start;
}
#main .interview .topBox {
	width: 50%;
}
#main .interview .topBox .ancList {
	margin-left: 5rem;
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
}
#main .interview .topBox .ancList li {
	width: 21.5rem;
}
#main .interview .topBox .ancList li a {
	display: block;
	position: relative;
}
#main .interview .topBox .ancList li img {
	width: 100%;
	transition: 0.3s;
}
#main .interview .topBox .ancList li .over {
	position: absolute;
	left: 0;
	top: 0;
	opacity: 0;
}
#main .interview .comBtn {
	width: 21.8rem;
}
#main .interview .comBtn span {
	padding-left: 0.5rem;
	height: 7.1rem;
	color: #000064;
	font-size: 1.8rem;
	letter-spacing: 0.07em;
	background-color: #fff;
	border: 1px solid #000064;
	background-size: 1.9rem;
	background-position: right 2.5rem center;
}
#main .interview .area {
	position: relative;
	width: 50%;
}
#main .interview .area .anc {
	width: 100%;
	position: absolute;
	left: 0;
	top: -2rem;
}
#main .interview .area .photo::before {
	display: none;
}
#main .interview .area .subBox {
	max-width: 100%;
	position: relative;
	right: auto;
	top: auto;
	bottom: auto;
	left: auto;
	transform: none;
}
#main .interview .area .subBox a {
	display: block;
}
#main .interview .area01 {
	margin-top: 8.3rem;
}
#main .interview .area01 .photo {
	margin: 0 0 0 -7.7rem;
	width: 66.1rem;
}
#main .interview .area01 .subBox {
	margin: -21.6rem 0 0 -6.1rem;
	width: 61.9rem;
	text-align: left;
}
#main .interview .area01 .subBox h3 {
	margin-bottom: -1.8rem;
}
#main .interview .area01 .comBtn {
	margin-right: 2.5rem;
}
#main .interview .area02 {
	margin: -29rem 0 0;
	width: 50%;
}
#main .interview .area02 .photo {
	margin-left: -8.1rem;
	width: 62.8rem;
}
#main .interview .area02 .subBox {
	width: 56.9rem;
	margin: -13rem 0 0 6.6rem;
}
#main .interview .area02 .subBox .comBtn {
	margin: 3.1rem 0 0 0.4rem;
}
#main .interview .area03 {
	margin-top: 14.9rem;
}
#main .interview .area03 .photo {
	margin: 0 -3.6rem 0 auto;
	width: 64.8rem;
}
#main .interview .area03 .subBox {
	margin: -19rem 0 0 3.1rem;
	width: 54.4rem;
}
#main .interview .area03 .subBox .comBtn {
	margin: 3.2rem 0.2rem 0 auto;
}
#main .interview .area04 {
	margin-top: -20.6rem;
}
#main .interview .area04 .photo {
	width: 63.2rem;
	margin: 0 0 0 -2.3rem;
}
#main .interview .area04 .subBox {
	width: 48.4rem;
	margin: -11.7rem 0 0 8.8rem;
}
#main .interview .area04 .subBox .comBtn {
	margin: 2.3rem 0 0 0.1rem;
}
#main .interview .area05 {
	margin-top: 20.5rem;
}
#main .interview .area05 .photo {
	width: 62.3rem;
	margin: -14.4rem 0 0 5.1rem;
}
#main .interview .area05 .subBox {
	margin: 0 0 0 9.5rem;
	width: 44.3rem;
}
#main .interview .area05 .subBox .comBtn {
	margin: 2.8rem 0.5rem 0 auto;
}
#main .interview .area06 {
	margin-top: -25.1rem;
}
#main .interview .area06 .photo {
	width: 61.4rem;
	margin: 0 0 0 4.6rem;
}
#main .interview .area06 .subBox {
	width: 63.2rem;
	margin: -18.4rem 0 0 5.1rem;
}
#main .interview .area06 .subBox .comBtn {
	margin: 3.4rem 0 0 0.1rem;
}
#main .interview .area07 {
	margin-top: 18.7rem;
}
#main .interview .area07 .photo {
	width: 67.7rem;
	margin: 0 -5.5rem 0 auto;
}
#main .interview .area07 .subBox {
	margin: -22.4rem 0 0 -1.4rem;
	width: 59.7rem;
}
#main .interview .area07 .subBox .comBtn {
	margin: 3.2rem 1rem 0 auto;
}
#main .media {
	margin: -7rem auto 12.3rem;
	padding-bottom: 8.3rem;
	max-width: 110rem;
	border-bottom: 1px solid #808080;
}
#main .media h2 {
	margin-bottom: 5.7rem;
}
#main .media h2 img {
	width: 26.6rem;
}
#main .media .mediaList {
	margin: 0 0.5rem;
	gap: 5rem;
}
#main .media .mediaList li {
	width: 33rem;
}
#main .btmBtn {
	margin: 0 auto 5.8rem;
	width: 91.4rem;
	display: flex;
	position: relative;
	z-index: 5;
}
#main .btmBtn a {
	display: flex;
	align-items: flex-end;
	gap: 4.9rem;
}
#main .btmBtn .imgtext {
	width: 54.7rem;
}
#main .btmBtn .comBtn {
	margin: 0 0 0.2rem;
}
@media (min-width: 768px) {
	#main .sg-social-buttons {
		margin: 0 auto 4.8rem;
		width: 113.8rem;
		display: flex;
		justify-content: flex-end;
		gap: 0.9rem;
	}
	#main .sg-social-buttons li {
		line-height: 1;
	}
	#main .sg-social-buttons > li {
		display: inline-block;
		vertical-align: top;
		font-size: 1.2rem;
	}
	#main .sg-social-buttons > li iframe {
		width: 100%;
	}
	#main .sg-social-buttons li #social-button-fb {
		line-height: 0;
		height: auto;
	}
	#main .sg-social-buttons li #social-button-fb span {
		line-height: 1;
	}
	#main .subBox a .comBtn span {
		transition: 0.3s;
	}
	#main .subBox a:hover .comBtn span {
		opacity: 0.7;
	}
	#main .btmBtn a {
		opacity: 1 !important;
	}
	#main .btmBtn a .comBtn span {
		transition: 0.3s;
	}
	#main .btmBtn a:hover .comBtn span {
		opacity: 0.7;
	}
	#main .interview .topBox .ancList li a:hover {
		opacity: 1;
	}
	#main .interview .topBox .ancList li a:hover .nor {
		opacity: 0;
	}
	#main .interview .topBox .ancList li a:hover .over {
		opacity: 1;
	}
}
@media (min-width: 768px) and (max-width: 999px) {
	#main .mainVisual {
		height: calc(100dvh - 9.1vw);
	}
}
@media all and (max-width: 767px) {
	.loading {
		height: calc(100% - 5.6rem);
	}
	.loading span {
		margin-top: -7.8rem;
		width: 32.8rem;
	}
	#main .mainVisual {
		margin-bottom: 1.5rem;
		display: block;
		height: auto;
	}
	#main .mainVisual .titleImg {
		height: auto;
		max-height: inherit;
		position: static;
	}
	#main .mainVisual .titleImg > img {
		width: 100%;
		height: auto;
		object-fit: inherit;
	}
	#main .mainVisual .titleImg .scroll {
		display: none !important;
	}
	#main .news {
		margin: 0 1.6rem 1.8rem 0;
		width: auto;
	}
	#main .news h2 {
		margin: 0 1.8rem;
		font-size: 1.8rem;
		transform: scaleX(0.9) skewX(-5deg);
		transform-origin: left top;
		font-family: "Arial Bold", sans-serif;
	}
	#main .news ul {
		width: auto;
	}
	#main .news li {
		padding: 0 1.4rem 0.4rem;
	}
	#main .news li:not(:last-child) {
		margin-bottom: 1rem;
	}
	#main .news li dl {
		align-items: center;
		font-size: 1.2rem;
		line-height: 1.2;
	}
	#main .news li dt {
		width: 7.8rem;
	}
	#main .news li dd {
		padding-left: 1rem;
		width: calc(100% - 7.8rem);
		line-height: 1.3;
	}
	#main .news li dd::before {
		top: 0.3rem;
		bottom: 0.3rem;
	}
	#main .content {
		margin: 0 auto;
		width: auto;
	}
	#main .photo {
		margin-left: -3.5rem;
		width: calc(100% - 3.5rem);
	}
	#main .photo::before {
		width: 100%;
		aspect-ratio: 680 / 554;
		right: -6.5%;
		top: 3.5%;
		background-image: url(../image/index_border_img_01_sp.png);
	}
	#main .subBox {
		margin: 0;
		position: relative;
		display: flex;
		justify-content: flex-end;
		left: auto !important;
		bottom: auto !important;
		right: auto !important;
		top: auto !important;
		transform: none;
		z-index: 5;
	}
	#main .topMessage {
		margin: 0 0 3.5rem;
	}
	#main .topMessage .subBox {
		margin-top: -16vw;
	}
	#main .topMessage .subBox h2 {
		margin: 0 1.8rem 0.9rem auto;
		width: 22.8rem;
	}
	#main .topMessage .subBox .comBtn {
		margin-right: 1.8rem;
	}
	#main .plan {
		margin: 0;
		display: flex;
		flex-direction: column-reverse;
	}
	#main .plan .photo {
		margin: -7.9rem 1.6rem 0 auto;
		width: calc(100% - 13.5rem);
	}
	#main .plan .photo::before {
		width: 83.6%;
		right: auto;
		left: 8.5%;
		top: 0.4rem;
		background-image: url(../image/index_border_img_02_sp.png);
		background-size: 100%;
		aspect-ratio: 400 / 318;
	}
	#main .plan .subBox {
		margin: 0;
		padding: 0 1.4rem;
		width: 100%;
		justify-content: flex-start;
		box-sizing: border-box;
		transform: none;
	}
	#main .plan .subBox h2 {
		width: 23rem;
	}
	#main .plan .subBox .comBtn {
		margin: 1.3rem 0 0;
	}
	#main .digital {
		margin: -1.2rem 0 0;
	}
	#main .digital .photo {
		margin-left: -0.5rem;
		width: calc(100% - 14.6rem);
	}
	#main .digital .subBox {
		margin: -3.9rem 1.8rem 0 auto;
		width: 20.5rem;
	}
	#main .digital .subBox a {
		flex-direction: column-reverse;
	}
	#main .digital .subBox .comBtn {
		margin: 1rem 0 0 auto;
	}
	#main .digital .subBox h2 {
		width: auto;
	}
	#main .digital .photo::before {
		width: 100.5%;
		aspect-ratio: 460 / 290;
		right: -5.3%;
		top: 12.5%;
		background-image: url(../image/index_border_img_03_sp.png);
	}
	#main .interview {
		margin: -3.1rem 0 0;
		padding: 9.1rem 0 11.3rem;
		min-height: 185.8rem;
		background: url(../image/index_bg_sp.png) no-repeat center top / 100% 100%;
	}
	#main .interview .content {
		display: block;
	}
	#main .interview h2 {
		margin: 0 0 2.1rem 1.4rem;
		padding-right: 0.5rem;
	}
	#main .interview h2::before {
		height: 0.1rem;
	}
	#main .interview h2 img {
		width: 16.2rem;
	}
	#main .interview .topBox {
		margin-bottom: 1.9rem;
		width: auto;
	}
	#main .interview .topBox .ancList {
		margin: 0 1.3rem 0 1.4rem;
		width: auto;
		justify-content: space-between;
		gap: 0.8rem 0;
	}
	#main .interview .topBox .ancList li {
		width: calc(50% - 0.4rem);
		display: flex;
		justify-content: center;
	}
	#main .interview .topBox .ancList li a {
		width: 100%;
		display: block;
		position: relative;
	}
	#main .interview .topBox .ancList li img {
		width: 100%;
	}
	#main .interview .area {
		width: auto;
	}
	#main .interview .area .anc {
		top: -0.5rem;
	}
	#main .interview .area .comBtn {
		width: 14.2rem;
	}
	#main .interview .area .comBtn span {
		padding-left: 0;
		height: 4rem;
		font-size: 1.2rem;
		letter-spacing: 0.04em;
		background-position: right 1.7rem center;
		background-size: 1.2rem;
	}
	#main .interview .area01 {
		margin: 0 0 3rem;
	}
	#main .interview .area01 .photo {
		margin: 0 -5.8% 0 auto;
		width: 81.5%;
	}
	#main .interview .area01 .subBox {
		margin: -38.4vw 0 0 1.9rem;
		width: 32.1rem;
		text-align: left;
		flex-direction: column;
		justify-content: flex-start;
	}
	#main .interview .area01 .subBox .comBtn {
		margin: 0.8rem -0.7rem 0 auto;
	}
	#main .interview .area02 {
		margin: 0 0 1rem;
	}
	#main .interview .area02 .photo {
		margin-left: -7%;
		width: 76%;
	}
	#main .interview .area02 .subBox {
		margin: -22.6vw 1.7rem 0 auto;
		width: 29.5rem;
		flex-direction: column;
	}
	#main .interview .area02 .subBox .imgtext {
		width: 29.5rem;
	}
	#main .interview .area02 .subBox h3 {
		width: 29.5rem;
	}
	#main .interview .area02 .subBox .comBtn {
		margin: 1.5rem 0 0;
	}
	#main .interview .area03 {
		margin: 0 0 3.6rem;
	}
	#main .interview .area03 .photo {
		margin: 0 -5.2% 0 auto;
		width: 74.2%;
	}
	#main .interview .area03 .subBox {
		margin: -38vw 2.2rem 0;
		width: 28.2rem;
		flex-direction: column;
	}
	#main .interview .area03 .subBox .comBtn {
		margin: 1.5rem 0 0 -0.3rem;
	}
	#main .interview .area04 {
		margin: 0 0 0.5rem;
		display: flex;
		flex-direction: column-reverse;
	}
	#main .interview .area04 .photo {
		margin: 0 0 0 -7.8%;
		width: 87.4%;
	}
	#main .interview .area04 .subBox {
		margin: 0 1.7rem -11.3rem auto;
		width: 25.1rem;
		flex-direction: column;
	}
	#main .interview .area04 .subBox .comBtn {
		margin: 1.3rem 0.5rem 0 auto;
	}
	#main .interview .area05 {
		margin: 0 0 5.4rem;
		display: flex;
		flex-direction: column-reverse;
	}
	#main .interview .area05 .photo {
		margin: 0 -10.45% 0 auto;
		width: 73.1%;
	}
	#main .interview .area05 .subBox {
		margin: -38.4vw 0 0 2rem;
		width: 23rem;
		flex-direction: column;
	}
	#main .interview .area05 .subBox .comBtn {
		margin: 1rem 0 0;
	}
	#main .interview .area06 {
		margin: 0 0 0.6rem;
		display: flex;
		flex-direction: column-reverse;
	}
	#main .interview .area06 .photo {
		margin: -18.9rem 0 0 -9.6%;
		width: 70%;
	}
	#main .interview .area06 .subBox {
		margin: 0 0 0 auto;
		width: 26.5rem;
		right: 1.1rem !important;
		top: 50% !important;
		flex-direction: column;
	}
	#main .interview .area06 .subBox .comBtn {
		margin: 1.6rem 1rem 0 auto;
	}
	#main .interview .area07 {
		margin: 0;
	}
	#main .interview .area07 .photo {
		margin: 0 -3.7% 0 auto;
		width: 74.5%;
	}
	#main .interview .area07 .subBox {
		margin: -36.5vw 2rem 0 1.9rem;
		width: 31rem;
		flex-direction: column;
	}
	#main .interview .area07 .subBox .imgtext,
	#main .interview .area07 .subBox h3 {
		width: 31rem;
	}
	#main .interview .area07 .subBox .comBtn {
		margin: 1.6rem 0 0;
	}
	#main .media {
		margin: -1.3rem 1.4rem 3.8rem;
		padding-bottom: 3.4rem;
		max-width: initial;
	}
	#main .media h2 {
		margin-bottom: 1.6rem;
	}
	#main .media h2 img {
		width: 10.4rem;
	}
	#main .media .mediaList {
		margin: 0 0.1rem;
		gap: 1rem 3.2%;
	}
	#main .media .mediaList li {
		width: 31.2%;
	}
	#main .btmBtn {
		margin: 0 1.5rem 2.8rem;
		width: auto;
		display: block;
	}
	#main .btmBtn a {
		display: flex;
		align-items: flex-start;
		justify-content: space-between;
		gap: 0;
	}
	#main .btmBtn .imgtext {
		width: 19.8rem;
	}
	#main .btmBtn .comBtn {
		margin: 0;
		width: 13rem;
	}
	#main .btmBtn .comBtn span {
		height: 4rem;
		background-position: right 1.2rem center;
	}
	#main .sg-secondary-info {
		padding: 0.7rem 1rem 1.2rem;
		color: #666;
		font-size: 1.4rem;
	}
	#main .sg-secondary-info p {
		margin-bottom: 1rem;
		font-size: 1.2rem;
	}
	#main .sg-secondary-info .sg-social-buttons {
		text-align: center;
		font-size: 0;
	}
	#main .sg-secondary-info .sg-social-buttons > li {
		display: inline-block
	}
	#main .sg-secondary-info .sg-social-buttons > li > a {
		overflow: hidden;
		display: block;
		width: 4rem;
		height: 4rem;
		background-size: 100%;
		white-space: nowrap;
		text-indent: 100%;
		background: no-repeat center center / 100%;
	}
	#main .sg-secondary-info .sg-social-buttons > li.facebook a {
		background-image: url(../image/sns_facebook.svg)
	}
	#main .sg-secondary-info .sg-social-buttons > li.twitter a {
		background-image: url(../image/sns_twitter.svg)
	}
	#main .sg-secondary-info .sg-social-buttons > li.line a {
		background-image: url(../image/sns_line.svg)
	}
	#main .sg-secondary-info .sg-social-buttons > li.linkedin a {
		background-image: url(../image/sns_linkedin.svg)
	}
	#main .sg-secondary-info .sg-social-buttons * + li {
		margin-left: 2rem
	}
}