/*---------------------------------
	buttons start
---------------------------------*/

.buttons{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	font-size: 100%;
	margin: 0;
	padding: 0;
}

.buttons--alignLeft{
	justify-content: flex-start;
}

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

.buttons a{
	text-decoration: none;
}

.buttons input{
	-webkit-box-sizing: content-box;
	-webkit-appearance: button;
	appearance: button;
	box-sizing: border-box;
	cursor: pointer;
}

.buttons input::-webkit-search-decoration{
	display: none;
}

.buttons input::focus{
	outline-offset: -2px;
}

/*---------------------------------
	buttons end
---------------------------------*/



/*---------------------------------
	simpleTitle start
---------------------------------*/

.simpleTitle{
	font-weight: normal;
}

.simpleTitle--size110{
	font-size: 110%;
}

.simpleTitle--size125{
	font-size: 125%;
}

.simpleTitle--size150{
	font-size: 150%;
}

.simpleTitle--size175{
	font-size: 175%;
}

.simpleTitle--size200{
	font-size: 200%;
}

.simpleTitle--size225{
	font-size: 225%;
}

@media(max-width: 600px){

	.simpleTitle--spSize100{
		font-size: 100%;
	}

	.simpleTitle--spSize110{
		font-size: 110%;
	}

	.simpleTitle--spSize125{
		font-size: 125%;
	}

	.simpleTitle--spSize150{
		font-size: 150%;
	}

}

.simpleTitle--alignCenter{
	text-align: center;
}

.simpleTitle--weightBold{
	font-weight: bold;
}

.simpleTitle--colorMain{
	color: #1f4e79;
}

/*---------------------------------
	simpleTitle end
---------------------------------*/



/*---------------------------------
	sectionTitle start
---------------------------------*/

.sectionTitle{
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	margin: 0 auto 2em;
	padding: 0 0 0.5em;
	font-size: 200%;
	position: relative;
}

.sectionTitle_text{
	position: relative;
	z-index: 2;
	margin: 0;
	text-shadow: 0 2px 0 #FFF;
}

.sectionTitle:before{
	content: "";
	display: block;
	width: 3em;
	height: 0.3em;
	background-color: #B9E3FF;
	position: absolute;
	bottom: 0;
	left: 50%;
	z-index: 1;
	-webkit-transform: translateX(-50%);
	-moz-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	-o-transform: translateX(-50%);
	transform: translateX(-50%);
}

@media(max-width: 600px){

	.sectionTitle{
		padding: 0 0 0.4em;
		font-size: 125%;
	}

}


.contentTitle{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	width: 100%;
	margin: 4em auto 1em;
	padding: 0;
	position: relative;
}

.contentTitle:first-child{
	margin-top: 0;
}

.contentTitle_text{
	border-bottom: 2px solid #02368E;
	padding: 0 2.5em 0.5em 0.5em;
	font-size: 150%;
}

@media(max-width: 600px){

	.contentTitle_text{
		width: 100%;
		padding: 0 0.5em 0.5em;
	}

}

/*---------------------------------
	simpleTitle end
---------------------------------*/



/*---------------------------------
	frameButton start
---------------------------------*/

.frameButton{
	padding: 0.75em 2em;
	margin: 0 1em 1em;
	text-align: center;
	font-size: 90%;
	color: #000;
	border: 1px solid #000;
	background-color: transparent;
	outline: none;
	transition: all 0.3s;
}

.frameButton--margin0{
	margin: 0;
}

.frameButton:hover{
	color: #FFF;
	background-color: #02368E;
	border: 1px solid #02368E;
}

.frameButton--viewmore{
	width: 15em;
	max-width: 100%;
}

/*---------------------------------
	frameButton end
---------------------------------*/



/*---------------------------------
	blockButton start
---------------------------------*/

.blockButton,
.blockButton:focus{
	padding: 0.75em 2em;
	margin: 0 1em 1em;
	text-align: center;
	color: #FFF;
	border: 2px solid #02368E;
	background-color: #02368E;
	outline: none;
	transition: all 0.3s;
}

.blockButton--margin0{
	margin: 0;
}

.blockButton:hover{
	color: #02368E;
	background-color: #FFF;
}

.blockButton--next:after{
	content: "right";
	color: inherit;
	line-height: 1;
	display: inline-block;
	margin: 0 0 0 0.5em;
	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;
}

.blockButton--prev:before{
	content: "left";
	color: inherit;
	line-height: 1;
	display: inline-block;
	margin: 0 0.5em 0 0;
	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;
}

/*---------------------------------
	blockButton end
---------------------------------*/



/*---------------------------------
	buttonIcon start
---------------------------------*/

.buttonIcon{
	display: flex;
	align-items: center;
	justify-content: center;
}

.buttonIcon:before,
.buttonIcon:after{
	color: inherit;
	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;
}

.buttonIcon--next:after{
	content: "right";
	display: inline-block;
	margin: 0 0 0 0.75em;
}

/*---------------------------------
	buttonIcon end
---------------------------------*/



/*---------------------------------
	kentwebFooter start
---------------------------------*/

.kentFooter{
	text-align: center;
	margin: 0;
	padding: 0.5em 0;
	background: #02368E;
	border-top: 1px solid #FFF;
	color: #FFF;
	font-size: 100%;
}

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

/*---------------------------------
	kentwebFooter end
---------------------------------*/



/*---------------------------------
	texts start
---------------------------------*/

.texts--alignCenter{
	text-align: center;
}

.texts--alignRight{
	text-align: right;
}

.texts--size90{
	font-size: 90%;
}

.texts--size110{
	font-size: 110%;
}

.texts--size125{
	font-size: 125%;
}

.texts--size150{
	font-size: 150%;
}

.texts--size175{
	font-size: 175%;
}

.texts--size200{
	font-size: 200%;
}

.texts--size250{
	font-size: 250%;
}

@media(max-width: 600px){

	.texts--spSize100{
		font-size: 100%;
	}

	.texts--spSize110{
		font-size: 110%;
	}

	.texts--spSize125{
		font-size: 125%;
	}

	.texts--spSize150{
		font-size: 150%;
	}

	.texts--spSize175{
		font-size: 175%;
	}

	.texts--spSize200{
		font-size: 200%;
	}

}

.texts--colorPink{
	color: #e94187;
}

.texts--weightBold{
	font-weight: bold;
}

.texts--lineHeight100{
	line-height: 100%;
}

.texts--lineHeight200{
	line-height: 200%;
}

.texts--indent1{
	padding-left: 1em;
}

.texts--indent2{
	padding-left: 2em;
}

.texts > *{
	margin: 0 0 1em;
}

.texts--margin0 > *{
	margin: 0;
}

.texts--lastMargin0 > *:last-of-type{
	margin: 0;
}

.texts_text--colorBlack{
	color: #000;
}

.texts_text--weightBold{
	font-weight: bold;
}

.texts_text--size110{
	font-size: 110%;
}

.texts_text--size125{
	font-size: 125%;
}

.texts_text--size150{
	font-size: 150%;
}

.texts_text--size175{
	font-size: 175%;
}

.texts_text--size200{
	font-size: 200%;
}

.texts_text--size225{
	font-size: 225%;
}

.texts_text--size250{
	font-size: 250%;
}

.texts_text--alignRight{
	text-align: right;
}

.texts_icon:before{
	margin: -0.1em 0.1em 0;
	line-height: 100%;
	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;
}

.texts_icon--phone:before{
	content: "phone";
}

/*---------------------------------
	texts end
---------------------------------*/



/*---------------------------------
	textLink start
---------------------------------*/

.textLink{
	text-decoration: underline;
}

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

/*---------------------------------
	textLink end
---------------------------------*/



/*---------------------------------
	basicTable start
---------------------------------*/

.basicTable{
	width: 100%;
}

.basicTable > tbody > tr > th{
	padding: 1em;
	font-weight: normal;
}

.basicTable > tbody > tr > td{
	padding: 1em;
}

.basicTable--vertialAlignMiddle > tbody > tr > th,
.basicTable--vertialAlignMiddle > tbody > tr > td{
	vertical-align: middle;
}

.basicTable--vertialAlignTop > tbody > tr > th,
.basicTable--vertialAlignTop > tbody > tr > td{
	vertical-align: top;
}

.basicTable--horizontalLine > tbody > tr{
	border-bottom: 1px solid #CCC;
}

.basicTable--horizontalLine > tbody >  tr:first-of-type{
	border-top: 1px solid #CCC;
}

.basicTable--horizontalLine > tbody >  tr:first-of-type{
	border-top: 1px solid #CCC;
}

.basicTable--rowBottomDottedLine > tbody > tr{
	border-bottom: 2px dotted #CCC;
}

.basicTable--bgAlternate > tbody > tr:nth-of-type(2n + 1){
	background-color: rgba(0,0,0,0.05);
}

.basicTable--headFontColorLightPink > tbody > tr > th{
	color: #df99b6;
}

.basicTable--headBgLightPink > tbody > tr > th{
	background-color: #fbd1f0;
}

.basicTable--headAlignCenter > tbody > tr > th{
	text-align: center;
}

.basicTable--borderAllSides > tbody > tr > th,
.basicTable--borderAllSides > tbody > tr > td{
	border: 1px solid #CCC;
}

@media(max-width: 600px){

	.basicTable--responsive1Column > tbody > tr > tr{
		display: block;
		width: 100%;
		padding: 0.5em 0.5em
	}

	.basicTable--responsive1Column > tbody > tr > th{
		display: block;
		width: 100%;
		margin: 0.5em 0;
		padding: 0;
	}

	.basicTable--responsive1Column > tbody > tr > td{
		display: block;
		width: 100%;
		margin: 0.5em 0;
		padding: 0;
	}

}

.basicTableTextIndent{
	display: block;
	padding-left: 0.5em;
}

.basicTable_headText--sub{
	display: block;
	font-size: 80%;
}

/*---------------------------------
	basicTable end
---------------------------------*/



/*---------------------------------
	simpleImageBlock start
---------------------------------*/

.simpleImageBlock{
	max-width: 100%;
}

.simpleImageBlock--width100{
	width: 100%;
}

/*---------------------------------
	simpleImageBlock end
---------------------------------*/



/*---------------------------------
	basicList start
---------------------------------*/

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

.basicList > li{
	position: relative;
	margin: 0 0 0.25em;
	padding: 0 0 0 1em;
}

.basicList > li:before{
	content: "・";
	position: absolute;
	top: 0;
	left: 0;
}

.basicList--size125{
	font-size: 125%;
}

.basicList--size150{
	font-size: 150%;
}

.basicList--markerDot > li:before{
	content: "・";
}

.basicList--markerCircle > li:before{
	content: "●";
}

/*---------------------------------
	basicList end
---------------------------------*/



/*---------------------------------
	imageFrame start
---------------------------------*/

.imageFrame{
	position: relative;
	width: 100%;
	background-color: #CCC;
}

.imageFrame--ratio4to3{
	padding-top: calc(100% / 4 * 3);
}

.imageFrame--ratio5to3{
	padding-top: calc(100% / 5 * 3);
}

.imageFrame--radius{
	border-radius: 1em;
	overflow: hidden;
}

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

.imageFrame--fitContain .imageFrame_image{
	object-fit: contain;
}

/*---------------------------------
	imageFrame end
---------------------------------*/



/*---------------------------------
	simpleImageLayout start
---------------------------------*/

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

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

.simpleImageLayout_image{
	max-width: 100%;
}

.simpleImageLayout_image--borderSimple{
	border: 1px solid #000;
}

/*---------------------------------
	simpleImageLayout end
---------------------------------*/



/*---------------------------------
	gmap start
---------------------------------*/

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

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

/*---------------------------------
	gmap end
---------------------------------*/



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

.mainvisual{
	position: relative;
	width: 100%;
	padding-top: 46%;
	overflow: hidden;
}

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

.mainvisual_bg:before{
	content: '';
	position: absolute;
	z-index: 125;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.mainvisual_bg .swiper-container{
	height: 100%;
}


.mainvisualSlideImage{
	position: relative;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.mainvisualSlideImage--topLeft{
	object-position: left top;
}

.mainvisualCatch{
	position: absolute;
	top: 50%;
	left: 50%;
	max-width: 1200px;
	color: #FFF;
	font-size: 100%;
	transform: translate(-50%, -50%);
	z-index: 150;
	background-color: rgba(255,255,255,0.8);
	padding: 2em 3em 3em;
	border-radius: 1em;
}

/*
.mainvisualCatch:before{
	content: "";
	display: block;
	width: calc(100vw * 0.32);
	height: calc(100vw * 0.32);
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background-color: #FFF;
	border-radius: 50%;
	opacity: 0.6;
	z-index: 1;
}
*/

.mainvisualCatch_main{
	position: relative;
	text-align: center;
	z-index: 2;
}

.mainvisualCatch_logo{
	margin: 0 auto 1.5em;
}

.mainvisualCatch_text{
	margin: 0;
	transform-origin: center top;
	text-align: center;
}

.mainvisualCatch_text--main{
	display: flex;
	flex-wrap: nowrap;
	align-items: stratch;
	justify-content: flex-start;
	margin: 0 auto;
}

.mainvisualCatch_text--main span{
	color: #FFF;
	font-weight: bold;
	background-color: #FF6E00;
	flex-grow: 1;
	flex-shrink: 1;
	font-size: 2.4vw;
	padding: 0.3em 0.5em;
	white-space: nowrap;
	border-radius: 0.5em;
}

.mainvisualCatch_text--main span:not(:last-of-type){
	margin-right: 0.5em;
}

.mainvisualIntro{
	display: flex;
	justify-content: center;
	position: relative;
	font-size: 1.8vw;
	margin: 0 auto 1.5em;
}

.mainvisualIntro_wrap{
	display: block;
	text-align: center;
	font-size: 100%;
	position: relative;
}

.mainvisualIntro_text{
	display: block;
	text-align: center;
	font-size: 100%;
	font-weight: bold;
	line-height: 1.2;
	margin: 0;
	padding: 0 0.5em;
	white-space: nowrap;
	position: relative;
	z-index: 2;
}

.mainvisualIntro_wrap:after{
	content: "";
	display: block;
	width: 100%;
	height: calc(1.4em / 1.8 * 2.4);
	background-color: #02358E;
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1;
	border-radius: 0.5em;
}

.mainvisualCatch_emphasis{
	font-size: calc(100% / 1.8 * 2.4);
	display: inline-block;
	margin-right: 0.4rem;
}

.mainvisualCatch_name{
	display: inline-block;
	font-size: calc(200% / 1.8 * 2.4);
	position: relative;
	margin: 0 0.4rem;
	-webkit-text-stroke: 0.2em #02358E;
	text-stroke: 0.2em #02358E;
}

.mainvisualCatch_name--outline{
	display: inline-block;
	font-size: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	-webkit-text-stroke: 0;
	text-stroke: 0;
}

.mainvisualCatch_text--point{
	color: #333;
	font-weight: bold;
	text-align: center;
	margin: 1em auto 0;
	font-size: 1.6vw;
	white-space: nowrap;
}

@keyframes mainvisualAnimationFadein{

	0%{
		transform: translate(-3rem,0);
		opacity: 0;
	}

	100%{
		transform: translate(0,0);
		opacity: 1;
	}

}

@keyframes mainvisualAnimationFadeout{

	0%{
		transform: translate(0,0);
		opacity: 1;
	}

	100%{
		transform: translate(3rem,0);
		opacity: 0;
	}

}

@media(max-width: 750px){

	.mainvisual{
		padding-top: 75%;
	}

	.mainvisualCatch{
		border-radius: 0.5em;
	}

	.mainvisualCatch_sp{
		display: block;
		color: #02358E;
	}

	.mainvisualCatch_emphasis{
		margin-right: 0.1rem;
	}

	.mainvisualCatch{
		padding: 1em;
		font-size: 1rem;
	}

	.mainvisualCatch_text--main span{
		font-size: 1rem;
	}

	.mainvisualIntro{
		font-size: 0.9rem;
		margin: 0 auto 1em;
	}

	.mainvisualIntro_wrap:after{
		height: 1.5em;
		border-radius: 0.2em;
	}

	.mainvisualCatch_name{
		font-size: 200%;
		-webkit-text-stroke: 0.3em #02358E;
		text-stroke: 0.3em #02358E;
		margin-left: 0;
	}

	.mainvisualCatch_text--point{
		font-size: 0.9rem;
		margin-top: 1em;
	}

	.mainvisualCatch_text--point span{
		display: block;
	}

}

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



/*---------------------------------
	effectin start
---------------------------------*/

.effectin--fadein{
	opacity: 0;
}

.effectin--fadein.is-effectinActive{
	animation: effectinFadein 0.5s 0s both;
}

@keyframes effectinFadein{

	0%{
		opacity: 0;
	}

	100%{
		opacity: 1;
	}

}

.effectin--delay1.is-effectinActive{
	animation-delay: 0.25s;
}

.effectin--delay2.is-effectinActive{
	animation-delay: 0.5s;
}

.effectin--delay3.is-effectinActive{
	animation-delay: 0.75s;
}

@media(max-width: 600px){

	.effectin--spDelay0.is-effectinActive{
		animation-delay: 0s;
	}

}

/*---------------------------------
	effectin start
---------------------------------*/



/*---------------------------------
	sidePhotoLayout start
---------------------------------*/

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

.sidePhotoLayout_photo{
	flex-grow: 0;
	flex-shrink: 0;
	width: 40%;
	padding: 0 1.5em;
}

.sidePhotoLayout--photoLeft .sidePhotoLayout_photo{
	order: 0;
}

.sidePhotoLayout--photoRight .sidePhotoLayout_photo{
	order: 1;
}


.sidePhotoLayout_photo--padding0{
	padding: 0;
}

.sidePhotoLayout_content{
	flex-grow: 0;
	flex-shrink: 0;
	width: 50%;
	padding: 0;
}

.sidePhotoLayout_content--topMargin1{
	padding-top: 1em;
}

.sidePhotoLayout_content--topMargin2{
	padding-top: 2em;
}

.sidePhotoLayout_content--topMargin3{
	padding-top: 3em;
}

.sidePhotoLayout--photoLeft .sidePhotoLayout_content{
	order: 1;
	margin-left: 5%;
}

.sidePhotoLayout--photoRight .sidePhotoLayout_content{
	order: 0;
	margin-right: 5%;
}

@media(max-width: 1024px){

	.sidePhotoLayout{
		flex-direction: column;
		align-items: center;
		width: 100%;
		max-width: 30em;
		margin: 0 auto;
	}

	.sidePhotoLayout_photo{
		width: 100%;
		margin: 0;
		padding: 0;
	}

	.sidePhotoLayout_content{
		width: 100%;
		margin: 0 0 2.5em;
		padding: 0;
		padding: 0;
	}

}

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

.sidePhotoLayout_photoWrapper--ratio4to3{
	padding-top: calc(100% / 4 * 3);
}

.sidePhotoLayout_photoWrapper--ratio5to3{
	padding-top: calc(100% / 5 * 3);
}

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

.sidePhotoLayout_photoImg--top{
	object-position: center top;
}

@media(max-width: 750px){

	.sidePhotoLayout{
		display: block;
	}

	.sidePhotoLayout_photo{
		width: 100%;
	}

	.sidePhotoLayout_content,
	.sidePhotoLayout--photoLeft .sidePhotoLayout_content,
	.sidePhotoLayout--photoRight .sidePhotoLayout_content{
		width: 100%;
		margin: 1em auto 0;
		padding: 0;
	}

}

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



/*---------------------------------
	photoContents start
---------------------------------*/

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

.photoContents_item{
	margin-bottom: 1.5em;
}

@media(min-width: 1025px){

	.photoContents_item{
		width: calc(100% / 3 - 2.5% - 1px);
	}

	.photoContents_item:not(:nth-of-type(3n)){
		margin-right: calc(2.5% * 3 / 2);
	}

}

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

	.photoContents_item{
		width: calc(100% / 2 - 2.5% - 1px);
	}

	.photoContents_item:not(:nth-of-type(2n)){
		margin-right: calc(2.5% * 2);
	}

}

@media(max-width: 600px){

	.photoContents_item{
		width: 100%;
	}

}

.photoContents_imageFrame{
	position: relative;
	width: 100%;
	padding-top: calc(100% / 5 * 3);
	border: 2px solid #CCC;
	background-color: #FFF;
}

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

.photoContents_texts{
	padding: 0.5em;
}

.photoContents_texts p{
	margin-bottom: 1em;
}

/*---------------------------------
	photoContents end
---------------------------------*/



/*---------------------------------
	wideBannars start
---------------------------------*/

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

.wideBannarsItem{
	width: calc(100% / 3 - 1px);
	margin: 0 0 2px;
}

@media(min-width: 601px){

	.wideBannars--col2 .wideBannarsItem{
		width: calc(100% / 2 - 1px);
	}

	.wideBannars--col3 .wideBannarsItem{
		width: calc(100% / 3 - 1px);
	}

}

@media(max-width: 600px){

	.wideBannars{
		flex-direction: column;
	}

	.wideBannarsItem{
		width: 100%;
	}

}

.wideBannarsItem_inner{
	position: relative;
	height: 25vw;
	overflow: hidden;
}

@media(max-width: 1024px){

	.wideBannarsItem_inner{
		height: 35vw
	}

}

@media(max-width: 600px){

	.wideBannarsItem_inner{
		height: 45vw
	}

}

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

.wideBannearsItem_link:hover .wideBannarsItem_bg{
	transform: scale(1.1);
}

.wideBannarsItem_overlay{
	position: absolute;
	top: 0;
	left: 0;
	z-index: 110;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.5);
}

.wideBannarsItem_title{
	position: absolute;
	top: 50%;
	left: 0;
	z-index: 115;
	width: 100%;
	margin: 0;
	text-align: center;
	color: #FFF;
	font-size: 150%;
	transform: translate(0, -50%);
}

@media(max-width: 600px){

	.wideBannarsItem_title{
		font-size: 125%;
	}

}

/*---------------------------------
	wideBannars end
---------------------------------*/



/*---------------------------------
	contactBlock start
---------------------------------*/

.contactBlock{
	border: 1px solid #000;
	padding: 1.5em 2em 2em;
}

@media(max-width: 600px){

	.contactBlock{
		padding: 1em;
	}

}

.contactBlock_inner{
	display: flex;
	align-items: center;
	justify-content: space-around;
	flex-wrap: wrap;
	width: 100%;
	max-width: 800px;
	margin: 0 auto;
}

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

@media(max-width: 600px){

	.contactBlock_texts{
		font-size: 90%;
		margin: 0 0 0.5em;
	}

}

.contactBlock_texts p{
	text-align: center;
	margin: 0 0 0.5em;
}

.contactBlock_tel{
	margin: 0.5em 1em;
}

@media(max-width: 600px){

	.contactBlock_tel{
		margin: 0.5em 0;
	}

}

.contactBlock_telNum{
	display: block;
	font-size: 225%;
	line-height: 125%;
	color: inherit;
}

@media(max-width: 600px){

	.contactBlock_telNum{
		font-size: 225%;
		text-align: center;
	}

}

.contactBlock_telNum:before{
	content: "phone";
	margin: 0 0.125em 0 0;
	font-size: 125%;
	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;
}

.contactBlock_telSub{
	margin: 0.5em 0;
}

@media(max-width: 600px){

	.contactBlock_telSub{
		text-align: center;
	}

}

.contactBlock_mailform{
	margin: 0.5em 1em;
}

@media(max-width: 600px){

	.contactBlock_mailform{
		margin: 0.5em 0;
	}

}

.contactBlock_mailformButton{
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: nowrap;
	max-width: 100%;
	width: 22em;
	padding: 0.5em 1em;
	color: #000;
	border: 1px solid #000;
	transition: color 0.25s, background-color 0.25s;
}

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

.contactBlock_mailformButton:before{
	content: "mail";
	margin: 0 0.5em 0 0;
	font-size: 200%;
	line-height: 100%;
	font-family: 'LigatureSymbols' !important;
	-webkit-text-rendering: optimizeLegibility;
	-moz-text-rendering: optimizeLegibility;
	-ms-text-rendering: optimizeLegibility;
	-o-text-rendering: optimizeLegibility;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	-moz-font-smoothing: antialiased;
	-ms-font-smoothing: antialiased;
	-o-font-smoothing: antialiased;
	font-smoothing: antialiased;
	-webkit-font-feature-settings: "liga" 1, "dlig" 1;
	-moz-font-feature-settings: "liga=1, dlig=1";
	-ms-font-feature-settings: "liga" 1, "dlig" 1;
	-o-font-feature-settings: "liga" 1, "dlig" 1;
	font-feature-settings: "liga" 1, "dlig" 1;
}


@media(max-width: 600px){

	.contactBlock_mailformButton{
		flex-direction: column;
		align-items: center;
		padding: 0.5em;
	}

	.contactBlock_mailformButton:before{
		margin: 0 0 0.125em;
		font-size: 300%;
	}

}

/*---------------------------------
	contactBlock end
---------------------------------*/



/*---------------------------------
	contactTelLink start
---------------------------------*/

.contactTelLink[href]{
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 250%;
	color: #e94187;
	text-align: center;
}

.contactTelLink[href]:before{
	content: "phone";
	font-size: 125%;
	margin-right: 0.25em;
	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){

	.contactTelLink[href]{
		font-size: 200%;
	}

}

/*---------------------------------
	contactTelLink end
---------------------------------*/



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

.mailformTable{
	width: 100%;
	font-size: 110%;
}

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

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

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

@media(min-width: 601px){

	.mailformTable_cell--required,
	.mailformTable_cell--optional{
		padding: 1.25em 4.25em 1.25em 1em;
	}

}

.mailformTable_cell--required:after{
	position: absolute;
	top: calc(1.5em / 75 * 100);
	right: 0;
	display: inline-block;
	padding: 0.1em 0.5em;
	content: "必須";
	color: #FFF;
	font-size: 75%;
	background-color: #CC3333;
}

@media(max-width: 600px){

	.mailformTable tr{
		display: block;
		padding: 0.5em 0.5em;
	}

	.mailformTable th,
	.mailformTable td{
		display: block;
		width: 100%;
		margin: 0.5em 0;
		padding: 0;
		border: none;
	}

	.mailformTable_cell--required,
	.mailformTable_cell--optional{
		padding: 0 4.25em 0 0;
	}

	.mailformTable_cell--required:after{
		top: 0;
	}

}

.mailformTable_textForm{
	width: 100%;
	font-size: 90%;
	margin: 0 0 0.5em;
	padding: 0.25em 0.5em;
	background: #FFF;
	border: 1px solid #aaa;
	border-radius: 2px;
	outline: none;
	transition: background-color 0.25s;
}

.mailformTable_textForm[type="file"]{
	border: none;
	cursor: pointer;
}

.mailformTable_textForm[type="file"] *{
	cursor: inherit;
}

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

.mailformTable_textForm:focus{
	background-color: #FFF;
}

.mailformTable_textForm::placeholder{
	color: inherit;
	opacity: 0.3;
}

.mailformTable_textForm:-ms-input-placeholder{
	color: rgba(0,0,0,0.35);
}

.mailformTable_textForm::-ms-input-placeholder{
	color: rgba(0,0,0,0.35);
}

.mailformTable_textarea{
	width: 100%;
	height: 10em;
	font-size: 90%;
	margin: 0;
	padding: 0.5em 1em;
	background: #FFF;
	border: 1px solid #aaa;
	border-radius: 2px;
	outline: none;
	transition: background-color 0.25s;
}

.mailformTable_textarea:focus{
	background-color: #FFF;
}


.mailformTable_textarea::placeholder{
	color: inherit;
	opacity: 0.35;
}

.mailformTable_textarea:-ms-input-placeholder{
	color: rgba(0,0,0,0.35);
}

.mailformTable_textarea::-ms-input-placeholder{
	color: rgba(0,0,0,0.35);
}

.mailformTable .msg{
	color: #FF0000;
}

.mailformTable td img{
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
	margin: 0 auto 1em 0;
}

.mailformTable td img:last-of-type{
	margin-bottom: 0;
}

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



/*---------------------------------
	radiobuttonsList start
---------------------------------*/

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

.radiobuttonsList_item{
	margin: 0.25em 1.5em 0.25em 0;
}

.radiobuttonsList_item label{
	margin: 0;
}

.radiobuttonsList_item input[type="radio"]{
	margin-right: 0.25em;
}

/*---------------------------------
	radiobuttonsList end
---------------------------------*/



/*---------------------------------
	checkboxList start
---------------------------------*/

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

.checkboxList_item{
	margin: 0.25em 1.5em 0.25em 0;
}

.checkboxList_item label{
	margin: 0;
}

.checkboxList_item input[type="checkbox"]{
	margin-right: 0.25em;
}

/*---------------------------------
	radiobuttonsList end
---------------------------------*/



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

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

@media(max-width: 1024px){

	.blogLayout{
		flex-direction: column;
	}

}

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

@media(max-width: 1024px){

	.blogLayout_articles{
		width: 100%;
		margin-bottom: 5em;
	}

}

.blogLayout_sidebar{
	flex-grow: 0;
	flex-shrink: 0;
	width: 25%;
	margin-left: 10%;
}

@media(max-width: 1024px){

	.blogLayout_sidebar{
		width: 100%;
		margin-left: 0;
	}

}

.blogArticlesItem{
	padding: 0;
	padding-bottom: 5em;
}

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

.blogArticlesItem_cate{
	display: block;
	flex-grow: 0;
	flex-shrink: 1;
	min-width: 6em;
	margin-right: 1em;
	font-size: 90%;
	text-align: right;
	color: #000;
	text-decoration: none;
}

.blogArticlesItem_cate a,
.blogArticlesItem_cate a:hover{
	display: inline;
	color: inherit;
	text-decoration: inherit;
}

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

.blogArticlesItem_date span{
	display: inline-block;
	background-color: #02368E;
	color: #FFF;
	padding: 0.2em 0.4em;
}

.blogArticlesItem_body{
	margin: 0 0 2em;
}

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

.blogArticlesItemTitle{
	margin-bottom: 0.75em;
	padding: 0.3em 0 0.5em;
	font-size: 150%;
	font-weight: 500;
	color: #000;
	border-bottom: 2px solid #000;
}

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

.blogArticlesItemTitle_link{
	text-decoration: none;
}

.blogArticlesItemTitle_link:hover{
	text-decoration: underline;
}

.blogWidgets{
	display: flex;
}

@media(min-width: 1025px){

	.blogWidgets{
		flex-direction: column;
	}

}

@media(max-width: 1024px){

	.blogWidgets{
		flex-direction: row;
		align-items: flex-start;
		justify-content: space-between;
		flex-wrap: wrap;
	}

}

.blogWidgetsItem{
	margin-bottom: 2em;
}

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

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

}

@media(max-width: 600px){

	.blogWidgetsItem{
		width: 100%;
	}

}

.blogWidgetsItem_content{
	padding: 0.5em;
}

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

.blogWidgetsItemListWrapper li{
	position: relative;
	padding: 0.25em 0.25em 0.25em calc(0.25em + 1em);
}

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

.blogWidgetsItemListWrapper li a,
.blogWidgetsItemListWrapper li a:hover{
	color: inherit;
}

.blogWidgetsItemTitle{
	padding: 0.25em 0.25em 0.5em;
	margin-bottom: 0.5em;
	font-size: 125%;
	font-weight: bold;
	font-weight: normal;
	border-bottom: 1px solid #333;
}

.blogRssLinkWrapper{
	text-align: left;
}

.blogRssLinkWrapper img{
	display: inline-block;
	width: auto;
	margin: 0 0.1em 0 0;
}

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

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



/*---------------------------------
	searchBox start
---------------------------------*/

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

.searchBox_textBox{
	flex-grow: 1;
	flex-shrink: 1;
	width: 100%;
	margin-right: 0.5em;
	padding: 0.25em 0.5em;
	font-size: 90%;
	background: #FFF;
	border: 1px solid #CCC;
	outline: none;
}

.searchBox_textBox::placeholder{
	color: inherit;
	opacity: 0.35;
}

.searchBox_textBox:-ms-input-placeholder{
	color: rgba(0,0,0,0.35);
}

.searchBox_textBox::-ms-input-placeholder{
	color: rgba(0,0,0,0.35);
}

.searchBox_submitButton{
	width: 5em;
	padding: 0.25em 0.5em;
	color: #FFF;
	font-size: 90%;
	font-weight: bold;
	text-align: center;
	background-color: #02368E;
	border: 1px solid #02368E;
	border-radius: 0;
	-webkit-box-sizing: content-box;
	-webkit-appearance: button;
	appearance: button;
	box-sizing: border-box;
	cursor: pointer;
	outline: none;
	transition: color 0.25s, background-color 0.25s;
}

.searchBox_submitButton,
.searchBox_submitButton:hover{
	color: #FFF;
}

.searchBox_submitButton:hover{
	color: #02368E;
	background-color: #FFF;
}

.searchBox_submitButton input::-webkit-search-decoration{
	display: none;
}

.searchBox_submitButton input::focus{
	outline-offset: -2px;
}

/*---------------------------------
	searchBox end
---------------------------------*/



/*---------------------------------
	pager start
---------------------------------*/

.pager{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	list-style: none;
	padding: 0;
	margin: 0;
}

.pager > *{
	margin: 0 0.5em 0.5em;
	padding: 0.25em 0.5em;
	color: #02368E;
	text-align: center;
	background-color: #FFF;
	border: 1px solid #02368E;
	outline: none;
	transition: color 0.25s, background-color 0.25s;
}

.pager > a,
.pager > a:hover{
	color: #02368E;
	text-decoration: none;
}

.pager > a:hover,
.pager > span{
	color: #FFF;
	background-color: #02368E;
}

/*---------------------------------
	pager end
---------------------------------*/



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

.faqItem{
	padding: 1em;
	margin-bottom: 2em;
	background-color: #F0F9FF;
}

.section--bgMainColor .faqItem{
	background-color: #FFF;
}

.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 #DFDFDF;
	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;
	color: #02368E;
}

.faqItem_qaIconA{
	color: #F60303;
}

.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 2em 1em 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: 90%;
	}

	.faqItem_qaIcon{
		margin-right: 0.25em;
	}

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

}

.faqItem_aText{
	margin-bottom: 1em;
}

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