/* -----------------------------------------------
= kv
----------------------------------------------- */
.kv {
	padding: 40px 5px 30px 10px;
	background: var(--bg-blue);
	text-align: center;
}
.kv img {
	max-width: 378px;
}
@media print, screen and (min-width: 768px) {/* PC */
.kv {
	padding: 70px 30px 40px 30px;
}
.kv img {
	max-width: 1132px;
}
}/* @media */
/* -----------------------------------------------
= contents
----------------------------------------------- */
@media print, screen and (min-width: 768px) {/* PC */
.contents {
	display: flex;
	flex-direction: column;
}
.contents .index {
	order: 2;
}
.contents .message {
	order: 1;
}
}/* @media */
/* -----------------------------------------------
= index
----------------------------------------------- */
.index {
	padding: 50px 40px 46px;
	background: url(../img/index/index-bg02-sp.svg) no-repeat 50% 100% / 100% auto,
	url(../img/index/index-bg01-sp.svg) no-repeat 50% 20% / 100% auto;
	font-family: var(--jp);
}
.index .item {
	max-width: 310px;
	margin-inline: auto;
	scroll-margin-top: 60px;
}
.index .item + .item {
	margin-top: 80px;
}
.index .item .en {
	color: var(--dark-blue);
	font-size: calc(1.4rem / 1.6);
	letter-spacing: .025em;
}
.index .item h2 {
	margin-bottom: 15px;
	font-size: calc(2.4rem / 1.6);
	letter-spacing: .025em;
}
.index .item li + li {
	margin-top: 10px;
}
.index .item a {
	display: inline-block;
	position: relative;
	min-width: 115px;
	padding: 9px 40px 9px 15px;
	background: #fff;
	border: 1px solid rgba(0,105,250,0.3);
	border-radius: 3em;
}
.index .item a span {
	display: inline-block;
	position: relative;
	z-index: 2;
	font-size: calc(1.6rem / 1.6);
}
.index .item a .shape {
	position: absolute;
	top: calc(50% - 12px);
	right: 8px;
	width: 24px;
	height: 24px;
	z-index: 1;
	fill: var(--dark-blue);
}
.index .item a::after {
	content: "";
	position: absolute;
	top: calc(50% - 12px);
	right: 8px;
	z-index: 1;
	width: 24px;
	height: 24px;
	background: url(../img/index/index-icon-arrow02.svg) no-repeat 50% / 100% auto;
}
.index .item a.disabled {
	color: #adadad;
	border-color: #ddd;
	background: url(../img/index/index-icon-arrow01.svg) no-repeat right 8px top 50% / 24px auto;
	filter: grayscale(100);
}
.index .item a[target="_blank"] span {
	display: inline-block;
	padding-right: 24px;
	background: url(../img/shared/icon-external.svg) no-repeat 100% 5px / 13px auto;
}
.index .btn-entry-career {
	margin-top: 123px;
}
@media print, screen and (min-width: 768px) {/* PC */
.index {
	position: relative;
	padding: 100px 30px 150px;
	background: url(../img/index/index-bg02-pc.svg) no-repeat 50% 100% / 100% auto;
	text-align: center;
}
.index::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: url(../img/index/index-bg01-left-pc.svg) no-repeat 0 5% / 620px auto,
	url(../img/index/index-bg01-right-pc.svg) no-repeat 100% 5% / 530px auto;
}
.index .item {
	max-width: none;
	scroll-margin-top: 70px;
}
.index .item + .item {
	margin-top: 110px;
}
.index .item .en {
	font-size: calc(1.6rem / 1.6);
}
.index .item h2 {
	margin-bottom: 30px;
	font-size: calc(4rem / 1.6);
}
.index .item ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 20px;
}
.index .item li + li {
	margin-top: 0;
}
.index .item li {
	min-width: 260px;
}
.index .item p {
	min-width: 260px;
	margin-inline: auto;
}
.index .item a {
	min-width: 140px;
	margin-inline: auto;
	padding: 13px 55px 13px 25px;
}
.index .item a span {
	font-size: calc(1.8rem / 1.6);
	letter-spacing: .025em;
}
.index .item a .shape {
	top: calc(50% - 17.5px);
	right: 11px;
	width: 35px;
	height: 35px;
}
.index .item a::after {
	top: calc(50% - 17.5px);
	right: 11px;
	width: 35px;
	height: 35px;
}
.index .item a.disabled {
	max-width: 120px;
	background-position: right 11px top 50%;
	background-size: 35px auto;
}
.index .item a[target="_blank"] span {
	background-size: 14px auto;
}
.index .btn-entry-career {
	margin-top: 230px;
}
}/* @media */
@media (hover:hover) {
.index .item a {
	transition: color .3s;
	overflow: hidden;
}
.index .item a:hover {
	color: #fff;
}
.index .item a .shape {
	transition: transform .4s cubic-bezier(.4,0,.2,1);
}
.index .item a:hover .shape {
	transform: scale(20);
}
.index .item a.disabled:hover {
	color: #adadad;
	border-color: #ddd;
}
.index .item a[target="_blank"]:hover span {
	background-image: url(../img/shared/icon-external-white.svg);
}
}/* @media */
@media screen and (min-width: 768px) and (hover: hover) {
.index .item a:hover .shape {
	transform: scale(17);
}
}/* @media */
/* -----------------------------------------------
= message
----------------------------------------------- */
.message {
	padding-inline: 20px;
	background: var(--bg-blue);
}
.message .inner {
	display: flex;
	flex-direction: column;
	padding: 40px 20px 33px;
	background: #fff;
	border-radius: 10px;
	text-align: center;
}
.message-title {
	order: 3;
	max-width: 300px;
	margin-inline: auto;
}
.message-text {
	order: 1;
	max-width: 303px;
	margin: 0 auto 33px;
}
.message-img {
	order: 2;
	max-width: 375px;
	margin: 0 auto 38px;
}
.message-img img {
	display: block;
	position: relative;
	right: -40px;
	max-width: 240px;
	margin-left: auto;
}
@media print, screen and (min-width: 768px) {/* PC */
.message {
	padding: 62px 30px 65px;
	background: #fff;
}
.message .inner {
	display: grid;
	grid-template-columns: 1fr calc(525 / 1024 * 100%);
	gap: 57px calc(48 / 1024 * 100%);
	max-width: 1024px;
	margin-inline: auto;
	padding: 0;
	border-radius: 0;
}
.message-title {
	order: 1;
	grid-column: span 2;
	max-width: none;
	width: 458px;
	margin-inline: auto;
}
.message-text {
	order: 2;
	margin-bottom: 0;
	margin-left: calc(130 / 435 * 100%);
}
.message-img {
	order: 3;
	max-width: 525px;
	margin: 0;
}
.message-img img {
	right: 0;
	max-width: none;
	margin-left: 0;
}
}/* @media */

