/*---------------------------------
	mainvisual start
---------------------------------*/

.mainvisual{
	position: relative;
}

.mainvisual:after{
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 100;
}

.mainvisual_itemInner{
	position: relative;
	padding-top: 80vh;
	overflow: hidden;
}

.mainvisual_itemInner{
}

.mainvisual_img{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 100;
}

.mainvisual_catch{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	width: 100%;
	max-height: 100%;
	color: #FFF;
	line-height: 2;
	text-align: center;
	font-weight: bold;
	font-size: 200%;
	text-shadow: 
		1px 1px 0.1em #000,
		1px 1px 0.1em #000
		;
	z-index: 110;
}

.mainvisual_catchText--strong{
	font-size: 150%;
}

.mainvisual_caseText{
	text-shadow: none;
	display: flex;
	justify-content: center;
}

.mainvisual_caseText span{
	display: block;
	padding: 0.2em 1.5em 0.4em;
	background-color: var(--subColor02_hex);
}

@media(max-width: 600px){

	.mainvisual_catch{
		padding: 0.5em 1em;
		font-size: 5.2vw;
	}

	.mainvisual_catchText--strong{
		font-size: 150%;
		display: inline-block;
		margin-bottom: 1rem;
	}

	.mainvisual_caseText span{
		font-size: 5.2vw;
		padding: 0.2em 0.4em 0.4em;
	}

}

/*---------------------------------
	mainvisual end
---------------------------------*/



/*---------------------------------
	introduction start
---------------------------------*/

.introduction{
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	align-items: center;
	justif-content: flex-start;
}

.introduction--text{
	display: block;
	margin: 0;
	font-size: 125%;
	line-height: calc(2 * 1.25);
}

.introduction--center{
	text-align: center;
}

.introduction--underline{
	text-decoration: none;
}

.introduction--strong{
	font-weight: bold;
	color: var(--subColor02_hex);
}

.introduction--coat{
	font-size: 150%;
	font-weight: bold;
	color: var(--coatColor01_hex);
	line-height: calc(2 * 1.25 / 1.5);
}

.introduction--foresta{
	font-size: 150%;
	font-weight: bold;
	color: var(--forestaColor01_hex);
	line-height: calc(2 * 1.25 / 1.5);
}


@media(max-width: 600px){

	.introduction--text,
	.introduction--center{
		font-size: 100%;
		text-align: left;
	}

	.introduction--strong{
		font-weight: bold;
		color: var(--subColor02_hex);
		font-size: 125%;
	}

	.introduction--coat{
		font-size: 150%;
		font-weight: bold;
		color: var(--coatColor01_hex);
		line-height: calc(2 * 1.25 / 1.5);
		display: inline-block;
	}

	.introduction--foresta{
		font-size: 150%;
		font-weight: bold;
		color: var(--forestaColor01_hex);
		line-height: calc(2 * 1.25 / 1.5);
		display: inline-block;
	}

}

/*---------------------------------
	introduction end
---------------------------------*/



/*---------------------------------
	photoTiles start
---------------------------------*/

.photoTiles{
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: stretch;
}

.photoTiles_item{
	width: calc(100% / 2 - 1.5em);
	margin: 1.5em 0;
	overflow: hidden;
}

.photoTiles_link{
	display: block;
	color: inherit;
	width: 100%;
	height: 100%;
}

.photoTiles_link,
.photoTiles_link:hover{
	color: inherit;
}

.photoTiles_inner{
	position: relative;
	display: inline-block;
	width: 100%;
	padding: 2em;
	overflow: hidden;
}

.photoTiles_bg{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.5s;
}

.photoTiles_link:hover .photoTiles_bg{
	transform: scale(1.05);
}

.photoTiles_content{
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 2em;
	background-color: rgba(255,255,255,0.85);
	width: 100%;
	height: 100%;
	z-index: 101;
}

.photoTiles_title{
	text-align: center;
	font-size: 125%;
	margin: 0.5em 0 1.5em;
}

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

@media(max-width: 600px){
	.photoTiles_inner{
		padding: 1em;
	}
	
	.photoTiles_content{
		padding: 1.5em;
	}
}

/*---------------------------------
	photoTiles end
---------------------------------*/



/*---------------------------------
	newsPickupList start
---------------------------------*/

.newsPickupList{
	padding: 0;
	margin: 0;
	list-style: none;
}

.newsPickupListItem{
	border-bottom: 1px solid #000;
}

.newsPickupListItem_link,
.newsPickupListItem_link:hover{
	color: #146eb4;
}

.newsPickupListItem_link{
	text-decoration: underline;
	display: block;
}

.newsPickupListItem_link:hover{
	text-decoration: none;
}

.newsPickupListItem_inner{
	display: flex;
	flex-wrap: nowrap;
	align-items: flex-start;
	justify-content: flex-start;
}

.newsPickupListItem_date{
	flex-grow: 0;
	flex-shrink: 0;
	width: 7em;
	padding: 0.5em 1em;
	margin: 0;
}

.newsPickupListItem_title{
	flex-grow: 1;
	flex-shrink: 1;
	padding: 0.5em 1em;
	margin: 0;
}

@media(max-width: 750px){
	.newsPickupListItem_inner{
		flex-direction: column;
		padding: 0.5em 0.25em;
	}
	
	.newsPickupListItem_date,
	.newsPickupListItem_title{
		width: 100%;
		padding: 0.25em 0;
	}
}

/*---------------------------------
	newsPickupList end
---------------------------------*/



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

@media(min-width: 1025px){
	.ncolContents--col2 .ncolContents_item{
		width: calc(100% / 2 - 2em);
	}
}

@media(max-width: 1024px){
	.ncolContents_item{
		width: 100%;
		margin-bottom: 5em;
	}
}

/*---------------------------------
	ncolContents end
---------------------------------*/



/*---------------------------------
	twitterEmbeddedWrapper start
---------------------------------*/

.twitterEmbeddedWrapper{
	width: 100%;
}

/*---------------------------------
	twitterEmbeddedWrapper end
---------------------------------*/



/*---------------------------------
	gmapBand start
---------------------------------*/

.gmapBand{
	width: 100%;
	padding-top: 500px;
	position: relative;
}

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

/*---------------------------------
	gmapBand end
---------------------------------*/



/*---------------------------------
	contactusTiles start
---------------------------------*/

.contactusTiles{
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: stretch;
}

.contactusTiles_item{
	width: calc(100% / 2 - 1.5em);
	max-width: 100%;
	margin: 1.5em 0;
	overflow: hidden;
}

.contactusTiles_link{
	display: block;
	color: inherit;
	width: 100%;
	height: 100%;
}

.contactusTiles_link,
.contactusTiles_link:hover{
	color: inherit;
}

.contactusTiles_inner{
	position: relative;
	display: inline-block;
	width: 100%;
	height: 100%;
}

.contactusTiles_bg{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.5s;
}

.contactusTiles_link:hover .contactusTiles_bg{
	transform: scale(1.05);
}

.contactusTiles_content{
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	margin: 2em;
	padding: 2em;
	min-height: calc(100% - 4em);
	background-color: rgba(255,255,255,0.9);
	position: relative;
	text-align: center;
	z-index: 101;
}

@media(max-width: 960px){

	.contactusTiles_content{
		margin: 1em;
		padding: 2em 1em;
	}

}

.contactusTiles_contentMain{
	text-align: center;
	font-size: 250%;
	margin: 0 0 0.5em;
}

@media(max-width: 600px){

	.contactusTiles_contentMain{
		font-size: 8vw;
	}

}

.contactusTiles_subtext{
	margin: 0;
}

.contactusTiles_contentTelno{
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: nowrap;
}

.contactusTiles_contentTelno .icon{
	font-family: 'LigatureSymbols';
	-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;
	line-height: 100%;
	font-size: 125%;
	margin-right: 0.25em;
}

.contactusTiles_contactIcon{
	font-family: 'LigatureSymbols';
	-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;
	font-size: 200%;
	line-height: 100%;
}

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

/*---------------------------------
	contactusTiles end
---------------------------------*/



/*---------------------------------
	sideImageContents start
---------------------------------*/

.sideImageContents{
	margin: 5em 0;
	counter-reset: number 0;
}

@media(max-width: 750px){

	.sideImageContents{
		margin: 2em 0;
	}

}

.sideImageContentsItem{
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	flex-wrap: nowrap;
}

.sideImageContentsItem:not(:first-of-type){
	padding-top: 7em;
}

.sideImageContentsItem:nth-of-type(2n){
	flex-direction: row-reverse;
}

.sideImageContentsItemImage{
	width: 35%;
	margin: 0 2.5em 0 0;
	flex-grow: 0;
	flex-shrink: 0;
}

.sideImageContentsItem:nth-of-type(2n) .sideImageContentsItemImage{
	margin: 0 0 0 2.5em;
}

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

.sideImageContentsItemImage_inner img{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.sideImageContentsItemMain{
	flex-grow: 1;
	flex-shrink: 1;
}

.sideImageContentsItemMain_title{
	font-size: 150%;
	line-height: 125%;
	padding: 0 0.5em 0.5em;
	border-bottom: 2px solid #000;
	margin-bottom: 1em;
}

.sideImageContentsItemMain_title:before{
	counter-increment: number 1;
	content: counter(number) ".";
	display: inline-block;
	color: var(--mainColor01_hex);
	font-size: 200%;
	vertical-align: bottom;
	line-height: 1;
	margin: 0 0.1em 0 0;
}

.coatPage .sideImageContentsItemMain_title:before{
	color: var(--coatColor01_hex);
}

.forestaPage .sideImageContentsItemMain_title:before{
	color: var(--forestaColor01_hex);
}

.sideImageContentsItemMain_texts{
	margin: 1em 0;
}

.sideImageContentsItemMain_image img{
	max-width: 100%;
}

.sideImageContentsItemMain_table{
	margin: 1em auto;
	table-layout: fixed;
}

.sideImageContentsItemMain_table th{
	font-weight: normal;
}

.sideImageContentsItemMain_table td{
	padding-left: 2em;
}
.sideImageContentsItemMain_table--mainTitle th,
.sideImageContentsItemMain_table--mainTitle td{
	color: var(--forestaColor01_hex);
	font-weight: bold;
	font-size: 112.5%;
	padding: calc(0.5em / 1.125) calc(1em / 1.125);
}

.sideImageContentsItemMain_table--mainTitle td{
	padding-left: calc(2em / 1.125);
}

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

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

.exampleBlockTitle{
	width: 100%;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	position: relative;
}

.exampleBlockTitle--text{
	display: block;
	background-color: var(--forestaColor01_hex);
	color: #FFF;
	line-height: 1;
	padding: 0.8em 2em 1em;
	border-radius: 1.4em;
}

.exampleBlockList{
	display: block;
	width: 100%;
	margin: calc(-1.4em - 1px) auto 0;
	padding: 2em 1em 1em;
	list-style: none;
	border: 2px solid var(--forestaColor01_hex);
	background-color: #FFF;
}

.exampleBlockList li{
	width: 100%;
	position: relative;
	padding: 0 0 0 1.2em;
	margin: 0 0 0.4em;
}

.exampleBlockList li:last-of-type{
	margin-bottom: 0;
}

.exampleBlockList li:before{
	font-family: 'LigatureSymbols';
	-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;
	font-size: 125%;
	line-height: 100%;
	content: "next";
	position: absolute;
	top: 0.2em;
	left: 0;
	color: var(--forestaColor01_hex);
}

.tableComparison{
	width: 100%;
	table-layout: auto;
	border: 1px solid #BFBFBF;
	background-color: #FFF;
}

.tableComparison--sp{
	display: none;
}

.tableComparison th{
	text-align: center;
	background-color: var(--mainColor01_hex);
	color: #FFF;
	border: 1px solid #BFBFBF;
	padding: 1em;
}

.coatPage .tableComparison th{
	background-color: var(--coatColor01_hex);
}

.forestaPage .tableComparison th{
	background-color: var(--forestaColor01_hex);
}

.tableComparison td{
	text-align: center;
	border: 1px solid #BFBFBF;
	font-size: 125%;
	padding: 0.5em;
}

.tableComparison--foresta th,
.tableComparison--foresta td{
	color: var(--fontColor02_hex);
	font-weight: bold;
	border: 3px solid var(--fontColor02_hex);
	padding: 1.5em 1em;
}

th.tableComparison--strong,
td.tableComparison--strong{
	color: var(--fontColor02_hex);
	font-weight: bold;
	padding: 1.5em 1em;
}

.tableComparison tr td:first-of-type{
	min-width: 12em;
	text-align: left;
	font-size: 100%;
	padding: 1em;
}

.ComparisonSupplement{
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.ComparisonSupplement span{
	font-size: 1rem;
	text-align: left;
}

.questionText{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 2em auto 0;
}

.questionText--decoration span{
	color: var(--fontColor01_hex);
	font-size: 150%;
	font-weight: bold;
	display: inline;
	background: linear-gradient(transparent 65%, var(--subColor01_hex) 65%, var(--subColor01_hex) 90%, transparent 90%);
}

@media(max-width: 750px){

	.sideImageContentsItem{
		flex-direction: column !important;
	}

	.sideImageContentsItem:not(:first-of-type){
		padding-top: 3em;
	}

	.sideImageContentsItem:not(:last-of-type){
		margin-bottom: 2em;
	}

	.sideImageContentsItemImage,
	.sideImageContentsItem:nth-of-type(2n) .sideImageContentsItemImage{
		width: 100%;
		margin: 0 0 1em;
	}

	.sideImageContentsItemImage_inner{
		padding-top: calc(100% / 16 * 9);
	}

	.sideImageContentsItemMain{
		width: 100%;
	}

	.sideImageContentsItemMain_title{
		margin-top: 0.5em;
		font-size: calc(175% * 0.7);
	}


	.sideImageContentsItemMain_table td span{
		display: block;
	}


	.tableComparison{
		width: 100%;
		table-layout: fixed;
		border: 1px solid #BFBFBF;
		background-color: #FFF;
	}

	.tableComparison--pc{
		display: none;
	}

	.tableComparison--sp{
		display: table;
	}

	.tableComparison th{
		text-align: center;
		background-color: var(--mainColor01_hex);
		color: #FFF;
		border: 1px solid #BFBFBF;
		padding: 1em 0.5em;
	}

	.coatPage .tableComparison th{
		background-color: var(--coatColor01_hex);
	}

	.forestaPage .tableComparison th{
		background-color: var(--forestaColor01_hex);
	}

	.tableComparison td,
	.tableComparison tr td:first-of-type{
		min-width: 0;
		text-align: center;
		border: 1px solid #BFBFBF;
		font-size: 100%;
		padding: 1em 0.5em;
	}

	th.tableComparison--strong,
	td.tableComparison--strong{
		color: var(--fontColor02_hex);
		font-weight: bold;
		padding: 1em 0.5em;
	}

	.tableComparison--sp td{
		text-align: center;
	}

	.tableComparison td span{
		display: block;
	}

	.questionText--decoration span{
		font-size: 125%;
	}

}

/*---------------------------------
	sideImageContents end
---------------------------------*/



/*---------------------------------
	tilesContents start
---------------------------------*/

.tilesContents{
	margin: 3em 0 3em;
	padding: 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: stretch;
}

.tilesContentsItem{
	width: calc((100% - 1px) / 2);
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
}

.tilesContentsItem_link,
.tilesContentsItem_link:hover{
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	color: inherit;
	text-decoration: none;
}

.tilesContentsItem_inner{
	padding: 2em 2em 5em;
	position: relative;
	background-color: #FAFAFA;
	transition: all 0.3s;
}

.tilesContentsItem_image{
	width: 100%;
	position: relative;
}

.tilesContentsItem_image img{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.tilesContentsItemTitle{
	text-align: center;
	font-size: 150%;
	margin: 1em 0;
	line-height: 125%;
}

.tilesContentsItemTitle_main{
	display: block;
}

.tilesContentsItemTitle_sub{
	font-size: 100%;
	display: inline-block;
}

@media(min-width: 1025px){

/*
	.tilesContentsItem:nth-of-type(4n + 2) .tilesContentsItem_inner,
	.tilesContentsItem:nth-of-type(4n + 3) .tilesContentsItem_inner{
		background-color: #F0F0F0;
	}
*/

	.tilesContentsItem_link:hover .tilesContentsItem_inner{
		z-index: 101;
		transform: scale(1.025);
		box-shadow: 0px 0px 10px rgba(0,0,0,0.25);
	}

	.tilesContentsItem_image{
		padding-top: calc(100% / 16 * 9);
	}

}

@media(max-width: 1024px){

	.tilesContentsItem{
		width: 100%;
	}

	.tilesContentsItem_inner{
		padding: 0 0 2em;
	}

	.tilesContentsItemTitle{
		font-size: calc(150% * 0.9);
		margin: 1em 0;
	}

}

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

	.tilesContentsItem_image{
		height: 300px;
	}

}

@media(max-width: 600px){

	.tilesContentsItem_image{
		padding-top: calc(100% / 16 * 9);
	}

	.tilesContentsItemTitle{
		width: calc(100% - (2em / 1.5));
		margin: 1em auto;
	}

	.tilesContentsItem_text{
		width: calc(100% - 2em);
		margin: 0 auto;
	}

}


.tilesContentsItem_inner--coat{
	border: 3px solid var(--coatColor01_hex);
}

.tilesContentsItem_inner--coat .tilesContentsItemTitle_main{
	color: var(--coatColor01_hex);
}

.tilesContentsItem_inner--foresta{
	border: 3px solid var(--forestaColor01_hex);
}

.tilesContentsItem_inner--foresta .tilesContentsItemTitle_main{
	color: var(--forestaColor01_hex);
}

/*---------------------------------
	tilesContents end
---------------------------------*/



/*---------------------------------
	message start
---------------------------------*/

.message{
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: nowrap;
}

.messageTexts{
	flex-grow: 0;
	flex-shrink: 0;
	width: calc(65% - 5em);
}

.messageTexts_stdtext{
	margin: 1em 0;
}

.messageTexts_name{
	font-size: 150%;
	font-weight: bold;
	margin: 1em 0;
	text-align: right;
}

.messageTexts_olList{
	margin: 1em 0;
	list-style: none;
	padding: 0;
	counter-reset: number 0;
}

.messageTexts_olList li{
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
}

.messageTexts_olList li:not(:first-of-type){
	margin-top: 1em;
}

.messageTexts_olList li:before{
	display: block;
	counter-increment: number 1;
	content: counter(number);
	color: var(--subColor02_hex);
	flex-grow: 0;
	flex-shrink: 0;
	font-size: 125%;
	width: 2em;
	height: 2em;
	line-height: 1;
	padding: 0.3em 0 0.7em;
	border-radius: 50%;
	border: 2px solid var(--subColor02_hex);
	text-align: center;
	vertical-align: middle;
	font-weight: bold;
	margin: 0 0.5em 0 0;
}

.coatPage .messageTexts_olList li:before{
	color: var(--coatColor01_hex);
	border: 2px solid var(--coatColor01_hex);
}

.forestaPage .messageTexts_olList li:before{
	color: var(--forestaColor01_hex);
	border: 2px solid var(--forestaColor01_hex);
}

.messageTexts_olList--text{
	display: block;
	flex-grow: 1;
	flex-shrink: 1;
}

.messageImage{
	flex-grow: 0;
	flex-shrink: 0;
	width: 35%;
}

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

.messageImage_inner--goldRatio{
	padding-top: 62%;
}

.messageImage_inner--orign{
	padding-top: 0;
}

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

.messageImage_inner--orign img{
	height: auto;
	position: static;
}

@media(max-width: 750px){

	.message{
		flex-direction: column;
	}

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

	.messageTexts_name{
		font-size: 125%;
	}

	.messageImage{
		width: 100%;
	}

	.messageImage_inner{
		padding-top: calc(100% / 16 * 9);
	}

	.messageImage_inner--orign{
		padding-top: 0;
	}

}

/*---------------------------------
	message end
---------------------------------*/



/*---------------------------------
	feature start
---------------------------------*/

.feature{
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: nowrap;
}

.featureTexts{
	flex-grow: 0;
	flex-shrink: 0;
	width: calc(65% - 3em);
}

.featureList{
	margin: 1em 0;
	padding: 0;
	list-style: none;
	font-size: 125%;
	font-weight: bold;
	counter-reset: number 0;
}

.featureList li{
	display: block;
	width: 100%;
	position: relative;
	padding: 0 0 0 calc(1.8em * 1.5);
}

.featureList li a{
	color: inherit;
	text-decoration: none;
	display: inline-block;
}

.featureList li:before{
	font-size: 150%;
	counter-increment: number 1;
	content: counter(number);
	position: absolute;
	width: calc(2em * 100 / 150);
	height: calc(2em * 100 / 150);
	line-height: calc(2 * 100 / 150);
	text-align: center;
	border-radius: 50%;
	top: calc(0.2em * 100 / 150);
	left: 0;
	color: #FFF;
	font-family: 游ゴシック, YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, sans-serif;
	background-color: var(--mainColor01_hex);
}

.coatPage .featureList li:before{
	background-color: var(--coatColor01_hex);
}

.forestaPage .featureList li:before{
	background-color: var(--forestaColor01_hex);
}

.featureList li span{
	line-height: 2.4;
	padding: 0.7em 0;
	display: inline;
	background: linear-gradient(transparent 60%, var(--subColor01_hex) 60%, var(--subColor01_hex) 90%, transparent 90%);
	transition: background 0.5s;
}

.featureList li a:hover span{
	background: linear-gradient(transparent 60%, var(--subColor03_hex) 60%, var(--subColor03_hex) 90%, transparent 90%);
}

.featureImage{
	flex-grow: 0;
	flex-shrink: 0;
	width: 35%;
}

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

.featureImage_inner img{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

@media(max-width: 750px){

	.feature{
		align-items: flex-start;
	}

	.featureTexts{
	}

	.featureTexts_name{
	}

	.featureImage{
		margin: 1em 0 0;
	}

	.featureImage_inner{
	}

}

@media(max-width: 600px){

	.feature{
		flex-direction: column-reverse;
	}

	.featureTexts{
		width: 100%;
		margin: 1em 0;
		font-size: 0.85em;
	}

	.featureTexts_name{
	}

	.featureImage{
		width: 100%;
	}

	.featureImage_inner{
		padding-top: 0;
	}

	.featureImage_inner img{
		display: block;
		position: static;
		width: 100%;
		height: auto;
		object-fit: contain;
	}

}

/*---------------------------------
	feature end
---------------------------------*/



/*---------------------------------
	contentIntro start
---------------------------------*/

.contentIntro{
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	margin: 2em auto 0;
}

.contentIntroText{
	display: inline-block;
	margin: 0;
	font-size: 150%;
	font-weight: bold;
	text-align: center;
}

.contentIntroText--small{
	display: block;
	font-size: 112.5%;
	font-weight: normal;
	text-align: left;
}

.contentIntroText:not(:last-child){
	margin: 0 0 1em;
}

.contentIntroText--strong{
	display: inline-block;
	font-size: 150%;
	font-weight: bold;
	color: var(--subColor02_hex);
}

.contentIntroText--coat{
	color: var(--coatColor01_hex);
}

.contentIntroText--foresta{
	color: var(--forestaColor01_hex);
}

@media(max-width: 750px){

	.contentIntroText{
		font-size: 112.5%;
		font-weight: normal;
		text-align: left;
	}

	.contentIntroText--small{
		display: block;
		font-size: 112.5%;
		font-weight: normal;
		text-align: left;
	}

	.contentIntroText--strong{
		font-size: 112.5%;
	}


}

/*---------------------------------
	contentIntro end
---------------------------------*/



/*---------------------------------
	pannelLayout start
---------------------------------*/

.pannelLayout{
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	width: 100%;
	margin: 0 auto;
	padding: 0;
	list-style: none;
}

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

.pannelLayoutItem:nth-of-type(4n){
	margin-right: 0;
}

.pannelLayoutItem:nth-of-type(n+5){
	margin-top: 2em;
}

.pannelLayoutItem--image{
	display: block;
	width: 100%;
	position: relative;
}

.pannelLayoutItem--image:before{
	content: "";
	display: block;
	padding-top: 62%;
}

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

.pannelLayoutItem--text{
	display: block;
	width: 100%;
	text-align: center;
	margin: 0.5em auto 0;
}

@media(max-width: 750px){

	.pannelLayoutItem{
		width: calc((100% - 1.5em) / 2);
		margin: 0 1.5em 0 0;
	}

	.pannelLayoutItem:nth-of-type(2n){
		margin-right: 0;
	}

	.pannelLayoutItem:nth-of-type(n+3){
		margin-top: 2em;
	}

}

/*---------------------------------
	pannelLayout end
---------------------------------*/



/*---------------------------------
	costLayout start
---------------------------------*/

.costLayout{
	width: 100%;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	flex-wrap: wrap;
}

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

.costTable{
	width: 100%;
	margin: 0;
	table-layout: fixed;
	border: 1px solid #333;
	border-left: none;
	border-right: none;
}

.costTable th{
	font-weight: normal;
	width: 60%;
	vertical-align: middle;
	border: 1px solid #333;
	border-left: none;
}

.costTable td{
	width: 40%;
	vertical-align: middle;
	border: 1px solid #333;
	border-right: none;
}

.costTableTitle th, .costTableTitle td{
	background-color: #AFAFAF;
	color: #FFF;
	font-weight: bold;
}

@media(max-width: 750px){

	.costLayout{
		display: block;
	}

	.costLayoutBlock{
		width: 100%;
	}

	.costTable th{
		font-weight: normal;
		width: 60%;
		vertical-align: middle;
		border: 1px solid #333;
		border-left: none;
	}

	.costTable td{
		width: 40%;
		vertical-align: middle;
		border: 1px solid #333;
		border-right: none;
	}

	.costLayoutBlock:not(:first-of-type) .costTable{
		border-top: hidden;
	}

	.costLayoutBlock:not(:first-of-type) .costTable .costTableTitle{
		display: none;
	}

}

/*---------------------------------
	costLayout end
---------------------------------*/



/*---------------------------------
	profileTable start
---------------------------------*/

.profileTable{
	table-layout: fixed;
	width: 100%;
}

.profileTable th,
.profileTable td{
	border-bottom: 1px dashed #333;
	padding: 1em;
}

.profileTable th{
	width: 25%;
}

@media(max-width: 750px){

	.profileTable{
		font-size: 0.9em;
	}

	.profileTable th,
	.profileTable td{
		padding: 1em 0.5em;
	}

	.profileTable th{
		width: 6.5em;
	}

}

/*---------------------------------
	profileTable end
---------------------------------*/



/*---------------------------------
	historyTable start
---------------------------------*/

.historyTable{
	table-layout: fixed;
	width: 100%;
}

.historyTable th,
.historyTable td{
	border-bottom: 1px dashed #333;
	padding: 1em;
}

.historyTable th{
	width: 25%;
}

@media(max-width: 750px){

	.historyTable{
		font-size: 0.9em;
	}

	.historyTable th,
	.historyTable td{
		padding: 1em 0.5em;
	}

	.historyTable th{
		width: 4.5em;
	}

}

/*---------------------------------
	historyTable end
---------------------------------*/



/*---------------------------------
	access start
---------------------------------*/

.accessItem{
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	flex-wrap: nowrap;
	margin-bottom: 5em;
}

.accessItemImage{
	width: calc(35% - 1em);
}

.accessItemImage_inner{
	width: 100%;
	height: 0;
	padding-top: calc(100% / 5 * 3);
	position: relative;
}

.accessItemImage_inner img{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.accessItemInfo{
	width: calc(30% - 1em);
}

.accessItemInfo_title{
	font-size: 120%;
	margin: 0.5em 0 1em;
}

.accessItemInfo_text{
	margin: 1em 0;
}

.accessItemMap{
	width: calc(35% - 1em);
}

.accessItemMap_inner{
	width: 100%;
	height: 0;
	padding-top: calc(100% / 5 * 3);
	position: relative;
}

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

@media(max-width: 750px){

	.accessItem{
		flex-wrap: wrap;
		margin-bottom: 3em;
	}

	.accessItemImage{
		order: 2;
		width: calc(100% / 2 - 1%);
	}

	.accessItemInfo{
		order: 1;
		width: 100%;
		font-size: 0.85em;
	}

	.accessItemInfo_title{
		margin: 0 0 0.5em;
	}

	.accessItemMap{
		order: 3;
		width: calc(100% / 2 - 1%);
	}

}

/*---------------------------------
	access end
---------------------------------*/



/*---------------------------------
	voice start
---------------------------------*/

.voiceItem{
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	flex-wrap: nowrap;
	margin-bottom: 5em;
}

.voiceItemTexts{
	flex-grow: 0;
	flex-shrink: 0;
	width: calc(75% - 5em);
}

.voiceItemTexts_stdtext{
	margin: 0 0 1em;
}

.voiceItemTexts_name{
	font-size: 150%;
	font-weight: bold;
	margin: 1em 0;
	text-align: right;
}

.voiceItemImage{
	flex-grow: 0;
	flex-shrink: 0;
	width: 25%;
}

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

.voiceItemImage_inner img{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

@media(max-width: 750px){

	.voiceItem{
		flex-direction: column-reverse;
	}

	.voiceItemTexts{
		width: 100%;
		margin: 1em 0;
		font-size: 0.85em;
	}

	.voiceItemTexts_name{
		font-size: 125%;
	}

	.voiceItemImage{
		width: 100%;
	}

	.voiceItemImage_inner{
		padding-top: calc(100% / 16 * 9);
	}

}

/*---------------------------------
	voice end
---------------------------------*/



/*---------------------------------
	flow start
---------------------------------*/

.flowItem{
	background-color: #FFF;
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: nowrap;
	margin-bottom: 3em;
}

.flowItem_no{
	flex-grow: 0;
	flex-shrink: 0;
	align-self: stretch;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2em;
	background-color: var(--mainColor01_hex);
	color: #FFF;
	font-size: 200%;
	padding: 1em 0.5em;
}

.flowItem_title{
	flex-grow: 0;
	flex-shrink: 0;
	width: calc(40% - (2em / 1.5));
	font-size: 150%;
	background-color: #EFEFEF;
}

.flowItem_title--image,
.flowItem_title--image img{
	display: block;
	width: 100%;
}

.flowItem_title--image{
	padding: 1em;
}

.flowItem_text{
	flex-grow: 1;
	flex-shrink: 1;
	padding: 1em;
}

.flowItem_text--text{
	display: block;
	width: 100%;
	font-size: 150%;
	font-weight: bold;
	padding: 0 0 0.5em;
	color: var(--mainColor01_hex);
}

@media(max-width: 750px){

	.flowItem{
		align-items: flex-start;
		justify-content: flex-start;
		flex-wrap: wrap;
	}

	.flowItem_no{
		align-self: stretch;
		padding: 0.5em 0;
		line-height: 100%;
		font-size: 125%;
	}

	.flowItem_title{
		width: 100%;
		padding: 0.5em;
		font-size: 125%;
	}

	.flowItem_text{
		width: 100%;
		flex-grow: 0;
		flex-shrink: 0;
		font-size: 85%;
	}

}

/*---------------------------------
	flow end
---------------------------------*/



/*---------------------------------
	faq start
---------------------------------*/

.faqItem{
	padding: 1em;
}

.faqItem:nth-of-type(2n){
	background-color: #F0F0F0;
}

.faqItem_qaInner{
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	flex-wrap: nowrap;
}

.faqItem_q{
	cursor: pointer;
}

.faqItem_a{
	border-top: 1px solid #CCC;
	display: none;
}

.faqItem_qaIcon{
	flex-grow: 0;
	flex-shrink: 0;
	font-size: 150%;
	width: 1.5em;
	padding: 0.4em 0.25em;
	text-align: center;
	margin-right: 0.5em;
	font-weight: bold;
}

.faqItem_qTitle{
	flex-grow: 1;
	flex-shrink: 1;
	font-size: 100%;
	padding: 1em;
	margin: 0;
}

.faqItem_aContent{
	flex-grow: 0;
	flex-shrink: 0;
	width: calc(100% - (1.5em * 1.5) - (1.5em * 0.5) );
	font-size: 100%;
	padding: 1em;
	margin: 0;
}

.faqItem_qText{
	font-weight: bold;
}

.faqItem_qArrow{
	flex-grow: 0;
	flex-shrink: 0;
	font-size: 150%;
	width: 1.5em;
	align-self: stretch;
	padding: 0.4em 0.25em;
	position: relative;
}

.faqItem_qArrow:before{
	content: "down";
	font-family: 'LigatureSymbols';
	-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;
	position: absolute;
	top: 0.4em;
	left: 50%;
	transform: translateX(-50%);
	transition: transform 0.5s;
}

.faqItem_q.active .faqItem_qArrow:before{
	transform: translateX(-50%) rotate(180deg);
}

@media(max-width: 750px){

	.faqItem{
		font-size: 85%;
	}

	.faqItem_qaIcon{
		margin-right: 0.25em;
	}

	.faqItem_qTitle,
	.faqItem_aContent{
		padding: 1em 0.25em;
	}

}

.faqItem_aText{
	margin-bottom: 1.5em;
}

/*---------------------------------
	faq end
---------------------------------*/



/*---------------------------------
	guidelines start
---------------------------------*/

.guidelines_item{
	margin-bottom: 5em;
}

.guidelines_table th{
	width: 25%;
}

.guidelines_contactButtons{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	font-size: 120%;
	margin: 0;
}

.guidelines_contactButtons input[type="submit"],
.guidelines_contactButtons input[type="button"],
.guidelines_contactButtons input[type="reset"]{
	border-radius: 0;
	-webkit-box-sizing: content-box;
	-webkit-appearance: button;
	appearance: button;
	border: none;
	box-sizing: border-box;
	cursor: pointer;
}

.guidelines_contactButtons input[type="submit"]::-webkit-search-decoration,
.guidelines_contactButtons input[type="button"]::-webkit-search-decoration,
.guidelines_contactButtons input[type="reset"]::-webkit-search-decoration{
	display: none;
}

.guidelines_contactButtons input[type="submit"]::focus,
.guidelines_contactButtons input[type="button"]::focus,
.guidelines_contactButtons input[type="reset"]::focus{
	outline-offset: -2px;
}

.guidelines_contactButtons > *{
	display: block;
	font-size: inherit;
	margin: 0.5em 1em;
	padding: 0.5em 2em;
	color: #000;
	border: 2px solid #000 !important;
	text-align: center;
	background-color: transparent;
	transition: all 0.25s;
}

.guidelines_contactButtons > *:hover{
	color: #FFF;
	background-color: #000;
	text-decoration: none;
}

@media(max-width: 750px){

	.guidelines_contactButtons{
		font-size: calc(120% * 0.7);
	}

}

.guidelines_contactComment{
	text-align: center;
	margin: 1em 0;
}

@media(max-width: 750px){

	.guidelines_item{
		margin-bottom: 2em;
		font-size: 85%;
	}

	.guidelines_table th{
		width: 6em;
	}

	.guidelines_contactComment{
		font-size: 85%;
	}

}

/*---------------------------------
	guidelines end
---------------------------------*/



/*---------------------------------
	contactTelFax start
---------------------------------*/

.contactTelFax{
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: center;
}

.contactTelFax_item{
	margin: 0 2em 2em 2em;
}

.contactTelFax_no{
	font-size: 200%;
}

.contactTelFax_info{
	text-align: center;
}

@media(max-width: 750px){

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

	.contactTelFax_info{
		font-size: 85%;
	}

	.contactTelFax_item{
		margin: 0 0 1em;
	}

	.contactTelFax_item:last-of-type{
		margin-bottom: 0;
	}

	.contactTelFax_no{
		text-align: center;
	}

}

@media(max-width: 540px){

	.contactTelFax_no{
		font-size: 7vw;
	}

}

/*---------------------------------
	contactTelFax end
---------------------------------*/



/*---------------------------------
	mailformText start
---------------------------------*/

.mailformText{
	margin-bottom: 2em;
}

@media(max-width: 750px){

	.mailformText{
		font-size: 85%;
	}

}

/*---------------------------------
	mailformText start
---------------------------------*/



/*---------------------------------
	mailformTable start
---------------------------------*/

.mailformTable{
	table-layout: fixed;
	width: 100%;
}

.mailformTable tr{
	border-bottom: 1px dashed #333;
}

.mailformTable tr:first-of-type{
	border-top: 1px dashed #333;
}

.mailformTable th,
.mailformTable td{
	border: none;
}

.mailformTable tr,
.mailformTable th,
.mailformTable td{
	padding: 1em;
}

.mailformTable th.title{
	width: 15em;
}

.mailformTable td.type{
	width: calc(4em * 0.75);
	padding: 2.5em 0;
}

.mailformTable tr.need td.type:before{
	content: "必須";";
	display: block;
	width: 100%;
	text-align: center;
	font-size: 75%;
	font-weight: bold;
	padding: calc(1em / 3 * 0.75) 0.5em calc(1em / 3 * 1.25);
	color: #FFF;
	background-color: #FF0000;
	border-radius: 2px;
}

.mailformTable td.form{
	padding: 1em 1em 1em 2em;
}

.mailformTable td.form input[type="text"],
.mailformTable td.form input[type="search"],
.mailformTable td.form input[type="tel"],
.mailformTable td.form input[type="url"],
.mailformTable td.form input[type="email"],
.mailformTable td.form input[type="password"],
.mailformTable td.form input[type="datetime"],
.mailformTable td.form input[type="date"],
.mailformTable td.form input[type="month"],
.mailformTable td.form input[type="week"],
.mailformTable td.form input[type="time"],
.mailformTable td.form input[type="datetile-local"],
.mailformTable td.form input[type="number"]{
	width: 100%;
	margin: 0.5em 0;
}

.mailformTable_radioLabel{
	display: inline-block;
	margin: 0.5em 1.5em 0.5em 0;
}

.mailformTable_checkBoxLabel{
	display: inline-block;
	margin: 0.5em 1.5em 0.5em 0;
}

.mailformTable td.form textarea{
	width: 100%;
	height: 250px;
}

.mailformTable td.form .mailformTable_infoText{
	margin: 0.5em 0;
}

@media(max-width: 750px){

	.mailformTable{
		margin: 25px 0;
		font-size: 14px;
	}

	.mailformTable tr{
		display: flex;
		flex-wrap: wrap;
		align-items: flex-start;
		justify-content: flex-start;
		padding: 1em 0;
	}

	.mailformTable th,
	.mailformTable td{
		flex-grow: 0;
		flex-shrink: 0;
		padding: 0.25em !important;
		border: none;
	}

	.mailformTable th.title{
		width: auto;
		margin-right: 1em
	}

	.mailformTable td.form{
		width: 100%;
	}

	.mailformTable td.content{
		width: 100%;
	}

}

.mailformTable .msg{
	color: #DA3A15;
}

/*---------------------------------
	mailformTable end
---------------------------------*/



/*---------------------------------
	blog start
---------------------------------*/

@media(max-width: 750px){

	.blog{
		font-size: 85%;
	}

}

.blog{
	display: flex;
	flex-wrap: nowrap;
	align-items: flex-start;
	justify-content: space-between;
}

.blog_main{
	width: calc(100% - 275px - 50px);
}

.blog_sidebar{
	width: 275px;
}

.blogArticle{
	border-bottom: 1px solid #333;
	padding: 1em 0.5em;
}

.blogArticle_date{
	margin: 1em 0;
}

.blogArticleTitle{
	font-size: 175%;
	margin-bottom: 0.5em 0 1em;
}

.blogArticleTitle_link,
.blogArticleTitle_link:hover{
	color: inherit;
	text-decoration: none;
}

.blogArticle_body{
	margin: 2em 0;
}

.blogArticle_body img{
	max-width: 100%;
}

.blogArticle_cate{
	margin: 1em 0;
	text-align: right;
}

.blog_pager{
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	font-size: 110%;
	margin: 2em 0;
}

.blog_pager a,
.blog_pager span{
	display: block;
	margin: 0.25em;
	padding: 0.25em 0.5em;
	border: 1px solid #000;
	color: #000;
	transition: background-color 0.25s, color 0.25s;
}

.blog_pager a:hover{
	background-color: #000;
	color: #FFF;
	text-decoration: none;
}

.blog_pager span{
	background-color: #AAA;
	color: #000;
}

.blogWidget ul{
	margin: 0;
	padding: 0;
	list-style: none;
}

.blogWidget li{
	padding-left: 1.25em;
	position: relative;
}

.blogWidget li:before{
	font-family: 'LigatureSymbols';
	-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;
	content: "right";
	position: absolute;
	top: 0;
	left: 0;
	font-weight: bold;
}

.blogWidget{
	padding: 1.5em 0.5em;
	border-bottom: 1px solid #000;
}

.blogWidget_title{
	font-size: 120%;
	font-weight: bold;
	margin-bottom: 0.5em;
}

.blogWidgetSearchbox{
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: stretch;
}

.blogWidgetSearchbox_text{
	margin-right: 0.5em;
	flex-grow: 1;
	flex-shrink: 1;
	min-width: 0%;
}

.blogWidgetSearchbox_submit{
	width: 4em;
	background: #000;
	color: #FFF;
	border: 2px solid #000;
	display: flex;
	justify-content: center;
	align-items: center;
	transition: all 0.25s;
}

.blogWidgetSearchbox_submit:hover{
	background: #FFF;
	color: #000;
}

@media(max-width: 750px){

	.blog{
		flex-direction: column;
	}

	.blog_main{
		width: 100%;
	}

	.blog_sidebar{
		width: 100%;
	}

}

/*---------------------------------
	blog end
---------------------------------*/



/*---------------------------------
	kentFooter start
---------------------------------*/

.kentFooter{
	text-align: center;
	margin: 0;
	padding: 0.25em 1em;
	background: var(--mainColor01_hex);
	color: #FFF;
	font-size: 100%;
}

.kentFooter a,
.kentFooter a:hover{
	color: inherit;
}

/*---------------------------------
	kentFooter end
---------------------------------*/



/*---------------------------------
	privacyPolicy start
---------------------------------*/

@media(max-width: 750px){

	.privacyPolicy{
		font-size: 85%;
	}

}

.privacyPolicy_paragraph{
	margin: 0 0 3em;
}

.privacyPolicy_title{
	border-bottom: 1px solid #CCC;
	font-size: 125%;
	padding: 0.25em 0.25em;
	margin: 0 0 1em;
}

.privacyPolicy_subtitle{
	font-size: 110%;
	padding: 0.25em 0.5em;
	margin: 0 0 0.5em;
}

.privacyPolicy_text{
	margin: 0 0 1.5em;
	padding: 0 0.5em;
}

.privacyPolicyList{
	padding: 0 0.5em;
	margin: 0 0 1em;
	list-style: none;
}

.privacyPolicyList_title{
	padding-left: 1.25em;
	position: relative;
	font-size: 100%;
}

.privacyPolicyList_title:before{
	content: "●";
	position: absolute;
	top: 0;
	left: 0.25em;
}

.privacyPolicyList_innerList{
	padding: 0;
	margin: 0 0 1em;
	list-style: none;
}

.privacyPolicyList_innerList li{
	padding-left: 1.25em;
	position: relative;
	font-size: 100%;
}

.privacyPolicyList_innerList li:before{
	content: "・";
	position: absolute;
	top: 0;
	left: 0.25em;
}

.privacyPolicyList_text{
	padding: 0 0 0 0.5em
}

/*---------------------------------
	privacyPolicy end
---------------------------------*/



/*---------------------------------
	sitemapLinklist start
---------------------------------*/

.sitemapLinklist{
	padding: 0;
	margin: 0 0 1em;
	list-style: none;
}

.sitemapLinklist li{
	padding-left: 1.5em;
	position: relative;
	font-size: 100%;
	margin-bottom: 0.5em;
}

.sitemapLinklist li:before{
	content: "●";
	position: absolute;
	top: 0;
	left: 0.25em;
}

/*---------------------------------
	sitemapLinklist end
---------------------------------*/



/*---------------------------------
	flowLayoutt start
---------------------------------*/

.flowLayout{
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: center;
	counter-reset: number 0;
}

.flowLayoutItem{
	width: calc((100% - (1.4em * 2 * 2.75)) / 3);
	margin: 0;
}

.flowLayoutItem--title{
	font-size: 125%;
}

.flowLayoutItem--title:before{
	counter-increment: number 1;
	content: counter(number) ".";
	color: var(--mainColor01_hex);
	font-size: 200%;
	margin: 0 0.25em 0 0;
}

.coatPage .flowLayoutItem--title:before{
	color: var(--coatColor01_hex);
}

.flowLayoutItem--image{
	display: block;
	width: 100%;
	position: relative;
}

.flowLayoutItem--image:before{
	content: "";
	display: block;
	padding-top: 62%;
}

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

.flowLayoutItem--text{
	display: block;
	width: 100%;
	margin: 0;
}

.flowLayoutArrow{
	font-family: 'LigatureSymbols';
	-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;
	color: var(--mainColor01_hex);
	display: block;
	width: 1.4em;
	font-size: 275%;
	text-align: center;
	align-self: center;
}

.coatPage .flowLayoutArrow{
	color: var(--coatColor01_hex);
}


.flowLayoutItem:nth-of-type(n+4),
.flowLayoutArrow:nth-of-type(n+3){
	margin-top: 2em;
}

@media(max-width: 750px){

	.flowLayout,
	.flowLayoutItem:nth-of-type(n+4){
		flex-direction: column;
		align-items: flex-start;
		justify-content: flex-start;
		margin: 0 auto;
	}

	.flowLayoutItem{
		width: 100%;
	}

	.flowLayoutItem--text{
		margin: 0.5em 0 0;
	}

	.flowLayoutArrow{
		font-family: 'LigatureSymbols';
		-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;
		color: var(--mainColor01_hex);
		display: block;
		width: 1.4em;
		font-size: 275%;
		text-align: center;
		align-self: center;
	}

	.coatPage .flowLayoutArrow,
	.flowLayoutArrow:nth-of-type(n+3){
		transform: rotate(90deg);
		margin: 1rem auto;
	}


}

/*---------------------------------
	flowLayout end
---------------------------------*/



/*---------------------------------
	flowLayout start
---------------------------------*/

.dataList{
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	margin:0 ;
	padding: 0;
	list-stylle: none;
}

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

.dataListItem:nth-of-type(2n){
	margin-right: 0;
}

.dataListItem:nth-of-type(n+3){
	margin-top: 2em;
}

.dataListItem--title{
	font-size: 125%;
	color: var(--mainColor01_hex);
	margin: 0 auto 0.5em;
}

.coatPage .dataListItem--title{
	color: var(--coatColor01_hex);
}

.dataListItem--image{
	display: block;
	width: 100%;
	margin: 0;
	postion: relative;
}

.dataListItem--image:before{
	content: "";
	display: block;
	pading-top: 62%;
}

.dataListItem--image img{
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	postion: absolute;
	top: 0;
	left: 0;
	object-fit: contain;
}

.dataListItem--institution{
	display: block;
	width: 100%;
	margin: 0 5em auto 0;
	text-align: right;
}

.dataListItem--institution span{
	display: inline-block;
	text-aligm: left;
}

@media(max-width: 750px){

	.dataList{
		display: block;
	}

	.dataListItem,
	.dataListItem:nth-of-type(2n){
		width: 100%;
		margin: 0 auto;
	}

	.dataListItem:nth-of-type(n+2){
		margin-top: 2em;
	}

}

/*---------------------------------
	flowLayout end
---------------------------------*/



/*---------------------------------
	fontStrong start
---------------------------------*/

.fontStrong{
	color: var(--subColor03_hex);
	font-weight: bold;
}

/*---------------------------------
	fontStrong end
---------------------------------*/



/*-------------------------------------------
IE以外に適用させる start
※注意  IEで反映されないプロパティのみ object-fit等
--------------------------------------------*/

/****Edge start*****/
@supports (-ms-ime-align: auto){
	.mainvisualSliderItem_img{
		object-fit: cover;
	}
}
/****Edge end*****/

/****Firefox start*****/
@-moz-document url-prefix(){
	.mainvisualSliderItem_img{
		object-fit: cover;
	}
}
/****Firefox end*****/

/****Chrome/Safari/Opera start*****/
@media screen and (-webkit-min-device-pixel-ratio:0) {
	.mainvisualSliderItem_img{
		object-fit: cover;
	}
}
/****Chrome/Safari/Opera end*****/

/*****
IE以外に適用させる end
******/

