/* CSS Document */

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

body{
	color: #2b2926;
	fill: #2b2926;
	font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
	font-size: 1.6rem;
	line-height: 1.6em;
	text-align: justify;
	font-feature-settings : "palt";
	}
	body > svg{
		display: none;
		}

a{
	color: #2cac99;
	fill: #2cac99;
	text-decoration: none;
	transition-duration: 0.2s;
	transition-timing-function: ease-out;
	transition-property: color,background-color,background-size,border-color,box-shadow,opacity;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
	}
	a:hover,
	a:active{
		color: #2cac99;
		fill: #2cac99;
		text-decoration: underline;
		}
	a svg{
		transition-duration: 0.2s;
		transition-timing-function: ease-out;
		transition-property: fill,opacity;
		}

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

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

#wrapper{
	width: 100%;
	}
	.do #wrapper{
		opacity: 0;
		}
	.done #wrapper{
		-webkit-animation: wrapper 0.5s ease-in forwards;
		animation: wrapper 0.5s ease-in forwards;
		}

#header{
	background: url(../images/dummyImg.jpg) center center;
	background-size: cover;
	}
	#header.wrap{
		padding: 20vw 0;
		}

#nav{}
	#nav ul{
		border-bottom: 1px solid #ccc;
		list-style: none;
		}
	#nav li{
		border-top: 1px solid #ccc;
		}
	#nav a{
		display: -ms-flexbox;
		display: -webkit-flex;
		display: flex;
		-ms-flex-wrap: wrap;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		-ms-flex-align: center;
		-webkit-align-items: center;
		align-items: center;
		-ms-flex-pack: justify;
		-webkit-justify-content: space-between;
		justify-content: space-between;
		padding: 0.5em 0;
		font-weight: 600;
		line-height: 1.4em;
		text-decoration: none;
		}
	#nav i{
		width: 5em;
		}
	#nav span{
		width: calc(100% - 5em);
		padding-left: 1em;
		}

#pageTop{
	position: fixed;
	right: 0.5em;
	bottom: 0.5em;
	z-index: 100;
	}
	#pageTop a{
		display: block;
		width: 1.2em;
		height: 1.2em;
		padding: 0.05em;
		background: #fff;
		border: 0.05em solid #2cac99;
		border-radius: 100%;
		box-shadow: 0.1em 0.1em 0.2em rgba(0,0,0,0.3);
		font-size: 2.8em;
		opacity: 0.7;
		}
		#pageTop a:hover,
		#pageTop a:active{
			opacity: 1;
			text-decoration: none;
			}

#footer{
	position: relative;
	}
	#footer > svg{
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		background: #f2f2f2;
		fill: #fff;
		z-index: -1;
		}
	#footer aside{
		display: -ms-flexbox;
		display: -webkit-flex;
		display: flex;
		-ms-flex-wrap: wrap;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		-ms-flex-align: start;
		-webkit-align-items: flex-start;
		align-items: flex-start;
		-ms-flex-pack: center;
		-webkit-justify-content: center;
		justify-content: center;
		}
		#footer aside:empty{
			display: none;
			}
		#footer aside > *{
			min-width: 1em;
			}
	#footer ul{
		list-style: none;
		}
	#footer li{
		position: relative;
		padding-left: 1.2em;
		line-height: 1em;
		}
	#footer i{
		position: absolute;
		top: 0;
		left: 0;
		}

#fNav{
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
	padding: 1em 0;
	}

#fMenu{
	padding: 1em 0;
	background: #2cac99;
	}
	#fMenu a{
		color: #fff;
		fill: #fff;
		}
		#fMenu a:hover,
		#fMenu a:active{
			color: #fff;
			fill: #fff;
			}

#copyright{
	padding: 1em 0;
	background: #26221f;
	}
	#copyright p{
		margin: 0;
		padding: 0;
		color: #fff;
		font-size: 0.8em;
		line-height: 1.2em;
		text-align: center;
		}

#subject{
	padding: 2em 1em;
	color: #002a4a;
	font-size: 1.4em;
	font-weight: 500;
	text-align: center;
	line-height: 1em;
	}

.wrap{
	width: calc(100% - 2em);
	margin: auto;
	}

.flex{
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	}

.headline{
	margin: 0;
	padding: 0.8em;
	border: 1px solid #333;
	background: rgba(255,255,255,0.5);
	font-size: 1.6em;
	line-height: 1.2em;
	text-align: center;
	}
	.headline+*{
		margin-top: 1em;
		}

.title{
	padding: 0.8em 1em;
	background: #f2f2f2;
	border-bottom: 0.2em solid #2cac99;
	font-size: 1.2em;
	font-weight: bold;
	line-height: 1.4em;
	}
	.title+*{
		margin-top: 1em;
		}

.subTitle{
	position: relative;
	padding-left: 0.8em;
	font-size: 1.1em;
	font-weight: bold;
	line-height: 1.4em;
	}
	.subTitle:before{
		content: "";
		position: absolute;
		top: 0.2em;
		left: 0;
		width: 0.3em;
		height: 1em;
		background: #2cac99;
		border-radius: 0.2em;
		}
	.subTitle+*{
		margin-top: 1em;
		}


.linkBut{
	display: inline-block;
	padding: 0.8em 2em;
	background: #2cac99;
	color: #fff;
	font-weight: bold;
	line-height: 1.2em;
	text-decoration: none;
	}
	.linkBut:hover,
	.linkBut:active{
		background: #0f5f54;
		color: #fff;
		text-decoration: none;
		}

.linkText{}
	.linkText i{
		position: relative;
		}
		.linkText i:before{
			content: "　 ";
			margin-right: -0.1em;
			}
	.linkText svg{
		position: absolute;
		top: 0;
		left: 0;
		height: 100%;
		}

.list{
	margin: 0;
	padding: 0;
	list-style: none;
	}
	.list li{
		margin-bottom: 0.5em;
		padding-left: 1em;
		text-indent: -1em;
		}
	.list.point li{
		text-indent: 0;
		}
	.list.point li:before{
		content: "●";
		float: left;
		margin-left: -1em;
		color: #0068b7;
		}

.count{
	counter-reset: sample;
	margin: 0;
	padding: 0;
	list-style: none;
	}
	.count li{
		padding-left: 1.5em;
		}
	.count li:before{
		float: left;
		margin-left: -1.5em;
		counter-increment: sample;
		content: counter(sample)".";
		}
	.count li+li{
		margin-top: 0.5em;
		}

.thumb{}
.thumbBox{
	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;
	}
	.thumbBox img{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-image: url('data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiDQoJIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHhtbG5zOmE9Imh0dHA6Ly9ucy5hZG9iZS5jb20vQWRvYmVTVkdWaWV3ZXJFeHRlbnNpb25zLzMuMC8iDQoJIHg9IjBweCIgeT0iMHB4IiB3aWR0aD0iMTBweCIgaGVpZ2h0PSIxMHB4IiB2aWV3Qm94PSIwIDAgMTAgMTAiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDEwIDEwOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPg0KCS5zdDB7ZmlsbDojRkZGRkZGO30NCjwvc3R5bGU+DQo8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMCwwdjRsNC00SDB6IE0wLDEwaDRsNi02VjBMMCwxMHoiLz4NCjwvc3ZnPg==');
		background-size: 5px;
		object-fit: cover;
		object-position: center;
		}


/* for mobile */
@media (max-width: 767px) {
/*767px以下*/
#wrapper{
	width: 100%;
	overflow: hidden;
	transition: margin-left 0.2s ease-out;
	}
#contents{
	padding: 2em 0;
	}
#footer{
	padding-top: 1em;
	}
	#footer aside{}
		#footer aside > *+*{
			margin-top: 1em;
			}
	#footer li+li{
		margin-top: 1em;
		}
#fNav{
	padding-bottom: 2em;
	}
	#fNav ul{
		width: 100%;
		}
	#fNav ul+ul{
		margin-top: 1em;
		}
#fMenu{
	padding: 2em 0;
	}
}
@media (max-width: 767px) and (orientation:portrait) {
/*767px以下 縦向き*/
html{
	font-size: 2.8vw;
	}
#wrapper{}
#fNav{}
	#fNav ul{
		width: 100%;
		}
}
@media (max-width: 767px) and (orientation:landscape) {
/*767px以下 横向き*/
html{
	font-size: 1.4vw;
	}
#wrapper{
	padding-top: 8vw;
	}
	.nav #wrapper{
		margin-left: -40vw;
		}
}


/* for tablet */
@media (min-width: 768px) {
/*768px以上*/
html{
	font-size: 62.5%;
	}
#contents{
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-ms-flex-align: start;
	-webkit-align-items: flex-start;
	align-items: flex-start;
	-ms-flex-pack: justify;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	position: relative;
	padding: 3em 0;
	}
#main{
	width: calc(100% - 17em);
	}
#nav{
	position: -webkit-sticky;
	position: sticky;
	top: 2em;
	right: 0;
	width: 17em;
	padding-left: 2em;
	}
	#nav a{
		padding: 0.8em 0;
		font-size: 0.8em;
		}
#footer{}
	#footer aside{
		padding-top: 3em;
		}
		#footer aside a{
			margin-bottom: 1em;
			}
			#footer aside a:nth-child(even){
				margin-left: 1em;
				}
#fNav{
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
	padding: 2em 0;
	}
	#fNav ul{
		min-width: 1em;
		}
	#fNav li+li{
		margin-top: 1em;
		}
	#fNav a{
		color: #26221f;
		}
#fMenu{}
	#fMenu ul{
		display: -ms-flexbox;
		display: -webkit-flex;
		display: flex;
		-ms-flex-wrap: wrap;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		-ms-flex-align: start;
		-webkit-align-items: flex-start;
		align-items: flex-start;
		-ms-flex-pack: center;
		-webkit-justify-content: center;
		justify-content: center;
		}
	#fMenu li{
		min-width: 1em;
		margin: 0.5em 1em;
		}
}
@media (min-width: 768px) and (max-width: 991px) {
/*768px～991px*/
#fNav{}
	#fNav ul+ul{
		margin-left: 3em;
		}
.wrap{
	max-width: 720px;
	}
}
@media (max-width: 991px) {
/*991px以下*/
}


/* for PC */
@media (min-width: 992px) {
/*992px以上*/
body{
	font-family: Lato, "Noto Sans JP", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, Meiryo, sans-serif;
	font-weight: 300;
	}
#contents{
	padding: 4em 0;
	}
#main{
	width: calc(100% - 17.5em);
	}
#nav{
	top: 2em;
	width: 17.5em;
	padding-left: 2em;
	}
	#nav a{
		font-weight: 400;
		}
#footer{}
	#footer aside{
		padding-top: 4em;
		}
#fNav{}
	#fNav ul+ul{
		margin-left: 3em;
		}
}
@media (min-width: 992px) and (max-width: 1199px) {
/*992px～1200px*/
.wrap{
	max-width: 940px;
	}
}
@media (min-width: 1200px) {
/*1200px以上*/
body{
	font-size: 1.8rem;
	line-height: 1.8em;
	font-weight: 300;
	}
.wrap{
	max-width: 1140px;
	}
}


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


/* animation */
@-webkit-keyframes wrapper {
	0%{opacity: 0}
	100%{opacity: 1}
	}
@keyframes wrapper {
	0%{opacity: 0}
	100%{opacity: 1}
	}


