/*---------------------------------
	newsPickup start
---------------------------------*/

.newsPickup{
	width: 100%;
	margin-right: auto;
	margin-left: auto;
	list-style: none;
	padding: 0;
}

.newsPickupItem{
	width: 100%;
	margin: 0 auto 1em;
	padding: 0 0 1em;
	border-bottom: 1px solid #BFBFBF;
}

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

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

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

.newsPickupItem_inner{
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	flex-wrap: nowrap;
	width: 100%;
}

.newsPickupItem_date{
	flex-grow: 0;
	flex-shrink: 0;
	width: 6em;
	padding: 0;
	margin: 0 1em 0 0;
}

.newsPickupItem_title{
	flex-grow: 1;
	flex-shrink: 1;
	padding: 0;
	margin: 0;
}

.newsPickupItem_link:hover .newsPickupItem_title{
	text-decoration: underline;
}

@media(max-width: 750px){

	.newsPickupItem_inner{
		display: block;
	}

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

	.newsPickupItem_title{
		width: 100%;
	}

}

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



/*---------------------------------
	linkBanner start
---------------------------------*/

.linkBanner{
	display: block;
	background-color: #FFF;
	width: 80%;
	margin: 0 auto;
	border: 1px solid #B9E3FF;
}

.linkBanner img{
	display: block;
	width: 100%;
	margin: 0;
	transition: opacity 0.3s;
}

.linkBanner:hover img{
	opacity: 0.7;
}

.linkBanner--sub{
	margin: 5em auto 0;
	padding: 3em 0 0;
	border-top: 1px solid #DFDFDF;
}

.linkBanner--sub .linkBanner{
	width: 60%;
}

@media(max-width: 750px){

	.linkBanner{
		width: 100%;
	}

	.linkBanner--sub .linkBanner{
		width: 100%;
	}

}

/*---------------------------------
	linkBanner 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
---------------------------------*/



/*---------------------------------
	imageHorizontal start
---------------------------------*/

.imageHorizontal{
	with: 100%;
	margin : 2em auto 0;
	display: flex;
	justify-content: center;
}

.imageHorizontal_item{
	display: block;
	width: calc((100% - (2em * 2)) / 3);
	margin: 0 2em 0 0;
	position: relative;
	overflow: hidden;
}

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

.imageHorizontal_item:nth-of-type(3n){
	margin-right: 0;
}

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

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

.imageHorizontal_item--tall{
	width: calc((100% - (2em * 2)) / 3 / 500 * 211);
}


@media(max-width: 600px){

	.imageHorizontal_item{
		width: calc((100% - (1em * 2)) / 3);
		margin: 0 1em 0 0;
	}

}

/*---------------------------------
	imageHorizontal end
---------------------------------*/



/*---------------------------------
	sectionImageBand--companyPhilosophy start
---------------------------------*/

@media(min-width: 1025px){

	.sectionImageBand--companyPhilosophy{
		height: 30vw;
	}

}

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



/*---------------------------------
	recaptchaV2Wrapper start
---------------------------------*/

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

/*---------------------------------
	recaptchaV2Wrapper end
---------------------------------*/




/*---------------------------------
	 topIntro start
---------------------------------*/

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

.introText_text{
	display: block;
	margin: 0;
	font-size: 175%;
}

.introText_text--subpage{
	font-size: 150%;
}

.introText_decoration{
	display: inline;
	background: linear-gradient(transparent 70%, rgba(255,110,0,0.2) 70%, rgba(255,110,0,0.2) 100%, transparent 100%);
}

@media(max-width: 750px){

	.introText_text{
		font-size: 125%;
	}

}

/*---------------------------------
	topIntro end
---------------------------------*/



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

.tilesContentsWrapper{
	background-color: #EFEFEF;
}

.tilesContents{
	margin: 0 auto;
	padding: 0;
	list-style: none;
	display: block;
}

.tilesContentsItem{
	display: block;
	width: 70%;
	margin: 0 auto;
	position: relative;
}

.tilesContentsItem--noimage{
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.tilesContentsItem_link,
.tilesContentsItem_link:hover{
	display: block;
	color: inherit;
	text-decoration: none;
}

.tilesContentsItem_inner{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	width: 100%;
	margin: 0 auto;
	position: relative;
	border: 0.5em solid #E0E0E0;
	transition: background-color 0.3s, box-shadow 0.3s, border 0.3s;
	background-color: #FFF;
}

.tilesContentsItem_inner:not(first-of-type){
	margin-top: 20px;
}

.tilesContentsItem_image{
	width: 25%;
	position: relative;
	overflow: hidden;
	background-color: #FFF;
}

.tilesContentsItem_image:before{
	content: "";
	display: block;
	padding-top: 71%;
}

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

.tilesContentsItemTitle,
.tilesContentsItemTitle_bordering{
	display: block;
	width: 70%;
	text-align: center;
	font-size: 150%;
	font-weight: bold;
	margin: 0;
	line-height: 1.5;
	transition: color 0.3s;
}

.tilesContentsItem--noimage .tilesContentsItemTitle{
	font-size: 112.5%;
}


.tilesContentsItemTitle_bordering{
	-webkit-text-stroke: 5px #FFF;
	text-stroke: 5px #FFF;
	z-index: 1;
	transition: opacity 0.2s;
}

.tilesContentsItem_link:hover .tilesContentsItem_inner{
	z-index: 101;
	background-color: #02368E;
	box-shadow: 0px 0px 10px rgba(0,0,0,0.25);
	border-color: #02368E;
}

.tilesContentsItem_link:hover .tilesContentsItem_image img{
	transform: scale(1.1);
}

.tilesContentsItem_link:hover .tilesContentsItem_image img{
	opacity: 1;
}

.tilesContentsItem_link:hover .tilesContentsItemTitle_bordering{
	opacity: 1;
}

.tilesContentsItem_link:hover .tilesContentsItemTitle{
	color: #FFF;
}

@media(max-width: 750px){

	.tilesContentsItem{
		width: 100%;
	}

	.tilesContentsItem_inner{
		border: 5px solid #E0E0E0;
	}

	.tilesContentsItem_image{
		width: 30%;
	}

	.tilesContentsItemTitle,
	.tilesContentsItemTitle_bordering{
		font-size: 100%;
	}

}

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



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

@media(max-width: 750px){
	.sideImageContents{
		margin: 2em 0;
	}
}

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

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

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

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

.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{
	width: calc(65% - 2.5em);
	flex-grow: 0;
	flex-shrink: 0;
}

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

.sideImageContentsItemMain_texts{
	margin: 1em 0;
}

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

@media(max-width: 750px){

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

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

	.sideImageContentsItemImage{
		width: 100%;
		margin-bottom: 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_texts{
		font-size: 0.85em;
	}

}

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



/*---------------------------------
	sideImageNumber start
---------------------------------*/

.sideImageNumber{
	display: flex;
	flex-wrap: nowrap;
	align-items: flex-end;
}

.sideImageNumber_num{
	color: #02368E;
	font-weight: bold;
	font-size: 175%;
	line-height: 1;
	flex-grow: 0;
	flex-shrink: 0;
}

.sideImageNumber_text{
	margin: 0 0 0 1em;
	flex-grow: 1;
	flex-shrink: 1;
}


@media(max-width: 750px){

	.sideImageNumber_num{
		align-self: flex-start;
	}

}

/*---------------------------------
	sideImageNumber end
---------------------------------*/



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

.flowItem{
	display: flex;
	align-items: stretch;
	justify-content: space-between;
	flex-wrap: nowrap;
	margin-bottom: 3em;
}

.flowItem_no{
	flex-grow: 0;
	flex-shrink: 0;
	align-self: stretch;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 5em;
	background-color: #02368E;
	color: #FFF;
	font-size: 200%;
	font-weight: bold;
	padding: 1em 0.5em;
	position: relative;
}

.flowItem_no span{
	font-size: 75%;
	font-weight: normal;
}

.flowItem_no:after{
	content: "";
	width: 0;
	height: 0;
	border: 0.4em solid transparent;
	border-top: 0.5em solid #02368E;
	position: absolute;
	bottom: calc((0.5em + 0.4em) * -1);
}

.flowItem:last-of-type .flowItem_no:after{
	display: none;
}

.flowItem_text{
	flex-grow: 1;
	flex-shrink: 1;
	padding: 1.5em 1em 1.5em 3em;
	margin: 0;
	background-color: #EFEFEF;
}

.flowItem_text a{
	display: block;
	width: 100%;
	max-width: 360px;
	margin: 1em 0 0;
}

.flowItem_text a img{
	display: block;
	width: 100%;
	margin: 0;
}

.flowItem_text a.flowItem_button{
	max-width: 100%;
	display: inline-block;
	width: auto;
}

.flowItem_title{
	width: 100%;
	font-size: 125%;
	font-weight: bold;
	padding: 0;
	margin: 0 0 1em;
}

.flow--short .flowItem{
	margin-bottom: 2em;
}

.flow--short .flowItem_no{
	flex-direction: row;
	align-items: center;
	justify-content: center;
	width: 20%;
	min-width: calc(5em / 1.75 * 2);
	text-align: center;
	font-size: 175%;
	padding: 0.5em;
}

.flow--short .flowItem_no:after{
	content: "";
	left: 50%;
	-webkit-transform: translateX(-50%);
	-moz-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	-o-transform: translateX(-50%);
	transform: translateX(-50%);
}

.flow--short .flowItem_text{
	padding: 1em 1em 1em 2em;
}

.flow--short .flowItem_text a{
	display: inline-block;
	border: 1px solid #FF6E00;
	background-color: #FF6E00;
	color: #FFF;
	text-decoration: none;
	transition: background-color 0.3s, color 0.3s;
	margin: 0.5em 0 0;
	padding: 0.2em 1em;
}


.flow--short .flowItem_text a:after{
	content: "right";
	font-size: 112.5%;
	color: inherit;
	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;
	margin: 0 0 0 0.5em;
}

.flow--short .flowItem_text a:hover{
	background-color: #FFF;
	color: #FF6E00;
	text-decoration: none;
}

.flow--short .flowItem_title{
	font-size: 112.5%;
	margin: 0 0 0.5em;
}


@media(max-width: 750px){

	.flowItem{
		display: block;
		position: relative;
	}

	.flowItem_no{
		flex-direction: row;
		align-items: flex-end;
		justify-content: flex-start;
		padding: 1em calc(1.5em / 1.25);
		line-height: 100%;
		font-size: 125%;
		width: 40%;
		min-width: 5em;
	}

	.flowItem_no span{
		margin-right: 0.5em;
		line-height: 1;
	}

	.flowItem_no:after,
	.flow--short .flowItem_no:after,
	.flowItem:last-of-type .flowItem_no:after{
		display: block;
		left: 1.5em;
	}

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

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

}

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



/*---------------------------------
	swing start
---------------------------------*/

.swing:hover{
	animation: swing 0.3s;
}

@keyframes swing{
	0% {transform: translate(0, 0)}
	25% {transform: translate(0, 10px)}
	75% {transform: translate(0, -10px)}
	100% {transform: translate(0, 0)}
}

/*---------------------------------
	swing end
---------------------------------*/



/*---------------------------------
	pageIntro start
---------------------------------*/

.pageIntro{
	font-size: 125%;
}

/*---------------------------------
	pageIntro end
---------------------------------*/



/*---------------------------------
	innerLink start
---------------------------------*/

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

.innerLink_button{
	display: block;
	border: 2px solid #02368E;
	background-color: #02368E;
	color: #FFF;
	text-align: center;
	min-width: 10em;
	padding: 0.75em 1.5em 0.4em;
	transition: color 0.3s, background-color 0.3s;
}

.innerLink_button:not(:last-of-type){
	margin-right: 2em;
}

.innerLink_button:hover{
	background-color: #FFF;
	color: #02368E;
	text-decoration: none;
}

.innerLink_button:after{
	display: block;
	content: "down";
	font-size: 125%;
	line-height: 1;
	margin: 0.25em auto 0;
	text-align: center;
	color: #FFF;
	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;
	transition: color 0.3s, transform 0.3s;
}

.innerLink_button:hover:after{
	color: #02368E;
	-webkit-transform: translateY(25%);
	-moz-transform: translateY(25%);
	-ms-transform: translateY(25%);
	-o-transform: translateY(25%);
	transform: translateY(25%);
}


@media(max-width: 750px){

	.innerLink{
		flex-direction: column;
	}

	.innerLink_button{
		margin: 0 auto;
	}

	.innerLink_button:not(:last-of-type){
		margin: 0 auto 2em;
	}

}

/*---------------------------------
	innerLink end
---------------------------------*/



/*---------------------------------
	optionTitle start
---------------------------------*/

.optionTitle{
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: flex-start;
	width: 100%;
	margin: 0 auto 2em;
	padding-bottom: 1em;
	border-bottom: 1px solid #DFDFDF;
}

.section_inner > .optionTitle:not(:first-of-type){
	margin-top: 4em;
}

.optionTitle_number{
	position: relative;
	display: block;
	flex-grow: 0;
	flex-shrink: 0;
}

.optionTitle_number_num{
	color: #B9E3FF;
	font-weight: bold;
	font-size: 430%;
	line-height: 1;
}

.optionTitle_number_text{
	color: #02368E;
	font-weight: normal;
	font-size: 1rem;
	position: absolute;
	top: 50%;
	left: 0;
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	-o-transform: translateY(-50%);
	transform: translateY(-50%);
}

.optionTitle_text{
	display: block;
	font-size: 150%;
	margin: 0 0 0 1.6em;
	font-weight: bold;
	flex-grow: 1;
	flex-shrink: 1;
}

@media(max-width: 750px){

	.optionTitle_number_num{
		font-size: 360%;
		line-height: 1;
	}

	.optionTitle_text{
		font-size: 125%;
		line-height: 1.2;
		margin: 0 0 0 1em;
	}

}

/*---------------------------------
	optionTitle end
---------------------------------*/



/*---------------------------------
	priceLayout start
---------------------------------*/

.priceLayout{
	display: flex;
	flex-wrap: nowrap;
	width: 100%;
	margin: 0 auto 2em;
}

.priceLayoutTitle{
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	margin: 0;
	flex-grow: 0;
	flex-shrink: 0;
	background-color: #02368E;
	color: #FFF;
	font-size: 150%;
	font-weight: bold;
	padding: 1em 2em;
}

.priceLayoutText{
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	margin: 0;
	flex-grow: 1;
	flex-shrink: 1;
	background-color: #EFEFEF;
	font-weight: bold;
	padding: 1em 2em;
}

.priceLayoutText_text{
	font-size: 112.5%;
}

.priceLayout--reg{
	margin: 0;
	width: 100%;
}

.priceLayout--reg .priceLayoutTitle{
	font-size: 100%;
}

.priceLayout--reg .priceLayoutText_text{
	font-size: 100%;
}


@media(max-width: 750px){

	.priceLayout{
		display: block;
	}

	.priceLayoutTitle{
		display: block;
		font-size: 125%;
		padding: calc(1em / 1.25) calc(2em / 1.25);
	}

	.priceLayoutText{
		display: block;
	}

}

/*---------------------------------
	priceLayout end
---------------------------------*/



/*---------------------------------
	priceItem start
---------------------------------*/

.priceItem{
	display: block;
	width: 100%;
	margin: 0 auto 2em;
}

.priceItemText{
	display: block;
	width: 100%;
	margin: 0 auto 1em;
}

.priceItemList{
	list-style: none;
	counter-reset: number 0;
	width: 100%;
	margin: 0 auto;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 1em 1.5em;
}

.priceItemListItem{
	display: flex;
	flex-wrap: nowrap;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 0.6em;
	width: calc((100% - (1.5em * 2)) / 3);
	margin: 0;
}

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

.priceItemListItem:before{
	display: block;
	counter-increment: number 1;
	content: counter(number);
	background-color: #02368E;
	color: #FFF;
	width: 1.6em;
	text-align: center;
	margin: 0;
	flex-grow: 0;
	flex-shrink: 0;
}

.priceItemListAnnotation{
	font-size: 87.5%;
	color: #777;
}

@media(max-width: 750px){

	.priceItemText{
		margin: 0 auto 2em;
	}

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

	.priceItemListInner{
	}

	.priceItemListItem:before{
		font-size: 150%;
	}

}

/*---------------------------------
	priceItem end
---------------------------------*/



/*---------------------------------
	priceData start
---------------------------------*/

.priceData{
	width: 100%;
	margin: 0 auto;
	display: flex;
	flex-wrap: nowrap;
	align-items: flex-start:
}

.priceData dt{
	display: block;
	flex-grow: 0;
	flex-shrink: 0;
}

.priceData dt span{
	display: inline-block;
	font-size: 112.5%;
	background-color: #02368E;
	color: #FFF;
	padding: 0.2em 0.5em;
}

.priceData dd{
	display: block;
	flex-grow: 1;
	flex-shrink: 1;
	padding: 0.2em 0;
	margin-left: 2em;
}

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

.priceData dd p{
	display: block;
	width: 100%;
	margin: 0 auto 1em;
}

.priceData dd p:last-of-type{
	margin-bottom: 0;
}

.priceDataText{
	display: block;
	width: 100%;
	margin: 1em auto 0;
}

@media(max-width: 750px){

	.priceData dd{
		margin-left: 1em;
	}

}

/*---------------------------------
	priceData end
---------------------------------*/



/*---------------------------------
	pack start
---------------------------------*/

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

.packTitle span{
	display: block;
	font-size: 150%;
}

.packIntro{
	width: 100%;
	margin: 0 auto 2em;
	display: flex;
	align-items: center;
	justify-content: center;
}

.packIntro_image{
	display: block;
	width: 20%;
	margin: 0;
}

.packIntro_image--main{
	width: 40%;
}

.packIntro_image--sub{
	width: calc(25% - 2em);
	margin-left: 2em;
}

.packIntro_image img{
	display: block;
	width: 100%;
	margin: 0;
}

.packIntro_Text{
	padding: 0;
	margin: 0 0 0 2em;
	display: flex;
	align-items: center;
}

.packIntro_TextItem{
	font-size: 125%;
	margin: 0 auto;
	display: block;
}

.packIntro_TextItem--title{
	display: inline-block;
	border-bottom: 2px solid #02368E;
	padding: 0 1.5em 0.2em 0.5em;
	margin: 0 0 0.5em;
}

.packIntro_TextItem--text{
	display: block;
	width: 100%;
	color: #02368E;
	font-weight: bold;
	font-size: 112.5%;
}

.packIntro_TextItem--explanatory{
	display: block;
	width: 100%;
	font-size: 1rem;
	margin: 1em auto 0;
}

.packLayout{
	width: 100%;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	margin: 0 auto 2em;
}

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

.packLayoutItem:nth-of-type(3n){
	margin-right: 0;
}

.packLayoutItem:nth-of-type(n+4){
	margin-top: 1em;
}

.packLayoutItem_title{
	background-color: #02368E;
	margin: 0;
	padding: 1em;
	display: flex;
	align-items: center;
	justify-content: center;
}

.packLayoutItem_title span{
	color: #FFF;
	font-weight: bold;
}

.packLayoutItem_text{
	background-color: #EFEFEF;
	margin: 0;
	padding: 1em;
	display: flex;
	align-items: center;
	justify-content: center;
}

.packLayoutItem_text span{
	font-weight: bold;
}

@media(max-width: 750px){

	.packIntro{
		flex-wrap: wrap;
	}

	.packIntro_image{
		display: block;
		width: 20%;
		margin: 0;
	}

	.packIntro_image--main{
		width: 60%;
	}

	.packIntro_image--sub{
		width: calc(40% - 2em);
		margin-left: 2em;
	}

	.packIntro_image--warer{
		width: 40%;
	}

	.packIntro_Text{
		width: 100%;
		margin:  1em auto 0;
		display: flex;
	}

	.packIntro_TextItem{
		font-size: 125%;
		margin: 0 auto;
		display: block;
	}

	.packIntro_TextItem--title{
		display: inline-block;
		border-bottom: 2px solid #02368E;
		padding: 0 1.5em 0.2em 0.5em;
		margin: 0 0 0.5em;
	}

	.packIntro_TextItem--text{
		display: block;
		width: 100%;
		color: #02368E;
		font-weight: bold;
		font-size: 112.5%;
	}

	.packLayout{
		width: 100%;
		margin: 0 auto;
		display: flex;
		flex-wrap: wrap;
		margin: 2em auto;
	}

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

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

	.packLayoutItem_title{
		background-color: #02368E;
		margin: 0;
		padding: 1em;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.packLayoutItem_title span{
		color: #FFF;
		font-weight: bold;
	}

	.packLayoutItem_text{
		background-color: #EFEFEF;
		margin: 0;
		padding: 1em;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.packLayoutItem_text span{
		font-weight: bold;
	}

}

/*---------------------------------
	pack end
---------------------------------*/

.areaMap{
	display: block;
	width: 100%;
	margin: 0 auto;
}

.areaMapList{
	width: 100%;
	border: 1px solid #BFBFBF;
	background-color: #FFF;
}

.areaMapList th{
	width: 25%;
	border: 1px solid #BFBFBF;
	background-color: #EFEFEF;
	font-weight: normal;
	padding: 1em;
}

.areaMapList td{
	border: 1px solid #BFBFBF;
	padding: 0.5em 1em 1em;
}

.areaMapList td span{
	display: inline-block;
	margin: 0.5em 1em 0 0;
}

.areaMapList td span:last-of-type{
	margin-right: 0;
}

.areaMapText{
	margin: 0;
}

@media(max-width: 750px){

	.areaMapList{
		width: 100%;
		border-bottom: none;
	}

	.areaMapList th{
		display: block;
		width: 100%;
		border-top: none;
		border-right: none;
		border-left: none;
	}

	.areaMapList td{
		display: block;
		width: 100%;
		border-top: none;
		border-right: none;
		border-left: none;
	}

}

/*---------------------------------
	areaMap start
---------------------------------*/



/*---------------------------------
	areaMap end
---------------------------------*/



/*---------------------------------
	constructionCost start
---------------------------------*/

.constructionCost{
	width: 100%;
	margin: 0 auto;
	table-layout: fixed;
}

.constructionCost th{
	width: calc(100% / 4);
	padding: 0 1em 1em;
	border-bottom: 1px solid #DFDFDF;
	color: #02368E;
}

.constructionCost td{
	padding: 1em;
	border-bottom: 1px solid #DFDFDF;
}

.constructionCostSptitle{
	display: none;
}

.constructionCost_text{
	margin: 1em auto 0;
}

@media(max-width: 750px){

	.constructionCost thead{
		display: none;
	}

	.constructionCost tr{
		display: flex;
		flex-wrap: wrap;
		background-color: #FFF;
		padding: 0.5em 1em;
		margin: 0 auto;
	}

	.section:nth-of-type(odd) .constructionCost tr{
		background-color: #F8FCFF;
	}

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

	.constructionCost td{
		display: block;
		width: 100%;
		padding: 1em 0.5em;
	}

	.constructionCost tr td:last-of-type{
		border-bottom: none;
	}

	.constructionCost td:before{
		color: #02368E;
		font-weight: bold;
	}

	.constructionCost td.constructionCostSphide{
		display: none;
		margin: 0;
		padding: 0;
		border: none;
	}

	.constructionCostSptitle{
		display: block;
		color: #02368E;
		font-weight: bold;
		margin: 0 auto 0.5em;
	}

}

/*---------------------------------
	constructionCost end
---------------------------------*/



/*---------------------------------
	 beforeAfter start
---------------------------------*/

.beforeAfter{
	width: 100%;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
}

.beforeAfter_text{
	display: block;
	width: 45%;
	margin: 0;
	padding-top: calc((1.5em + 0.5em) * 1.25);
}

.beforeAfter_image{
	width: 50%;
	margin: 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.beforeAfter_image--before,
.beforeAfter_image--after{
	display: block;
	width: calc((100% - 8em) / 2);
}

.beforeAfter_image_text{
	display: block;
	width: 100%;
	color: #02368E;
	font-weight: bold;
	text-align: center;
	font-size: 125%;
	margin: 0 auto 0.5em;
}

.beforeAfter_image--after .beforeAfter_image_text{
	color: #F60303;
}

.beforeAfter_imageWrapper{
	overflow: hidden;
	display: block;
	width: 100%;
	margin: 0;
	position: relative;
}

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

.beforeAfter_image--next{
	font-size: 250%;
	color: #BFBFBF;
	margin-top: calc((1.5em + 0.5em) / 2.5 * 1.25);
	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;
	transition: color 0.3s, transform 0.3s;
}

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

@media(max-width: 750px){

	.beforeAfter{
		display: block;
	}

	.beforeAfter_text{
		display: block;
		width: 100%;
		margin: 0 auto 2em;
		padding-top: 0;
	}

	.beforeAfter_image{
		width: 100%;
	}

	.beforeAfter_image--before,
	.beforeAfter_image--after{
		display: block;
		width: calc((100% - 3em) / 2);
	}


	.beforeAfter_image--after .beforeAfter_image_text{
		color: #F60303;
	}

	.beforeAfter_imageWrapper{
		overflow: hidden;
		display: block;
		width: 100%;
		margin: 0;
		position: relative;
	}

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

	.beforeAfter_image--next{
		font-size: 150%;
	}

}

/*---------------------------------
	beforeAfter end
---------------------------------*/



/*---------------------------------
	manufacturerList start
---------------------------------*/

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

.manufacturerList_item{
	display: block;
	margin: 0 2em 0 0;
	flex-grow: 1;
	flex-shrink: 1;
}

.manufacturerList_item:last-of-type{
	margin-right: 0;
}

.manufacturerList_link{
	display: block;
	margin: 0;
	border: 2px solid #02368E;
	color: #FFF;
	background-color: #02368E;
	transition: color 0.3s, background-color 0.3s;
	font-size: 112.5%;
	padding: 1em 1.5em;
}

.manufacturerList_link:hover{
	color: #02368E;
	background-color: #FFF;
	text-decoration: none;
}

.manufacturerList_link:after{
	content: "right";
	font-size: 125%;
	line-height: 1;
	margin: 0 0 0 0.5em;
	color: inherit;
	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: 750px){

	.manufacturerList{
		display: block;
		margin: 0 auto 1em;
	}

	.manufacturerList_item{
		display: block;
		margin: 0 auto 1em;
	}

	.manufacturerList_link{
		font-size: 112.5%;
		padding: 1em 2.5em 1em 1.5em;
		position: relative;
	}

	.manufacturerList_link:after{
		margin: 0;
		position: absolute;
		top: 50%;
		right: calc(1.5em / 1.125);
		-webkit-transform: translateY(-50%);
		-moz-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
		-o-transform: translateY(-50%);
		transform: translateY(-50%);
	}

}

/*---------------------------------
	manufacturerList end
---------------------------------*/



/*---------------------------------
	estimateFlow start
---------------------------------*/

.estimateFlow{
	display: flex;
	align-items: stratch;
	justify-content: space-between;
	width: 100%;
	margin: 0 auto;
	padding: 0;
	list-style: none;
}

.estimateFlow li{
	width: calc((100% - (5em * 2)) / 3);
	position: relative;
	border: 5px solid #B9E3FF;
	padding: 1em;
}

.estimateFlow li:not(:last-of-type):after{
	content: "right";
	font-size: 200%;
	line-height: 1;
	margin: 0;
	color: #02368E;
	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;
	position: absolute;
	top: 50%;
	right: calc((-3.5em * 100 / 200) - 5px);
	transform: translate(-50%, -50%);
}

.estimateFlowItem{
	display: block;
}

.estimateFlow .optionTitle{
	flex-wrap: wrap;
	text-align: center;
	justify-content: center;
}

.estimateFlow .optionTitle_number_num{
	font-size: 350%;
}

.estimateFlow .optionTitle_text{
	font-size: 125%;
	margin: 0 0 0 1em;
	flex-grow: 0;
	flex-shrink: 0;
}

.estimateFlowText{
	margin: 0 auto;
}

.estimateFlowText_line{
	display: inline-block;
	background-color: #07B53B;
	color: #FFF;
	border: 2px solid #07B53B;
	padding: 0.2em 0.3em 0.3em;
	margin-right: 0.2em;
	font-weight: bold;
	transition: background-color 0.3s, color 0.3s;
}

.estimateFlowText_line:hover{
	background-color: #FFF;
	color: #07B53B;
	text-decoration: none;
}

@media(max-width: 750px){

	.estimateFlow{
		display: block;
	}

	.estimateFlow li{
		width: 100%;
		padding: 0;
		border: none;
	}

	.estimateFlow li:not(:last-of-type):after{
		content: "down";
		font-size: 300%;
		position: static;
		transform: translate(0, 0);
		display: block;
		margin: 0.5em auto;
		text-align: center;
	}

	.estimateFlowItem{
		display: block;
		border: 5px solid #B9E3FF;
		padding: 1em;
	}

	.estimateFlow .optionTitle_number_num{
		font-size: 300%;
	}

}

/*---------------------------------
	estimateFlow end
---------------------------------*/



/*---------------------------------
	estimateBlock start
---------------------------------*/

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

.estimateIntroText{
	display: block;
	text-align: left;
	margin: 0;
	font-size: 112.5%;
}

.estimateIntroTextblock{
	display: inline-block;
}

.estimateBlock{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 100%;
	margin: 0 auto;
}

.estimateItem{
	display: block;
	width: calc((100% - 3em) / 2);
	border: 2px solid #DFDFDF;
	background-color: #FFF;
	padding: 1em;
}

.estimateTitle{
	display: inline-block;
	color: #FFF;
	background-color: #02368E;
	font-size: 112.5%;
	font-weight: bold;
	padding: 0.3em 0.5em;
	margin: 0;
}

.estimateItem:last-of-type .estimateTitle{
	background-color: #FF6E00;
}

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

.estimateList li{
	width: 100%;
	margin: 0 auto 0.5em;
}

@media(max-width: 750px){

	.estimateBlock{
		display: block;
	}

	.estimateItem{
		width: 100%;
	}

	.estimateItem:last-of-type{
		margin-top: 2em;
	}

}

/*---------------------------------
	estimateBlock end
---------------------------------*/



/*---------------------------------
	lineBanner start
---------------------------------*/

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

.lineBannerLink{
	display: block;
	width: 210px;
	max-width: 50%;
}

.lineBannerImage{
	display: block;
	width: 100%;
	transition: opacity 0.3s;
}

.lineBannerLink:hover .lineBannerImage{
	opacity: 0.7;
}

@media(max-width: 750px){

	.lineBannerLink{
		width: 100%;
	}

	.lineBannerImage{
		display: block;
		width: 100%;
		height: auto;
	}

}

/*---------------------------------
	lineBanner end
---------------------------------*/



/*---------------------------------
	commonImageLink start
---------------------------------*/

.commonImageLink img{
	transition: opacity 0.3s;
}

.commonImageLink:hover img{
	opacity: 0.7;
}

/*---------------------------------
	commonImageLink end
---------------------------------*/

