@charset "UTF-8";

/* index kv ---------------------------------------*/

.indexkv-wrapper {
	overflow: hidden;
	width:100%;
	padding-top: 100px;
}

.indexkv {
	position: relative;
	margin:0 auto;
}

.indexkv h1 {
	background: url('../img/index/kv_bg.png') no-repeat center bottom;
	background-size: 100%;
	width: 62.5vw;
	height: 45vw;
	position: relative;
}

.indexkv h1 img{
	position: absolute;
	left: 47%;
	top: 50%;
	transform: translate(-50%,-50%);
	width: 50%;
}

.indexkv-image {
	position: absolute;
	right: 0;
	top: 0;
	width: 50%;
	overflow: hidden;
}

.indexkv-image img {width: 100%;}

.en .indexkv h1 img{left:44%;}

/* index common ---------------------------------------*/

.indexsection-head {margin-bottom: 50px;}

.indexsection-title {
	font-size: 5.6em;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0;
}

.indexsection-title::first-letter {color: #e10013;}

.indexsection-title-jp {
	font-size: 1.6em;
	display: inline-block;
	margin-top: 8px;
}


/* index lead ---------------------------------------*/

.indexlead {
	padding:  77px 50px 68px;
	text-align: center;
	position: relative;
}

.indexlead-inner {
	position: relative;
	z-index: 2;
}

.indexlead-text {
	font-size: 1.6em;
	margin-bottom: 2.4em;
	line-height: 2.35;
}

.indexlead-figure{
	position: absolute;
	right: 0;
	bottom: -50px;
}

.en .indexlead-text{
	max-width: 900px;
	margin: 0 auto 1.5em;
	line-height: 1.7;
}

/* index news ---------------------------------------*/

.indexnews {
	padding:  80px 50px 40px;
	position: relative;
}

.indexnews .inner {
	position: relative;
	z-index: 2;
}

.indexnews-inner {
	display: flex;
	justify-content: space-between;
}

.indexnews .news {margin-bottom: 0;}

.indexnews-head {
	width: 240px;
	position: relative;
	top: -8px;
}

.indexnews-body {flex: 1;}

.indexnews-figure{
	position: absolute;
	left: 0;
	top: 240px;
}


/* index event ---------------------------------------*/

.indexevent {
	padding:  80px 50px 1px;
	position: relative;
}

.indexevent .event {margin-bottom: 68px;}


/* index interview ---------------------------------------*/

.indexinterview {
	padding: 80px 50px 140px;
	position: relative;
}

.indexinterview .inner {
	position: relative;
	z-index: 2;
}

.indexinterview-inner {
	display: flex;
	justify-content: space-between;
}

.indexinterview-head {
	width: 210px;
	order: 2;
	position: relative;
}

.indexinterview-shouldar {
	color: #e10013;
	font-size: 2.7em;
	font-weight: bold;
	position: absolute;
	right: 0;
	top: 160px;
	transform-origin: right top;
	transform: rotate(90deg);
}

@media screen and (min-width: 767px) {

	.indexinterview-title-wrapper {
		-ms-writing-mode: tb-rl;
		writing-mode: vertical-rl;
		width: 100%;
		padding-right: 40px;
	}

}

.indexinterview-title {
	text-align: left;
	font-size: 6.6em;
	font-weight: bold;
	line-height: 1.3;
	margin-left: 20px;
}

.indexinterview-lead {
	text-align: left;
	font-size: 2.0em;
	font-weight: bold;
	line-height: 1.7;
}

.indexinterview-body {
	width: calc(100% - 175px);
	max-width: 740px;
}

.indexinterview-list{margin-top: 70px;}

.indexinterview-list > li {margin-bottom: 50px;}

.indexinterview-item {
	display: flex;
	gap:  40px;
}

.indexinterview-item-image {width: 260px;}

.indexinterview-item-image a{
	transition: all .25s ease;
	display: block;
}

.indexinterview-item-image a:hover{opacity:0.7;}

.indexinterview-item-content {
	flex: 1;
	position: relative;
	padding-bottom: 55px;
}

.indexinterview-item-job {
	font-size: 1.6em;
	margin-bottom: 2px;
}

.indexinterview-item-name {
	font-size: 3.4em;
	font-weight: bold;
}

.indexinterview-item-name-en {
	color: #e10013;
	font-size: 1.5em;
	margin-top: 3px;
	margin-bottom: 15px;
}

.indexinterview-item-text {
	font-size: 1.5em;
	line-height: 1.65;
}

.indexinterview-figure {
	position: absolute;
	right: 0;
	bottom: -100px;
	width: 500px;
	opacity: 0.5;
}

.indexinterview-item-btn{
	position: absolute;
	left: 0;
	bottom: 0;
}


.en .indexinterview-item-name{font-family: 'Josefin Sans', sans-serif;}

.en .indexinterview-inner{display: block;}

.en .indexinterview-head{
	width: 100%;
	display: flex;
	align-items: flex-start;
	gap: 30px;
	margin-bottom: 80px;
}

.en .indexinterview-shouldar{
	font-size: 5em;
	position: relative;
	top: 0;
	transform: rotate(0);
	color: #282828;
}

.en .indexinterview-lead{
	font-size: 1.8em;
}

.en .indexinterview-shouldar:first-letter{
	color: #e10013;
}

.en .indexinterview-list{margin-top: 50px;}

@media screen and (min-width: 767px) {


	.en .indexinterview-title-wrapper {
		-ms-writing-mode: lr-tb;
		writing-mode: horizontal-tb;
		padding: 0;
	}

}


/* index bottom ---------------------------------------*/

.indexbottom {overflow: hidden;}

.indexbottom-image {
	display: flex;
	width: 100vw;
	height: 183px;
	overflow: hidden;
}

.indexbottom-image img {
	width: auto;
	max-width: 2240px;
	height: 100%;
}


@media screen and (min-width: 767px) {

	.indexbottom-image img:first-child {animation: loop 80s -40s linear infinite;}
	.indexbottom-image img:last-child {animation: loop2 80s linear infinite;}

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

	}

	@keyframes loop2 {
		0% {transform: translateX(0);}
		to {transform: translateX(-200%);}
	}

}



/* small pc 1 */
@media screen and (min-width: 768px) and (max-width: 1200px) {


}



/* small pc 2 */
@media screen and (min-width: 768px) and (max-width: 900px) {

	.indexsection-title{font-size: 4.0em;}

	.indexlead-figure{width:250px;}

	.indexnews{padding:80px 20px 40px;}
	.indexnews-head {width: 150px;}
	.indexnews-figure{width:250px;}

	.indexevent{padding:80px 20px 70px;}

	.indexinterview{padding:80px 20px 145px;}
	.indexinterview-head{width:160px;}
	.indexinterview-shouldar{font-size: 2.0em;top: 130px;}
	.indexinterview-title-wrapper{padding-right:30px;}
	.indexinterview-title{font-size: 4.0em;margin-left: 15px;}
	.indexinterview-lead{font-size: 1.6em;}
	.indexinterview-body{width:calc(100% - 180px);}
	.indexinterview-item{gap:20px;}
	.indexinterview-item-image{width:200px;height:200px;}
	.indexinterview-figure{width:350px;}

}

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

	/* index kv ---------------------------------------*/

	.indexkv-wrapper {padding-top: 60px;}
	.indexkv {height: 123vw;}

	.indexkv h1 {
		background: url('../img/index/kv_bg_sp.png') no-repeat center top;
		background-size: cover;
		width: 100%;
		height: 90vw;
		position: relative;
	}

	.indexkv h1 img{
		position: absolute;
		left: 30px;
		top: 13%;
		transform: translate(0,0);
		width: 62%;
	}

	.indexkv-image {
		top: 50vw;
		width: 93%;
		overflow: hidden;
	}

	.en .indexkv h1 img{
		left: 30px;
		top: 19%;
		width: 65%;
	}


	/* index common ---------------------------------------*/

	.indexsection-head {margin-bottom: 35px;}
	.indexsection-title {font-size: 4.0em;}
	.indexsection-title-jp {margin-top: 2px;}


	/* index lead ---------------------------------------*/

	.indexlead {padding: 40px 30px 40px;}

	.indexlead-text {
		font-size: 1.5em;
		margin-bottom: 2.5em;
		line-height: 2.3;
	}

	.indexlead-figure {
		bottom: -160px;
		width: 150px;
	}


	/* index news ---------------------------------------*/

	.indexnews {padding: 80px 30px 90px;}
	.indexnews-inner {display: block;}

	.indexnews-head {
		width: auto;
		top: 0;
	}

	.indexnews-figure {
		top: auto;
		bottom:  -220px;
		width: 150px;
	}


	/* index event ---------------------------------------*/

	.indexevent {padding: 80px 30px 10px;}
	.indexevent .event{margin-bottom: 40px;}


	/* index interview ---------------------------------------*/

	.indexinterview {padding: 80px 30px 85px;}
	.indexinterview-inner {display: block;}

	.indexinterview-head {
		width: 100%;
		height: 280px;
		position: relative;
		margin-bottom: 50px;
	}

	.indexinterview-shouldar {
		font-size: 1.7em;
		right: auto;
		left: 92px;
		top: 0;
		transform-origin: left top;
		transform: rotate(90deg);
	}

	.indexinterview-title {
		font-size: 4.5em;
		line-height: 1.3;
		margin-left: 0;
		-ms-writing-mode: tb-rl;
		writing-mode: vertical-rl;
		position: absolute;
		left: 10px;
		top: 0;
		letter-spacing: 0;
	}

	.indexinterview-lead {
		position: absolute;
		left: 0;
		bottom: 0;
		text-align: left;
		padding-left: 105px;
		font-size: 1.7em;
		line-height: 1.6;
	}

	.indexinterview-body {
		width: auto;
		max-width: 100%;
	}

	.indexinterview-list{
		border-top: 1px solid #ccc;
		margin-top: 40px;
		padding: 40px 20px 0;
	}

	.indexinterview-list > li {margin-bottom: 70px;}
	.indexinterview-list > li:last-child {margin-bottom: 0;}
	.indexinterview-item {display: block;}

	.indexinterview-item-image {
		width: 290px;
		height:  344px;
		margin: 0 auto 23px;
	}

	.indexinterview-item-image img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.indexinterview-item-job {margin-bottom: 5px;}
	.indexinterview-item-name-en {margin-bottom: 20px;}

	.indexinterview-figure {
		right: 0;
		bottom: auto;
		top: 0;
		width: 240px;
	}

	.indexbottom-image img{
		max-width:100%;
		height: auto;
	}

	.indexinterview-item-text{margin-bottom: 1.5em;}
	.indexinterview-item-btn{
		position: relative;
		display: block;
		margin: 0 auto;
	}

	.en .indexinterview-head{
		display: block;
		margin-bottom: 25px;
		height: auto;
	}
	.en .indexinterview-shouldar{
		left:0;
		font-size: 4.0em;
		margin-bottom: 20px;
		display: block;
	}

	.en .indexinterview-lead{
		padding:0;
		position: relative;
		font-weight: bold;
		font-size: 1.6em;
	}

	.en .indexinterview-item-name{font-size: 2.7em;}

	.en .indexinterview-item-name-en{
		line-height: 1.3;
		font-weight: normal;
		margin-top: 8px;
	}


	/* index bottom ---------------------------------------*/

	.indexbottom-image {
		display: block;
		width: 100vw;
		height: auto;
	}


}