/*---------------------------------
	mainvisual start
---------------------------------*/
.mainvisual_itemInner{
	position: relative;
	padding-top: 80vh;
	overflow: hidden;
}

.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;
	text-align: center;
	font-weight: bold;
	font-size: 300%;
	font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
	text-shadow: 
		1px 1px 0.1em #000,
		1px 1px 0.1em #000
		;
	z-index: 110;
}

@media(max-width: 600px){
	.mainvisual_catch{
		padding: 0.5em 1em;
		font-size: 6vw;
	}
}

/*---------------------------------
	mainvisual 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%;
	font-family: ?????, YuGothic, "?????? ProN W3", "Hiragino Kaku Gothic ProN", ????, Meiryo, sans-serif;
	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{
	font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif; 
	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;
}

@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: 2px solid #000;
	margin-bottom: 0.5em;
}

.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: 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_link,
.tilesContentsItem_link:hover{
	display: block;
	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%;
	font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
}

.tilesContentsItemTitle_main,
.tilesContentsItemTitle_sub{
	display: block;
}

.tilesContentsItemTitle_sub{
	font-size: 75%;
}

@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;
	}
	
	.tilesContentsItem_text{
		font-size: 0.85em;
	}
}

@media(max-width: 1024px) and (min-width: 601px){
	.tilesContentsItem_image{
		height: 300px;
	}
}

@media(max-width: 600px){
	.tilesContentsItem_image{
		padding-top: calc(100% / 16 * 9);
	}
}

/*---------------------------------
	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;
}

.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;
	border-radius: 10px;
}

@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: 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(--c-hex-theme);
	color: #FFF;
	font-size: 200%;
	padding: 1em 0.5em;
}

.flowItem_title{
	flex-grow: 0;
	flex-shrink: 0;
	width: 11em;
	font-size: 120%;
	font-weight: bold;
	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: 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%;
}

@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: 5px;
}

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

.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: 2px solid var(--c-hex-theme);
	color: var(--c-hex-theme);
	transition: background-color 0.25s, color 0.25s;
}

.blog_pager a:hover{
	background-color: var(--c-hex-theme);
	color: #FFF;
	text-decoration: none;
}

.blog_pager span{
	background-color: #e6f1fc;
	color: var(--c-hex-theme);
}

.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: 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{
	flex-shrink: 0;
	background: var(--c-hex-theme);
	color: #FFF;
	border: 2px solid var(--c-hex-theme);
	border-radius: 5px;
	display: flex;
	justify-content: center;
	align-items: center;
	transition: all 0.25s;
}

.blogWidgetSearchbox_submit:hover{
	background: #FFF;
	color: var(--c-hex-theme);
}

@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(--c-hex-theme);
	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
---------------------------------*/

/*---------------------------------
	borderTable--personalFee start
---------------------------------*/
.borderTable--personalFee{
	& colgroup col:nth-of-type(1){
		width: 25%;
	}
}

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