@charset "utf-8";

body{
	position: relative;
	background-color: #FDFBF0;
	color: #5E4847;
	font-family: "メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS P Gothic","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","Arial","Helvetica","Verdana","sans-serif";
	/*font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, sans-serif;*/
	/*font-family: "Abeja Sans", "Noto Sans Japanese", "游ゴシック", "Yu Gothic", YuGothic, Hiragino Sans, "Meiryo", Hiragino Kaku Gothic ProN, sans-serif;*/
	/*font-family: 'Noto Sans Japanese',"YuGothic","Yu Gothic","游ゴシック","Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ","Meiryo",sans-serif;*/
	font-weight: 500;
}

.txt11{font-size: 0.688em;} /*16px->11px*/
.txt14{font-size: 0.875em;} /*16px->14px*/
.txt20{font-size: 1.250em;} /*16px->20px*/
.txt26{font-size: 1.625em;} /*16px->26px*/
.txt32{font-size: 2.000em;} /*16px->32px*/
.txt36{font-size: 2.250em;} /*16px->36px*/
.txt40{font-size: 2.500em;} /*16px->40px*/
.txt50{font-size: 3.125em;} /*16px->50px*/

p{
	line-height: 1.75em;
}

h2:after{
	content: "";
	display: block;
	margin: 25px auto 0;
	border-bottom: 7px solid #F7E253;
	width: 60px;
}

span{
	display: inline-block;
}


img[src$=".svg"]{
	width: 100%;
}

@-ms-viewport {
	width: auto;
}

.trsOp{transition: opacity 0.5s;}
.trsOp:hover{opacity: 0.75;}

.btnM01{ /*<a>class*/
	display: inline-block;
	width: 380px;
	padding: 1.0em 0 0.75em 0;
	background: #F7E253;
	border: 1px #F7E253 solid;
	border-radius: 10px;
	font-size: 1.250em;
	font-weight: bold;
}

.btnM01:link,
.btnM01:hover,
.btnM01:visited,
.btnM01:active{color: #5E4847; text-decoration: none;}

@media screen and (max-width: 767px) {
	body{
		border-top: 7px #5E4847 solid;
	}
	.txt20{font-size: 1.625rem;} /*16px->26px*/
	.txt26{font-size: 2.000rem;} /*16px->32px*/
	.txt32{font-size: 2.000rem;} /*16px->32px*/
	.txt36{font-size: 2.000rem;} /*16px->32px*/
	.txt40{font-size: 2.000rem;} /*16px->32px*/
	.txt50{font-size: 2.000rem;} /*16px->32px*/
	p{
		line-height: 1.5em;
	}
	.btnM01{
		max-width: 80%;
	}
}



/* <header>
------------------------------------------------------------ */
header{
	padding-top: 7px;
}

header .row {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}

#headerLogo {
	margin-right: auto;
}

#headerLogo div.logo,
#footerAddress div.logo{
	text-align: left;
}

#headerLogo div.logo img,
#footerAddress div.logo img{
	vertical-align: bottom;
	margin: 0 5px 5px 0;
}

#headerLogo div.logo a img:first-child,
#footerAddress div.logo a img:first-child{
	max-width: 100px;
}

#headerLogo div.logo a img:nth-child(2),
#footerAddress div.logo a img:nth-child(2){
	max-width: 500px;
}

#headerLogo p{
	border-bottom: 2px #999 dotted;
	display: inline-block;
}

#headerLogo div.logo a img:nth-child(2),
#footerAddress div.logo a img:nth-child(2) {
	max-width: 445px;
}

#footerAddress {
	margin-right: auto;
}

header .bg-white{
	width: 45%;
}

header .bg-white,
footer .bg-white {
	display: flex;
	padding: 1rem;
	background: #fff;
	white-space: nowrap;
}
@media screen and (max-width: 1199px) {
	header .bg-white {
		display: none;
	}

}

footer .bg-white {
	flex-direction: column;
	border: 1px dashed #5e4847;
}

header .bg-white div,
footer .bg-white div {
	width: 100%;
}

header .bg-white div a,
footer .bg-white div a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	transition: 0.5s all;
}

header .bg-white div a {
	flex-direction: column;
	padding: 0.5rem 1rem;
}

header .bg-white #headerTel a {
	padding: 0.5rem 1rem 0;
}

footer .bg-white div a {
	padding: 1.25rem 1rem;
}

header .bg-white div a:hover,
footer .bg-white div a:hover {
	background: #eee;
	text-decoration: none;
}

header .bg-white div + div {
	border-left: 1px solid #ddd;
}

#headerRegist{
	padding-right: 1rem;
	font-size: 16pt;
	width: 75%;
}

#headerRegist .fa-edit:before{
	padding-bottom: 0.25em;
	display: inline-block;
}

#headerTel{
	padding-left: 1rem;
}

footer .bg-white + .bg-white {
	margin-top: 1rem;
}

header .bg-white div p,
footer .bg-white div p {
	margin-bottom: 0;
	text-align: center;
	line-height: 1;
}

header .bg-white div p {
	font-size: 0.8em;
}

header .bg-white div p + p,
footer .bg-white div p + p {
	margin-top: 0.5rem;
}

.fa-edit,
.fa-desktop {
	text-align: center;
	width: 2em;
	vertical-align: middle;
}

.fa-edit::before {
	color: #337ab7;
}

.fa-desktop::before {
	color: #5e4847;
}

#headerRegist a,
#footerRegist a {
	color: #337ab7;
}

#headerOnline a,
#footerOnline a {
	color: #5e4847;
}

#headerTel i,
#footerTel i {
	margin-right: 0.5rem;
}

#headerTel p.txt20/*,
#footerTel p.txt20*/ {
	margin: 0 0 15px;
	padding: 0;
}

#headerTel a,
#footerTel a {
	color: #cd4545;
	pointer-events: none;
}
@media screen and (max-width: 767px) {
	#headerTel a,
	#footerTel a {
		pointer-events: auto;
	}
}

#headerTel .telno,
#footerTel .telno {
	color: #5e4847;
	font-size: 1.5em;
}

#footerTel .telno {
	margin-left: 1em;
	font-weight: 900;
	letter-spacing: 0.03em;
}

#headerTel p,
#footerTel p{
	margin: 0;
	padding: 0;
	line-height: 1.0em;
}

#headerTel p.txt20,
#headerOnline > p.txt20 {
	text-align: left;
    padding: 0;
}

#headerOnline > p.txt20 {
	margin:  0 0 5px 0;
}

#headerTel strong,
#footerTel strong/*,
#bottomInfo strong*/{
	margin-top: 7px;
	color: #CD4545;
}

#headerTel .telno,
/*#footerTel .telno,*/
#bottomInfo .telno{
	font-weight: 900;
	margin: 5px 0 2px 0;
	letter-spacing: 0.03em;
}

#headerTel .telInfo a,
#footerTel .telInfo a,
#bottomInfo .telInfo a{
	background: #CD4545;
	display: inline-block;
	padding: 0.3em 1.15em;
	letter-spacing: 0.1em;
}

@-webkit-keyframes pulse{
	from{
		opacity: 1.0;
	}
	to{
		opacity: 0.7;
	}
}

#headerTel .telInfo a,
#footerTel .telInfo a,
#bottomInfo .telInfo a{
	-webkit-animation-name: pulse;
	-webkit-animation-duration: 0.75s;
	-webkit-animation-iteration-count:infinite;
	-webkit-animation-timing-function:ease-in-out;
	-webkit-animation-direction: alternate;
	-webkit-animation-delay: 0s;
}

#headerTel .telInfo a:link,
#headerTel .telInfo a:visited,
#headerTel .telInfo a:active,
#footerTel .telInfo a:link,
#footerTel .telInfo a:visited,
#footerTel .telInfo a:active,
#bottomInfo .telInfo a:link,
#bottomInfo .telInfo a:visited,
#bottomInfo .telInfo a:active{color: #FFF; text-decoration: none;}

#headerTel .telInfo a:hover,
#footerTel .telInfo a:hover,
#bottomInfo .telInfo a:hover{background: #F88989; text-decoration: none;}

#headerTel .telInfo a {
	padding: 0.5em 1em;
	letter-spacing: 0.05em;
}

header ul{
	font-size: 0%;
	margin: 20px 0 0 0;
	padding: 0;
	list-style-type: none;
}

header ul li{
	font-size: 1.6rem;
	margin: 0;
	padding: 0;
	width: 16.666%;
	display: inline-block;
	box-sizing: border-box;
	text-align: center;
}

header ul li a{
	color: #fff;
	width: 92%;
	display: inline-block;
	padding: 0.25em 0;
	border-radius: 10px;
	font-weight: bold;
}

header ul li a.m01{background: #F7E253; border: 1px #F7E253 solid;}
header ul li a.m02{background: #E98DA5; border: 1px #E98DA5 solid;}
header ul li a.m03{background: #EDA762; border: 1px #EDA762 solid;}
header ul li a.m04{background: #88C570; border: 1px #88C570 solid;}
header ul li a.m05{background: #6FA1D7; border: 1px #6FA1D7 solid;}
header ul li a.m06{background: #A389B4; border: 1px #A389B4 solid;}

header ul li a:link,
header ul li a:hover,
header ul li a:visited,
header ul li a:active{color: #fff; text-decoration: none;}

header ul li a.m01:link,
header ul li a.m01:hover,
header ul li a.m01:visited,
header ul li a.m01:active{color: #5E4847;}

@media screen and (max-width: 1200px) {
	header ul li{
		font-size: 1.2rem;
	}

	header ul li a.m03 {
		letter-spacing: -1.5px;
	}
	
	#footerAddress {
		padding: 0 15px;
	}
}

@media screen and (max-width: 767px) {
	#bottomInfo .telno{
		margin: 5px 0;
	}

	header{
		padding-top: 0;
	}

	#headerLogo{
		padding: 15px;
	}
	#headerLogo p{
	}
	header ul{
		margin: 0;
	}
	header ul li{
		width: 50%;
		margin-bottom: 8px;
	}

	header ul li a.m03 {
		letter-spacing: 0;
	}

	#bottomInfo strong {
		margin-top: 0;
	}
}


/* モーダル */
.modal{
	display: none;
}

.js-modal-open {
	background: #337ab7;
	display: inline-block;
	padding: 0.3em 2.5em;
	letter-spacing: 0.1em;
	color: #fff;
	cursor: pointer;
	white-space: nowrap;
}

a.js-modal-opens:hover,
a.js-modal-opens:focus {
	color: #fff !important;
	opacity: 0.7;
	text-decoration: none !important;
}

.js-modal-close {
	display: inline-block;
	padding: 0.3em 2.5em;
	letter-spacing: 0.1em;
	cursor: pointer;
	border: 1px solid #5E4847;
	color: #5E4847;
}

#modal03 .modal__content p.txt20 {
	margin-bottom: 1em;
}

#modal03 a.js-modal-close {
	margin-top: 30px;
}

#modal03 .col-md-6:first-child {
	margin-bottom: 1.5em;
}
.modal__bg{
	background: rgba(0,0,0,0.8);
	height: 100vh;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 100;
}

.modal__content{
	background: #fff;
	left: 50%;
	padding: 40px;
	position: fixed;
	top: 50%;
	transform: translate(-50%,-50%);
	min-width: 65%;
	z-index: 1000;
}

.modal__content p {
  margin: 0 0 20px;
}

.modal__content .col-md-6 a {
	display: block;
	padding: 0.75em;
	background: #337ab7;
	color: #fff;
}

.modal__content .row {
	margin: 30px 0;
}

@media screen and (max-width: 767px) {
	.onlineBtn {
		display: inline-block;
	}
}

@media screen and (max-width: 480px) {
	.modal__content{
		width: 85%;
		padding: 15px;
	}

	.js-modal-open {
		padding: 0.15em 0.8em;
	}

	.js-modal-close {
		margin-bottom: 0.5em;
	}
}





/* topPage
------------------------------ */
/*スライダー*/
#topSlider{
	margin: 20px 0 0 0;
	background: url("../img/bg_topSlider.png") bottom left;
}

#topSlider .sliderLeft{
	padding-top: 30px;
	padding-left: 45px;
}

#topSlider h1{
	font-weight: 700;
	border-top: #7C4F29 1px solid;
	border-bottom: #7C4F29 1px solid;
	margin: 10px 0 20px 0;
	padding: 0.4em 0.1em 0.25em 0.1em;
	letter-spacing: 0.03em;
}

#topSlider p{
	font-weight: 700;
	line-height: 1.5em;
}

#topSlider ul{
	padding: 1.0em;
	margin: 30px 0 100px 0;
}

#topSlider ul li{
	display: inline-block;
}

#topSlider ul li a{
	padding: 0.75em 2.5em 0.65em 1.75em;
	margin: 0 30px 0 0;
	background: #fff;
	text-align: center;
	font-weight: 700;
	border-radius: 2em;
	-webkit-box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.3);
	box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.3);
	transition: background-color 0.5s;
}

#topSlider ul li a:link,
#topSlider ul li a:hover,
#topSlider ul li a:visited,
#topSlider ul li a:active{color: #E9734F; text-decoration: none;}
#topSlider ul li a:hover{background-color: #F4F4F4; box-shadow: none;}

#topSlider .sliderLeft span{
	font-family: "M PLUS 1p";
}

#topSlider .sliderLeft span.txt40{
	font-weight: 700;
}

#topSlider .sliderRight img{
	margin: 0 auto;
	max-width: 90%;
}

.slider{ /*for slick*/
	opacity: 0;
	transition: 1.5s;
}
.slick-initialized{ /*for slick*/
	opacity: 1;
}

@media screen and (max-width: 991px) {
	#topSlider ul li a{
		padding: 0.5em 1.5em 0.35em 1.0em;
		margin: 0 15px 0 0;
	}
}

@media screen and (max-width: 767px) {
	#topContent h2{
		margin: 0 10px;
	}
	#topSlider{
		background: url("../img/bg_topSliderSP.png") bottom left;
	}
	#topSlider .sliderLeft{
		padding-top: 10px;
		padding-left: 15px;
	}
	#topSlider .sliderLeft p{
		padding-bottom: 15px;
		line-height: 1.25em;
	}
	#topSlider button{
		display: none !important;
	}
	#topSlider .sliderRight img{
		margin: 20px auto 0 auto;
		max-width: 100%;
	}
	#topSlider p{
		font-size: 1.0rem;
	}
}

@media screen and (max-width: 555px) {
	#topSlider ul{
		display: none;
	}
}

/*施設案内*/
#topFloor{
	padding: 30px 0 60px 0;
}

#topFloor p{
	line-height: 1.25em;
}

#topFloor div.floorWrap{
	margin: 30px 0;
	padding: 45px 0;
	background: url("../img/bg_topFloor.png") top;
	position: relative;
}

#topFloor div.floormap img{
	margin: 0 auto;
}

#topFloor div.ico00{
	position: absolute;
	bottom: 20%;
	left: 22%;
}

#topFloor div.ico01{
	position: absolute;
	top: 4%;
	left: 35%;
}

#topFloor div.ico02{
	position: absolute;
	top: 18%;
	left: 5%;
}

#topFloor div.ico03{
	position: absolute;
	top: 13%;
	right: 3%;
}

#topFloor div.floorstaff{
	position: absolute;
	bottom: 0;
	left: 20%;
}

#topFloor div.floorstaff p,
#topFloor div.floorstaff img{
	display: inline-block;
	vertical-align: bottom;
	color: #E9734F;
	font-weight: 700;
}

#topFloor div.floorBtn{
	margin: 15px 0 0 0;
}

@media screen and (max-width: 767px) {
	#topFloor div.floorWrap{
		padding: 0 0 150px 0;
	}
	#topFloor div.floorstaff{
		bottom: 0;
		left: 0;
	}
	#topFloor div.floorstaff p{
		width: 60%;
		float: left;
		text-align: right;
		padding: 30vw 0 0 15px;
	}
	#topFloor div.floorstaff img{
		width: 40%;
		float: right;
		padding: 0 15px 0 15px;
	}
}

@media screen and (max-width: 500px) {
	#topFloor div.floorstaff p{
		padding: 15vw 0 0 15px;
	}
}

/*セミナー*/
#topSeminarList{
	padding: 30px 0 60px 0;
	background: #E7F0DB;
}

#topSeminarList div.row{
	padding: 30px 0;
}

#topSeminarList div.col-sm-4 div{
	background-color: rgba(255,255,255,1.0);
	border-radius: 10px;
	box-shadow:0px 0px 9px -5px #564B0C;
	padding: 40px 15px 40px 120px;
	margin: 0 0 15px 0;
	background-repeat: no-repeat;
	background-position: 10px center;
	background-size: 100px;
	position: relative;
	transition: background-color 0.5s;
}

#topSeminarList div.col-sm-4 div:hover{
	background-color: rgba(250,245,218,1.00);
}

#topSeminarList div.col-sm-4:first-child  div{background-image: url("../img/bg_topSeminar01.png");}
#topSeminarList div.col-sm-4:nth-child(2) div{background-image: url("../img/bg_topSeminar02.png");}
#topSeminarList div.col-sm-4:nth-child(3) div{background-image: url("../img/bg_topSeminar03.png");}


#topSeminarList div.col-sm-4 div a{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	text-indent:-9999px;
}

#topSeminarList div.col-sm-4 div h3{
	margin: 0 0 0.5em 0;
	color: #337ab7;
	font-weight: 700;
	text-decoration: underline;
}

#topSeminarList div.col-sm-4 div h3 small{
	display: inline-block;
	background: #E9734F;
	color: #fff;
	vertical-align: middle;
	padding: 0.25em;
	margin: 0 0.5em;
}

#topSeminarList div.col-sm-4 div p{
	line-height: 1.25em;
	min-height: 3.75em;
	max-height: 6em;
	overflow: hidden;
}

/*リンク*/
#topBnr{
	padding: 60px 0;
}

#topBnr div.col-sm-4 img{
	width: 90%;
	margin: 15px auto 3px auto;
	border: 1px #ddd solid;
}

#topBnr div.col-sm-4 a:link,
#topBnr div.col-sm-4 a:hover,
#topBnr div.col-sm-4 a:visited,
#topBnr div.col-sm-4 a:active{text-decoration: none;}

@media screen and (max-width: 767px) {
	#topBnr{
		padding: 30px 0;
	}
	#topBnr{
		font-size: 0.688em; /*14px->11px*/
	}
	#topBnr div.col-sm-4 a:link,
	#topBnr div.col-sm-4 a:hover,
	#topBnr div.col-sm-4 a:visited,
	#topBnr div.col-sm-4 a:active{letter-spacing: -0.2px;}
}


/* <footer>
------------------------------ */
footer{
	background: #F7E253;
	padding: 45px 0 0 0;
}

footer .row {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

footer div.logo{
	max-width: 480px;
	padding: 0 0 15px 0;
}

footer div.copyright{
	margin-top: 45px;
	padding: 15px 0;
	background: #5E4847;
	color: #fff;
}

footer div.copyright p{
	margin: 0;
}

#footerTel div,
#footerOnline > div{
	background: #FDFBF0;
	padding: 15px;
	/*margin: 0 0 0 45px;*/
	margin: 0 0 0 100px;
	border: 1px #765B59 dashed;
	text-align: center;
}

#bottomLink {
	display: none;
}
@media screen and (max-width: 1199px) {
	#bottomLink{
		display: block;
	}
}
#footerLink > div {
    /*background: #FDFBF0;*/
    padding: 15px;
/*
    margin: 10px 0 0 100px;
*/
    /*border: 1px #765B59 dashed;*/
    text-align: right;
}


/* bottom
------------------------------ */

#bottomInfo {
	position: fixed;
	z-index: 9998;
	bottom: 0;
	display: flex;
	align-items: flex-end;
	color: #312524;
	background: rgba(255,255,255,0.95);
	width: 100%;
/*
	padding: 15px 0 7px 0;
*/
	border-top: 1px #765B59 dashed;
}

#bottomInfo p{
	vertical-align: text-top;
}
#bottomInfo span{
	vertical-align: middle;
}

#bottomInfo .telno{
	letter-spacing: -0.05em;
}

#bottomInfo .telInfo a{
	background: #CD4545;
	margin-top: -5em;
	padding: 0.15em 1.0em;
	letter-spacing: 0;
}

#bottomInfo p{
	margin: 0;
}

#bottomWrap {
	display: flex;
	width: 100%;
}

#bottomWrap div {
	width: 50%;
}

#bottomWrap div + div {
	border-left: 1px solid #ddd;
}

#bottomWrap div a {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 1em 0;
	font-size: min(3.5vw, 1.5rem);
}

#bottomInfo .telno {
    display: block;
	margin: 0.3em 0 0 0;
	line-height: 1;
}

#bottomRegist a {
	color: #337ab7;
}

#bottomOnline a {
	color: #5e4847;
}

#bottomTel a {
	color: #cd4545;
}

@media screen and (max-width: 1199px) {
/*
	#bottomInfo{
		padding: 15px 0;
	}
*/
	#bottomInfo .telno{
		font-size: 1.625em; /*16px->26px*/
	}
}

@media screen and (max-width: 767px) {
	#bottomInfo{
/*
		padding: 10px 0 15px 0;
*/
		flex-direction: column;
		align-items: center;
/*
		padding: 5px 0;
*/
	}

	#bottomInfo .telno{
    	display: inline-block;
		font-size: 1.0em; /*16px*/
	}

/*
	#bottomWrap {
		flex-direction: column;
		align-items: flex-start;
		width: 35rem;
	}
*/

	#bottomTel,
	#bottomOnline {
		width: auto;
	}

/*
	#bottomOnline {
		margin-top: 3px;
		border-left: none;
	}
*/

	#bottomOnline strong {
		margin-bottom: 0;
	}
}

@media screen and (max-width: 480px) {
/*
	#bottomWrap {
		width: 30rem;
	}
*/
}



/* pageTop
------------------------------ */
#pageTop{
	display: none;
	font-size: 3.0em;
	position: fixed;
	z-index: 999;
	bottom: 20px;
	right: 20px;
	color: #312524;
	opacity: 0.85;
	cursor: pointer;
}

#pageTop:link{color: #312524;}
#pageTop:visited{color: #312524;}
#pageTop:active{color: #312524;}
#pageTop:hover{color: #312524;}



@media screen and (max-width: 1199px) {
	#pageTop{
		bottom: 80px;
		right: 10px;
	}
}

