@charset "UTF-8";
/* common file */
/*X-Small devices (portrait phones, less than 576px)
No media query for `xs` since this is the default in Bootstrap*/
body, #wrapper {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	font-size: auto;
	background: #fff;
	color: #333;
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
}
a {
	text-decoration: underline;
	color: #769164;
}
a:hover {
	text-decoration: underline;
	color: #769164;
}
.scroll-stop {
	position: -webkit-sticky;
	position: sticky;
	top: 0;
	z-index: 1;
	display: block;
	background: #ffffff;
}
/*トップへ戻るボタン*/
.page-top {
	position: fixed;
	bottom: 5px;
	right: 5px;
	font-size: 100%;
	z-index: 1;
}
.page-top a {
	background: #666;
	text-decoration: none;
	color: #fff;
	width: 40px;
	padding: 15px 0;
	text-align: center;
	display: block;
	border-radius: 5px;
	transition: 0.5s;
	opacity: 0.8;
}
.page-top a:hover {
	text-decoration: none;
	background: #999;
}
.klee-one-semi-bld {
	font-family: "a-otf-ud-reimin-pr6n", sans-serif;
	font-weight: 300;
	font-style: normal;
}
.klee-one-semi-reg {
	font-family: uddigikyokasho-pro, sans-serif;
	font-weight: 400;
	font-style: normal;
}
/*ヘッダー部まとめて（ロゴ等）*/
.head-area {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
}
.logo-area {
	flex: 0 1 100%;
	margin-bottom: 10px;
}
/*ヘッダー部おわり*/
/*ロゴサイズ・ヘッダーフォントサイズ*/
.logo-size {
	width: 40%;
	padding-top: 10px;
	margin: 0;
}
.dojo-size {
	font-size: 90%;
}
.dojo-sub-size {
	font-size: 80%;
}

/*ボタン*/
.k-btn {
	display: block;
	border: 1px solid #ff6600;
	text-decoration: none;
	color: #fff;
	padding: 5px;
	text-align: center;
	transition: 1.5s;
	background: #ff6600;
}
.k-btn:hover {
	display: block;
	border: 1px solid #ff6600;
	background: #ffffff;
	padding: 5px;
	color: #000;
	text-align: center;
	opacity: .6;
	text-decoration: none;
}
.midashi-bg {
	background: url("../images/common/midashi-bg.jpg");
}
.table-midashi-color {
	background: #F3EDE0;
}

/*見出しの左右線*/
.line-wrap {
	font-size: auto;
	display: flex;
	align-items: center;
}
.line-wrap:before, .line-wrap:after {
	content: "";
	flex-grow: 1;
	height: 1px;
	background: #444;
	display: block;
}
.line-wrap:before {
	margin-right: .4em;
}
.line-wrap:after {
	margin-left: .4em;
}

/*見出しの左右線（白）*/
.line-wrap-white {
	font-size: auto;
	display: flex;
	align-items: center;
}
.line-wrap-white:before, .line-wrap-white:after {
	content: "";
	flex-grow: 1;
	height: 1px;
	background: #fff;
	display: block;
}
.line-wrap-white:before {
	margin-right: .4em;
}
.line-wrap-white:after {
	margin-left: .4em;
}

.top-back-image {
    background: url("../images/index/main-visual.jpg");
    height: 300px;
    background-position: center center;
    background-size: cover;
}


/*Small devices (landscape phones, 576px and up)*/
@media only screen and (min-width: 576px) {
	
	.top-back-image {
    background: url("../images/index/main-visual.jpg");
    height: 400px;
    background-position: center center;
    background-size: cover;
}
	
	/*ヘッダー部まとめて（ロゴ等）*/
	.logo-area {
		flex: 0 1 60%;
		margin-bottom: 10px;
	}
	.btn-area {
		flex: 0 1 40%;
		padding-top: 5%;
	}
	/*ヘッダー部おわり*/
	/*ロゴサイズ・ヘッダーフォントサイズ*/
	.logo-size {
		width: 60%;
		padding-top: 10px;
		margin: 0;
	}
	

}
/*Medium devices (tablets, 768px and up)*/
@media only screen and (min-width: 768px) {
	
	.top-back-image {
    background: url("../images/index/main-visual.jpg");
    height: 500px;
    background-position: center center;
    background-size: cover;
}
	
	.logo-size {
		width: 70%;
		padding: 0;
		margin: 0;
	}
	/*ヘッダー部まとめて（ロゴ等）*/
	.logo-area {
		flex: 0 1 70%;
		margin-bottom: 10px;
	}
	.btn-area {
		flex: 0 1 30%;
		padding-top: 5%;
	}
	.spmenu-area {
		flex: 0 1 5%;
	}
	/*ヘッダー部おわり*/
	/*ロゴサイズ・ヘッダーフォントサイズ*/
	.logo-size {
		width: 50%;
		padding-top: 10px;
		margin: 0;
	}
	
}
/*Large devices (desktops, 992px and up)*/
@media only screen and (min-width: 992px) {
	
	.top-back-image {
    background: url("../images/index/main-visual.jpg");
    height: 550px;
    background-position: center center;
    background-size: cover;
}
	
	/*ヘッダー部まとめて（ロゴ等）*/
	.logo-area {
		flex: 0 1 78%;
		margin-bottom: 10px;
	}
	.btn-area {
		flex: 0 1 21%;
		padding-top: 5%;
	}
	.spmenu-area {
		flex: 0 1 5%;
	}
	/*ヘッダー部おわり*/
	/*ロゴサイズ・ヘッダーフォントサイズ*/
	.logo-size {
		width: 35%;
		padding-top: 10px;
		margin: 0;
	}
	
}
/*X-Large devices (large desktops, 1200px and up)*/
@media only screen and (min-width: 1200px) {
	.logo-size {
		width: 40%;
		padding: 0;
		margin: 0;
	}
	
	.top-back-image {
    background: url("../images/index/main-visual.jpg");
    height: 650px;
    background-position: center center;
    background-size: cover;
}
	
}
/*XX-Large devices (larger desktops, 1400px and up)*/
@media only screen and (min-width: 1400px) {
	/*ヘッダー部まとめて（ロゴ等）*/
	.logo-area {
		flex: 0 1 80%;
		margin-bottom: 10px;
	}
	
	/*ヘッダー部おわり*/
	/*ロゴサイズ・ヘッダーフォントサイズ*/
	.logo-size {
		width: 25%;
		padding-top: 10px;
		margin: 0;
	}
	
	/*ヘッダーテキスト終わり*/
}