/* CSS Document */

html{
	line-height: 100%;
	-webkit-text-size-adjust:100%;
	}

body{
	background: #f2f2f2;
	color: #4c4948;
	fill: #4c4948;
	font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ Pro W3", Hiragino Kaku Gothic Pro, Arial, "メイリオ", Meiryo, sans-serif;
	font-size: 1.6rem;
	line-height: 1.95em;
	text-align: justify;
	text-justify: inter-character;
	font-feature-settings : "palt";
	}

main{}
	main hr{
		margin: 0;
		padding-bottom: 0 !important;
		border: none;
		}

a{
	color: #004385;
	fill: #004385;
	text-decoration: none;
	transition-property: color,background-color,background-size,border-color,box-shadow,opacity;
	transition-duration: 0.2s;
	transition-timing-function: ease-out;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
	}
	a:hover,
	a:active{
		color: #0093dc;
		fill: #0093dc;
		text-decoration: underline;
		}
	a svg{
		transition-property: fill,opacity;
		transition-duration: 0.2s;
		transition-timing-function: ease-out;
		}
		#fAddress a[href^="tel:"]:hover,
		#fAddress a[href^="tel:"]:active,
		#fAddress a[href^="tel:"] {
			color: white;
		}


img{
	max-width: 100%;
	height: auto;
	vertical-align: top;
	}

hr{
	width: 100%;
	margin: 0;
	border: none;
	}

svg{
	width: 1em;
	height: 1em;
	}

#wrapper{
	position: relative;
	width: 100%;
	max-width: 1600px;
	margin: auto;
	background: #fff;
	}

#header{
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	text-align: center;
	transition: opacity ease-out 0.2s;
	z-index: 100;
	}
	#header div{
		position: relative;
		display: flex;
		justify-content: space-between;
		align-items: center;
		width: 100%;
		max-width: 1600px;
		margin: auto;
		background: rgba(255,255,255,99);
		transition: background ease-out 0.2s;
		}
	#header.active div{
		background: rgba(255,255,255,0.22);
		}

#siteName{}
	#siteName a{
		display: block;
		fill: #4c4948;
		}
	#siteName svg{
		width: 5.4em;
		vertical-align: top;
		}

#gNav{}
	#gNav a{
		display: block;
		text-decoration: none;
		}
	#gNav ul{
		list-style: none;
		}
	#gNav li{
		line-height: 1em;
		}
	#gNav p{
		line-height: 1em;
		}
		#gNav p a{
			border: none;
			color: #fff;
			fill: #fff;
			}
		#gNav p a:nth-child(1){
			background: #004385;
			}
			#gNav p a:nth-child(1):hover,
			#gNav p a:nth-child(1):active{
				background: #0093dc;
				}
		#gNav p a:nth-child(2){
			background: #4c4948;
			}
			#gNav p a:nth-child(2):hover,
			#gNav p a:nth-child(2):active{
				background: #0093dc;
				}

#subject{
	position: relative;
	padding-left: 1em !important;
	padding-right: 1em !important;
	background: #4c4948;
	}
	.done #subject .thumb{
		opacity: 0.7;
		}
	#subject div{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		margin: 0 !important;
		padding: 0 !important;
		}
	#subject .subject{
		position: relative;
		color: #fff;
		filter: drop-shadow(0 0 0.1em rgba(0,0,0,1));
		z-index: 1;
		}
	#subject .subject small{
		display: block;
		font-size: 0.6em;
		font-weight: 100;
		font-family:Georgia, "Times New Roman", Times, "serif";
		color:#ccc;
		}
	#subject .thumb{
		opacity: 0;
		transition: opacity 0.2s ease-out;
		}

#pageLink{
	background: rgba(217,217,217,0.5);
	}
	#pageLink > div{
		display: flex;
		flex-wrap: wrap;
		}
	#pageLink dl{
		position: relative;
		display: flex;
		background: #4c4948;
		transition: background 0.2s ease-out;
		overflow: hidden;
		}
		#pageLink dl:hover,
		#pageLink dl:active{
			background: #004385;
			}
	#pageLink dt{
		padding: 1em;
		color: #fff;
		font-weight: bold;
		text-align: center;
		}
	#pageLink dd{}
		#pageLink dd a{
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			color: transparent;
			fill: transparent;
			z-index: 2;
			}
	#pageLink .active{
		pointer-events: none;
		}
		#pageLink .active a{
			background: rgba(0,67,133,0.5);
			}
		#pageLink .active dt{
			position: relative;
			z-index: 3;
			}

#bannerLink{
	overflow: hidden;
	}
	#bannerLink dl{
		display: flex;
		position: relative;
		background: #4c4948;
		overflow: hidden;
		transition: background 0.2s ease-out;
		}
		#bannerLink dl:hover,
		#bannerLink dl:active{
			background: #004385;
			}
	#bannerLink dt{
		padding: 1em;
		color: #fff;
		font-weight: bold;
		text-align: center;
		}
	#bannerLink dd{}
		#bannerLink dd a{
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			color: transparent;
			fill: transparent;
			z-index: 2;
			}
	#bannerLink .active{
		pointer-events: none;
		}
		#bannerLink .active a{
			background: rgba(0,67,133,0.5);
			}
		#bannerLink .active dt{
			position: relative;
			z-index: 3;
			}

#pagenation{
	overflow: hidden;
	}
	#pagenation ul,
	#pagenation ol{
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		list-style: none;
		margin: -0.2em;
		}
	#pagenation ol{}
		#pagenation ol a{
			padding: 0.6em 0.8em;
			}
	#pagenation li{
		margin: 0.2em;
		line-height: 1em;
		}
	#pagenation a{
		position: relative;
		display: block;
		padding: 0.8em;
		text-decoration: none;
		background: #004385;
		color: #fff;
		fill: #fff;
		}
		#pagenation a:hover,
		#pagenation a:active{
			background: #0093dc;
			}
	#pagenation i{
		position: absolute;
		top: calc(50% - 0.5em);
		}
	#pagenation [rel]{
		position: relative;
		}
	#pagenation [rel="prev"]{
		padding-left: 1.8em;
		}
		#pagenation [rel="prev"] i{
			left: 0.5em;
			transform: scale(-1, 1);
			}
	#pagenation [rel="next"]{
		padding-right: 1.8em;
		}
		#pagenation [rel="next"] i{
			right: 0.5em;
			}
	#pagenation .lsc-current-page{
		pointer-events: none;
		background: #d9d9d9;
		}
/*


#contactPane .contactB2B{
	width: 100%!important;
	border: #004385 2px solid;
}
#contactPane .contactB2B th{
	padding: 1em;
	width: 50%;
	text-align: center;
	vertical-align: middle;
	background-color:#004385;
	color: white;
}
#contactPane .contactB2B td{
	padding: 1em;
	width: 50%;
	vertical-align: middle;
	margin: 0;
}
@media only screen and (max-width:480px){
    #contactPane .contactB2B { margin: 0 -10px; }
   #contactPane .contactB2B th,
   #contactPane .contactB2B td{
    width: 100%;
    display: block;
    border-top: none;
    }
  #contactPane .contactB2B tr:first-child th { border-top: 1px solid #ddd; }
}
*/

#footer{
	background: #4c4948;
	color: #fff;
	fill: #fff;
	}

#fAddress{}
	#fAddress dt{
		font-size: 3em;
		line-height: 1em;
		}
		#fAddress dt svg{
			width: 5.4em;
			vertical-align: top;
			}
	#fAddress dd{
		margin-top: 0.5em;
		line-height: 1.4em;
		}
	#fAddress i{
		margin-right: 0.2em;
		vertical-align: middle;
		}
		#fAddress i svg{
			width: 1.4em;
			height: 1.4em;
			margin: -0.2em 0;
			}
		#fAddress dl dd:last-child,
		#fAddress dl dd:nth-last-child(2){
			display: inline-block;
			}
		#fAddress dl dd:nth-last-child(2){
			margin-right: 0.5em;
			}

#fNav{}
	#fNav ul{
		list-style: none;
		}
	#fNav a{
		line-height: 1em;
		}
	#fNav li{line-height: 1.6em;}
		#fNav li a{
			color: #fff;
			fill: #fff;
			}
		#fNav li i{
			margin-right: 0.2em;
			vertical-align: middle;
			}
	#fNav p{}
		#fNav p a{
			position: relative;
			min-width: 12em;
			padding-right: 2em;
			border: none;
			color: #4c4948;
			fill: #4c4948;
			}
			#fNav p a:hover,
			#fNav p a:active{
				color: #fff;
				fill: #fff;
				}
		#fNav p span{
			position: absolute;
			right: 1em;
			top: calc(50% - 0.5em);
			}

#fSns{}
	#fSns ul{
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		list-style: none;
		}
	#fSns a{
		display: block;
		width: 1.4em;
		height: 1.4em;
		padding: 0.2em;
		background: #fff;
		border-radius: 100%;
		font-size: 2.4em;
		color: #4c4948;
		fill: #4c4948;
		}
		#fSns a:hover,
		#fSns a:active{
			background: #004385;
			}
	#fSns li+li{
		margin-left: 1em;
		line-height: 1em;
		}
	#fSns svg{
		vertical-align: top;
		}

#copyright{
	padding: 1em 0;
	}
	#copyright p{
		color: #999;
		font-size: 0.8em;
		line-height: 1em;
		text-align: center;
		}

#pageTop{
	position: fixed;
	right: 0;
	bottom: 1em;
	z-index: 1;
	display: none;
	}
	#pageTop a{
		display: block;
		width: 1.8em;
		height: 1.8em;
		padding: 0.4em;
		background: #004385;
		border-radius: 100% 0 0 100%;
		color: #fff;
		fill: #fff;
		font-size: 2em;
		line-height: 1em;
		}
		#pageTop a:hover,
		#pageTop a:active{
			background: #0093dc;
			}

[id^="anchor_"]{
	position: absolute;
	display: block;
	}

.wrap{
	width: calc(100% - 2em);
	margin: auto;
	}
	.wrap section:first-child,
	.wrap section+section{
		padding-top: 0;
		}
	.wrap section:last-child{
		padding-bottom: 0;
		}

.en{
	font-family: 'Roboto', sans-serif;
	}

.flex{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	}

.subject{
	position: relative;
	display: block;
	padding-top: 1.2em;
	font-weight: bold;
	text-align: center;
	line-height: 1em;
	}
	.subject.en{
		padding-top: 1.2em;
		font-weight: 400;
		letter-spacing: 0.1em;
		text-indent: -0.05em;
		}

	.subject:before{
		content: "│";
		position: absolute;
		left: calc(50% - 0.5em);
		top: 0;
		font-size: 0.6em;
		}

	.subject+*{
		margin-top: 2em;
		}

.headline{
	font-weight: bold;
	line-height: 1.4em;
	}
	
	.headline.en{
		font-weight: 400;
		letter-spacing: 0.1em;
		text-indent: -0.05em;
		}
	.headline+*{
		margin-top: 1em;
		}

.title{
	font-weight: bold;
	line-height: 1.4em;
	}
	.title+*{
		margin-top: 1em;
		}

.subTitle{
	font-weight: bold;
	line-height: 1.4em;
	}
	.subTitle+*{
		margin-top: 1em;
		}

.linkBut{
	display: inline-block;
	padding: 1em;
	background: #fff;
	border: 1px solid #004385;
	color: #004385;
	fill: #004385;
	font-weight: bold;
	line-height: 1em;
	}
	.linkBut:hover,
	.linkBut:active{
		background: #004385;
		color: #fff;
		fill: #fff;
		text-decoration: none;
		}
	.linkBut i{
		margin-right: 0.5em;
		vertical-align: middle;
		}
	.linkBut span{
		margin-left: 0.5em;
		vertical-align: middle;
		opacity: 0.5;
		}
	.linkBut.more{
		position: relative;
		padding-right: 2.5em;
		}
		.linkBut.more i{
			position: absolute;
			top: calc(50% - 0.5em);
			right: 1em;
			margin: 0;
			}

.linkText{}
	.linkText i{
		vertical-align: middle;
		}
	.linkText span{
		margin-left: 0.2em;
		vertical-align: middle;
		}
		.linkText span svg{
			width: 0.8em;
			}

.list{
	list-style: none;
	}
	.list > li{
		line-height: 1.4em;
		}
	.list > li+li{
		margin-top: 0.5em;
		}
	.list.notes{}
		.list.notes > li{
			padding-left: 1em;
			text-indent: -1em;
			}
	.list.point{}
		.list.point > li{
			position: relative;
			padding-left: 1em;
			}
			.list.point > li:before{
				content: "";
				position: absolute;
				margin: auto;
				top: 0.5em;
				left: 0;
				width: 0.4em;
				height: 0.4em;
				border: 1px solid #4c4948;
				border-radius: 100%;
				opacity: 0.5;
				}
	.list.count{
		counter-reset: count;
		}
		.list.count > li{
			position: relative;
			padding-left: 1.5em;
			}
			.list.count > li:before{
				position: absolute;
				margin-left: -1.5em;
				counter-increment: count;
				content: counter(count)".";
				}
	.list+*,
	*+.list{
		margin-top: 1em;
		}

.thumb{}
	.thumb:not(img){
		position: relative;
		display: block;
		width: 100%;
		margin: 0;
		padding: 100% 0 0 0;
		background-size: cover;
		background-position: center;
		background-repeat: no-repeat;
		background-color: #eee;
		object-fit: cover;
		object-position: center;
		overflow: hidden;
		}
	.thumb img{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		object-fit: inherit;
		object-position: inherit;
		}
.contain.thumb{
	background-size: contain;
	object-fit: contain;
	}
.cover.thumb{
	background-size: cover;
	object-fit: cover;
	}
.load{}
	.load:not(img){
		transition: background 0.2s ease-out;
		}
	.thumb img{
		transition: opacity 0.2s ease-out;
		}
	.load svg{
		position: absolute;
		top: calc(50% - 0.5em);
		left: calc(50% - 0.5em);
		font-size: 3em;
		opacity: 0.5;
		}
	.load.lazyload{}
		.load.lazyload img{
			opacity: 0;
			}
	.load.lazyloaded
		.load.lazyloaded img{
			opacity: 1;
			}
		.load.lazyloaded svg{
			opacity: 0;
			}

.table{}
	table.table{
		width: 100%;
		border-collapse: collapse;
		}
	dl.table{
		display: flex;
		flex-wrap: wrap;
		}
	.table caption,
	.table th,
	.table td,
	.table dt,
	.table dd{
		padding: 0.8em;
		line-height: 1.4em;
		}
	.table caption{
		background: #4c4948;
		color: #fff;
		fill: #fff;
		font-weight: bold;
		}
	.table thead{
		background: rgba(0,147,220,0.2);
		}
	.table th,
	.table td{
		border: 1px solid #bfbfbf;
		}
	.table th{
		background: rgba(217,217,217,0.2);
		font-weight: bold;
		}
	.table dt,
	.table dd{
		margin-top: 1px;
		}
	.table dt{
		width: 20%;
		background: rgba(217,217,217,0.5);
		font-weight: bold;
		}
	.table dd{
		width: 80%;
		background: rgba(217,217,217,0.2);
		}
	.table+*,
	*+.table{
		margin-top: 1em;
		}

.inquiry{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	padding: 0 1em 1em 0;
	background: rgba(217,217,217,0.2);
	}
	.inquiry dt,
	.inquiry dd{
		line-height: 1.4em;
		}
	.inquiry dt{
		padding: 0.8em;
		background: #004385;
		color: #fff;
		font-size: 1.2em;
		font-weight: bold;
		}
	.inquiry dd{
		text-align: center;
		}
	.inquiry a[href^="tel"]{
		color: #4c4948;
		fill: #4c4948;
		font-size: 1.6em;
		font-weight: bold;
		}
	.inquiry .center{
		width: 100%;
		text-align: center;
		}
	.inquiry+*,
	*+.inquiry{
		margin-top: 1em;
		}

.slick-slider{
	position: relative;
	margin: 0 1em;
	}
.slick-slide{
	margin: 0 0.5em;
	}
.slick-arrow{
	position: absolute;
	top: calc(50% - 0.5em);
	font-size: 2em;
	opacity: 0.5;
	}
	.slick-arrow:hover,
	.slick-arrow:active{
		cursor: pointer;
		}
.slick-prev{
	left: -1em;
	transform: scale(-1, 1);
	}
.slick-next{
	right: -1em;
	}


/* for mobile */
@media (max-width: 767px) {
/*767px以下*/
main > *,
main article,
main section,
main hr,
#subject{
	padding: 2em 0;
	}
article{}
	article div+div{
		margin-top: 1em;
		}
	article #subject{
		top: -2em;
		}
#wrapper{
	width: 100%;
	}
#header{}
	.nav #header.active{
		opacity: 1;
		}
	.nav #header div{
		background: #fff;
		}
#siteName{
	text-align: left;
	}
#pageLink{}
	#pageLink dl{
		align-items: center;
		width: 100%;
		}
	#pageLink dt{
		width: calc(100% - 6em);
		order: 2;
		}
	#pageLink dt+dd{
		width: 6em;
		order: 1;
		}
	#pageLink dd+dd{
		order: 3;
		}
	#pageLink .thumb{
		opacity: 1;
		}
#bannerLink{}
	#bannerLink dl{
		align-items: center;
		width: 100%;
		height: 6em;
		}
/*	#bannerLink dt{
		width: 100%;
		width: calc(100% - 6em);
		order: 2;
		}*/
	#bannerLink dt{
		position: relative;
		width: 100%;
		filter: drop-shadow(0 0 0.1em rgba(0,0,0,1));
		z-index: 1;
		line-height: 1.2em;
		}
	#bannerLink dt+dd{
		/*width: 6em;
		order: 1;*/
		}
	#bannerLink dd+dd{
		/*order: 3;*/
		}
/*	#bannerLink .thumb{
		opacity: 1;
		}*/
	#bannerLink .thumb {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		padding: 0;
		opacity: 0.7;
		transition: all 0.2s ease-out;
	}
#pagePath{
	display: none;
	}
#footer{
	padding-top: 2em;
	}
#fNav{
	margin-top: 1em;
	padding-top: 1em;
	}
	#fNav ul{
		display: flex;
		flex-wrap: wrap;
		}
		#fNav ul ul{
			display: none;
			}
	#fNav p{
		margin-top: 1em;
		text-align: center;
		}
#fSns{
	padding: 2em 0;
	}
.subject{
	font-size: 1.6em;
	}
.headline{
	font-size: 1.4em;
	}
.title{
	font-size: 1.2em;
	}
.subTitle{
	font-size: 1.1em;
	}
}
@media (max-width: 767px) and (orientation:portrait) {
/*767px以下 縦向き*/
html{
	font-size: 2.8vw;
	}
#wrapper{
	padding-top: 15vw;
	}
#header{
	height: 15vw;
	}
#siteName{
	padding: 2.5vw;
	}
	#siteName a{
		font-size: 10vw;
		}
#navButton{
	font-size: 15vw;
	}
#gNav{
	top: 15vw;
	width: 100vw;
	height: calc(100vh - 15vw + 1px);
	}
	.nav #gNav{
		left: 0;
		}
	#gNav li{}
		#gNav li a{
			font-size: 1.2em;
			}
#pageLink{}
	#pageLink dl+dl:not(.slick-slide){
		margin-top: 1em;
		}
	#pageLink .active{
		display: none;
		}
		#pageLink .active:first-child+dl{
			margin-top: 0;
			}
#bannerLink{}
	#bannerLink dl+dl:not(.slick-slide){
		margin-top: 1em;
		}
	#bannerLink .active{
		display: none;
		}
		#bannerLink .active:first-child+dl{
			margin-top: 0;
			}
#fAddress{}
	#fAddress br:nth-of-type(2){
		display: none;
		}
#fNav{}
	#fNav li{
		min-width: 50%;
		}
		#fNav li:nth-child(n+3){
			margin-top: 0.8em;
			}
	#fNav p{}
		#fNav p a+a{
			margin-top: 0.8em;
			}
[id^="anchor_"]{
	margin-top: -15vw;
	}
.table{}
	.table dt,
	.table dd{
		width: 100% !important;
		}
	.table dd{
		border-top: none;
		}
	.table dd+dd{
		padding-top: 0;
		}
.inquiry{
	flex-flow: column;
	padding: 0;
	}
	.inquiry dt{
		width: 100%;
		text-align: center;
		}
	.inquiry dd{
		padding: 1em;
		}
	.inquiry dd+dd{
		padding-top: 0;
		}
}

@media (max-width: 767px) and (orientation:landscape) {
/*767px以下 横向き*/
html{
	font-size: 1.8vw;
	}
#wrapper{
	padding-top: 8vw;
	}
#header{
	height: 8vw;
	}
#siteName{
	padding: 1.5vw;
	}
	#siteName a{
		font-size: 5vw;
		}
#navButton{
	font-size: 8vw;
	}
#gNav{
	top: 8vw;
	width: 45vw;
	height: calc(100vh - 8vw + 1px);
	}
	.nav #gNav{
		left: 55vw;
		}
#pageLink{}
	#pageLink dl:not(.slick-slide){
			width: calc(50% - 0.5em);
			}
		#pageLink dl:not(.slick-slide):nth-child(even){
			margin-left: 1em;
			}
		#pageLink dl:not(.slick-slide):nth-child(n+3){
			margin-top: 1em;
			}
#bannerLink{}
	#bannerLink dl:not(.slick-slide){
			width: calc(50% - 0.5em);
			}
		#bannerLink dl:not(.slick-slide):nth-child(even){
			margin-left: 1em;
			}
		#bannerLink dl:not(.slick-slide):nth-child(n+3){
			margin-top: 1em;
			}
#fAddress{}
	#fAddress br{
		display: none;
		}
#fNav{}
	#fNav li{
		min-width: 33.33%;
		}
		#fNav li:nth-child(n+4){
			margin-top: 0.5em;
			}
	#fNav p{}
		#fNav p a+a{
			margin-left: 1em;
			}
[id^="anchor_"]{
	margin-top: -8vw;
	}
}


/* for tablet */
@media (min-width: 768px) {
/*768px以上*/
html{
	font-size: 62.5%;
	}
article{}
	article div+div{
		margin-top: 2em;
		}
#header{}
	#header.active .wrap{
		background: rgba(255,255,255,0.7);
		}
	#header .wrap{
		position: relative;
		max-width: 1600px;
		background: rgba(255,255,255,0.95);
		overflow: hidden;
		}
#pageLink{}
	#pageLink dl{
		display: flex;
		align-items: center;
		}
		#pageLink dl:hover .thumb,
		#pageLink dl:active .thumb{
			top: -5%;
			left: -5%;
			width: 110%;
			height: 110%;
			}
	#pageLink dt{
		position: relative;
		width: 100%;
		filter: drop-shadow(0 0 0.1em rgba(0,0,0,1));
		z-index: 1;
		}
	#pageLink .thumb{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		padding: 0;
		opacity: 0.7;
		transition: all 0.2s ease-out;
		}
	
#bannerLink{}
	#bannerLink dl{
		display: flex;
		align-items: center;
		}
		#bannerLink dl:hover .thumb,
		#bannerLink dl:active .thumb{
			top: -5%;
			left: -5%;
			width: 110%;
			height: 110%;
			}
	#bannerLink dt{
		position: relative;
		width: 100%;
		filter: drop-shadow(0 0 0.1em rgba(0,0,0,1));
		z-index: 1;
		}
	#bannerLink .thumb{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		padding: 0;
		opacity: 0.7;
		transition: all 0.2s ease-out;
		}
#pagePath{
	padding: 2em 0;
	}
	#pagePath a{}
		#pagePath a:hover,
		#pagePath a:active{
			text-decoration: none;
			}
	#pagePath ul{
		display: flex;
		flex-wrap: wrap;
		list-style: none;
		}
	#pagePath li{
		min-width: 1em;
		font-size: 0.85em;
		line-height: 1.3em;
		}
	#pagePath li:last-child{
		font-weight: bold;
		line-height: 1.4em;
		}
	#pagePath i{
		margin: 0 0.3em;
		vertical-align: middle;
		opacity: 0.5;
		}
#footer{}
	#footer > .wrap{
		padding: 2em 0;
		}
#fNav{
	display: flex;
	flex-wrap: wrap;
	}
	#fNav > ul{
		display: -ms-grid;
		display: grid;
		margin-top: -0.5em;
		}
	#fNav li{
		min-width: 5em;
		margin-top: 0.25em;
		}
		#fNav li:nth-child(-n+3){
			-ms-grid-column: 1;
			grid-column: 1;
			}
		#fNav li:nth-child(n+4){
			margin-left: 1em;
			}
		#fNav li:nth-child(n+5){
			-ms-grid-column: 3;
			grid-column: 3;
			}
		#fNav li:nth-child(1){
			-ms-grid-row: 1;
			grid-row: 1;
			}
		#fNav li:nth-child(2){
			-ms-grid-row: 2;
			grid-row: 2;
			}
		#fNav li:nth-child(3){
			-ms-grid-row: 3;
			-ms-grid-row-span: 5;
			grid-row: 3 / 7;
			}
		#fNav li:nth-child(4){
			-ms-grid-column: 2;
			-ms-grid-row: 1;
			-ms-grid-row-span: 6;
			grid-column: 2;
			grid-row: 1 / 8;
			}
		#fNav li:nth-child(5){
			-ms-grid-row: 1;
			grid-row: 1;
			}
		#fNav li:nth-child(6){
			-ms-grid-row: 2;
			grid-row: 2;
			}
		#fNav li:nth-child(7){
			-ms-grid-row: 3;
			grid-row: 3;
			}
		#fNav li:nth-child(8){
			-ms-grid-row: 4;
			grid-row: 4;
			}
		#fNav li:nth-child(9){
			-ms-grid-row: 5;
			grid-row: 5;
			}
		#fNav li:nth-child(10){
			-ms-grid-row: 6;
			grid-row: 6;
			}
		#fNav li:nth-child(11){
			-ms-grid-row: 7;
			grid-row: 7;
			}
		#fNav li li{
			margin-left: 1.2em !important;
			}
			#fNav li li a{
				position: relative;
				padding-left: 0.8em;
				}
			#fNav li li a:before{
				content: "";
				position: absolute;
				top: 0.6em;
				left: 0;
				width: 0.4em;
				height: 0.4em;
				background: #fff;
				border-radius: 100%;
				}
#fSns{
	width: 100%;
	margin-top: 2em;
	}
.subject{
	font-size: 2.0em;
	}
.headline{
	font-size: 1.6em;
	}
	.headline.point{
		position: relative;
		padding-left: 1.2em;
		}
		.headline.point:before{
			content: "─";
			position: absolute;
			left: 0;
			top: 0;
			opacity: 0.5;
			font-size: 0.8em;
			}
.title{
	font-size: 1.4em;
	}
.subTitle{
	font-size: 1.2em;
	}
.inquiry{
	position: relative;
	}
	.inquiry dt{
		position: absolute;
		top: 0;
		left: 0;
		display: flex;
		align-content: center;
		height: 100%;
		}
	.inquiry dd{
		margin: 1em 0 0 1em;
		}
}
@media (min-width: 768px) and (max-width: 991px) {
/*768px～991px*/
main > *,
main article,
main section,
main hr,
#subject{
	padding: 3em 0;
	}
article{}
	article #subject{
		top: -3em;
		}
#wrapper{
	padding-top: 4.6em;
	}
#header{}
	#header div{
		padding: 1em;
		height: 4.6em;
		}
#siteName{
	top: 1em;
	left: 1em;
	}
	#siteName svg{
		font-size: 2.6em;
		}
#navButton{
	font-size: 4em;
	}
#gNav{
	top: 4.6em;
	width: 18em;
	height: calc(100vh - 4.6em + 1px);
	}
	.nav #gNav{
		left: calc(100% - 18em);
		}
#pageLink{}
	#pageLink dl:not(.slick-slide){}
		#pageLink dl:not(.slick-slide){
			width: calc(33.33% - 0.67em);
			}
		#pageLink dl:not(.slick-slide):nth-child(3n+2){
			margin: 0 1em;
			}
		#pageLink dl:not(.slick-slide):nth-child(n+4){
			margin-top: 1em;
			}
	#pageLink dl{
		height: 6em;
		}
#bannerLink{}
	#bannerLink dl:not(.slick-slide){}
		#bannerLink dl:not(.slick-slide){
			width: calc(33.33% - 0.67em);
			}
		#bannerLink dl:not(.slick-slide):nth-child(3n+2){
			margin: 0 1em;
			}
		#bannerLink dl:not(.slick-slide):nth-child(n+4){
			margin-top: 1em;
			}
	#bannerLink dl{
		height: 6em;
		}
#fAddress{}
	#fAddress br{
		display: none;
		}
#fNav{
	justify-content: center;
	margin-top: 1.5em;
	padding-top: 1.5em;
	}
	#fNav p{
		width: 100%;
		margin-top: 1.5em;
		}
		#fNav p a+a{
			margin-left: 1em;
			}
[id^="anchor_"]{
	margin-top: -4.6em;
	}
.wrap{
	max-width: 720px;
	}
.inquiry{
	padding-left: calc(40% + 2em);
	}
	.inquiry dt{
		width: 40%;
		}
}
@media (max-width: 991px) {
/*991px以下*/
#navButton{
	position: relative;
	width: 1em;
	height: 1em;
	margin: 0;
	padding: 0;
	background: transparent;
	border: none;
	color: #4c4948;
	text-align: center;
	transition: left 0.2s ease-out;
	box-sizing: border-box;
	outline: none;
	}
	.nav #navButton{}
		.nav #navButton i:nth-child(1){
			top: 37%;
			transform: rotate(-45deg);
			}
		.nav #navButton i:nth-child(2){
			left: 100%;
			}
		.nav #navButton i:nth-child(3){
			top: 37%;
			transform: rotate(45deg);
			}
	#navButton span{
		position: absolute;
		bottom: 0.6em;
		left: 0;
		width: 100%;
		font-family: Lato, sans-serif;
		font-size: 0.2em;
		font-weight: 400;
		text-transform: uppercase;
		line-height: 1em;
		}
	#navButton i{
		position: absolute;
		content: "";
		display: block;
		left: 20%;
		width: 60%;
		height: 1px;
		background: #4c4948;
		transition: all 0.2s ease-out;
		z-index: 100000;
		}
		#navButton i:nth-child(1){
			top: 19%;
			}
		#navButton i:nth-child(2){
			top: 37%;
			}
		#navButton i:nth-child(3){
			top: 55%;
			}
#gNav{
	position: absolute;
	left: 100vw;
	margin-top: -1px;
	padding: 1em;
	background: #fff;
	text-align: center;
	overflow-x: scroll;
	transition: left 0.2s ease-out;
	}
	#gNav a{
		display: inline-block;
		}
	#gNav li{}
		#gNav li a{
			position: relative;
			padding: 1em;
			padding-top: 1.5em;
			}
			#gNav li a:before{
				content: "│";
				position: absolute;
				top: 0;
				left: calc(50% - 0.5em);
				font-size: 0.8em;
				opacity: 0.5;
				}
	#gNav li+li{
		margin-top: 0.5em;
		}
	#gNav p{
		padding: 1em ;
		}
		#gNav p a{
			width: 13em;
			margin: auto;
			}
		#gNav p a+a{
			margin-top: 0.8em;
			}
#fAddress{}
	#fAddress dl{
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		}
	#fAddress dt,
	#fAddress dt+dd{
		width: 100%;
		text-align: center;
		}
	#fAddress dd:nth-of-type(n+3){
		margin-left: 1em;
		}
#fNav{
	border-top: 1px dotted #fff;
	}
	#fNav p{
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		}
}


/* for PC */
@media (min-width: 992px) {
/*992px以上*/
body{
	font-family: "Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ","Meiryo","ＭＳ Ｐゴシック","Helvetica Neue","Helvetica","Arial",sans-serif;
	}
main > *,
main article,
main section,
main hr,
#subject{
	padding: 4em 0;
	}
article{}
	article #subject{
		top: -4em;
		}
	article #subject{
		top: -4em;
		}
#wrapper{
	padding-top: 6em;
	padding-top: 4.5em;
	}
#header{}
	#header div{
		height: 4.5em;
		padding: 1.5em;
		}
#siteName{
	position: absolute;
	top: 1.5em;
	top: 0.7em;
	left: 1.5em;
	width: 16.2em;
	}
	#siteName svg{
		font-size: 3em;
		font-size: 3.25em;
		}
#navButton{
	display: none;
	}
#gNav{
	position: absolute;
	top: 1.0em;
	right: 1.5em;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	font-size: 0.9em;
	}
	#gNav ul{
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		}
	#gNav li{}
		#gNav li a{
			position: relative;
			color: inherit;
			}
			#gNav li a:hover,
			#gNav li a:active{
				color: #0093dc;
				}
				#gNav li a:hover:before,
				#gNav li a:active:before{
					content: "│";
					}
			#gNav li a[href="index.html"]{
				color: #004385;
				font-weight: bold;
				}
				#gNav li a[href="index.html"]:before{
					content: "│";
					}
			#gNav li a:before{
				position: absolute;
				left: calc(50% - 0.5em);
				top: -1.6em;
				font-size: 0.8em;
				}
	#gNav p{
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		}
	#gNav li{}
		#gNav li+li{
			margin-left: 1.5em;
			}
	#gNav p{
		margin-left: 1.5em;
		}
		#gNav p a+a{
			margin-left: 1em;
			}
#subject{}
	#subject .subject{
		font-size: 1.8em;
		}
	#subject .subject small{
		display: block;
		font-size: 0.6em;
		font-weight: 100;
		font-family:Georgia, "Times New Roman", Times, "serif";
		color:#ccc;
		}
#pageLink{}
	#pageLink dl:not(.slick-slide){}
		#pageLink dl:not(.slick-slide){
			width: calc(33.33% - 1em);
			}
		#pageLink dl:not(.slick-slide):nth-child(3n+2){
			margin: 0 1.5em;
			}
		#pageLink dl:not(.slick-slide):nth-child(n+4){
			margin-top: 1.5em;
			}
	#pageLink dl{
		height: 8em;
		}
	#pageLink dt{
		font-size: 1.2em;
		}
#bannerLink{}
	#bannerLink dl:not(.slick-slide){}
		#bannerLink dl:not(.slick-slide){
			width: calc(33.33% - 1em);
			}
		#bannerLink dl:not(.slick-slide):nth-child(3n+2){
			margin: 0 1.5em;
			}
		#bannerLink dl:not(.slick-slide):nth-child(n+4){
			margin-top: 1.5em;
			}
	#bannerLink dl{
		height: 8em;
		}
	#bannerLink dt{
		font-size: 1.2em;
		}
#footer{}
	#footer > .wrap{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		}
#fNav{}
	#fNav p{
		margin-left: 1em;
		}
		#fNav p a{
			display: block;
			}
		#fNav p a+a{
			margin-top: 0.8em;
			}
#fSns{
	width: 100%;
	}
[id^="anchor_"]{
	margin-top: -4.5em;
	}
.subject{
	font-size: 2.8em;
	}
.headline{
	font-size: 1.8em;
	}
	.headline+*{
		margin-top: 1.5em;
		}
.title{
	font-size: 1.6em;
	}
.table{}
	.table caption,
	.table th,
	.table td,
	.table dt,
	.table dd{
		padding: 0.8em;
		}
.inquiry{
	padding: 0.5em 1.5em 1.5em 30%;
	}
	.inquiry dt{
		width: 30%;
		padding: 1.2em;
		}
.slick-slider{
	margin: 0 1.5em;
	}
}
@media (min-width: 992px) and (max-width: 1199px) {
/*992px～1200px*/
#gNav{}
	#gNav li{}
		#gNav li:nth-child(1){
			display: none;
			}
#fAddress{}
	#fAddress dd{
		font-size: 0.875em;
		}
#fNav{}
	#fNav a{
		font-size: 0.875em;
		}
	#fNav p{
		margin-left: 1.2em;
		}
.wrap{
	max-width: 940px;
	}
}
@media (min-width: 1200px) {
/*1200px以上*/
body{
	font-size: 1.6rem;
	line-height: 1.8em;
	}
#pageLink{}
	#pageLink dt{
		font-size: 1.1em;
		}
#bannerLink{}
	#bannerLink dt{
		font-size: 1.1em;
		}
#fAddress{}
	#fAddress br{
		display: none;
		}
#fNav{}
	#fNav p{
		margin-left: 2em;
		}
.wrap{
	max-width: 1140px;
	}
}


/* ie */
@media all and (-ms-high-contrast: none){
main{
	display: block;
	}
}
