/* ============================================================
entire
============================================================ */

header ~ * {
	opacity: 0;
	transition: opacity 0.16s ease-in;
}
body.js-fade-in header ~ * {
	opacity: 1;
}

/* ============================================================
slick
============================================================ */

.slick-slider {
	position: relative;
	display: block;
	box-sizing: border-box;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-webkit-touch-callout: none;
	-khtml-user-select: none;
/* 
	[ Disable iPhone PinchOut ]
	-ms-touch-action: pan-y;
	touch-action: pan-y;
 */
	-webkit-tap-highlight-color: transparent
}
.slick-list {
	position: relative;
	display: block;
	overflow: hidden;
	margin: 0;
	padding: 0
}
.slick-list:focus {
	outline: none
}
.slick-list.dragging {
	cursor: pointer;
}
.slick-slider .slick-track,.slick-slider .slick-list {
	-webkit-transform: translate3d(0, 0, 0);
	-moz-transform: translate3d(0, 0, 0);
	-ms-transform: translate3d(0, 0, 0);
	-o-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0)
}
.slick-track {
	position: relative;
	top: 0;
	left: 0;
	display: block;
	margin-left: auto;
	margin-right: auto
}
.slick-track:before,.slick-track:after {
	display: table;
	content: ''
}
.slick-track:after {
	clear: both
}
.slick-loading .slick-track {
	visibility: hidden
}
.slick-slide {
	display: none;
	float: left;
	height: 100%;
	min-height: 1px
}
[dir='rtl'] .slick-slide {
	float: right
}
.slick-slide img {
	display: block
}
.slick-slide.slick-loading img {
	display: none
}
.slick-slide.dragging img {
	pointer-events: none
}
.slick-initialized .slick-slide {
	display: block
}
.slick-loading .slick-slide {
	visibility: hidden
}
.slick-vertical .slick-slide {
	display: block;
	height: auto;
	border: 1px solid transparent
}
.slick-arrow.slick-hidden {
	display: none
}

/* ============================================================
div.ja-top-mv
============================================================ */

/* format
-------------------------------------------------------------*/

div.ja-top-mv {
	width: 100%;
	padding-top: 47px;
	font-family:  'Hiragino Kaku Gothic ProN', 'Hiragino Sans', Meiryo, sans-serif;
	color: #23221E;
	font-size: 16px;
	font-weight: 300;
}

div.ja-top-mv ul {
	list-style: none;
}
div.ja-top-mv img {
	display: block;
	width: 100%;
}
div.ja-top-mv a {
	text-decoration: none;
	color: #23221E;
}

@media screen and (max-width: 1024px) {
	div.ja-top-mv {
		margin-bottom: 40px;
		padding-top: 0;
	}
}

@media screen and (max-width: 1024px) {
	div.ja-top-mv .pc {
		display: none;
	}
}
@media screen and (min-width: 1025px) {
	div.ja-top-mv .sp {
		display: none;
	}
}

/* slide
-------------------------------------------------------------*/

/* slick-slide */

div.ja-top-mv ul.slide li.slick-slide > div.js-inner {
	position: relative;
	display: flex;
	aspect-ratio: 18 / 7;
	width: 100%;
	height: auto;
	min-height: 0vw;
	/* for safari bug */
	cursor: pointer;
	overflow: hidden;
}

div.ja-top-mv ul.slide {
	overflow: hidden !important;
}

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

	div.ja-top-mv {
		background: #F2F2F2;
	}
	div.ja-top-mv ul.slide li.slick-slide > div.js-inner {
		flex-direction: column;
		aspect-ratio: auto;
		overflow: visible;
	}
	div.ja-top-mv + * {
		border-top: solid 1px transparent;
	}

} /* end @media */

/* arrow */

div.ja-top-mv button.slick-arrow.sa {
	margin: auto;
	z-index: 1;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	border: solid 1px #142b92;
	background-color: #fff;
	background-image:url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDgiIGhlaWdodD0iNDgiIHZpZXdCb3g9IjAgMCA0OCA0OCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEzLjQ5NyAyMy4yOTI5QzEzLjEwNjUgMjMuNjgzNCAxMy4xMDY1IDI0LjMxNjYgMTMuNDk3IDI0LjcwNzFMMTkuODYwOSAzMS4wNzExQzIwLjI1MTUgMzEuNDYxNiAyMC44ODQ2IDMxLjQ2MTYgMjEuMjc1MSAzMS4wNzExQzIxLjY2NTcgMzAuNjgwNSAyMS42NjU3IDMwLjA0NzQgMjEuMjc1MSAyOS42NTY5TDE1LjYxODMgMjRMMjEuMjc1MSAxOC4zNDMxQzIxLjY2NTcgMTcuOTUyNiAyMS42NjU3IDE3LjMxOTUgMjEuMjc1MSAxNi45Mjg5QzIwLjg4NDYgMTYuNTM4NCAyMC4yNTE1IDE2LjUzODQgMTkuODYwOSAxNi45Mjg5TDEzLjQ5NyAyMy4yOTI5Wk0zMy43OTU5IDI1QzM0LjM0ODIgMjUgMzQuNzk1OSAyNC41NTIzIDM0Ljc5NTkgMjRDMzQuNzk1OSAyMy40NDc3IDM0LjM0ODIgMjMgMzMuNzk1OSAyM0wzMy43OTU5IDI0TDMzLjc5NTkgMjVaTTE0LjIwNDEgMjRMMTQuMjA0MSAyNUwzMy43OTU5IDI1TDMzLjc5NTkgMjRMMzMuNzk1OSAyM0wxNC4yMDQxIDIzTDE0LjIwNDEgMjRaIiBmaWxsPSIjMTQyQjkyIi8+Cjwvc3ZnPgo=');
	transition: all 0.1s ease-in;
}

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

	div.ja-top-mv button.slick-arrow.sa:hover {
		background-color: #142b92;
		background-image:url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDgiIGhlaWdodD0iNDgiIHZpZXdCb3g9IjAgMCA0OCA0OCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEzLjQ5NyAyMy4yOTI5QzEzLjEwNjUgMjMuNjgzNCAxMy4xMDY1IDI0LjMxNjYgMTMuNDk3IDI0LjcwNzFMMTkuODYwOSAzMS4wNzExQzIwLjI1MTUgMzEuNDYxNiAyMC44ODQ2IDMxLjQ2MTYgMjEuMjc1MSAzMS4wNzExQzIxLjY2NTcgMzAuNjgwNSAyMS42NjU3IDMwLjA0NzQgMjEuMjc1MSAyOS42NTY5TDE1LjYxODMgMjRMMjEuMjc1MSAxOC4zNDMxQzIxLjY2NTcgMTcuOTUyNiAyMS42NjU3IDE3LjMxOTUgMjEuMjc1MSAxNi45Mjg5QzIwLjg4NDYgMTYuNTM4NCAyMC4yNTE1IDE2LjUzODQgMTkuODYwOSAxNi45Mjg5TDEzLjQ5NyAyMy4yOTI5Wk0zMy43OTU5IDI1QzM0LjM0ODIgMjUgMzQuNzk1OSAyNC41NTIzIDM0Ljc5NTkgMjRDMzQuNzk1OSAyMy40NDc3IDM0LjM0ODIgMjMgMzMuNzk1OSAyM0wzMy43OTU5IDI0TDMzLjc5NTkgMjVaTTE0LjIwNDEgMjRMMTQuMjA0MSAyNUwzMy43OTU5IDI1TDMzLjc5NTkgMjRMMzMuNzk1OSAyM0wxNC4yMDQxIDIzTDE0LjIwNDEgMjRaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K');
	}

} /* end @media */

div.ja-top-mv button.slick-arrow.sa.sap {
	margin-right: 60px;
}
div.ja-top-mv button.slick-arrow.sa.san {
	margin-left: 60px;
	transform: rotate(180deg);
}

/* .ctrl (pause & start) */

div.ja-top-mv .ctrl {
	display: flex;
	align-items: center;
	width: fit-content;
	margin: 20px auto 25px;
}
@media screen and (max-width: 1024px) {

	div.ja-top-mv .ctrl {
		margin: 0 auto;
		padding: 20px 0;
	}
} /* end @media */

div.ja-top-mv .ctrl p {
	position: relative;
	width: 30px;
	height: 30px;
	margin-right: 40px;
}
div.ja-top-mv .ctrl p button {
	position: absolute;
	top: 0;
	left: 0;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	border: solid 1px #142b92;
	transition: background-image 0.1s ease-in;
}

@media screen and (min-width: 1025px) {
	div.ja-top-mv .ctrl p button:hover {
	}
} /* end @media */

div.ja-top-mv .ctrl p button.stop {
	background-image:url('data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMzAgMzAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGNpcmNsZSBjeD0iMTUiIGN5PSIxNSIgZmlsbD0iIzBhMzE4ZiIgcj0iMTUiLz48ZyBmaWxsPSJub25lIiBzdHJva2U9IiNmZmYiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIzIj48cGF0aCBkPSJtMTIgMTB2MTAiLz48cGF0aCBkPSJtMTggMTB2MTAiLz48L2c+PC9zdmc+');
}
div.ja-top-mv .ctrl p button.stop:hover {
	background-image:url('data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMzAgMzAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGNpcmNsZSBjeD0iMTUiIGN5PSIxNSIgZmlsbD0iI2ZmZiIgcj0iMTQuNSIgc3Ryb2tlPSIjZmZmIi8+PGcgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMGEzMThmIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMyI+PHBhdGggZD0ibTEyIDEwdjEwIi8+PHBhdGggZD0ibTE4IDEwdjEwIi8+PC9nPjwvc3ZnPg==');
}
div.ja-top-mv .ctrl p button.play {
	background-image:url('data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMzAgMzAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGNpcmNsZSBjeD0iMTUiIGN5PSIxNSIgZmlsbD0iIzBhMzE4ZiIgcj0iMTUiLz48cGF0aCBkPSJtMjEuMzM0NTU5IDE1LjAxMTE1NS05Ljc4Nzg4NS01LjY1MTAzOHYxMS4zMDIwNzZ6IiBmaWxsPSIjZmZmIi8+PC9zdmc+');
}
div.ja-top-mv .ctrl p button.play:hover {
	background-image:url('data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMzAgMzAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGNpcmNsZSBjeD0iMTUiIGN5PSIxNSIgZmlsbD0iI2ZmZiIgcj0iMTQuNSIgc3Ryb2tlPSIjZmZmIi8+PHBhdGggZD0ibTIxLjMzNDU1OSAxNS4wMTExNTUtOS43ODc4ODUtNS42NTEwMzh2MTEuMzAyMDc2eiIgZmlsbD0iIzBhMzE4ZiIvPjwvc3ZnPg==');
}

div.ja-top-mv .ctrl p button.stop {display: block;}
div.ja-top-mv .ctrl p button.play {display: none;}
div.ja-top-mv .ctrl p.stop button.stop {display: none;}
div.ja-top-mv .ctrl p.stop button.play {display: block;}

div.ja-top-mv .ctrl p.stop button.play {
	animation: ctrl 1.4s ease 0s infinite;
	transform-origin:center;
}
@keyframes ctrl {
	0% {
		transform: scale(1,1);
		opacity: 1;
	}
	50% {
		transform: scale(0.94,0.94);
		opacity: 0.6;
	}
	100% {
		transform: scale(1,1);
		opacity: 1;
	}
}

/* SP view arrow and ctrl */

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

	div.ja-top-mv .ctrl p {
		margin-right: 20px;
	}
	div.ja-top-mv button.slick-arrow.sa {
	width: 32px;
	height: 32px;
	background-size: 32px;
	}

	div.ja-top-mv button.slick-arrow.sa.sap {
		margin-right: 20px;
	}
	div.ja-top-mv button.slick-arrow.sa.san {
		margin-left: 20px;
	}
} /* end @media */


/* slick-dots */

div.ja-top-mv ul.slick-dots {
	display: flex;
	gap: 8px;
}
div.ja-top-mv ul.slick-dots :focus,
div.ja-top-mv ul.slick-dots :focus-visible {
	outline: none;
}

div.ja-top-mv ul.slick-dots li {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	width: 30px;
	height: 30px;
	cursor: pointer;
}
div.ja-top-mv ul.slick-dots li button {
	opacity: 0;
}

div.ja-top-mv ul.slick-dots svg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
}
div.ja-top-mv ul.slick-dots circle {
	stroke-dasharray: 296 296;
	stroke-dashoffset: 296;
}
@keyframes grow {
	100% { stroke-dashoffset: 0; }
}
@keyframes stop {
	0% { stroke-dashoffset: 0; }
	100% { stroke-dashoffset: 0; }
}

div.ja-top-mv ul.slick-dots li.slick-active.on circle {
	animation: grow 4.8s linear forwards;
}
div.ja-top-mv ul.slick-dots.stop li.slick-active circle {
	animation: stop 4.8s linear;
	animation-play-state: paused;
}

div.ja-top-mv ul.slick-dots li::before {
	content: '';
	position: absolute;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #142b92;
}

/* contents
-------------------------------------------------------------*/

div.ja-top-mv ul.slide dl {
	position: absolute;
	top: 0;
	left: 0;
	display: flex;
	align-items: center;
	width: 100%;
	height: 100%;
	padding-left: 80px;
}
div.ja-top-mv ul.slide dl > div {
	background: #fff;
}
div.ja-top-mv ul.slide figure {
	width: 100%;
}


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

	div.ja-top-mv ul.slide dl {
		position: relative;
		width: auto;
		height: auto;
		margin-top: -20px;
		padding: 0 80px;
	}

} /* end @media */



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

	div.ja-top-mv ul.slide li.slick-slide figure {
		overflow: hidden;
	}
	div.ja-top-mv ul.slide li.slick-slide figure img {
		transition: transform 0.2s ease-in;
	}
	div.ja-top-mv ul.slide li.slick-slide:hover figure img {
		transform: scale(1.04);
	}

} /* end @media */


div.ja-top-mv ul.slide dl > div {
	width: 35%;
	padding: min(4.44vw,64px) min(3.33vw,48px);
}
div.ja-top-mv dt {
	display: flex;
	align-items: center;
	margin-bottom: 0.44em;
	font-size: min(2.28vw,32px);
	font-weight: 700;
	line-height: 1.4;
}
div.ja-top-mv dt + dd {
	margin-bottom: 2.4em;
	font-size: min(1.14vw,15px);
	font-weight: 400;
	line-height: 1.5;
}
div.ja-top-mv dd a {
	display: flex;
	align-items: center;
	gap: 0.4em;
	margin-bottom: 0.5em;
	line-height: 1;
	font-size: min(1.4vw,20px);
	font-weight: 700;
}
div.ja-top-mv dd a::before {
	content: '';
	width: 1em;
	height: 1em;
	background-image:url('data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTguNzUgMTguNzUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGNpcmNsZSBjeD0iOS4zNzUiIGN5PSI5LjM3NSIgZmlsbD0iIzBkMmVhMCIgcj0iOSIgc3Ryb2tlPSIjMGQyZWEwIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHN0cm9rZS13aWR0aD0iLjc1Ii8+PHBhdGggZD0ibTcuMjA4MzMzIDQuMTI1IDUgNS01IDUiIGZpbGw9Im5vbmUiIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLXdpZHRoPSIyIi8+PC9zdmc+');
}

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

	div.ja-top-mv ul.slide dl > div {
		max-width: 430px;
	}
	div.ja-top-mv dd a {
		transition: underline 0.1s ease-in;
	}
	div.ja-top-mv li.slick-slide > div:hover a {
		text-decoration: underline;
	}
	div.ja-top-mv dd a::before {
		transition: background-image 0.1s ease-in;
	}
	div.ja-top-mv li.slick-slide > div:hover a::before {
		background-image:url('data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTguNzUgMTguNzUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgc3Ryb2tlPSIjMGQyZWEwIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiPjxjaXJjbGUgY3g9IjkuMzc1IiBjeT0iOS4zNzUiIGZpbGw9IiNmZmYiIHI9IjkiIHN0cm9rZS13aWR0aD0iLjc1Ii8+PHBhdGggZD0ibTcuMjA4MzMzIDQuMTI1IDUgNS01IDUiIGZpbGw9Im5vbmUiIHN0cm9rZS13aWR0aD0iMiIvPjwvZz48L3N2Zz4=');
	}

} /* end @media */

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

	div.ja-top-mv ul.slide dl > div {
		width: 100%;
		padding: 40px 24px;
	}
	div.ja-top-mv dt {
		font-size: 22px;
	}
	div.ja-top-mv dt + dd {
		font-size: 14px;
	}
	div.ja-top-mv dd a {
		font-size: 16px;
	}

} /* end @media */

/* SP view
-------------------------------------------------------------*/

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

	div.ja-top-mv ul.slide dl {
		padding: 0 10px;
	}

	div.ja-top-mv ul.slide dl > div {
		width: 100%;
		padding: 30px 22px;
	}
	div.ja-top-mv dt {
		font-size: 19px;
	}
	div.ja-top-mv dt + dd {
		font-size: 14px;
	}
	div.ja-top-mv dd a {
		font-size: 16px;
	}

} /* end @media */

/* ============================================================
ul.ja-top-col-2
============================================================ */

@media screen and (max-width: 1024px) {
	ul.ja-top-col-2 .pc {
		display: none;
	}
}
@media screen and (min-width: 1025px) {
	ul.ja-top-col-2 .sp {
		display: none;
	}
}

ul.ja-top-col-2 {
	display: flex;
	gap: 15px;
	list-style-type: none;
}

ul.ja-top-col-2 li {
	width: calc((100% - 15px)/2);
}

ul.ja-top-col-2 li a {
	display: block;
	text-decoration: none;
	color: #000;
}
ul.ja-top-col-2 dt {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	height: 45px;
	margin-top: -45px;
	padding: 0 15px;
	background: rgba(0, 0, 0, 0.55);
	color: #fff;
	font-size: clamp(15px,20px,1.6vw) !important;
	font-weight: 700;
}
ul.ja-top-col-2 dd {
	margin-top: 0.8em;
	font-size: clamp(13px,16px,1.5vw) !important;
	line-height: 1.5;
}
ul.ja-top-col-2 figure {
	aspect-ratio: 158 / 111;
	width: 100%;
	height: auto;
	overflow: hidden;
}
ul.ja-top-col-2 figure img {
	display: block;
	width: 100%;
}

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

	ul.ja-top-col-2 {
		flex-direction: column;
		gap: 30px;
	}
	ul.ja-top-col-2 li {
		width: 100%;
	}
	ul.ja-top-col-2 dt {
		font-size: 18px !important;
	}
	ul.ja-top-col-2 dd {
		font-size: 16px !important;
	}
	ul.ja-top-col-2 figure {
		aspect-ratio: 380 / 267;
	}

} /* end @media */

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

	ul.ja-top-col-2 li dt {
		transition: text-decoration 0.2s ease-in;
	}
	ul.ja-top-col-2 li a:hover dt {
		text-decoration: underline;
	}

	ul.ja-top-col-2 figure img {
		transition: transform 0.2s ease-in;
	}
	ul.ja-top-col-2 li a:hover figure img {
		transform: scale(1.04);
	}

} /* end @media */


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

	a.st-backToTopFixed.is-hidden {
		z-index: -1;
		pointer-events: none;
	}

} /* end @media */

/* ============================================================
misc
============================================================ */

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

	a.ga-anchor-index-company p.txt,
	a.ga-anchor-index-group p.txt {
		display: flex;
		align-items: center;
		height: 45px;
		line-height: 1.1;
		font-size: clamp(15px,20px,1.6vw) !important;
		font-weight: 700;
	}

} /* end @media */

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

	a.ga-anchor-index-company p.txt {
		display: flex;
		align-items: center;
		height: 45px;
		font-size: 18px !important;
		font-weight: 700;
	}

	a.ga-anchor-index-group p.txt {
		font-size: 18px !important;
		font-weight: 700;
	}

} /* end @media */

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

	h2.mod-2010:has(span.subtxt) {
		margin-top: -15px !important;
	}

	h2.mod-2010:has(span.subtxt) + div.mod-a004 h2 {
		margin-top: 5px !important;
	}

	h2.mod-2010.mt40-for-gte-tb.mb40-for-gte-tb {
		margin-bottom: 30px !important;
	}

} /* end @media */


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

	h2.mod-2010:has(span.subtxt) {
		margin-top: 55px !important;
	}

	h2.mod-2010:has(span.subtxt) {
		margin-bottom: 10px !important;
	}
	h2.mod-2010:has(span.subtxt) + div.mod-a004 h2 {
		margin-top: 0 !important;
	}

	h2.mod-2010.mt40-for-gte-tb.mb40-for-gte-tb {
		margin-bottom: 30px !important;
	}

} /* end @media */

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

	div.mod-a011:has(ul.ja-top-col-2) {
		margin-bottom: 60px;
	}

	h2.mod-2010:has(span.subtxt) {
		margin-bottom: -5px;
	}

	h2.mod-2010.mt40-for-gte-tb.mb40-for-gte-tb {
		margin-top: 50px !important;
		margin-bottom: -10px !important;
	}

} /* end @media */














