/*---------------------------------
	newsPickup start
---------------------------------*/
.newsPickup{
	padding: 2rem;
	background-color: #FFF;
	border: 2px solid var(--subColor01_hex);
}

.topBlogList{
	display: block;
	padding: 0;
	list-style: none;
}

.newsPickupItem{
	border-bottom: 1px solid #BFBFBF;
}

.newsPickupItem_link, .newsPickupItem_link:hover{
	color: inherit;
	text-decoration: none;
	transition: opacity 0.25s;
}

.newsPickupItem_link:hover{
	opacity: 0.5;
}

.newsPickupItem_inner{
	position: relative;
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	flex-wrap: nowrap;
	gap: 2em;
	padding: 1em;
}

@media(max-width: 600px){
	.newsPickupItem_inner{
		flex-direction: column;
		align-items: flex-start;
	}
}

.newsPickupItem_date{
	font-weight: var(--fontWeight_bold);
}

.newsPickupItem_title{
	font-weight: var(--fontWeight_bold);
}

@media(min-width: 601px){
	.newsPickupItem_date{
		width: min(4.5em, 15%);
		flex-shrink: 0;
		flex-grow: 0;
	}
}

/*---------------------------------
	newsPickup end
---------------------------------*/

/*---------------------------------
	contentList start
---------------------------------*/

.contentList{
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: flex-start;
	gap: 0 2em;
	margin: 0;
	padding: 0;
	list-style: none;
}

.contentListItem{
	display: flex;
	flex-direction: column;
	align-items: stretch;
	width: calc((100% - (2em * 2)) / 3);
	margin: 0;
}

.contentListLink{
	display: flex;
	flex-direction: column;
	align-items: stretch;
	justify-content: flex-start;
	flex-grow: 1;
	gap: 1em;
	width: 100%;
	padding: 1.5em 2em;
	margin: 0;
	color: inherit;
	text-decoration: none;
	background-color: transparent;
	transition: background-color 0.25s;
}

.contentListLink:hover{
	background-color: #FFF;
	color: inherit;
	text-decoration: none;
}

.contentListName{
	width: 100%;
	font-size: 150%;
	margin: 0 auto;
}

.contentListImage{
	display: block;
	width: 100%;
	position: relative;
	overflow: hidden;
}

.contentListImage:before{
	content: "";
	display: block;
	padding-top: 70.7%;
}

.contentListImage img{
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
	transition: transform 0.25s;
}

.contentListLink:hover .contentListImage img{
	transform: scale(1.05);
}

.contentListText{
	width: 100%;
	margin: 0 auto;
}


@media(max-width: 1024px){
	.contentListItem{
		width: calc((100% - 2em) / 2);
	}
}


@media(max-width: 600px){
	.contentListItem{
		width: 100%;
	}
}

/*---------------------------------
	contentList end
---------------------------------*/

/*---------------------------------
	topScheList start
---------------------------------*/

.topScheList{
	display: flex;
	flex-wrap: nowrap;
	align-items: stretch;
	justify-content: flex-start;
	gap: 0 2em;
	margin: 0;
	padding: 0;
	list-style: none;
}

.topScheListItem{
	display: flex;
	align-items: stretch;
	width: calc((100% - (2em * 2)) / 3);
	margin: 0;
}

.topScheListItem_link{
	display: block;
	width: 100%;
	padding: 1em;
	margin: 0;
	background-color: transparent;
	transition: background-color 0.25s;
}

.topScheListItem_link:hover{
	background-color: #DFDFDF;
}

.section--transparent .topScheListItem_link{
	color: var(--themeFontColor);
}

.section--transparent .topScheListItem_link:hover{
	background-color: #FFF;
	color: var(--themeFontColor);
}

.topScheListItem_imageWrapper{
}

.topScheListItem_imageWrapper{
	display: block;
	width: 100%;
	position: relative;
	border: 1px solid #DFDFDF;
}

.topScheListItem_imageWrapper:before{
	content: "";
	display: block;
	padding-top: 70.7%;
}

.topScheListItem_image{
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
}

.topScheListItem_meta{
	width: 100%;
	margin: 1em 0 0.25em;
}

.topScheListItem_metaDate{
	width: 100%;
	margin: 0;
}

.topScheListItem_title{
	width: 100%;
	margin: 0;
}

@media(max-width: 600px){
	.topScheList{
		flex-direction: column;
		align-items: flex-start;
		gap: 1em 2em;
	}
	.topScheListItem{
		width: 100%;
	}
	.topScheListItem_link{
		display: flex;
		flex-wrap: nowrap;
		aign-itms: center;
		justify-content: flex-start;
		gap: 1em;
		width: 100%;
	}
	.topScheListItem_meta{
		width: calc((100% - 1em) * 0.6);
	}
	.topScheListItem_imageWrapper{
		width: calc((100% - 1em) * 0.4);
	}
}



#exhibitPickup .topScheList{
	gap: 0 1.5em;
}

#exhibitPickup .topScheListItem{
	width: calc((100% - (1.5em * 3)) / 4);
}

@media(max-width: 600px){
	#exhibitPickup .topScheList{
		gap: 0.75em;
	}
	#exhibitPickup .topScheListItem{
		width: calc((100% - (0.75em * 3)) / 4);
	}

	#exhibitPickup .topScheList{
		flex-direction: row;
		align-items: flex-start;
		flex-wrap: wrap;
		gap: 1em 0.5em;
	}
	#exhibitPickup .topScheListItem{
		display: block;
		width: calc((100% - 0.5em) / 2);
	}
	#exhibitPickup .topScheListItem_link{
		display: block;
	}
	#exhibitPickup .topScheListItem_imageWrapper,
	#exhibitPickup .topScheListItem_meta{
		width: 100%;
	}
}

/*---------------------------------
	topScheList end
---------------------------------*/

/*---------------------------------
	serviceOtherItems start
---------------------------------*/
.serviceOtherItems{
	display: flex;
	align-items: stretch;
	flex-wrap: nowrap;
	padding: 1.5em;
	background-color: rgba(31,78,121,0.1);
}

@media(max-width: 1024px){
	.serviceOtherItems{
		flex-direction: column;
		width: 100%;
		max-width: 500px;
		margin: 0 auto;
	}
}

.serviceOtherItems_container{
	flex-grow: 0;
	flex-shrink: 0;
	width: calc(100% / 4);
	padding: 0.5em;
}

@media(min-width: 1025px){
	.serviceOtherItems_container{
		border-right: 1px solid rgba(0,0,0,0.25);
	}
	
	.serviceOtherItems_container:first-of-type{
		border-left: 1px solid rgba(0,0,0,0.25);
	}
}

@media(max-width: 1024px){
	.serviceOtherItems_container{
		width: 100%;
		padding: 1em 0.5em;
		border-bottom: 1px solid rgba(0,0,0,0.25);
	}
	
	.serviceOtherItems_container:last-of-type{
		border-bottom: none;
	}
}

.serviceOtherItems_list{
	margin: 0;
	padding: 0;
}

.serviceOtherItems_listItem{
	position: relative;
	list-style: none;
	padding-left: 1em;
}

.serviceOtherItems_listItem:before{
	content: "・";
	position: absolute;
	top: 0;
	left: 0;
}

/*---------------------------------
	serviceOtherItems start
---------------------------------*/

/*---------------------------------
	serviceAzbilBannar start
---------------------------------*/
.serviceAzbilBannar{
	display: flex;
	justify-content: center;
}

.serviceAzbilBannar_link{
	transition: opacity 0.25s;
}

.serviceAzbilBannar_link:hover{
	opacity: 0.5;
}

.serviceAzbilBannar_image{
	display: block;
	width: auto;
	max-width: 100%;
}

/*---------------------------------
	serviceAzbilBannar end
---------------------------------*/

/*---------------------------------
	flowList start
---------------------------------*/
.flowListItem{
	position: relative;
	display: flex;
	align-items: stretch;
	justify-content: flex-start;
	flex-wrap: nowrap;
}

.flowListItem:not(:last-of-type){
	margin-bottom: 3rem;
}

@media(max-width: 600px){
	.flowListItem{
		flex-direction: column;
	}
	
	.flowListItem:not(:last-of-type):after{
		content: "down";
		position: absolute;
		top: 100%;
		left: 50%;
		transform: translateX(-50%);
		font-size: 125%;
		line-height: 3rem;
		color: #CCC;
		font-family: 'LigatureSymbols' !important;
		-webkit-text-rendering: optimizeLegibility;
		-moz-text-rendering: optimizeLegibility;
		-ms-text-rendering: optimizeLegibility;
		-o-text-rendering: optimizeLegibility;
		text-rendering: optimizeLegibility;
		-webkit-font-smoothing: antialiased;
		-moz-font-smoothing: antialiased;
		-ms-font-smoothing: antialiased;
		-o-font-smoothing: antialiased;
		font-smoothing: antialiased;
		-webkit-font-feature-settings: "liga" 1, "dlig" 1;
		-moz-font-feature-settings: "liga=1, dlig=1";
		-ms-font-feature-settings: "liga" 1, "dlig" 1;
		-o-font-feature-settings: "liga" 1, "dlig" 1;
		font-feature-settings: "liga" 1, "dlig" 1;
	}
}

.flowListItem_head{
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	font-size: 110%;
	margin: 0;
	padding: 1em;
}

.flowListItem_head--1{
	background-color: rgba(31,78,121,0.25);
}

.flowListItem_head--2{
	background-color: rgba(31,78,121,0.35);
}

.flowListItem_head--3{
	background-color: rgba(31,78,121,0.45);
}

.flowListItem_head--4{
	background-color: rgba(31,78,121,0.55);
}

.flowListItem_head--5{
	color: #FFF;
	background-color: rgba(31,78,121,0.65);
}

.flowListItem_head--6{
	color: #FFF;
	background-color: rgba(31,78,121,0.75);
}

@media(min-width: 601px){
	.flowListItem_head{
		width: 30%;
	}
	
	.flowListItem:not(:last-of-type) .flowListItem_head:after{
		content: "down";
		position: absolute;
		top: 100%;
		left: 50%;
		transform: translateX(-50%);
		font-size: 125%;
		line-height: 3rem;
		color: #CCC;
		font-family: 'LigatureSymbols' !important;
		-webkit-text-rendering: optimizeLegibility;
		-moz-text-rendering: optimizeLegibility;
		-ms-text-rendering: optimizeLegibility;
		-o-text-rendering: optimizeLegibility;
		text-rendering: optimizeLegibility;
		-webkit-font-smoothing: antialiased;
		-moz-font-smoothing: antialiased;
		-ms-font-smoothing: antialiased;
		-o-font-smoothing: antialiased;
		font-smoothing: antialiased;
		-webkit-font-feature-settings: "liga" 1, "dlig" 1;
		-moz-font-feature-settings: "liga=1, dlig=1";
		-ms-font-feature-settings: "liga" 1, "dlig" 1;
		-o-font-feature-settings: "liga" 1, "dlig" 1;
		font-feature-settings: "liga" 1, "dlig" 1;
	}
}

@media(max-width: 600px){
	.flowListItem_head{
		width: 100%;
	}
}

@media(min-width: 601px){
	.flowListItem_detail{
		padding: 1em 1em 1em 3em;
	}
}

@media(max-width: 600px){
	.flowListItem_detail{
		padding: 1em;
		background-color: rgba(31,78,121,0.05);
	}
}
.flowListItem_texts p{
	margin: 0 0 0.5em;
}

/*---------------------------------
	flowList end
---------------------------------*/

/*---------------------------------
	reworkMerit start
---------------------------------*/
.reworkMerit{
	display: flex;
	align-items: stretch;
	justify-content: space-between;
	flex-wrap: nowrap;
}

@media(max-width: 1024px){
	.reworkMerit{
		flex-direction: column;
	}
}

.reworkMerit_arrow{
	align-self: center;
}

.reworkMerit_arrow:before{
	content: "right";
	font-size: 300%;
	color: #333;
	font-family: 'LigatureSymbols' !important;
	-webkit-text-rendering: optimizeLegibility;
	-moz-text-rendering: optimizeLegibility;
	-ms-text-rendering: optimizeLegibility;
	-o-text-rendering: optimizeLegibility;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	-moz-font-smoothing: antialiased;
	-ms-font-smoothing: antialiased;
	-o-font-smoothing: antialiased;
	font-smoothing: antialiased;
	-webkit-font-feature-settings: "liga" 1, "dlig" 1;
	-moz-font-feature-settings: "liga=1, dlig=1";
	-ms-font-feature-settings: "liga" 1, "dlig" 1;
	-o-font-feature-settings: "liga" 1, "dlig" 1;
	font-feature-settings: "liga" 1, "dlig" 1;
}

@media(max-width: 1024px){
	.reworkMerit_arrow:before{
		content: "down";
	}
}

.reworkMerit_item{
	width: calc((100% - 6em) / 2);
	padding: 3em 2em 3em;
}

@media(max-width: 1024px){
	.reworkMerit_item{
		width: 100%;
	}
}

.reworkMerit_item--before{
	background-color: rgba(31,78,121,0.1);
}

.reworkMerit_item--after{
	color: #FFF;
	background-color: rgba(31,78,121,0.7);
}

.reworkMerit_title{
	font-size: 125%;
	text-align: center;
	margin-bottom: 2em;
}

.reworkMerit_list{
	list-style: none;
	padding: 0;
	margin: 0 0 3em
}

.reworkMerit_list li{
	position: relative;
	padding-left: 2em;
	margin-bottom: 1.5em;
}

.reworkMerit_list li:before{
	content: "checkbox";
	position: absolute;
	top: 0;
	left: 0;
	font-size: 200%;
	line-height: 100%;
	font-family: 'LigatureSymbols' !important;
	-webkit-text-rendering: optimizeLegibility;
	-moz-text-rendering: optimizeLegibility;
	-ms-text-rendering: optimizeLegibility;
	-o-text-rendering: optimizeLegibility;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	-moz-font-smoothing: antialiased;
	-ms-font-smoothing: antialiased;
	-o-font-smoothing: antialiased;
	font-smoothing: antialiased;
	-webkit-font-feature-settings: "liga" 1, "dlig" 1;
	-moz-font-feature-settings: "liga=1, dlig=1";
	-ms-font-feature-settings: "liga" 1, "dlig" 1;
	-o-font-feature-settings: "liga" 1, "dlig" 1;
	font-feature-settings: "liga" 1, "dlig" 1;
}

.reworkMerit_item--before .reworkMerit_list li:before{
	color: #888;
}

.reworkMerit_item--after .reworkMerit_list li:before{
	color: #FF9E42;
}

.reworkMerit_notice{
	font-size: 95%;
}

.reworkMerit_noticeTitle{
	position: relative;
	margin: 0 0 0.25em;
	padding-left: 1em;
}

.reworkMerit_noticeTitle:before{
	content: "※";
	position: absolute;
	top: 0;
	left: 0;
}

.reworkMerit_noticeText{
	margin: 0 0 0.25em;
	padding-left: 1em;
}

/*---------------------------------
	reworkMerit end
---------------------------------*/

/*---------------------------------
	reworkMeritTextsPSE start
---------------------------------*/
.reworkMeritTextsPSE{
	display: inline-block;
	width: 2em;
	margin: 0 0.25em;
}

/*---------------------------------
	reworkMeritTextsPSE end
---------------------------------*/

/*---------------------------------
	manufacturersList start
---------------------------------*/
.manufacturersList{
	list-style: none;
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	flex-wrap: wrap;
	margin: 0;
	padding: 0;
}

@media(max-width: 600px){
	.manufacturersList{
		flex-direction: column;
	}
}

.manufacturersList li{
	position: relative;
	padding: 0.75em 1em 0.75em 2.5em;
	border-bottom: 1px solid #000;
}

@media(min-width: 601px){
	.manufacturersList li{
		width: calc(100% / 2 - 2em - 1px);
		margin: 0 1em 1em;
	}
}

@media(max-width: 600px){
	.manufacturersList li{
		width: 100%;
		margin: 0 0 1em;
	}
}

.manufacturersList li:before{
	content: "check";
	position: absolute;
	top: 0.125em;
	left: 0.25em;
	font-size: 200%;
	line-height: 100%;
	color: #333;
	font-family: 'LigatureSymbols' !important;
	-webkit-text-rendering: optimizeLegibility;
	-moz-text-rendering: optimizeLegibility;
	-ms-text-rendering: optimizeLegibility;
	-o-text-rendering: optimizeLegibility;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	-moz-font-smoothing: antialiased;
	-ms-font-smoothing: antialiased;
	-o-font-smoothing: antialiased;
	font-smoothing: antialiased;
	-webkit-font-feature-settings: "liga" 1, "dlig" 1;
	-moz-font-feature-settings: "liga=1, dlig=1";
	-ms-font-feature-settings: "liga" 1, "dlig" 1;
	-o-font-feature-settings: "liga" 1, "dlig" 1;
	font-feature-settings: "liga" 1, "dlig" 1;
}

.manufacturersList_products{
	display: block;
	margin: 0.75em 0 0;
	font-size: 75%;
}

/*---------------------------------
	manufacturersList end
---------------------------------*/

/*---------------------------------
	sidePhotoLayout--corporateMessage start
---------------------------------*/
.sidePhotoLayout--corporateMessage{
	align-items: center;
}

@media(min-width: 1025px){
	.sidePhotoLayout--corporateMessage .sidePhotoLayout_content{
		margin-top: -1em;
	}
}

/*---------------------------------
	sidePhotoLayout--corporateMessage end
---------------------------------*/

/*---------------------------------
	companyOverviewTable start
---------------------------------*/
.companyOverviewTable{
	width: 100%;
}

.companyOverviewTable tr{
	border-bottom: 1px solid #CCC;
}

.companyOverviewTable th,
.companyOverviewTable td{
	padding: 1.5em 1em;
	font-weight: 500;
}

@media(min-width: 601px){
	.companyOverviewTable th{
		width: 25%;
	}
}

@media(max-width: 600px){
	.companyOverviewTable tr{
		display: block;
		padding: 0.5em 0;
	}
	
	.companyOverviewTable th,
	.companyOverviewTable td{
		display: block;
		width: 100%;
		padding: 0.25em 0.5em;
	}
}

/*---------------------------------
	companyOverviewTable end
---------------------------------*/

/*---------------------------------
	companyPhilosophyCatch start
---------------------------------*/
.companyPhilosophyCatch{
	padding: 0.5em 1em;
	font-size: 125%;
	text-align: center;
	background-color: rgba(31,78,121,0.1);
}

.companyPhilosophyCatch_text{
	margin: 0.5em 0;
}

/*---------------------------------
	companyPhilosophyCatch end
---------------------------------*/

/*---------------------------------
	sectionImageBand--companyPhilosophy start
---------------------------------*/
@media(min-width: 1025px){
	.sectionImageBand--companyPhilosophy{
		height: 30vw;
	}
}

/*---------------------------------
	sectionImageBand--companyPhilosophy end
---------------------------------*/

/*---------------------------------
	companyRepresentativeGreetingName start
---------------------------------*/
.companyRepresentativeGreetingName{
	display: flex;
	justify-content: flex-end;
}

/*---------------------------------
	companyRepresentativeGreetingName end
---------------------------------*/

/*---------------------------------
	companyHistory start
---------------------------------*/
.companyHistoryItem{
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	flex-wrap: nowrap;
	margin-bottom: 3em;
}

.companyHistoryItem_month{
	text-align: right;
}

@media(min-width: 601px){
	.companyHistoryItem_year{
		flex-grow: 0;
		flex-shrink: 0;
		width: 9em;
		margin-right: 1em;
		padding: 0.25em 0;
	}
	
	.companyHistoryItem_month{
		flex-grow: 0;
		flex-shrink: 0;
		width: 3em;
		margin-right: 1.5em;
		padding: 0.25em 0;
	}
	
	.companyHistoryItem_detail{
		flex-grow: 1;
		flex-shrink: 1;
		padding: 0.25em 0 1em 1.5em;
		border-left: 1px solid #FFF;
	}
}

@media(max-width: 600px){
	.companyHistoryItem{
		flex-wrap: wrap;
		margin: 0;
		padding: 1.5em 0.5em;
		border-bottom: 1px solid #FFF;
	}
	
	.companyHistoryItem_year{
		flex-grow: 0;
		flex-shrink: 0;
		margin: 0 1.5em 0.5em 0;
	}
	
	.companyHistoryItem_month{
		flex-grow: 0;
		flex-shrink: 0;
		margin: 0 0 0.5em;
	}
	
	.companyHistoryItem_detail{
		flex-grow: 0;
		flex-shrink: 0;
		width: 100%;
	}
}

/*---------------------------------
	companyHistory end
---------------------------------*/

/*---------------------------------
	companyOfficeTable start
---------------------------------*/
.companyOfficeTable{
	width: 100%;
}

.companyOfficeTable tr{
	border-top: 1px solid #CCC;
	border-bottom: 1px solid #CCC;
}

.companyOfficeTable th,
.companyOfficeTable td{
	font-weight: 500;
}

@media(min-width: 601px){
	.companyOfficeTable_title{
		width: 20%;
		font-size: 125%;
		padding: 0.5em 1em;
	}
	
	.companyOfficeTable_info{
		width: 40%;
		padding: 1em 1em;
	}
	
	.companyOfficeTable_map{
		width: 40%;
		padding: 1em 1em;
	}
}

@media(max-width: 600px){
	.companyOfficeTable tr{
		display: block;
		padding: 1em 0.5em;
	}
	
	.companyOfficeTable th,
	.companyOfficeTable td{
		display: block;
		width: 100%;
	}
	
	.companyOfficeTable_title{
		font-size: 125%;
		margin-bottom: 0.5em
	}
	
	.companyOfficeTable_info{
		margin-bottom: 0.5em;
	}
	
	.companyOfficeTable_map{
	}
}

.companyOfficeTable_gmapWrapper{
	position: relative;
	width: 100%;
	padding-top: calc(100% / 4 * 3);
}

.companyOfficeTable_gmapWrapper iframe{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/*---------------------------------
	companyOfficeTable end
---------------------------------*/

/*---------------------------------
	recaptchaV2Wrapper start
---------------------------------*/
.recaptchaV2Wrapper > div{
	display: flex;
	justify-content: center;
}

/*---------------------------------
	companyOfficeTable end
---------------------------------*/


/*---------------------------------
	works start
---------------------------------*/

.works_top .cate-list{
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 1em;
	width: 100%;
	margin: 0 auto 2.5em;
	padding: 0;
	list-style: none;
}

.works_top .cate-list li{
	display: flex;
	flex-wrap: nowrap;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 1em;
	font-size: 110%;
	color: #333;
}

.works_top .cate-list li:after{
	content: "";
	display: block;
	width: 1px;
	height: 1em;
	font-size: inherit;
	background-color: #333;
}

.works_top .cate-list li:last-of-type:after{
	display: none;
}

.works_top .cate-list li a{
	font-size: inherit;
	color: inherit;
	text-decoration: none;
}

.works_top .cate-list li a:hover,
.works_top .cate-list li a.active{
	text-decoration: underline;
	outline: none;
}

.works_top .case-list{
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 2em;
	width: 100%;
	margin: 0 auto 2.5em;
	padding: 0;
	list-style: none;
}

.works_top .case-list li{
	display: block;
	width: calc((100% - 2em) / 2);
	margin: 0;
}

.works_top .case-list li a{
	display: block;
	width: 100%;
	margin: 0 auto;
	text-decoration: none;
	color: #333;
}

.works_top .case-list li a span.works_image{
	display: block;
	width: 100%;
	position: relative;
}

.works_top .case-list li a span.works_image:after{
	content: " ";
	display: block;
	padding-top: 71%;
}

.works_top .case-list li a span.works_image img{
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
}

.works_top .case-list li a span.works_title{
	display: block;
	width: 100%;
	margin: 10px auto 0;
	text-align: center;
	color: inherit;
}

.page-btn{
	display: block;
	width: 100%;
	margin: 2em auto 0;
}

.worksPager{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.4em;
	width: 100%;
	margin: 0 auto;
	padding: 0;
	list-style: none;
}

.worksPager li{
	display: inline-block;
	width: 1.6em;
	margin: 0;
}

.worksPager li a{
	display: block;
	width: 100%;
	text-align: center;
	line-height: 1.6;
	padding: 5px;
	border: 1px solid #717171;
	background-color: #FFF;
	color: #717171;
	text-decoration: none;
}

.worksPager li > span,
.worksPager li a:hover{
	display: block;
	width: 100%;
	text-align: center;
	line-height: 1.6;
	padding: 5px;
	border: 1px solid #717171;
	background-color: #717171;
	color: #FFF;
}

.works_detail_img{
	width: 100%;
	margin: 0 auto;
}

.bx-wrapper .bx-viewport{
	width: 100%;
	margin: 0 auto 3em;
}

.bx-wrapper .bx-viewport li{
	position: relative;
}

.bx-wrapper .bx-viewport li:after{
	content: " ";
	display: block;
	padding-top: 71%;
}

.bx-wrapper .bx-viewport li img{
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: contain;
}


.bx-pager{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	gap: 1em;
	width: 80%;
	margin: 20px auto 0;
}

.bx-pager a{
	display: block;
	width: calc((100% - (1em * 5)) / 6);
	margin: 0;
	cursor: pointer;
	background-color: #000;
	position: relative;
}

.bx-pager a:after{
	content: " ";
	display: block;
	padding-top: 71%;
}

.bx-pager a img{
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
	opacity: 0.4;
}

.bx-pager a.active img,
.bx-pager a:hover img{
	opacity: 1;
}

.pagerPrevNext{
	font-family: 'LigatureSymbols' !important;
	-webkit-text-rendering: optimizeLegibility;
	-moz-text-rendering: optimizeLegibility;
	-ms-text-rendering: optimizeLegibility;
	-o-text-rendering: optimizeLegibility;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	-moz-font-smoothing: antialiased;
	-ms-font-smoothing: antialiased;
	-o-font-smoothing: antialiased;
	font-smoothing: antialiased;
	-webkit-font-feature-settings: "liga" 1, "dlig" 1;
	-moz-font-feature-settings: "liga=1, dlig=1";
	-ms-font-feature-settings: "liga" 1, "dlig" 1;
	-o-font-feature-settings: "liga" 1, "dlig" 1;
	font-feature-settings: "liga" 1, "dlig" 1;
}

@media (min-width: 641px){

	a.bx-prev{
		background-color: #FFF;
		background-image: none !important;
		border: 1px solid #0E0E0E;
		font-size: 0 !important;
		text-indent: 0 !important;
		display: inline-block;
		width: auto !important;
		height: auto !important;
		text-decoration: none !important;
		padding: 20px 10px;
		left: 0 !important;
		margin: 0 !important;
		transform: translateY(-50%);
	}

	a.bx-prev:before{
		content: "left";
		color: #0E0E0E;
		font-size: 2rem;
		font-family: 'LigatureSymbols' !important;
		-webkit-text-rendering: optimizeLegibility;
		-moz-text-rendering: optimizeLegibility;
		-ms-text-rendering: optimizeLegibility;
		-o-text-rendering: optimizeLegibility;
		text-rendering: optimizeLegibility;
		-webkit-font-smoothing: antialiased;
		-moz-font-smoothing: antialiased;
		-ms-font-smoothing: antialiased;
		-o-font-smoothing: antialiased;
		font-smoothing: antialiased;
		-webkit-font-feature-settings: "liga" 1, "dlig" 1;
		-moz-font-feature-settings: "liga=1, dlig=1";
		-ms-font-feature-settings: "liga" 1, "dlig" 1;
		-o-font-feature-settings: "liga" 1, "dlig" 1;
		font-feature-settings: "liga" 1, "dlig" 1;
	}

	a.bx-next{
		background-color: #FFF;
		background-image: none !important;
		border: 1px solid #0E0E0E;
		font-size: 0 !important;
		text-indent: 0 !important;
		display: inline-block;
		width: auto !important;
		height: auto !important;
		text-decoration: none !important;
		padding: 20px 10px;
		right: 0 !important;
		margin: 0 !important;
		transform: translateY(-50%);
	}

	a.bx-next:before{
		content: "right";
		color: #0E0E0E;
		font-size: 2rem;
		font-family: 'LigatureSymbols' !important;
		-webkit-text-rendering: optimizeLegibility;
		-moz-text-rendering: optimizeLegibility;
		-ms-text-rendering: optimizeLegibility;
		-o-text-rendering: optimizeLegibility;
		text-rendering: optimizeLegibility;
		-webkit-font-smoothing: antialiased;
		-moz-font-smoothing: antialiased;
		-ms-font-smoothing: antialiased;
		-o-font-smoothing: antialiased;
		font-smoothing: antialiased;
		-webkit-font-feature-settings: "liga" 1, "dlig" 1;
		-moz-font-feature-settings: "liga=1, dlig=1";
		-ms-font-feature-settings: "liga" 1, "dlig" 1;
		-o-font-feature-settings: "liga" 1, "dlig" 1;
		font-feature-settings: "liga" 1, "dlig" 1;
	}

	a.bx-prev:hover, a.bx-next:hover,
	a.bx-prev:hover:before, a.bx-next:hover:before{
		opacity: 0.7;
	}

}

.works_detail_text{
	display: block;
	text-align: center;
	margin: 2em auto 5em;
}

.works_detail_text div.tex-layout{
	display: inline-block;
	text-align: left;
}

@media (max-width: 640px){

	.works_top .case-list{
		margin: 0 auto 1em;
		display: block;
	}

	.works_top .case-list li,
	.works_top .case-list li:nth-of-type(2n),
	.works_top .case-list li:nth-of-type(n+3){
		width: 100%;
		margin: 0 auto 1em;
	}

	.bx-pager{
		width: 100%;
		margin: 0 auto;
		gap: 1em;
	}

	.bx-pager a{
		width: calc((100% - (1em * 2)) / 3);
	}

	.works_detail_img{
		width: 100%;
		margin: 0 auto;
	}

	.bx-viewport{
		width: 100% !important;
		margin: 0 auto;
	}

	.works_detail_text{
		display: block;
		text-align: center;
		margin: 2em auto 5em;
	}

	.works_detail_text div.tex-layout{
		display: inline-block;
		text-align: left;
	}

}

/*---------------------------------
	works end
---------------------------------*/

/*---------------------------------
	parallelContent start
---------------------------------*/

.parallelContent{
	display: flex;
	flex-wrap: nowrap;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 3em;
	width: 100%;
	margin: 0;
	padding: 0;
}

.parallelItem{
	display: block;
	width: calc((100% - 3em) / 2);
}

.parallelContent--2-1 .parallelItem--wide{
	width: calc((100% - 3em) / 3 * 2);
}

.parallelContent--2-1 .parallelItem--narrow{
	width: calc((100% - 3em) / 3 * 1);
}

.parallelContent--stretch{
	display: flex;
	flex-direction: column;
	align-items: center;
	align-self: stretch;
	justify-content: flex-start;
}

.parallelContent--stretch > *{
	flex-grow: 0;
	flex-shrink: 0;
}

.parallelContent--stretch > .growContent{
	width: 100%;
	flex-grow: 1;
	flex-shrink: 0;
}

@media(max-width: 1024px){

	.parallelContent{
		flex-direction: column;
		align-items: center;
	}

	.parallelItem,
	.parallelContent--2-1 .parallelItem--wide{
		width: 100%;
	}

	.parallelContent--2-1 .parallelItem--narrow{
		width: 100%;
	}

}

/*---------------------------------
	parallelContent end
---------------------------------*/

/*---------------------------------
	accessContainer start
---------------------------------*/

.accessContainer{
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	gap: 3em;
	width: 100%;
	margin: 0 auto;
}

.accessContent{
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 0.5em;
	width: 80%;
	margin: 0 auto;
}

.accessText{
	display: block;
	margin: 0;
}

.accessMap{
	display: block;
	width: 100%;
	height: 520px;
	margin: 0 auto;
	border: none;
}

/*---------------------------------
	accessContainer end
---------------------------------*/

/*---------------------------------
	borderTable start
---------------------------------*/
.borderTable{
	width: 100%;
	table-layout: auto;
}

.borderTable tr{
	border-bottom: 1px solid #CCC;
}

.borderTable th,
.borderTable td{
	padding: 1.25em 1em;
	vertical-align: top;
}

.borderTable th{
	position: relative;
	width: 15em;
	font-weight: 500;
	color: #333;
}

.borderTable tr.borderTable--noBorder{
	border-bottom: none;
}


@media(max-width: 600px){
	.borderTable tr{
		display: block;
		padding: 0.5em 0.5em;
	}
	.borderTable th,
	.borderTable td{
		display: block;
		width: 100%;
		margin: 0.5em 0;
		padding: 0;
		border: none;
	}
}

/*---------------------------------
	borderTable end
---------------------------------*/

/*---------------------------------
	innerTable start
---------------------------------*/
.innerTable{
	width: auto;
	table-layout: auto;
}

.innerTable tr{
	border-bottom: none;
}

.innerTable th,
.innerTable td{
	width: auto;
	padding: 0;
	vertical-align: top;
	border: none;
	color: var(--themeFontColor);
}

.innerTable th{
	padding-right: 1em;
}

@media(max-width: 600px){
	.innerTable{
		width: 100%;
	}
	.innerTable tr{
		display: block;
		margin: 0;
		padding-top: 0;
		padding-right: 0;
		padding-bottom: 0;
	}
	.innerTable tr:not(:last-of-type){
		margin-bottom: 0.5em;;
	}
	.innerTable th,
	.innerTable td{
		width: 100%;
		margin: 0;
		padding-right: 0;
	}
}

/*---------------------------------
	innerTable end
---------------------------------*/


/*---------------------------------
	imagePannel start
---------------------------------*/

.imagePannel{
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 3em;
	width: 100%;
	argin: 0 auto;
	padding: 0;
	list-style: none;
}

.imagePannelItem{
	display: block;
	width: calc((100% - (3em * 2)) / 3);
	margin: 0;
	padding: 0;
}

.imagePannelLink{
	display: block;
	width: 100%;
	position: relative;
}

.imagePannelLink:before{
	content: "";
	display: block;
	padding-top: 75%;
}

.imagePannelPict{
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
}

@media(max-width: 1024px){
	.imagePannel{
		gap: 2em;
	}
	.imagePannelItem{
		width: calc((100% - (2em * 2)) / 3);
	}
}

@media(max-width: 600px){
	.imagePannel{
		gap: 1.5em;
	}
	.imagePannelItem{
		width: calc((100% - 1.5em) / 2);
	}
}


.imagePannel--large{
	justify-content: center;
}

.imagePannel--large .imagePannelItem{
	width: calc((100% - (3em * 3)) / 2);
}

.imagePannel--large .imagePannelPict{
	background-color: #FFF;
	object-fit: scale-down;
}

@media(max-width: 1024px){
	.imagePannel--large .imagePannelItem{
		width: calc((100% - (2em * 3)) / 2);
	}
}

@media(max-width: 600px){
	.imagePannel--large{
		display: flex;
		flex-direction; column;
	}
	.imagePannel--large .imagePannelItem{
		width: 80%;
	}
}


.imagePannel--nolink .imagePannelLink,
.imagePannel--nolink .imagePannelLink:hover{
	pointer-events: none;
	cursor: default;
}


/*---------------------------------
	imagePannel end
---------------------------------*/

/*---------------------------------
	telfax start
---------------------------------*/
.telfax{
	display: flex;
	align-items: flex-start;
	justify-content: center;
	flex-wrap: wrap;
}

.telfax_item{
	margin: 0 1.5em 1.5em;
}

.telfax_no{
	font-size: 200%;
	margin: 0;
	white-space: nowrap;
}

/*---------------------------------
	telfax end
---------------------------------*/

/*---------------------------------
	calendarWrapper start
---------------------------------*/

.calendarWrapper table:not(:last-of-type){
	margin-bottom: 3em;
}

/*---------------------------------
	calendarWrapper end
---------------------------------*/


/*---------------------------------
	exhibitWrapper start
---------------------------------*/

.exhibitWrapper{
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 3em 2em;
}

.exhibitItem{
	display: block;
	width: calc((100% - (2em * 2)) / 3);
	margin: 0;
}

.exhibitItem .blogImage{
	display: block;
	with: 100%;
	margin: 0;
	position: relative;
}

.exhibitItem .blogImage:before{
	content: "";
	display: block;
	padding-top: 100%;
}

.exhibitItem .blogImage img{
	display: block;
	width: 100%;
	height: 100%;
	max-width: 100%;
	max-height: 100%;
	margin: 0;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
}

.detailPage .exhibitItem{
	width: 100%;
}

.detailPage .exhibitItem .blogArticlesItem_body--exhibitions{
	display: block;
	width: 100%;
	overflow: hidden;
}

.detailPage .exhibitItem .blogImage{
	display: block;
	width: calc((100% - 2em) * 0.4);
	margin: 0 2em 0 0;
	float: left;
}

@media(max-width: 600px){
	.exhibitItem{
		width: 100%;
	}
	.detailPage .exhibitItem .blogArticlesItem_body--exhibitions{
		display: flex;
		flex-direction: column;
		width: 100%;
		gap: 0;
	}
	.detailPage .exhibitWrapper{
		padding-bottom: 0;
	}
	.detailPage .exhibitItem .blogImage{
		display: block;
		width: auto;
		margin: 0 auto;
		float: none;
	}
	.detailPage .exhibitItem .blogImage:before{
		display: none;
	}
	.detailPage .exhibitItem .blogImage img{
		display: block;
		width: auto;
		height: auto;
		max-width: 100%;
		max-height: 40vh;
		margin: 0 auto;
		position: static;
		object-fit: fill;
	}
}

/*---------------------------------
	exhibitWrapper end
---------------------------------*/


/*---------------------------------
	blogArticlesItem--sche start
---------------------------------*/

.blogArticlesItem--sche .blogArticlesItem_body{
	display: block;
	width: 100%;
	overflow: hidden;
}

.blogArticlesItem--sche .blogImage{
	display: block;
	width: calc((100% - 2em) * 0.2);
	margin: 0 2em 0 0;
	float: left;
}

.detailPage .blogArticlesItem--sche .blogImage{
	width: calc((100% - 2em) * 0.4);
}

.blogArticlesItem--sche .blogImage img{
	display: block;
	width: 100%;
	height: auto;
	max-width: 100%;
	max-height: auto;
	margin: 0;
}

@media(max-width: 600px){
	.blogArticlesItem--sche .blogImage{
		display: block;
		width: 40%;
		margin: 0 auto;
		float: none;
	}
	.detailPage .blogArticlesItem--sche{
		padding-bottom: 0;
	}
	.detailPage .blogArticlesItem--sche .blogArticlesItem_body{
		display: flex;
		flex-direction: column;
		width: 100%;
		gap: 0;
	}
	.detailPage .blogArticlesItem--sche .blogImage{
		display: block;
		width: auto;
		margin: 0 auto;
	}
	.detailPage .blogArticlesItem--sche .blogImage:before{
		display: none;
	}
	.detailPage .blogArticlesItem--sche .blogImage img{
		display: block;
		width: auto;
		height: auto;
		max-width: 100%;
		max-height: 40vh;
		margin: 0 auto;
		position: static;
		object-fit: fill;
	}
}

/*---------------------------------
	blogArticlesItem--sche end
---------------------------------*/


/*---------------------------------
	calendar start
---------------------------------*/

.calendarWrapper--sp{
	display: none;
}

@media(max-width: 1024px){

	.calendarWrapper{
		display: none;
	}

	.calendarWrapper--sp{
		display: block;
	}

}

.spCalTitle{
	display: flex;
	justify-content: center;
	width: 100%;
	font-size: 150%;
	margin: 0 auto 1em;
}

.spCalPrevNext{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 2em;
	wodth: 100%:
}

.spCalList{
	display: block;
}

.spCalList li{
	display: block;
	width: 100%;
	padding: 1em;
	border: 1px solid #BFBFBF;
}

.spCalList li:not(:last-of-type){
	border-bottom: none;
}

/*---------------------------------
	calendar start
---------------------------------*/

/*---------------------------------
	works start
---------------------------------*/

.galleryBlock{
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;semi
	justify-content: flex-start;
	gap: 2em 1em;
	width: 100%;
	margin: 0 auto;
	padding: 0;
	list-style: none;
}

.galleryBlockItem{
	display: block;
	width: calc((100% - (1em * 2)) / 3);
}

.galleryBlockLink{
	display: block;
	width: 100%;
}

.galleryBlockImage{
	display: block;
	width: 100%;
	position: relative;
	overflow: hidden;
}

.galleryBlockImage:before{
	content: "";
	display: block;
	padding-top: calc(100% / 4 * 3);
}

.galleryBlockImage img{
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
	transition: transform 0.25s;
}

.galleryBlockLink:hover .galleryBlockImage img{
	transform: scale(1.1);
}


@media(max-width: 1024px){
	.galleryBlockItem{
		width: calc((100% - 2em) / 2);
	}
}


@media(max-width: 600px){
	.galleryBlockItem{
		width: 100%;
	}
}

/*---------------------------------
	works end
---------------------------------*/

/*---------------------------------
	addressList end
---------------------------------*/

.addressList{
	display: flex;
	justify-content: center;
	width: 100%;
	margin: 0 auto;
}

.addressListTable{
	table-layout: auto;
}

.addressListTable th{
	font-size: 100%;
	font-weight: var(--fontWeightNormal);
	vertical-align: top;
	padding: 0;
}

.addressListTable td{
	table-layout: auto;
	vertical-align: top;
	padding: 0;
}

.addressListTable th.addressListTable--tableTitle{
	padding: 0 0 0.5rem;
	font-size: 112.5%;
}

.addressListTable th.addressListTable--thColon{
	padding: 0 2em 0 0;
	position: relative;
}

.addressListTable th.addressListTable--thColon:after{
	content: "\FF1A";
	position: absolute;
	top: 0;
	right: 0.5em;
}

/*---------------------------------
	addressList end
---------------------------------*/

/*---------------------------------
	eventReserve start
---------------------------------*/

.eventReserve{
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	gap: 1em;
	width: 100%;
	border: none;
}

.eventReserveText{
	margin: 0;
}

/*---------------------------------
	eventReserve end
---------------------------------*/

