/*---------------------------------
	mainvisualSlider start
---------------------------------*/
body{
	margin-top: 0;
}

.mainvisualSliderItem_inner{
	position: relative;
	padding-top: 100vh;
	overflow: hidden;
}

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

.mainvisualSliderItem_catch{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	width: 90%;
	max-height: 100%;
	color: #FFF;
	text-align: center;
	font-size: 300%;
	text-shadow: 
		1px 1px 0.125em #000,
		1px 1px 0.125em #000,
		1px 1px 0.125em #000
		;
	z-index: 102;
}

@media(min-width: 1025px){
	.mainvisualSliderItem_img--tb,
	.mainvisualSliderItem_img--sp{
		display: none;
	}
}

@media(max-width: 1024px){
	.mainvisualSliderItem_img{
		object-position: top right;
	}
	.mainvisualSliderItem_catch{
		font-size: 200%;
	}
}

@media(max-width: 1024px) and (min-width: 601px){
	.mainvisualSliderItem_img--pc.
	.mainvisualSliderItem_img--sp{
		display: none;
	}
}

@media(max-width: 600px){
	.mainvisualSliderItem_img--pc,
	.mainvisualSliderItem_img--tb{
		display: none;
	}
	.mainvisualSliderItem_catch{
		font-size: 5.5vw;
	}
}

/*---------------------------------
	mainvisualSlider end
---------------------------------*/

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

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

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

.contentLinksItem_link{
	transition: background-color 0.5s;
	display: block;
}

.contentLinksItem_link:hover{
	background-color: rgba(41,171,226,0.1);
}

.contentLinksItem_img{
	width: 100%;
	position: relative;
	overflow: hidden;
}

.contentLinksItem_img:before{
	content: "";
	display: block;
	padding-top: 58%;
}

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

.contentLinksItem_link:hover .contentLinksItem_img img{
	transform: scale(1.05);
}

.contentLinksItem_inner{
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1.5em 1em;
}

.contentLinksItem_title{
	font-weight: var(--fontWeightNormal);
	font-size: 120%;
	margin: 0;
	font-weight: var(--fontWeightBold);
}

.contentLinksItem_text{
	font-size: 90%;
}

@media(max-width: 750px){
	.contentLinks{
		flex-direction: column;
	}
	
	.contentLinksItem{
		width: 100%;
		margin-bottom: 1em;
	}
	
	.contentLinksItem_img{
		width: 100%;
		padding-top: 40%;
		position: relative;
	}
	
	.contentLinksItem_inner{
		padding: 1em 0.5em;
	}
	
}

/*---------------------------------
	contentLinks end
---------------------------------*/

/*---------------------------------
	topMessageTexts start
---------------------------------*/
.topMessageTexts{
	margin-bottom: 3em;
}

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

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

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

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

/*---------------------------------
	sideImageContents start
---------------------------------*/
.sideImageContents{
	margin: 5em 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(: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.5em;
	border-bottom: 5px solid #deebf7;
	margin-bottom: 0.5em;
}

.sideImageContentsItemMain_texts{
	margin: 1em 0;
}

.sideImageContentsItemMain_texts--alignRight{
	margin: 1em 0 0;
	display: flex;
	justify-content: flex-end;
}

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

@media(max-width: 750px){
	.sideImageContentsItem{
		flex-direction: column !important;
	}
	
	.sideImageContentsItem:not(:last-of-type){
		margin-bottom: 2em;
	}
	
	.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
---------------------------------*/

/*---------------------------------
	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% / 2 - 1px);
	margin: 0;
}

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

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

.tilesContentsItem_image{
	width: 100%;
	padding-top: calc(100% / 16 * 9);
	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,
.tilesContentsItemTitle_sub{
	display: block;
}

.tilesContentsItemTitle_sub{
	font-size: 75%;
}

@media(max-width: 860px){
	.tilesContentsItem{
		width: 100%;
	}
	
	.tilesContentsItem_inner{
		padding: 0 0 2em;
	}
	
	.tilesContentsItem:nth-of-type(2n) .tilesContentsItem_inner{
		background-color: #F0F0F0;
	}
	
	.tilesContentsItem:nth-of-type(2n + 1) .tilesContentsItem_inner{
		background-color: #FAFAFA;
	}
	
	.tilesContentsItemTitle{
		font-size: calc(150% * 0.9);
		margin: 1em 0;
	}
	
	.tilesContentsItem_text{
		font-size: 0.85em;
	}
}

/*---------------------------------
	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: var(--fontWeightBold);
	margin: 1em 0;
	text-align: right;
}

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

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

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

@media(max-width: 750px){
	.message{
		flex-direction: column-reverse;
	}
	
	.messageTexts{
		width: 100%;
		margin: 1em 0;
		font-size: 0.85em;
	}
	
	.messageTexts_name{
		font-size: 125%;
	}
	
	.messageImage{
		width: 100%;
	}
	
	.messageImage_inner{
		padding-top: calc(100% / 16 * 9);
	}
}

/*---------------------------------
	message 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: var(--fontWeightBold);
	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: #000;
	color: #FFF;
	font-size: 200%;
	padding: 1em 0.5em;
}

.flowItem_title{
	flex-grow: 0;
	flex-shrink: 0;
	width: 7em;
	font-size: 150%;
	font-weight: var(--fontWeightBold);
	padding: 0.5em 1em;
}

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

@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%;
		margin-bottom: 0.5em;
	}
	
	.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: var(--fontWeightBold);
}

.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: var(--fontWeightBold);
}

.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{
	display: block;
	width: 100%;
	margin: 0;
}

.guidelinesTitle{
}

.guidelinesTable th{
	font-weight: var(--fontWeightBold);
	padding: 1rem 0.5rem;
	border-top: 1px solid #BFBFBF;
	border-bottom: 1px solid #BFBFBF;
	width: 25%;
	min-width: 6em;
	vertical-align: top;
	font-size: 112.5%;
}

.guidelinesTable td{
	padding: 1em 0.5em;
	border-top: 1px solid #BFBFBF;
	border-bottom: 1px solid #BFBFBF;
}

.guidelinesMap{
	display: block;
	width: 100%;
	height: 450px;
	position: relative;
	margin: 1em 0 0;
}

.guidelinesMap iframe{
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: 0;
}

@media(max-width: 540px){
	.guidelinesTable th{
		padding: 1rem 0.5rem 0.5rem;
		display: block;
		border-bottom: none;
		width: 100%;
	}
	.guidelinesTable td{
		padding: 0 0.5em 1em;
		border-top: none;
		display: block;
		width: 100%;
	}
	.guidelinesMap{
		height: 50vh;
	}
}

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

/*---------------------------------
	contactTelFax start
---------------------------------*/
.contactTelFax{
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	gap: 1em;
}

.contactTelFax_item{
	margin: 0 2em;
}

.contactTelFax_no{
	font-size: 200%;
	margin: 0;
}

@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;
}

.mailformText--finish{
	display: flex;
	justify-content: center;
	margin: 0 auto 3em;
}

@media(max-width: 750px){
	.mailformText{
		font-size: 85%;
	}
}

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

/*---------------------------------
	mailformTable start
---------------------------------*/
.mailformWrapper{
	display: block;
	width: 100%;
	margin: 0 auto;
	padding: 1em 2em;
	background-color: #FFF;
}

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

.mailformTable tr{
	border-top: 1px solid #BFBFBF;
	border-bottom: 1px solid #BFBFBF;
}

.mailformTable tr,
.mailformTable th,
.mailformTable td{
	padding: 1em;
	border-top: 1px solid #BFBFBF;
	border-bottom: 1px solid #BFBFBF;
}

.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: var(--fontWeightBold);
	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;
	line-height: 2;
}

.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: 1024px){
	.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;
}

.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 li{
	margin: 0.25em;
}

.blog_pager li a,
.blog_pager li span{
	display: block;
	padding: 0.25em 0.5em;
	border: 1px solid #000;
	color: #000;
}

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

.blog_pager li 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{
	content: "＞";
	position: absolute;
	top: 0;
	left: 0;
	font-weight: var(--fontWeightBold);
}

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

.blogWidget_title{
	font-size: 120%;
	font-weight: var(--fontWeightBold);
	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-color: #777;
	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.25em;
	position: relative;
	font-size: 100%;
	margin-bottom: 0.5em;
}

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

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

/*---------------------------------
	textMessage start
---------------------------------*/

.textMessage{
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	width: 100%;
	margin: 0 auto;
}

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

/*---------------------------------
	textMessage end
---------------------------------*/

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

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

.linkBannerLink{
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 100 / 38;
	position: relative;
	text-decoration: none;
	padding: 1em;
	min-width: 30em;
	overflow: hidden;
}

@media(max-width: 540px){
	.linkBannerLink{
		width: 100%;
		min-width: 100%;
	}
}

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

.linkBannerLink:before{
	content: "";
	display: block;
	background-color: rgba(0,0,0,0.2);
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 2;
	opacity: 0;
	transition: opacity 0.25s;
}

.linkBannerLink:hover:before{
	opacity: 1;
}

.linkBannerLink:after{
	content: "";
	display: block;
	background-color: rgba(0,0,0,0.2);
	border: 1px solid #FFF;
	position: absolute;
	top: 1em;
	right: 1em;
	bottom: 1em;
	left: 1em;
	z-index: 3;
}

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

.linkBannerLink:hover .linkBannerImage{
	transform: scale(1.05);
}

.linkBannerText{
	color: #FFF;
	font-weight: var(--fontWeightBold);
	position: relative;
	font-size: 150%;
	z-index: 4;
}

@media(max-width: 540px){
	.linkBannerText{
		font-size: 125%;
	}
}

/*---------------------------------
	linkBanner end
---------------------------------*/

/*---------------------------------
	companyTable start
---------------------------------*/

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

.companyTable th{
	width: 30%;
	padding: 1em;
}

.companyTable td{
	width: 70%;
	padding: 1em;
}

/*---------------------------------
	companyTable end
---------------------------------*/

/*---------------------------------
	flowList start
---------------------------------*/

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

.flowList{
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 2em;
	margin: 0 auto;
	padding: 2em;
	background-color: #FFF;
	list-style: none;
	counter-reset: listNum 0;
}

.flowListItem{
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 2em 0;
	width: 100%;
	counter-increment: listNum 1;
}

.flowListItem:before{
	content: counter(listNum);
	display: block;
	width: 1.5em;
	font-size: 175%;
	font-weight: var(--fontWeightBold);
	line-height: 1;
	color: #2693FF;
}

.flowListItem:not(:last-of-type):after{
	content: "down";
	display: block;
	font-size: 200%;
	width: 100%;
	text-align: center;
	line-height: 1;
	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;
}

.flowListInner{
	width: calc(100% - (1.5em * 1.75));
	border-bottom: 1px solid #DFDFDF;
	padding: 0 0.5em 1em;
}

.flowListTitle{
	width: 100%;
	font-size: 112.5%;
	font-weight: var(--fontWeightBold);
	margin: 0 auto 0.5em;
}

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

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

/*---------------------------------
	pointList start
---------------------------------*/

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

.pointList--2col{
	gap: 7em;
}

.pointListItem{
	display: flex;
	flex-direction: column;
	aligm-items: flex-start;
	justify-content: flex-start;
	gap: 1em;
	width: calc((100% - (2em * 2)) / 3);
	border: 2px solid #2693ff;
	background-color: #FFF;
	padding: 1.5em;
	border-radius: 0.5em;
}

.pointList--2col .pointListItem{
	width: calc((100% - 7em) / 2);
}

.pointListTitle{
	font-size: 100%;
	color: inherit;
	margin: 0;
}

.pointListTitle--num{
	font-weight: var(--fontWeightNormal);
	background: linear-gradient(transparent 60%, var(--themeSubColor) 60%, var(--themeSubColor) 90%, transparent 90%);
	padding: 0 0.25em 0.25em;
}

.pointListTitle--text{
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 0;
	font-size: 150%;
	font-weight: var(--fontWeightBold);
	margin: 0.25em 0 0;
	min-height: calc(2em * 1.5);
}

.pointListContent{
	display: flex;
	flex-direction: column;
	aligm-items: flex-start;
	justify-content: flex-start;
	gap: 0.5em;
	margin: 0;
}

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

@media(max-width: 1024px){
	.pointList,
	.pointList--2col{
		flex-direction: column;
		gap: 3em;
	}
	.pointListItem,
	.pointList--2col .pointListItem{
		width: 100%;
	}
}


/*---------------------------------
	pointList end
---------------------------------*/

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

.costLayout{
	display: flex;
	flex-wrap: nowrap;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 5em 2em;
	width: 100%;
	margin: 0 auto;
}

.costLayout--wrap{
	flex-wrap: wrap;
	gap: 5em;
	justify-content: center;
}

.costItem{
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	flex-grow: 1;
	flex-shrink: 0;
}

.costLayout--wrap .costItem{
	flex-grow: 0;
}

.costContent{
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	font-size: 125%;
	color: inherit;
	margin: 0 0 1em;
}

.costContentText{
	font-weight: var(--fontWeightNormal);
	background: linear-gradient(transparent calc(90% - (1.5em * 0.4)), var(--themeSubColor) calc(90% - (1.5em * 0.4)), var(--themeSubColor) 90%, transparent 90%);
	padding: 0 1em 0.25em;
	width: 100%;
	text-align: center;
}

.costNum{
	display: flex;
	flex-wrap: nowrap;
	align-items: baseline;
	justify-content: center;
	gap: 0.25em;
	font-size: 250%;
	margin: 0;
}

.costNum--main{
	font-size: 100%;
	font-weight: var(--fontWeightBold);
}

.costNum--sub{
	font-size: 50%;
	font-weight: var(--fontWeightNormal);
}

@media(max-width: 1024px){
	.costNum{
		font-size: 200%;
	}
}

.costText{
	font-size: 125%;
	margin: 0 0 0.5em;
}

.costSubText{
	font-size: 87.5%;
	width: auto;
	margin: 0;
}

.costArrow{
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	align-self: stretch;
	gap: 0.5em 0;
	flex-grow: 0;
	flex-shrink: 0;
}

.costArrowText{
	font-size: 100%;
	margin: 0;
}

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

@media(max-width: 1024px){

	.costLayout,
	.costLayout--wrap{
		align-items: flex-start;
		justify-content: flex-start;
		flex-direction: column;
		gap: 3em;
	}

	.costItem{
		width: 100%;
		flex-grow: 0;
		flex-shrink: 0;
	}

	.costArrowIcon{
		transform: rotate(90deg);
	}

}


/*---------------------------------
	pointList end
---------------------------------*/


/*---------------------------------
	newsPickup start
---------------------------------*/
.newsPickup{
	padding: 1rem 2rem;
	background-color: #FFF;
	border: 1px solid #BFBFBF;
	height: calc(((1em * 1.5) + (1em * 2)) * 5);
	overflow: auto;
}

.newsPickupList{
	display: block;
	padding: 0;
}

.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;
		gap: 0.5em 2em;
	}
}

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