@charset "utf-8";

/* CSS Document */
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@400;500;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap');



/*------------------------------------------------------------------------------------------------------------------
　base style
-------------------------------------------------------------------------------------------------------------------*/
* {
	-webkit-box-sizing: border-box;
   -moz-box-sizing: border-box;
   box-sizing: border-box;
}


body{
	color:#351f09;
	font-size:21px;
	margin:0;
	height:100%;
	position:relative;
	font-family: 'M PLUS Rounded 1c',"ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	line-height:1.5;
	overflow-x:hidden;
}

@media screen and (max-width: 750px) {

	body {
		font-size: 23px;
		width: 750px !important;
		max-width: 750px !important;
	}
}

a{color: #009994;}
a:link {color:#009994; text-decoration:none;}
a:visited {color:#009994; text-decoration:none;}
a:hover {color:#99ccff; font-weight: bold; }

img {
	border:0;
	vertical-align: bottom;
}

section{padding:100px 0;}


a[href^="tel:"] {
    pointer-events:none;
}

@media screen and (max-width: 750px) {
	a[href^="tel:"] {
		pointer-events:auto;
	}
}

/*------------------------------------------------------------------------------------------------------------------
　font-size
-------------------------------------------------------------------------------------------------------------------*/

h1{font-size:50px;margin: 0;}
h2{font-size:40px;margin: 0;margin-bottom: 70px; position: relative;text-align: center;}
h3{font-size:32px;margin: 0;padding-bottom: 50px;}
h4{font-size:28px;}
h5{font-size:24px;}
h6{font-size:21px;}


@media screen and (max-width: 750px) {
h1{font-size:52px;}
h2{font-size:42px;}
h3{font-size:34px;}
h4{font-size:30px;}
h5{font-size:26px;}
h6{font-size:24px;}

}

/*------------------------------------------------------------------------------------------------------------------
　preparation
-------------------------------------------------------------------------------------------------------------------*/

#lineup-font-size-sampler { display:none; }

div:after, section:after, article:after, ul:after {
    content: "";
    display: block;
    clear: both;
}

.link a {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	display:block;
	text-indent:100%;
	overflow:hidden;
	white-space:nowrap;
}

/*------------------------------------------------------------------------------------------------------------------
　expression
-------------------------------------------------------------------------------------------------------------------*/

.clear { clear:both; }

.under { margin-bottom:30px !important; }
.under-db { margin-bottom:60px !important; }
.under-harf { margin-bottom:15px !important; }

.right { float:right; margin-left:30px; margin-bottom:15px; margin-top:5px;}
.left { float:left; margin-right:30px; margin-bottom:15px; margin-top:5px;}

.text-center { text-align:center; }
.text-left { text-align:left; }
.text-right { text-align:right; }

.first { padding-top:0 !important; margin-top:0 !important; }
.last { padding-bottom:0 !important; margin-bottom:0 !important; }

.ro img:hover,.ro:hover {
	opacity:0.8;
	filter: alpha(opacity=80);
	-ms-filter: "alpha( opacity=80 )";
}

.dropshadow {
	box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.17);
  -moz-box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.17);
  -webkit-box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.17);
}

/* 画像のぼやけ対策 */
.rendering {
	backface-visibility: hidden;
	filter: blur(0);
	image-rendering: -webkit-optimize-contrast;
}

.overflowHidden {
    overflow: hidden;
}

/*------------------------------------------------------------------------------------------------------------------
　img align for wordpress
-------------------------------------------------------------------------------------------------------------------*/

.aligncenter {
    display: block;
    margin: 0 auto;
	padding-bottom:25px;
	max-width:100%;
}
.alignright { float: right; margin-left:30px; margin-bottom:25px; max-width:100%; }
.alignleft { float: left; margin-right:30px; margin-bottom:25px; max-width:100%; }

.aligncenter img, .alignright img, .alignleft img {
	max-width:100%;
	height:auto;
}

@media screen and (max-width: 1140px) {
	.aligncenter {
		display: block;
		margin: 0 auto;
		padding-bottom:25px;
		max-width:100%;
		text-align:center;
	}
	.alignright { float: none; margin: 0 auto; margin-bottom:0; padding-bottom:25px; max-width:100%; text-align:center; }
	.alignleft { float: none; margin: 0 auto; margin-bottom:0; padding-bottom:25px; max-width:100%; text-align:center; }
}


/*------------------------------------------------------------------------------------------------------------------
　primary
-------------------------------------------------------------------------------------------------------------------*/

#primary {
	width:100%;
	height:100%;
	min-width:750px;
	margin-left: auto;
	margin-right: auto;
	text-align: left;
}

@media screen and (max-width: 750px) {
	#primary {
		width: 750px;
		min-width: 750px;
		overflow: hidden;
	}
}

article {
	width:100%;
	max-width: 1240px;
	margin-left:auto;
	margin-right:auto;
	position:relative;
	transition:0.3s;

}

@media screen and (max-width: 1440px) {
	article {
		width:100%;
		padding-left:30px;
		padding-right:30px;
	}
}

@media screen and (max-width: 750px) {
	article {
		width: 750px;
		min-width: 750px;
		overflow: hidden;
	}
}

.inner {
  width: 1240px;
  margin-left:auto;
  margin-right:auto;

}

@media screen and (max-width: 1440px) {
	.inner{
		width:100%;
		padding-left:30px;
		padding-right:30px;
	}
}

@media screen and (max-width:750px) {
  .inner {
		width: 750px;
		min-width: 750px;
		overflow: hidden;
  }
}



/*------------------------------------------------------------------------------------------------------------------
　header
-------------------------------------------------------------------------------------------------------------------*/

header{
	width: 100%;
	min-width: 750px;
	position:absolute;
	top: 0;
	left: 0;
	z-index: 5;
}

header .option{
	padding-top: 20px;
	text-align:left;
	letter-spacing: -0.05em;
	font-size: 21px;
	color:#0033cc;
	font-weight:bold; 
}

header .option span{
	display: block;
	line-height: 1.2;
    position: relative;
    z-index: 2;
	letter-spacing: -0.11em;
}


@media (max-width: 1240px) {
	header .option{
		text-align: left;
		padding-left: 15px;
	}
}

@media (max-width: 900px) {
	header .option{padding-left: 0px;}
}




header .tel{
	background-image: url("../image/common/header/cloud-bg.png");
	background-size: cover;
	background-position: center;
	width:414px;
	height: 218px;
	position: absolute;
	right: 100px;
	top:15px;
}

@media (max-width: 1440px) {
	header .tel{right: 50px;}
}

@media (max-width: 1360px) {
	header .tel{
		background-size: contain;
		width:auto;
		/*height: 180px;*/
		height: 200px;
		background-repeat: no-repeat;
		right: 5px;
		top:30px;
	
	}	
}


@media (max-width: 800px) {
	header .tel{
		height: 180px;
		/*right: 45px;*/
		top:45px;
		/*right: 30px;*/
	}	
}

/*
header .tel .uketuke{
	margin: 0 25px;
	text-align: center;
	font-family: 'Noto Sans JP', sans-serif; 
	background-color: rgba(253, 244, 0,0.4) ;
	border-radius:50px;
	padding:7.5px 10px;
	line-height: 1.0;
	font-weight: bold;
}*/

header .tel .uketuke{
	text-align: center;
	padding-top: 80px;
	margin: 0;
	line-height: 1.0;
}

@media (max-width: 1360px) {
	header .tel .uketuke{
		padding-top: 70px;

	}
}

@media (max-width: 750px) {
	header .tel .uketuke{
		padding-top: 60px;

	}
}




header .tel span.time{
	font-size: 20px;
	display: inline-block;
	background-color: rgba(253, 244, 0,0.4) ;
	font-family: 'Noto Sans JP', sans-serif; 
	border-radius:50px;
	font-weight: bold;
	padding:7.5px 15px;
}

@media (max-width: 750px) {
header .tel span.time{
		font-size: 22px;
		letter-spacing: -0.05em;
	}
}



header .tel .holiday{
	line-height: 1.0;
	position: relative;
	z-index: 1;
	text-align: right;
	width: 260px;
	display: block;
	margin: -15px auto 0;
}
@media (max-width: 750px) {
header .tel .holiday{
		margin: -10px auto 0;
	}
}


header .tel span.day{
	letter-spacing: -0.075em;
	font-size: 18px;
	display: inline-block;
	font-weight: bold;
	color: #f56e4e;
	font-family: 'Noto Sans JP', sans-serif; 
}

@media (max-width: 750px) {
header .tel span.day{
		font-size: 20px;
	}
}




header .tel a{
	font-size: 28px;
	font-weight: 500;
	color:#330000;
	padding:10px 30px 10px 70px;
	display: block;
}


@media (max-width: 750px) {
header .tel a{
		font-size: 26px;
	}
}


@media (max-width: 1360px) {
	/*header .tel a{padding: 100px 50px 50px 50px;}*/
	header .tel a{padding: 10px 50px 10px 50px;}
}

header .tel a span{position: relative;padding-left: 40px;}

header .tel a span:before{
	position: absolute;
	content: "";
	background-image: url("../image/common/menu/tel-icon.png");
	width: 100%;
	height: 45px;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	background-size: contain;
	background-repeat: no-repeat;	
}

@media (max-width: 750px) {
header .tel a span:before{
		height: 40px;
	}
}




/*------------------------------------------------------------------------------------------------------------------
　navi
-------------------------------------------------------------------------------------------------------------------*/
h1.logo{
	font-size: 0;
	/*text-align: center;*/
	width: 510px;
	/*margin: auto;*/
	position: relative;
	z-index: 1;
	margin-left: -30px;
	display: inline-block;
	margin-bottom: 50px;
}


@media (max-width: 1240px) {
	h1.logo{margin-left: -15px;margin-bottom: 0px;}
}


@media screen and (max-width: 900px) {
	/*h1.logo{width: 380px;margin: 0;}*/
	h1.logo{width: 420px;margin-left: -30px;}
	h1.logo img{width: 100%;height: auto;}
}


/*@media screen and (max-width: 750px) {
	h1.logo{width: 400px;}
}*/

.logo a {padding:25px 30px 0px;display: block;}

@media screen and (max-width: 900px) {
	/*.logo a {padding-top: 70px;}*/
	
}

header .facebook{
	/*text-align: center;*/
	text-align: left;
	/* margin-bottom: 30px; */
	display: inline-block;
	vertical-align: top;
	/* padding-top: 30px; */
	margin-top: 60px;
}

@media (max-width: 1240px) {
	/*header .facebook{text-align: left;padding:0 45px; }*/
	header .facebook{display: block;margin: 0 0 30px;}
}


@media (max-width: 900px) {
	header .facebook{padding:0;margin-left: -30px;}
}

header .facebook a{
	display: inline-block;
	padding: 10px 30px 10px 0;
	position: relative;
	font-weight: bold;
	font-size: 22px;
	color: #0033cc;	
}

@media (max-width: 900px) {
	header .facebook a{padding:10px 30px; }
}

/*header .facebook a:before, header .facebook a:after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 30px;
  height: 1px;
  background-color: black;
}

header .facebook a:before {
  left:0;
}
header .facebook a:after {
  right: 0;
}


@media (max-width: 900px) {
	header .facebook a:before, header .facebook a:after {content: none;}
}*/

header .facebook a:hover{opacity: 0.8;}

header .facebook a span{padding-left: 15px;}



.navimenu {display: block;}

.navimenu ul{
	padding: 0 100px;
	list-style: none;
	width: 100%;
	margin: 0;
  	display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
	-webkit-box-orient: horizontal;
  	-webkit-box-direction: normal;
  	-ms-flex-direction: row;
  	flex-direction: row;
	-ms-flex-line-pack: center;
	align-content: center;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	background-color: rgba(255,255,255,0.7);
}

@media (max-width: 1440px) {
	.navimenu ul{padding: 0 70px;}
}
@media (max-width: 1100px) {
	.navimenu ul{padding: 0 30px;}
}

@media screen and (max-width: 1000px) {
	.navimenu ul{
		/*background-color:transparent;*/
		display: none;
	}
}
.navimenu ul li{ display: inline-block;}

.navimenu ul li a{
	 text-decoration: none;
	 border-bottom: none;
	 display: block;
	 position: relative;
	font-size: 22px;
	padding:25px;	
	font-weight: 500;
	padding-top: 75px;
	line-height: 1.0;
}

/*
@media (max-width: 1440px) {
	.navimenu ul li a{ padding:30px 20px;}
}

@media (max-width: 1080px) {
	.navimenu ul li a { padding:15px 20px;}
}
*/
@media (max-width: 750px) {
	.navimenu ul li a { font-size: 26px;}
}


.navimenu ul li a:before{
	position: absolute;
	content: "";
  	top: 25px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	height: 40px;
	width: 100%;
}

.navimenu ul li:nth-child(1) a::before{background-image: url("../image/common/menu/home-icon.png");}
.navimenu ul li:nth-child(2) a::before{background-image: url("../image/common/menu/counseling-icon.png");}
.navimenu ul li:nth-child(3) a::before{background-image: url("../image/common/menu/profile-icon.png");}
.navimenu ul li:nth-child(4) a::before{background-image: url("../image/common/menu/price-icon.png");}
.navimenu ul li:nth-child(5) a::before{background-image: url("../image/common/menu/contact-icon.png");}

.navimenu ul li:nth-child(1) a:hover::before{background-image: url("../image/common/menu/hover-home-icon.png");}
.navimenu ul li:nth-child(2) a:hover::before{background-image: url("../image/common/menu/hover-counseling-icon.png");}
.navimenu ul li:nth-child(3) a:hover::before{background-image: url("../image/common/menu/hover-profile-icon.png");}
.navimenu ul li:nth-child(4) a:hover::before{background-image: url("../image/common/menu/hover-price-icon.png");}
.navimenu ul li:nth-child(5) a:hover::before{background-image: url("../image/common/menu/hover-contact-icon.png");}




.sp-menu{display: none;}



@media screen and (max-width: 1000px) {

.pc-menu{display: none;}

.sp-menu{display: block;}

	
.navimenu-toggle {
	cursor: pointer;
	background-color: #009994;
	border: 0;
	padding: 10px;
	height: 70px;
	width: 70px;
	position: fixed;
	right: 30px;
	top:30px;
	display: inline-block;
	z-index: 10;
	outline:none;
}
.navimenu-toggle:hover {
	background-color: #fff;
	border: 3px solid #0d7f89;
	outline: none;
}

[type=button]:not(:disabled), [type=reset]:not(:disabled), [type=submit]:not(:disabled), button:not(:disabled) {
   outline: none;
}	
		
.navimenu-toggle-bar{
  display: block;
  width: 50px;
  height: 3px;
  background-color: #fff;
  -webkit-transition: 0.15s cubic-bezier(0.75, -0.55, 0.25, 1.55);
  transition: 0.15s cubic-bezier(0.75, -0.55, 0.25, 1.55);
}
	
.navimenu-toggle:hover .navimenu-toggle-bar{
background-color: #0d7f89;
width: 47px;
}
	
.navimenu-toggle-bar + .navimenu-toggle-bar {
  margin-top: 9px;
}

.navimenu-toggle.active .navimenu-toggle-bar {
  margin: 0;
  position: absolute;
}
.navimenu-toggle.active .navimenu-toggle-bar:nth-child(1) {
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}
.navimenu-toggle.active .navimenu-toggle-bar:nth-child(2) {
  opacity: 0;
}
.navimenu-toggle.active .navimenu-toggle-bar:nth-child(3) {
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

	
 .sp-navimenu-nav{
    display: none;
 }
	
.sp-navimenu-nav.open{
    display: block;
}	
	
.sp-navimenu-nav {
	width: 100%; 
	position: fixed;
	background-color: #d5eaff!important;
	height:100vh;
	top: 0;
	left: 0;
	padding: 50px!important;
	z-index: 9;
	text-align: center;
	min-width: 750px;
	overflow-y: scroll;
	-webkit-overflow-scrolling: touch;   	  
	margin-top: 0;
  }
	
	.sp-navimenu-nav ul{
		margin: 0;
		list-style: none;
		display:-webkit-box;
		display:-ms-flexbox;
		display:flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		padding:25px 50px 50px;
	}
	
  .sp-navimenu-nav li {
   width:calc(50% - 15px);
	border-bottom: 2px dashed #dab896;
	margin-right: 30px;
  }
	
.sp-navimenu-nav li:nth-child(2n){margin-right: 0;}

.sp-navimenu-nav li:last-child a::before{
	background-image: url("../image/common/menu/tel-icon.png");
	background-size: contain;
	width: 36px;
	height: 56px;
	top:15px;
}

.sp-navimenu-nav li:last-child a{
	font-size: 25px;
	font-weight: 500;
	color: #330000;
}	

/*.sp-navimenu-nav a:hover{color: #0d7f89;}	*/

.sp-navimenu-nav .item{
	padding: 0px 30px 60px;
	background-color: rgba(255,255,255,0.7);
}	

.sp-navimenu-nav .logo{
	display: block;
}

.sp-navimenu-nav .item .facebook{
	text-align: center;
	margin-bottom: 0;
}	
	
.sp-navimenu-nav .item .facebook a{padding: 0 45px;}	
	
.sp-navimenu-nav .item .facebook a:before, .sp-navimenu-nav .item .facebook a:after {content: ""!important;}	
	
}



@media screen and (max-width: 750px) {
	  .sp-navimenu-nav li {
	   width:100%;
		border-bottom: 2px dashed #dab896;
		margin-right: 0;
	  }	
	
	.sp-navimenu-nav li:last-child a{
		font-size: 32px;
	}	
}


.sp-navimenu-nav .navimenu ul li a{letter-spacing: -0.05em;}

.sp-navimenu-nav .option{text-align: center;padding: 0;padding-bottom: 15px;font-size: 24px;}


/*------------------------------------------------------------------------------------------------------------------
動物動き
-------------------------------------------------------------------------------------------------------------------*/

.animation{
  animation:jump 5s infinite;
  -webkit-animation:jump 5s infinite;
  -moz-animation:jump 5s infinite;
}

.key{animation-name: jump;}

@keyframes jump{
  0%{transform:translate(0,0px);}
  3%{transform:translate(0,-10px);}
  5%{transform:translate(0,0px);}
  6%{transform:translate(0,-5px);}
  7%{transform:translate(0,0px);}
  100%{transform:translate(0,0px);}
}
@-webkit-keyframes jump{
  0%{-webkit-transform:translate(0,0px);}
  3%{-webkit-transform:translate(0,-10px);}
  5%{-webkit-transform:translate(0,0px);}
  6%{-webkit-transform:translate(0,-5px);}
  7%{-webkit-transform:translate(0,0px);}
  100%{-webkit-transform:translate(0,0px);}
}
@-moz-keyframes jump{
  0%{-moz-transform:translate(0,0px);}
  3%{-moz-transform:translate(0,-10px);}
  5%{-moz-transform:translate(0,0px);}
  6%{-moz-transform:translate(0,-5px);}
  7%{-moz-transform:translate(0,0px);}
  100%{-moz-transform:translate(0,0px);}
}

.animal01 {animation-delay: 1s;}
.animal02 {animation-delay: 3s;}
.animal03 {animation-delay: 5s;}

.point01 {animation-delay: 1s;}
.point02 {animation-delay: 3s;}
.point03 {animation-delay: 5s;}
.point04 {animation-delay: 7s;}
.point05 {animation-delay: 9s;}
.point06 {animation-delay: 11s;}

/*------------------------------------------------------------------------------------------------------------------
共通 マーカー風
-------------------------------------------------------------------------------------------------------------------*/

.msg-line.active{
 background-position: -100% .75em;
}

.msg-line{
	background-image: -webkit-linear-gradient(left, transparent 50%,  rgba(253, 244, 0,0.4) 50%);
	background-image: -moz-linear-gradient(left, transparent 50%,rgba(253, 244, 0,0.4) 50%);
	background-image: -ms-linear-gradient(left, transparent 50%, rgba(253, 244, 0,0.4) 50%);
	background-image: -o-linear-gradient(left, transparent 50%, rgba(253, 244, 0,0.4) 50%);
	background-image: linear-gradient(left, transparent 50%,rgba(253, 244, 0,0.4) 50%);
	background-repeat: repeat-x;
	background-size: 200% 40%;
	background-position: 0 .75em;
	transition: all 3.5s ease;
}




/*------------------------------------------------------------------------------------------------------------------
more-btn
-------------------------------------------------------------------------------------------------------------------*/

.more-btn{
	width: 890px;
	list-style: none;
	padding-left: 0;
	display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
	-webkit-box-orient: horizontal;
  	-webkit-box-direction: normal;
  	-ms-flex-direction: row;
  	flex-direction: row;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	margin: auto;
	margin-top: 70px;
}

@media screen and (max-width: 1000px) {
	.more-btn{
		width: 100%;
	}	
}

@media screen and (max-width: 850px) {
	.more-btn{
	-webkit-box-orient: vertical;
  	-webkit-box-direction: normal;
  	-ms-flex-direction: column;
  	flex-direction: column;
	}	
}


.more-btn li{
	width: calc(50% - 25px);
	margin-right: 50px;
}

.more-btn li:last-child{
	margin-right: 0px;
}


@media screen and (max-width: 1000px) {
	.more-btn li{
		width: calc(50% - 15px);
		margin-right: 30px;
	}	
}


@media screen and (max-width: 850px) {
	.more-btn li{
		width: 400px;
		margin-right: 0px;
		margin-bottom: 30px;
	}
	.more-btn li:last-child{margin-bottom: 0;}
}

@media screen and (max-width: 750px) {
	.more-btn li{
		width: 450px;
	}
}



.more-btn li a{
	display: block;
	width: 100%;
	padding: 25px 55px 25px 45px;
	background-color: #009994;
	border-radius: 39px;
	position: relative;
	font-size: 24px;
	font-weight: bold;
	line-height: 1.0;
	color: #fff;
	border:1px solid #009994;
}

@media screen and (max-width: 1000px) {
	.more-btn li a{padding: 25px 55px 25px 30px;}
	
}

@media screen and (max-width: 750px) {
	.more-btn li a{
		font-size: 28px;
		padding: 25px 55px 25px 40px;
	}
}

.more-btn li a:before{
	position: absolute;
	content: "";
	right:15px;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
	background-image: url("../image/common/arrow.png");
	width: 40px;
	height: 40px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

.more-btn li a:hover{background-color:#99ccff; border:1px solid #99ccff;}

.more-btn li a:hover:before{background-image: url("../image/common/hover-arrow.png");}




/*------------------------------------------------------------------------------------------------------------------
　footer
-------------------------------------------------------------------------------------------------------------------*/
#footer{
	position: relative;
	width:100%;
	background-color: #fff;
	padding:80px 0 620px;
}

@media (max-width: 750px) {
	#footer{padding-top: 0;}
}



#footer::before{
	content: "";
	position: absolute;
	background-image: url("../image/common/footer/footer-bg-up.png");
	background-position: center;
	width: 100%;
	height: 369px;
	top: 0;
}

#footer::after{
	content: "";
	position: absolute;
	background-image: url("../image/common/footer/footer-bg-down.png");
	background-position: center;
	width: 100%;
	height: 633px;
	bottom: 80px;
	z-index: 1;
}

#footer .logo{
	padding: 25px 25px 15px;
	display: block;
	text-align: center;
	width: 510px;
	margin: auto;	
}

@media (max-width: 1200px) {
	#footer .logo{margin: 0;}
}

@media screen and (max-width: 900px) {
	#footer .logo{width: 420px;margin: 0;padding:10px 15px;}
	#footer .logo img{width: 100%;height: auto;}
}

@media (max-width: 750px) {
	#footer .logo{margin-top: 0px;}
}


#footer .facebook{
	text-align: center;
}

@media (max-width: 1200px) {
	#footer .facebook{text-align: left;padding:0 30px; }
}


@media (max-width: 900px) {
	#footer .facebook{padding:0 15px; }
}

#footer .facebook a{
	display: inline-block;
	padding: 10px 55px;
	position: relative;
	font-weight: bold;
	font-size: 22px;
	color: #0033cc;	
}

@media (max-width: 900px) {
	#footer .facebook a{padding:10px 45px; }
}

#footer .facebook a:before, #footer .facebook a:after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 30px;
  height: 1px;
  background-color: black;
}

#footer .facebook a:before {
  left:0;
}
#footer .facebook a:after {
  right: 0;
}


@media (max-width: 900px) {
	/*#footer .facebook a:before, #footer .facebook a:after {content: none;}*/
}

#footer .facebook a:hover{opacity: 0.8;}

#footer .facebook a span{padding-left: 15px;}

#footer .option{
	text-align: center;
	letter-spacing: -0.05em;
	font-size: 21px;
	color:#0033cc;
	font-weight:bold; 
}

#footer .option span{
	display: block;
	line-height: 1.2;
    position: relative;
    z-index: 2;
	letter-spacing: -0.11em;
}


@media (max-width: 1200px) {
	#footer .option{
		text-align: left;
		padding-left: 30px;
	}
}

	@media (max-width: 900px) {
	#footer .option{
		padding-left: 15px;
		margin-top: -15px;
	}
}


@media (max-width: 750px) {
	#footer .option{
		margin-top: 50px;
	}
}

/*#footer .option span br{display: none;}

@media (max-width: 900px) {
	#footer .option span br{display: block;;}
}
*/

#footer .option br.pc-none{display: none;}
@media (max-width: 950px) {
	#footer .option br.pc-none{display: block;}
}

#footer .option span:nth-of-type(1) br{display: none;}
@media (max-width: 800px) {
	#footer .option span:nth-of-type(1) br{display: block;}
}



#footer .tel{
	background-image: url("../image/common/footer/tel-bg.png");
	background-size: cover;
	background-position: center;
	width:303px;
	height: 235px;
	position: absolute;
	right: 0;
	top:-80px;
}


@media (max-width: 900px) {
	#footer .tel{top:-65px;}
}

@media (max-width: 750px) {
	#footer .tel{top: 0px;}
}

#footer .tel a{
	font-size: 27px;
	font-weight: 500;
	color:#330000;
	display: block;
	text-align: center;
	padding:190px 40px 30px;
	line-height: 1.2;
	position: relative;
}

#footer .tel a span{
	display: block;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
}

#footer .tel .uketuke{
	text-align: center;
	margin: 0;
	line-height: 1.0;
	margin-top:-60px;
}

#footer .tel span.time{
	font-size: 20px;
	display: inline-block;
	font-family: 'Noto Sans JP', sans-serif; 
	font-weight: bold;
	padding:7.5px 15px;
}

@media (max-width: 750px) {
#footer .tel span.time{
		font-size: 22px;
		letter-spacing: -0.05em;
	}
}

#footer .tel .holiday{
	line-height: 1.0;
	position: relative;
	z-index: 1;
	text-align: center;
	display: block;
	margin: 0 auto;
}

#footer .tel span.day{
	letter-spacing: -0.075em;
	font-size: 18px;
	display: inline-block;
	font-weight: bold;
	color: #f56e4e;
	font-family: 'Noto Sans JP', sans-serif; 
}

@media (max-width: 750px) {
#footer .tel span.day{
		font-size: 20px;
	}
}


#footer .footer-menu{
	list-style: none;
	width: 100%;
	margin: 0;
  	display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
	-webkit-box-orient: horizontal;
  	-webkit-box-direction: normal;
  	-ms-flex-direction: row;
  	flex-direction: row;
	-ms-flex-line-pack: center;
	align-content: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	margin-top: 70px;
	padding-left: 0;
	position: relative;
	z-index: 2;
}

@media (max-width: 1000px) {
	#footer .footer-menu{
  	-ms-flex-wrap: wrap;
  	flex-wrap: wrap;
	}
	
	#footer .footer-menu li{
	width: 33.33%;
	margin-bottom: 30px;
	}	
	#footer .footer-menu li:nth-child(4),
	#footer .footer-menu li:nth-child(5){width: calc( 50% - 100px);}
}


@media (max-width: 800px) {
	
	#footer .footer-menu li:nth-child(4),
	#footer .footer-menu li:nth-child(5){width: calc( 50% - 50px);}	
}


#footer .footer-menu li a{
	 text-decoration: none;
	 border-bottom: none;
	 display: block;
	 position: relative;
	font-size: 22px;
	padding:15px 50px;	
	font-weight: 500;
	padding-top: 75px;
	line-height: 1.0;
	border-right: 2px dashed #dab896;
	text-align: center;
}

#footer .footer-menu li:last-child a{border-right: none;}


@media (max-width: 1200px) {
	#footer .footer-menu li a{padding-left: 30px;padding-right:30px;}
}

@media (max-width: 750px) {
	#footer .footer-menu li a{font-size: 24px;padding-left: 25px;padding-right:25px;}
}



#footer .footer-menu a:before{
	position: absolute;
	content: "";
  	top: 25px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	height: 40px;
	width: 100%;
}

#footer .footer-menu li:nth-child(1) a::before{background-image: url("../image/common/menu/home-icon.png");}
#footer .footer-menu li:nth-child(2) a::before{background-image: url("../image/common/menu/counseling-icon.png");}
#footer .footer-menu li:nth-child(3) a::before{background-image: url("../image/common/menu/profile-icon.png");}
#footer .footer-menu li:nth-child(4) a::before{background-image: url("../image/common/menu/price-icon.png");}
#footer .footer-menu li:nth-child(5) a::before{background-image: url("../image/common/menu/contact-icon.png");}

#footer .footer-menu li:nth-child(1) a:hover::before{background-image: url("../image/common/menu/hover-home-icon.png");}
#footer .footer-menu li:nth-child(2) a:hover::before{background-image: url("../image/common/menu/hover-counseling-icon.png");}
#footer .footer-menu li:nth-child(3) a:hover::before{background-image: url("../image/common/menu/hover-profile-icon.png");}
#footer .footer-menu li:nth-child(4) a:hover::before{background-image: url("../image/common/menu/hover-price-icon.png");}
#footer .footer-menu li:nth-child(5) a:hover::before{background-image: url("../image/common/menu/hover-contact-icon.png");}






/*------------------------------------------------------------------------------------------------------------------
　コピーライト
-------------------------------------------------------------------------------------------------------------------*/

#footer .cc {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	display: block;
	padding-top: 25px;
	padding-bottom: 25px;
	text-align: center;
	background-color: #007e73;
	color: #fff;
	font-weight: normal;
	z-index: 2;
}

#footer .cc span{padding-right: 10px;}

/*------------------------------------------------------------------------------------------------------------------
　pagetop
-------------------------------------------------------------------------------------------------------------------*/

.topback a {
	position:fixed;
	bottom: 50px;
	right: 50px;
	background-image:url("../image/common/footer/pagetop.png");
	width:200px;
	height:244px;
	display:block;
	overflow: hidden;
	white-space: nowrap;
	text-indent: 100%;
	transition: 0.2s;
	z-index: 11;
}


@media screen and (max-width: 1440px) {
	.topback a {
		bottom:30px;
		right:30px;
	}
}

@media screen and (max-width: 1200px) {
	.topback a {
		bottom:15px;
		right:15px;
		width:150px;
		height:183px;
		background-size: contain;
		background-position: center;
		background-repeat: no-repeat;
	}
}


.topback a:hover {
	bottom: 60px;
}

@media screen and (max-width: 1200px) {
.topback a:hover {
	bottom: 30px;
}
}


@media screen and (max-width: 1200px) {
#subpage.contact-mail .topback a{bottom:80px;}
}

/*------------------------------------------------------------------------------------------------------------------
　additional
-------------------------------------------------------------------------------------------------------------------*/

#contents-primary {
	position:relative;
}

#contents {
	position:relative;
}

.subpage #contents-primary {
	padding-top: 120px;
}

@media screen and (max-width: 1000px) {
	.subpage #contents-primary {
		padding-top: 200px;
	}
}




/*------------------------------------------------------------------------------------------------------------------
下層ページ フォントサイズ
-------------------------------------------------------------------------------------------------------------------*/



#sub h1{font-size:60px;margin: 0;}
#sub h1.logo{font-size:0;}

#subvisual h1 img{display:block;}


#subpage h2 span{
	position: relative;
	padding: 0 110px;
}


#subpage h2 span:before{
	position: absolute;
	content:"";
	background-image: url("../image/common/sub-flow-title-left.png");
	background-size: contain;
	width: 95px;
	height: 70px;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
	left: 0;
	/*margin-top: -10px;*/
}

#subpage h2 span:after{
	position: absolute;
	content:"";
	background-image: url("../image/common/sub-flow-title-right.png");
	background-size: contain;
	width: 92px;
	height: 70px;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
	right: 0;
}

#subpage h3{
	position: relative;
	padding-bottom: 40px;
	text-align: center;
	margin-bottom: 50px;
}

#subpage h3:before{
	position: absolute;
	content: "";
	left: 50%;
	-webkit-transform:translateX(-50%);
	-ms-transform:translateX(-50%);
	transform:translateX(-50%);	
	bottom: 0;
	background-image: url("../image/common/counseling-line.png");
	height: 24px;
	width: 100%;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

#subpage h4{
	position: relative;
	padding-bottom: 40px;
	margin-bottom: 50px;
}

#subpage h4:before{
	position: absolute;
	content: "";
	left: 50%;
	-webkit-transform:translateX(-50%);
	-ms-transform:translateX(-50%);
	transform:translateX(-50%);	
	bottom: 0;
	background-image: url("../image/common/sky-line.png");
	height: 23px;
	width: 100%;
	background-size: contain;
	background-repeat: repeat-x;
	background-position: left;
}

/*

#sub h2{font-size:40px;margin: 0;}

#sub h2{padding-top: 85px;padding-bottom: 15px;text-align: center;}


#sub h3{font-size:30px;margin: 0;}
#sub h4{font-size:28px;}
#sub h5{font-size:24px;}
#sub h6{font-size:20px;}


@media screen and (max-width: 750px) {
#sub h1{font-size:64px;}
#sub h2{font-size:45px;}
#sub h3{font-size:34px;}
#sub h4{font-size:32px;}
#sub h5{font-size:28px;}
#sub h6{font-size:24px;}

}*/






/*------------------------------------------------------------------------------------------------------------------
下層ページ 共通
-------------------------------------------------------------------------------------------------------------------*/
#subvisual {
	position: relative;
	background-image: url("../image/subvisual/subvisual.jpg");
	background-size: cover;
	background-position: center;
	width: 100%;
	/*padding-bottom: 100px;*/
	z-index: 1;
	/*padding-top: 300px;*/
	/*height: 680px;*/
	padding-top: 350px;
	height: 730px;
}

@media screen and (max-width: 1000px) {
	#subvisual {
		/*height: 480px;
		padding-top: 150px;*/
		height: 530px;
		padding-top:200px;
	}
}



#subvisual h1{
	text-align: center;
	font-weight: 500;
	padding-top:70px;
	padding-bottom:60px;
	position: relative;
	
}
#subvisual h1:before{
	position: absolute;
	content: "";
	background-image: url("../image/common/line.png");
	width:100%;
	height: 68px;
	bottom:5px;
	background-position: center;
	background-repeat: no-repeat;
	left:0;
}


/*
#sub section:first-of-type{padding-top: 50px;}


*/

/*------------------------------------------------------------------------------------------------------------------
パンくずリスト
-------------------------------------------------------------------------------------------------------------------*/
.breadcrumb-list{
	padding-left: 0;
	display: block;
	list-style: none;
	padding-top: 30px;
	margin-bottom: 0;
	margin-top: 0;
}

.breadcrumb-list li{
	position: relative;
	margin-right: 50px;
	display: inline-block;
}

.breadcrumb-list li:before{

  content: '';
  width: 10px;
  height: 10px;
  border: 0;
  border-top: solid 2px #371e25;
  border-right: solid 2px #371e25;
  position: absolute;
  top: 50%;
  right: -30px;
  margin-top: -8px;
  transform: rotate(45deg);	
	
}

.breadcrumb-list li:last-child{margin-right: 0;}
.breadcrumb-list li:last-child::before{content: none;}

.breadcrumb-list li.current{font-weight: bold;}

.breadcrumb-list li a{text-decoration: underline;}


/*------------------------------------------------------------------------------------------------------------------
カレンダー
-------------------------------------------------------------------------------------------------------------------*/

span.flatpickr-weekday{font-size:21px;}
.flatpickr-weekdaycontainer > .flatpickr-weekday:nth-child(1){color: #FF0000;}
.flatpickr-weekdaycontainer > .flatpickr-weekday:nth-child(7){ color: #4593ea;}



