@charset "UTF-8";
/* CSS Document */

/*
	common
-----------------------------------------------------------------------------------------------*/
/* タイトル
========================================*/
[class*="pageCompany"] #cmnPageHead .tit, [class*="pageCompany"] #cmnPageHead .enCategory{
	color: var(--colorLightBlue);
}

/* 下層ナビ
========================================*/
[class*="pageCompany"] .titLocalNav .tit .en{
	color: var(--colorLightBlue);
}


/*
	代表挨拶
-----------------------------------------------------------------------------------------------*/
/* common
========================================*/
.pageCompany_message #cmnPageHead .tit, .pageCompany_message #cmnPageHead .enCategory{
	color: var(--colorPink);
}
.pageCompany_message .ctsArea{
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}
.messageCts{
	width: var(--width1000);
}
/* ピンク短め下線文字 */
.pageCompany_message .titCmnUnderline{
	color: var(--colorPink);
}
.pageCompany_message .titCmnUnderline::before{
	background-color: var(--colorPink);
}

/* メッセージ
========================================*/
[class*="txtMessage"], .txtMessageArea .txtBox{
	display: flex;
	gap: max(50px, calc(50 / var(--baseWidth) * 100vw));
	flex-direction: column;
}
.txtMessageArea{
	flex-direction: row;
}
.imgMessage{
	width: clamp(600px, calc(600 / var(--baseWidth) * 100vw), 1000px);
	margin-left: min(-100px, calc(-200 / var(--baseWidth) * 100vw));
	border-radius: 0 var(--br100) var(--br100) 0;
}
.txtMessageArea .txtRight{
	font-size: max(1.8rem, calc(18 / var(--baseWidth) * 100vw));
	font-weight: var(--fwBold);
}


/*
	会社概要
-----------------------------------------------------------------------------------------------*/
td{
	display: flex;
	gap: max(10px, calc(10 / var(--baseWidth) * 100vw));
	flex-direction: column;
}
.imgIsmsLogo{
	max-width: max(220px, calc(220 / var(--baseWidth) * 100vw));
}
.profileName{
	font-weight: var(--fwBold);
}
.imgOffice{
	max-width: max(550px, calc(550 / var(--baseWidth) * 100vw));
	border-radius: var(--br100);
}

/* swiper
========================================*/
.swiperCts{
	padding-top: max(150px, calc(150 / var(--baseWidth) * 100vw));
	text-align: center;
}
/* swiperMain */
.swiperMain{
	max-width: max(850px, calc(850 / var(--baseWidth) * 100vw));
	margin: 0 auto max(50px, calc(50 / var(--baseWidth) * 100vw));
	position: relative;
	overflow: hidden;
}
.swiperMain .swiper-slide{
	padding-inline: max(25px, calc(25 / var(--baseWidth) * 100vw));
}
.swiperMain img{
	border-radius: var(--br100);
}
/* thumbSwiper */
.swiperThumb{
	display: flex;
	align-items: center;
	justify-content: center;
	padding-block: max(30px, calc(30 / var(--baseWidth) * 100vw));
	background-color: var(--bgBlue);
}
.swiperThumb .swiperBox{
	max-width: max(1040px, calc(1040 / var(--baseWidth) * 100vw));
	overflow: hidden;
}
.swiperThumb .swiper-slide{
	width: 200px;
	margin-right: max(10px, calc(10 / var(--baseWidth) * 100vw));
	text-align: center;
}
.swiperThumb img{
	width: max(200px, calc(200 / var(--baseWidth) * 100vw));
	border-radius: max(50px, calc(50 / var(--baseWidth) * 100vw));
}
.swiperThumb .txtLocation{
	display: block;
	margin-top: max(15px, calc(15 / var(--baseWidth) * 100vw));
	line-height: 1.0;
	color: #000;
	font-size: max(1.4rem, calc(14 / var(--baseWidth) * 100vw));
}
/* arrow */
[class*="js-swiper-"]{
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	transform: translateY(-50%);
	top: 50%;
	z-index: 1;
}
[class*="js-swiper-"].prev,
[class*="js-swiper-"].next{
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 1 / 1;
	width: var(--btnBase);
	border: 1px solid var(--colorGrey100);
	background-color: #fff;
	border-radius: 50%;
	position: absolute;
	transform: translateY(-50%);
	top: 50%;
	transition: var(--transitionBase);
}
.prev{
	left: 0;
}
.next{
	right: 0;
}
.prev::before, .next::before,
.prev::after, .next::after{
	content: "";
	position: absolute;
	transform: translate(-50%, -50%);
	top: 50%;
	left: 50%;
	transition: var(--transitionBase);
}
.prev::before, .next::before{
	width: calc(var(--btnBase) * 0.32);
	height: 1px;
	background-color: #000;
}
.prev::after{
	transform: translate(calc(-50% - var(--btnBase) * 0.07), -50%) rotate(-135deg);
}
.prev::after, .next::after{
	width: calc(var(--btnBase) * 0.16);
	aspect-ratio: 1 / 1;
	border-top: 1px solid #000;
	border-right: 1px solid #000;
}
.next::after{
	transform: translate(calc(-50% + var(--btnBase) * 0.07), -50%) rotate(45deg);
}
@media (any-hover: hover){
	.prev:hover, .next:hover{
		color: #fff;
		background-color: var(--colorBlue);
		border-color: var(--colorBlue);
		cursor: pointer;
	}
	.prev:hover::before, .next:hover::before {
		background-color: #fff;
	}
	.prev:hover::after, .next:hover::after{
		border-color: #fff;
	}
	.prev:hover::before{
		transform: translate(calc(-50% - 5px), -50%);
	}
	.prev:hover::after{
		transform: translate(calc(-50% - var(--btnBase) * 0.07 - 5px), -50%) rotate(-135deg);
	}
	.next:hover::before{
		transform: translate(calc(-50% + 5px), -50%);
	}
	.next:hover::after{
		transform: translate(calc(-50% + var(--btnBase) * 0.07 + 5px), -50%) rotate(45deg);
	}
}
/* 強調表示 */
.jsSwiperLineupThumb .swiper-slide{
	opacity: .3;
	transition: opacity .3s;
}
.jsSwiperLineupThumb .swiper-slide.is-active{
	opacity: 1;
}


/*
	沿革
-----------------------------------------------------------------------------------------------*/
.imgHistory{
	margin: 0 auto;
	text-align: center;
}
.pageCompany_profile .txtNotes{
	font-size: 1.3rem;
}
.scrollArea{
	margin: 0 auto;
	max-width: var(--width1000);
}

/* table
========================================*/
/* 内容 */
.pageCompany_history .cmnTblBase tr{
	flex-direction: row;
}
.pageCompany_history .cmnTblBase th{
	max-width: 270px;
}


@media screen and (width <= 812px){
	/*
		代表挨拶
	-----------------------------------------------------------------------------------------------*/
	/* common
	========================================*/
	.messageCts{
		width: 100%;
	}

	/* メッセージ
	========================================*/
	.txtMessageArea .txtBox{
		gap: max(25px, calc(25 / var(--baseWidth) * 100vw));
	}
	[class*="txtMessage"]{
		gap: max(35px, calc(35 / var(--baseWidth) * 100vw));
	}
	.txtMessageArea{
		flex-direction: column-reverse;
		align-items: center;
	}
	.imgMessage{
		width: 300px;
		margin-inline: max(20px, calc(18 / var(--baseWidthSp) * 100vw));
		border-radius: 50px;
	}
	.txtMessageArea .txtRight{
		font-size: 1.5rem;
	}


	/*
		会社概要
	-----------------------------------------------------------------------------------------------*/
	/* table
	========================================*/
	.pageCompany_profile .cmnTblBase  tr:last-of-type td{
		margin: 0 auto;
	}
	.pageCompany_profile .cmnTblBase  tr td:has(.imgIsmsLogo){
		align-items: center;
	}
	.imgIsmsLogo{
		width: 150px;
	}

	/* swiper
	========================================*/
	.swiperCts{
		padding-top: 60px;
	}
	/* swiperMain */
	.swiperMain{
		max-width: 100%;
		margin-bottom: 30px;
	}
	.swiperMain .swiper-slide{
		padding-inline: 20px;
	}
	/* thumbSwiper */
	.swiperThumb{
		padding: 25px;
	}
	.swiperThumb .swiperBox{
		max-width: 500px;
	}
	.swiperThumb .swiper-slide{
		width: 100%;
		margin-right: max(10px, calc(10 / var(--baseWidth) * 100vw));
	}
	.swiperThumb img{
		width: 100%;
		border-radius: 30px;
	}
	.swiperThumb .txtLocation{
		margin-top: 8px;
		font-size: 1.2rem;
	}
	/* arrow */
	.prev::before, .next::before{
		width: calc(45px * 0.32);
	}
	.prev::after, .next::after{
		width: calc(45px * 0.16);
	}

	
	/*
		沿革
	-----------------------------------------------------------------------------------------------*/
	.scrollArea{
		max-width: 100%;
	}
	/* table
	========================================*/
	/* 内容 */
	.pageCompany_history .cmnTblBase tr{
		flex-direction: row;
	}
	.pageCompany_history .cmnTblBase tr > * {
		padding: 15px 0 20px;
	}
	.pageCompany_history .cmnTblBase th{
		max-width: 110px;
		padding-right: 20px;
		background-color: transparent;
		text-align: left;
	}
}